/* Read Your Color — checkout styles (REVIEW BUILD)
   Header matches readyourcolor.com. Fraunces + Jost, cream/ink palette, six color accents. */

:root{
  --cream:#FCFAF4; --cream-2:#F4EFDD; --ink:#16140F; --ink-soft:#564f40; --tan:#cfc8b6;
  --hair:rgba(22,20,15,.13);
  --red:#EE3B2E; --orange:#F2912E; --yellow:#F2C516; --green:#46B72C; --blue:#2E86E0; --purple:#8E44E8;
  --accent:var(--ink);
  --maxw:1180px; --radius:18px;
  --shadow:0 1px 2px rgba(22,20,15,.05), 0 10px 34px rgba(22,20,15,.07);
}
*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:'Jost',system-ui,-apple-system,sans-serif; font-size:18px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{display:block;}
a{color:inherit;}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 40px;}

h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:-.015em;margin:0 0 .4em;}
h1{font-size:clamp(2.4rem,5.2vw,3.7rem);}
.lead{font-size:clamp(1.15rem,2vw,1.4rem);color:var(--ink-soft);max-width:40ch;}
p{margin:0 0 1em;}

/* ---------- header — matches readyourcolor.com nav ---------- */
header.nav{position:sticky;top:0;z-index:100;background:rgba(252,250,244,.85);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hair);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.nav-logo img{height:24px;width:auto;}
.nav-right{display:flex;align-items:center;gap:32px;}
.nav-link{text-decoration:none;font-weight:600;font-size:14.5px;letter-spacing:.01em;color:var(--ink);opacity:.72;transition:opacity .15s;}
.nav-link:hover{opacity:1;}
.pill{display:inline-flex;align-items:center;gap:11px;cursor:pointer;background:var(--ink);color:var(--cream);
  text-decoration:none;border:none;border-radius:999px;font-family:'Jost',sans-serif;font-weight:700;white-space:nowrap;
  padding:16px 30px;transition:transform .16s ease;}
.pill:hover{transform:translateY(-2px);}
.pill.sm{font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:13px 24px;}
.nav-cta .lbl-short{display:none;}

/* ---------- collaboration lockup (subscription page) ---------- */
.collab{display:flex;align-items:center;gap:16px;margin:2px 0 24px;flex-wrap:wrap;}
.collab img{display:block;width:auto;}
.collab .ryc{height:19px;}
.collab .abc{height:30px;}
.collab-x{font-family:'Jost',sans-serif;font-size:1.05rem;color:var(--ink);opacity:.4;}

/* ---------- eyebrow / badge ---------- */
.eyebrow{font-size:.82rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.85rem;}
.badge{display:inline-block;background:var(--cream-2);border:1px solid var(--tan);color:var(--ink-soft);font-size:.85rem;padding:7px 14px;border-radius:999px;}

/* ---------- CTA button ---------- */
.btn{display:inline-block;background:var(--accent);color:#fff;font-family:'Jost',sans-serif;font-weight:600;font-size:1.02rem;
  padding:14px 26px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;transition:transform .12s ease, filter .12s ease;}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05);}
.btn--lg{padding:17px 34px;font-size:1.12rem;}
.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--tan);}
.btn[aria-disabled="true"]{opacity:.4;pointer-events:none;}

/* ---------- subscription: text + panel ---------- */
.solo{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;margin:48px 0 6px;}
.big-swatch{width:66px;height:66px;border-radius:50%;background:var(--accent);margin-bottom:16px;}
.panel{background:#fff;border:1px solid var(--tan);border-top:6px solid var(--accent);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);}
.panel .amt{font-family:'Fraunces',serif;font-size:2.2rem;}
.panel ul{list-style:none;padding:0;margin:14px 0 20px;}
.panel li{padding:7px 0 7px 26px;position:relative;color:var(--ink-soft);}
.panel li::before{content:"✦";position:absolute;left:0;color:var(--accent);}

/* ---------- color selector — small colored buttons ---------- */
.color-pills{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 26px;padding:0;}
.cpill{font-family:'Jost',sans-serif;font-weight:600;font-size:.92rem;color:#fff;background:var(--c,var(--ink));
  border:0;border-radius:999px;padding:9px 17px;line-height:1;cursor:pointer;
  box-shadow:0 1px 2px rgba(22,20,15,.14);transition:transform .12s ease, box-shadow .12s ease;}
.cpill:hover{transform:translateY(-1px);}
.cpill[aria-pressed="true"]{box-shadow:0 0 0 2px var(--cream), 0 0 0 4px var(--ink);}
.cpill.red{--c:#EE3B2E;} .cpill.orange{--c:#F2912E;} .cpill.yellow{--c:#F2C516;}
.cpill.green{--c:#46B72C;} .cpill.blue{--c:#2E86E0;} .cpill.purple{--c:#8E44E8;}
/* sold out: keep the color but muted/desaturated + faded, with a line across */
.cpill.sold-out{position:relative;filter:saturate(.25) opacity(.55);box-shadow:none;}
.cpill.sold-out::after{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;
  background:var(--ink);transform:translateY(-1px);}
.cpill.sold-out:hover{transform:none;}
.cpill.sold-out[aria-pressed="true"]{box-shadow:0 0 0 2px var(--cream),0 0 0 4px var(--ink);}

/* per-color accents (applied to <body>) */
.c-red{--accent:var(--red);} .c-orange{--accent:var(--orange);} .c-yellow{--accent:var(--yellow);}
.c-green{--accent:var(--green);} .c-blue{--accent:var(--blue);} .c-purple{--accent:var(--purple);}

/* ---------- success page ---------- */
.success{max-width:620px;margin:54px auto;text-align:center;background:#fff;border:1px solid var(--tan);border-radius:var(--radius);padding:48px 36px;box-shadow:var(--shadow);}
.success .mark{font-size:2.6rem;}
.muted{color:var(--ink-soft);}
.ref{display:inline-block;background:var(--cream-2);border:1px dashed var(--tan);border-radius:10px;padding:6px 12px;font-size:.9rem;word-break:break-all;}

/* ---------- embedded checkout modal ---------- */
.co-modal{position:fixed;inset:0;z-index:1000;background:rgba(22,20,15,.55);display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow:auto;}
.co-modal[hidden]{display:none;}
.co-sheet{position:relative;background:#fff;border-radius:16px;max-width:560px;width:100%;padding:20px;box-shadow:0 24px 70px rgba(22,20,15,.35);}
.co-close{position:absolute;top:8px;right:12px;background:none;border:0;font-size:1.7rem;line-height:1;cursor:pointer;color:var(--ink-soft);}
.co-close:hover{color:var(--ink);}
.co-err{font-size:.92rem;color:var(--ink-soft);padding:4px 30px 8px 4px;}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--tan);margin-top:64px;padding:28px 0;color:var(--ink-soft);font-size:.86rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

@media(max-width:820px){ .nav-right .nav-link{display:none;} }
@media(max-width:760px){ .solo{grid-template-columns:1fr;} }
@media(max-width:600px){
  .wrap{padding:0 22px;}
  .nav-inner{height:62px;}
  .nav-logo img{height:18px;}
  .nav-cta .lbl-full{display:none;}
  .nav-cta .lbl-short{display:inline;}
  header.nav .pill.sm{font-size:12px;padding:13px 18px;}
  .collab .ryc{height:16px;} .collab .abc{height:25px;}
}
/* ---- FAQ modal ---- */
.faq-modal{position:fixed;inset:0;background:rgba(22,20,15,.5);display:flex;align-items:center;
  justify-content:center;z-index:120;padding:18px;}
.faq-modal[hidden]{display:none;}
.faq-sheet{background:var(--cream);border-radius:16px;max-width:520px;width:100%;max-height:86vh;
  overflow:auto;padding:26px 28px 22px;position:relative;box-shadow:0 24px 64px rgba(22,20,15,.32);}
.faq-close{position:absolute;top:12px;right:15px;background:none;border:0;font-size:26px;line-height:1;
  color:var(--ink-soft);cursor:pointer;}
.faq-title{font-family:'Fraunces',serif;font-weight:600;font-size:1.55rem;margin:0 0 6px;color:var(--ink);}
.faq-sub{font-family:'Jost',sans-serif;font-size:.9rem;color:var(--ink-soft);margin:0 0 14px;}
.faq-item{border-top:1px solid var(--tan);}
.faq-item:last-child{border-bottom:1px solid var(--tan);}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:14px 28px 14px 0;position:relative;
  font-family:'Jost',sans-serif;font-weight:600;font-size:1rem;color:var(--ink);cursor:pointer;}
.faq-q::after{content:'+';position:absolute;right:2px;top:50%;transform:translateY(-50%);
  font-size:1.3rem;color:var(--ink-soft);}
.faq-q[aria-expanded="true"]::after{content:'\2013';}
.faq-a{display:none;padding:0 0 16px;font-family:'Jost',sans-serif;font-size:.95rem;line-height:1.55;color:var(--ink-soft);}
.faq-q[aria-expanded="true"] + .faq-a{display:block;}
.faq-cancel{display:inline-block;margin-top:12px;background:var(--ink);color:var(--cream);text-decoration:none;
  font-family:'Jost',sans-serif;font-weight:600;font-size:.92rem;padding:10px 18px;border-radius:999px;}
