/* ============================================================
   DAV v5.0 — Auth + Library polish (Stage 2)
   Additive only. Reuses the existing DAV palette and the auth
   classes already styled in dav-premium-wave-auth.css; this file
   only adds readability fixes + the new gate / library / start-free
   components. No base auth rules are redefined here.
   ============================================================ */

:root {
  --dav-v5-gold: linear-gradient(135deg, #fff1c7, #f1c96d, #d89b30);
  --dav-v5-navy: #08111f;
  --dav-v5-ink:  #1a1205;          /* dark text for cream surfaces */
  --dav-v5-cream:#f6efe1;
  --dav-v5-glass:rgba(12, 22, 40, .62);
  --dav-v5-line: rgba(255, 255, 255, .12);
}

/* ---- Shared wrappers ---- */
.dav-auth-main,
.dav-library { position: relative; }
.dav-auth-wrap { max-width: 560px; margin-inline: auto; padding-block: clamp(24px, 6vw, 64px); }

/* ============================================================
   READABILITY FIX (brief: dark text on cream, never white-on-cream)
   Applies to any cream/ivory form surface inside the auth panels.
   ============================================================ */
.dav-auth-card input,
.dav-join-card input,
.dav-mini-login input,
.dav-email-first input {
  background: var(--dav-v5-cream) !important;
  color: var(--dav-v5-ink) !important;
  border: 1px solid rgba(0, 0, 0, .18) !important;
  border-radius: 12px;
  min-height: 52px;
  padding: 0 16px;
  font-size: 16px;                 /* 16px stops iOS zoom-on-focus */
  width: 100%;
}
.dav-auth-card input::placeholder,
.dav-join-card input::placeholder,
.dav-email-first input::placeholder { color: rgba(26, 18, 5, .55) !important; }

.dav-auth-card label,
.dav-join-card label,
.dav-mini-login label,
.dav-email-first label {
  color: #eaf0fb;                  /* labels sit on the dark glass, not on cream */
  font-weight: 700;
  display: block;
  margin-bottom: 6px;
}
.dav-auth-card input:focus,
.dav-join-card input:focus,
.dav-email-first input:focus {
  outline: 3px solid rgba(241, 201, 109, .55);
  outline-offset: 1px;
}


.dav-login-mini-links a,
.dav-plan-lanes a {
  color: #07111f !important;
}

/* ---- Primary buttons inside auth panels stay gold + dark ink ---- */
.dav-auth-card button[type="submit"],
.dav-mini-login button,
.dav-email-first button {
  background: var(--dav-v5-gold);
  color: var(--dav-v5-navy);
  font-weight: 900;
  border: 0;
  border-radius: 999px;
  min-height: 52px;
  padding: 0 22px;
  cursor: pointer;
}

/* ============================================================
   GATE COMPONENT (.dav-gate)
   ============================================================ */
.dav-gate {
  text-align: center;
  padding: clamp(22px, 5vw, 36px);
  border-radius: 22px;
  display: grid;
  gap: 10px;
  justify-items: center;
}
.dav-gate__kicker { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: #f1c96d; font-weight: 800; }
.dav-gate__lock   { font-size: 30px; }
.dav-gate__title  { margin: 2px 0 0; font-size: clamp(20px, 4vw, 26px); color: #fff; }
.dav-gate__text   { color: #c6d0e3; margin: 0; max-width: 38ch; }
.dav-gate__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 8px; }

/* ============================================================
   MY LIBRARY
   ============================================================ */
.dav-lib-h1 { font-size: clamp(28px, 6vw, 46px); color: #fff; margin: 0 0 6px; line-height: 1.05; }
.dav-lib-sub { color: #aeb9cf; margin: 0 0 8px; }
.dav-library__head, .dav-library__gate { padding-block: clamp(20px, 5vw, 40px); }
.dav-lib-section { margin-block: clamp(18px, 4vw, 32px); }
.dav-lib-section__title { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #f1c96d; font-weight: 800; margin: 0 0 12px; }

.dav-lib-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.dav-lib-card {
  display: grid; gap: 4px; padding: 16px; border-radius: 16px;
  text-decoration: none; position: relative; min-height: 86px;
  border: 1px solid var(--dav-v5-line);
}
.dav-lib-card strong { color: #fff; }
.dav-lib-card small  { color: #aeb9cf; }
.dav-lib-card--locked { opacity: .82; }
.dav-lib-card__lock { position: absolute; top: 12px; right: 12px; }

.dav-lib-continue,
.dav-lib-upgrade,
.dav-lib-status,
.dav-lib-downloads { padding: 18px; border-radius: 18px; }
.dav-lib-continue { display: grid; gap: 4px; }
.dav-lib-continue strong { color: #fff; font-size: 18px; }
.dav-lib-continue small  { color: #aeb9cf; }
.dav-lib-continue .dav-btn { justify-self: start; margin-top: 8px; }

.dav-lib-upgrade { text-align: center; display: grid; gap: 6px; justify-items: center; margin-top: 14px; }
.dav-lib-upgrade h3 { color: #fff; margin: 0; }
.dav-lib-upgrade p  { color: #c6d0e3; margin: 0; }

.dav-lib-status { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.dav-lib-status__plan { display: block; color: #fff; font-weight: 800; font-size: 18px; }
.dav-lib-status small { color: #aeb9cf; }
.dav-lib-status__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.dav-lib-empty { color: #c6d0e3; }

/* ============================================================
   FLOATING "START FREE" CARD (mobile conversion)
   Sits above the bottom nav + strip player; never overlaps them.
   ============================================================ */
.dav-startfree {
  position: fixed; left: 12px; right: 12px;
  bottom: calc(var(--dav-bottom-menu, 92px) + var(--strip-h, 74px) + 14px);
  z-index: 9996;
  display: none;                    /* shown on mobile only */
  grid-template-columns: 1fr auto;
  align-items: center; gap: 6px 12px;
  padding: 14px 16px; border-radius: 20px;
  background: var(--dav-v5-glass);
  border: 1px solid rgba(241, 201, 109, .28);
  box-shadow: 0 22px 60px rgba(0, 0, 0, .42);
  backdrop-filter: blur(16px);
}
.dav-startfree__title { color: #fff; font-size: 16px; grid-column: 1; }
.dav-startfree__text  { color: #c6d0e3; font-size: 13px; grid-column: 1; }
.dav-startfree .dav-btn { grid-column: 2; grid-row: 1 / 3; }
.dav-startfree__close {
  position: absolute; top: 8px; right: 10px; width: 26px; height: 26px;
  border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12);
  color: #fff; font-size: 14px; line-height: 1; cursor: pointer;
}
.dav-startfree.is-dismissed { display: none !important; }

@media (max-width: 720px) {
  .dav-startfree { display: grid; }
}

/* =========================================================
   DAV v5.0.2 — Login Form Repair
   Fixes cream-card readability, autofill text, password field,
   and prepares a safe Google-login slot.
========================================================= */

body.dav-commercial .dav-auth-card,
body.dav-commercial .dav-auth-panel,
body.dav-commercial .dav-login-card,
body.dav-commercial .dav-login-panel {
  background:
    linear-gradient(145deg, rgba(255,250,235,.98), rgba(243,229,201,.96)) !important;
  color: #071423 !important;
  border: 1px solid rgba(238,197,91,.42) !important;
  box-shadow:
    0 28px 90px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
}

body.dav-commercial .dav-auth-card *,
body.dav-commercial .dav-auth-panel *,
body.dav-commercial .dav-login-card *,
body.dav-commercial .dav-login-panel * {
  text-shadow: none !important;
}

body.dav-commercial .dav-auth-card h1,
body.dav-commercial .dav-auth-panel h1,
body.dav-commercial .dav-login-card h1,
body.dav-commercial .dav-login-panel h1,
body.dav-commercial .dav-auth-card h2,
body.dav-commercial .dav-auth-panel h2 {
  color: #071423 !important;
  font-weight: 950 !important;
  letter-spacing: -0.06em !important;
}

body.dav-commercial .dav-auth-card p,
body.dav-commercial .dav-auth-panel p,
body.dav-commercial .dav-login-card p,
body.dav-commercial .dav-login-panel p {
  color: rgba(7,20,35,.66) !important;
}

body.dav-commercial .dav-auth-card label,
body.dav-commercial .dav-auth-panel label,
body.dav-commercial .dav-login-card label,
body.dav-commercial .dav-login-panel label,
body.dav-commercial #loginform label {
  color: #071423 !important;
  font-weight: 850 !important;
  opacity: 1 !important;
}

body.dav-commercial .dav-auth-card input[type="text"],
body.dav-commercial .dav-auth-card input[type="email"],
body.dav-commercial .dav-auth-card input[type="password"],
body.dav-commercial .dav-auth-panel input[type="text"],
body.dav-commercial .dav-auth-panel input[type="email"],
body.dav-commercial .dav-auth-panel input[type="password"],
body.dav-commercial .dav-login-card input[type="text"],
body.dav-commercial .dav-login-card input[type="email"],
body.dav-commercial .dav-login-card input[type="password"],
body.dav-commercial .dav-login-panel input[type="text"],
body.dav-commercial .dav-login-panel input[type="email"],
body.dav-commercial .dav-login-panel input[type="password"],
body.dav-commercial #loginform input[type="text"],
body.dav-commercial #loginform input[type="password"] {
  width: 100% !important;
  min-height: 54px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.72) !important;
  color: #071423 !important;
  -webkit-text-fill-color: #071423 !important;
  caret-color: #071423 !important;
  border: 1px solid rgba(7,20,35,.12) !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 10px 26px rgba(7,20,35,.06) !important;
}

body.dav-commercial .dav-auth-card input::placeholder,
body.dav-commercial .dav-auth-panel input::placeholder,
body.dav-commercial .dav-login-card input::placeholder,
body.dav-commercial .dav-login-panel input::placeholder {
  color: rgba(7,20,35,.42) !important;
  -webkit-text-fill-color: rgba(7,20,35,.42) !important;
}

body.dav-commercial .dav-auth-card input:focus,
body.dav-commercial .dav-auth-panel input:focus,
body.dav-commercial .dav-login-card input:focus,
body.dav-commercial .dav-login-panel input:focus,
body.dav-commercial #loginform input:focus {
  outline: none !important;
  background: #fffaf0 !important;
  color: #071423 !important;
  -webkit-text-fill-color: #071423 !important;
  border-color: rgba(216,155,43,.68) !important;
  box-shadow:
    0 0 0 4px rgba(246,205,109,.20),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

/* Chrome/Safari saved-email autofill repair */
body.dav-commercial .dav-auth-card input:-webkit-autofill,
body.dav-commercial .dav-auth-panel input:-webkit-autofill,
body.dav-commercial .dav-login-card input:-webkit-autofill,
body.dav-commercial .dav-login-panel input:-webkit-autofill,
body.dav-commercial #loginform input:-webkit-autofill {
  -webkit-text-fill-color: #071423 !important;
  caret-color: #071423 !important;
  box-shadow: 0 0 0 1000px #fffaf0 inset !important;
  border: 1px solid rgba(216,155,43,.36) !important;
}

body.dav-commercial .dav-auth-card button,
body.dav-commercial .dav-auth-panel button,
body.dav-commercial .dav-login-card button,
body.dav-commercial .dav-login-panel button,
body.dav-commercial .dav-auth-card input[type="submit"],
body.dav-commercial .dav-auth-panel input[type="submit"],
body.dav-commercial #loginform input[type="submit"] {
  min-height: 52px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #fff2b8 0%, #f6cd6d 48%, #d79b2b 100%) !important;
  color: #071423 !important;
  -webkit-text-fill-color: #071423 !important;
  border: 1px solid rgba(139,94,12,.16) !important;
  font-weight: 950 !important;
  box-shadow: 0 18px 42px rgba(216,155,43,.22) !important;
}

body.dav-commercial .dav-auth-card a,
body.dav-commercial .dav-auth-panel a,
body.dav-commercial .dav-login-card a,
body.dav-commercial .dav-login-panel a {
  color: #17466e !important;
  font-weight: 850 !important;
}

/* Optional Google login slot */
.dav-google-login-slot {
  width: min(460px, calc(100% - 28px)) !important;
  margin: 18px auto 0 !important;
  text-align: center !important;
}

.dav-google-login-slot .nsl-container,
.dav-google-login-slot .nsl-container-buttons {
  width: 100% !important;
}

.dav-google-login-slot a,
.dav-google-login-slot button {
  border-radius: 999px !important;
  min-height: 48px !important;
  font-weight: 900 !important;
}

.dav-google-login--setup {
  padding: 12px 14px !important;
  border-radius: 16px !important;
  background: rgba(246,205,109,.10) !important;
  border: 1px solid rgba(246,205,109,.30) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

@media (max-width: 760px) {
  body.dav-commercial .dav-auth-card,
  body.dav-commercial .dav-auth-panel,
  body.dav-commercial .dav-login-card,
  body.dav-commercial .dav-login-panel {
    width: min(92vw, 520px) !important;
    padding: 28px 22px !important;
    border-radius: 32px !important;
  }

  body.dav-commercial .dav-auth-card h1,
  body.dav-commercial .dav-auth-panel h1,
  body.dav-commercial .dav-login-card h1,
  body.dav-commercial .dav-login-panel h1 {
    font-size: clamp(38px, 10vw, 56px) !important;
  }
}

/* =========================================================
   DAV v5.1 — Login repair: core WordPress form inside DAV card
   Uses body.dav-commercial because the live body does not have
   body.dav-v488-commercial-finaliser on /login/.
========================================================= */
body.dav-commercial .dav-login-page,
.dav-login-page {
  min-height: 100vh !important;
  padding: clamp(42px, 7vh, 88px) 18px calc(var(--dav-bottom-menu, 92px) + 140px) !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(57,207,255,.16), transparent 34%),
    radial-gradient(circle at 82% 8%, rgba(246,205,109,.14), transparent 34%),
    linear-gradient(180deg, #06111f 0%, #050b14 100%) !important;
}
body.dav-commercial .dav-login-home,
.dav-login-home {
  position: fixed !important;
  left: clamp(16px, 3vw, 32px) !important;
  top: clamp(16px, 3vw, 32px) !important;
  z-index: 20 !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: rgba(5,11,20,.82) !important;
  border: 1px solid rgba(246,205,109,.35) !important;
  color: #fff7e8 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
body.dav-commercial .dav-login-wrap,
.dav-login-wrap {
  width: min(520px, 100%) !important;
  margin: 0 auto !important;
}
body.dav-commercial .dav-login-card,
.dav-login-card {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  padding: clamp(28px, 4vw, 44px) !important;
  border-radius: 30px !important;
  background: linear-gradient(145deg, #fff8ea, #efe3cd) !important;
  color: #071423 !important;
  border: 1px solid rgba(246,205,109,.45) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.42) !important;
}
body.dav-commercial .dav-login-card__topline,
.dav-login-card__topline {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 7px !important;
  background: linear-gradient(90deg, #39cfff, #b665ff, #ff8bbf, #f6cd6d) !important;
}
body.dav-commercial .dav-login-kicker,
.dav-login-kicker {
  display: table !important;
  margin: 0 auto 18px !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  color: #bd8322 !important;
  border: 1px solid rgba(215,155,43,.35) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
}
body.dav-commercial .dav-login-card h1,
.dav-login-card h1 {
  margin: 0 0 12px !important;
  color: #071423 !important;
  font-size: clamp(42px, 6vw, 62px) !important;
  line-height: .95 !important;
  text-align: center !important;
}
body.dav-commercial .dav-login-lead,
.dav-login-lead {
  max-width: 390px !important;
  margin: 0 auto 22px !important;
  color: rgba(7,20,35,.70) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  text-align: center !important;
  font-weight: 650 !important;
}
body.dav-commercial .dav-login-social,
.dav-login-social { margin: 0 0 18px !important; }
body.dav-commercial .dav-login-social .nsl-container,
body.dav-commercial .dav-login-social .nsl-container-buttons,
.dav-login-social .nsl-container,
.dav-login-social .nsl-container-buttons { width: 100% !important; }
body.dav-commercial .dav-login-social a,
body.dav-commercial .dav-login-social div[role="button"],
.dav-login-social a,
.dav-login-social div[role="button"] { width: 100% !important; border-radius: 999px !important; }
body.dav-commercial .dav-login-divider,
.dav-login-divider {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 16px 0 !important;
  color: rgba(7,20,35,.52) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}
body.dav-commercial .dav-login-divider:before,
body.dav-commercial .dav-login-divider:after,
.dav-login-divider:before,
.dav-login-divider:after {
  content: "" !important;
  height: 1px !important;
  flex: 1 !important;
  background: rgba(7,20,35,.14) !important;
}
body.dav-commercial #davCoreLoginForm,
#davCoreLoginForm { margin: 0 !important; }
body.dav-commercial #davCoreLoginForm p,
#davCoreLoginForm p { margin: 0 0 16px !important; }
body.dav-commercial #davCoreLoginForm label,
#davCoreLoginForm label {
  display: block !important;
  margin-bottom: 8px !important;
  color: #071423 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}
body.dav-commercial #davCoreLoginForm input[type="text"],
body.dav-commercial #davCoreLoginForm input[type="password"],
#davCoreLoginForm input[type="text"],
#davCoreLoginForm input[type="password"] {
  width: 100% !important;
  min-height: 54px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(7,20,35,.12) !important;
  color: #071423 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 14px 16px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}
body.dav-commercial #davCoreLoginForm input:focus,
#davCoreLoginForm input:focus {
  outline: none !important;
  background: #fff !important;
  border-color: rgba(246,205,109,.78) !important;
  box-shadow: 0 0 0 4px rgba(246,205,109,.16) !important;
}
body.dav-commercial #davCoreLoginForm .login-remember label,
#davCoreLoginForm .login-remember label {
  display: inline-flex !important;
  gap: 8px !important;
  align-items: center !important;
  color: rgba(7,20,35,.72) !important;
  font-size: 13px !important;
}
body.dav-commercial #dav_wp_submit,
#dav_wp_submit {
  width: 100% !important;
  min-height: 54px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #fff4bb 0%, #f6cd6d 54%, #d79b2b 100%) !important;
  color: #06101d !important;
  border: 1px solid rgba(255,255,255,.65) !important;
  font-weight: 950 !important;
  font-size: 15px !important;
  box-shadow: 0 18px 42px rgba(246,205,109,.28) !important;
  cursor: pointer !important;
}
body.dav-commercial .dav-login-links,
.dav-login-links {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-top: 22px !important;
  flex-wrap: wrap !important;
}
body.dav-commercial .dav-login-links a,
.dav-login-links a {
  color: #17466f !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}
@media (max-width: 760px) {
  body.dav-commercial .dav-login-page,
  .dav-login-page {
    padding-top: 86px !important;
    padding-bottom: calc(var(--dav-bottom-menu, 92px) + 130px) !important;
    align-items: start !important;
  }
  body.dav-commercial .dav-login-card,
  .dav-login-card { border-radius: 26px !important; padding: 28px 20px !important; }
  body.dav-commercial .dav-login-card h1,
  .dav-login-card h1 { font-size: 44px !important; }
}

/* =========================================================
   DAV v5.1.2 — Login cleanup
   Keep the working Nextend "Continue with Google" button in the
   DAV social slot, and hide the duplicate Google credential chip
   that appears inside/near wp_login_form and does not complete login.
========================================================= */
body.dav-commercial .dav-login-card > .nsl-container,
body.dav-commercial .dav-login-card > .nsl-container-buttons,
body.dav-commercial #davCoreLoginForm .nsl-container,
body.dav-commercial #davCoreLoginForm .nsl-container-buttons,
body.dav-commercial #davCoreLoginForm [class*="nsl-container"],
body.dav-commercial #credential_picker_container,
body.dav-commercial iframe[src*="accounts.google.com/gsi/iframe"],
body.dav-commercial iframe[src*="accounts.google.com/gsi/button"]{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
}

body.dav-commercial .dav-login-social .nsl-container,
body.dav-commercial .dav-login-social .nsl-container-buttons{
  display:block!important;
  visibility:visible!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}

body.dav-commercial .dav-login-social .nsl-button,
body.dav-commercial .dav-login-social a,
body.dav-commercial .dav-login-social div[role="button"]{
  min-height:48px!important;
  border-radius:12px!important;
  font-weight:900!important;
}

/* DAV v5.3 — hide broken Google One Tap / account chooser on DAV login page.
   Keep the actual Nextend "Continue with Google" button in .dav-login-social. */
body.dav-page-login #credential_picker_container,
body.dav-page-login [id^="credential_picker"],
body.dav-page-login iframe[src*="accounts.google.com/gsi/iframe"],
body.dav-page-login iframe[src*="accounts.google.com/gsi/select"],
body.dav-page-login div[aria-label*="Sign in to davstrains.com with google.com"]{
  display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important;
}
body.dav-page-login .dav-login-social,
body.dav-page-login .dav-login-social .nsl-container,
body.dav-page-login .dav-login-social .nsl-container-buttons,
body.dav-page-login .dav-login-social .nsl-button{display:block!important;visibility:visible!important;width:100%!important;height:auto!important;overflow:visible!important;}
