/*
 * AUDIT C3 — brand tokens.
 *
 * #2563eb was declared in six places across this file, header.php and
 * footer.php. Four of the six were inside PHP templates, which is why removing
 * the blue from this stylesheet never removed it from the site. Every one of
 * them now resolves through --m35-accent / --m35-accent-2, defined once here,
 * with the original blue kept only as a final fallback.
 */
:root{
  --m35-accent:   var(--ast-global-color-0, #6A0DAD);  /* purple */
  --m35-accent-2: var(--ast-global-color-1, #0B5F3A);  /* green, hover */
}

:root{ --gap: 16px; --radius: 14px; }
.ywp-wrap{ width:min(1200px, 92%); margin:auto; }
.ywp-card{ border:1px solid #e9e9ee; border-radius:var(--radius); padding:16px; box-shadow:0 1px 3px rgba(0,0,0,.05); background:#fff; }
.ywp-grid{ display:grid; grid-template-columns:repeat(12, 1fr); gap:var(--gap); }
.ywp-col-12{ grid-column:span 12; }

@media(min-width:768px){
  .ywp-col-6{ grid-column:span 6; }
  .ywp-col-4{ grid-column:span 4; }
  .ywp-col-3{ grid-column:span 3; }
  
}
.ywp-btn{ display:inline-flex; align-items:center; gap:8px; padding:.7rem 1rem; border-radius:999px; background:#111; color:#fff; text-decoration:none; }
.ywp-pill{ padding:.2rem .6rem; border-radius:999px; border:1px solid #ececf2; font-size:.78rem; background:#fafafe;}
.stock-badge{ font-weight:600; }



/* Woo cards cleaner */
.woocommerce ul.products li.product, .woocommerce div.product {
  border-radius: var(--radius);
  overflow: hidden;
}
.woocommerce ul.products li.product .price { font-weight:600; }

/* Checkout hints */
.woocommerce-checkout #payment div.payment_box { display:none!important; }
.woocommerce-checkout #payment ul.payment_methods li label:after { content:" (COD only)"; opacity:.7; font-weight:400; }

/* Tables */
.shop_table th { font-weight:600; }



/* Space between ACF sections (cards) */
.ywp-wrap > .ywp-card { 
  margin-block: 16px;   /* top & bottom */
}
@media (min-width:768px){
  .ywp-wrap > .ywp-card { margin-block: 24px; }
}

/* Safety: if a card follows another card anywhere */


.ywp-stack { display:grid; gap:24px; }
@media (max-width:767px){ .ywp-stack { gap:16px; } }



.ast-woocommerce-container{
    width: min(1200px, 100%);
    margin: 0 auto;
}





/* Features: 1 column → 2 columns on larger screens */
.feat-2col{
  display: grid;
  grid-template-columns: 1fr;          /* mobile: single column */
  gap: 18px 28px;
}
@media (min-width: 900px){
  .feat-2col{ grid-template-columns: 1fr 1fr; } /* desktop: two columns */
}

/* Tidy each feature row */
.feat-2col > .ywp-card{
  padding: 0;               /* remove inner card padding from rows */
  border: none;
  box-shadow: none;
}
.feat-2col > .ywp-card > div{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 0;          /* consistent spacing inside each item */
}

/* Optional: subtle divider between items (looks neat in 2-col) */
.feat-2col > .ywp-card{
  border-bottom: 1px solid #f1f3f8;
}
@media (min-width: 900px){
  .feat-2col > .ywp-card:nth-last-child(-n+2){ border-bottom: none; } /* remove bottom border on last row */
}




/* ===== FAQ v3 (modern accordion) ===== */
/* ===== FAQ v4 (simple + / − toggle, no JS) ===== */
.faq-v4{ padding:0; border-radius:18px; overflow:hidden; background:#fff; }

.faq-v4__head{
  padding:24px clamp(16px,3vw,28px);
  border-bottom:1px solid #eef0f5;
}
.faq-v4__title{ margin:0 0 4px; font-size:clamp(22px,3.2vw,36px); font-weight:800; }
.faq-v4__sub{ margin:0; opacity:.7; font-size:clamp(13px,1.9vw,15px); }

.faq-v4__item{
  border-bottom:1px solid #f1f3f8;
}

/* Remove default triangle */
.faq-v4__q::-webkit-details-marker{ display:none; }
.faq-v4__q{
  list-style:none;
  display:block;
  position:relative;
  padding:18px clamp(16px,3vw,28px);
  cursor:pointer;
  font-weight:700;
  color:#0f172a;
  line-height:1.3;
}

/* Big + icon (right); becomes − when open */
.faq-v4__q::after{
  content:'+';
  position:absolute;
  right: clamp(16px, 3vw, 28px);
  top:50%;
  transform: translateY(-50%);
  font-size:22px;            /* make bigger/smaller here */
  line-height:1;
  opacity:.7;
}
.faq-v4__item[open] .faq-v4__q::after{
  content:'−';
  opacity:1;
}

.faq-v4__a{ padding:0 clamp(16px,3vw,28px) 18px; }
.faq-v4__acontent{ color:#111827; opacity:.95; }
.faq-v4__acontent p{ margin:0 0 10px; }
.faq-v4__acontent ul{ margin:8px 0 12px 18px; }

/* Subtle hover ink */
.faq-v4__q:hover{ background: rgba(15,23,42,0.02); }

/* Mobile spacing */
@media (max-width:640px){
  .faq-v4__q{ padding:16px 16px; }
  .faq-v4__a{ padding:0 16px 16px; }
}











/* Sticky Add to Cart on small screens */
@media(max-width: 767px){
  .ywp-single__cart{ position:sticky; bottom:8px; background:#fff; padding:10px; border:1px solid #eee; border-radius:999px; box-shadow:0 8px 30px rgba(0,0,0,.06); }
}

/* General buttons */
.ywp-btn.button, .ywp-btn{ border-radius:999px; }


/*
.entry-title{
    display: none;
}
*/

.site-main .entry-title {
  display: none;
}

.site-main .product_title {
  display: block;
}


/* ===== Hero v2 ===== */
.eas-hero-v2{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: clamp(360px, 60vh, 680px);
  display: grid;
  place-items: center;
  background: #0f172a;
  /* image */
  background-image: var(--eas-hero-bg, none);
  background-size: cover;
  background-position: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  margin-block: 16px;
}
@media (min-width:768px){ .eas-hero-v2{ margin-block: 24px; } }

.eas-hero-v2__scrim{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.55));
}

.eas-hero-v2__inner{
  position: relative; z-index: 2;
  width:min(1100px, 92%);
  margin-inline:auto;
  text-align: center;
  color: #fff;
  display: grid; gap: 16px;
}

.eas-hero-v2__eyebrow{
  margin:0;
  font-size: .82rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  opacity:.95;
}

.eas-hero-v2__title{
  margin:0;
  font-weight: 800;
  line-height: 1.06;
  font-size: clamp(30px, 6vw, 64px); /* huge on desktop like screenshot */
  text-wrap: balance;
  color: #fff;
}

.eas-hero-v2__lead{
  margin: 2px 0 4px;
  font-size: clamp(14px, 2.2vw, 18px);
  opacity: .95;
}

.eas-hero-v2__btns{
  display:flex; gap:10px; justify-content:center; flex-wrap:wrap;
  margin-top: 8px;
}

/* Buttons */
.eas-btn{
  display:inline-flex; 
  align-items:center; 
  justify-content:center;
  height:44px; padding:0 18px;
  border-radius: 999px;
  background: var(--m35-purple); 
  color:#fff; text-decoration:none; 
  font-weight:600;
  box-shadow: 0 6px 18px rgba(37,99,235,.25);
}
.eas-btn:hover{ filter: brightness(1.05); transform: translateY(-1px); transition: all .15s ease; }

.eas-btn--ghost{
  background: transparent !important; 
  color:#fff;
  border:1px solid rgba(255,255,255,.6);
  box-shadow:none;
  font-weight: 600 !important;
  /* AUDIT C7 — was `font-family: inter` — unquoted, lower-case, and with no
     fallback. Routed through the same token as the rest of the portal. */
  font-family: var(--font-body, "Inter", ui-sans-serif, system-ui, sans-serif);
}
.eas-btn--ghost:hover{ 
  background: #0B5F3A !important;
  border:1px solid rgba(255,255,255,.6) !important;
}

/* optional: tighten vertical spacing on very small screens */
@media (max-width:480px){
  .eas-hero-v2{ min-height: 420px; }
  .eas-hero-v2__btns{ gap:8px; }
}







/* ===== Gate (Welcome) ===== */
.gate-card{
  margin: 8vh auto;
  padding: clamp(28px, 5vw, 48px);
  background:#fff;
  border:1px solid #eef0f5;
  border-radius: 18px;
  text-align:center;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}
.gate-brand{ margin-bottom: 10px; }
.gate-title{
  margin:0 0 8px;
  font-size: clamp(28px, 5vw, 56px);
  font-weight: 800;
  letter-spacing: .2px;
}
.gate-sub{ margin:0 0 18px; opacity:.8; font-size:clamp(14px, 2.2vw, 18px); }
.gate-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:48px; padding:0 22px; border-radius:999px;
  background:#111; color:#fff; text-decoration:none; font-weight:700;
}
.gate-btn:hover{ transform:translateY(-1px); filter:brightness(1.05); transition:.15s; }

/* ===== Login (Custom) ===== */
.login-card{
  display:grid; grid-template-columns:1fr; gap:0;
  border:1px solid #eef0f5; border-radius:18px; overflow:hidden;
  margin: 6vh auto; min-height: 520px; background:#fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.05);
}
@media(min-width:900px){ .login-card{ grid-template-columns: 1.2fr 1fr; } }

.login-left{
  background-image: linear-gradient( to bottom right, #0ea5e9, #6366f1 );
  position:relative; min-height: 260px;
}
.login-overlay{
  position:absolute; inset:0;
  background: url('/wp-content/uploads/2025/10/money.jpeg') center/cover no-repeat;
  mix-blend-mode: overlay; opacity:.55;
}

.login-right{ padding: clamp(24px, 4vw, 48px); display:grid; align-content:center; gap:14px; }
.login-title{ margin:0; font-size: clamp(22px, 3.4vw, 34px); font-weight:800; }
.login-sub{ margin:0 0 8px; opacity:.8; }
.login-note{
  background:#f7f7fb; border:1px solid #ececf5; border-radius: 10px;
  padding: 10px 12px; font-size:.95rem;
}

/* wp_login_form clean */
.login-right form { display:grid; gap:12px; margin-top:8px; }
.login-right label { font-weight:600; font-size:.95rem; }
.login-right input[type="text"],
.login-right input[type="password"]{
  width:100%; padding:10px 12px; border-radius:10px;
  border:1px solid #e7e8ef; background:#fff;
}
#ywp-login-submit{
  border-radius:999px; background: var(--m35-accent, #2563eb); border:none; color:#fff; font-weight:700;
  height:44px; padding:0 18px; cursor:pointer;
}
#ywp-login-submit:hover{ filter:brightness(1.05); transform:translateY(-1px); transition:.15s; }

.login-meta{ margin-top:4px; }
.login-meta a{ color:#111; opacity:.8; text-decoration:none; }
.login-meta a:hover{ opacity:1; text-decoration:underline; }


/* center the login card both horizontally and vertically */
.gate-viewport{
  min-height: 100dvh;            /* full viewport height (mobile safe) */
  display: flex;
  align-items: center;           /* vertical centering */
  justify-content: center;       /* horizontal centering */
  padding: 0px;                 /* keeps it off the edges on small screens */
}

/* optional: size the card nicely */
.login-card{
  width: min(1100px, 92vw);
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 40px rgba(16, 24, 40, .08);
  overflow: hidden;
}

@media (max-width: 900px){
  .login-card{ grid-template-columns: 1fr; }
}