/* CONNECT PHP ELITE-395 — additive UX, never touch original carousel or brand. */

/* ELITE-378 Normalizar tokens UX em camada isolada */

:root{--ref-focus:#007bd4;--ref-surface:#f4f9ff;--ref-border:#d4e5f3;--ref-touch:44px;--ref-header-offset:clamp(76px,8vw,110px)}
:is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section,.footer) :where(h1,h2,h3,p,li,dd,dt){overflow-wrap:anywhere}
:is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section,.footer) :where(.container,.card,.plan-card,.product-card-v5,.demo-card-v5){min-width:0;max-width:100%}


/* ELITE-379 Estabilizar menu mobile após rotação e redimensionamento */

@media(max-width:1080px){.nav.open{max-block-size:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}}
@media(orientation:landscape) and (max-height:520px){.nav.open{max-block-size:calc(100dvh - 69px)}}


/* ELITE-380 Melhorar foco por teclado e trajetos de navegação */

:is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section,.footer,.header) :where(a,button,input,select,textarea,summary):focus-visible{
 outline:3px solid var(--ref-focus);outline-offset:3px
}
:is(main[id],section[id],article[id]):target{scroll-margin-block-start:var(--ref-header-offset)}
:where(.skip-link):focus-visible{position:fixed;inset-block-start:12px;inset-inline-start:12px;z-index:999}


/* ELITE-381 Aprimorar alvos de toque e CTAs sem deslocar carrossel */

:is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section,.footer) :where(a.btn,button,.btn,input[type=submit],summary){min-block-size:var(--ref-touch);touch-action:manipulation}
:is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section) :where(.btn,a.btn){max-inline-size:100%;white-space:normal;line-height:1.42;overflow-wrap:anywhere;text-align:center}
:is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section) :where(a,button):disabled{cursor:not-allowed;opacity:.62}


/* ELITE-382 Busca rápida por teclado no catálogo */

.catalog-toolbar-v5 :where(.catalog-search,.catalog-search input){min-width:0;max-width:100%}
.catalog-toolbar-v5 input[type=search]:focus-visible{box-shadow:0 0 0 3px rgba(0,123,212,.17)}


/* ELITE-383 Limpar busca com Escape e preservar filtros existentes */

.catalog-toolbar-v5 [type=search]::-webkit-search-cancel-button{cursor:pointer}
.catalog-toolbar-v5 :where(.catalog-clear,.btn):focus-visible{outline:3px solid var(--ref-focus)}


/* ELITE-384 Informar estado de prévias principal e painel administrativo */

.preview-toolbar .refinement-preview-status{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.preview-tab:focus-visible{outline:3px solid var(--ref-focus);outline-offset:3px}
.preview-toolbar,.preview-tabs{min-inline-size:0;max-inline-size:100%}


/* ELITE-385 Dar retorno legível aos controles do comparador */

.compare-toolbar button:disabled{opacity:.57;cursor:not-allowed}
.compare-toolbar :where(output,[role=status]){min-width:0;overflow-wrap:anywhere}
.compare-choice-card:focus-within{outline:2px solid var(--ref-focus);outline-offset:3px}


/* ELITE-386 Orientar campos inválidos da contratação sem enviar pagamento */

.refinement-form-alert{border:1px solid #f0bdc5;background:#fff1f3;color:#79233a;padding:12px 15px;border-radius:12px;margin:12px 0 20px;line-height:1.5;font-size:14px;font-weight:750}
.refinement-form-alert[hidden]{display:none!important}
.contract-form [aria-invalid=true]{outline:2px solid #b83045;outline-offset:2px}


/* ELITE-387 Reforçar acessibilidade e leitura das perguntas frequentes */

:is(.faq-list,.faq) details{max-width:100%;min-width:0;overflow-wrap:anywhere}
:is(.faq-list,.faq) details summary{min-height:44px;cursor:pointer;touch-action:manipulation;line-height:1.45}
:is(.faq-list,.faq) details:focus-within{outline:2px solid var(--ref-focus);outline-offset:3px;border-radius:9px}
:is(.faq-list,.faq) details[open]>:where(p,div){overflow-wrap:anywhere}


/* ELITE-388 Otimizar smartphones compactos 320–390 pixels */

@media(max-width:390px){
 :is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section)>.container{padding-inline:12px;min-inline-size:0}
 :is(.catalog-grid-v5,.demo-grid,.related-grid-v5,.plans-grid,.comparison-grid,.contract-layout,.footer-grid){grid-template-columns:minmax(0,1fr)}
 :is(.catalog-toolbar-v5,.compare-toolbar,.contract-actions,.intro-actions,.commerce-hero-actions){flex-wrap:wrap;gap:11px}
 :is(.catalog-toolbar-v5,.compare-toolbar,.contract-actions,.intro-actions) :where(.btn,a.btn){max-inline-size:100%;white-space:normal}
 .preview-toolbar :where(.preview-tabs,.preview-live-link){min-inline-size:0;max-inline-size:100%;overflow-wrap:anywhere}
 .preview-tabs{display:flex;flex-wrap:wrap;gap:6px}
 .preview-tabs button{flex:1 1 125px;min-inline-size:0}
}


/* ELITE-389 Otimizar smartphones grandes 391–720 pixels */

@media(min-width:391px) and (max-width:720px){
 :is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section)>.container{max-inline-size:100%;min-inline-size:0}
 :is(.catalog-grid-v5,.demo-grid,.related-grid-v5,.plans-grid){grid-template-columns:minmax(0,1fr)}
 :is(.contract-actions,.intro-actions,.commerce-hero-actions){flex-wrap:wrap}
 :is(.contract-actions,.intro-actions,.commerce-hero-actions) :where(.btn,a.btn){flex:1 1 165px;white-space:normal}
 :is(.product-card-v5,.demo-card-v5,.comparison-card)>*{min-inline-size:0}
}


/* ELITE-390 Otimizar tablets e notebooks compactos 721–1100 pixels */

@media(min-width:721px) and (max-width:1100px){
 :is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section)>.container{max-inline-size:calc(100% - 32px)}
 :is(.catalog-grid-v5,.demo-grid,.related-grid-v5,.plans-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
 :is(.contract-layout,.comparison-grid) > *{min-inline-size:0}
 :is(.catalog-toolbar-v5,.compare-toolbar){flex-wrap:wrap;gap:12px}
}


/* ELITE-391 Otimizar notebook e desktop 1101–1600 pixels */

@media(min-width:1101px) and (max-width:1600px){
 :is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section)>.container{max-inline-size:1240px;margin-inline:auto}
 :is(.catalog-grid-v5,.demo-grid,.related-grid-v5) > *{min-inline-size:0}
 :is(.catalog-toolbar-v5,.compare-toolbar) > *{min-inline-size:0}
 :is(.contract-layout,.comparison-grid) > *{min-inline-size:0}
}


/* ELITE-392 Otimizar monitores ultrawide e conteúdo extenso */

@media(min-width:1601px){
 :is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section,.footer)>.container{max-inline-size:1240px;width:calc(100% - 80px);margin-inline:auto}
 :is(.page-hero,.catalog-hero,.compare-hero) :where(p){max-inline-size:80ch}
 :is(.product-card-v5,.demo-card-v5,.comparison-card){min-inline-size:0}
}


/* ELITE-393 Contraste, zoom, movimento reduzido e leitura de tabelas */

@media(prefers-contrast:more){
 :is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section) :where(button,a.btn,input,select,textarea){border-width:2px}
 :is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section) :where(button,a,input,select,textarea):focus-visible{outline:3px solid currentColor;outline-offset:4px}
}
@media(forced-colors:active){:where(a,button,input,select,textarea):focus-visible{outline:3px solid Highlight}}
@media(prefers-reduced-motion:reduce){
 :is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section,.footer) :where(a,button,.btn){animation:none!important;transition:none!important}
}
:is(.section,.page-hero,.catalog-hero,.compare-hero,.contract-section) :where(.tablewrap,.comparison-table-wrap){overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}

