/* v29.233.0 — Clube do Ju: /clube/, /clube/contrato/ e /clube/minha-assinatura/.
   Ligado SÓ nessas páginas (não entra no style.css). Usa as variáveis de cor do css/01.
   Regras da casa: sem rótulo decorativo acima de título; medida de leitura em em (34em);
   Inter sempre com InterFallback; texto de contrato e resumo com corpo mínimo de 16px. */

.clube{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:28px 0 72px;font-size:1rem}
.clube *{min-width:0}
.clube h1,.clube h2{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.035em;line-height:.98;font-weight:400;margin:.2em 0 .35em}
.clube h1{font-size:clamp(2.6rem,8vw,4.6rem)}
.clube h2{font-size:clamp(1.9rem,5vw,2.8rem)}
.clube h3{font-size:1.2rem;margin:0 0 6px;line-height:1.25}
.clube p,.clube li{max-width:34em}
.clube a:not(.btn){color:var(--gold2)}
.clube-sec{margin:64px 0 0}
.clube-lede{color:var(--muted);font-size:1.1rem;line-height:1.6;margin:0 0 18px}
.clube-hero{padding:18px 0 8px}
.clube-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.clube-hero-actions .btn{min-height:48px}
.clube-nota{color:var(--muted);font-size:.95rem;margin:14px 0 0}

/* Cards dos planos */
.clube-planos{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin-top:22px}
.clube-card{display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.clube-card--largo{grid-column:1/-1}
.clube-card p{margin:0;color:var(--muted)}
.clube-card .clube-inclui{color:var(--text);font-size:.95rem}
.clube-preco{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:6px 0 0}
.clube-preco strong{font-size:2rem;color:var(--gold2);font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.clube-preco small{color:var(--muted);font-size:.95rem}
.clube-tabela,.clube-card .clube-tabela{color:var(--grey-3);font-size:.95rem}
.clube-tabela s{text-decoration-thickness:1px}
.clube-economia,.clube-card .clube-economia{color:var(--ok);font-weight:700;font-size:.95rem}
.clube-card .btn{margin-top:auto;min-height:48px;width:100%;cursor:pointer;font:800 1rem/1.2 Inter,InterFallback,system-ui,sans-serif}
.clube-card .clube-card-estado{color:var(--gold2);font-weight:700;font-size:.95rem}
.clube-carregando,.clube-erro-geral{padding:22px;border:1px dashed var(--line);border-radius:var(--r-lg);color:var(--muted)}

/* Montador do Sob Medida — v29.245.0: a lista padrão do site (css/07-catalogo-lista.css) à
   esquerda e o plano se montando à direita, grudado no topo enquanto a lista rola. */
.clube-sm>h3{font-size:1.5rem;font-weight:800;letter-spacing:-.01em}
/* linhas auto 1fr: a linha 1 tem só a altura do controle de visitas, o resumo entra logo abaixo e
   gruda no topo (78px: a barra do site fica fixa no alto no desktop; --bar-h só vale no celular). */
.clube-sm-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);grid-template-rows:auto 1fr;gap:8px 28px;align-items:start;margin-top:6px}
.clube-sm-visitas{grid-column:2;grid-row:1}
.clube-sm-lista{grid-column:1;grid-row:1/3}
.clube-sm-resumo{grid-column:2;grid-row:2;position:sticky;top:78px;display:flex;flex-direction:column;gap:12px}
/* Legenda só para leitor de tela: em negrito acima do primeiro título de categoria lia como kicker. */
.clube-sm-legenda{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;margin:0!important}
.clube-sm-lista{position:relative}
.clube-sm .catalogo-lista .service-section{padding-top:6px!important}
.clube-sm .catalogo-lista .section-head h2{font-size:1.2rem!important;letter-spacing:.04em}
.clube-sm .catalogo-lista .section-head p{display:none}
/* Um momento de motion no card: a mensalidade assenta quando a conta chega. */
@keyframes clube-assenta{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.clube-cota .clube-preco strong{animation:clube-assenta .24s cubic-bezier(.22,1,.36,1) both}
@media (prefers-reduced-motion:reduce){.clube-cota .clube-preco strong{animation:none}}
#sm-dica:empty{display:none}
.clube-sm-escolha{color:var(--muted);line-height:1.45}
.clube-sm-escolha strong{color:var(--text)}
.clube-regra{margin:0!important;padding:10px 14px;border:1px solid rgba(var(--gold-rgb),.35);border-radius:var(--r-xs);background:rgba(var(--gold-rgb),.08);color:var(--text)!important;line-height:1.45;font-size:.95rem}
.clube-regra[hidden]{display:none}
.clube-sm-resumo .btn{margin-top:0}
.clube-sm-barra{display:none}
.clube-visitas legend{font-weight:700;margin:0 0 8px;padding:0;color:var(--text)}
.clube-visitas{border:0;padding:0;margin:0 0 14px}
.clube-seg{display:flex;gap:8px}
.clube-seg label{flex:1}
.clube-seg input{position:absolute;opacity:0;pointer-events:none}
.clube-seg span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--edge-2);border-radius:var(--r-sm);font-weight:800;cursor:pointer}
.clube-seg input:checked+span{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--ink);border-color:transparent}
.clube-seg input:focus-visible+span{outline:2px solid var(--gold2);outline-offset:2px}
.clube-cota{border:1px solid var(--line);border-radius:var(--r-md);padding:16px;background:rgba(var(--black-rgb),.3);display:flex;flex-direction:column;gap:6px}
.clube-cota .clube-erro{margin:0}
.clube-dica{border:1px solid rgba(var(--gold-rgb),.35);padding:10px 14px;background:rgba(var(--gold-rgb),.08);border-radius:var(--r-xs);color:var(--text)!important}
.clube-dica button{margin-top:8px;display:block}

/* Botões auxiliares */
.clube-btn-link{background:none;border:0;padding:0;color:var(--gold2);font:700 1rem/1.3 Inter,InterFallback,system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}
.clube button:disabled,.clube .btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;transform:none}

/* Formulário de assinatura */
.clube-form{background:rgba(14,14,14,.96);border:1px solid var(--gold-a28);border-radius:var(--r-lg);padding:clamp(18px,4vw,36px);box-shadow:var(--sh-2);margin-top:22px}
.clube-form[hidden]{display:none}
.clube-etapa-prog{color:var(--gold2);font-weight:700;font-size:.95rem;margin:0 0 4px}
.clube-passo[hidden]{display:none}
.clube-campo{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;max-width:30em}
.clube-campo>span{font-weight:700}
.clube-campo small{color:var(--muted);font-size:.9rem}
.clube input[type=text],.clube input[type=tel],.clube input[type=email],.clube select,.clube textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--edge-2);background:var(--surface-1);color:var(--text);font:400 1rem/1.4 Inter,InterFallback,system-ui,sans-serif}
.clube textarea{min-height:88px;resize:vertical}
.clube input:focus-visible,.clube select:focus-visible,.clube textarea:focus-visible{outline:2px solid var(--gold2);outline-offset:1px}
.clube input[aria-invalid=true]{border-color:var(--danger)}
.clube-codigo{letter-spacing:.3em;font-variant-numeric:tabular-nums;max-width:12em}
.clube-acoes{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.clube-acoes .btn{min-height:48px;cursor:pointer;font:800 1rem/1.2 Inter,InterFallback,system-ui,sans-serif}
.clube-erro{color:var(--danger);font-weight:600;margin:10px 0 0}
.clube-ok{color:var(--ok);font-weight:600;margin:10px 0 0}
.clube-msg:empty{display:none}
.clube-dias{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.clube-dias button{flex:1;min-width:88px;min-height:48px;border:1px solid var(--edge-2);border-radius:var(--r-sm);background:transparent;color:var(--text);font:800 1rem/1 Inter,InterFallback,system-ui,sans-serif;cursor:pointer}
.clube-dias button[aria-pressed=true]{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--ink);border-color:transparent}

/* Resumo do contrato e texto do contrato: corpo mínimo 16px */
.clube-resumo{font-size:1rem;line-height:1.6;border:1px solid var(--edge-2);border-radius:var(--r-md);padding:clamp(14px,3vw,24px);background:var(--surface-2)}
.clube-resumo h3{font-size:1.15rem;margin:18px 0 6px}
.clube-resumo h3:first-child{margin-top:0}
.clube-resumo dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0}
.clube-resumo dt{color:var(--muted)}
.clube-resumo dd{margin:0}
.clube-resumo ul{padding-left:1.2em;margin:6px 0}
.clube-resumo li{margin:4px 0}
.clube-destaque{border:2px solid var(--gold);border-radius:var(--r-md);padding:14px 16px;background:rgba(var(--gold-rgb),.1);margin:16px 0}
.clube-destaque h3{color:var(--gold2)}
.clube-destaque li{font-weight:700;color:var(--text)}
.clube-aceites{display:flex;flex-direction:column;gap:10px;margin:18px 0 0}
.clube-aceite{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--edge-2);border-radius:var(--r-sm);cursor:pointer;font-size:1rem;line-height:1.5}
.clube-aceite input{width:22px;height:22px;margin-top:2px;accent-color:var(--gold);flex:none}
.clube-aceite:has(input:checked){border-color:var(--gold-a55)}

/* Regras e FAQ */
.clube-regras{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:0;margin:22px 0 0;list-style:none}
.clube-regras li{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;color:var(--muted);max-width:none}
.clube-regras li strong{display:block;color:var(--text);margin-bottom:4px}
.clube-faq details{border-bottom:1px solid var(--edge-2);max-width:48em}
.clube-faq summary{cursor:pointer;min-height:48px;display:flex;align-items:center;padding:12px 0;font-weight:700;font-size:1.05rem;list-style:none}
.clube-faq summary::-webkit-details-marker{display:none}
.clube-faq summary::after{content:'+';margin-left:auto;padding-left:16px;color:var(--gold2);font-size:1.4rem}
.clube-faq details[open] summary::after{content:'−'}
.clube-faq details p{color:var(--muted);margin:0 0 16px}

/* Contrato completo */
.clube-contrato{width:min(860px,calc(100% - 32px))}
.clube-contrato-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted);margin:0 0 18px}
.clube-contrato-texto{font-size:1.0625rem;line-height:1.7}
.clube-contrato-texto h2{font-family:Inter,InterFallback,system-ui,sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:.02em;line-height:1.35;margin:34px 0 10px;color:var(--gold2)}
.clube-contrato-texto p{max-width:40em;margin:0 0 12px}
.clube-contrato-texto strong{color:var(--white)}
.clausula-num{color:var(--gold2)}
.clausula-destaque{border:1px solid rgba(var(--gold-rgb),.35);border-radius:var(--r-xs);padding:10px 14px;background:rgba(var(--gold-rgb),.07)}
.clube-hash{font-family:ui-monospace,Consolas,monospace;font-size:.9rem;word-break:break-all;color:var(--grey-1);background:var(--surface-1);border:1px solid var(--edge);border-radius:var(--r-xs);padding:10px 12px;display:block;margin-top:6px}
.clube-contrato-acoes{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 8px}
.clube-contrato-acoes .btn{min-height:48px;cursor:pointer;font:800 1rem/1.2 Inter,InterFallback,system-ui,sans-serif}

/* Minha assinatura */
.clube-minha{width:min(820px,calc(100% - 32px))}
.clube-painel{display:grid;gap:14px;margin-top:18px}
.clube-bloco{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.clube-bloco>p{color:var(--muted);margin:0 0 8px}
.clube-status{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:var(--r-pill);font-weight:800;font-size:.95rem;border:1px solid var(--edge-2)}
.clube-status--ativa{color:var(--ok);border-color:rgba(126,226,170,.45)}
.clube-status--aguardando_pagamento,.clube-status--atrasada{color:var(--gold2);border-color:var(--gold-a55)}
.clube-status--cancelada,.clube-status--arrependida,.clube-status--expirada,.clube-status--encerrada{color:var(--grey-2)}
.clube-medidor{height:10px;border-radius:var(--r-pill);background:var(--surface-4);overflow:hidden;margin:10px 0 6px}
.clube-medidor span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:inherit}
.clube-lista{list-style:none;padding:0;margin:8px 0 0}
.clube-lista li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 0;border-top:1px solid var(--edge);max-width:none}
.clube-selo{font-size:.9rem;font-weight:700;padding:2px 10px;border-radius:var(--r-pill);border:1px solid var(--edge-2);color:var(--muted)}
.clube-selo--coberto{color:var(--ok);border-color:rgba(126,226,170,.45)}

@media (max-width:760px){
  .clube{padding-top:18px}
  /* Sob Medida no celular: visitas, depois a lista, depois o resumo; barra grudada embaixo com a
     mensalidade e o Assinar enquanto a lista rola. */
  .clube-sm-grid{grid-template-columns:1fr;gap:12px}
  .clube-sm-visitas,.clube-sm-lista,.clube-sm-resumo{grid-column:1;grid-row:auto}
  .clube-sm-resumo{position:static}
  /* bottom deixa livre a barra de navegação fixa do site (--bar-h, css/02). */
  .clube-sm-barra{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;bottom:calc(var(--bar-h,64px) + 8px);z-index:5;margin:0 -14px -18px;padding:12px 14px;background:rgba(12,12,12,.96);border:1px solid var(--gold-a28);border-radius:var(--r-md)}
  .clube-sm-barra[hidden]{display:none}
  .clube-sm-barra strong{display:block;font-size:1.35rem;color:var(--gold2);font-variant-numeric:tabular-nums;line-height:1.1}
  .clube-sm-barra small{color:var(--muted);font-size:.85rem}
  .clube-sm-barra .btn{width:auto;min-width:140px;margin:0}
  .clube-regras,.clube-planos{grid-template-columns:1fr}
  .clube-resumo dl{grid-template-columns:1fr;gap:0}
  .clube-resumo dd{margin-bottom:8px}
  .clube-hero-actions .btn,.clube-acoes .btn{width:100%}
}

@media (max-width:420px){
  .clube-form{padding:16px 12px}
  .clube-resumo{padding:12px 10px}
  .clube-destaque{padding:12px 10px;margin:14px -4px}
  .clube-resumo ul,.clube-destaque ul{padding-left:1.05em}
  .clube-card{padding:18px 14px}
}

@media print{
  .page-bar,.bg-grain,.clube-contrato-acoes,.site-footer,.clube-nao-imprime{display:none!important}
  body{background:var(--white)!important;color:#000!important;padding:0!important}
  .clube{width:100%;padding:0}
  .clube-contrato-texto{font-size:11.5pt;line-height:1.5}
  .clube-contrato-texto h2,.clausula-num,.clube a{color:#000!important}
  .clube-contrato-texto strong{color:#000!important}
  .clausula-destaque{background:none;border:1px solid #000}
  .clube-hash{background:none;color:#000;border-color:var(--grey-3)}
  .clube h1{color:#000}
  .clube-contrato-meta{color:#333}
  .clube-contrato-texto h2{break-after:avoid}
  .clube-contrato-texto p{break-inside:avoid}
}
.clube-nota-final{margin-top:40px}
/* v29.266.0 — forma de pagamento e cartão (cobrança automática) na etapa 3 */
.clube-pagamento{border:0;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:10px}
.clube-pagamento legend{font-weight:700;margin-bottom:8px;padding:0}
.clube-pagamento .clube-aceite small{color:var(--muted);font-size:.9rem}
.clube-cartao{margin:16px 0 0;padding:16px;border:1px solid var(--edge-2);border-radius:var(--r-sm)}
.clube-cartao[hidden]{display:none}
.clube-cartao-linha{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:30em}
.clube-cartao-linha .clube-campo{margin-bottom:16px}
.clube-cartao .clube-nota{margin:0 0 14px;max-width:34em}
