/* Cosmic Aminos — skin
   Clinical white + deep space navy. The cosmic side is deliberately
   confined to the hero and dark panels; everything else stays lab-clean. */

:root{
  --ca-space:#050B18; --ca-ink:#0A1730; --ca-paper-2:#F5F8FC;
  --ca-line:#E2E9F3; --ca-muted:#5C6B84; --ca-accent:#3D7BF7;
  --ca-good:#10B981; --ca-radius:14px;
}

/* ---------- compliance furniture ---------- */
.ca-ruo-strip{
  background:var(--ca-paper-2); border-bottom:1px solid var(--ca-line);
  color:var(--ca-muted); font-size:11.5px; letter-spacing:.05em;
  text-transform:uppercase; font-weight:500; text-align:center; padding:7px 24px;
}
.ca-ruo-badge{
  position:absolute; top:12px; left:12px; z-index:2;
  font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.1em;
  color:#fff; background:rgba(61,123,247,.9); border-radius:5px; padding:3px 7px;
}
.woocommerce ul.products li.product{ position:relative; }
.ca-single-ruo{
  font-size:12.5px; color:var(--ca-muted); border:1px solid var(--ca-line);
  border-left:3px solid #F59E0B; border-radius:8px; padding:10px 14px; margin:0 0 18px;
}
.ca-disclaimer{ background:var(--ca-space); color:#7C90AE; padding:28px 24px; }
.ca-disclaimer__inner{ max-width:1200px; margin:0 auto; font-size:12px; line-height:1.7; }
.ca-disclaimer strong{
  display:block; color:#B6C7E0; margin-bottom:6px; font-size:12.5px;
  letter-spacing:.04em; text-transform:uppercase;
  font-family:'Space Grotesk',sans-serif;
}
.ca-disclaimer p{ margin:0; }
.ca-disclaimer b{ color:#B6C7E0; }

/* ---------- age gate ---------- */
#ca-agegate{
  position:fixed; inset:0; z-index:99999; background:rgba(5,11,24,.94);
  backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; padding:24px;
}
#ca-agegate[hidden]{ display:none; }
.ca-agegate__card{
  background:#fff; border-radius:20px; max-width:440px; width:100%;
  padding:40px 36px; text-align:center;
}
.ca-agegate__lock{
  width:48px; height:48px; margin:0 auto 20px; border-radius:12px;
  background:#E8F0FE; display:flex; align-items:center; justify-content:center;
}
.ca-agegate__card h2{ font-family:'Space Grotesk',sans-serif; font-size:23px; margin:0 0 10px; }
.ca-agegate__card p{ font-size:14px; color:var(--ca-muted); margin:0 0 8px; }
.ca-agegate__fine{
  font-size:12px; color:var(--ca-muted); background:var(--ca-paper-2);
  border-radius:10px; padding:12px; margin:18px 0 22px; text-align:left; line-height:1.5;
}
.ca-agegate__row{ display:flex; gap:10px; }

/* ---------- buttons ---------- */
.ca-btn{
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14px;
  border:none; border-radius:10px; padding:13px 22px; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  transition:.18s; text-decoration:none; flex:1;
}
.ca-btn--primary{ background:var(--ca-accent); color:#fff; }
.ca-btn--primary:hover{ background:#2D6AE6; color:#fff; }
.ca-btn--ghost{ background:transparent; color:var(--ca-muted); border:1px solid var(--ca-line); }

/* ---------- hero ---------- */
.ca-hero{ position:relative; overflow:hidden; }
.ca-hero::before{
  content:""; position:absolute; inset:0; opacity:.55; pointer-events:none;
  background-image:
    radial-gradient(1.4px 1.4px at 12% 22%,#fff,transparent),
    radial-gradient(1px 1px at 28% 62%,#B9D4FF,transparent),
    radial-gradient(1.6px 1.6px at 45% 15%,#fff,transparent),
    radial-gradient(1px 1px at 62% 48%,#9FC4FF,transparent),
    radial-gradient(1.3px 1.3px at 78% 28%,#fff,transparent),
    radial-gradient(1px 1px at 88% 68%,#C9DEFF,transparent),
    radial-gradient(1.1px 1.1px at 35% 85%,#fff,transparent),
    radial-gradient(1px 1px at 70% 88%,#A8C8FF,transparent),
    radial-gradient(1.2px 1.2px at 8% 72%,#fff,transparent),
    radial-gradient(1px 1px at 95% 12%,#fff,transparent);
}
.ca-hero > *{ position:relative; z-index:1; }
.ca-eyebrow{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:#8FB6FF;
}
.ca-hero-pill{
  display:inline-flex; align-items:center; gap:7px; font-size:11.5px; color:#8FA3C0;
  border:1px solid #24395C; border-radius:20px; padding:6px 14px;
}

/* ---------- trust rows ---------- */
.ca-standard{
  background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.11);
  border-radius:18px; padding:8px; backdrop-filter:blur(10px);
}
.ca-standard .ca-row{ display:flex; gap:14px; padding:13px 14px; align-items:center; }
.ca-standard .ca-row + .ca-row{ border-top:1px solid rgba(255,255,255,.07); }
.ca-val{
  font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:15px;
  color:#fff; width:44px; flex:0 0 auto;
}
.ca-t{ font-size:13.5px; font-weight:600; color:#fff; }
.ca-s{ font-size:11.5px; color:#8FA3C0; }

/* ---------- product cards ---------- */
.woocommerce ul.products li.product{
  border:1px solid var(--ca-line); border-radius:var(--ca-radius);
  overflow:hidden; background:#fff; padding:0 0 16px; transition:.2s;
}
.woocommerce ul.products li.product:hover{
  box-shadow:0 12px 32px rgba(10,23,48,.09); transform:translateY(-3px);
}
.woocommerce ul.products li.product img{
  background:linear-gradient(160deg,#0A1730,#16305A); margin:0 0 14px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button{ margin-left:16px; margin-right:16px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Space Grotesk',sans-serif; font-size:16.5px !important; padding:0 !important;
}
.woocommerce ul.products li.product .price{
  font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--ca-ink);
}

/* ---------- COA table ---------- */
.ca-coa-table{ width:100%; max-width:520px; border-collapse:collapse; margin-bottom:20px; }
.ca-coa-table th, .ca-coa-table td{
  text-align:left; padding:10px 12px; border-bottom:1px solid var(--ca-line); font-size:14px;
}
.ca-coa-table th{ width:180px; color:var(--ca-muted); font-weight:500; }
.ca-coa-table td{ font-family:'JetBrains Mono',monospace; font-size:13px; }

@media (max-width:640px){
  .ca-agegate__card{ padding:30px 22px; }
  .ca-agegate__row{ flex-direction:column; }
}
