/* ==========================================================================
   RF Instalações Elétricas · páginas internas (Fornecedores, Trabalhe conosco,
   Política, 404). Usa tokens.css + style.css (botões, tipografia, LGPD).
   ========================================================================== */
.page{background:var(--paper);color:var(--text-on-paper)}
.pbar{position:sticky;top:0;z-index:40;background:var(--ink);color:var(--text-on-ink);box-shadow:0 1px 0 var(--line-ink)}
.pbar__in{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.pbar__logo img{height:48px;width:auto}
.pbar__back{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:500;text-decoration:none;color:var(--text-on-ink)}
.pbar__back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform var(--t-ui) var(--e-out)}
.pbar__back:hover svg{transform:translateX(-4px)}
.pbar :focus-visible{outline-color:var(--yellow)}

.page-main{position:relative;min-height:calc(100svh - 72px);padding:clamp(40px,8vh,96px) 0;overflow:hidden}
.page-main::before{content:"";position:absolute;top:0;right:0;width:38%;height:420px;background:url("../img/patterns/hachura-tinta.svg") 50% 50%/cover no-repeat;opacity:.06;-webkit-mask-image:linear-gradient(200deg,#000 0%,transparent 72%);mask-image:linear-gradient(200deg,#000 0%,transparent 72%);pointer-events:none}

.fpage{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,104px);align-items:start}
.fintro .eyebrow{margin-bottom:16px}
.fintro h1{font-size:clamp(2rem,1.2rem + 2.6vw,3.3rem);font-weight:600;line-height:1.06;letter-spacing:-.028em;text-wrap:balance}
.fintro p{margin-top:18px;max-width:52ch;color:var(--stone)}
.fintro__alt{margin-top:28px;font-size:15px;color:var(--stone)}
.fintro__alt a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.form-card,.alt-card{background:#fff;padding:clamp(24px,3.4vw,40px);border-radius:var(--r-1);box-shadow:0 0 0 1px var(--line-paper)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.fg{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0}
.fg--full{grid-column:1/-1}
.fg label,.fg .flabel{font-size:14px;font-weight:600;color:var(--ink)}
.fg input,.fg select{width:100%;min-height:50px;padding:0 14px;font:400 1rem/1.4 var(--font);color:var(--ink);background:#fff;border:1px solid #9C988F;border-radius:var(--r-1);transition:border-color .2s var(--e-ui)}
.fg select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230B0B0C' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
.fg input:focus,.fg select:focus{border-color:var(--ink)}
.fg input:focus-visible,.fg select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.file-label{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border:1px dashed #9C988F;border-radius:var(--r-1);cursor:pointer;color:var(--stone);font-size:15px;transition:border-color .2s var(--e-ui)}
.file-label:hover{border-color:var(--ink)}
.file-label svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--ink);stroke-width:1.6}
.file-label strong{color:var(--ink);font-weight:600}
.file-name{display:block;font-size:13px;color:var(--stone)}
.fg .file-input{position:absolute;left:0;top:0;width:1px;height:1px;min-height:0;padding:0;border:0;opacity:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.file-input:focus-visible + .file-label{outline:2px solid var(--ink);outline-offset:3px}
.fg .check{display:flex;align-items:flex-start;gap:12px;font-size:15px;font-weight:400;line-height:1.55;color:var(--stone);cursor:pointer}
.fg .check input{width:22px;height:22px;min-height:0;padding:0;flex:none;margin-top:1px;border:0;accent-color:var(--ink)}
.check a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.form-note{grid-column:1/-1;font-size:14px;color:var(--stone)}
.fg__err{font-size:13.5px;font-weight:600;color:#8A2317}
.fg input[aria-invalid="true"],.fg select[aria-invalid="true"]{border-color:#8A2317;box-shadow:inset 0 0 0 1px #8A2317}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-submit{width:100%;justify-content:center;min-height:54px}
.form-feedback{display:none;padding:14px 16px;border-radius:var(--r-1);font-size:15px;line-height:1.55}
.form-feedback.show{display:block}
.form-feedback.success{background:#E7F0E4;color:#24521A}
.form-feedback.error{background:#F8E6E3;color:#8A2317}
.form-feedback a{color:inherit;font-weight:600;text-decoration:underline}
.alt-card{display:none}
.alt-card h2{font-size:1.35rem;font-weight:600;letter-spacing:-.015em}
.alt-card p{margin-top:12px;color:var(--stone)}
.alt-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn--outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px #9C988F}
.btn--outline:hover{background:var(--ink);color:var(--text-on-ink)}
[data-backend="off"] .form-card{display:none}
[data-backend="off"] .alt-card{display:block}

.legal{position:relative;max-width:780px}
.legal .eyebrow{margin-bottom:16px}
.legal h1{font-size:clamp(2rem,1.2rem + 2.4vw,3.1rem);font-weight:600;line-height:1.08;letter-spacing:-.028em;margin-bottom:24px}
.legal .legal-txt{font-size:1rem;line-height:1.75}
.legal .legal-txt h2{margin:30px 0 8px;font-size:1.15rem;font-weight:600;line-height:1.35}
.legal small{color:var(--stone)}

.nf{position:relative;max-width:640px}
.nf .eyebrow{margin-bottom:16px}
.nf h1{font-size:clamp(2.2rem,1.4rem + 3vw,3.6rem);font-weight:600;line-height:1.05;letter-spacing:-.03em}
.nf p{margin:18px 0 30px;color:var(--stone)}

.page-foot{background:var(--ink);color:var(--fog);font-size:14px}
.page-foot__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-top:22px;padding-bottom:22px}
.page-foot a,.page-foot .linklike{color:var(--fog);text-decoration:underline;text-underline-offset:3px}
.page-foot a:hover,.page-foot .linklike:hover{color:var(--text-on-ink)}
.page-foot :focus-visible{outline-color:var(--yellow)}

@media (max-width:900px){.fpage{grid-template-columns:1fr}.page-main::before{width:70%}}
@media (max-width:560px){
  .pbar__in{height:64px}
  .pbar__logo img{height:40px}
  .pbar__back span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .form-grid{grid-template-columns:1fr}
  .page-main{min-height:calc(100svh - 64px)}
}
