/* ══════════════════════════════════════════════════════════════════════════
   SETORES · páginas por setor de atividade  (outubro de 2026)

   Geradas por scripts/setores/gerar.py. Carregam depois de zonas.css e usam o
   mesmo vocabulário (x-in, x-k, zh-*, xs-*, xc-*, xq-*, xr-*, xz). Aqui fica
   só o que é delas: o perfil de consumo, o esquema do dia, as três leituras
   da fatura, as perguntas, as ligações e o índice de cartões.
   ══════════════════════════════════════════════════════════════════════════ */

.zn-setor :where(.st-perfil,.st-perg,.st-imp,.st-lig,.st-out,.st-ind) :is(p,li) b{color:inherit}
.zn-setor .zt-nav a[href*="setores"]{color:var(--x-lima)}

/* ícones a traço */
.st-ic{width:56px; height:56px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none}
.st-ic-k{width:22px; height:22px; stroke-width:2.2; color:var(--x-lima); order:-1; margin-right:-2px}
.x-k .st-ic-k + *{margin:0}
.zn-setor .zh .x-k::before{display:none}
.st-ic-p{width:34px; height:34px}

/* ── hero ─────────────────────────────────────────────────────────────── */
.st-h .zh-t{font-size:clamp(40px,6.2vw,104px); max-width:15ch}
.st-h.zh-ind .zh-t{max-width:15ch}
.st-resp{max-width:58ch; font-size:clamp(17px,1.35vw,20px)}
.st-card-l{list-style:none; margin:14px 0 22px; padding:0}
.st-card-l li{display:flex; flex-direction:column; gap:4px; padding:14px 0; border-top:1px solid rgba(11,11,10,.18)}
.st-card-l li:first-child{border-top:0; padding-top:4px}
.st-card-l b{font-size:clamp(24px,2.2vw,32px); font-weight:500; letter-spacing:-.04em; line-height:1.05; color:var(--x-preto)}
.st-card-l span{font-size:14.5px; line-height:1.45; color:rgba(11,11,10,.78)}
.st-card-eq{list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 0; padding:0}
.st-card-eq li{padding:6px 12px; border-radius:999px; border:1.5px solid rgba(11,11,10,.7); font-size:13px; font-weight:500; color:var(--x-preto)}

/* ── títulos e texto comuns ───────────────────────────────────────────── */
.st-t{color:var(--x-preto); font-size:clamp(32px,4.2vw,68px); font-weight:500; letter-spacing:-.05em; line-height:1}
.st-t em{font-style:normal}
.st-t-esc{color:var(--x-osso)}
.st-t-esc em{color:var(--x-lima)}
.st-lead{margin-top:20px; max-width:56ch; font-size:clamp(16px,1.25vw,19px); line-height:1.55; color:rgba(11,11,10,.74)}
.st-h3{color:var(--x-osso); font-size:clamp(20px,1.7vw,26px); font-weight:500; letter-spacing:-.02em; line-height:1.15}

/* ── perfil de consumo (osso) ─────────────────────────────────────────── */
.st-perfil{background:var(--x-osso); color:var(--x-preto); padding:var(--x-pad) 0}
.st-perfil-cab{display:grid; gap:12px clamp(40px,5vw,96px); align-items:end}
.st-perfil-cab .st-lead{margin-top:0}
@media(min-width:1000px){ .st-perfil-cab{grid-template-columns:minmax(0,6fr) minmax(0,5fr)} }
.st-perfil-g{display:grid; gap:20px; margin-top:clamp(36px,4vw,64px); align-items:start}
@media(min-width:1000px){ .st-perfil-g{grid-template-columns:minmax(0,5fr) minmax(0,7fr)} }
.st-eq{list-style:none; margin:0; padding:0; border-top:2px solid var(--x-preto)}
.st-eq li{padding:18px 0; border-bottom:1px solid var(--x-linha-c)}
.st-eq h3{color:var(--x-preto); font-size:19px; font-weight:600; letter-spacing:-.02em; line-height:1.2}
.st-eq p{margin-top:6px; font-size:15px; line-height:1.55; color:rgba(11,11,10,.72)}

/* esquema do dia: linhas com faixas, 0 h a 24 h */
.st-dia{margin:0; padding:clamp(20px,2.6vw,36px); border-radius:24px; background:var(--x-preto); color:var(--x-osso)}
.st-dia-cab{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 18px; font-size:14px}
.st-dia-cab b{font-size:18px; font-weight:500; letter-spacing:-.02em; color:var(--x-osso)}
.st-dia-sol{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; color:rgba(242,242,238,.62)}
.st-dia-sol::before{content:""; width:18px; height:12px; border-radius:3px; background:rgba(208,245,61,.16); border:1px dashed rgba(208,245,61,.55)}
.st-dia-l{list-style:none; margin:18px 0 0; padding:0}
.st-dia-l li{display:grid; gap:6px; padding:10px 0}
@media(min-width:600px){ .st-dia-l li{grid-template-columns:minmax(150px,13rem) 1fr; align-items:center; gap:16px} }
.st-dia-n{font-size:14px; line-height:1.3; color:rgba(242,242,238,.82)}
.st-dia-b{position:relative; display:block; height:14px; border-radius:999px; background:
  linear-gradient(90deg, transparent 33.33%, rgba(208,245,61,.13) 33.33%, rgba(208,245,61,.13) 79.17%, transparent 79.17%),
  rgba(242,242,238,.07)}
.st-dia-b i{position:absolute; top:0; bottom:0; left:var(--a); width:var(--l); border-radius:999px; background:var(--x-lima)}
.st-dia-eixo{position:relative; height:22px; margin-top:6px; font-size:12px; color:rgba(242,242,238,.5); font-variant-numeric:tabular-nums}
@media(min-width:600px){ .st-dia-eixo{margin-left:calc(min(13rem, 100%) + 16px)} }
.st-dia-eixo span{position:absolute; left:var(--a); transform:translateX(-50%)}
.st-dia-eixo span:first-child{transform:none}
.st-dia-eixo span:last-child{transform:translateX(-100%)}
.st-dia-nota{margin-top:14px; padding-top:14px; border-top:1px solid var(--x-linha-e); font-size:13px; line-height:1.55; color:rgba(242,242,238,.62)}

/* ── o que isto quer dizer na fatura (preto) ──────────────────────────── */
.st-imp{background:var(--x-preto); color:var(--x-osso); padding:var(--x-pad) 0}
.st-imp-g{display:grid; gap:14px; margin-top:clamp(32px,4vw,56px)}
@media(min-width:900px){ .st-imp-g{grid-template-columns:repeat(3,minmax(0,1fr))} .st-imp-g2{grid-template-columns:repeat(2,minmax(0,1fr))} }
.st-imp-c{display:flex; flex-direction:column; gap:14px; padding:clamp(24px,2.6vw,36px); border-radius:24px; border:1px solid var(--x-linha-e)}
.st-imp-c .st-ic{color:var(--x-lima)}
.st-imp-c h3{color:var(--x-osso); font-size:clamp(22px,2vw,30px); font-weight:500; letter-spacing:-.035em; line-height:1.1}
.st-imp-c p{font-size:15.5px; line-height:1.6; color:rgba(242,242,238,.76)}
.st-imp-c a{margin-top:auto; display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--x-lima); font-weight:600; font-size:15px; text-decoration:none}
.st-imp-c a:hover{text-decoration:underline; text-underline-offset:4px}
.st-regs{display:grid; gap:12px; margin-top:clamp(24px,3vw,40px)}
@media(min-width:900px){ .st-regs{grid-template-columns:repeat(auto-fit,minmax(0,1fr))} }
.st-reg{padding:18px 20px; border-radius:16px; background:rgba(242,242,238,.05); font-size:13.5px; line-height:1.6; color:rgba(242,242,238,.68)}
.st-reg b{color:var(--x-osso)}
.st-reg a{color:var(--x-osso); text-underline-offset:3px; overflow-wrap:anywhere}
.st-reg a:hover{color:var(--x-lima)}
.st-remate{border-top:1px solid var(--x-linha-e); padding-top:clamp(28px,3vw,40px)}

/* ── perguntas à fatura (lima) ────────────────────────────────────────── */
.st-perg{background:var(--x-lima); color:var(--x-preto); padding:var(--x-pad) 0}
.st-perg-g{display:grid; gap:40px clamp(40px,5vw,96px); align-items:start}
@media(min-width:1000px){ .st-perg-g{grid-template-columns:minmax(0,5fr) minmax(0,7fr)} }
.st-perg .st-lead{color:rgba(11,11,10,.76)}
.st-btn{display:inline-flex; align-items:center; justify-content:center; min-height:54px; margin-top:28px; padding:0 28px; border-radius:999px;
  background:var(--x-preto); color:var(--x-lima); font-weight:600; font-size:15.5px; text-decoration:none; transition:transform .25s var(--x-ease), background-color .2s}
.st-btn:hover{background:#26261f; transform:translateY(-2px)}
.st-perg-l{list-style:none; margin:0; padding:0; border-top:2px solid var(--x-preto)}
.st-perg-l li{display:grid; grid-template-columns:28px 1fr; gap:14px; padding:20px 0; border-bottom:1px solid rgba(11,11,10,.2)}
.st-perg-l svg{width:26px; height:26px; fill:none; stroke:var(--x-preto); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; margin-top:1px}
.st-perg-l h3{color:var(--x-preto); font-size:clamp(18px,1.5vw,21px); font-weight:600; letter-spacing:-.02em; line-height:1.25}
.st-perg-l p{margin-top:6px; font-size:15px; line-height:1.5; color:rgba(11,11,10,.72)}

/* ── ligações: zonas e guia (preto) ───────────────────────────────────── */
.st-lig{background:var(--x-preto); color:var(--x-osso); padding:var(--x-pad) 0 clamp(56px,6vw,96px)}
.st-out-t{color:var(--x-osso); font-size:clamp(30px,3.6vw,58px); font-weight:500; letter-spacing:-.045em; line-height:1}
.st-lig-g{display:grid; gap:44px clamp(40px,5vw,96px); margin-top:clamp(28px,3vw,48px); align-items:start}
@media(min-width:1000px){ .st-lig-g{grid-template-columns:minmax(0,7fr) minmax(0,5fr)} }
.st-zn-s{margin-top:10px; font-size:15px; line-height:1.55; color:rgba(242,242,238,.68); max-width:56ch}
.st-zn-s a{color:var(--x-lima); text-underline-offset:3px}
.st-zn-l{margin-top:16px !important}
.st-gu-l{list-style:none; margin:16px 0 0; padding:0; display:grid; gap:10px}
.st-gl{display:grid; grid-template-columns:1fr auto; gap:4px 14px; align-items:end; padding:18px 20px; border-radius:18px;
  border:1px solid var(--x-linha-e); color:var(--x-osso); text-decoration:none; transition:border-color .25s, background-color .25s}
.st-gl span{grid-column:1 / -1; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(242,242,238,.55)}
.st-gl b{font-size:17px; font-weight:500; letter-spacing:-.02em; line-height:1.3}
.st-gl i{font-style:normal; font-size:20px; color:var(--x-lima); transition:transform .25s var(--x-ease)}
.st-gl:hover{border-color:var(--x-lima); background:rgba(208,245,61,.06)}
.st-gl:hover i{transform:translateX(4px)}

/* ── outros setores (osso) ────────────────────────────────────────────── */
.st-out{background:var(--x-osso); color:var(--x-preto); padding:clamp(64px,8vw,120px) 0}
.st-out .x-k{color:rgba(11,11,10,.62)} .st-out .x-k::before{background:var(--x-preto)}
.st-out .st-out-t{color:var(--x-preto)}
.st-out-l{list-style:none; margin:clamp(28px,3vw,44px) 0 0; padding:0; display:grid; gap:10px; grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.st-out-l a{display:flex; align-items:center; gap:14px; min-height:72px; padding:14px 18px; border-radius:18px; background:#fff;
  border:1px solid rgba(11,11,10,.1); color:var(--x-preto); text-decoration:none; transition:transform .25s var(--x-ease), border-color .25s}
.st-out-l b{font-size:17px; font-weight:500; letter-spacing:-.02em; line-height:1.2}
.st-out-l a:hover{transform:translateY(-3px); border-color:var(--x-preto)}

/* ── índice: cartões ──────────────────────────────────────────────────── */
.st-ind{background:var(--x-osso); color:var(--x-preto); padding:var(--x-pad) 0}
.st-grid{list-style:none; margin:clamp(32px,4vw,56px) 0 0; padding:0; display:grid; gap:12px; grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.st-c{display:flex; flex-direction:column; gap:12px; height:100%; padding:clamp(22px,2.4vw,32px); border-radius:22px; background:#fff;
  border:1px solid rgba(11,11,10,.1); color:var(--x-preto); text-decoration:none; transition:transform .25s var(--x-ease), border-color .25s, background-color .25s}
.st-c .st-ic{width:52px; height:52px; margin-bottom:8px}
.st-c h3{color:var(--x-preto); font-size:clamp(22px,1.9vw,28px); font-weight:500; letter-spacing:-.035em; line-height:1.1}
.st-c p{font-size:15px; line-height:1.5; color:rgba(11,11,10,.7)}
.st-c-v{margin-top:auto; padding-top:10px; display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600}
.st-c-v i{font-style:normal; transition:transform .25s var(--x-ease)}
.st-c:hover{transform:translateY(-3px); border-color:var(--x-preto)}
.st-c:hover .st-c-v i{transform:translateX(4px)}
.st-c:hover .st-ic{color:var(--x-preto)}
.st-ind-n{margin-top:28px; font-size:15px; color:rgba(11,11,10,.7)}
.st-ind-n a{color:var(--x-preto); font-weight:600; text-underline-offset:3px}

.zn-setor :is(.st-c,.st-out-l a,.st-gl,.st-btn,.st-imp-c a,.st-reg a):focus-visible{outline:2px solid currentColor; outline-offset:4px}

@media(prefers-reduced-motion:reduce){
  .zn-setor :is(.st-c,.st-out-l a,.st-gl,.st-btn,.st-gl i,.st-c-v i){transition:none !important; transform:none !important}
}
/* alvos de toque de 44 px nestas páginas */
.zn-setor .st-zn-l a{min-height:44px}
.zn-setor :is(.zt-cta,.zt-marca,.zt-nav a,.zt-tel){min-height:44px; display:inline-flex; align-items:center}
/* a secção das modalidades vem depois de uma secção lima: precisa de folga em cima */
.zn-setor section.xs.zm{padding-top:var(--x-pad)}
