/* Begold Private — página do produto. Cores, tipografia e botões vêm do tema. */

.private{--private-hero-min:clamp(520px,86svh,760px)}

/* ---------- Abertura ---------- */
.private-hero{position:relative;display:flex;align-items:flex-end;min-height:var(--private-hero-min);
  padding:calc(88px + clamp(48px,10vw,120px)) 0 clamp(48px,7vw,96px);overflow:hidden;color:#fff}
.private-hero-media{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,#141210,#262320 60%,#1c1a18)}
.private-hero-media img{width:100%;height:100%;object-fit:cover}
.private-hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,18,16,.62) 0%,rgba(20,18,16,.28) 42%,rgba(20,18,16,.86) 100%)}
.private-hero-media::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(20,18,16,.72) 0%,rgba(20,18,16,.2) 62%,transparent 100%)}
.private-hero-inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);
  margin-inline:auto;padding-inline:var(--gutter)}
.private-brand-wrap,.private-hero-inner img.private-brand{display:block;margin-bottom:clamp(24px,3vw,38px)}
.private-hero-inner .private-brand{width:220px;max-width:100%;height:auto}
.private-hero h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.18;max-width:17ch;
  margin:0 0 .55em;text-shadow:0 2px 30px rgba(0,0,0,.42)}
.private-hero p{color:rgba(255,255,255,.9);max-width:54ch;font-size:1.03rem;margin:0 0 2em}

/* ---------- Exclusividade com propósito ---------- */
.private-purpose{background:var(--paper-2)}
.private-purpose-head{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:end}
.private-purpose-head h2{margin:0;max-width:18ch}
.private-purpose-head p{color:var(--text-soft);margin:0;max-width:52ch}
.private-pillars{list-style:none;margin:clamp(48px,6vw,76px) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px)}
.private-pillars li{border-top:1px solid var(--line);padding-top:26px;min-width:0}
.private-pillars .pillar-ic{width:30px;height:30px;color:var(--gold-4);margin-bottom:20px}
.private-pillars h3{font-size:1.12rem;margin:0 0 .5em;line-height:1.35}
.private-pillars p{color:var(--text-soft);font-size:.96rem;margin:0}

/* ---------- Como funciona ---------- */
.private-process{background:var(--graphite);color:var(--beige-soft)}
.private-process h2{color:#fff;margin:0}
.private-steps{list-style:none;margin:clamp(44px,5vw,68px) 0 0;padding:0;counter-reset:private;
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px)}
.private-steps li{border-top:1px solid rgba(233,207,166,.22);padding-top:26px;min-width:0}
.private-step-number{display:block;font-family:var(--font-title);font-size:2.1rem;line-height:1;
  margin-bottom:20px;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
.private-steps h3{color:#fff;font-size:1.1rem;margin:0 0 .5em;line-height:1.35}
.private-steps p{color:rgba(242,231,212,.76);font-size:.95rem;margin:0}

/* ---------- Formulário ---------- */
.private-form-section{scroll-margin-top:100px;border-top:1px solid var(--line)}
.private-form-inner{max-width:760px;margin-inline:auto}
.private-form-inner>h2{margin:0 0 .5em;max-width:20ch}
.private-form-intro{color:var(--text-soft);max-width:60ch;margin:0 0 clamp(28px,4vw,40px)}
.private-progress{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--text-mute);margin:0 0 10px}
.private-progress-bar{height:2px;background:var(--line);margin-bottom:clamp(28px,4vw,40px);overflow:hidden}
.private-progress-bar span{display:block;height:100%;width:25%;background:var(--gold-grad);
  transition:width .45s var(--ease)}
.private-progress[hidden],.private-progress-bar[hidden]{display:none}

.private-form{display:flex;flex-direction:column}
.private-step{border:0;margin:0;padding:0;min-width:0}
.private-step[hidden]{display:none}
.private-step+.private-step{margin-top:clamp(40px,5vw,56px)}
.private-step>legend{font-family:var(--font-title);font-size:1.32rem;color:var(--ink);
  padding:0;margin:0 0 26px;line-height:1.3}
.private-form .field{display:flex;flex-direction:column;gap:8px;margin-bottom:26px;border:0;padding:0;min-width:0}
.private-form .field>label,.private-form .field>legend{font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--text-mute);padding:0;margin:0;line-height:1.5}
.private-optional{letter-spacing:.1em;text-transform:none;color:var(--text-mute);opacity:.8}
.private-hint{font-size:.85rem;color:var(--text-soft);letter-spacing:0;text-transform:none}
.private-form :is(input[type=text],input[type=email],input[type=tel],input[type=number],textarea){
  width:100%;max-width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:var(--radius);
  font-family:var(--font-body);font-size:1rem;color:var(--text);background:var(--paper);
  transition:border-color .3s var(--ease)}
.private-form :is(input,textarea):focus{outline:none;border-color:var(--gold-3)}
.private-form :is(input,textarea):focus-visible{outline:2px solid var(--gold-3);outline-offset:2px}
.private-form [aria-invalid=true]{border-color:var(--gold-4)}
.private-form textarea{resize:vertical;min-height:120px}

/* Opções em etiquetas — área de toque generosa no celular */
.private-choices{display:flex;flex-wrap:wrap;gap:10px}
.private-choices input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;margin:0;
  pointer-events:none;clip-path:inset(50%)}
.private-choices label{display:inline-flex;align-items:center;min-height:48px;padding:12px 20px;
  border:1px solid var(--line);background:var(--paper);color:var(--text);
  font-size:.95rem;line-height:1.3;cursor:pointer;transition:all .3s var(--ease)}
.private-choices label:hover{border-color:var(--gold-3)}
.private-choices input:checked+label{border-color:var(--gold-3);background:var(--paper-3);color:var(--ink);font-weight:600}
.private-choices input:focus-visible+label{outline:2px solid var(--gold-3);outline-offset:2px}
.private-choices--multiple{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.private-choices--multiple label{gap:12px}
.private-choices--multiple input[type=checkbox]{position:static;opacity:1;width:20px;height:20px;margin:0;flex:0 0 20px;accent-color:var(--gold-4)}
.private-choices--multiple label:has(input:checked){border-color:var(--gold-3);background:var(--paper-3)}
.private-choices--multiple label:focus-within{outline:2px solid var(--gold-3);outline-offset:2px}

.private-form .field--consent{flex-direction:row;align-items:flex-start;gap:14px;margin-top:8px}
.field--consent input{flex:0 0 22px;width:22px;height:22px;margin-top:2px;accent-color:var(--gold-3)}
.private-form .field--consent>label{font-size:.92rem;line-height:1.6;color:var(--text-soft);
  letter-spacing:0;text-transform:none}
.field--consent a{color:var(--gold-4);text-decoration:underline;text-underline-offset:3px}

.private-nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}
.private-back{background:none;border:0;padding:0;color:var(--text-mute)}
.private-back:hover{color:var(--gold-4)}
.private-form button{min-height:48px}

.private-success{border-top:2px solid var(--gold-3);padding-top:clamp(28px,4vw,40px);max-width:60ch}
.private-success h2{margin:0 0 .5em}
.private-success p{color:var(--text-soft);margin:0}
.private .form-note{background:var(--paper-2);border:1px solid var(--line);color:var(--text);margin-bottom:26px}
.private .form-note[hidden]{display:none}
.private .form-note ul{padding-left:20px;margin:8px 0 0}
.private .form-note a{text-decoration:underline;text-underline-offset:3px}

/* Armadilha invisível para robôs */
.private-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Encerramento ---------- */
.private-final{position:relative;display:flex;align-items:center;min-height:clamp(420px,58vh,560px);
  overflow:hidden;color:#fff}
.private-final-media{position:absolute;inset:0;z-index:0;background:var(--graphite)}
.private-final-media img{width:100%;height:100%;object-fit:cover}
.private-final-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(20,18,16,.25) 0%,rgba(20,18,16,.72) 55%,rgba(20,18,16,.86) 100%)}
.private-final-inner{position:relative;z-index:1;width:100%;max-width:var(--maxw);margin-inline:auto;
  padding:clamp(56px,8vw,96px) var(--gutter);display:flex;flex-direction:column;align-items:flex-start}
.private-final-inner p{font-family:var(--font-title);font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.34;
  color:#fff;max-width:20ch;margin:0 0 1.4em;margin-left:auto}
.private-final-inner .btn{margin-left:auto}

/* ---------- Tablet ---------- */
@media(max-width:1024px){
  .private-pillars,.private-steps{grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,40px)}
  .private-purpose-head{grid-template-columns:1fr;gap:20px;align-items:start}
  .private-hero{padding-top:calc(72px + clamp(40px,9vw,96px))}
}

/* ---------- Celular ---------- */
@media(max-width:760px){
  .private{--private-hero-min:clamp(480px,78svh,640px)}
  .private-hero{padding-top:calc(64px + 56px);padding-bottom:56px}
  .private-hero-inner .private-brand{width:180px;max-width:100%}
  .private-hero h1{font-size:clamp(1.85rem,7.4vw,2.3rem);line-height:1.24;max-width:none}
  .private-hero p{font-size:1rem;margin-bottom:1.8em}
  .private-hero .btn,.private-final .btn{width:100%;justify-content:center}
  .private-final-inner p{max-width:none;font-size:clamp(1.35rem,5.6vw,1.8rem)}
  .private-form-section{scroll-margin-top:76px}
  .private-step>legend{font-size:1.18rem;margin-bottom:22px}
  .private-choices{gap:8px}
  .private-choices label{width:100%;padding:14px 18px}
  .private-nav{gap:16px}
  .private-nav .btn{width:100%;justify-content:center;order:1}
  .private-nav .private-back{order:2;align-self:center;margin-inline:auto}
}

@media(max-width:560px){
  .private-pillars,.private-steps{grid-template-columns:1fr;gap:0}
  .private-pillars li,.private-steps li{padding:24px 0}
  .private-pillars li:first-child,.private-steps li:first-child{padding-top:0;border-top:0}
  .private-pillars .pillar-ic,.private-step-number{margin-bottom:14px}
}
