/* IPTV Portugal Mais: branco, verde da bandeira, vermelho e amarelo, com a onda da calçada portuguesa. Títulos e texto Wix Madefor. Classes "pg-". */
:root {
  --branco: #ffffff;
  --menta: #f0f7f3;
  --creme: #fff8dc;
  --tinta: #10241a;
  --tinta-suave: #3f5248;
  --cinza: #55675d;
  --verde: #046a38;
  --verde-fundo: #03492a;
  --verde-claro: #d6ecdf;
  --vermelho: #d4281b;
  --vermelho-escuro: #ad1f14;
  --amarelo: #ffcd00;
  --fio: #d9e5de;
  --ck-accent: #046a38;
  --ck-accent-ink: #ffffff;
  --raio: 12px;
  --sombra: 0 18px 40px -24px rgba(16, 36, 26, .5);
  --onda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='28' viewBox='0 0 80 28'%3E%3Cpath d='M0 14c10-14 30-14 40 0s30 14 40 0v14H0z' fill='%2310241a'/%3E%3C/svg%3E");
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--branco); color: var(--tinta); font: 400 16.5px/1.7 "Wix Madefor Text", system-ui, -apple-system, "Segoe UI", sans-serif; }
img, svg { max-width: 100%; }
a { color: var(--verde); text-underline-offset: 3px; }
a:hover { color: var(--vermelho-escuro); }
h1, h2, h3, .pg-rod-t { font-family: "Wix Madefor Display", system-ui, sans-serif; color: var(--tinta); line-height: 1.16; font-weight: 700; }
h1 { font-size: clamp(2.15rem, 4.5vw, 3.4rem); font-weight: 800; letter-spacing: -.02em; margin: .1em 0 .4em; }
h2 { font-size: clamp(1.6rem, 2.9vw, 2.3rem); letter-spacing: -.012em; margin: 0 0 .45em; }
h3 { font-size: 1.18rem; margin: 0 0 .35em; }
p { margin: 0 0 1em; }
table { border-collapse: collapse; }
:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 2px; }

.pg-largo { width: min(1150px, 100% - 32px); margin-inline: auto; }
.pg-curto { width: min(790px, 100% - 32px); margin-inline: auto; }
.pg-oculto, .pg-armadilha { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pg-saltar { position: absolute; left: -999px; top: 8px; background: var(--tinta); color: #fff; padding: 8px 14px; z-index: 99; }
.pg-saltar:focus { left: 8px; color: #fff; }
.pg-suave { color: var(--cinza); font-weight: 400; }
.pg-centro { text-align: center; margin-inline: auto; }

/* A onda da calçada: a marca desta casa */
.pg-onda { height: 28px; background: var(--onda) repeat-x left bottom / 80px 28px; }

/* Botões */
.pg-btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 26px; border-radius: 8px; border: 2px solid transparent; font: 700 1rem/1.2 "Wix Madefor Text", sans-serif; text-decoration: none; cursor: pointer; transition: background .15s, color .15s; }
.pg-btn-vermelho { background: var(--vermelho); color: #fff; }
.pg-btn-vermelho:hover { background: var(--vermelho-escuro); color: #fff; }
.pg-btn-verde { background: var(--verde); color: #fff; }
.pg-btn-verde:hover { background: var(--verde-fundo); color: #fff; }
.pg-btn-amarelo { background: var(--amarelo); color: var(--tinta); }
.pg-btn-amarelo:hover { background: #ffe066; color: var(--tinta); }
.pg-btn-linha { background: #fff; border-color: var(--verde); color: var(--verde); }
.pg-btn-linha:hover { background: var(--verde); color: #fff; }
.pg-btn-claro { background: transparent; border-color: rgba(255, 255, 255, .7); color: #fff; }
.pg-btn-claro:hover { background: #fff; color: var(--verde-fundo); }
.pg-btn-cheio { width: 100%; }
.pg-botoes { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 20px; }

/* Topo */
.pg-topo { position: sticky; top: 0; z-index: 30; background: #fff; box-shadow: 0 1px 0 var(--fio); }
.pg-topo-linha { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 68px; }
.pg-marca { display: inline-flex; line-height: 0; }
.pg-nav { display: flex; align-items: center; gap: 2px; }
.pg-nav a { padding: 8px 11px; color: var(--tinta); text-decoration: none; font-weight: 600; font-size: .94rem; border-radius: 6px; }
.pg-nav a:hover { background: var(--menta); color: var(--verde); }
.pg-nav a[aria-current="page"] { color: var(--verde); box-shadow: inset 0 -3px 0 var(--amarelo); border-radius: 0; }
.pg-nav .pg-nav-acao { margin-left: 8px; padding: 10px 18px; background: var(--vermelho); color: #fff; border-radius: 8px; font-weight: 700; }
.pg-nav .pg-nav-acao:hover { background: var(--vermelho-escuro); color: #fff; }
.pg-burger { display: none; width: 46px; height: 46px; background: var(--menta); border: 0; border-radius: 8px; cursor: pointer; padding: 11px 12px; }
.pg-burger span { display: block; height: 2px; background: var(--tinta); margin: 4px 0; }
@media (max-width: 1000px) {
  .pg-burger { display: block; }
  .pg-nav { display: none; position: absolute; left: 0; right: 0; top: 68px; flex-direction: column; align-items: stretch; background: #fff; padding: 8px 16px 18px; box-shadow: var(--sombra); }
  .pg-nav.pg-aberto { display: flex; }
  .pg-nav a { padding: 12px 6px; border-bottom: 1px solid var(--fio); border-radius: 0; }
  .pg-nav .pg-nav-acao { margin: 12px 0 0; text-align: center; border-bottom: 0; border-radius: 8px; }
}
@media (max-width: 400px) { .pg-marca svg { width: 208px; height: auto; } }

/* Trilho */
.pg-trilho { font-size: .86rem; color: var(--cinza); padding: 12px 0; }
.pg-trilho ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pg-trilho li + li::before { content: "›"; margin-right: 6px; }
.pg-trilho a { color: var(--cinza); }

/* Capa */
.pg-capa { background: var(--menta); padding-top: 54px; }
.pg-capa-linha { display: grid; grid-template-columns: 1.1fr .9fr; gap: 50px; align-items: center; padding-bottom: 50px; }
.pg-capa-linha > * { min-width: 0; }
.pg-sobre { font-size: .84rem; font-weight: 700; color: var(--vermelho-escuro); margin: 0 0 .5em; }
.pg-entrada { font-size: 1.13rem; color: var(--tinta-suave); max-width: 58ch; }
.pg-pontos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: .95rem; color: var(--tinta-suave); }
.pg-pontos li::before { content: "✓"; color: var(--verde); font-weight: 800; margin-right: 7px; }
@media (max-width: 900px) { .pg-capa { padding-top: 34px; } .pg-capa-linha { grid-template-columns: 1fr; gap: 32px; padding-bottom: 36px; } }

/* Televisor */
.pg-tv-ecra { background: var(--tinta); color: #fff; padding: 16px; border-radius: 14px; border: 8px solid #06120c; box-shadow: var(--sombra); }
.pg-tv-t { display: flex; justify-content: space-between; align-items: center; margin: 0 0 12px; font: 700 1.08rem/1.2 "Wix Madefor Display", sans-serif; }
.pg-tv-t b { font-size: .7rem; padding: 4px 9px; background: var(--vermelho); border-radius: 4px; }
.pg-tv-grelha { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.pg-tv-c { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 76px; padding: 6px; border-radius: 8px; background: rgba(255, 255, 255, .12); font: 700 .96rem/1.15 "Wix Madefor Display", sans-serif; }
.pg-tv-verde { background: var(--verde); }
.pg-tv-vermelho { background: var(--vermelho); }
.pg-tv-rodape { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; }
.pg-tv-rodape span { font-size: .72rem; font-weight: 600; padding: 3px 9px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 4px; }
.pg-tv-pe { display: block; width: 34%; height: 10px; margin: 0 auto; background: #06120c; border-radius: 0 0 10px 10px; }

/* Abertura das páginas interiores */
.pg-abertura { background: var(--menta); padding-top: 26px; }
.pg-abertura h1 { font-size: clamp(1.95rem, 3.9vw, 2.9rem); }
.pg-abertura .pg-curto { padding-bottom: 22px; }

/* Faixas */
.pg-faixa { padding: 62px 0; }
.pg-cor-menta { background: var(--menta); }
.pg-cor-creme { background: var(--creme); }
.pg-cor-verde { background: var(--verde-fundo); color: #e6f3ec; }
.pg-cor-verde h2, .pg-cor-verde h3 { color: #fff; }
.pg-cor-verde a { color: #fff; }
.pg-cor-verde a:hover { color: var(--amarelo); }
.pg-cor-verde .pg-sobre { color: var(--amarelo); }
.pg-cor-verde .pg-subtexto { color: #d5e9de; }
.pg-cabeca { margin-bottom: 26px; max-width: 760px; }
.pg-subtexto { color: var(--tinta-suave); font-size: 1.04rem; }
.pg-duas { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; align-items: start; }
.pg-duas > * { min-width: 0; }
@media (max-width: 900px) { .pg-duas { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .pg-faixa { padding: 44px 0; } }

/* Resposta curta */
.pg-resposta { background: var(--menta); border-left: 6px solid var(--verde); border-radius: 0 var(--raio) var(--raio) 0; padding: 18px 22px; margin: 0 0 28px; }
.pg-resposta-t { margin: 0 0 5px; font-weight: 700; color: var(--verde); font-size: .9rem; }
.pg-resposta p:last-child { margin-bottom: 0; }
.pg-nota { background: var(--creme); border-radius: var(--raio); padding: 15px 20px; margin: 20px 0; font-size: .97rem; }
.pg-nota p:last-child { margin: 0; }

/* Listas */
.pg-lista { list-style: none; padding: 0; margin: 0 0 1.2em; }
.pg-lista li { position: relative; padding-left: 28px; margin: 0 0 10px; }
.pg-lista li::before { content: "✓"; position: absolute; left: 2px; color: var(--verde); font-weight: 800; }
.pg-cor-verde .pg-lista li::before { color: var(--amarelo); }

/* Cartões: ícone à esquerda */
.pg-cartoes { display: grid; gap: 14px; }
.pg-cartoes-2 { grid-template-columns: repeat(2, 1fr); }
.pg-cartoes-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 960px) { .pg-cartoes-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .pg-cartoes-2, .pg-cartoes-3 { grid-template-columns: 1fr; } }
.pg-cartao { display: flex; gap: 14px; padding: 22px; background: #fff; border: 1px solid var(--fio); border-radius: var(--raio); }
.pg-cartao > div { min-width: 0; }
.pg-cartao p { color: var(--tinta-suave); font-size: .97rem; margin-bottom: .6em; }
.pg-mais { font-weight: 700; text-decoration: none; }
.pg-ic { flex: none; display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 50%; background: var(--verde-claro); }
.pg-ic svg { width: 24px; height: 24px; fill: none; stroke: var(--verde); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Preços */
.pg-plano-top { display: grid; grid-template-columns: 1.3fr auto auto; gap: 28px; align-items: center; padding: 28px 30px; margin-bottom: 14px; background: var(--verde-fundo); color: #e6f3ec; border-radius: var(--raio); }
.pg-plano-top h3 { color: #fff; font-size: 1.6rem; margin: 8px 0 4px; }
.pg-plano-top p { margin: 0; }
.pg-selo { display: inline-block; padding: 3px 11px; background: var(--amarelo); color: var(--tinta); border-radius: 4px; font-size: .78rem; font-weight: 700; }
.pg-plano-top-preco strong { display: block; font: 800 2.4rem/1.05 "Wix Madefor Display", sans-serif; color: #fff; white-space: nowrap; }
.pg-plano-top-preco span { font-size: .92rem; }
@media (max-width: 860px) { .pg-plano-top { grid-template-columns: 1fr; gap: 14px; padding: 24px 22px; } }
.pg-planos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pg-planos > * { min-width: 0; }
@media (max-width: 760px) { .pg-planos { grid-template-columns: 1fr; } }
.pg-plano { display: flex; flex-direction: column; padding: 22px; background: #fff; border: 1px solid var(--fio); border-radius: var(--raio); }
.pg-plano p { color: var(--cinza); font-size: .94rem; }
.pg-plano strong { font: 800 1.7rem/1.1 "Wix Madefor Display", sans-serif; }
.pg-plano span { font-size: .88rem; color: var(--cinza); margin-bottom: 16px; }
.pg-plano .pg-btn { margin-top: auto; padding: 12px; }
.pg-pequeno { font-size: .87rem; color: var(--cinza); margin: 12px 0 0; }

/* Quadros */
.pg-quadro-zona { overflow-x: auto; background: #fff; border: 1px solid var(--fio); border-radius: var(--raio); margin: 0 0 1.4em; }
.pg-quadro { width: 100%; min-width: 500px; font-size: .95rem; }
.pg-quadro caption { text-align: left; padding: 12px 16px 6px; font-size: .88rem; color: var(--cinza); }
.pg-quadro th, .pg-quadro td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--fio); vertical-align: top; }
.pg-quadro thead th { background: var(--verde-claro); color: var(--verde-fundo); font-size: .9rem; }
.pg-quadro tbody th { font-weight: 600; }
.pg-quadro tbody tr:last-child th, .pg-quadro tbody tr:last-child td { border-bottom: 0; }

/* Dúvidas */
.pg-duvidas { display: grid; gap: 8px; }
.pg-duvida { background: #fff; border: 1px solid var(--fio); border-radius: 8px; }
.pg-duvida summary { cursor: pointer; list-style: none; padding: 15px 46px 15px 18px; font-weight: 600; position: relative; }
.pg-duvida summary::-webkit-details-marker { display: none; }
.pg-duvida summary::after { content: "+"; position: absolute; right: 18px; top: 11px; color: var(--vermelho); font-size: 1.5rem; font-weight: 500; line-height: 1.3; }
.pg-duvida[open] summary::after { content: "−"; }
.pg-duvida-r { padding: 0 18px 16px; color: var(--tinta-suave); }
.pg-duvida-r p { margin: 0; }

/* Passos: linha vertical com números grandes */
.pg-passos { list-style: none; margin: 0 0 24px; padding: 0; counter-reset: p; }
.pg-passos li { counter-increment: p; position: relative; padding: 0 0 22px 66px; min-height: 58px; }
.pg-passos li::before { content: counter(p); position: absolute; left: 0; top: -6px; width: 46px; text-align: center; font: 800 2.3rem/1.2 "Wix Madefor Display", sans-serif; color: var(--verde); }
.pg-passos li::after { content: ""; position: absolute; left: 22px; top: 42px; bottom: 4px; border-left: 2px solid var(--fio); }
.pg-passos li:last-child { padding-bottom: 0; }
.pg-passos li:last-child::after { display: none; }
.pg-passos p { color: var(--tinta-suave); margin: 0; }
.pg-cor-verde .pg-passos li::before { color: var(--amarelo); }
.pg-cor-verde .pg-passos p { color: #e6f3ec; }
.pg-cor-verde .pg-passos li::after { border-color: rgba(255, 255, 255, .3); }

/* Índice, data */
.pg-indice { border: 1px solid var(--fio); border-radius: var(--raio); padding: 16px 22px; margin: 0 0 30px; }
.pg-indice p { margin: 0 0 6px; font-weight: 700; }
.pg-indice ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 30px; }
@media (max-width: 620px) { .pg-indice ol { columns: 1; } }
.pg-datado { font-size: .86rem; color: var(--cinza); }

/* Equipamentos */
.pg-equip { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
@media (max-width: 900px) { .pg-equip { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .pg-equip { grid-template-columns: repeat(2, 1fr); } }
.pg-equip a { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 20px 8px; height: 100%; background: var(--menta); border-radius: var(--raio); text-decoration: none; color: var(--tinta); font-weight: 600; font-size: .93rem; text-align: center; }
.pg-equip a:hover { background: var(--verde-claro); color: var(--verde-fundo); }
.pg-equip svg { width: 30px; height: 30px; fill: none; stroke: var(--verde); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* Formulários */
.pg-form { background: #fff; border: 1px solid var(--fio); border-top: 6px solid var(--verde); border-radius: var(--raio); box-shadow: var(--sombra); padding: 26px; }
.pg-form-t { font-size: 1.38rem; margin-bottom: 16px; }
.pg-campo { margin: 0 0 14px; display: flex; flex-direction: column; gap: 6px; }
.pg-campo label { font-weight: 600; font-size: .94rem; }
.pg-campo input, .pg-campo select, .pg-campo textarea { font: inherit; font-size: 1rem; padding: 12px 13px; border: 1.5px solid #b6c8be; border-radius: 8px; background: #fff; color: var(--tinta); width: 100%; }
.pg-campo input:focus, .pg-campo select:focus, .pg-campo textarea:focus { outline: none; border-color: var(--verde); box-shadow: 0 0 0 3px rgba(4, 106, 56, .17); }
.pg-aviso { display: none; padding: 12px 14px; border-radius: 8px; font-size: .96rem; margin: 0 0 14px; }
.pg-aviso.pg-visivel { display: block; }
.pg-aviso-ok { background: #dff3e6; color: #124a2c; }
.pg-aviso-erro { background: #fce4e1; color: #8a1a10; }

/* Fecho */
.pg-fecho { background: var(--verde); color: #e6f3ec; }
.pg-fecho-linha { display: flex; align-items: center; justify-content: space-between; gap: 26px; flex-wrap: wrap; padding: 48px 0; }
.pg-fecho h2 { color: #fff; margin-bottom: .25em; }
.pg-fecho p { margin: 0; max-width: 56ch; }
.pg-fecho .pg-botoes { margin: 0; }

/* Rodapé */
.pg-rod { background: var(--tinta); color: #cfddd5; }
.pg-rod > .pg-onda { background-color: #fff; transform: scaleY(1); }
.pg-rod-cima { display: grid; grid-template-columns: .9fr 2.6fr; gap: 40px; padding: 46px 0 28px; }
.pg-rod-marca p { font-size: .94rem; margin: 14px 0 0; }
.pg-rod-cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.pg-rod-t { color: #fff; font-size: 1rem; margin: 0 0 12px; }
.pg-rod ul { list-style: none; margin: 0; padding: 0; }
.pg-rod li { margin: 0 0 8px; line-height: 1.4; }
.pg-rod a { color: #cfddd5; text-decoration: none; font-size: .92rem; }
.pg-rod a:hover { color: #fff; text-decoration: underline; }
.pg-rod-fim { border-top: 1px solid rgba(255, 255, 255, .15); padding: 16px 0 24px; font-size: .84rem; }
.pg-rod-fim p { margin: 0; }
.pg-rod-fim a { text-decoration: underline; font-size: inherit; }
@media (max-width: 1000px) { .pg-rod-cima { grid-template-columns: 1fr; } .pg-rod-cols { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px) { .pg-rod-cols { grid-template-columns: repeat(2, 1fr); } }

/* Texto longo */
.pg-texto h2 { margin-top: 1.3em; }
.pg-texto h2:first-child, .pg-sobre + h2 { margin-top: 0; }
.pg-texto h3 { margin-top: 1.1em; }
.pg-texto ul, .pg-texto ol { padding-left: 22px; }
.pg-texto .pg-lista { padding-left: 0; }
.pg-texto li { margin-bottom: 6px; }
.pg-canais { list-style: none; margin: 0 0 1.4em; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pg-canais li { padding: 7px 14px; background: var(--menta); border-radius: 999px; font-weight: 600; font-size: .95rem; }

/* O que está incluído em cada plano */
.pg-incluido { list-style: none; margin: 0 0 18px; padding: 14px 0 0; border-top: 1px solid var(--fio); font-size: .9rem; line-height: 1.4; color: var(--tinta-suave); }
.pg-incluido li { position: relative; padding-left: 22px; margin-bottom: 8px; }
.pg-incluido li::before { content: "✓"; position: absolute; left: 0; color: var(--verde); font-weight: 800; }
.pg-incluido-largo { grid-column: 1 / -1; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 26px; color: #e6f3ec; border-top-color: rgba(255, 255, 255, .25); }
.pg-incluido-largo li::before { color: var(--amarelo); }
@media (max-width: 620px) { .pg-incluido-largo { grid-template-columns: 1fr; } }
