/* =========================================================
   MODELO OZOXX — página de captura
   Azul-marinho e azul-piscina do logotipo, Exo nos títulos e Inter no texto.
   Contrastes conferidos (WCAG AA): botão marinho/branco 12:1 · azul-claro/marinho 6,6:1
   ========================================================= */
@font-face { font-family: 'Exo'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/exo-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Exo'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/exo-latin-700-normal.woff2) format('woff2'); }
@font-face { font-family: 'Exo'; font-style: normal; font-weight: 800; font-display: swap; src: url(fonts/exo-latin-800-normal.woff2) format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/inter-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/inter-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/inter-latin-600-normal.woff2) format('woff2'); }

:root {
    --oz-verde: #342D68;        /* (nome herdado) botão principal: azul-marinho do logo */
    --oz-verde-hover: #2A2456;
    --oz-verde-titulo: #342D68; /* títulos */
    --oz-verde-claro: #1A9BAA;  /* azul-piscina do logo (destaques) */
    --oz-verde-palido: #F1F6FA; /* fundos */
    --oz-verde-escuro: #221D47; /* faixa do vídeo */
    --oz-dourado: #6FD3DE;      /* botão claro sobre a faixa escura */
    --oz-texto: #1B1B2B;
    --oz-texto-2: #565A6E;
    --oz-borda: #DCE3EC;
    --oz-raio: 18px;
    --oz-titulo: 'Exo', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --oz-corpo: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--oz-texto); font: 400 16px/1.6 var(--oz-corpo); -webkit-font-smoothing: antialiased; }
img, video { display: block; max-width: 100%; }
a { color: inherit; }

/* Topo */
.oz-top {
    display: flex; justify-content: center; align-items: center;
    padding: 20px 16px; background: #fff;
    border-bottom: 1px solid var(--oz-borda);
    position: relative;
}
.oz-top::after { content: ""; position: absolute; left: 50%; bottom: -2px; width: 56px; height: 3px; margin-left: -28px; border-radius: 3px; background: var(--oz-verde-claro); }
.oz-top img { height: 48px; width: auto; }

/* Seções */
.oz-sec { padding: 44px 16px 52px; }
.oz-wrap { max-width: 640px; margin: 0 auto; text-align: center; }
.oz-hero { background: linear-gradient(180deg, var(--oz-verde-palido) 0%, #fff 100%); }

.oz-eyebrow {
    display: inline-block; margin: 0 0 14px; padding: 6px 14px; border-radius: 999px;
    background: #E3F1F4; color: var(--oz-verde-titulo);
    font: 600 12px/1.2 var(--oz-corpo); letter-spacing: .08em; text-transform: uppercase;
}
.oz-eyebrow--light { background: rgba(26, 155, 170, .18); color: #BFE7EC; }

.oz-title {
    margin: 0 0 12px; color: var(--oz-verde-titulo);
    font: 700 clamp(28px, 7.5vw, 42px)/1.15 var(--oz-titulo);
    letter-spacing: -.015em; text-wrap: balance;
}
.oz-title--sm { font-size: clamp(24px, 6vw, 32px); }
.oz-lead { margin: 0 auto 26px; max-width: 34em; color: var(--oz-texto-2); font-size: 17px; text-wrap: pretty; }

.oz-destaque { margin: 0 auto 22px; width: 100%; max-width: 420px; height: auto; }

/* Faixa do vídeo oficial */
.oz-dark { background: var(--oz-verde-escuro); color: #fff; position: relative; overflow: hidden; }
.oz-dark::before {
    content: ""; position: absolute; inset: auto -20% -60% -20%; height: 120%;
    background: radial-gradient(closest-side, rgba(26, 155, 170, .22), transparent 70%);
    pointer-events: none;
}
.oz-dark .oz-wrap { position: relative; }
.oz-dark .oz-title { color: #fff; }
.oz-lead--light { color: #BFE7EC; }

/* Vídeos */
.oz-video {
    position: relative; aspect-ratio: 16 / 9; margin: 0 auto 26px;
    border-radius: var(--oz-raio); overflow: hidden; background: #000;
    box-shadow: 0 20px 44px -22px rgba(34, 29, 71, .55);
}
.oz-dark .oz-video { box-shadow: 0 0 0 4px rgba(26, 155, 170, .18), 0 24px 50px -20px rgba(0, 0, 0, .7); }
.oz-video iframe, .oz-video video, .oz-play, .oz-play img { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.oz-video video { object-fit: contain; background: #000; }
.oz-play { padding: 0; cursor: pointer; background: #000; }
.oz-play img { object-fit: cover; opacity: .9; transition: opacity .2s; }
.oz-play:hover img { opacity: 1; }
.oz-play-icon {
    position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px;
    display: grid; place-items: center; border-radius: 50%; background: var(--oz-dourado);
    box-shadow: 0 0 0 10px rgba(111, 211, 222, .25), 0 10px 24px rgba(0, 0, 0, .35);
    transition: transform .2s;
}
.oz-play:hover .oz-play-icon { transform: scale(1.06); }
.oz-play-icon svg { width: 32px; height: 32px; fill: var(--oz-verde-escuro); margin-left: 4px; }

/* Botões */
.oz-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; max-width: 420px; min-height: 60px; padding: 16px 28px;
    border: 0; border-radius: 999px; background: var(--oz-verde); color: #fff;
    font: 700 18px/1.2 var(--oz-titulo); text-decoration: none; cursor: pointer;
    box-shadow: 0 12px 26px -12px rgba(52, 45, 104, .8);
    transition: transform .15s, background .15s;
}
.oz-btn:hover { background: var(--oz-verde-hover); transform: translateY(-1px); }
.oz-btn:active { transform: translateY(0); }
.oz-btn:focus-visible, .oz-play:focus-visible { outline: 3px solid var(--oz-verde-claro); outline-offset: 3px; }
.oz-btn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.oz-btn--claro { background: var(--oz-dourado); color: var(--oz-verde-escuro); box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .6); }
.oz-btn--claro:hover { background: #8FE0E8; }
.oz-btn--full { max-width: none; }
.oz-btn[disabled] { opacity: .6; cursor: wait; transform: none; }
.oz-note { margin: 12px 0 0; font-size: 13px; color: var(--oz-texto-2); }

/* Formulário */
.oz-form-sec { background: var(--oz-verde-palido); padding-bottom: 60px; }
.oz-card {
    background: #fff; text-align: left; border-radius: var(--oz-raio); padding: 26px 20px;
    border-top: 5px solid var(--oz-verde-claro);
    box-shadow: 0 18px 40px -26px rgba(34, 29, 71, .4);
}
.oz-field { display: block; margin-bottom: 16px; }
.oz-field span { display: block; margin-bottom: 6px; font: 600 14px/1.3 var(--oz-corpo); }
.oz-field input {
    width: 100%; min-height: 52px; padding: 12px 14px;
    border: 1.5px solid var(--oz-borda); border-radius: 12px; background: #fff; color: var(--oz-texto);
    font: 400 17px/1.3 var(--oz-corpo); transition: border-color .15s, box-shadow .15s;
}
.oz-field input:focus { outline: none; border-color: var(--oz-verde); box-shadow: 0 0 0 3px rgba(26, 155, 170, .35); }
.oz-field input[aria-invalid="true"] { border-color: #C62828; }
.oz-check { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 18px; font-size: 14px; line-height: 1.45; color: var(--oz-texto-2); cursor: pointer; }
.oz-check input { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--oz-verde); }
.oz-check a { color: inherit; }
.oz-error { margin: 0 0 14px; padding: 10px 12px; border-radius: 8px; background: #FDECEC; color: #9B1C1C; font-size: 14px; }
.oz-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.oz-success { text-align: center; padding: 10px 0; }
.oz-check-icon { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 50%; background: #E3F1F4; }
.oz-check-icon svg { width: 28px; height: 28px; fill: none; stroke: var(--oz-verde); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.oz-success .vx-success-text { margin: 0 0 16px; font: 600 19px/1.4 var(--oz-titulo); color: var(--oz-verde-titulo); }
.oz-link { color: var(--oz-verde-titulo); font-weight: 600; }

/* Rodapé */
.oz-foot { padding: 32px 16px 40px; text-align: center; background: #fff; font-size: 14px; color: var(--oz-texto-2); }
.oz-foot img { margin: 0 auto 14px; height: 32px; width: auto; }
.oz-foot p { margin: 4px 0; }
.oz-foot a { color: var(--oz-verde-titulo); font-weight: 600; text-decoration: none; }
.oz-legal { max-width: 34em; margin: 14px auto 0 !important; font-size: 12px; color: #8A8A8A; }
.sac-privacy { margin-top: 10px !important; font-size: 12px; opacity: .85; }

/* Ícone do WhatsApp no botão 2 */
.oz-btn--claro { font-size: 17px; padding-left: 20px; padding-right: 20px; }
.oz-btn .oz-wa { fill: currentColor; stroke: none; width: 22px; height: 22px; }
.oz-note--light { color: #BFE7EC; max-width: 30em; margin-left: auto; margin-right: auto; }

/* Vitrine de produtos (aparece só quando a Ozoxx tem produtos cadastrados) */
.oz-loja { background: #fff; }
.oz-btn--linha { background: #fff; color: var(--oz-verde); box-shadow: inset 0 0 0 2px var(--oz-verde); }
.oz-btn--linha:hover { background: var(--oz-verde); color: #fff; }

/* Título com o degradê do logotipo */
.oz-hero .oz-title { background: linear-gradient(90deg, #342D68 0%, #1F5E86 60%, #1A8A9C 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Página indisponível */
.oz-off { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; text-align: center; background: var(--oz-verde-palido); }
.oz-off img { margin: 0 auto 24px; height: 48px; width: auto; }

@media (min-width: 720px) {
    .oz-sec { padding: 64px 24px 72px; }
    .oz-card { padding: 34px 32px; }
}
@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; scroll-behavior: auto !important; }
}
