/*
Theme Name: Before the Call Comes
Theme URI: https://beforethecallcomes.com
Description: Child theme for Before the Call Comes, built on GeneratePress. A warm, personal "letter from a friend" design in a deep indigo, amber, and cream palette (Figtree + Caveat). GENERATED FILE - single source is generators/btcc_tokens.py (tokens + component library); the free check page is generated by generators/build_btcc_check.py; the theme is packaged by generators/build_btcc_package.py. Do not hand-edit this file.
Author: Before the Call Comes
Template: generatepress
Version: 1.16.1
*/

/* ==================== DESIGN TOKENS (generated) ==================== */
:root{
  --btcc-cream:#F4F1EA;
  --btcc-card:#FBF9F4;
  --btcc-indigo:#423C6B;
  --btcc-indigo-deep:#2D2950;
  --btcc-amber:#E0A05C;
  --btcc-amber-hover:#EBB070;
  --btcc-amber-deep:#B5762F;
  --btcc-amber-text:#8A5616;
  --btcc-amber-ink:#3A2406;
  --btcc-ink:#272431;
  --btcc-ink-muted:#534E63;
  --btcc-line:#E4DECF;
  --btcc-wash:#F6E7D3;
  --btcc-wash-cool:#EEEBF6;
  --btcc-track:#EFE9DC;
  --btcc-danger:#8F2020;
  --btcc-danger-deep:#711717;
  --btcc-danger-wash:#FBEAEA;
  --btcc-on-dark-muted:#C9C4DB;
  --btcc-focus:#B5762F;
  --btcc-white:#FFFFFF;
  --btcc-r-sm:11px;
  --btcc-r-md:14px;
  --btcc-r-lg:16px;
  --btcc-r-xl:18px;
  --btcc-shadow-card:0 20px 44px -26px rgba(45,41,80,.45);
  --btcc-shadow-soft:0 16px 36px -28px rgba(45,41,80,.45);
  --btcc-sans:'Figtree', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --btcc-hand:'Caveat', 'Segoe Script', cursive;
}

.btcc-page{font-family:var(--btcc-sans);color:var(--btcc-ink);background:var(--btcc-cream);line-height:1.6;margin:0;}
.btcc-page *{box-sizing:border-box;}
.btcc-page img{max-width:100%;height:auto;}
.btcc-wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.btcc-page h1,.btcc-page h2,.btcc-page h3{font-weight:700;line-height:1.18;color:var(--btcc-indigo-deep);margin:0;}
.btcc-page a{color:inherit;text-decoration:none;}
.btcc-hand{font-family:var(--btcc-hand);color:var(--btcc-amber-deep);font-weight:600;}

/* ==================== COMPONENT LIBRARY (btcc-c-*) ====================
   Generated by generators/btcc_tokens.py. A btcc-c- class is defined here
   and ONLY here (the collision gate enforces it). Buttons: every selector
   list covers <a> and <button>, including :visited, so a link can never
   lose its text color to a theme link rule. Roles: primary (indigo on
   light surfaces, amber inside .btcc-c-on-dark), secondary, ghost, danger.
   States: hover, focus-visible, active, disabled, loading. */

.btcc-c-btn,
a.btcc-c-btn,
a.btcc-c-btn:visited,
button.btcc-c-btn,
.btcc-page a.btcc-c-btn,
.btcc-page a.btcc-c-btn:visited{
  display:inline-block;font-family:var(--btcc-sans);font-weight:600;font-size:16px;line-height:1.25;
  padding:13px 25px;border-radius:var(--btcc-r-sm);border:1.5px solid transparent;cursor:pointer;
  text-align:center;text-decoration:none;
  transition:background .15s,color .15s,border-color .15s;}

.btcc-c-btn:focus-visible{outline:3px solid var(--btcc-focus);outline-offset:2px;}

/* on dark bands the ring flips to white so it clears 3:1 there too */

.btcc-c-on-dark .btcc-c-btn:focus-visible{outline-color:#fff;}

.btcc-c-btn:active{transform:translateY(1px);}

/* primary: indigo on light surfaces */

.btcc-c-btn--primary,
a.btcc-c-btn--primary,
a.btcc-c-btn--primary:visited,
button.btcc-c-btn--primary,
.btcc-page a.btcc-c-btn--primary,
.btcc-page a.btcc-c-btn--primary:visited{background:var(--btcc-indigo);color:#fff;border-color:var(--btcc-indigo);}
.btcc-c-btn--primary:hover,
a.btcc-c-btn--primary:hover,
button.btcc-c-btn--primary:hover,
.btcc-page a.btcc-c-btn--primary:hover{background:var(--btcc-indigo-deep);color:#fff;border-color:var(--btcc-indigo-deep);}


/* secondary: outlined indigo */

.btcc-c-btn--secondary,
a.btcc-c-btn--secondary,
a.btcc-c-btn--secondary:visited,
button.btcc-c-btn--secondary,
.btcc-page a.btcc-c-btn--secondary,
.btcc-page a.btcc-c-btn--secondary:visited{background:transparent;color:var(--btcc-indigo);border-color:var(--btcc-indigo);}
.btcc-c-btn--secondary:hover,
a.btcc-c-btn--secondary:hover,
button.btcc-c-btn--secondary:hover,
.btcc-page a.btcc-c-btn--secondary:hover{background:var(--btcc-wash-cool);color:var(--btcc-indigo-deep);border-color:var(--btcc-indigo-deep);}


/* ghost: quiet text action */

.btcc-c-btn--ghost,
a.btcc-c-btn--ghost,
a.btcc-c-btn--ghost:visited,
button.btcc-c-btn--ghost,
.btcc-page a.btcc-c-btn--ghost,
.btcc-page a.btcc-c-btn--ghost:visited{background:transparent;color:var(--btcc-indigo);border-color:transparent;}
.btcc-c-btn--ghost:hover,
a.btcc-c-btn--ghost:hover,
button.btcc-c-btn--ghost:hover,
.btcc-page a.btcc-c-btn--ghost:hover{background:transparent;color:var(--btcc-amber-text);border-color:transparent;}


/* danger: destructive actions only */

.btcc-c-btn--danger,
a.btcc-c-btn--danger,
a.btcc-c-btn--danger:visited,
button.btcc-c-btn--danger,
.btcc-page a.btcc-c-btn--danger,
.btcc-page a.btcc-c-btn--danger:visited{background:var(--btcc-danger);color:#fff;border-color:var(--btcc-danger);}
.btcc-c-btn--danger:hover,
a.btcc-c-btn--danger:hover,
button.btcc-c-btn--danger:hover,
.btcc-page a.btcc-c-btn--danger:hover{background:var(--btcc-danger-deep);color:#fff;border-color:var(--btcc-danger-deep);}


/* primary flips to amber inside .btcc-c-on-dark */

.btcc-c-on-dark .btcc-c-btn--primary,
.btcc-c-on-dark a.btcc-c-btn--primary,
.btcc-c-on-dark a.btcc-c-btn--primary:visited,
.btcc-c-on-dark button.btcc-c-btn--primary,
.btcc-c-on-dark .btcc-page a.btcc-c-btn--primary,
.btcc-c-on-dark .btcc-page a.btcc-c-btn--primary:visited{background:var(--btcc-amber);color:var(--btcc-amber-ink);border-color:var(--btcc-amber);}
.btcc-c-on-dark .btcc-c-btn--primary:hover,
.btcc-c-on-dark a.btcc-c-btn--primary:hover,
.btcc-c-on-dark button.btcc-c-btn--primary:hover,
.btcc-c-on-dark .btcc-page a.btcc-c-btn--primary:hover{background:var(--btcc-amber-hover);color:var(--btcc-amber-ink);border-color:var(--btcc-amber-hover);}


/* secondary on dark: outlined white */

.btcc-c-on-dark .btcc-c-btn--secondary,
.btcc-c-on-dark a.btcc-c-btn--secondary,
.btcc-c-on-dark a.btcc-c-btn--secondary:visited,
.btcc-c-on-dark button.btcc-c-btn--secondary,
.btcc-c-on-dark .btcc-page a.btcc-c-btn--secondary,
.btcc-c-on-dark .btcc-page a.btcc-c-btn--secondary:visited{background:transparent;color:#fff;border-color:#fff;}
.btcc-c-on-dark .btcc-c-btn--secondary:hover,
.btcc-c-on-dark a.btcc-c-btn--secondary:hover,
.btcc-c-on-dark button.btcc-c-btn--secondary:hover,
.btcc-c-on-dark .btcc-page a.btcc-c-btn--secondary:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff;}


/* ghost on dark */

.btcc-c-on-dark .btcc-c-btn--ghost,
.btcc-c-on-dark a.btcc-c-btn--ghost,
.btcc-c-on-dark a.btcc-c-btn--ghost:visited,
.btcc-c-on-dark button.btcc-c-btn--ghost,
.btcc-c-on-dark .btcc-page a.btcc-c-btn--ghost,
.btcc-c-on-dark .btcc-page a.btcc-c-btn--ghost:visited{background:transparent;color:var(--btcc-on-dark-muted);border-color:transparent;}
.btcc-c-on-dark .btcc-c-btn--ghost:hover,
.btcc-c-on-dark a.btcc-c-btn--ghost:hover,
.btcc-c-on-dark button.btcc-c-btn--ghost:hover,
.btcc-c-on-dark .btcc-page a.btcc-c-btn--ghost:hover{background:transparent;color:#fff;border-color:transparent;}


.btcc-c-btn--sm,a.btcc-c-btn--sm,button.btcc-c-btn--sm{padding:9px 18px;font-size:15px;}

.btcc-c-btn--block,a.btcc-c-btn--block,button.btcc-c-btn--block{display:block;width:100%;}

/* disabled: real disabled attr, aria, or .is-disabled on anchors */
.btcc-c-btn:disabled,.btcc-c-btn[disabled],.btcc-c-btn[aria-disabled=true],.btcc-c-btn.is-disabled,
a.btcc-c-btn.is-disabled,a.btcc-c-btn.is-disabled:visited,a.btcc-c-btn.is-disabled:hover,
button.btcc-c-btn:disabled,button.btcc-c-btn:disabled:hover{
  background:var(--btcc-line);color:var(--btcc-ink-muted);border-color:var(--btcc-line);cursor:not-allowed;transform:none;pointer-events:none;}

/* loading: spinner appended, text stays readable */
.btcc-c-btn.is-loading{pointer-events:none;}
.btcc-c-btn.is-loading::after{content:"";display:inline-block;width:13px;height:13px;margin-left:9px;vertical-align:-2px;
  border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btcc-c-spin .7s linear infinite;}
@keyframes btcc-c-spin{to{transform:rotate(360deg);}}

/* pill: small status label. inline-block by design (never a progress fill) */
.btcc-c-pill{display:inline-block;font-size:12px;font-weight:700;line-height:1.3;color:var(--btcc-amber-text);background:var(--btcc-wash);
  padding:5px 11px;border-radius:20px;white-space:nowrap;}

/* progress: track + explicit __fill child (kills the old shared-bar-name collision) */
.btcc-c-progress{height:8px;background:var(--btcc-track);border-radius:6px;overflow:hidden;margin:6px 0 16px;}
.btcc-c-progress .btcc-c-progress__fill{display:block;height:100%;width:0;background:var(--btcc-amber);border-radius:6px;transition:width .25s;}

/* topbar: the site header flex bar (formerly the header bar rule) */
.btcc-c-topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;max-width:1080px;margin:0 auto;}
/* footbar: the footer flex bar (formerly the footer bar rule) */
.btcc-c-footbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;max-width:1080px;margin:0 auto;padding:0 24px;}

/* ==================== PAGE / SECTION STYLES ====================
   Carried over from the pre-design-system theme minus the retired ad-hoc
   button, pill, and bar rules (now components above). Phase 2 migrates
   these into per-page specs owned by build_btcc_site.py. */

.btcc-top{border-bottom:1px solid var(--btcc-line);}
.btcc-word{font-size:21px;font-weight:700;color:var(--btcc-indigo-deep);}
.btcc-nav{display:flex;align-items:center;gap:24px;font-size:15px;color:var(--btcc-ink-muted);font-weight:500;}
.btcc-nav a:not(.btcc-c-btn):hover{color:var(--btcc-ink);}

.btcc-hero{padding:64px 0 60px;}
.btcc-hero .btcc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;}
.btcc-hero .btcc-hand{font-size:27px;display:block;margin-bottom:4px;}
.btcc-hero h1{font-size:45px;letter-spacing:-.01em;margin-bottom:16px;}
.btcc-sub{font-size:18px;color:var(--btcc-ink-muted);max-width:37ch;}
.btcc-cta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:26px 0 12px;}
.btcc-micro{font-size:14px;color:var(--btcc-ink-muted);}
.btcc-trust{display:flex;align-items:center;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--btcc-line);font-size:14.5px;color:var(--btcc-ink-muted);}
.btcc-trust .btcc-dot{width:7px;height:7px;border-radius:50%;background:var(--btcc-amber);flex:none;}

.btcc-card{background:var(--btcc-card);border:1px solid var(--btcc-line);border-radius:18px;padding:24px;box-shadow:var(--btcc-shadow-card);}
.btcc-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.btcc-card-head h3{font-size:18px;}
.btcc-prog{font-size:13px;color:var(--btcc-ink-muted);margin-bottom:8px;}
.btcc-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--btcc-line);font-size:15px;}
.btcc-mark{width:22px;height:22px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
.btcc-mark.on{background:var(--btcc-indigo);color:#fff;}
.btcc-mark.off{background:var(--btcc-track);color:#cfc6b2;}
.btcc-row.off{color:var(--btcc-ink-muted);}
.btcc-cardfoot{margin-top:14px;padding:12px 14px;background:var(--btcc-wash);border-radius:11px;font-size:14px;color:var(--btcc-amber-text);font-weight:600;display:flex;align-items:center;gap:8px;}

.btcc-band{background:var(--btcc-card);border-top:1px solid var(--btcc-line);border-bottom:1px solid var(--btcc-line);padding:56px 0;}
.btcc-band h2{font-size:29px;text-align:center;margin-bottom:36px;}
.btcc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.btcc-step{text-align:center;padding:0 8px;}
.btcc-step .btcc-num{width:46px;height:46px;border-radius:50%;background:var(--btcc-wash);color:var(--btcc-amber-text);font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;}
.btcc-step h3{font-size:18px;margin-bottom:6px;}
.btcc-step p{font-size:15px;color:var(--btcc-ink-muted);}

/* Gather. Ask. Say. Do. framework section */
.btcc-framework{padding:60px 0;}
.btcc-framework h2{font-size:30px;text-align:center;margin-bottom:8px;}
.btcc-fw-sub{font-size:17px;color:var(--btcc-ink-muted);text-align:center;margin:0 auto 34px;}
.btcc-fw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.btcc-fw-card{background:var(--btcc-card);border:1px solid var(--btcc-line);border-top:4px solid var(--btcc-amber);border-radius:14px;padding:22px 22px 24px;box-shadow:var(--btcc-shadow-soft);}
.btcc-fw-card:nth-child(2n){border-top-color:var(--btcc-indigo);}
.btcc-fw-card h3{font-size:21px;color:var(--btcc-amber-text);margin-bottom:8px;}
.btcc-fw-card p{font-size:15px;color:var(--btcc-ink-muted);line-height:1.55;}
@media(max-width:820px){.btcc-fw-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.btcc-fw-grid{grid-template-columns:1fr;}}

.btcc-note{padding:60px 0;}
.btcc-note .btcc-note-inner{max-width:660px;margin:0 auto;background:var(--btcc-card);border:1px solid var(--btcc-line);border-left:5px solid var(--btcc-amber);border-radius:14px;padding:30px 34px;}
.btcc-note p{font-size:18px;color:var(--btcc-ink);line-height:1.6;margin-bottom:10px;}
.btcc-note .btcc-sig{font-family:var(--btcc-hand);font-size:30px;color:var(--btcc-amber-deep);}

.btcc-close{background:var(--btcc-indigo-deep);color:#fff;padding:60px 0;text-align:center;}
.btcc-close .btcc-hand{color:var(--btcc-amber);font-size:26px;display:block;margin-bottom:4px;}
.btcc-close h2{color:#fff;font-size:33px;margin-bottom:22px;}
.btcc-close .btcc-fine{font-size:13.5px;color:var(--btcc-on-dark-muted);margin-top:16px;}

.btcc-foot{padding:32px 0;}
.btcc-flinks{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:14px;color:var(--btcc-ink-muted);font-weight:500;}
.btcc-fdisc{font-size:13px;color:var(--btcc-ink-muted);max-width:46ch;}

@media(max-width:820px){
  .btcc-hero .btcc-grid{grid-template-columns:1fr;gap:34px;}
  .btcc-hero h1{font-size:34px;}
  .btcc-steps{grid-template-columns:1fr;gap:28px;}
  .btcc-nav a:not(.btcc-c-btn){display:none;}
  .btcc-close h2{font-size:27px;}
}
/* ---- Phase 3: subpage hero, compare spine, pricing, FAQ, contact form ---- */
.btcc-phero{padding:56px 0 40px;text-align:center;}
.btcc-phero .btcc-hand{font-size:26px;display:block;margin-bottom:4px;}
.btcc-phero h1{font-size:40px;letter-spacing:-.01em;margin-bottom:14px;}
.btcc-phero .btcc-sub{margin:0 auto;max-width:52ch;}

.btcc-compare{padding:60px 0;}
.btcc-compare h2{font-size:29px;text-align:center;margin-bottom:10px;}
.btcc-compare .btcc-comp-sub{font-size:17px;color:var(--btcc-ink-muted);text-align:center;max-width:60ch;margin:0 auto 34px;}
.btcc-comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:900px;margin:0 auto;}
.btcc-comp-card{background:var(--btcc-card);border:1px solid var(--btcc-line);border-radius:14px;padding:24px 26px;box-shadow:var(--btcc-shadow-soft);}
.btcc-comp-card.free{border-top:4px solid var(--btcc-amber);}
.btcc-comp-card.paid{border-top:4px solid var(--btcc-indigo);}
.btcc-comp-card h3{font-size:19px;margin-bottom:4px;}
.btcc-comp-when{font-size:13.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--btcc-amber-text);margin-bottom:10px;}
.btcc-comp-card.paid .btcc-comp-when{color:var(--btcc-indigo);}
.btcc-comp-card p{font-size:15px;color:var(--btcc-ink-muted);line-height:1.55;}
.btcc-list{list-style:none;margin:12px 0 0;padding:0;}
.btcc-list li{position:relative;padding:7px 0 7px 28px;font-size:15px;color:var(--btcc-ink);border-top:1px solid var(--btcc-line);}
.btcc-list li:first-child{border-top:0;}
.btcc-list li::before{content:"\2713";position:absolute;left:2px;top:7px;color:var(--btcc-amber-deep);font-weight:700;}
@media(max-width:760px){.btcc-comp-grid{grid-template-columns:1fr;}.btcc-phero h1{font-size:31px;}}

.btcc-price{padding:56px 0;}
.btcc-price-card{max-width:560px;margin:0 auto;background:var(--btcc-card);border:1px solid var(--btcc-line);border-top:5px solid var(--btcc-indigo);border-radius:16px;padding:32px 34px;box-shadow:0 22px 48px -28px rgba(45,41,80,.5);text-align:center;}
.btcc-price-card .btcc-c-pill{margin-bottom:10px;}
.btcc-price-card h2{font-size:26px;margin-bottom:4px;}
.btcc-price-num{font-size:46px;font-weight:700;color:var(--btcc-indigo-deep);margin:10px 0 2px;}
.btcc-price-note{font-size:14.5px;color:var(--btcc-ink-muted);margin-bottom:18px;}
.btcc-price-card .btcc-list{text-align:left;margin-bottom:22px;}
.btcc-guarantee{margin-top:16px;padding:14px 16px;background:var(--btcc-wash);border-left:3px solid var(--btcc-amber);border-radius:11px;font-size:15.5px;color:var(--btcc-amber-text);}

.btcc-walk{max-width:720px;margin:0 auto;background:var(--btcc-indigo-deep);border-radius:16px;padding:56px 24px;text-align:center;color:var(--btcc-on-dark-muted);}
.btcc-walk .btcc-play{width:64px;height:64px;border-radius:50%;background:var(--btcc-amber);color:var(--btcc-amber-ink);font-size:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.btcc-walk p{font-size:15px;max-width:44ch;margin:0 auto;}

.btcc-faq{padding:56px 0;max-width:760px;margin:0 auto;}
.btcc-faq h2{font-size:28px;text-align:center;margin-bottom:28px;}
.btcc-faq-item{border-top:1px solid var(--btcc-line);padding:18px 4px;}
.btcc-faq-item h3{font-size:17px;margin-bottom:6px;}
.btcc-faq-item p{font-size:15px;color:var(--btcc-ink-muted);line-height:1.6;}

.btcc-form{max-width:620px;margin:0 auto;background:var(--btcc-card);border:1px solid var(--btcc-line);border-radius:16px;padding:30px 30px 34px;box-shadow:var(--btcc-shadow-card);}
.btcc-form label{display:block;font-size:14.5px;font-weight:600;color:var(--btcc-indigo-deep);margin:16px 0 6px;}
.btcc-form input[type=text],.btcc-form input[type=email],.btcc-form input[type=tel],.btcc-form select,.btcc-form textarea{width:100%;font:inherit;font-size:16px;color:var(--btcc-ink);background:#fff;border:1.5px solid var(--btcc-line);border-radius:10px;padding:12px 14px;}
.btcc-form input:focus,.btcc-form select:focus,.btcc-form textarea:focus{outline:none;border-color:var(--btcc-indigo);}
.btcc-form textarea{min-height:140px;resize:vertical;}
.btcc-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0 4px;font-size:14px;color:var(--btcc-ink-muted);}
.btcc-consent input{margin-top:3px;flex:none;}
.btcc-form .btcc-c-btn{margin-top:18px;width:100%;}
.btcc-form-err{display:none;margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--btcc-danger-wash);color:var(--btcc-danger);font-size:14.5px;}
.btcc-thanks{text-align:center;padding:34px 10px;}
.btcc-thanks h2{font-size:26px;margin-bottom:10px;}
.btcc-thanks p{font-size:16px;color:var(--btcc-ink-muted);}
.btcc-hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden;}

.btcc-teaser{padding:26px 0 64px;}
.btcc-teaser .btcc-teaser-inner{max-width:900px;margin:0 auto;background:var(--btcc-indigo);color:#fff;border-radius:16px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.btcc-teaser h3{color:#fff;font-size:21px;margin-bottom:4px;}
.btcc-teaser p{font-size:15px;color:var(--btcc-on-dark-muted);margin:0;max-width:52ch;}
.btcc-teaser .btcc-c-btn{flex:none;}

/* ==================== PHASE 4: STOREFRONT + COMMERCE ====================
   The shop catalog (woocommerce.php), the product-detail layout, and the
   WooCommerce cart/checkout/order-received skin (page-btcc-commerce.php).
   Every color comes from the proven token pairings. */

.btcc-shop-sec{padding:6px 0 46px;}
.btcc-shop-filters{display:none;}
.btcc-shop-filters.is-ready{display:flex;flex-direction:column;gap:10px;margin:0 0 26px;}
.btcc-fgroup{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.btcc-flabel{font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--btcc-ink-muted);margin-right:4px;min-width:64px;}
.btcc-fchip{font-family:var(--btcc-sans);font-size:14px;font-weight:600;color:var(--btcc-indigo);background:transparent;border:1.5px solid var(--btcc-line);border-radius:20px;padding:7px 14px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.btcc-fchip:hover{background:var(--btcc-wash-cool);color:var(--btcc-indigo-deep);border-color:var(--btcc-indigo-deep);}
.btcc-fchip:focus-visible{outline:3px solid var(--btcc-focus);outline-offset:2px;}
.btcc-fchip.is-on{background:var(--btcc-indigo);color:#fff;border-color:var(--btcc-indigo);}
.btcc-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:920px){.btcc-shop-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.btcc-shop-grid{grid-template-columns:1fr;}}
.btcc-tile{background:var(--btcc-card);border:1px solid var(--btcc-line);border-top:4px solid var(--btcc-indigo);border-radius:14px;padding:22px 22px 20px;box-shadow:var(--btcc-shadow-soft);display:flex;flex-direction:column;gap:8px;}
.btcc-tile.is-soon{border-top-color:var(--btcc-amber);}
.btcc-tile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.btcc-tile-kind{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--btcc-ink-muted);}
.btcc-tile h3{font-size:19px;}
.btcc-tile p{font-size:15px;color:var(--btcc-ink-muted);line-height:1.55;margin:0;}
.btcc-tile-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;}
.btcc-tile-price{font-size:21px;font-weight:700;color:var(--btcc-indigo-deep);}
.btcc-tile-note{font-size:14px;color:var(--btcc-ink-muted);}
.btcc-shop-empty{background:var(--btcc-card);border:1px solid var(--btcc-line);border-left:5px solid var(--btcc-amber);border-radius:12px;padding:16px 18px;font-size:15px;color:var(--btcc-ink);margin:18px 0 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}

.btcc-pdetail{padding:6px 0 60px;}
.btcc-pd-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:start;}
@media(max-width:820px){.btcc-pd-grid{grid-template-columns:1fr;}}
.btcc-pd-card{background:var(--btcc-card);border:1px solid var(--btcc-line);border-top:5px solid var(--btcc-indigo);border-radius:16px;padding:26px 28px;box-shadow:var(--btcc-shadow-card);text-align:center;}
.btcc-pd-price{font-size:36px;font-weight:700;color:var(--btcc-indigo-deep);margin-bottom:8px;}
.btcc-pd-card .btcc-c-btn{margin-top:10px;}
.btcc-pd-note{font-size:14.5px;color:var(--btcc-ink-muted);margin:8px 0 0;}
.btcc-pd-deliv{font-size:14px;color:var(--btcc-ink-muted);margin-top:14px;}
.btcc-pd-desc{font-size:16px;line-height:1.65;color:var(--btcc-ink);}
.btcc-pd-desc p{margin:0 0 14px;}

.btcc-cmc-hero{padding:44px 0 6px;}
.btcc-cmc-hero h1{font-size:34px;}
.btcc-cmc-body{padding:16px 0 70px;}
.btcc-cmc .woocommerce{font-family:var(--btcc-sans);color:var(--btcc-ink);}
.btcc-cmc .woocommerce a:not(.button):not(.btcc-c-btn){color:var(--btcc-indigo);text-decoration:underline;}
.btcc-cmc .woocommerce a.button,.btcc-cmc .woocommerce button.button,.btcc-cmc .woocommerce input.button,.btcc-cmc .woocommerce button#place_order,.btcc-cmc .woocommerce a.checkout-button{font-family:var(--btcc-sans);font-weight:600;font-size:16px;line-height:1.25;padding:13px 25px;border-radius:var(--btcc-r-sm);border:1.5px solid var(--btcc-indigo);cursor:pointer;text-align:center;text-decoration:none;background:var(--btcc-indigo);color:#fff;}
.btcc-cmc .woocommerce a.button:hover,.btcc-cmc .woocommerce button.button:hover,.btcc-cmc .woocommerce input.button:hover,.btcc-cmc .woocommerce button#place_order:hover,.btcc-cmc .woocommerce a.checkout-button:hover{background:var(--btcc-indigo-deep);border-color:var(--btcc-indigo-deep);color:#fff;}
.btcc-cmc .woocommerce a.button:focus-visible,.btcc-cmc .woocommerce button.button:focus-visible,.btcc-cmc .woocommerce input.button:focus-visible,.btcc-cmc .woocommerce button#place_order:focus-visible{outline:3px solid var(--btcc-focus);outline-offset:2px;}
.btcc-cmc .woocommerce button.button:disabled,.btcc-cmc .woocommerce button.button:disabled:hover,.btcc-cmc .woocommerce button.button[aria-disabled=true]{background:var(--btcc-line);color:var(--btcc-ink-muted);border-color:var(--btcc-line);cursor:not-allowed;}
.btcc-cmc .woocommerce h2,.btcc-cmc .woocommerce h3{color:var(--btcc-indigo-deep);}
.btcc-cmc .woocommerce table.shop_table{border:1px solid var(--btcc-line);border-radius:12px;background:var(--btcc-card);}
.btcc-cmc .woocommerce table.shop_table th{color:var(--btcc-indigo-deep);border-color:var(--btcc-line);}
.btcc-cmc .woocommerce table.shop_table td{border-color:var(--btcc-line);}
.btcc-cmc .woocommerce form .form-row label{color:var(--btcc-indigo-deep);font-weight:600;font-size:14.5px;}
.btcc-cmc .woocommerce form .form-row input.input-text,.btcc-cmc .woocommerce form .form-row textarea,.btcc-cmc .woocommerce form .form-row select,.btcc-cmc .woocommerce table.cart td.actions .coupon .input-text{font:inherit;font-size:16px;color:var(--btcc-ink);background:#fff;border:1.5px solid var(--btcc-line);border-radius:10px;padding:11px 13px;}
.btcc-cmc .woocommerce form .form-row input.input-text:focus,.btcc-cmc .woocommerce form .form-row textarea:focus,.btcc-cmc .woocommerce form .form-row select:focus{border-color:var(--btcc-indigo);outline:none;}
.btcc-cmc .woocommerce .quantity .qty{font:inherit;font-size:16px;color:var(--btcc-ink);background:#fff;border:1.5px solid var(--btcc-line);border-radius:10px;padding:9px 10px;max-width:84px;}
.btcc-cmc .woocommerce ::placeholder{color:var(--btcc-ink-muted);opacity:1;}
.btcc-cmc .woocommerce a.remove{color:var(--btcc-danger);text-decoration:none;}
.btcc-cmc .woocommerce a.remove:hover{color:#fff;background:var(--btcc-danger);}
.btcc-cmc .woocommerce-message,.btcc-cmc .woocommerce-info{background:var(--btcc-card);border:1px solid var(--btcc-line);border-top:3px solid var(--btcc-amber);color:var(--btcc-ink);border-radius:12px;}
.btcc-cmc .woocommerce-error{background:var(--btcc-danger-wash);border:1px solid var(--btcc-line);border-top:3px solid var(--btcc-danger);color:var(--btcc-danger);border-radius:12px;}
.btcc-cmc .woocommerce-thankyou-order-received{font-size:22px;font-weight:700;color:var(--btcc-indigo-deep);}
.btcc-cmc ul.woocommerce-thankyou-order-details li{color:var(--btcc-ink-muted);}
.btcc-cmc ul.woocommerce-thankyou-order-details li strong{color:var(--btcc-indigo-deep);}
.btcc-page .woocommerce del,.btcc-tile-price del{color:var(--btcc-ink-muted);opacity:1;text-decoration:line-through;}
.btcc-page .woocommerce ins,.btcc-tile-price ins{text-decoration:none;}
.btcc-cmc .wc-block-components-button:not(.is-link){background:var(--btcc-indigo);color:#fff;border-radius:var(--btcc-r-sm);}
.btcc-cmc .wc-block-components-button:not(.is-link):hover{background:var(--btcc-indigo-deep);color:#fff;}

/* Reveal-resilience: content is visible by default; only hidden once JS adds .reveal-js to <html>. */
.btcc-page .reveal{opacity:1;transform:none;}
.btcc-page .stagger > *{opacity:1;transform:none;}
html.reveal-js .btcc-page .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
html.reveal-js .btcc-page .reveal.is-visible{opacity:1;transform:none;}
html.reveal-js .btcc-page .stagger > *{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
html.reveal-js .btcc-page .stagger > *.is-visible{opacity:1;transform:none;}
/* documented-override: the prefers-reduced-motion guard must beat the
   reveal-hide above by importance (house reveal-resilience standard). */
@media (prefers-reduced-motion: reduce){
  html.reveal-js .btcc-page .reveal,
  html.reveal-js .btcc-page .stagger > *{opacity:1 !important;transform:none !important;}
}
