/*
 * Motor Claude — peças comuns a todos os temas.
 * Carregada antes da folha de cada tema; cada tema só define as variáveis
 * (--cl-*) no próprio .xx-root. Tudo escopado em body.sg-engine-claude_v1.
 *
 * Cartões do menu:  --cl-tile-bg, --cl-tile-line, --cl-tile-ink, --cl-tile-muted,
 *                   --cl-tile-accent, --cl-tile-badge, --cl-tile-shadow, --cl-tile-radius
 * Título do menu:   --cl-head-ink, --cl-head-muted, --cl-title-font, --cl-body-font
 * XV:               --cl-xv-font, --cl-xv-size, --cl-xv-top, --cl-xv-bottom, --cl-xv-line, --cl-xv-glow
 */

/* O botão flutuante "Confirmar presença" do sistema repetia a confirmação que o
   menu já mostra em destaque; o espaço reservado para ele deixava uma faixa
   depois do rodapé. Nos temas do motor, os dois saem. */
body.sg-engine-claude_v1 .rsvp-floating-cta{display:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite{padding-bottom:0!important}

/* Capa fixa: enquanto ela está na tela (antes de "Abrir convite"), a página por
   baixo não rola. Arrastar o dedo na capa não move a cena nem desalinha o nome;
   o toque no botão continua funcionando. Ao abrir, a rolagem volta ao normal. */
html:has(body.sg-engine-claude_v1 :is(.is-closed,.px-closed,.lw-closed)),
body.sg-engine-claude_v1:has(:is(.is-closed,.px-closed,.lw-closed)){overflow:hidden!important;overscroll-behavior:none}
body.sg-engine-claude_v1 :is(.is-closed,.px-closed,.lw-closed) .capa{touch-action:none;overscroll-behavior:none}

/* ---------- Título do menu ---------- */
body.sg-engine-claude_v1 .cl-menu-head{margin:30px 0 14px;text-align:center}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cl-menu-title{display:block;margin:0;padding:0;border:0;background:none;
  font-family:var(--cl-title-font,Georgia,serif)!important;font-size:25px!important;font-weight:500!important;font-style:normal!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;text-align:center!important;
  color:var(--cl-head-ink,currentColor)!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cl-menu-help{margin:6px 0 0!important;padding:0;
  font-family:var(--cl-body-font,system-ui,sans-serif)!important;font-size:14px!important;font-weight:400!important;font-style:normal!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;text-align:center!important;
  color:var(--cl-head-muted,currentColor)!important;opacity:1}

/* ---------- Cartões em duas colunas ---------- */
body.sg-engine-claude_v1 .cl-tiles{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;text-align:left}
body.sg-engine-claude_v1 .cl-tiles>li{margin:0;padding:0;min-width:0;border:0;list-style:none}
body.sg-engine-claude_v1 .cl-tiles>li::before,body.sg-engine-claude_v1 .cl-tiles>li::marker{content:none}
body.sg-engine-claude_v1 .cl-tiles--odd>li:last-child{grid-column:1/-1}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite a.cl-tile{position:relative;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:6px!important;box-sizing:border-box;width:100%;height:100%;min-height:128px;margin:0!important;padding:16px 16px 15px!important;
  border:0!important;border-radius:var(--cl-tile-radius,18px)!important;background:var(--cl-tile-bg,rgba(255,255,255,.08))!important;color:var(--cl-tile-ink,currentColor)!important;text-decoration:none!important;text-align:left!important;
  box-shadow:inset 0 0 0 1px var(--cl-tile-line,rgba(255,255,255,.25)),var(--cl-tile-shadow,0 14px 26px -18px rgba(0,0,0,.6))!important;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,box-shadow .2s ease;transform:none}
body.sg-engine-claude_v1 .pagina-convite a.cl-tile::before,body.sg-engine-claude_v1 .pagina-convite a.cl-tile::after{content:none!important;display:none!important}
body.sg-engine-claude_v1 .pagina-convite a.cl-tile:active{transform:scale(.97)}
body.sg-engine-claude_v1 .pagina-convite a.cl-tile:focus-visible{outline:2px solid var(--cl-tile-accent,currentColor);outline-offset:3px}
body.sg-engine-claude_v1 .cl-tile-badge{display:grid!important;place-items:center;flex:none;width:42px;height:42px;margin:0 0 4px;border-radius:50%;
  background:var(--cl-tile-badge,rgba(255,255,255,.1));box-shadow:inset 0 0 0 1px var(--cl-tile-line,rgba(255,255,255,.25));color:var(--cl-tile-accent,currentColor)}
body.sg-engine-claude_v1 .cl-tile-icon{display:block;width:22px;height:22px;color:inherit}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cl-tile-label{display:block;min-width:0;max-width:calc(100% - 14px);
  font-family:var(--cl-title-font,Georgia,serif)!important;font-size:20px!important;font-weight:500!important;font-style:normal!important;line-height:1.15!important;letter-spacing:0!important;text-transform:none!important;color:inherit!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cl-tile-hint{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  font-family:var(--cl-body-font,system-ui,sans-serif)!important;font-size:13px!important;font-weight:400!important;font-style:normal!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none!important;color:var(--cl-tile-muted,currentColor)!important;opacity:1}
body.sg-engine-claude_v1 .cl-tile-arrow{position:absolute;top:18px;right:14px;width:16px;height:16px;color:var(--cl-tile-accent,currentColor);transition:transform .2s}
body.sg-engine-claude_v1 .pagina-convite a.cl-tile:hover .cl-tile-arrow{transform:translateX(3px)}

/* ---------- XV sob o nome ---------- */
body.sg-engine-claude_v1 .cl-xv{display:flex;align-items:center;justify-content:center;gap:16px;margin:2px 0 0;pointer-events:none}
body.sg-engine-claude_v1 .cl-xv span{font-family:var(--cl-xv-font,Georgia,serif);font-size:var(--cl-xv-size,clamp(40px,11vw,54px));font-weight:500;line-height:1;letter-spacing:.14em;padding-left:.14em;
  background:linear-gradient(180deg,var(--cl-xv-top,#fff) 0%,var(--cl-xv-bottom,#d9b45e) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px var(--cl-xv-glow,transparent))}
body.sg-engine-claude_v1 .cl-xv i{display:block;width:clamp(32px,11vw,56px);height:1px;background:linear-gradient(90deg,transparent,var(--cl-xv-line,#d9b45e))}
body.sg-engine-claude_v1 .cl-xv i:last-child{background:linear-gradient(270deg,transparent,var(--cl-xv-line,#d9b45e))}

@media (prefers-reduced-motion:reduce){body.sg-engine-claude_v1 .cl-tile,body.sg-engine-claude_v1 .cl-tile-arrow{transition:none!important}}

/* Painel aberto (claude-nav.js): a página por baixo não rola. */
html.cl-lock,html.cl-lock body{overflow:hidden!important}
