/* ============================================================
   DAV v4.5 Premium Wave + Auth Polish
   Built for commercial subscriber conversion.
   ============================================================ */
:root{
  --dav-bg:#050810;
  --dav-night:#071524;
  --dav-ink:#0b1220;
  --dav-paper:#fff8ec;
  --dav-card:rgba(255,255,255,.085);
  --dav-line:rgba(255,255,255,.16);
  --dav-gold:#f0c46c;
  --dav-gold2:#d69b25;
  --dav-cyan:#22c7ff;
  --dav-violet:#a855f7;
  --dav-radius:30px;
  --dav-shadow:0 34px 110px rgba(0,0,0,.42);
}

/* Brand wave layer: use the real DAV wave across commercial pages */
body:not(.home)::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(2,7,17,.90),rgba(4,10,18,.98) 42%,rgba(2,6,12,.96)),
    url('../img/dav-workroom-wave-wide.png') center 0 / min(100%, 2033px) auto no-repeat;
  pointer-events:none;
}
body:not(.home)::after{
  content:"";
  position:fixed;
  inset:auto 0 0 0;
  height:45vh;
  z-index:-1;
  background:radial-gradient(circle at 20% 80%, rgba(34,199,255,.14), transparent 32%), radial-gradient(circle at 78% 82%, rgba(240,196,108,.12), transparent 34%);
  pointer-events:none;
}

body, button, input, select, textarea,
.pmpro, .pmpro * , .woocommerce, .woocommerce *, .wpforms-container, .wpforms-container *{
  letter-spacing:-.015em;
}

/* Premium page heading discipline */
.page-title, .entry-title, .dav-page-title, .pmpro h1, .pmpro h2,
.woocommerce h1, .woocommerce h2{
  font-weight:950 !important;
  letter-spacing:-.055em !important;
  line-height:.94 !important;
}
@media (min-width:900px){
  .page-title, .entry-title, .dav-page-title{font-size:clamp(54px,7vw,116px)!important;}
}

/* PMPro + WooCommerce account pages: Apple/ChatGPT style clean cards */
.pmpro, .woocommerce-account .woocommerce, .woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce, .dav-auth-shell{
  width:min(1120px,calc(100% - 28px));
  margin:clamp(28px,5vw,70px) auto !important;
}
.pmpro_card, .pmpro_section, .pmpro_checkout, .pmpro_login_wrap,
.pmpro_lost_password_wrap, .pmpro_reset_password_wrap,
.woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout,
.woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation,
.woocommerce-order, .woocommerce-customer-details, .woocommerce-order-details,
.dav-auth-card{
  background:rgba(255,248,236,.94)!important;
  color:var(--dav-ink)!important;
  border:1px solid rgba(240,196,108,.22)!important;
  border-radius:var(--dav-radius)!important;
  box-shadow:var(--dav-shadow)!important;
  padding:clamp(24px,4vw,46px)!important;
  overflow:hidden;
}
.pmpro_card *, .pmpro_section *, .pmpro_checkout *, .pmpro_login_wrap *,
.pmpro_lost_password_wrap *, .pmpro_reset_password_wrap *,
.woocommerce form.login *, .woocommerce form.register *, .woocommerce form.checkout *,
.woocommerce-MyAccount-content *, .woocommerce-MyAccount-navigation *,
.woocommerce-order *, .dav-auth-card *{color:inherit;}

.pmpro p, .pmpro li, .woocommerce p, .woocommerce li, .dav-auth-card p{
  font-size:clamp(15px,1.4vw,18px)!important;
  line-height:1.7!important;
}

/* Forms: bigger, rounded, clear, premium */
.pmpro input[type=text], .pmpro input[type=email], .pmpro input[type=password], .pmpro input[type=tel], .pmpro select, .pmpro textarea,
.woocommerce input[type=text], .woocommerce input[type=email], .woocommerce input[type=password], .woocommerce input[type=tel], .woocommerce select, .woocommerce textarea,
.wpforms-container input[type=text], .wpforms-container input[type=email], .wpforms-container input[type=tel], .wpforms-container select, .wpforms-container textarea,
.dav-mini-login input{
  width:100%!important;
  min-height:58px!important;
  border-radius:18px!important;
  border:1px solid rgba(7,21,36,.16)!important;
  background:#fff!important;
  color:#071524!important;
  padding:0 18px!important;
  font-size:16px!important;
  outline:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 10px 24px rgba(7,21,36,.05)!important;
}
.pmpro textarea, .woocommerce textarea, .wpforms-container textarea{padding:16px 18px!important;min-height:130px!important;}
.pmpro input:focus, .woocommerce input:focus, .wpforms-container input:focus, .dav-mini-login input:focus{
  border-color:rgba(240,196,108,.75)!important;
  box-shadow:0 0 0 5px rgba(240,196,108,.18)!important;
}
.pmpro label, .woocommerce label, .wpforms-container label, .dav-mini-login label{
  font-weight:850!important;
  font-size:13px!important;
  text-transform:none!important;
  color:rgba(7,21,36,.78)!important;
  margin-bottom:8px!important;
}

.pmpro_btn, .pmpro_btn-submit, .pmpro_btn-select, .pmpro_checkout_gateway-submit,
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.wpforms-submit, .dav-auth-primary, .dav-auth-secondary, .dav-mini-login button{
  min-height:56px!important;
  border-radius:999px!important;
  border:0!important;
  padding:0 24px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease!important;
}
.pmpro_btn-submit, .pmpro_btn-select, .pmpro_checkout_gateway-submit,
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.wpforms-submit, .dav-auth-primary, .dav-mini-login button{
  background:linear-gradient(135deg,#ffe58f,#f0c46c 42%,#d2961f)!important;
  color:#071524!important;
  box-shadow:0 18px 42px rgba(240,196,108,.22)!important;
}
.dav-auth-secondary{background:rgba(7,21,36,.08)!important;color:#071524!important;border:1px solid rgba(7,21,36,.14)!important;}
.pmpro_btn:hover, .woocommerce .button:hover, .wpforms-submit:hover, .dav-auth-primary:hover, .dav-auth-secondary:hover{transform:translateY(-2px)!important;}

/* Membership levels: modern horizontal cards */
.pmpro_levels_table, .pmpro_table{border-collapse:separate!important;border-spacing:0 14px!important;width:100%!important;}
.pmpro_levels_table tr, .pmpro_table tr{
  background:rgba(255,255,255,.82)!important;
  border-radius:22px!important;
  box-shadow:0 12px 34px rgba(7,21,36,.06)!important;
}
.pmpro_levels_table td, .pmpro_levels_table th, .pmpro_table td, .pmpro_table th{
  border:0!important;padding:18px!important;vertical-align:middle!important;
}
.pmpro_levels_table tr td:first-child, .pmpro_table tr td:first-child{border-radius:22px 0 0 22px!important;}
.pmpro_levels_table tr td:last-child, .pmpro_table tr td:last-child{border-radius:0 22px 22px 0!important;}

/* WooCommerce My Account: remove raw bullet-list look */
.woocommerce-MyAccount-navigation ul{list-style:none!important;padding:0!important;margin:0!important;display:grid!important;gap:10px!important;}
.woocommerce-MyAccount-navigation li a{display:flex!important;align-items:center!important;min-height:48px!important;border-radius:16px!important;padding:0 16px!important;background:rgba(7,21,36,.055)!important;color:#071524!important;font-weight:850!important;}
.woocommerce-MyAccount-navigation li.is-active a{background:rgba(240,196,108,.28)!important;}
.woocommerce-MyAccount-content mark{border-radius:999px!important;padding:6px 10px!important;background:rgba(34,197,94,.15)!important;color:#0d5f31!important;}

/* DAV auth landing/modal-inspired block */
.dav-auth-shell{min-height:70vh;display:grid;place-items:center;padding:28px 0;}
.dav-auth-card{max-width:520px!important;text-align:center!important;position:relative!important;}
.dav-auth-card:before{
  content:"";position:absolute;inset:0 0 auto 0;height:9px;background:linear-gradient(90deg,var(--dav-cyan),var(--dav-violet),var(--dav-gold));
}
.dav-auth-kicker{display:inline-flex;padding:8px 14px;border-radius:999px;background:#071524;color:var(--dav-gold)!important;font-weight:950!important;text-transform:uppercase;letter-spacing:.18em!important;font-size:11px!important;margin-bottom:18px;}
.dav-auth-card h1{font-size:clamp(36px,7vw,56px)!important;line-height:.96!important;margin:0 0 16px!important;color:#071524!important;font-weight:950!important;letter-spacing:-.055em!important;}
.dav-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0;}
.dav-mini-login{display:grid;gap:12px;text-align:left;margin-top:18px;padding-top:22px;border-top:1px solid rgba(7,21,36,.10);}
.dav-mini-login a{text-align:center;color:#071524!important;font-weight:850!important;text-decoration:underline!important;text-decoration-color:rgba(240,196,108,.65)!important;}

/* Commercial top nav CTA */
.desktop-nav a[href*="membership"], .desktop-nav .nav-cta, .bottom-nav a[href*="membership"]{
  position:relative;
}
.desktop-nav a[href*="membership"]:after{
  content:"";position:absolute;inset:auto 12px 7px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--dav-cyan),var(--dav-gold));opacity:.8;
}

/* Repeat button clarity */
.repeat-toggle, #davRepeatToggle, .dav-repeat-btn{
  border:1px solid rgba(240,196,108,.28)!important;
  background:rgba(240,196,108,.12)!important;
  color:var(--dav-gold)!important;
}
.repeat-toggle.is-off, #davRepeatToggle.is-off, .dav-repeat-btn.is-off{opacity:.55;filter:grayscale(.4);}

/* Contact/forms: stop cramped columns on mobile */
.wpforms-field-row, .wpforms-field-row-block, .wpforms-one-half, .wpforms-first, .wpforms-one-third{
  max-width:100%!important;
}
@media (max-width:720px){
  .wpforms-field-row, .wpforms-one-half, .wpforms-one-third{width:100%!important;margin-left:0!important;float:none!important;}
  .pmpro, .woocommerce-account .woocommerce, .woocommerce-checkout .woocommerce, .dav-auth-shell{width:min(100% - 18px, 680px);margin:18px auto!important;}
  .pmpro_card, .pmpro_section, .pmpro_checkout, .pmpro_login_wrap,
  .woocommerce form.login, .woocommerce form.register, .woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation,
  .dav-auth-card{border-radius:24px!important;padding:22px!important;}
  .dav-auth-actions{grid-template-columns:1fr;}
  .pmpro_levels_table, .pmpro_levels_table tbody, .pmpro_levels_table tr, .pmpro_levels_table td{display:block!important;width:100%!important;}
  .pmpro_levels_table tr{padding:18px!important;border-radius:24px!important;}
  .pmpro_levels_table td{padding:8px 0!important;}
  body:not(.home)::before{background-size:auto 260px;background-position:center top;opacity:.95;}
}

/* Downloads library: more confident empty state */
.dav-downloads-empty, .woocommerce-info{
  border-left:4px solid var(--dav-gold)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  color:#071524!important;
  padding:18px 20px!important;
}

/* Mobile homepage should look like the mockup direction */
@media (max-width:820px){
  .hero:before{content:"";position:absolute;inset:0;background:url('../img/Background.jpg') center/cover no-repeat;opacity:.45;mix-blend-mode:screen;pointer-events:none;}
  .hero h1, .hero-title{font-size:clamp(44px,12vw,76px)!important;line-height:.92!important;letter-spacing:-.06em!important;}
  .hero .btn, .hero a.button, .hero .cta{min-height:58px;border-radius:18px!important;font-weight:950!important;}
}
