/* Conteúdo e estilos principais ficam nos controles nativos do Elementor.
   Aqui: acessibilidade, composição de preços e comportamento de navegação. */
body {
  --ok-ink:var(--e-global-color-text,#1A1A1A);
  --ok-muted:var(--e-global-color-okmuted,#525252);
  --ok-green:var(--e-global-color-primary,#0BD904);
  --ok-green-soft:var(--e-global-color-accent,#70D925);
  --ok-orange:var(--e-global-color-secondary,#F28705);
  --ok-cta:var(--e-global-color-okcta,#F27405);
  --ok-surface:var(--e-global-color-okcream,#F2F2F2);
}
html { scroll-behavior:smooth; scroll-padding-top:105px; }
body { margin:0; font-family:Manrope,Arial,sans-serif; color:var(--ok-ink); background:#fff; }
*, *::before, *::after { box-sizing:border-box; }
a { color:inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline:3px solid var(--ok-ink); outline-offset:5px; box-shadow:0 0 0 5px #fff; }
.elementor-widget-text-editor p:last-child { margin-bottom:0; }
.elementor-button { transition:transform .18s,box-shadow .18s,background .18s; }
.elementor-button:hover { transform:translateY(-2px); box-shadow:0 7px 20px #1a1a1a16; }
.elementor-button .elementor-button-content-wrapper { align-items:center; }
.elementor-location-header { position:sticky; top:0; z-index:100; box-shadow:0 2px 20px #1a1a1a08; }
body.admin-bar .elementor-location-header { top:32px; }
.ok-header .elementor-nav-menu a { white-space:nowrap; }
.ok-hero { overflow:hidden; }
.ok-hero h1 span, .ok-accent { color:var(--ok-orange); }
.ok-hero-note { border-left:2px solid var(--ok-orange); padding-left:15px; }
.ok-eyebrow .elementor-heading-title::before { content:""; display:inline-block; width:18px; height:3px; margin:0 8px 3px 0; border-radius:2px; background:var(--ok-green); }
.ok-palette-highlight { color:var(--ok-ink); background:var(--ok-green-soft); border-radius:6px; padding:0 .12em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.ok-coverage .elementor-form-fields-wrapper { margin:0; flex-wrap:nowrap; padding:5px; border:1px solid #ddd; border-radius:100px; background:#fff; }
.ok-coverage .elementor-field-group { padding:0; margin:0; }
.ok-coverage .elementor-field-type-tel { flex:1; min-width:0; }
.ok-coverage .elementor-field-type-submit { width:auto; flex-shrink:0; }
.ok-coverage .elementor-field-textual { min-width:0; box-shadow:none; }
.ok-coverage .elementor-button { white-space:nowrap; }
.ok-coverage .elementor-error { color:#a71919; }
.ok-coverage .elementor-message { border-radius:10px; padding:10px; background:#fff; color:var(--ok-ink); }
.ok-plan { position:relative; transition:transform .2s,box-shadow .2s; }
.ok-plan:hover { transform:translateY(-5px); box-shadow:0 16px 40px #1a1a1a12; }
.ok-plan .ok-plan-cta { margin-top:auto; }
.ok-price .elementor-heading-title { display:flex; align-items:baseline; gap:3px; white-space:nowrap; }
.ok-price .currency { font-size:18px; font-weight:700; }
.ok-price .cents { font-size:30px; }
.ok-price .period { font-size:12px; color:var(--ok-muted); font-weight:500; margin-left:3px; }
.ok-plan .ok-plan-badge { width:calc(100% - 48px); z-index:2; }
.ok-benefit .elementor-icon, .ok-help-card .elementor-icon { transition:transform .2s; }
.ok-benefit:hover .elementor-icon, .ok-help-card:hover .elementor-icon { transform:translateY(-3px); }
.ok-photo img { width:100%; height:auto; object-fit:cover; }
.ok-house img { mix-blend-mode:multiply; }
.ok-mobile-section { position:relative; overflow:hidden; }
.ok-mobile-section::after { content:""; position:absolute; width:440px; height:440px; right:-170px; top:-160px; border:1px solid #ffffff40; border-radius:50%; box-shadow:0 0 0 60px #ffffff15,0 0 0 120px #ffffff08; pointer-events:none; z-index:0; }
.ok-mobile-section > .e-con-inner { position:relative; z-index:1; }
.ok-mobile-section .ok-eyebrow .elementor-heading-title::before, #contratar .ok-eyebrow .elementor-heading-title::before { background:var(--ok-ink); }
.ok-5g .elementor-heading-title { letter-spacing:-8px; }
.ok-faq .elementor-tab-title { border-radius:8px; }
.ok-faq .elementor-tab-title a { line-height:1.5; }
.ok-footer a:hover { color:var(--ok-green-soft); }
.ok-footer .elementor-icon-list-text { transition:color .15s; }
.ok-page-intro { background:var(--ok-surface); }
/* Sizes and content remain editable in each native Elementor widget. */
.ok-section-label .elementor-heading-title::before { content:""; display:inline-block; width:28px; height:5px; margin:0 12px 6px 0; border-radius:3px; background:var(--ok-green); }
.ok-bonus-speed .elementor-heading-title, .ok-mobile-data .elementor-heading-title { white-space:nowrap; }
.ok-bonus-caption { display:block; white-space:normal; margin-bottom:8px; font-size:13px; font-weight:600; line-height:1.45; letter-spacing:0; }
.ok-base-caption { display:block; margin-bottom:5px; font-size:13px; font-weight:600; line-height:1.45; letter-spacing:0; }
.ok-speed-unit { font-size:.46em; letter-spacing:-.4px; }
.ok-bonus-speed .ok-speed-unit { padding:3px 6px; border-radius:6px; background:var(--ok-green-soft); vertical-align:middle; }
.ok-mobile-price .currency { font-size:14px; }
.ok-mobile-price .cents { font-size:22px; }
.ok-mobile-price .period { font-size:11px; }
.ok-mobile-card-price { margin-top:auto; padding-top:8px; }
.ok-mobile-benefits .elementor-icon-list-item { align-items:flex-start; }
.ok-mobile-benefits .elementor-icon-list-icon { padding-top:4px; }
.ok-mobile-card { transition:transform .25s ease,box-shadow .25s ease; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) { .ok-mobile-card:hover { transform:translateY(-5px); } }
.ok-inner-hero { overflow:hidden; }
.ok-inner-hero-copy { min-width:0; }
.ok-page-label .elementor-heading-title::before { content:""; display:inline-block; width:28px; height:5px; margin:0 12px 6px 0; border-radius:3px; background:var(--ok-green); }
.ok-inner-hero-visual { position:relative; min-width:0; }
.ok-inner-hero-visual::after { content:""; position:absolute; right:28px; bottom:-7px; width:100px; height:8px; border-radius:10px; background:linear-gradient(90deg,var(--ok-green) 60%,var(--ok-cta) 60%); }
.ok-inner-hero-photo img { display:block; }
.ok-inner-hero .ok-hero-breadcrumb a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.elementor .ok-support-fab { width:auto; max-width:calc(100vw - 32px); margin-bottom:env(safe-area-inset-bottom,0px); margin-right:env(safe-area-inset-right,0px); }
.ok-support-fab .elementor-button { box-shadow:0 6px 24px #1a1a1a26; }
.ok-support-fab .elementor-button-content-wrapper { gap:10px; }
.ok-support-fab .elementor-button-icon { font-size:19px; }
.ok-support-fab .elementor-button-text { white-space:nowrap; }
.elementor-editor-active .elementor .ok-support-fab { position:static; transform:none; }
@media print { .elementor .ok-support-fab { display:none; } }
@media (max-width:1100px) { .ok-header .elementor-nav-menu--main .elementor-item { padding-left:9px; padding-right:9px; } }
@media (max-width:1024px) { .ok-header .ok-header-nav { order:3; } .ok-header .elementor-nav-menu--dropdown { padding:12px; border-radius:14px; box-shadow:0 12px 28px #1a1a1a1a; } }
@media (max-width:767px) {
  .ok-support-fab .elementor-button { min-width:52px; min-height:52px; display:inline-flex; align-items:center; justify-content:center; }
  .ok-support-fab .elementor-button-content-wrapper { gap:0; }
  .ok-support-fab .elementor-button-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
  html { scroll-padding-top:85px; }
  body.admin-bar .elementor-location-header { top:46px; }
  .ok-hero { background-position:65% bottom; }
  .ok-coverage .elementor-form-fields-wrapper { border-radius:30px; }
  .ok-coverage .elementor-button { font-size:12px; padding:15px 17px; }
  .ok-price .period { font-size:12px; }
  .ok-plan-badge { left:30px; right:30px; }
  .ok-5g .elementor-heading-title { letter-spacing:-4px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
