/* Proteção Essencial — estilos exclusivos da plataforma Produtos SR.
   Mantido separado de styles.css para preservar o restante do site. */

.psr-page{ overflow:hidden; background:var(--paper); }
.psr-page p{ line-height:1.72; }

.psr-hero{
  min-height:620px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(80% 100% at 85% 15%, rgba(201,167,104,.12), transparent 60%),
    linear-gradient(145deg,var(--navy-2),var(--ink) 75%);
  color:var(--paper);
  padding:138px 24px 96px;
  position:relative;
}
.psr-hero:after{
  content:"";
  position:absolute;
  inset:38px 38px auto auto;
  width:280px;
  height:280px;
  border:1px solid rgba(201,167,104,.18);
  border-radius:50%;
  box-shadow:0 0 0 56px rgba(201,167,104,.045),0 0 0 112px rgba(201,167,104,.025);
}
.psr-hero-inner{ width:min(1120px,100%); margin:0 auto; position:relative; z-index:1; }
.psr-hero .eyebrow{ color:var(--gold-light); }
.psr-hero h1{ color:var(--paper); font-size:clamp(52px,7vw,88px); max-width:9.5ch; letter-spacing:-.035em; }
.psr-hero-lede{ max-width:760px; color:#d9dce9; font-size:clamp(17px,2vw,21px); margin:26px 0 32px; }
.psr-hero-actions{ display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.psr-text-link{ color:var(--gold-light); font-weight:600; font-size:14px; }
.psr-text-link:hover{ color:var(--paper); }
.psr-proof-line{ display:flex; flex-wrap:wrap; gap:10px 30px; margin-top:56px; padding-top:26px; border-top:1px solid rgba(255,255,255,.12); color:#aeb3c6; font-size:13px; letter-spacing:.02em; }
.psr-proof-line span{ position:relative; padding-left:16px; }
.psr-proof-line span:before{ content:""; width:5px; height:5px; background:var(--gold); border-radius:50%; position:absolute; left:0; top:.55em; }

.psr-section-head{ max-width:850px; margin:0 auto 50px; text-align:center; }
.psr-section-head h2{ max-width:none; font-size:clamp(34px,4vw,52px); }
.psr-section-head p:last-child{ color:#666c83; max-width:700px; margin:18px auto 0; }
.psr-section-head-left{ text-align:left; margin-left:0; }
.psr-section-head-left p:last-child{ margin-left:0; }

.psr-solutions{ background:var(--paper-2); }
.psr-card-grid{ width:min(1220px,100%); margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.psr-solution-card{ background:#fff; border:1px solid rgba(27,32,68,.10); border-radius:14px; padding:30px 26px 26px; box-shadow:0 18px 45px rgba(27,32,68,.06); display:flex; flex-direction:column; position:relative; transition:.25s ease; }
.psr-solution-card:hover{ transform:translateY(-3px); box-shadow:0 24px 58px rgba(27,32,68,.10); }
.psr-solution-card.is-selected{ border-color:rgba(201,167,104,.8); box-shadow:0 0 0 2px rgba(201,167,104,.13),0 24px 58px rgba(27,32,68,.10); }
.psr-card-topline{ display:flex; justify-content:space-between; color:var(--gold-dark); text-transform:uppercase; letter-spacing:.16em; font-size:11px; font-weight:700; margin-bottom:28px; }
.psr-solution-card h3{ font-size:clamp(29px,3vw,36px); }
.psr-card-subtitle{ color:var(--gold-dark); font-weight:600; font-size:14px; margin:6px 0 0; }
.psr-card-benefit{ color:#62677d; min-height:84px; margin:20px 0 18px; }

.psr-price-block{ border-top:1px solid rgba(27,32,68,.09); border-bottom:1px solid rgba(27,32,68,.09); padding:8px 0; margin-bottom:18px; }
.psr-price-tier{ padding:14px 0; }
.psr-price-tier + .psr-price-tier{ border-top:1px solid rgba(27,32,68,.07); }
.psr-price-tier span{ display:block; text-transform:uppercase; letter-spacing:.10em; font-size:10.5px; font-weight:700; color:#858aa0; margin-bottom:5px; }
.psr-price-tier strong{ display:block; font-family:var(--serif); font-size:29px; color:var(--navy); line-height:1; }
.psr-price-tier small{ display:block; margin-top:7px; color:#5f6478; font-size:12px; }
.psr-price-tier em{ display:block; margin-top:7px; color:#62705a; font-style:normal; font-size:12px; font-weight:600; }
.psr-price-original strong{ text-decoration:line-through; text-decoration-thickness:1px; text-decoration-color:rgba(27,32,68,.38); color:#777d92; font-size:24px; }
.psr-price-pix{ margin:4px -12px; padding:16px 12px; border-radius:8px; background:linear-gradient(145deg,rgba(201,167,104,.12),rgba(201,167,104,.04)); }
.psr-price-pix strong{ font-size:34px; color:var(--navy); }
.psr-price-pix em{ color:var(--gold-dark); }

.psr-details{ margin:4px 0 20px; border-top:1px solid rgba(27,32,68,.08); border-bottom:1px solid rgba(27,32,68,.08); }
.psr-details summary{ cursor:pointer; list-style:none; padding:15px 0; color:var(--navy); font-size:13px; font-weight:700; position:relative; padding-right:24px; }
.psr-details summary::-webkit-details-marker{ display:none; }
.psr-details summary:after{ content:"+"; position:absolute; right:2px; font-size:19px; color:var(--gold-dark); top:9px; }
.psr-details[open] summary:after{ content:"–"; }
.psr-details-body{ padding:0 0 18px; }
.psr-details-body h4{ color:var(--navy); font-family:var(--serif); font-size:18px; margin:14px 0 8px; }
.psr-details-body ul{ margin:0; padding-left:18px; color:#5f6478; font-size:13px; line-height:1.6; }
.psr-details-body li{ margin-bottom:5px; }
.psr-reference{ background:var(--paper-2); border-left:2px solid var(--gold); padding:12px 14px; font-size:12.5px; color:#646a7d; margin-top:14px; }
.psr-select-btn{ width:100%; margin-top:auto; white-space:normal; line-height:1.25; min-height:50px; }

.psr-installment-note{ max-width:1120px; margin:22px auto 0; text-align:center; color:#73788a; font-size:12.5px; line-height:1.6; }
.psr-installment-note strong{ color:var(--navy); }

.psr-layer-section{ background:var(--navy); padding:86px 24px; }
.psr-layer-inner{ max-width:1120px; margin:0 auto; }
.psr-layer-section .eyebrow{ color:var(--gold-light); }
.psr-layer-section h2{ color:var(--paper); font-size:clamp(36px,4.5vw,56px); }
.psr-layer-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.11); margin-top:42px; }
.psr-layer-grid div{ background:var(--navy); padding:30px; min-height:150px; }
.psr-layer-grid span{ display:block; color:var(--gold); font-size:12px; letter-spacing:.18em; margin-bottom:18px; }
.psr-layer-grid strong{ display:block; color:var(--paper); font-family:var(--serif); font-size:22px; font-weight:600; line-height:1.25; }
.psr-layer-note{ color:#c9cede; font-size:17px; max-width:760px; margin:28px 0 0; }

.psr-builder{ background:var(--paper); }
.psr-builder-intro{ max-width:850px; margin:0 auto 44px; text-align:center; }
.psr-builder-intro h2{ max-width:none; font-size:clamp(34px,4.3vw,52px); }
.psr-builder-intro p:last-child{ color:#6a6f82; margin-top:14px; }
.psr-builder-layout{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 430px; gap:28px; align-items:start; }
.psr-builder-options{ display:grid; gap:12px; }
.psr-option{ appearance:none; width:100%; border:1px solid rgba(27,32,68,.12); background:#fff; border-radius:12px; padding:22px; display:flex; align-items:center; gap:17px; text-align:left; cursor:pointer; color:var(--navy); transition:.2s ease; }
.psr-option:hover{ border-color:rgba(201,167,104,.65); transform:translateX(2px); }
.psr-option.is-selected{ border-color:var(--gold); background:linear-gradient(145deg,#fff,rgba(201,167,104,.08)); }
.psr-option-mark{ width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold-dark); font-size:22px; line-height:1; }
.psr-option.is-selected .psr-option-mark{ background:var(--gold); color:var(--ink); }
.psr-option strong{ display:block; font-family:var(--serif); font-size:23px; font-weight:600; }
.psr-option small{ display:block; color:#7a8094; margin-top:3px; }

.psr-summary{ position:sticky; top:98px; background:linear-gradient(165deg,var(--navy-2),var(--ink)); border-radius:14px; padding:30px; color:var(--paper); box-shadow:0 25px 60px rgba(27,32,68,.18); }
.psr-summary-kicker{ display:block; color:var(--gold-light); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin-bottom:9px; }
.psr-summary h3{ color:var(--paper); font-size:29px; }
.psr-summary-list{ list-style:none; padding:0; margin:18px 0 20px; display:grid; gap:8px; }
.psr-summary-list li{ color:#d4d7e2; font-size:13px; padding-left:18px; position:relative; }
.psr-summary-list li:before{ content:"✓"; color:var(--gold-light); position:absolute; left:0; }
.psr-summary-prices{ border-top:1px solid rgba(255,255,255,.12); margin-top:10px; padding-top:8px; }
.psr-summary-prices > div{ padding:12px 0; }
.psr-summary-prices > div + div{ border-top:1px solid rgba(255,255,255,.08); }
.psr-summary-prices span{ display:block; text-transform:uppercase; letter-spacing:.10em; color:#9299b1; font-size:9.5px; font-weight:700; }
.psr-summary-prices strong{ display:block; color:var(--paper); font-family:var(--serif); font-size:28px; line-height:1.1; margin-top:4px; }
.psr-summary-prices small,.psr-summary-prices em{ display:block; margin-top:5px; font-size:11.5px; font-style:normal; color:#b8bdcc; }
.psr-summary-prices em{ color:var(--gold-light); font-weight:600; }
.psr-summary-pix{ background:rgba(201,167,104,.09); margin:0 -12px; padding:14px 12px!important; border-radius:8px; }
.psr-summary-pix strong{ font-size:34px; color:var(--gold-light); }
.psr-continue{ width:100%; margin-top:18px; white-space:normal; }
.psr-continue:disabled{ opacity:.42; cursor:not-allowed; transform:none; box-shadow:none; }

.psr-coverage{ background:var(--paper-2); }
.psr-coverage-box{ max-width:1100px; margin:0 auto; background:#fff; border:1px solid rgba(27,32,68,.10); border-radius:14px; padding:44px; display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:center; box-shadow:0 18px 55px rgba(27,32,68,.06); }
.psr-coverage-box h2{ max-width:17ch; font-size:clamp(31px,3.6vw,44px); }
.psr-coverage-box p{ color:#646a7d; }
.psr-coverage-action label{ display:block; color:var(--navy); font-weight:700; font-size:13px; margin-bottom:8px; }
.psr-cep-row{ display:grid; grid-template-columns:1fr auto; gap:8px; }
.psr-cep-row input{ min-width:0; border:1px solid #d6d9e3; border-radius:7px; padding:14px 13px; font:inherit; color:var(--navy); background:#fff; }
.psr-coverage-action small{ display:block; margin-top:9px; color:#8a8fa2; line-height:1.5; }
.psr-coverage-message{ margin-top:14px; border-left:2px solid var(--gold); background:rgba(201,167,104,.09); padding:12px 14px; color:#606578; font-size:13px; }

.psr-condition-grid{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.psr-condition-grid article{ border-top:2px solid var(--gold); background:#fff; padding:26px 22px; box-shadow:0 12px 36px rgba(27,32,68,.05); }
.psr-condition-grid article > span{ color:var(--gold-dark); font-size:11px; letter-spacing:.16em; }
.psr-condition-grid h3{ font-size:23px; margin:15px 0 10px; }
.psr-condition-grid p{ color:#686d80; font-size:13px; }
.psr-special-case{ max-width:1120px; margin:26px auto 0; background:var(--navy); padding:32px; border-radius:12px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; }
.psr-special-case .eyebrow{ color:var(--gold-light); }
.psr-special-case h3{ color:var(--paper); font-size:27px; margin:6px 0; }
.psr-special-case p{ color:#b7bccb; margin:0; max-width:720px; font-size:13.5px; }
.psr-special-case .btn-ghost{ border-color:rgba(255,255,255,.35); color:var(--paper); white-space:normal; text-align:center; }

.psr-instagram-section{ padding:88px 24px; background:linear-gradient(145deg,#20264f,var(--navy)); text-align:center; }
.psr-instagram-inner{ max-width:760px; margin:0 auto; }
.psr-instagram-section .eyebrow{ color:var(--gold-light); }
.psr-instagram-section h2{ color:var(--paper); font-size:clamp(36px,4vw,52px); }
.psr-instagram-section p{ color:#c3c7d5; margin:16px auto 28px; }

.psr-existing-order{ padding-top:70px; padding-bottom:70px; }
.psr-existing-order-box{ max-width:760px; margin:0 auto; text-align:center; border:1px solid rgba(27,32,68,.10); border-radius:12px; padding:34px 24px; background:#fff; }
.psr-existing-order-box h2{ max-width:none; }
.psr-existing-order-box p{ color:#72778b; }
.psr-text-button{ appearance:none; background:none; border:0; color:var(--gold-dark); font-weight:700; font-size:13px; letter-spacing:.04em; cursor:pointer; padding:8px; }
.psr-text-button:hover{ color:var(--navy); }

@media (max-width:1100px){
  .psr-condition-grid{ grid-template-columns:repeat(2,1fr); }
  .psr-builder-layout{ grid-template-columns:1fr 390px; }
}

@media (max-width:900px){
  .psr-card-grid{ grid-template-columns:1fr; max-width:720px; }
  .psr-card-benefit{ min-height:0; }
}

@media (max-width:820px){
  .psr-hero{ min-height:auto; padding-top:120px; }
  .psr-hero:after{ width:180px; height:180px; right:-50px; top:100px; }
  .psr-hero h1{ max-width:10ch; }
  .psr-layer-grid{ grid-template-columns:1fr; }
  .psr-builder-layout{ grid-template-columns:1fr; }
  .psr-summary{ position:relative; top:auto; }
  .psr-coverage-box{ grid-template-columns:1fr; gap:24px; padding:30px 24px; }
  .psr-special-case{ grid-template-columns:1fr; }
}

@media (max-width:620px){
  .psr-hero{ padding:110px 20px 72px; }
  .psr-hero h1{ font-size:50px; }
  .psr-hero-actions{ align-items:flex-start; flex-direction:column; }
  .psr-proof-line{ display:grid; gap:10px; }
  .psr-solution-card{ padding:25px 20px 22px; }
  .psr-card-grid{ gap:14px; }
  .psr-price-tier strong{ font-size:27px; }
  .psr-price-pix strong{ font-size:31px; }
  .psr-layer-section{ padding:68px 20px; }
  .psr-option{ padding:18px; }
  .psr-option strong{ font-size:21px; }
  .psr-summary{ padding:25px 20px; }
  .psr-cep-row{ grid-template-columns:1fr; }
  .psr-condition-grid{ grid-template-columns:1fr; }
  .psr-special-case{ padding:25px 20px; }
}

/* Etapa 13.4 — cadastro e validações */
.psr-customer[hidden]{display:none!important}.psr-form{display:grid;gap:1.5rem;max-width:1050px}.psr-form fieldset{border:1px solid rgba(16,35,52,.14);border-radius:18px;padding:1.25rem;margin:0;background:#fff}.psr-form legend{font-family:"Cormorant Garamond",serif;font-size:1.55rem;font-weight:700;padding:0 .5rem;color:var(--navy)}.psr-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.psr-field{display:grid;gap:.45rem;font-size:.86rem;font-weight:700;color:var(--navy)}.psr-field small{font-weight:500;color:#697783}.psr-field input{width:100%;min-height:48px;border:1px solid rgba(16,35,52,.2);border-radius:10px;padding:.75rem .85rem;font:inherit;background:#fff;color:#102334}.psr-field input:focus{outline:2px solid rgba(183,145,62,.3);border-color:#b7913e}.psr-field input[readonly]{background:#f5f3ed}.psr-span-2{grid-column:span 2}.psr-form-note,.psr-form-footnote{color:#697783}.psr-check{display:flex;gap:.65rem;align-items:flex-start;font-size:.9rem;line-height:1.5;color:#344654}.psr-check input{margin-top:.25rem}.psr-acceptance{padding:1rem 1.1rem;border-radius:14px;background:#f5f3ed}.psr-form-errors{padding:1rem;border-radius:12px;background:#fff1f0;color:#8a2e27}.psr-form-errors ul{margin:.5rem 0 0;padding-left:1.2rem}.psr-coverage-message.is-ok{background:#edf8f0;color:#215d35}.psr-coverage-message.is-out{background:#fff4e7;color:#7a4a10}.psr-coverage-message.is-error{background:#fff1f0;color:#8a2e27}
@media(max-width:820px){.psr-form-grid{grid-template-columns:1fr 1fr}.psr-span-2{grid-column:span 2}}
@media(max-width:560px){.psr-form-grid{grid-template-columns:1fr}.psr-span-2{grid-column:span 1}.psr-form fieldset{padding:1rem}}
.psr-payment-actions,.psr-recover-form{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.psr-recover-form label{display:grid;gap:6px;flex:1 1 220px}.psr-recover-form input{padding:12px;border:1px solid #ccd1dc;border-radius:8px}.psr-recovered-order{margin-top:16px;padding:16px;border:1px solid #d9dce5;border-radius:10px}.psr-payment-actions button,.psr-recover-form button,.psr-recovered-order button{cursor:pointer}
