/* Ultrafibra — páginas internas (sobre, contato, cobertura, padrão). */

.uf-sobre { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.uf-sobre--imagem { grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); }
.uf-sobre .uf-texto-rico { font-size: 1.06rem; }
.uf-sobre__imagem { margin: 0; position: relative; }
.uf-sobre__imagem img { width: 100%; border-radius: calc(var(--uf-raio) * 1.4); box-shadow: var(--uf-sombra-forte); }
.uf-sobre__imagem::before { content: ""; position: absolute; inset: 14% -14px -14px 14%; z-index: -1; border-radius: calc(var(--uf-raio) * 1.4); background: linear-gradient(140deg, var(--uf-destaque), var(--uf-primaria)); opacity: .35; }

/* Sobre organizado: abertura com imagem e números, depois um cartão por título. */
.uf-sobre-intro__grade { display: grid; gap: clamp(2.5rem, 6vw, 4.5rem); align-items: center; }
.uf-sobre-intro__grade > * { min-width: 0; }
@media (min-width: 900px) { .uf-sobre-intro__grade--imagem { grid-template-columns: 1.08fr .92fr; } }
.uf-sobre-intro__rico { max-width: 62ch; color: var(--uf-texto-suave); font-size: 1.02rem; text-wrap: pretty; }
.uf-sobre-intro__rico > p:first-child { position: relative; padding-left: 1.1rem; color: var(--uf-texto); font-size: clamp(1.12rem, 2vw, 1.3rem); line-height: 1.55; font-weight: 500; }
.uf-sobre-intro__rico > p:first-child::before { content: ""; position: absolute; left: 0; top: .3em; bottom: .3em; width: 4px; border-radius: 4px; background: linear-gradient(180deg, var(--uf-destaque), var(--uf-primaria)); }
.uf-sobre-intro__rico strong { color: var(--uf-texto); }

.uf-sobre-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 92px), 1fr)); gap: .6rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.uf-sobre-numeros li { display: grid; align-content: start; gap: .25rem; padding: .9rem clamp(.75rem, 2vw, 1.1rem); border-radius: var(--uf-raio); background: var(--uf-fundo-alt); border: 1px solid var(--uf-borda); }
.uf-sobre-numeros strong { font: 800 clamp(1.7rem, 3.4vw, 2.2rem)/1 var(--uf-fonte-titulo); letter-spacing: -.03em; color: var(--uf-primaria); font-variant-numeric: tabular-nums; }
[data-tema="escuro"] .uf-sobre-numeros strong { color: var(--uf-destaque); }
.uf-sobre-numeros span { font-size: .8rem; color: var(--uf-texto-suave); line-height: 1.3; }

.uf-sobre-intro__imagem { position: relative; margin: 0 .9rem .9rem 0; isolation: isolate; }
.uf-sobre-intro__imagem img { display: block; width: 100%; aspect-ratio: 16 / 11; object-fit: cover; border-radius: calc(var(--uf-raio) * 1.4); box-shadow: var(--uf-sombra-forte); }
.uf-sobre-intro__imagem::before { content: ""; position: absolute; inset: 12% -.9rem -.9rem 12%; z-index: -1; border-radius: calc(var(--uf-raio) * 1.4); background: linear-gradient(140deg, var(--uf-destaque), var(--uf-primaria)); opacity: .35; }
.uf-sobre-blocos__lista { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 760px) { .uf-sobre-blocos__lista { grid-template-columns: repeat(var(--uf-qtd, 2), minmax(0, 1fr)); gap: 1.5rem; } }
.uf-sobre-bloco { position: relative; overflow: hidden; padding: clamp(1.5rem, 3.5vw, 2.4rem); border-radius: calc(var(--uf-raio) * 1.2); background: var(--uf-superficie); border: 1px solid var(--uf-borda); box-shadow: var(--uf-sombra); transition: transform var(--uf-transicao), border-color var(--uf-transicao); }
.uf-sobre-bloco:hover { transform: translateY(-3px); border-color: var(--uf-destaque); }
.uf-sobre-bloco::after { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--uf-primaria), var(--uf-destaque)); }
.uf-sobre-bloco__icone { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 1.2rem; border-radius: calc(var(--uf-raio) * .8); background: linear-gradient(140deg, var(--uf-destaque), color-mix(in srgb, var(--uf-destaque) 50%, var(--uf-primaria))); color: #fff; box-shadow: 0 10px 24px -10px var(--uf-destaque); }
.uf-sobre-bloco__numero { position: absolute; top: .9rem; right: 1.2rem; font: 800 clamp(2.6rem, 6vw, 3.6rem)/1 var(--uf-fonte-titulo); letter-spacing: -.04em; color: color-mix(in srgb, var(--uf-primaria) 10%, transparent); }
[data-tema="escuro"] .uf-sobre-bloco__numero { color: color-mix(in srgb, var(--uf-destaque) 14%, transparent); }
.uf-sobre-bloco__titulo { font-size: clamp(1.3rem, 2.4vw, 1.55rem); font-weight: 800; margin-bottom: .6rem; }
.uf-sobre-bloco__texto { color: var(--uf-texto-suave); }
@media (prefers-reduced-motion: reduce) { .uf-sobre-bloco, .uf-sobre-bloco:hover { transition: none; transform: none; } }

.uf-lojas { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.uf-loja { display: grid; gap: 1rem; align-content: start; }
.uf-loja__titulo { font-size: 1.2rem; font-weight: 800; }

.uf-contato { display: grid; gap: 2rem; align-items: start; }
.uf-contato > * { min-width: 0; }
@media (max-width: 560px) { .uf-contato__formulario { padding: 1.25rem 1rem; } .uf-contato__titulo { font-size: 1.35rem; } }
@media (min-width: 960px) { .uf-contato { grid-template-columns: 1.3fr .7fr; } }
.uf-contato__titulo { font-size: 1.6rem; font-weight: 800; margin-bottom: .4rem; }
.uf-contato__info { padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--uf-raio); background: var(--uf-fundo-alt); }

/* Formulário de lead (marcação do plugin, estilo do tema). */
.uf-form { display: grid; gap: 1rem; margin-top: 1.5rem; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.uf-form__campo { display: grid; gap: .35rem; grid-column: span 6; }
@media (min-width: 640px) { .uf-form__campo--meia { grid-column: span 3; } .uf-form__campo--terco { grid-column: span 2; } .uf-form__campo--dois-tercos { grid-column: span 4; } }
.uf-form__rotulo { font-weight: 700; font-size: .9rem; }
.uf-form__entrada { width: 100%; min-height: 50px; padding: .7rem .95rem; border: 1.5px solid var(--uf-borda); border-radius: calc(var(--uf-raio) * .7); background: var(--uf-superficie); color: var(--uf-texto); font: inherit; }
.uf-form__entrada:focus { outline: none; border-color: var(--uf-destaque); box-shadow: 0 0 0 4px color-mix(in srgb, var(--uf-destaque) 18%, transparent); }
.uf-form__entrada[aria-invalid="true"] { border-color: #d92d20; }
.uf-form__erro { color: #d92d20; font-size: .85rem; }
[data-tema="escuro"] .uf-form__erro { color: #ff8a80; }
.uf-form__consentimento { display: flex; gap: .6rem; align-items: flex-start; grid-column: span 6; font-size: .9rem; color: var(--uf-texto-suave); }
.uf-form__consentimento input { margin-top: .25rem; width: 18px; height: 18px; accent-color: var(--uf-primaria); flex: none; }
.uf-form__enviar { grid-column: span 6; }
.uf-form__mel { position: absolute; left: -9999px; }
.uf-form__aviso { grid-column: span 6; padding: 1rem 1.2rem; border-radius: var(--uf-raio); font-weight: 600; }
.uf-form__aviso--ok { background: color-mix(in srgb, var(--uf-whatsapp) 15%, var(--uf-superficie)); }
.uf-form__aviso--erro { background: color-mix(in srgb, #d92d20 12%, var(--uf-superficie)); }
.uf-form__campo { align-content: start; }
.uf-form > .uf-form__erro { grid-column: span 6; margin-top: -.5rem; }
