/*
 * Motor Claude — tema Colors: a cartela de cores.
 *
 * Um leque de amostras de tinta na cor escolhida. Papéis vindos do ColorEngine:
 *   chosen                 a cor exata da cliente (só pinta blocos sem texto)
 *   shade-1..7 (+ -ink)    as fitas da cartela e a tinta de texto de cada uma
 *   bg / bg-deep           a mesa           scene-ink / scene-muted  texto sobre a mesa
 *   paper / paper-ink / paper-muted / line   etiquetas e painéis
 *   button-bg / button-ink                   ação principal
 * Todo texto fica numa etiqueta de papel ou numa fita com a própria tinta.
 * Tipografia: Bricolage Grotesque, Instrument Serif itálico, Manrope.
 */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url("../fonts/bricolage-grotesque-variable.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/instrument-serif-400-italic.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/manrope-variable.woff2") format("woff2")}

body.sg-engine-claude_v1{
  --co-table:var(--c-bg,#EFECF6);--co-table-2:var(--c-bg-deep,#E2DCF3);
  --co-ink:var(--c-scene-ink,#2B2450);--co-muted:var(--c-scene-muted,#5A5286);
  --co-paper:var(--c-paper,#FDFCFF);--co-paper-ink:var(--c-paper-ink,#2A2440);--co-paper-muted:var(--c-paper-muted,#5F5780);--co-line:var(--c-line,#E3DCF2);
  --co-chosen:var(--c-chosen,#7B4DE0);--co-btn:var(--c-button-bg,#6B4CC4);--co-btn-ink:var(--c-button-ink,#FFFFFF);
  --co-display:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;--co-serif:"Instrument Serif",Georgia,serif;--co-sans:"Manrope",system-ui,sans-serif;
  --co-ease:cubic-bezier(.22,1,.36,1);
  --co-shadow:0 1px 1px rgba(0,0,0,.06),0 10px 24px -12px rgba(0,0,0,.28);
  background:var(--co-table) radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--co-paper) 45%,var(--co-table)) 0%,var(--co-table) 55%,var(--co-table-2) 100%) fixed!important;
  color:var(--co-ink);font-family:var(--co-sans)}
body.sg-engine-claude_v1::before,body.sg-engine-claude_v1::after{display:none!important}
body.sg-engine-claude_v1 .pagina-convite{max-width:480px;margin:0 auto!important;min-height:100svh;overflow:clip;background:transparent}
body.sg-engine-claude_v1 .convite{overflow:visible!important}
body.sg-engine-claude_v1 .co-root{position:relative;isolation:isolate;font-family:var(--co-sans);-webkit-font-smoothing:antialiased}
body.sg-engine-claude_v1 .co-root [hidden]{display:none!important}
/* Textura de papel da mesa */
.co-root::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("grain.svg");background-size:180px 180px}

/* ================= O leque ================= */
.co-fan{--w:min(54vw,216px);position:relative;width:var(--w);height:calc(var(--w) * 2.08);margin:0 auto}
.co-strip{position:absolute;inset:0;display:flex;flex-direction:column;border-radius:9px;background:var(--co-paper);overflow:hidden;
  transform-origin:50% calc(100% - 20px);transform:rotate(calc((var(--k,3) - 3) * 1.3deg));
  box-shadow:var(--co-shadow),inset 0 0 0 1px rgba(0,0,0,.04);transition:transform 1s var(--co-ease);transition-delay:calc(var(--k,0) * 45ms)}
.co-strip-block{position:relative;flex:1 1 auto;background:var(--strip)}
/* Luz de estúdio sobre o papel: brilho no alto, sombra embaixo — tira o chapado sem mudar a cor. */
.co-strip-block::after{content:"";position:absolute;inset:0;background:linear-gradient(170deg,rgba(255,255,255,.18),transparent 38%,transparent 70%,rgba(0,0,0,.08))}
.co-strip-label{display:flex;flex-direction:column;justify-content:flex-start;gap:2px;flex:0 0 auto;padding:10px 12px 34px;background:var(--co-paper);color:var(--co-paper-ink);text-align:left}
.co-strip-label b{font-family:var(--co-display);font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.1}
.co-strip-label small{font-family:var(--co-sans);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--co-paper-muted);font-variant-numeric:tabular-nums}
/* A amostra da frente: a cor exata escolhida e o nome na etiqueta. */
.co-strip--front{--k:3;z-index:2;transform:rotate(0deg)}
.co-strip--front .co-strip-block{background:var(--co-chosen)}
.co-strip--front .co-strip-label{gap:4px;padding:12px 14px 38px}
body.sg-engine-claude_v1 .pagina-convite .co-strip-eyebrow{font-family:var(--co-serif)!important;font-style:italic;font-size:15px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--co-paper-muted)}
body.sg-engine-claude_v1 .pagina-convite .co-strip-name{display:block;font-family:var(--co-display)!important;font-size:25px!important;font-weight:750!important;font-stretch:88%;line-height:1!important;letter-spacing:-.025em!important;color:var(--co-paper-ink);overflow-wrap:break-word}
.co-strip-code{margin-top:4px}
.co-strip-xv{position:absolute;right:10px;top:10px;z-index:1;display:grid;place-items:center;height:26px;padding:0 9px;border-radius:99px;background:var(--co-paper);color:var(--co-paper-ink);font-family:var(--co-display);font-size:12px;font-weight:800;letter-spacing:.08em}
.co-rivet{position:absolute;left:50%;bottom:9px;z-index:5;width:16px;height:16px;margin-left:-8px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 12%,#d9d6d0 30%,#8f8a82 75%,#6b665f);box-shadow:0 1px 2px rgba(0,0,0,.35),inset 0 0 0 1px rgba(0,0,0,.15)}
/* Aberto: cada fita gira em volta do rebite. */
.co-fan.is-open .co-strip:not(.co-strip--front),.co-root:is(.co-opening,.co-opened) .co-fan--cover .co-strip:not(.co-strip--front){transform:rotate(calc((var(--k) - 3) * 12deg))}
.co-root:is(.co-opening,.co-opened) .co-fan--cover .co-strip--front{transform:rotate(0deg) translateY(-3%)}
/* Parado, o leque respira: as fitas de trás se mexem um pouco. */
.co-root.co-closed:not(.co-opening) .co-fan--cover .co-strip:not(.co-strip--front){animation:co-peek 4.5s ease-in-out infinite alternate;animation-delay:calc(var(--k) * -.6s)}
@keyframes co-peek{from{transform:rotate(calc((var(--k) - 3) * 1.3deg))}to{transform:rotate(calc((var(--k) - 3) * 3.2deg))}}

/* ================= Capa ================= */
body.sg-engine-claude_v1.sg-engine-claude_v1 .co-root .capa.co-cover{position:fixed!important;inset:0!important;z-index:30;display:flex!important;flex-direction:column;align-items:stretch!important;justify-content:space-between!important;
  min-height:0!important;height:auto!important;margin:0!important;padding:calc(18px + env(safe-area-inset-top)) 22px calc(26px + env(safe-area-inset-bottom))!important;box-sizing:border-box;
  background:none!important;border:0!important;box-shadow:none!important;overflow:hidden;text-align:center!important}
body.sg-engine-claude_v1 .co-root .capa.co-cover>:not(.co-fan){width:100%;max-width:none;align-self:stretch}
body.sg-engine-claude_v1 .co-root .capa.co-cover>.co-fan{flex:none;align-self:center;width:var(--w)}
body.sg-engine-claude_v1 .co-root .capa.co-cover::before,body.sg-engine-claude_v1 .co-root .capa.co-cover::after{content:none!important;display:none!important}
@media (min-width:560px){body.sg-engine-claude_v1.sg-engine-claude_v1 .co-root .capa.co-cover{left:50%!important;right:auto!important;width:480px;transform:translateX(-50%)}}
body.sg-engine-claude_v1.sg-engine-claude_v1 .co-root.co-opened .capa.co-cover,
body.sg-engine-claude_v1.sg-engine-claude_v1 .co-root .capa.co-cover[hidden]{display:none!important}
.co-cover-top{display:flex;justify-content:space-between;font-family:var(--co-sans);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--co-muted) 82%,var(--co-ink))}
.co-fan--cover{--w:min(56vw,226px,calc((100svh - 250px) / 2.08));margin-top:2vh}
.co-cover-foot{display:flex;flex-direction:column;align-items:center;gap:10px}
body.sg-engine-claude_v1 .pagina-convite .co-greet{margin:0;font-family:var(--co-sans);font-size:15px;font-weight:600;color:var(--co-muted)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-root a.botao.co-open{position:relative;display:inline-flex!important;align-items:center;justify-content:center;min-width:220px;min-height:56px;margin:0!important;padding:0 34px!important;
  border:0!important;border-radius:999px!important;background:var(--co-btn)!important;color:var(--co-btn-ink)!important;text-decoration:none!important;
  font-family:var(--co-sans)!important;font-size:16px!important;font-weight:700!important;letter-spacing:.01em!important;text-transform:none!important;
  box-shadow:0 14px 28px -14px color-mix(in srgb,var(--co-btn) 85%,transparent)!important;overflow:hidden;transition:transform .2s var(--co-ease)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-root a.botao.co-open::before{content:none!important;display:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-root a.botao.co-open::after{content:none!important;display:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-root a.botao.co-open:active{transform:scale(.96)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-root a.botao.co-open span{font:inherit!important;letter-spacing:inherit!important;text-transform:none!important;color:inherit!important}
.co-open:focus-visible{outline:3px solid var(--co-ink);outline-offset:3px}
.co-hint{margin:0;font-family:var(--co-serif);font-style:italic;font-size:17px;color:color-mix(in srgb,var(--co-muted) 82%,var(--co-ink))}

/* Abertura: o leque abre na capa; depois a capa sai e a tela inicial sobe. */
.co-root.co-opening .co-cover-foot,.co-root.co-opening .co-cover-top{transition:opacity .4s ease;opacity:0}
.co-root.co-opening .co-cover{animation:co-cover-out .5s ease 1.05s forwards}
@keyframes co-cover-out{to{opacity:0}}
@media (min-width:560px){.co-root.co-opening .co-cover{animation-name:co-cover-out-wide}@keyframes co-cover-out-wide{to{opacity:0;transform:translateX(-50%)}}}
.co-root.co-closed .co-app{opacity:0;pointer-events:none}
.co-root.co-opening .co-app{animation:co-rise .8s var(--co-ease) 1.15s both}
@keyframes co-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}

/* ================= Tela inicial ================= */
.co-app{position:relative;z-index:1}
.co-home{padding:calc(22px + env(safe-area-inset-top)) 16px 10px;text-align:center}
.co-hero{height:calc(min(34vw,138px) * 2.08 + 34px);overflow:visible;display:flex;justify-content:center;padding-top:8px}
.co-fan--home{--w:min(34vw,138px)}
.co-fan--home .co-strip:not(.co-strip--front){transform:rotate(calc((var(--k) - 3) * 17deg));animation:co-sway 6s ease-in-out infinite alternate}
@keyframes co-sway{from{transform:rotate(calc((var(--k) - 3) * 17deg))}to{transform:rotate(calc((var(--k) - 3) * 18.5deg))}}
.co-fan--home .co-strip-label{padding:6px 7px 24px}
.co-fan--home .co-strip-label b{font-size:10px}
.co-fan--home .co-strip-label small{font-size:7px}
body.sg-engine-claude_v1 .pagina-convite .co-fan--home .co-strip-name{font-size:14px!important}
body.sg-engine-claude_v1 .pagina-convite .co-fan--home .co-strip-eyebrow{font-size:10px!important}
.co-fan--home .co-strip-xv{height:18px;padding:0 6px;font-size:9px;right:6px;top:6px}
.co-head{padding:14px 8px 20px}
body.sg-engine-claude_v1 .pagina-convite .co-eyebrow{margin:0 0 4px;font-family:var(--co-serif);font-style:italic;font-size:23px;font-weight:400;line-height:1.1;letter-spacing:0;text-transform:none;color:var(--co-muted)}
body.sg-engine-claude_v1 .pagina-convite .co-name{display:block;margin:0 auto;padding:0;max-width:100%;
  font-family:var(--co-display)!important;font-size:clamp(40px,12vw,58px);font-weight:750;font-stretch:88%;line-height:.98;letter-spacing:-.03em;text-transform:none;text-align:center;color:var(--co-ink);overflow-wrap:break-word;text-wrap:balance}
.co-name:focus{outline:none}
body.sg-engine-claude_v1 .pagina-convite .co-when{margin:12px 0 0;font-family:var(--co-sans);font-size:15px;font-weight:600;color:var(--co-muted)}
body.sg-engine-claude_v1 .pagina-convite .co-intro{margin:12px auto 0;max-width:32ch;font-family:var(--co-sans);font-size:15.5px;font-weight:500;line-height:1.55;color:var(--co-muted)}

/* Contagem: etiqueta de papel com números grandes. */
.co-count{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 0 20px;padding:14px 12px 16px;border-radius:14px;background:var(--co-paper);color:var(--co-paper-ink);box-shadow:var(--co-shadow)}
.co-count-label{font-family:var(--co-serif);font-style:italic;font-size:20px;line-height:1;color:var(--co-paper-muted)}
body.sg-engine-claude_v1 .co-count{--c-ink:var(--co-paper-ink);--c-ink-soft:var(--co-paper-muted);--c-surface:transparent;--c-line:var(--co-line)}
body.sg-engine-claude_v1 .co-count :is(.secao,.secao__interno){margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;min-height:0!important}
body.sg-engine-claude_v1 .co-count :is(.cantoneiras,.cantoneira,.divisor,.titulo-secao){display:none!important}
body.sg-engine-claude_v1 .co-count .revela{opacity:1!important;transform:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-count .contagem{display:flex!important;flex-wrap:nowrap!important;align-items:flex-end;gap:clamp(12px,5vw,26px)!important;justify-content:center!important;margin:0!important;padding:0!important;grid-template-columns:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-count .contagem__item{display:flex!important;flex-direction:column;align-items:center;min-width:0;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--co-paper-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-count .contagem__item[hidden]{display:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-count :is(.contagem__numero,.contagem-regressiva__numero){font-family:var(--co-display)!important;font-size:clamp(28px,8.5vw,38px)!important;font-weight:750!important;font-stretch:85%;letter-spacing:-.03em!important;line-height:.9!important;font-variant-numeric:tabular-nums;color:var(--co-paper-ink)!important;background:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-count :is(.contagem__rotulo,.contagem-regressiva__rotulo,.contagem__realizada){margin-top:4px!important;font-family:var(--co-sans)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--co-paper-muted)!important}

/* ================= As partes: cartões de amostra, um depois do outro ================= */
.co-parts{display:flex;flex-direction:column;gap:26px;padding:0 16px calc(36px + env(safe-area-inset-bottom))}
body.sg-engine-claude_v1 .co-sheet{--chip:var(--c-shade-5);--chip-ink:var(--c-shade-5-ink);
  --clm-paper:var(--co-paper);--clm-ink:var(--co-paper-ink);--clm-muted:var(--co-paper-muted);--clm-line:var(--co-line);--clm-accent:var(--co-btn);--clm-display:var(--co-display);--clm-sans:var(--co-sans);
  position:relative;display:flex;flex-direction:column;box-sizing:border-box;margin:0;border-radius:16px;background:var(--co-paper);color:var(--co-paper-ink);overflow:hidden;box-shadow:var(--co-shadow);scroll-margin-top:14px}
/* O topo da parte é a amostra de tinta numerada. */
.co-sheet-head{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:end;gap:2px 12px;padding:18px 18px 18px 20px;background:var(--chip);color:var(--chip-ink)}
.co-sheet-head::after{content:"";position:absolute;inset:0;background:linear-gradient(165deg,rgba(255,255,255,.1),transparent 40%,transparent 75%,rgba(0,0,0,.07));pointer-events:none}
.co-sheet-num{grid-column:1;font-family:var(--co-sans);font-size:11px;font-weight:800;letter-spacing:.14em}
.co-sheet-ico{grid-column:2;grid-row:1/3;align-self:center;width:30px;height:30px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-sheet-title{grid-column:1;margin:0!important;padding:0!important;font-family:var(--co-display)!important;font-size:30px!important;font-weight:750!important;font-stretch:88%;line-height:1!important;letter-spacing:-.025em!important;text-transform:none!important;text-align:left!important;color:var(--chip-ink)!important;text-shadow:none!important;background:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-sheet-title::before,body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-sheet-title::after{content:none!important}
/* Confirmar presença: a amostra oficial, na cor escolhida. */
body.sg-engine-claude_v1 .co-sheet--rsvp .co-sheet-head{--chip-ink:var(--co-paper-ink);border-top:64px solid var(--co-chosen);padding-bottom:10px;background:var(--co-paper);color:var(--co-paper-ink)}
body.sg-engine-claude_v1 .co-sheet--rsvp .co-sheet-head::after{content:none}
body.sg-engine-claude_v1 .co-sheet--rsvp .co-sheet-ico{align-self:start;width:44px;height:44px;margin-top:-40px;padding:10px;box-sizing:border-box;border-radius:50%;background:var(--co-paper);color:var(--co-paper-ink);box-shadow:var(--co-shadow)}
.co-sheet-body{position:relative;padding:6px 20px 26px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .co-sheet-body--same-title .cl-modules > .secao:first-child .titulo-secao{display:none!important}
body.sg-engine-claude_v1 .pagina-convite a.co-top{align-self:center;margin:4px 0 0;padding:10px 14px;font-family:var(--co-sans);font-size:14px;font-weight:700;color:var(--co-muted);text-decoration:underline;text-underline-offset:4px}
body.sg-engine-claude_v1 .pagina-convite a.co-top:focus-visible{outline:3px solid var(--co-ink);outline-offset:3px}

/* ================= Prévias ================= */
.co-root--cover-only .co-app{display:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .co-root--cover-only .capa.co-cover{position:relative!important;min-height:100svh!important}
.co-section-preview{padding:16px}
.co-section-preview .co-card{--clm-paper:var(--co-paper);--clm-ink:var(--co-paper-ink);--clm-muted:var(--co-paper-muted);--clm-line:var(--co-line);--clm-accent:var(--co-btn);--clm-display:var(--co-display);--clm-sans:var(--co-sans);padding:20px;border-radius:14px;background:var(--co-paper);color:var(--co-paper-ink);box-shadow:var(--co-shadow)}

/* ================= Telas largas e movimento reduzido ================= */
@media (min-width:600px){.co-home,.co-parts{padding-left:24px;padding-right:24px}}
@media (prefers-reduced-motion:reduce){
  .co-strip{transition:none!important}
  .co-root.co-closed .co-fan--cover .co-strip,.co-fan--home .co-strip{animation:none!important}
  .co-root.co-opening .co-cover,.co-root.co-opening .co-app{animation:none!important}
}
