/* Gerado por scripts/tema.py a partir de design-system/styles.css. Não editar à mão. */
/* ============================================================
   Santa Cannabis — Design System
   Folha única. Todas as páginas do sistema usam este arquivo,
   e ele é a base do CSS do tema WordPress (tema de blocos).

   Tokens derivados do SantaCannabis_BrandBook.pdf (Observe, 2023)
   e alinhados ao portal da associação (xuru.com.br), que usa a
   mesma tinta, as mesmas fontes e os mesmos raios.

   Quatro leis governam o sistema:

   1. LEI DO CONTRASTE — SC Blue e SC Green são cores de SUPERFÍCIE.
      Azul sobre branco dá 2,44:1 e verde dá 2,10:1. Sobre eles o texto
      é sempre a tinta (#2E3248), que dá 5,2:1 e 6,0:1. O SC Purple é a
      única cor da marca que vira texto, link e botão (5,84:1 no branco).

   2. LEI DO SAGRADO — o Ivar Display Itálico destaca UMA palavra ou
      frase por título, nunca o título inteiro. É a assinatura "É SAGRADO."

   3. LEI DO PORTAL — "Associe-se" e "Área do associado" levam sempre ao
      portal da associação e têm sempre o mesmo desenho do portal:
      botão cheio na tinta e botão contornado. O visitante não percebe a
      troca de site.

   4. LEI DA PRESCRIÇÃO — produto que exige receita (óleos, pomadas,
      extratos) nunca mostra preço nem botão de compra no site. Mostra
      o selo "Requer prescrição" e leva ao portal. (RDC 327/2019 da
      Anvisa: produto de cannabis não pode ser anunciado ao público.)
   ============================================================ */


/* ---------- 0. Fontes (hospedadas no tema, subconjunto latino) ---------- */

@font-face { font-family: 'Untitled Sans'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/untitled-sans-300.woff2') format('woff2'); }
@font-face { font-family: 'Untitled Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/untitled-sans-400.woff2') format('woff2'); }
@font-face { font-family: 'Untitled Sans'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/untitled-sans-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Untitled Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/untitled-sans-500.woff2') format('woff2'); }
@font-face { font-family: 'Ivar Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/ivar-display-400.woff2') format('woff2'); }
@font-face { font-family: 'Ivar Display'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/ivar-display-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Ivar Display'; font-style: italic; font-weight: 500; font-display: swap; src: url('../fonts/ivar-display-500-italic.woff2') format('woff2'); }


/* ---------- 1. Tokens ---------- */

:root {
  /* --- Paleta oficial (brandbook 4.1) --- */
  --white:  #FFFFFF;
  --black:  #000000;   /* só o logotipo e a faixa "noite" */
  --purple: #6459B0;   /* SC Purple — PMS 2735U */
  --blue:   #00B3E6;   /* SC Blue — PMS 306U */
  --green:  #52C5B4;   /* SC Green — PMS 7465U */

  /* --- Tinta (a mesma do portal) --- */
  --ink:       #2E3248;  /* 12,6:1 no branco */
  --ink-soft:  #5B6078;  /* 6,2:1 no branco — texto de apoio */
  --ink-mute:  #61667D;  /* 5,6:1 no branco e 4,6:1 no azul 20 — metadado, legenda */
  --night:     #11121C;  /* fundo escuro (página de tipografia do brandbook) */
  --line:      #E4E6EE;
  --line-strong: #C9CDDB;

  /* --- Escalas da paleta: 80/60/40/20 do brandbook + névoa 10 --- */
  --purple-80: #837AC0; --purple-60: #A29BD0; --purple-40: #C1BDDF; --purple-20: #E0DEEF; --purple-10: #F0EEF7;
  --blue-80:   #33C2EB; --blue-60:   #66D1F0; --blue-40:   #99E1F5; --blue-20:   #CCF0FA; --blue-10:   #E6F7FC;
  --green-80:  #75D1C3; --green-60:  #97DCD2; --green-40:  #BAE8E1; --green-20:  #DCF3F0; --green-10:  #EEF9F8;

  /* --- Versões de texto (só quando a cor PRECISA ser texto) --- */
  --purple-700: #4B4192;  /* 8,5:1 — hover de link e botão roxo */
  --blue-700:   #00739A;  /* 5,4:1 — ícones e números sobre branco */
  --green-700:  #1B6F63;  /* 6,0:1 no branco e 4,8:1 no verde 20 — status "disponível" */

  /* --- Estado --- */
  --ok:   #1F7A6D;
  --warn: #8A5A00;
  --crit: #B3261E;

  /* --- Gradientes (brandbook 4.2: 3 cores, uma em destaque) --- */
  --grad-sagrado:  linear-gradient(135deg, var(--blue-20) 0%, var(--blue) 45%, var(--purple) 100%);
  --grad-cura:     linear-gradient(160deg, var(--green) 0%, var(--blue) 50%, var(--purple) 100%);
  --grad-calma:    linear-gradient(200deg, var(--purple) 0%, var(--blue) 60%, var(--blue-20) 100%);
  --grad-nevoa:    linear-gradient(180deg, var(--blue-10) 0%, var(--white) 100%);

  /* --- Tipografia --- */
  --font-sans:  'Untitled Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif: 'Ivar Display', 'Iowan Old Style', Georgia, serif;

  --text-xs:   0.75rem;    /* 12 — selo, sobrelinha */
  --text-sm:   0.875rem;   /* 14 — interface, legenda */
  --text-base: 1.0625rem;  /* 17 — corpo */
  --text-lg:   1.25rem;    /* 20 — abertura de seção */
  --text-xl:   1.5rem;     /* 24 — título de cartão */
  --text-2xl:  2rem;       /* 32 */
  --text-3xl:  2.75rem;    /* 44 */
  --text-4xl:  3.75rem;    /* 60 */
  --text-5xl:  5.5rem;     /* 88 — herói */

  --tracking-display: -0.025em;  /* brandbook: -25 na Untitled Sans */
  --tracking-title:   -0.04em;   /* brandbook: -50 nos títulos em caixa baixa */
  --tracking-serif:    0.01em;   /* brandbook: +25 no Ivar Itálico */

  /* --- Espaço (passo de 4px) --- */
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.5rem;
  --s-6: 2rem;   --s-7: 3rem;  --s-8: 4rem;   --s-9: 6rem;  --s-10: 8rem;
  --section: clamp(4rem, 9vw, 8rem);

  /* --- Raios (iguais ao portal) --- */
  --r-btn:   6px;
  --r-sm:    10px;
  --r-card:  20px;
  --r-panel: 28px;
  --r-full:  999px;

  /* --- Elevação --- */
  --shadow-sm: 0 1px 2px rgba(46, 50, 72, .06);
  --shadow-md: 0 10px 30px -12px rgba(46, 50, 72, .18);
  --shadow-lg: 0 30px 60px -24px rgba(46, 50, 72, .28);

  /* --- Medidas --- */
  --page: 1280px;
  --narrow: 760px;
  --measure: 66ch;
  --gutter: clamp(1rem, 4vw, 2.5rem);
  --header-h: 76px;

  /* --- Movimento --- */
  --ease: cubic-bezier(.2, .7, .2, 1);
  --dur: .35s;

  /* --- Textura granulada (brandbook 4.2: "no digital, textura granulada") --- */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}


/* ---------- 2. Base ---------- */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 1rem); }

body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg, video { display: block; max-width: 100%; height: auto; }

h1, h2, h3, h4 {
  margin: 0;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: var(--tracking-title);
  text-wrap: balance;
}
h1 { font-size: clamp(2.5rem, 7vw, var(--text-4xl)); }
h2 { font-size: clamp(2rem, 4.6vw, var(--text-3xl)); }
h3 { font-size: clamp(1.25rem, 2vw, var(--text-xl)); letter-spacing: -0.02em; line-height: 1.2; }
h4 { font-size: var(--text-lg); letter-spacing: -0.01em; line-height: 1.3; }

p { margin: 0; text-wrap: pretty; }
p:not(.sc-p) + p:not(.sc-p) { margin-top: 1em; }

/* Lei do sagrado: <em> em título vira Ivar Itálico */
h1 em, h2 em, h3 em, .sc-display em, .sc-headline em, .sc-serif {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  letter-spacing: var(--tracking-serif);
}

a { color: var(--purple); text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--purple-700); }

:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; border-radius: 4px; }

::selection { background: var(--blue-40); color: var(--ink); }

.sc-skip {
  position: absolute; left: var(--s-4); top: -100px; z-index: 100;
  background: var(--ink); color: var(--white); padding: var(--s-3) var(--s-4); border-radius: var(--r-btn);
}
.sc-skip:focus { top: var(--s-4); }

.sc-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}


/* ---------- 3. Layout ---------- */

.sc-container { width: 100%; max-width: calc(var(--page) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }
.sc-container--narrow { max-width: calc(var(--narrow) + var(--gutter) * 2); }

.sc-section { padding-block: var(--section); }
.sc-section--tight { padding-block: calc(var(--section) * .6); }
.sc-section + .sc-section--flush { padding-top: 0; }

.sc-grid { display: grid; gap: var(--s-5); }
@media (min-width: 720px) {
  .sc-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .sc-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .sc-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .sc-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .sc-grid--4 { grid-template-columns: repeat(4, 1fr); }
  .sc-grid { gap: var(--s-6); }
}

.sc-split { display: grid; gap: var(--s-7); align-items: center; }
@media (min-width: 960px) {
  .sc-split { grid-template-columns: 1fr 1fr; gap: var(--s-9); }
  .sc-split--wide-media { grid-template-columns: 1.25fr 1fr; }
  .sc-split--reverse > :first-child { order: 2; }
}

.sc-section-head { display: grid; gap: var(--s-4); margin-bottom: var(--s-8); max-width: 820px; }
.sc-section-head--center { margin-inline: auto; text-align: center; justify-items: center; }
.sc-section-head--row { max-width: none; }
@media (min-width: 960px) {
  .sc-section-head--row { grid-template-columns: 1fr auto; align-items: end; }
}
.sc-lede { font-size: var(--text-lg); line-height: 1.5; color: var(--ink-soft); max-width: 60ch; }
.sc-muted { color: var(--ink-soft); }
.sc-stack > * + * { margin-top: var(--s-5); }


/* ---------- 4. Tipografia de marca ---------- */

/* Sobrelinha com ponto — a mesma do portal */
.sc-eyebrow {
  display: inline-flex; align-items: center; gap: .6em;
  font-size: var(--text-xs); font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-soft);
}
.sc-eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--purple); }
.sc-eyebrow--blue::before  { background: var(--blue); }
.sc-eyebrow--green::before { background: var(--green); }
.sc-on-dark .sc-eyebrow, .sc-eyebrow--light { color: rgba(255,255,255,.78); }
.sc-on-dark .sc-eyebrow::before { background: var(--blue); }

/* Título de herói: Untitled Sans em CAIXA ALTA + Ivar Itálico (brandbook 5.2) */
.sc-display {
  font-size: clamp(2.75rem, 8.2vw, var(--text-5xl));
  font-weight: 500;
  line-height: .94;
  letter-spacing: var(--tracking-display);
  text-transform: uppercase;
}
.sc-display em { display: block; text-transform: uppercase; font-weight: 400; }
.sc-display--md { font-size: clamp(2.25rem, 6vw, var(--text-4xl)); }
/* Herói da Home: "SEU BEM-ESTAR" sempre em uma linha. A linha mede 8,1em,
   então o corpo acompanha a largura da coluna (11,8cqi ≈ 96% dela). */
.sc-hero__content:has(> .sc-display--hero) { container-type: inline-size; }
.sc-display--hero { font-size: min(var(--text-5xl), 11.8cqi); }

/* Manchete em caixa baixa (brandbook: "A medicina diz que sim.") */
.sc-headline { font-size: clamp(2rem, 5vw, var(--text-4xl)); font-weight: 400; letter-spacing: var(--tracking-title); line-height: 1.04; }

.sc-number {
  font-size: clamp(3rem, 7vw, var(--text-5xl)); font-weight: 300; letter-spacing: -0.05em; line-height: .95;
  font-variant-numeric: lining-nums tabular-nums;
}


/* ---------- 5. Gradiente, textura e aura ---------- */

/* Textura granulada sobre qualquer superfície */
.sc-grain { position: relative; isolation: isolate; }
.sc-grain::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background-image: var(--grain); background-size: 220px; mix-blend-mode: overlay; opacity: .55;
  border-radius: inherit;
}
.sc-grain > * { position: relative; z-index: 2; }

/* Fundos de gradiente (imagens do brandbook, lisas; o grão vem do CSS) */
.sc-bg-grad { background-size: cover; background-position: center; background-color: var(--blue); color: var(--ink); }
.sc-bg-grad--01 { background-image: url('../img/gradiente-01.webp'); }
.sc-bg-grad--02 { background-image: url('../img/gradiente-02.webp'); color: var(--white); }
.sc-bg-grad--03 { background-image: url('../img/gradiente-03.webp'); }
.sc-bg-grad--04 { background-image: url('../img/gradiente-04.webp'); color: var(--white); }
.sc-bg-grad--05 { background-image: url('../img/gradiente-05.webp'); }

/* Aura: a mancha de gradiente que escorre do canto (capa do brandbook) */
.sc-aura { position: relative; isolation: isolate; overflow: hidden; }
.sc-aura::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  width: min(70vw, 900px); aspect-ratio: 1;
  right: -18%; top: -30%;
  background: radial-gradient(closest-side, var(--purple) 0%, var(--blue) 45%, rgba(0,179,230,.35) 68%, transparent 100%);
  filter: blur(40px); opacity: .9;
}
.sc-aura--bottom-left::before { right: auto; top: auto; left: -22%; bottom: -40%; }
.sc-aura--soft::before { opacity: .45; }
.sc-aura--green::before { background: radial-gradient(closest-side, var(--blue) 0%, var(--green) 45%, rgba(82,197,180,.3) 70%, transparent 100%); }

/* Efeito de foto (brandbook 6.2): leve camada de gradiente sobre a imagem */
.sc-photo { position: relative; overflow: hidden; border-radius: var(--r-card); background: var(--blue-10); }
.sc-photo img { width: 100%; height: 100%; object-fit: cover; }
.sc-photo--efeito::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(200deg, rgba(0,179,230,.55) 0%, rgba(0,179,230,0) 45%, rgba(100,89,176,.65) 100%);
  mix-blend-mode: color; opacity: .9;
}
.sc-photo--quente img { filter: saturate(1.04) sepia(.08); }
.sc-photo--square { aspect-ratio: 1; }
.sc-photo--portrait { aspect-ratio: 4 / 5; }
.sc-photo--wide { aspect-ratio: 16 / 10; }
.sc-photo--tall { aspect-ratio: 3 / 4; }
.sc-photo figcaption, .sc-caption { font-size: var(--text-sm); color: var(--ink-mute); margin-top: var(--s-3); }


/* ---------- 6. Superfícies ---------- */

.sc-panel { border-radius: var(--r-panel); padding: clamp(1.5rem, 5vw, 4rem); }
.sc-panel--blue   { background: var(--blue-20); }
.sc-panel--green  { background: var(--green-10); }
.sc-panel--purple { background: var(--purple-10); }
.sc-panel--mist   { background: #F5F6F9; }
.sc-panel--ink    { background: var(--ink); color: var(--white); }
.sc-panel--night  { background: var(--night); color: var(--white); }

.sc-band--blue   { background: var(--blue-20); }
.sc-band--mist   { background: #F5F6F9; }
.sc-band--night  { background: var(--night); color: var(--white); }
.sc-band--purple { background: var(--purple); color: var(--white); }

.sc-on-dark { color: var(--white); }
.sc-on-dark .sc-lede, .sc-on-dark .sc-muted { color: rgba(255,255,255,.78); }
.sc-on-dark a:not(.sc-btn):not(.wp-block-button__link), .sc-on-dark a:not(.wp-block-button > .wp-block-button__link) { color: var(--blue-40); }


/* ---------- 7. Botões e links ---------- */

.sc-btn, /* ---------- 7. Botões e links ---------- */

.wp-block-button > .wp-block-button__link {
  --btn-bg: var(--ink); --btn-fg: var(--white); --btn-bd: var(--ink);
  display: inline-flex; align-items: center; justify-content: center; gap: .65em;
  min-height: 48px; padding: .8em 1.4em;
  border: 1px solid var(--btn-bd); border-radius: var(--r-btn);
  background: var(--btn-bg); color: var(--btn-fg);
  font: 500 var(--text-base)/1.1 var(--font-sans); letter-spacing: -0.005em;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.sc-btn:hover, .wp-block-button > .wp-block-button__link:hover { --btn-bg: #1E2134; --btn-bd: #1E2134; color: var(--btn-fg); }
.sc-btn:active, .wp-block-button > .wp-block-button__link:active { transform: translateY(1px); }
.sc-btn .sc-arrow, .wp-block-button > .wp-block-button__link .sc-arrow { transition: transform var(--dur) var(--ease); }
.sc-btn:hover .sc-arrow, .wp-block-button > .wp-block-button__link:hover .sc-arrow { transform: translateX(3px); }

.sc-btn.sc-btn--outline, .wp-block-button.sc-btn--outline > .wp-block-button__link { --btn-bg: var(--white); --btn-fg: var(--ink); --btn-bd: var(--line-strong); }
.sc-btn.sc-btn--outline:hover, .wp-block-button.sc-btn--outline > .wp-block-button__link:hover { --btn-bg: var(--white); --btn-bd: var(--ink); --btn-fg: var(--ink); }

.sc-btn.sc-btn--purple, .wp-block-button.sc-btn--purple > .wp-block-button__link { --btn-bg: var(--purple); --btn-bd: var(--purple); }
.sc-btn.sc-btn--purple:hover, .wp-block-button.sc-btn--purple > .wp-block-button__link:hover { --btn-bg: var(--purple-700); --btn-bd: var(--purple-700); }

.sc-btn.sc-btn--light, .wp-block-button.sc-btn--light > .wp-block-button__link { --btn-bg: var(--white); --btn-fg: var(--ink); --btn-bd: var(--white); }
.sc-btn.sc-btn--light:hover, .wp-block-button.sc-btn--light > .wp-block-button__link:hover { --btn-bg: var(--blue-10); --btn-bd: var(--blue-10); --btn-fg: var(--ink); }

.sc-btn.sc-btn--ghost-light, .wp-block-button.sc-btn--ghost-light > .wp-block-button__link { --btn-bg: transparent; --btn-fg: var(--white); --btn-bd: rgba(255,255,255,.5); }
.sc-btn.sc-btn--ghost-light:hover, .wp-block-button.sc-btn--ghost-light > .wp-block-button__link:hover { --btn-bg: var(--white); --btn-bd: var(--white); --btn-fg: var(--ink); }

.sc-btn.sc-btn--sm, .wp-block-button.sc-btn--sm > .wp-block-button__link { min-height: 40px; padding: .6em 1.05em; font-size: var(--text-sm); }
.sc-btn.sc-btn--lg, .wp-block-button.sc-btn--lg > .wp-block-button__link { min-height: 56px; padding: 1em 1.6em; }
.sc-btn.sc-btn--block, .wp-block-button.sc-btn--block > .wp-block-button__link { width: 100%; }

.sc-btn-group { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: flex-start; }
.sc-btn-hint { display: block; margin-top: var(--s-2); font-size: var(--text-xs); color: var(--ink-mute); }
.sc-btn-cell { display: grid; }

.sc-link {
  display: inline-flex; align-items: center; gap: .5em;
  font-weight: 500; color: var(--ink); text-decoration: none;
  border-bottom: 1px solid currentColor; padding-bottom: 2px;
}
.sc-link:hover { color: var(--purple); }
.sc-link .sc-arrow { transition: transform var(--dur) var(--ease); }
.sc-link:hover .sc-arrow { transform: translateX(3px); }

.sc-icon-btn {
  display: inline-grid; place-items: center; width: 44px; height: 44px;
  border: 1px solid var(--line); border-radius: 14px; background: var(--white); color: var(--ink);
  cursor: pointer; position: relative; text-decoration: none;
}
.sc-icon-btn:hover { border-color: var(--ink); color: var(--ink); }
.sc-icon-btn .sc-count {
  position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px;
  display: grid; place-items: center; border-radius: var(--r-full);
  background: var(--purple); color: var(--white); font-size: 11px; font-weight: 500;
}
.sc-icon { width: 20px; height: 20px; flex: none; }
.sc-arrow { width: 18px; height: 18px; flex: none; }


/* ---------- 8. Selos, pílulas e avisos ---------- */

.sc-tag {
  display: inline-flex; align-items: center; gap: .45em;
  padding: .35em .75em; border-radius: var(--r-full);
  font-size: var(--text-xs); font-weight: 500; letter-spacing: .02em;
  background: var(--purple-10); color: var(--purple-700);
}
.sc-tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sc-tag--rx     { background: var(--purple-10); color: var(--purple-700); }  /* Requer prescrição */
.sc-tag--free   { background: var(--green-10); color: var(--green-700); }    /* Não exige prescrição */
.sc-tag--blue   { background: var(--blue-10); color: var(--blue-700); }
.sc-tag--plain  { background: #F1F2F6; color: var(--ink-soft); }
.sc-tag--plain::before { display: none; }

.sc-pills { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.sc-pill {
  display: inline-flex; align-items: center; min-height: 40px; padding: .5em 1.1em;
  border: 1px solid var(--line); border-radius: var(--r-full); background: var(--white);
  color: var(--ink); font-size: var(--text-sm); font-weight: 500; text-decoration: none;
}
.sc-pill:hover { border-color: var(--ink); color: var(--ink); }
.sc-pill[aria-current="true"], .sc-pill.is-active { background: var(--ink); border-color: var(--ink); color: var(--white); }

.sc-notice {
  display: grid; grid-template-columns: auto 1fr; gap: var(--s-4); align-items: start;
  padding: var(--s-5); border-radius: var(--r-card);
  background: var(--purple-10); color: var(--ink); font-size: var(--text-sm); line-height: 1.55;
}
.sc-notice .sc-icon { color: var(--purple); margin-top: 2px; }
.sc-notice strong { display: block; font-size: var(--text-base); margin-bottom: 2px; font-weight: 500; }
.sc-notice--blue { background: var(--blue-10); }
.sc-notice--blue .sc-icon { color: var(--blue-700); }


/* ---------- 9. Cabeçalho ---------- */

.sc-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.86); backdrop-filter: saturate(1.6) blur(14px); -webkit-backdrop-filter: saturate(1.6) blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.sc-header.is-scrolled { border-bottom-color: var(--line); box-shadow: 0 6px 24px -18px rgba(46,50,72,.4); }
.sc-header__bar { display: flex; align-items: center; gap: var(--s-5); min-height: var(--header-h); }
.sc-logo { display: inline-flex; color: var(--black); flex: none; }
.sc-logo svg, .sc-logo img { width: 156px; height: auto; }   /* mínimo do brandbook: 106px */
.sc-on-dark .sc-logo, .sc-logo--light { color: var(--white); }

.sc-nav { display: none; }
.sc-nav ul { display: flex; gap: var(--s-1); list-style: none; margin: 0; padding: 0; }
.sc-nav a {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 .85em; border-radius: var(--r-btn);
  color: var(--ink); text-decoration: none; font-size: var(--text-sm); font-weight: 500;
}
.sc-nav a:hover { background: #F2F3F7; color: var(--ink); }
.sc-nav a[aria-current="page"] { color: var(--purple); }

.sc-header__actions { margin-left: auto; display: flex; align-items: center; gap: var(--s-2); }
.sc-header__actions .sc-btn, .sc-header__actions .wp-block-button > .wp-block-button__link { min-height: 44px; padding: .6em 1.05em; font-size: var(--text-sm); }
.sc-header__portal { display: none; }

@media (min-width: 1100px) {
  .sc-nav { display: block; margin-left: var(--s-5); }
  .sc-header__portal { display: inline-flex; }
  .sc-menu-toggle { display: none; }
}
@media (max-width: 520px) {
  .sc-logo svg, .sc-logo img { width: 132px; }
  .sc-header__actions .sc-btn.sc-btn--associe, .sc-header__actions .wp-block-button.sc-btn--associe > .wp-block-button__link { display: none; }
}

/* Faixa de aviso acima do cabeçalho */
.sc-topbar {
  background: var(--ink); color: rgba(255,255,255,.86); font-size: var(--text-xs); letter-spacing: .02em;
}
.sc-topbar .sc-container { display: flex; justify-content: center; gap: var(--s-5); min-height: 36px; align-items: center; text-align: center; }
.sc-topbar a { color: var(--white); }
.sc-topbar__extra { display: none; }
@media (min-width: 860px) { .sc-topbar__extra { display: inline; } }

/* Menu do celular (painel em tela cheia) */
.sc-drawer {
  position: fixed; inset: 0; z-index: 60; display: flex; flex-direction: column;
  background: var(--white); padding: var(--s-4) var(--gutter) var(--s-6);
  transform: translateY(-102%); transition: transform .5s var(--ease); overflow-y: auto;
}
.sc-drawer.is-open { transform: none; }
.sc-drawer__top { display: flex; align-items: center; justify-content: space-between; min-height: calc(var(--header-h) - var(--s-4)); }
.sc-drawer nav ul { list-style: none; margin: var(--s-6) 0 0; padding: 0; }
.sc-drawer nav a {
  display: flex; justify-content: space-between; align-items: center;
  padding: var(--s-4) 0; border-bottom: 1px solid var(--line);
  font-size: var(--text-2xl); letter-spacing: -0.03em; color: var(--ink); text-decoration: none;
}
.sc-drawer__portal { margin-top: auto; padding-top: var(--s-7); display: grid; gap: var(--s-3); }
.sc-drawer__aura { position: absolute; inset: auto -30% -20% auto; width: 90vw; aspect-ratio: 1; z-index: -1;
  background: radial-gradient(closest-side, var(--purple), var(--blue) 50%, transparent); filter: blur(40px); opacity: .35; }


/* ---------- 10. Herói ---------- */

.sc-hero { padding-top: var(--s-4); }
.sc-hero__panel {
  position: relative; overflow: hidden; isolation: isolate;
  border-radius: var(--r-panel); background: var(--blue-10);
  display: grid; min-height: min(78vh, 760px);
}
.sc-hero__content {
  position: relative; z-index: 2; align-self: end;
  padding: clamp(1.75rem, 5vw, 4.5rem); display: grid; gap: var(--s-5); max-width: 720px;
}
.sc-hero__media { position: absolute; inset: 0; z-index: 0; }
.sc-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.sc-hero__gradient {
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(100,89,176,.95) 0%, rgba(0,179,230,.75) 32%, rgba(204,240,250,.0) 62%),
    radial-gradient(90% 70% at 80% 100%, rgba(100,89,176,.85) 0%, rgba(0,179,230,.4) 40%, transparent 70%),
    linear-gradient(180deg, var(--blue-10), var(--white));
}
.sc-hero__gradient::after {
  content: ""; position: absolute; inset: 0; background-image: var(--grain); background-size: 220px; mix-blend-mode: overlay; opacity: .6;
}
.sc-hero__panel--split { grid-template-columns: 1fr; }
.sc-hero__figure { position: relative; z-index: 2; padding: 0 clamp(1rem, 3vw, 1.5rem) clamp(1rem, 3vw, 1.5rem); }
.sc-hero__figure .sc-photo { height: 100%; min-height: 320px; border-radius: calc(var(--r-panel) - 8px); }
.sc-hero__chip {
  position: absolute; left: clamp(1.75rem, 4vw, 2.5rem); bottom: clamp(1.75rem, 4vw, 2.5rem); z-index: 3;
  display: inline-flex; align-items: center; gap: .6em; padding: .7em 1em; border-radius: var(--r-full);
  background: rgba(255,255,255,.9); backdrop-filter: blur(8px); font-size: var(--text-sm); font-weight: 500; color: var(--ink);
}
.sc-hero__chip i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px var(--green-20); }
@media (min-width: 960px) {
  .sc-hero__panel--split { grid-template-columns: 1.15fr .85fr; }
  .sc-hero__figure { padding: 1.5rem 1.5rem 1.5rem 0; }
}
.sc-hero__facts { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5); padding-top: var(--s-4); border-top: 1px solid rgba(46,50,72,.12); font-size: var(--text-sm); color: var(--ink-soft); }
.sc-hero__facts span { display: inline-flex; align-items: center; gap: .5em; }
.sc-hero__facts b { color: var(--ink); font-weight: 500; }
.sc-hero__scroll { position: absolute; right: var(--s-6); bottom: var(--s-6); z-index: 2; color: var(--white); display: none; }
@media (min-width: 960px) { .sc-hero__scroll { display: inline-grid; } }

/* Herói de página interna */
.sc-page-hero { padding-block: clamp(3rem, 8vw, 6.5rem) clamp(2rem, 5vw, 4rem); }
.sc-page-hero__inner { display: grid; gap: var(--s-5); max-width: 880px; }
.sc-breadcrumb { display: flex; flex-wrap: wrap; gap: .5em; font-size: var(--text-sm); color: var(--ink-mute); list-style: none; padding: 0; margin: 0; }
.sc-breadcrumb a { color: var(--ink-soft); text-decoration: none; }
.sc-breadcrumb a:hover { color: var(--purple); }
.sc-breadcrumb li + li::before { content: "/"; margin-right: .5em; color: var(--line-strong); }


/* ---------- 11. Cartões ---------- */

.sc-card {
  position: relative; display: flex; flex-direction: column; gap: var(--s-4);
  border-radius: var(--r-card); background: var(--white);
  padding: var(--s-3) var(--s-3) var(--s-6);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
/* Cartão com foto: a foto fica recuada; o texto ganha respiro lateral */
.sc-card > :not(.sc-card__media) { margin-inline: var(--s-3); }
.sc-card--bordered, .sc-card--tinted { padding: var(--s-6); }
.sc-card--bordered > *, .sc-card--tinted > * { margin-inline: 0; }
.sc-card--bordered { border: 1px solid var(--line); }
.sc-card a.sc-card__cover::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.sc-card:has(a.sc-card__cover):hover { transform: translateY(-4px); }
.sc-card__media { border-radius: var(--r-sm); overflow: hidden; background: #F3F4F7; }
.sc-card__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .8s var(--ease); }
.sc-card:hover .sc-card__media img { transform: scale(1.04); }
.sc-card__title { font-size: var(--text-xl); letter-spacing: -0.025em; }
.sc-card__text { color: var(--ink-soft); font-size: var(--text-base); }
.sc-card__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); padding-top: var(--s-2); }
.sc-card__meta { font-size: var(--text-sm); color: var(--ink-mute); display: flex; gap: var(--s-3); flex-wrap: wrap; }

/* Passo (como ter acesso) — o mesmo cartão do portal */
.sc-step {
  border-radius: var(--r-card); padding: var(--s-6); display: grid; gap: var(--s-4); align-content: start;
  position: relative;
}
@media (min-width: 720px) { .sc-step { min-height: 260px; } }
.sc-step h3 { margin-top: auto; }
.sc-step:nth-child(4n+1) { background: var(--blue-10); }
.sc-step:nth-child(4n+2) { background: var(--green-10); }
.sc-step:nth-child(4n+3) { background: var(--purple-10); }
.sc-step:nth-child(4n+4) { background: var(--blue-20); }
.sc-step__num { font-size: var(--text-3xl); font-weight: 300; letter-spacing: -0.05em; line-height: 1; }
.sc-step__icon { position: absolute; top: var(--s-6); right: var(--s-6); width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.7); color: var(--ink); }
.sc-step h3 { font-size: var(--text-lg); margin-top: auto; padding-top: var(--s-6); }
.sc-step p:not(.sc-p) { color: var(--ink-soft); font-size: var(--text-sm); line-height: 1.55; }

/* Categoria de produto terapêutico (sem preço — lei da prescrição) */
.sc-category { display: grid; gap: var(--s-4); }
.sc-category__media { border-radius: var(--r-card); overflow: hidden; aspect-ratio: 4 / 3; background-color: #F1F2F5; position: relative; }
.sc-category__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.sc-category:hover .sc-category__media img { transform: scale(1.04); }
.sc-category h3 { font-size: var(--text-2xl); letter-spacing: -0.035em; }

/* Produto da loja */
.sc-product { display: grid; gap: var(--s-3); position: relative; }
.sc-product__media { position: relative; border-radius: var(--r-card); overflow: hidden; aspect-ratio: 1; background-color: #F3F4F7; }
.sc-product__media img { width: 100%; height: 100%; object-fit: contain; padding: 8%; transition: transform .8s var(--ease); }
.sc-product:hover .sc-product__media img { transform: scale(1.05); }
.sc-product__media .sc-tag { position: absolute; top: var(--s-4); left: var(--s-4); }
.sc-product__add { position: absolute; right: var(--s-4); bottom: var(--s-4); z-index: 2; }
.sc-product__name { font-size: var(--text-base); font-weight: 500; letter-spacing: -0.01em; }
.sc-product__name a { color: var(--ink); text-decoration: none; }
.sc-product__name a::after { content: ""; position: absolute; inset: 0; }
.sc-product__price { font-size: var(--text-base); color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.sc-product__price del { color: var(--ink-mute); margin-right: .4em; }
.sc-product__price ins { text-decoration: none; color: var(--purple); font-weight: 500; }

/* Post */
.sc-post { display: grid; gap: var(--s-4); position: relative; align-content: start; }
.sc-post__media { border-radius: var(--r-card); overflow: hidden; aspect-ratio: 3 / 2; background-color: var(--blue-10); }
.sc-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.sc-post:hover .sc-post__media img { transform: scale(1.04); }
.sc-post h3 { font-size: var(--text-xl); letter-spacing: -0.025em; }
.sc-post h3 a { color: var(--ink); text-decoration: none; }
.sc-post h3 a::after { content: ""; position: absolute; inset: 0; }
.sc-post:hover h3 a { color: var(--purple); }
.sc-post__meta { display: flex; gap: var(--s-3); align-items: center; font-size: var(--text-sm); color: var(--ink-mute); }
.sc-post--featured { gap: var(--s-5); }
@media (min-width: 960px) {
  .sc-post--featured { grid-template-columns: 1.3fr 1fr; align-items: center; gap: var(--s-8); }
  .sc-post--featured h3 { font-size: var(--text-3xl); letter-spacing: -0.04em; }
}

/* Diferencial (ícone + texto) */
.sc-feature { display: grid; gap: var(--s-3); padding: var(--s-6); border-radius: var(--r-card); }
.sc-feature__icon { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--white); color: var(--ink); margin-bottom: var(--s-3); }
.sc-feature h3 { font-size: var(--text-lg); }
.sc-feature p:not(.sc-p) { color: var(--ink-soft); font-size: var(--text-sm); line-height: 1.6; }


/* ---------- 12. Blocos de conteúdo ---------- */

/* Números de impacto */
.sc-stats { display: grid; gap: var(--s-6) var(--s-5); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 960px) { .sc-stats { grid-template-columns: repeat(4, 1fr); } }
.sc-stat { display: grid; gap: var(--s-2); padding-top: var(--s-4); border-top: 1px solid currentColor; border-color: rgba(46,50,72,.18); }
.sc-on-dark .sc-stat { border-color: rgba(255,255,255,.22); }
.sc-stat__value { font-size: clamp(2.25rem, 5vw, var(--text-4xl)); font-weight: 300; letter-spacing: -0.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.sc-stat__label { font-size: var(--text-sm); color: var(--ink-soft); }
.sc-on-dark .sc-stat__label { color: rgba(255,255,255,.72); }

/* Depoimento */
.sc-quote { display: grid; gap: var(--s-6); justify-items: center; text-align: center; max-width: 980px; margin-inline: auto; }
.sc-quote blockquote { margin: 0; font-size: clamp(1.5rem, 3.4vw, 2.5rem); line-height: 1.22; letter-spacing: -0.03em; font-weight: 400; text-wrap: balance; }
.sc-quote blockquote::before { content: "“"; display: block; font-family: var(--font-serif); font-style: italic; font-size: 4em; line-height: .6; margin-bottom: .1em; opacity: .55; }
.sc-quote cite { font-style: normal; font-size: var(--text-sm); opacity: .85; display: grid; gap: 2px; }
.sc-quote cite b { font-weight: 500; font-size: var(--text-base); opacity: 1; }
.sc-dots { display: flex; gap: 8px; }
.sc-dots span { width: 8px; height: 8px; border-radius: 50%; background: currentColor; opacity: .35; }
.sc-dots span[aria-current="true"] { opacity: 1; width: 24px; border-radius: 8px; }

/* Manifesto (palavras grandes) */
.sc-manifesto { font-size: clamp(2.5rem, 9vw, 7.5rem); line-height: .95; letter-spacing: -0.05em; font-weight: 400; }
.sc-manifesto em { font-family: var(--font-serif); font-style: italic; letter-spacing: 0; }
.sc-manifesto span { display: block; }
.sc-manifesto .is-dim { color: #868AA0; }   /* esmaecido, mas 3,4:1 (texto grande) */

/* Duas portas: associado / não associado */
.sc-doors { display: grid; gap: var(--s-4); }
@media (min-width: 860px) { .sc-doors { grid-template-columns: 1fr 1fr; } }
.sc-door {
  position: relative; display: grid; gap: var(--s-4); align-content: space-between; min-height: 300px;
  padding: clamp(1.75rem, 4vw, 3rem); border-radius: var(--r-panel); text-decoration: none; overflow: hidden; isolation: isolate;
  transition: transform var(--dur) var(--ease);
}
.sc-door:hover { transform: translateY(-4px); }
.sc-door h3 { font-size: clamp(1.75rem, 3.4vw, 2.5rem); letter-spacing: -0.04em; }
.sc-door p:not(.sc-p) { max-width: 42ch; }
.sc-door__go { display: inline-flex; align-items: center; gap: .6em; font-weight: 500; }
.sc-door--new { color: var(--white); background: var(--purple); }
.sc-door--new::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url('../img/gradiente-04.webp') center / cover; }
.sc-door--new::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--grain); background-size: 220px; mix-blend-mode: overlay; opacity: .55; }
.sc-door--member { color: var(--ink); background: var(--blue-20); }
.sc-door--new:hover { color: var(--white); }
.sc-door--member:hover { color: var(--ink); }

/* Perguntas frequentes */
.sc-faq { border-top: 1px solid var(--line); }
.sc-faq details { border-bottom: 1px solid var(--line); }
.sc-faq summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--s-4);
  padding: var(--s-5) 0; font-size: var(--text-lg); font-weight: 500; letter-spacing: -0.015em;
}
.sc-faq summary::-webkit-details-marker { display: none; }
.sc-faq summary::after {
  content: ""; flex: none; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line-strong);
  background: linear-gradient(var(--ink), var(--ink)) center / 12px 1.5px no-repeat, linear-gradient(var(--ink), var(--ink)) center / 1.5px 12px no-repeat;
  transition: transform var(--dur) var(--ease);
}
.sc-faq details[open] summary::after { transform: rotate(45deg); }
.sc-faq details > :not(summary) { padding: 0 0 var(--s-5); color: var(--ink-soft); max-width: 70ch; }

/* Lista com ícone de verificação */
.sc-checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-3); }
.sc-checklist li { display: grid; grid-template-columns: 24px 1fr; gap: var(--s-3); align-items: start; }
.sc-checklist li::before {
  content: ""; width: 22px; height: 22px; border-radius: 50%; margin-top: 2px;
  background: var(--green-20) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F7A6D' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* Linha do tempo (história) */
.sc-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.sc-timeline > * { display: grid; grid-template-columns: 96px 1fr; gap: var(--s-5); padding: var(--s-5) 0; border-top: 1px solid var(--line); }
.sc-timeline b { font-size: var(--text-xl); font-weight: 300; letter-spacing: -0.04em; color: var(--purple); }
.sc-timeline h4 { margin-bottom: var(--s-2); }
.sc-timeline p:not(.sc-p) { color: var(--ink-soft); font-size: var(--text-sm); }

/* Faixa de logos / selos */
.sc-logos { display: flex; flex-wrap: wrap; gap: var(--s-6) var(--s-8); align-items: center; justify-content: center; opacity: .75; }
.sc-logos span { font-size: var(--text-lg); font-weight: 500; letter-spacing: -0.02em; color: var(--ink-soft); }


/* ---------- 13. Formulários ---------- */

.sc-field { display: grid; gap: var(--s-2); }
.sc-field label { font-size: var(--text-sm); font-weight: 500; }
.sc-input, .sc-select, .sc-textarea {
  width: 100%; min-height: 52px; padding: .8em 1em;
  border: 1px solid var(--line-strong); border-radius: var(--r-btn); background: var(--white);
  font: 400 var(--text-base)/1.4 var(--font-sans); color: var(--ink);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.sc-textarea { min-height: 140px; resize: vertical; }
.sc-input::placeholder, .sc-textarea::placeholder { color: var(--ink-mute); }
.sc-input:focus, .sc-select:focus, .sc-textarea:focus { outline: none; border-color: var(--purple); box-shadow: 0 0 0 4px var(--purple-20); }
.sc-help { font-size: var(--text-xs); color: var(--ink-mute); }
.sc-form { display: grid; gap: var(--s-4); }
@media (min-width: 720px) { .sc-form--2 { grid-template-columns: 1fr 1fr; } .sc-form--2 .sc-field--full { grid-column: 1 / -1; } }

.sc-qty { display: inline-flex; align-items: center; border: 1px solid var(--line-strong); border-radius: var(--r-btn); height: 52px; }
.sc-qty button { width: 44px; height: 100%; border: 0; background: none; font-size: 20px; color: var(--ink); cursor: pointer; }
.sc-qty input { width: 44px; border: 0; text-align: center; font: 500 var(--text-base) var(--font-sans); color: var(--ink); background: none; }

.sc-search { position: relative; }
.sc-search .sc-input { padding-left: 2.8em; border-radius: var(--r-full); }
.sc-search .sc-icon { position: absolute; left: 1em; top: 50%; transform: translateY(-50%); color: var(--ink-mute); }


/* ---------- 14. Texto longo (artigo) ---------- */

.sc-prose { font-size: 1.125rem; line-height: 1.75; max-width: var(--measure); }
.sc-prose > * + * { margin-top: 1.25em; }
.sc-prose h2 { font-size: var(--text-2xl); margin-top: 2em; letter-spacing: -0.035em; }
.sc-prose h3 { font-size: var(--text-xl); margin-top: 1.8em; }
.sc-prose ul, .sc-prose ol { padding-left: 1.2em; }
.sc-prose li + li { margin-top: .5em; }
.sc-prose blockquote {
  margin: 2em 0; padding: 0 0 0 var(--s-5); border-left: 3px solid var(--purple);
  font-family: var(--font-serif); font-style: italic; font-size: 1.6rem; line-height: 1.3; letter-spacing: 0;
}
.sc-prose figure { margin: 2em 0; }
.sc-prose figure img { border-radius: var(--r-card); }
.sc-prose figcaption { font-size: var(--text-sm); color: var(--ink-mute); margin-top: var(--s-3); }
.sc-prose a { color: var(--purple); }

.sc-toc { position: sticky; top: calc(var(--header-h) + 2rem); display: grid; gap: var(--s-3); font-size: var(--text-sm); }
.sc-toc a { color: var(--ink-soft); text-decoration: none; padding-left: var(--s-3); border-left: 2px solid var(--line); }
.sc-toc a.is-active, .sc-toc a:hover { color: var(--ink); border-color: var(--purple); }

.sc-author { display: flex; gap: var(--s-4); align-items: center; }
.sc-avatar { width: 48px; height: 48px; border-radius: 50%; overflow: hidden; background: var(--purple-20); display: grid; place-items: center; font-weight: 500; color: var(--purple-700); flex: none; }
.sc-avatar img { width: 100%; height: 100%; object-fit: cover; }


/* ---------- 15. Rodapé ---------- */

.sc-footer { position: relative; overflow: hidden; isolation: isolate; background: var(--white); padding-top: var(--section); border-top: 1px solid var(--line); }
.sc-footer::before {
  content: ""; position: absolute; z-index: -1; right: -20%; bottom: -45%; width: min(90vw, 1100px); aspect-ratio: 1;
  background: radial-gradient(closest-side, var(--purple) 0%, var(--blue) 42%, rgba(0,179,230,.25) 66%, transparent 100%);
  filter: blur(50px); opacity: .55;
}
.sc-footer__grid { display: grid; gap: var(--s-7); }
@media (min-width: 960px) { .sc-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--s-6); } }
.sc-footer h4 { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .14em; font-weight: 500; color: var(--ink-mute); margin-bottom: var(--s-4); }
.sc-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }
.sc-footer a { color: var(--ink); text-decoration: none; }
.sc-footer a:hover { color: var(--purple-700); text-decoration: underline; text-underline-offset: .2em; }
.sc-footer__about p:not(.sc-p) { color: var(--ink-soft); max-width: 40ch; font-size: var(--text-sm); }
.sc-footer__social { display: flex; gap: var(--s-2); margin-top: var(--s-5); }
.sc-footer__wordmark { margin-top: var(--s-9); color: var(--black); }
.sc-footer__wordmark svg { width: 100%; height: auto; }
.sc-footer__legal {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-3) var(--s-6);
  padding-block: var(--s-6); margin-top: var(--s-6); border-top: 1px solid rgba(46,50,72,.12);
  font-size: var(--text-xs); color: var(--ink-soft);
}
.sc-footer__legal a { color: var(--ink-soft); }

/* Botão flutuante de WhatsApp */
.sc-whats {
  position: fixed; right: 20px; bottom: 20px; z-index: 40;
  display: inline-flex; align-items: center; gap: .6em; height: 56px; padding: 0 1.2em 0 1em; border-radius: var(--r-full);
  background: var(--ink); color: var(--white); text-decoration: none; font-size: var(--text-sm); font-weight: 500;
  box-shadow: var(--shadow-lg);
}
.sc-whats:hover { color: var(--white); background: #1E2134; }
.sc-whats svg { width: 24px; height: 24px; }
@media (max-width: 600px) { .sc-whats span { display: none; } .sc-whats { width: 56px; padding: 0; justify-content: center; } }


/* ---------- 16. Movimento de entrada ---------- */

.sc-reveal { opacity: 0; transform: translateY(18px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.sc-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .sc-reveal { opacity: 1; transform: none; } }


/* ---------- 17. Utilitários ---------- */

.sc-center { text-align: center; }
.sc-mt-0 { margin-top: 0 !important; }
.sc-mt-4 { margin-top: var(--s-4); } .sc-mt-5 { margin-top: var(--s-5); } .sc-mt-6 { margin-top: var(--s-6); } .sc-mt-7 { margin-top: var(--s-7); } .sc-mt-8 { margin-top: var(--s-8); }
.sc-mb-6 { margin-bottom: var(--s-6); }
.sc-hide-mobile { display: none; }
@media (min-width: 960px) { .sc-hide-mobile { display: initial; } .sc-hide-desktop { display: none !important; } }
.sc-rounded { border-radius: var(--r-card); overflow: hidden; }
.sc-divider { height: 1px; background: var(--line); border: 0; margin: 0; }
.sc-nowrap { white-space: nowrap; }
@media (min-width: 1024px) { .sc-article-grid { grid-template-columns: 220px minmax(0, 1fr) !important; } }
/* Duas seções brancas seguidas não somam o respiro */
.sc-section:not([class*="sc-band"]):not(.sc-bg-grad) + .sc-section:not([class*="sc-band"]):not(.sc-bg-grad) { padding-top: 0; }
.sc-split > * { min-width: 0; }
/* Lei do contraste em gradiente: texto branco ganha um véu roxo (tinta 700 a 45%) */
.sc-bg-grad.sc-on-dark { box-shadow: inset 0 0 0 100vmax rgba(75, 65, 146, .55); }
.sc-door--new::before { box-shadow: inset 0 0 0 100vmax rgba(75, 65, 146, .55); }
@media (min-width: 960px) { .sc-split--wide-media.sc-split--reverse { grid-template-columns: 1fr 1.25fr; } }
.sc-prose figure img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.sc-card.sc-panel--green { background: var(--green-10); }
.sc-card.sc-panel--blue { background: var(--blue-20); }
.sc-card.sc-panel--purple { background: var(--purple-10); }
.sc-card.sc-panel--mist { background: #F5F6F9; }
/* Aura do topo das páginas internas: some antes da borda, sem corte reto */
.sc-page-hero.sc-aura::before {
  -webkit-mask-image: linear-gradient(to bottom, #000 35%, transparent 72%);
          mask-image: linear-gradient(to bottom, #000 35%, transparent 72%);
}


/* ---------- 18. Formulários de plugins: WPForms e Contact Form 7 ----------
   Só visual. Nenhum campo, nome, validação ou script dos plugins muda.
   No tema, estas regras valem para o site inteiro (sem o .sc-formbox).
   Regras de ouro:
   - nunca mexer no campo-armadilha do WPForms (honeypot): o plugin o esconde
     com CSS próprio, e este arquivo não usa display/position nos .wpforms-field;
   - o campo .hidden-field do formulário de COA continua oculto (usado por script);
   - no WPForms, deixar "Estilo do formulário: só o básico" nas configurações. */

.sc-formbox { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-panel); padding: clamp(1.5rem, 4vw, 2.75rem); box-shadow: var(--shadow-md); }
.sc-formbox__head { display: grid; gap: var(--s-2); margin-bottom: var(--s-6); }
.sc-formbox__head h2 { font-size: var(--text-2xl); letter-spacing: -0.035em; }

/* Campos de texto dos dois plugins */
.wpforms-container input[type="text"], .wpforms-container input[type="email"], .wpforms-container input[type="number"],
.wpforms-container input[type="tel"], .wpforms-container select, .wpforms-container textarea,
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"],
.wpcf7-form select, .wpcf7-form textarea {
  width: 100%; max-width: none; min-height: 52px; padding: .8em 1em; margin: 0;
  border: 1px solid var(--line-strong); border-radius: var(--r-btn); background: var(--white);
  font: 400 var(--text-base)/1.4 var(--font-sans); color: var(--ink); box-shadow: none;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.wpforms-container select, .wpcf7-form select {
  appearance: none; -webkit-appearance: none; padding-right: 2.75em; cursor: pointer;
  background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E3248' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 1em center / 18px no-repeat;
}
.wpforms-container input:focus, .wpforms-container select:focus, .wpforms-container textarea:focus,
.wpcf7-form input:focus, .wpcf7-form select:focus, .wpcf7-form textarea:focus {
  outline: none; border-color: var(--purple); box-shadow: 0 0 0 4px var(--purple-20);
}

/* WPForms: estrutura */
.wpforms-container .wpforms-form { margin: 0; }
.wpforms-container .wpforms-field-container { display: grid; gap: var(--s-5); }
.wpforms-container .wpforms-field { padding: 0; }
.wpforms-container fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.wpforms-container .wpforms-field-label, .wpforms-container legend.wpforms-field-label {
  display: block; margin: 0 0 var(--s-2); padding: 0; font: 500 var(--text-sm)/1.3 var(--font-sans); color: var(--ink);
}
.wpforms-container .wpforms-label-hide { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.wpforms-container .wpforms-required-label { color: var(--purple); font-weight: 500; }
.wpforms-container .wpforms-field-row { display: grid; gap: var(--s-3); grid-template-columns: 1fr 1fr; max-width: none; }
.wpforms-container .wpforms-field-row-block { padding: 0; width: auto; }
.wpforms-container .wpforms-field-sublabel { display: block; margin-top: var(--s-2); font-size: var(--text-xs); color: var(--ink-mute); }
.wpforms-container ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }
.wpforms-container .wpforms-field-label-inline { font-size: var(--text-sm); color: var(--ink-soft); cursor: pointer; }
.wpforms-container li { display: flex; gap: var(--s-3); align-items: flex-start; }

/* Caixas de marcar e bolinhas dos dois plugins */
.wpforms-container input[type="checkbox"], .wpforms-container input[type="radio"],
.wpcf7-form input[type="checkbox"], .wpcf7-form input[type="radio"] {
  appearance: none; -webkit-appearance: none; flex: none; width: 22px; height: 22px; margin: 1px 0 0;
  border: 1.5px solid var(--line-strong); border-radius: 6px; background: var(--white); cursor: pointer;
  display: inline-grid; place-content: center; transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.wpforms-container input[type="radio"], .wpcf7-form input[type="radio"] { border-radius: 50%; }
.wpforms-container input[type="checkbox"]:checked, .wpcf7-form input[type="checkbox"]:checked {
  background: var(--purple) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
  border-color: var(--purple);
}
.wpforms-container input[type="radio"]:checked, .wpcf7-form input[type="radio"]:checked { border: 6px solid var(--purple); }
.wpforms-container input[type="checkbox"]:focus-visible, .wpcf7-form input[type="checkbox"]:focus-visible { outline: 2px solid var(--purple); outline-offset: 2px; }

/* Botão de envio dos dois plugins = sc-btn */
.wpforms-container .wpforms-submit-container { margin-top: var(--s-6); padding: 0; display: flex; align-items: center; gap: var(--s-3); }
.wpforms-container button.wpforms-submit, .wpcf7-form .wpcf7-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: .6em; width: 100%;
  min-height: 56px; padding: 1em 1.6em; border: 1px solid var(--ink); border-radius: var(--r-btn);
  background: var(--ink); color: var(--white); font: 500 var(--text-base)/1.1 var(--font-sans); cursor: pointer;
  transition: background var(--dur) var(--ease); box-shadow: none; text-shadow: none;
}
.wpforms-container button.wpforms-submit:hover, .wpcf7-form .wpcf7-submit:hover { background: #1E2134; border-color: #1E2134; }
.wpforms-container button.wpforms-submit:focus-visible, .wpcf7-form .wpcf7-submit:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }

/* Mensagens */
.wpforms-container label.wpforms-error, .wpforms-container em.wpforms-error, .wpcf7-not-valid-tip {
  display: block; margin-top: var(--s-2); font-size: var(--text-xs); font-style: normal; color: var(--crit);
}
.wpforms-container .wpforms-field input.wpforms-error, .wpcf7-form .wpcf7-not-valid { border-color: var(--crit); }
.wpforms-confirmation-container-full, div[submit-success] > .wpforms-confirmation-container-full {
  margin: 0; padding: var(--s-5); border: 0; border-radius: var(--r-card); background: var(--green-10); color: var(--ink);
}
.wpcf7-form .wpcf7-response-output { margin: var(--s-5) 0 0; padding: var(--s-4) var(--s-5); border: 0; border-radius: var(--r-sm); background: var(--blue-10); font-size: var(--text-sm); }
.wpcf7-form.invalid .wpcf7-response-output, .wpcf7-form.unaccepted .wpcf7-response-output { background: #FCEDEC; color: var(--crit); }
.wpcf7-form.sent .wpcf7-response-output { background: var(--green-10); color: var(--green-700); }
.wpcf7-form .wpcf7-response-output:empty { display: none; }

/* Contact Form 7: estrutura (o CF7 usa <p>, <label> e <br>) */
.wpcf7-form { display: grid; gap: var(--s-5); }
.wpcf7-form p:not(.sc-p) { margin: 0; display: grid; gap: var(--s-5); }
.wpcf7-form br { display: none; }
.wpcf7-form > p:not(.sc-p) > label, .wpcf7-form p:not(.sc-p) > label { display: grid; gap: var(--s-2); font-size: var(--text-sm); font-weight: 500; color: var(--ink); }
.wpcf7-form .wpcf7-form-control-wrap { display: block; font-weight: 400; }
.wpcf7-form .wpcf7-checkbox, .wpcf7-form .wpcf7-radio { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.wpcf7-form .wpcf7-list-item { margin: 0; }
.wpcf7-form .wpcf7-list-item label {
  display: inline-flex; align-items: center; gap: .6em; min-height: 44px; padding: .55em 1em;
  border: 1px solid var(--line); border-radius: var(--r-full); background: var(--white); cursor: pointer;
  font-size: var(--text-sm); font-weight: 400; transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.wpcf7-form .wpcf7-list-item label:has(input:checked) { border-color: var(--purple); background: var(--purple-10); }
.wpcf7-form .wpcf7-list-item input { width: 18px; height: 18px; margin: 0; }
.wpcf7-form .hidden-field { display: none !important; }   /* campo oculto usado por script: continua oculto */
.wpcf7-form .wpcf7-spinner { margin: var(--s-3) auto 0; display: block; }

/* Formulário externo em iframe (ExpoTEA): só a moldura é do tema */
.sc-embed { border-radius: var(--r-panel); overflow: hidden; background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-md); }
.sc-embed iframe { display: block; width: 100%; min-height: 820px; border: 0; }


/* ---------- 19. Página de links (bio do Instagram) ---------- */

.sc-links { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: var(--s-7) var(--s-4); position: relative; isolation: isolate; }
.sc-links__bg { position: fixed; inset: 0; z-index: -1; background: url('../img/gradiente-03.webp') center / cover; }
.sc-links__bg::after { content: ""; position: absolute; inset: 0; background-image: var(--grain); background-size: 220px; mix-blend-mode: overlay; opacity: .6; }
.sc-links__card {
  width: min(100%, 460px); display: grid; gap: var(--s-5); justify-items: center; text-align: center;
  padding: var(--s-7) var(--s-5) var(--s-6); border-radius: 32px;
  background: rgba(255,255,255,.82); backdrop-filter: blur(18px) saturate(1.4); -webkit-backdrop-filter: blur(18px) saturate(1.4);
  box-shadow: 0 30px 80px -30px rgba(46,50,72,.45);
}
.sc-links__avatar { width: 104px; height: 104px; border-radius: 50%; display: grid; place-items: center; background: url('../img/gradiente-04.webp') center / cover; color: var(--white); box-shadow: 0 0 0 6px rgba(255,255,255,.9); overflow: hidden; }
.sc-links__avatar svg { width: 76%; }
.sc-links__handle { font-size: var(--text-lg); font-weight: 500; letter-spacing: -0.015em; }
.sc-links__tagline { font-family: var(--font-serif); font-style: italic; font-size: var(--text-2xl); line-height: 1.1; margin-top: -8px; }
.sc-links__list { list-style: none; margin: var(--s-3) 0 0; padding: 0; width: 100%; display: grid; gap: var(--s-3); }
.sc-links__item {
  display: grid; grid-template-columns: 44px 1fr 24px; align-items: center; gap: var(--s-3);
  min-height: 64px; padding: var(--s-2) var(--s-4) var(--s-2) var(--s-2); border-radius: 18px;
  background: var(--white); border: 1px solid var(--line); color: var(--ink); text-decoration: none; text-align: left;
  font-weight: 500; transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.sc-links__item:hover { transform: translateY(-2px); border-color: var(--ink); color: var(--ink); box-shadow: var(--shadow-md); }
.sc-links__item .sc-links__ico { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--blue-10); }
.sc-links__item:nth-child(2) .sc-links__ico { background: var(--purple-10); }
.sc-links__item:nth-child(3) .sc-links__ico { background: var(--green-10); }
.sc-links__item:nth-child(4) .sc-links__ico { background: var(--blue-20); }
.sc-links__item--main { background: var(--ink); border-color: var(--ink); color: var(--white); }
.sc-links__item--main:hover { color: var(--white); background: #1E2134; }
.sc-links__item--main .sc-links__ico { background: rgba(255,255,255,.12) !important; color: var(--white); }
.sc-links__item small { display: block; font-weight: 400; font-size: var(--text-xs); color: var(--ink-mute); }
.sc-links__item--main small { color: rgba(255,255,255,.7); }
.sc-links__social { display: flex; gap: var(--s-2); justify-content: center; }
.sc-links__legal { font-size: 11px; line-height: 1.6; color: var(--ink-soft); letter-spacing: .02em; max-width: 34ch; }
.sc-links__logo { width: 140px; color: var(--black); }
.sc-embed { position: relative; }
.sc-embed::before { content: "Carregando o formulário…"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--ink-mute); font-size: var(--text-sm); background: var(--grad-nevoa); }
.sc-embed iframe { position: relative; background: transparent; }

/* ExpoTEA: o formulário ocupa a tela; a página não rola, só o formulário */
.sc-embed--full { position: fixed; inset: 0; border: 0; border-radius: 0; box-shadow: none; }
.sc-embed--full iframe { width: 100%; height: 100%; min-height: 0; }
html:has(.sc-embed--full), html:has(.sc-embed--full) body { overflow: hidden; height: 100%; }


/* ---------- 20. Loja: carrinho, checkout e pedido ----------
   No tema, estes desenhos vestem os blocos do WooCommerce (Carrinho, Checkout,
   Pedido recebido) e as telas clássicas da Minha conta. */

.sc-shop { display: grid; gap: var(--s-7); align-items: start; }
@media (min-width: 1024px) { .sc-shop { grid-template-columns: minmax(0, 1fr) 400px; gap: var(--s-8); } }
.sc-shop__aside { display: grid; gap: var(--s-4); }
@media (min-width: 1024px) { .sc-shop__aside { position: sticky; top: calc(var(--header-h) + 1.5rem); } }
.sc-shop-title { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-4); flex-wrap: wrap; margin-bottom: var(--s-6); }
.sc-shop-title h1 { font-size: clamp(2rem, 4vw, var(--text-3xl)); }

/* Etapas da compra */
.sc-progress { list-style: none; margin: 0 0 var(--s-7); padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s-2); counter-reset: etapa; }
.sc-progress > * { display: grid; gap: var(--s-2); font-size: var(--text-xs); color: var(--ink-mute); counter-increment: etapa; }
.sc-progress > *::before { content: ""; height: 4px; border-radius: 4px; background: var(--line); }
.sc-progress > * span::before { content: counter(etapa) ". "; }
.sc-progress > *.is-done::before { background: var(--green); }
.sc-progress > *.is-current::before { background: var(--purple); }
.sc-progress > *.is-current, .sc-progress > *.is-done { color: var(--ink); font-weight: 500; }
@media (max-width: 600px) { .sc-progress > * span { display: none; } .sc-progress > *.is-current span { display: block; } .sc-progress { grid-template-columns: repeat(4, 1fr); } }

/* Item do carrinho */
.sc-cart { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.sc-cart-item { display: grid; grid-template-columns: 96px 1fr; gap: var(--s-4) var(--s-5); padding: var(--s-5) 0; border-bottom: 1px solid var(--line); }
@media (min-width: 720px) { .sc-cart-item { grid-template-columns: 120px 1fr auto auto; align-items: center; } }
.sc-cart-item__media { border-radius: var(--r-sm); overflow: hidden; background: #F3F4F7; aspect-ratio: 1; }
.sc-cart-item__media img { width: 100%; height: 100%; object-fit: contain; padding: 8%; }
.sc-cart-item__media--cover img { object-fit: cover; padding: 0; }
.sc-cart-item__info { display: grid; gap: 4px; align-content: start; }
.sc-cart-item__name { font-weight: 500; color: var(--ink); text-decoration: none; letter-spacing: -0.01em; }
.sc-cart-item__name:hover { color: var(--purple); }
.sc-cart-item__meta { font-size: var(--text-sm); color: var(--ink-mute); }
.sc-cart-item__remove { justify-self: start; margin-top: var(--s-2); border: 0; background: none; padding: 0; font: 400 var(--text-sm) var(--font-sans); color: var(--ink-soft); text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.sc-cart-item__remove:hover { color: var(--crit); }
.sc-cart-item__qty { grid-column: 2; display: flex; justify-content: space-between; align-items: center; gap: var(--s-4); }
@media (min-width: 720px) { .sc-cart-item__qty { grid-column: auto; display: contents; } }
.sc-cart-item__price { font-weight: 500; font-variant-numeric: tabular-nums; text-align: right; min-width: 96px; }
.sc-qty--sm { height: 44px; }
.sc-qty--sm button { width: 38px; }
.sc-qty--sm input { width: 34px; }

/* Resumo */
.sc-summary { border-radius: var(--r-card); background: #F5F6F9; padding: var(--s-6); display: grid; gap: var(--s-4); }
.sc-summary h2 { font-size: var(--text-xl); letter-spacing: -0.025em; }
.sc-summary dl { margin: 0; display: grid; gap: var(--s-3); }
.sc-summary dl > div { display: flex; justify-content: space-between; gap: var(--s-4); font-size: var(--text-sm); }
.sc-summary dt { color: var(--ink-soft); }
.sc-summary dd { margin: 0; font-variant-numeric: tabular-nums; text-align: right; }
.sc-summary .is-discount dd { color: var(--green-700); font-weight: 500; }
.sc-summary .is-total { padding-top: var(--s-4); border-top: 1px solid var(--line-strong); font-size: var(--text-lg); font-weight: 500; align-items: baseline; }
.sc-summary .is-total dt { color: var(--ink); }
.sc-summary .is-total small { display: block; font-size: var(--text-xs); color: var(--ink-mute); font-weight: 400; }
.sc-summary__items { list-style: none; margin: 0; padding: 0 0 var(--s-4); display: grid; gap: var(--s-3); border-bottom: 1px solid var(--line-strong); }
.sc-summary__items li { display: grid; grid-template-columns: 56px 1fr auto; gap: var(--s-3); align-items: center; font-size: var(--text-sm); }
.sc-summary__thumb { position: relative; width: 56px; height: 56px; border-radius: 10px; background: var(--white); }
.sc-summary__thumb img { width: 100%; height: 100%; object-fit: contain; padding: 6px; border-radius: 10px; }
.sc-summary__thumb--cover img { object-fit: cover; padding: 0; }
.sc-summary__thumb b { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 99px; background: var(--ink); color: var(--white); font-size: 11px; font-weight: 500; display: grid; place-items: center; }
.sc-summary__items small { display: block; color: var(--ink-mute); font-size: var(--text-xs); }
.sc-coupon { display: flex; gap: var(--s-2); }
.sc-coupon .sc-input { min-height: 48px; }
.sc-coupon .sc-btn, .sc-coupon .wp-block-button > .wp-block-button__link { min-height: 48px; }
.sc-trust { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); font-size: var(--text-xs); color: var(--ink-soft); }
.sc-trust li { display: flex; gap: var(--s-2); align-items: center; }
.sc-trust .sc-icon { width: 16px; height: 16px; color: var(--ink-mute); }

/* Bloco de etapa do checkout */
.sc-step-box { border: 1px solid var(--line); border-radius: var(--r-card); padding: clamp(1.25rem, 3vw, 2rem); display: grid; gap: var(--s-5); }
.sc-step-box + .sc-step-box { margin-top: var(--s-4); }
.sc-step-box__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-4); }
.sc-step-box__head h2 { font-size: var(--text-xl); letter-spacing: -0.025em; display: flex; gap: var(--s-3); align-items: baseline; }
.sc-step-box__head h2 span { font-size: var(--text-sm); color: var(--purple); font-weight: 500; }
.sc-grid-form { display: grid; gap: var(--s-4); grid-template-columns: repeat(6, 1fr); }
.sc-grid-form > * { grid-column: span 6; }
@media (min-width: 720px) {
  .sc-grid-form .c-2 { grid-column: span 2; } .sc-grid-form .c-3 { grid-column: span 3; } .sc-grid-form .c-4 { grid-column: span 4; }
}

/* Opção em cartão (frete e pagamento) */
.sc-options { display: grid; gap: var(--s-3); }
.sc-option { position: relative; display: grid; grid-template-columns: 22px 1fr auto; gap: var(--s-3); align-items: center; padding: var(--s-4) var(--s-5); border: 1px solid var(--line-strong); border-radius: var(--r-sm); cursor: pointer; background: var(--white); transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease); }
.sc-option > input[type="radio"] { appearance: none; -webkit-appearance: none; width: 22px; height: 22px; margin: 0; border-radius: 50%; border: 1.5px solid var(--line-strong); background: var(--white); cursor: pointer; }
.sc-option > input[type="radio"]:checked { border: 7px solid var(--purple); }
.sc-option:has(> input:checked) { border-color: var(--purple); box-shadow: 0 0 0 1px var(--purple); background: var(--purple-10); }
.sc-option b { font-weight: 500; display: block; }
.sc-option small { color: var(--ink-mute); font-size: var(--text-xs); }
.sc-option__price { font-weight: 500; font-variant-numeric: tabular-nums; }
.sc-option__badge { font-size: var(--text-xs); font-weight: 500; color: var(--green-700); background: var(--green-20); padding: .25em .6em; border-radius: 99px; }
.sc-option__panel { grid-column: 1 / -1; display: none; padding-top: var(--s-3); border-top: 1px solid rgba(46,50,72,.1); margin-top: var(--s-2); }
.sc-option:has(> input:checked) .sc-option__panel { display: grid; gap: var(--s-3); }
.sc-check { display: flex; gap: var(--s-3); align-items: flex-start; font-size: var(--text-sm); color: var(--ink-soft); cursor: pointer; }
.sc-check input { appearance: none; -webkit-appearance: none; flex: none; width: 22px; height: 22px; margin: 0; border: 1.5px solid var(--line-strong); border-radius: 6px; background: var(--white); cursor: pointer; }
.sc-check input:checked { background: var(--purple) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat; border-color: var(--purple); }

/* Pedido recebido */
.sc-pix { display: grid; gap: var(--s-5); padding: var(--s-6); border-radius: var(--r-card); background: var(--white); border: 1px solid var(--line); }
@media (min-width: 720px) { .sc-pix { grid-template-columns: 180px 1fr; align-items: center; } }
.sc-pix__qr { width: 180px; height: 180px; border-radius: var(--r-sm); background:
  repeating-linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 14px),
  repeating-linear-gradient(0deg, var(--ink) 0 6px, transparent 6px 15px); background-blend-mode: multiply; opacity: .9; outline: 10px solid var(--white); outline-offset: -10px; box-shadow: inset 0 0 0 1px var(--line); }
.sc-pix__code { display: flex; gap: var(--s-2); }
.sc-pix__code input { font-family: ui-monospace, Menlo, monospace; font-size: var(--text-sm); }


/* ---------- 21. Minha conta (loja) ---------- */

.sc-account { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-6); align-items: start; }
.sc-account-nav { min-width: 0; }
@media (min-width: 960px) { .sc-account { grid-template-columns: 260px minmax(0, 1fr); gap: var(--s-8); } }
.sc-account-nav { border-radius: var(--r-card); background: #F5F6F9; padding: var(--s-3); }
.sc-account-nav__user { display: flex; gap: var(--s-3); align-items: center; padding: var(--s-3) var(--s-3) var(--s-4); border-bottom: 1px solid var(--line); margin-bottom: var(--s-2); }
.sc-account-nav__user b { display: block; font-weight: 500; }
.sc-account-nav__user div span { font-size: var(--text-xs); color: var(--ink-mute); }
.sc-account-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.sc-account-nav a { display: flex; align-items: center; gap: var(--s-3); padding: .7em .8em; border-radius: var(--r-btn); color: var(--ink-soft); text-decoration: none; font-size: var(--text-sm); font-weight: 500; }
.sc-account-nav a:hover { background: var(--white); color: var(--ink); }
.sc-account-nav a[aria-current="page"] { background: var(--white); color: var(--ink); box-shadow: var(--shadow-sm); }
.sc-account-nav a[aria-current="page"] .sc-icon { color: var(--purple); }
.sc-account-nav .sc-icon { width: 18px; height: 18px; }
@media (max-width: 959px) {
  .sc-account-nav ul { display: flex; overflow-x: auto; gap: var(--s-1); scrollbar-width: none; }
  .sc-account-nav a { white-space: nowrap; }
  .sc-account-nav__user { display: none; }
}
.sc-account__content { display: grid; gap: var(--s-6); min-width: 0; }
.sc-account__content h1 { font-size: clamp(1.75rem, 3.5vw, var(--text-3xl)); }

/* Tabela de pedidos (vira cartões no celular) */
.sc-orders { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.sc-orders th { text-align: left; font-size: var(--text-xs); font-weight: 500; color: var(--ink-mute); letter-spacing: .04em; text-transform: uppercase; padding: 0 var(--s-3) var(--s-3); border-bottom: 1px solid var(--line); }
.sc-orders td { padding: var(--s-4) var(--s-3); border-bottom: 1px solid var(--line); vertical-align: middle; }
.sc-orders td:first-child, .sc-orders th:first-child { padding-left: 0; }
.sc-orders td:last-child, .sc-orders th:last-child { padding-right: 0; text-align: right; }
.sc-orders a.sc-order-num { font-weight: 500; color: var(--ink); text-decoration: none; }
@media (max-width: 719px) {
  .sc-orders thead { display: none; }
  .sc-orders tr { display: grid; grid-template-columns: 1fr auto; gap: var(--s-2) var(--s-4); padding: var(--s-4) 0; border-bottom: 1px solid var(--line); }
  .sc-orders td { padding: 0; border: 0; }
  .sc-orders td:last-child { grid-column: 1 / -1; text-align: left; }
  .sc-orders td[data-label]::before { content: attr(data-label) " · "; color: var(--ink-mute); }
}
.sc-status { display: inline-flex; align-items: center; gap: .45em; padding: .3em .7em; border-radius: 99px; font-size: var(--text-xs); font-weight: 500; white-space: nowrap; }
.sc-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sc-status--ok { background: var(--green-10); color: var(--green-700); }
.sc-status--wait { background: #FFF5E0; color: var(--warn); }
.sc-status--go { background: var(--blue-10); color: var(--blue-700); }
.sc-status--off { background: #F1F2F6; color: var(--ink-soft); }

/* Linha do tempo do pedido */
.sc-track { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.sc-track > * { display: grid; grid-template-columns: 28px 1fr; gap: var(--s-4); position: relative; padding-bottom: var(--s-5); }
.sc-track > *::before { content: ""; width: 14px; height: 14px; border-radius: 50%; margin: 5px 7px 0; background: var(--white); border: 2px solid var(--line-strong); z-index: 1; }
.sc-track > *::after { content: ""; position: absolute; left: 13px; top: 20px; bottom: 0; width: 2px; background: var(--line); }
.sc-track > *:last-child::after { display: none; }
.sc-track > *.is-done::before { background: var(--green); border-color: var(--green); }
.sc-track > *.is-done::after { background: var(--green-40); }
.sc-track > *.is-current::before { background: var(--purple); border-color: var(--purple); box-shadow: 0 0 0 5px var(--purple-20); }
.sc-track b { font-weight: 500; display: block; }
.sc-track span { font-size: var(--text-sm); color: var(--ink-mute); }
.sc-track > *:not(.is-done):not(.is-current) b { color: var(--ink-mute); font-weight: 400; }

/* Endereço em cartão */
.sc-address { border: 1px solid var(--line); border-radius: var(--r-card); padding: var(--s-5); font-style: normal; font-size: var(--text-sm); line-height: 1.7; color: var(--ink-soft); display: grid; gap: var(--s-2); }
.sc-address h3 { font-size: var(--text-base); color: var(--ink); display: flex; justify-content: space-between; align-items: baseline; }

/* Entrar e criar conta */
.sc-auth { display: grid; gap: var(--s-4); }
@media (min-width: 960px) { .sc-auth { grid-template-columns: 1fr 1fr; } }
.sc-auth .sc-formbox { box-shadow: none; }
.sc-password { position: relative; }
.sc-password button { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: none; color: var(--ink-mute); font: 500 var(--text-xs) var(--font-sans); padding: .6em; cursor: pointer; }

/* No checkout, o WhatsApp flutuante sai para não cobrir campos (decisão do RadioHemp) */
body[data-page="checkout"] .sc-whats { display: none; }

/* Aviso da loja x área do associado */
.sc-notice--ink { background: var(--ink); color: rgba(255,255,255,.85); }
.sc-notice--ink strong { color: var(--white); }
.sc-notice--ink .sc-icon { color: var(--blue-40); }
.sc-notice--ink a { color: var(--blue-40); }
.sc-field { align-content: start; }

.sc-help .sc-icon { display: inline; width: 14px; height: 14px; vertical-align: -2px; }

/* ---------- 22. Ritmo (revisão de espaçamentos) ---------- */
/* Grudar ao rolar só no computador; no celular a coluna é única */
@media (min-width: 960px) { .sc-sticky { position: sticky; top: calc(var(--header-h) + 2rem); } }
/* A última seção da página sempre respira antes do rodapé */
main > .sc-section--tight:last-child,
main > .sc-page-hero:last-child,
main > .sc-hero:last-child { padding-bottom: var(--section); }
/* Botões da página de links */
.sc-links__item { padding: var(--s-3) var(--s-4) var(--s-3) var(--s-3); }

/* ---------- 23. Contraste em fundos coloridos (revisão) ----------
   Sobre gradiente claro, os cinzas de apoio somem: tudo vira tinta.
   Sobre fundo escuro, o hover clareia em vez de escurecer. */
.sc-bg-grad:not(.sc-on-dark) :is(.sc-breadcrumb, .sc-breadcrumb a, .sc-eyebrow, .sc-lede, .sc-muted, .sc-help, .sc-card__text) { color: var(--ink); }
.sc-bg-grad:not(.sc-on-dark) .sc-eyebrow::before { background: var(--ink); }
.sc-bg-grad .sc-breadcrumb a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: .2em; }
.sc-panel--blue :is(.sc-muted, .sc-help, .sc-eyebrow, .sc-step-box__head span), .sc-band--blue :is(.sc-muted, .sc-help) { color: var(--ink-soft); }
.sc-on-dark a:not(.sc-btn):not(.wp-block-button__link):hover, .sc-on-dark a:not(.wp-block-button > .wp-block-button__link):hover, .sc-notice--ink a:hover { color: var(--white); }
.sc-on-dark .sc-breadcrumb, .sc-on-dark .sc-breadcrumb a { color: rgba(255,255,255,.78); }
/* Gradiente claro com texto: véu branco de 35% (a tinta passa de 4,5:1 em qualquer ponto) */
.sc-bg-grad:not(.sc-on-dark):not(.ds-grad) { box-shadow: inset 0 0 0 100vmax rgba(255, 255, 255, .45); }
/* Sobrelinha clara sobre gradiente ou escuro */
.sc-eyebrow--light, .sc-on-dark .sc-eyebrow { color: var(--white); }
/* Faixa do topo e link de pular: hover branco, nunca roxo sobre a tinta */
.sc-topbar a:hover, .sc-skip:hover, .sc-skip:focus { color: var(--white); }
/* Pílula ativa: o hover mantém o texto branco */
.sc-pill.is-active:hover, .sc-pill[aria-current="true"]:hover, .sc-pill[aria-pressed="true"]:hover { color: var(--white); background: #1E2134; border-color: #1E2134; }
/* Texto de apoio sobre gradiente escuro: branco cheio */
.sc-bg-grad.sc-on-dark :is(.sc-lede, .sc-muted, .sc-stat__label, cite), .sc-door--new p:not(.sc-p) { color: var(--white); }
