/* Layout: painel de resumo fixo à esquerda, formulário em etapas à direita.
   Todos os valores vêm de tokens.css do design system da Coere. */
.coere-insc{
  --moss-green:#325A41; --golden-yellow:#EBCD50; --graphite-green:#141E19;
  --petroleum-green:#1E372D; --mist-gray:#F0F0F0; --white:#FFFFFF;
  --moss-600:#2A4D37; --moss-400:#4C7558; --moss-200:#A9C2B2; --moss-050:#E6EEE9;
  --yellow-600:#D4B43A; --yellow-200:#F6EBB4;
  --line:#D8D9D6;
  --surface-dark:#0D1F17; --surface-dark-deep:#081711; --surface-dark-soft:#17382A;
  --glass-line:rgba(240,240,240,.16);

  --bg:var(--mist-gray); --bg-raised:var(--white); --bg-sunken:#E7E8E5;
  --panel:var(--graphite-green); --panel-2:var(--petroleum-green);
  --fg1:var(--graphite-green); --fg2:#46554D; --fg3:#6E7B74;
  --fg-on-dark-1:var(--mist-gray); --fg-on-dark-2:#B4C0B9;
  --brand:var(--moss-green); --brand-hover:var(--moss-600); --brand-soft:var(--moss-050);
  --accent:var(--golden-yellow); --accent-ink:var(--graphite-green);
  --focus-ring:var(--golden-yellow);
  --danger:#8C3A2B; --danger-soft:#F6E7E3;

  --font-sans:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --w-light:300;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--w-black:900;
  --r-sm:6px;--r-md:10px;--r-lg:16px;--r-pill:999px;--r-card:32px;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;
  --shadow-sm:0 1px 2px rgba(20,30,25,.06);
  --shadow-md:0 6px 20px rgba(20,30,25,.08);
  --shadow-lg:0 18px 48px rgba(20,30,25,.12);
  --motion-fast:180ms;--motion-medium:280ms;--motion-reveal:520ms;
  --ease-out:cubic-bezier(.2,0,0,1);--ease-fluid:cubic-bezier(.16,1,.3,1);
}
@media (prefers-color-scheme:dark){.coere-insc:not([data-theme="light"] *){
  --bg:var(--surface-dark-deep); --bg-raised:var(--surface-dark); --bg-sunken:#061310;
  --panel:var(--surface-dark); --panel-2:var(--surface-dark-soft);
  --fg1:var(--mist-gray); --fg2:#B4C0B9; --fg3:#8A9A91;
  --line:var(--glass-line);
  --brand:var(--moss-400); --brand-hover:var(--moss-200); --brand-soft:rgba(76,117,88,.18);
  --danger:#E8A697; --danger-soft:rgba(140,58,43,.22);
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 20px rgba(0,0,0,.35);
  --shadow-lg:0 18px 48px rgba(0,0,0,.45);
  color-scheme:dark;
}}
[data-theme="dark"] .coere-insc{
  --bg:var(--surface-dark-deep); --bg-raised:var(--surface-dark); --bg-sunken:#061310;
  --panel:var(--surface-dark); --panel-2:var(--surface-dark-soft);
  --fg1:var(--mist-gray); --fg2:#B4C0B9; --fg3:#8A9A91;
  --line:var(--glass-line);
  --brand:var(--moss-400); --brand-hover:var(--moss-200); --brand-soft:rgba(76,117,88,.18);
  --danger:#E8A697; --danger-soft:rgba(140,58,43,.22);
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 20px rgba(0,0,0,.35);
  --shadow-lg:0 18px 48px rgba(0,0,0,.45);
  color-scheme:dark;
}

.coere-insc, .coere-insc *{box-sizing:border-box}
.coere-insc{background:var(--bg);color:var(--fg1);font-family:var(--font-sans);font-weight:var(--w-regular);-webkit-font-smoothing:antialiased}
.coere-insc .coere-wrap{width:min(1180px,100%);margin-inline:auto;padding-inline:20px;padding-block:28px 64px}

/* ---------- tipografia ---------- */
.coere-insc .coere-h1{font-weight:var(--w-bold);font-size:clamp(28px,3.4vw,42px);line-height:1.03;letter-spacing:-.025em;text-wrap:balance;margin:0}
.coere-insc .coere-h2{font-weight:var(--w-bold);font-size:clamp(22px,2.4vw,28px);line-height:1.08;letter-spacing:-.02em;margin:0}
.coere-insc .coere-h3{font-weight:var(--w-semibold);font-size:18px;line-height:1.2;letter-spacing:-.01em;margin:0}
.coere-insc .coere-eyebrow{font-weight:var(--w-semibold);font-size:12px;line-height:1;letter-spacing:.16em;text-transform:uppercase}
.coere-insc .coere-lead{font-size:17px;line-height:1.55;color:var(--fg2);margin:0}
.coere-insc .coere-body{font-size:15px;line-height:1.6;margin:0}
.coere-insc .coere-small{font-size:13.5px;line-height:1.5;color:var(--fg2);margin:0}
.coere-insc .coere-caption{font-weight:var(--w-medium);font-size:12px;line-height:1.45;color:var(--fg3);margin:0}
.coere-insc .coere-tnum{font-variant-numeric:tabular-nums}

/* ---------- cabeçalho ---------- */
.coere-insc .coere-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}
.coere-insc .coere-mark{display:block;height:30px;width:auto;color:var(--fg1)}
.coere-insc .coere-mark svg{height:100%;width:auto;display:block;fill:currentColor}
.coere-insc .coere-top .coere-eyebrow{color:var(--fg3);text-align:right}
@media (max-width:420px){.coere-top .coere-eyebrow{display:none}}

/* ---------- grade ---------- */
.coere-insc .coere-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:28px;align-items:start}
.coere-insc .coere-resumo-min{display:none}
@media (max-width:920px){
  .coere-insc .coere-grid{grid-template-columns:1fr;gap:18px}
  /* No celular o formulário vem primeiro. O painel inteiro desce para o fim, e no topo fica só a tira com data, local e preço. */
  .coere-insc .coere-resumo-min{display:grid;order:1}
  .coere-insc .coere-form{order:2}
  .coere-insc .coere-panel{order:3}
}

/* ---------- painel de resumo ---------- */
.coere-insc .coere-panel{position:sticky;top:20px;background:var(--panel);color:var(--fg-on-dark-1);
  border-radius:var(--r-card);padding:28px;overflow:hidden;box-shadow:var(--shadow-lg)}
@media (max-width:920px){.coere-panel{position:static}}
.coere-insc .coere-panel .coere-eyebrow{color:var(--accent)}
.coere-insc .coere-panel .coere-h2{color:var(--fg-on-dark-1);margin-top:12px}
.coere-insc .coere-panel-sub{color:var(--fg-on-dark-2);font-size:14px;line-height:1.5;margin:10px 0 0}
.coere-insc .coere-facts{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px}
.coere-insc .coere-facts li{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start}
.coere-insc .coere-facts svg{width:18px;height:18px;fill:var(--moss-200);margin-top:1px}
.coere-insc .coere-facts b{display:block;font-weight:var(--w-semibold);font-size:14.5px;color:var(--fg-on-dark-1)}
.coere-insc .coere-facts span{display:block;font-size:13px;color:var(--fg-on-dark-2);line-height:1.45}
/* tira compacta de resumo, só no celular */
.coere-insc .coere-resumo-min{background:var(--panel);color:var(--fg-on-dark-1);border-radius:var(--r-lg);
  padding:16px 18px;grid-template-columns:1fr auto;gap:10px 16px;align-items:center}
.coere-insc .coere-resumo-min .coere-quando{display:grid;gap:3px;min-width:0}
.coere-insc .coere-resumo-min b{font-weight:var(--w-semibold);font-size:15px;line-height:1.2}
.coere-insc .coere-resumo-min span{font-size:12.5px;color:var(--fg-on-dark-2);line-height:1.35}
.coere-insc .coere-resumo-min .coere-custo{text-align:right}
.coere-insc .coere-resumo-min .coere-custo b{font-size:20px;letter-spacing:-.02em}
@media (max-width:540px){
  .coere-insc .coere-resumo-min{grid-template-columns:1fr}
  .coere-insc .coere-resumo-min .coere-custo{display:flex;align-items:baseline;gap:9px;text-align:left;
    padding-top:12px;border-top:1px solid var(--glass-line)}
  .coere-insc .coere-resumo-min .coere-custo b{font-size:23px}
}

.coere-insc .coere-price{margin-top:24px;padding-top:22px;border-top:1px solid var(--glass-line);
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.coere-insc .coere-price .coere-val{font-weight:var(--w-bold);font-size:34px;line-height:1;letter-spacing:-.02em;color:var(--fg-on-dark-1)}
.coere-insc .coere-price .coere-lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-on-dark-2);font-weight:var(--w-semibold)}
.coere-insc .coere-seats{margin-top:16px}
.coere-insc .coere-seatbar{height:5px;border-radius:var(--r-pill);background:rgba(240,240,240,.14);overflow:hidden}
.coere-insc .coere-seatbar i{display:block;height:100%;background:var(--moss-200);border-radius:inherit;
  transition:width var(--motion-reveal) var(--ease-fluid)}
.coere-insc .coere-seats p{margin:9px 0 0;font-size:12.5px;color:var(--fg-on-dark-2)}

/* mapa */
.coere-insc .coere-map{position:relative;margin-top:24px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--glass-line);background:var(--panel-2)}
.coere-insc .coere-mapfig{display:block;width:100%;height:auto}
.coere-insc .coere-map-foot{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.coere-insc .coere-map-foot p{margin:0;font-size:12.5px;color:var(--fg-on-dark-2);line-height:1.4}
.coere-insc .coere-linkout{display:inline-flex;align-items:center;gap:6px;color:var(--fg-on-dark-1);min-height:44px;
  font-size:13px;font-weight:var(--w-semibold);text-decoration:none;text-underline-offset:6px;
  text-decoration-line:underline;text-decoration-color:var(--moss-200)}
.coere-insc .coere-linkout svg{width:14px;height:14px;fill:currentColor;transition:transform var(--motion-fast) var(--ease-out)}
.coere-insc .coere-linkout:hover svg{transform:translateX(2px)}

/* ---------- formulário ---------- */
.coere-insc .coere-form{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--r-card);
  padding:clamp(22px,3vw,40px);box-shadow:var(--shadow-md);min-width:0}
.coere-insc .coere-steps{display:flex;gap:6px;margin-bottom:26px}
.coere-insc .coere-steps i{flex:1;height:4px;border-radius:var(--r-pill);background:var(--bg-sunken);overflow:hidden;position:relative}
.coere-insc .coere-steps i::after{content:"";position:absolute;inset:0;width:0;background:var(--brand);border-radius:inherit;
  transition:width var(--motion-medium) var(--ease-out)}
.coere-insc .coere-steps i.coere-done::after{width:100%}
.coere-insc .coere-steps i.coere-now::after{width:100%;background:var(--accent)}
.coere-insc .coere-stepnum{color:var(--fg3);margin-bottom:10px}
.coere-insc .coere-pane{display:grid;gap:22px;animation:rise var(--motion-reveal) var(--ease-fluid) both}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.coere-insc .coere-pane[hidden]{display:none}
.coere-insc .coere-pane-head{display:grid;gap:8px}

.coere-insc .coere-field{display:grid;gap:7px;min-width:0}
.coere-insc .coere-field label{font-weight:var(--w-semibold);font-size:13px;color:var(--fg2)}
.coere-insc .coere-field .coere-req{color:var(--brand)}
.coere-insc .coere-field input, .coere-insc .coere-field select, .coere-insc .coere-field textarea{
  font-family:var(--font-sans);font-size:15px;color:var(--fg1);background:var(--bg-raised);
  border:1px solid var(--line);border-radius:var(--r-md);padding:13px 15px;min-height:50px;width:100%;
  transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}
.coere-insc .coere-field textarea{min-height:104px;resize:vertical;line-height:1.5}
.coere-insc .coere-field select{appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--fg3) 50%),linear-gradient(135deg,var(--fg3) 50%,transparent 50%);
  background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.coere-insc .coere-field input:focus, .coere-insc .coere-field select:focus, .coere-insc .coere-field textarea:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.coere-insc .coere-field input::placeholder, .coere-insc .coere-field textarea::placeholder{color:var(--fg3)}
.coere-insc .coere-field.coere-bad input, .coere-insc .coere-field.coere-bad select, .coere-insc .coere-field.coere-bad textarea{border-color:var(--danger)}
.coere-insc .coere-err{font-size:12.5px;color:var(--danger);font-weight:var(--w-medium)}
.coere-insc .coere-err[hidden]{display:none}
.coere-insc .coere-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){
  .coere-insc .coere-two{grid-template-columns:1fr}
  /* 16px é o limiar abaixo do qual o Safari do iPhone dá zoom ao focar o campo. */
  .coere-insc .coere-field input, .coere-insc .coere-field select, .coere-insc .coere-field textarea{font-size:16px}
  .coere-insc .coere-field select{background-position:calc(100% - 20px) 23px,calc(100% - 15px) 23px}
}

/* escolhas em cartão */
.coere-insc .coere-choices{display:grid;gap:10px}
.coere-insc .coere-choice{display:grid;grid-template-columns:22px 1fr;gap:13px;align-items:start;cursor:pointer;
  border:1px solid var(--line);border-radius:var(--r-lg);padding:15px 17px;background:var(--bg-raised);
  transition:border-color var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out)}
.coere-insc .coere-choice:hover{border-color:var(--brand)}
.coere-insc .coere-choice input{position:absolute;opacity:0;pointer-events:none}
.coere-insc .coere-dot{width:20px;height:20px;border-radius:var(--r-pill);border:1.5px solid var(--line);
  margin-top:1px;display:grid;place-items:center;transition:border-color var(--motion-fast) var(--ease-out)}
.coere-insc .coere-dot::after{content:"";width:10px;height:10px;border-radius:var(--r-pill);background:var(--brand);
  transform:scale(0);transition:transform var(--motion-fast) var(--ease-out)}
.coere-insc .coere-choice input:checked~.coere-dot{border-color:var(--brand)}
.coere-insc .coere-choice input:checked~.coere-dot::after{transform:scale(1)}
.coere-insc .coere-choice:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.coere-insc .coere-choice input:focus-visible~.coere-dot{outline:3px solid var(--focus-ring);outline-offset:2px}
.coere-insc .coere-choice b{display:block;font-weight:var(--w-semibold);font-size:14.5px}
.coere-insc .coere-choice span{display:block;font-size:13px;color:var(--fg2);line-height:1.45;margin-top:3px}

.coere-insc .coere-check{display:grid;grid-template-columns:22px 1fr;gap:13px;align-items:start;cursor:pointer;
  min-height:44px;padding-block:4px}
.coere-insc .coere-check input{position:absolute;opacity:0;pointer-events:none}
.coere-insc .coere-box{width:20px;height:20px;border-radius:var(--r-sm);border:1.5px solid var(--line);
  margin-top:1px;display:grid;place-items:center;transition:all var(--motion-fast) var(--ease-out)}
.coere-insc .coere-box svg{width:13px;height:13px;fill:var(--white);opacity:0;transition:opacity var(--motion-fast) var(--ease-out)}
.coere-insc .coere-check input:checked~.coere-box{background:var(--brand);border-color:var(--brand)}
.coere-insc .coere-check input:checked~.coere-box svg{opacity:1}
.coere-insc .coere-check input:focus-visible~.coere-box{outline:3px solid var(--focus-ring);outline-offset:2px}
.coere-insc .coere-check p{margin:0;font-size:13.5px;line-height:1.5;color:var(--fg2)}
.coere-insc .coere-check a{color:var(--brand);font-weight:var(--w-semibold)}

/* botões */
.coere-insc .coere-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;
  padding:14px 26px;border:1.5px solid transparent;border-radius:var(--r-pill);
  font-family:var(--font-sans);font-size:15px;font-weight:var(--w-semibold);line-height:1;
  cursor:pointer;text-decoration:none;
  transition:background var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),
             border-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}
.coere-insc .coere-btn svg{width:17px;height:17px;fill:currentColor;flex:0 0 auto;transition:transform var(--motion-fast) var(--ease-out)}
.coere-insc .coere-btn:hover svg.coere-fwd{transform:translateX(3px)}
.coere-insc .coere-btn:active{transform:scale(.98)}
.coere-insc .coere-btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.coere-insc .coere-btn.coere-primary{background:var(--brand);color:var(--mist-gray)}
.coere-insc .coere-btn.coere-primary:hover{background:var(--brand-hover)}
.coere-insc .coere-btn.coere-ghost{background:transparent;border-color:var(--line);color:var(--fg2)}
.coere-insc .coere-btn.coere-ghost:hover{border-color:var(--brand);color:var(--brand)}
.coere-insc .coere-btn[disabled]{opacity:.45;cursor:not-allowed}
.coere-insc .coere-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:4px;padding-top:22px;border-top:1px solid var(--line)}
.coere-insc .coere-nav .coere-sp{flex:1}
/* No celular o botão que avança ocupa a linha inteira e fica em primeiro lugar. */
@media (max-width:560px){
  .coere-insc .coere-nav{flex-direction:column-reverse;align-items:stretch}
  .coere-insc .coere-nav .coere-sp{display:none}
  .coere-insc .coere-nav .coere-btn{width:100%}
}

/* notas e avisos */
.coere-insc .coere-note{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;
  background:var(--bg-sunken);border-radius:var(--r-lg);padding:15px 17px}
.coere-insc .coere-note svg{width:18px;height:18px;fill:var(--fg3);margin-top:1px}
.coere-insc .coere-note p{margin:0;font-size:13.5px;line-height:1.5;color:var(--fg2)}
.coere-insc .coere-note.coere-stop{background:var(--danger-soft)}
.coere-insc .coere-note.coere-stop svg{fill:var(--danger)}
.coere-insc .coere-note.coere-stop p{color:var(--fg1)}
.coere-insc .coere-note[hidden]{display:none}

/* resumo do pedido */
.coere-insc .coere-order{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.coere-insc .coere-order-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--line)}
.coere-insc .coere-order-row:last-child{border-bottom:0}
.coere-insc .coere-order-row.coere-total{background:var(--bg-sunken)}
.coere-insc .coere-order-row dt{margin:0;font-size:14px;color:var(--fg2)}
.coere-insc .coere-order-row dd{margin:0;font-size:14.5px;font-weight:var(--w-semibold);text-align:right}
.coere-insc .coere-order-row.coere-total dd{font-size:22px;letter-spacing:-.02em}
.coere-insc .coere-order dl{margin:0}
@media (max-width:480px){
  .coere-insc .coere-order-row{flex-direction:column;align-items:flex-start;gap:4px}
  .coere-insc .coere-order-row dd{text-align:left}
  .coere-insc .coere-order-row.coere-total{flex-direction:row;align-items:baseline;justify-content:space-between}
}

/* pagamento */
.coere-insc .coere-pay{display:grid;gap:10px}
.coere-insc .coere-paybox{border:1px dashed var(--line);border-radius:var(--r-lg);padding:20px;display:grid;gap:14px;justify-items:start}
.coere-insc .coere-demo{display:inline-flex;align-items:center;gap:7px;background:var(--yellow-200);color:var(--accent-ink);
  border-radius:var(--r-pill);padding:7px 14px;font-size:11.5px;font-weight:var(--w-semibold);letter-spacing:.06em;text-transform:uppercase}

/* confirmação */
.coere-insc .coere-done-mark{width:52px;height:52px;border-radius:var(--r-pill);background:var(--brand-soft);
  display:grid;place-items:center}
.coere-insc .coere-done-mark svg{width:26px;height:26px;fill:var(--brand)}
.coere-insc .coere-kit{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.coere-insc .coere-kit li{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:start;font-size:14.5px;line-height:1.5}
.coere-insc .coere-kit svg{width:16px;height:16px;fill:var(--brand);margin-top:3px}
.coere-insc .coere-actions{display:flex;flex-wrap:wrap;gap:10px}

.coere-insc .coere-spin{width:16px;height:16px;border-radius:var(--r-pill);border:2px solid var(--moss-200);
  border-top-color:var(--brand);animation:sp .7s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.coere-insc .coere-pending{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--fg2);font-weight:var(--w-medium)}
.coere-insc .coere-pending[hidden]{display:none}

.coere-insc .coere-foot{margin-top:28px;text-align:center}
.coere-insc .coere-foot p{margin:0;font-size:12.5px;color:var(--fg3);line-height:1.6}

/* --- acréscimos do plugin: Pix, brick e avisos --- */
.coere-insc .coere-pay-aviso{font-size:13.5px;color:var(--fg2);font-weight:var(--w-medium)}
.coere-insc .coere-pay-aviso.ruim{color:var(--danger)}
.coere-insc #coere-brick{min-height:120px}
.coere-insc .coere-pix{display:grid;gap:14px;justify-items:start;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:20px;margin-top:4px}
.coere-insc .coere-pix img{width:min(190px,60vw);height:auto;aspect-ratio:1;border-radius:var(--r-md);background:var(--white);padding:8px}
.coere-insc .coere-pix input{font-family:var(--font-mono);font-size:12px;width:100%;
  border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px;color:var(--fg2);background:var(--bg-sunken)}
.coere-insc [hidden]{display:none !important}

/* --- integração com o tema coere ---
   O tema desenha um cabeçalho alto em toda página interna (.post-hero) com o
   título do post. Na inscrição isso empurra o formulário quase 530px para
   baixo e repete um título que o próprio formulário já traz. A barra interna
   do formulário (logotipo + eyebrow) também sai: o menu do tema, logo acima,
   já identifica a marca. */
body.coere-pagina-inscricao .post-hero{display:none}
body.coere-pagina-inscricao .coere-insc .coere-top{display:none}
body.coere-pagina-inscricao .coere-insc .coere-wrap{padding-block:clamp(24px,4vw,48px) 64px}

/* ---------- lista de espera ----------
   Bloco solto, para colar dentro de uma página que já tem o layout do tema.
   Por isso ele não usa .coere-wrap nem painel: só uma caixa com largura
   própria, que se comporta bem dentro de qualquer coluna. */
/* A lista vai colada na página de workshops, que é escura. Então ela carrega
   os próprios tokens escuros, sem depender de nenhuma classe no <body>. */
.coere-insc.coere-lista{
  background:none;padding:0;margin-block:clamp(32px,5vw,56px);
  --bg:transparent; --bg-raised:var(--surface-dark); --bg-sunken:#061310;
  --panel:var(--surface-dark-soft); --panel-2:var(--surface-dark);
  --fg1:var(--mist-gray); --fg2:#B4C0B9; --fg3:#8A9A91;
  --line:var(--glass-line); --line-control:var(--moss-400);
  --brand:var(--moss-400); --brand-hover:var(--moss-200); --brand-soft:rgba(76,117,88,.18);
  --danger:#E8A697; --danger-soft:rgba(140,58,43,.22);
  color-scheme:dark
}
.coere-insc.coere-lista .coere-field input{border-color:var(--line-control)}
.coere-insc.coere-lista .coere-field input:focus{border-color:var(--moss-200)}
.coere-insc .coere-lista-caixa{
  width:min(760px,100%);margin-inline:auto;
  background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(24px,4vw,40px);box-shadow:var(--shadow-md);
  display:grid;gap:var(--sp-5)
}
.coere-insc .coere-lista-topo{display:grid;gap:var(--sp-3)}

.coere-insc .coere-tag{
  display:inline-flex;align-items:center;gap:7px;width:fit-content;
  padding:6px 13px;border-radius:var(--r-pill);
  background:var(--brand-soft);color:var(--brand);
  font-weight:var(--w-semibold);font-size:12px;letter-spacing:.02em
}
.coere-insc .coere-tag svg{width:14px;height:14px;fill:currentColor}

.coere-insc .coere-lista-oferta{
  display:grid;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);
  background:var(--panel);color:var(--fg-on-dark-1);border-radius:var(--r-md)
}
.coere-insc .coere-oferta-preco{
  margin:0;font-weight:var(--w-bold);font-size:clamp(30px,4vw,40px);
  line-height:1;letter-spacing:-.03em;color:var(--accent)
}
.coere-insc .coere-oferta-texto{margin:0;font-size:15px;line-height:1.5;color:var(--fg-on-dark-2)}
.coere-insc .coere-lista-oferta .coere-caption{color:var(--fg-on-dark-2);opacity:.85}

.coere-insc .coere-lista-form{display:grid;gap:var(--sp-4)}
.coere-insc .coere-lista-acao{display:grid;gap:var(--sp-2);justify-items:start}
.coere-insc .coere-opt{font-weight:var(--w-regular);color:var(--fg3)}

/* Armadilha para robô: fora da tela, mas não display:none — alguns
   preenchedores automáticos ignoram campo escondido desse jeito. */
.coere-insc .coere-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.coere-insc .coere-erro{margin:0;font-weight:var(--w-medium);font-size:13px;color:var(--danger)}
.coere-insc .coere-erro-geral{
  padding:var(--sp-3) var(--sp-4);background:var(--danger-soft);border-radius:var(--r-sm)
}

.coere-insc .coere-lista-pronto{display:grid;gap:var(--sp-3);justify-items:start}
.coere-insc .coere-lista-pronto p{margin:0;font-size:15px;line-height:1.55;color:var(--fg2)}

@media (max-width:560px){
  .coere-insc .coere-lista-caixa{padding:var(--sp-5) var(--sp-4);border-radius:var(--r-md)}
  .coere-insc .coere-lista-acao .coere-btn{width:100%}
}

/* --- 0.8.1 · continuidade com a landing do Workshop 1 ---
   A landing /workshops é sempre escura. A página de inscrição passa a ser
   também, em qualquer preferência do sistema: campo escuro de ponta a ponta
   (gradiente de página escura do Design System), cartões em superfície escura,
   tinta clara. Só visual: textos, campos, IDs e comportamento não mudam. */
body.coere-pagina-inscricao{background:var(--graphite-green)}
body.coere-pagina-inscricao .post-section{
  padding-block:clamp(104px,9vw,128px) clamp(48px,6vw,80px);
  background:
    radial-gradient(ellipse at 80% 8%, rgba(50,90,65,.28), transparent 35%),
    radial-gradient(ellipse at 12% 76%, rgba(235,205,80,.045), transparent 28%),
    linear-gradient(145deg, #081711 0%, #10251B 48%, #17382A 100%)}
body.coere-pagina-inscricao .coere-insc{
  --bg:transparent; --bg-raised:var(--surface-dark); --bg-sunken:#061310;
  --panel:var(--surface-dark); --panel-2:var(--surface-dark-soft);
  --fg1:var(--mist-gray); --fg2:#B4C0B9; --fg3:#8A9A91;
  --line:var(--glass-line);
  /* fio de controle: moss-400 sobre superfície escura = 3,26:1 (mínimo 3:1 para borda de campo) */
  --line-control:var(--moss-400);
  --brand:var(--moss-400); --brand-hover:var(--moss-200); --brand-soft:rgba(76,117,88,.18);
  --danger:#E8A697; --danger-soft:rgba(140,58,43,.22);
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 20px rgba(0,0,0,.35);
  --shadow-lg:0 18px 48px rgba(0,0,0,.45);
  color-scheme:dark}
body.coere-pagina-inscricao .coere-insc .coere-wrap{padding-block:0}
body.coere-pagina-inscricao .coere-insc .coere-foot{margin-top:clamp(32px,4vw,48px)}

/* título da etapa: o tema aplicava a cor e a margem de .post-content h2 */
body.coere-pagina-inscricao .coere-insc .coere-h1{margin:0;color:var(--fg1)}
/* asterisco obrigatório: moss-200 (9:1) no lugar de moss-400 (3,3:1) */
body.coere-pagina-inscricao .coere-insc .coere-field .coere-req{color:var(--moss-200)}

/* bordas de campo e de escolha com contraste de controle */
body.coere-pagina-inscricao .coere-insc .coere-field input,
body.coere-pagina-inscricao .coere-insc .coere-field select,
body.coere-pagina-inscricao .coere-insc .coere-field textarea,
body.coere-pagina-inscricao .coere-insc .coere-choice,
body.coere-pagina-inscricao .coere-insc .coere-dot,
body.coere-pagina-inscricao .coere-insc .coere-box{border-color:var(--line-control)}
body.coere-pagina-inscricao .coere-insc .coere-field input:focus,
body.coere-pagina-inscricao .coere-insc .coere-field select:focus,
body.coere-pagina-inscricao .coere-insc .coere-field textarea:focus,
body.coere-pagina-inscricao .coere-insc .coere-choice:hover,
body.coere-pagina-inscricao .coere-insc .coere-choice:has(input:checked){border-color:var(--moss-200)}

/* indicador das cinco etapas. O JS marca os segmentos com "done" e "now";
   o CSS original esperava "coere-done" e "coere-now" e nada acendia.
   Trilho em fio de vidro; etapas concluídas em musgo; amarelo só na etapa ativa. */
body.coere-pagina-inscricao .coere-insc .coere-steps i{background:var(--glass-line)}
body.coere-pagina-inscricao .coere-insc .coere-steps i.done::after{width:100%;background:var(--moss-400)}
body.coere-pagina-inscricao .coere-insc .coere-steps i.now::after{width:60%;background:var(--accent)}

/* celular: E-mail e WhatsApp em sequência. A regra original (.coere-two em
   max-width:560px) perdia para .coere-insc .coere-two e os campos ficavam
   lado a lado, com o texto cortado. */
@media (max-width:560px){
  body.coere-pagina-inscricao .coere-insc .coere-two{grid-template-columns:1fr}
}

/* --- 0.8.3 · marcador do radio ---
   ".coere-insc .coere-choice span" (descrição da opção) também pega o círculo,
   que é um <span class="coere-dot">, e ganha por especificidade: o círculo virava
   display:block e o ponto interno (::after) ficava sem tamanho. Vale nos dois temas. */
.coere-insc .coere-choice .coere-dot{display:grid;place-items:center;margin-top:1px}
.coere-insc .coere-choice .coere-dot::after{display:block}
/* marcado: ponto e anel em moss-200 (9:1 sobre a superfície escura), o mesmo tom
   que já marca a borda da opção escolhida */
body.coere-pagina-inscricao .coere-insc .coere-choice input:checked~.coere-dot{border-color:var(--moss-200)}
body.coere-pagina-inscricao .coere-insc .coere-choice .coere-dot::after{background:var(--moss-200)}

/* --- 1.0.1 · contador da reserva ---
   Fica visível enquanto a vaga está segurada. Abaixo de dois minutos ganha a
   cor de alerta, sem mudar de posição: nada pior que um aviso que pula na tela
   bem na hora em que a pessoa está digitando o cartão. */
.coere-insc .coere-prazo{
  display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;
  margin:0 0 18px;padding:14px 16px;border-radius:var(--r-md);
  background:var(--brand-soft);border:1px solid var(--brand);
  transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)
}
.coere-insc .coere-prazo svg{width:20px;height:20px;fill:var(--brand);margin-top:1px}
.coere-insc .coere-prazo b{display:block;font-weight:var(--w-semibold);font-size:15px;line-height:1.35;color:var(--fg1)}
.coere-insc .coere-prazo span{display:block;margin-top:3px;font-size:13px;line-height:1.5;color:var(--fg2)}
.coere-insc .coere-prazo.urgente{background:var(--danger-soft);border-color:var(--danger)}
.coere-insc .coere-prazo.urgente svg{fill:var(--danger)}
.coere-insc .coere-prazo.urgente b{color:var(--danger)}

/* Reserva vencida: ocupa o lugar do formulário de pagamento. */
.coere-insc .coere-expirou{
  display:grid;gap:12px;justify-items:start;
  padding:20px;border-radius:var(--r-md);
  background:var(--bg-sunken);border:1px solid var(--line)
}
.coere-insc .coere-expirou-mark{
  width:40px;height:40px;border-radius:var(--r-pill);display:grid;place-items:center;
  background:var(--danger-soft)
}
.coere-insc .coere-expirou-mark svg{width:20px;height:20px;fill:var(--danger)}
.coere-insc .coere-expirou b{font-weight:var(--w-semibold);font-size:17px;color:var(--fg1)}
.coere-insc .coere-expirou span{display:block;font-size:14px;line-height:1.55;color:var(--fg2);max-width:52ch}

@media (max-width:560px){
  .coere-insc .coere-prazo{padding:12px 14px}
  .coere-insc .coere-expirou .coere-btn{width:100%}
}

/* --- 1.1.0 · mapa de verdade ---
   O esquema desenhado à mão vira o estado de repouso: ele ocupa o espaço e
   segura a altura enquanto o Leaflet não chegou. Quando o mapa carrega, ele
   cobre o esquema. Se não carregar, o esquema simplesmente fica. */
.coere-insc .coere-map-tela{
  position:absolute;inset:0;z-index:1;
  opacity:0;pointer-events:none;
  transition:opacity var(--motion-medium) var(--ease-out);
  background:var(--surface-dark-deep)
}
.coere-insc .coere-map.tem-mapa .coere-map-tela{opacity:1;pointer-events:auto}
.coere-insc .coere-map.tem-mapa .coere-mapfig{visibility:hidden}

/* O marcador é desenhado aqui, para ficar na cor da marca em vez do pino azul. */
.coere-insc .coere-pino{display:grid;place-items:center}
.coere-insc .coere-pino-anel,
.coere-insc .coere-pino-bola{grid-area:1/1;border-radius:var(--r-pill);display:block}
.coere-insc .coere-pino-anel{
  width:28px;height:28px;border:1px solid var(--accent);opacity:.5;
  animation:coere-pulso 2.4s var(--ease-fluid) infinite
}
.coere-insc .coere-pino-bola{
  width:12px;height:12px;background:var(--accent);
  box-shadow:0 0 0 3px rgba(13,31,23,.55)
}
@keyframes coere-pulso{
  0%,100%{transform:scale(1);opacity:.5}
  50%{transform:scale(1.25);opacity:.18}
}
@media (prefers-reduced-motion:reduce){
  .coere-insc .coere-pino-anel{animation:none}
}

/* Os controles do Leaflet nascem claros; aqui eles entram no campo escuro. */
.coere-insc .coere-map .leaflet-container{background:var(--surface-dark-deep);font-family:var(--font-sans)}
.coere-insc .coere-map .leaflet-bar a{
  background:var(--surface-dark);color:var(--fg-on-dark-1);
  border-bottom-color:var(--glass-line)
}
.coere-insc .coere-map .leaflet-bar a:hover{background:var(--surface-dark-soft);color:var(--fg-on-dark-1)}
.coere-insc .coere-map .leaflet-control-attribution{
  background:rgba(8,23,17,.82);color:var(--fg-on-dark-2);
  font-size:10.5px;padding:2px 7px
}
.coere-insc .coere-map .leaflet-control-attribution a{color:var(--moss-200)}

/* --- 1.2.0 · retomada, rascunho e trava do aceite --- */

.coere-insc .coere-retomada{
  margin:0 0 18px;padding:14px 16px;border-radius:var(--r-md);
  background:var(--brand-soft);border:1px solid var(--brand);
  font-size:14px;line-height:1.55;color:var(--fg1)
}

.coere-insc .coere-rascunho{
  display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:center;
  margin:0 0 18px;padding:13px 16px;border-radius:var(--r-md);
  background:var(--bg-sunken);border:1px solid var(--line)
}
.coere-insc .coere-rascunho svg{width:20px;height:20px;fill:var(--fg3)}
.coere-insc .coere-rascunho b{display:block;font-weight:var(--w-semibold);font-size:14px;color:var(--fg1)}
.coere-insc .coere-rascunho span{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;color:var(--fg3)}
.coere-insc .coere-rascunho .coere-btn{min-height:38px;padding-inline:14px;font-size:13px}

/* Pagamento travado enquanto os aceites não estiverem marcados. O bloco fica
   no lugar, apagado, para a pessoa ver que existe e o que falta para liberar. */
.coere-insc .coere-pay.travado #coere-brick,
.coere-insc .coere-pay.travado #coere-brick-carregando{display:none}
.coere-insc .coere-pay.travado::after{
  content:"";display:block;height:92px;border-radius:var(--r-md);
  border:1px dashed var(--line);background:var(--bg-sunken)
}

@media (max-width:560px){
  .coere-insc .coere-rascunho{grid-template-columns:20px 1fr;row-gap:10px}
  .coere-insc .coere-rascunho .coere-btn{grid-column:1/-1;width:100%}
}

/* --- 1.4.0 · página dedicada do questionário --- */
.coere-insc.coere-quest{background:var(--bg);padding-block:clamp(32px,6vw,72px)}
.coere-insc .coere-quest-caixa{
  width:min(680px,100%);margin-inline:auto;padding-inline:20px;
  display:grid;gap:var(--sp-5)
}
.coere-insc .coere-quest-caixa form{display:grid;gap:var(--sp-5)}
.coere-insc .coere-quest-caixa #coere-q-recusado,
.coere-insc .coere-quest-caixa #coere-q-pronto{display:grid;gap:var(--sp-3);justify-items:start}

/* --- 1.5.0 · cupom --- */
.coere-insc .coere-cupom{display:grid;gap:7px;margin:0 0 18px}
.coere-insc .coere-cupom label{font-weight:var(--w-semibold);font-size:13px;color:var(--fg2)}
.coere-insc .coere-cupom-linha{display:flex;gap:8px;align-items:stretch}
.coere-insc .coere-cupom-linha input{
  flex:1 1 auto;min-width:0;text-transform:uppercase;letter-spacing:.06em;
  font-weight:var(--w-semibold)
}
.coere-insc .coere-cupom-linha .coere-btn{min-height:auto;padding-inline:18px;flex:0 0 auto}
.coere-insc .coere-cupom-recado{margin:0;font-weight:var(--w-medium);font-size:13px;color:var(--fg2)}
.coere-insc .coere-cupom-recado.bom{color:var(--brand)}
.coere-insc .coere-cupom-recado.ruim{color:var(--danger)}
.coere-insc .coere-order-row.coere-desconto dd{color:var(--brand)}
@media (max-width:560px){
  .coere-insc .coere-cupom-linha{flex-wrap:wrap}
  .coere-insc .coere-cupom-linha .coere-btn{width:100%}
}
