/* Leandro Álan Premium 8.14 — rodapé essencial e revisão visual em todos os tamanhos.
   Este arquivo é carregado APÓS os CSS anteriores para corrigir conflitos de cascata. */
:root { --la814-ink:#132c40; --la814-gold:#d7b583; }
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { min-width:0; overflow-x:clip; }
img,svg,video,canvas { max-width:100%; }
.site-container { min-width:0; }
main { min-width:0; }
/* Rodapé definitivo: sem colunas de navegação repetidas e sem grande área vazia. */
.la24-footer.la814-footer { padding:0!important; background:#071827; color:#c9d2da; }
.la814-footer .la814-footer-main { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:30px 0 25px; }
.la814-footer .la814-footer-identity { min-width:0; display:flex; flex-direction:column; gap:6px; }
.la814-footer .la814-footer-name { display:block; color:#fff; font:400 28px/1.05 Georgia,'Times New Roman',serif; letter-spacing:-.045em; }
.la814-footer .la814-footer-name em { color:#dfbe8b; }
.la814-footer .la814-footer-identity>span { font-size:11px; color:#d7c2a0; letter-spacing:.045em; }
.la814-footer .la814-footer-identity>small { font-size:10.5px; line-height:1.5; color:#aab8c4; }
.la814-footer .la814-footer-nav { display:flex; gap:24px; flex-wrap:wrap; justify-content:flex-end; align-items:center; min-width:0; }
.la814-footer .la814-footer-nav a { display:inline-flex; align-items:center; gap:4px; min-height:36px; font-size:12px; font-weight:650; color:#e8eef3; white-space:nowrap; }
.la814-footer .la814-footer-nav a:hover,.la814-footer .la814-footer-nav a:focus-visible { color:#e9c78e; }
.la814-footer .la814-footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding:12px 0 15px; font-size:10px; color:#9dadbb; }
/* Garantia de dimensões flexíveis em menus e áreas de compra. */
.la24-header-inner,.la24-brand,.la24-brand-text,.la24-footer,.la24-catalog-category-grid,.la24-catalog-list,.la24-catalog-item,.la85-contract-card,.la85-detail-layout,.la85-sidebar,.la85-price-panel,.la85-price-body { min-width:0; }
.la24-catalog-item-content,.la89-catalog-purchase,.la85-contract-card-footer { min-width:0; }
.la24-catalog-item h3,.la85-contract-card h3,.la24-catalog-item p,.la85-contract-card p { overflow-wrap:break-word; }
.la89-service-price,.la89-contract-price,.la85-price-panel .la-detail-price { min-width:0!important; width:100%!important; max-width:100%!important; }
.la89-service-price strong,.la89-contract-price strong,.la85-price-panel .la-detail-price { white-space:normal!important; overflow-wrap:anywhere; text-align:center; }
/* Controles da plataforma de pedidos e checkout, sem encolher texto. */
.woocommerce form input,.woocommerce form select,.woocommerce form textarea,
.woocommerce-cart input,.woocommerce-checkout input,.woocommerce-checkout select,
.la85-price-body input,.la85-price-body select,.la85-price-body textarea { max-width:100%; min-width:0; }
.woocommerce table.shop_table,.woocommerce table.my_account_orders { max-width:100%; }
.woocommerce .woocommerce-MyAccount-content,.woocommerce .woocommerce-MyAccount-navigation { min-width:0; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.la85-checkout-cta { white-space:normal; text-align:center; }
.la24-catalog-nav-inner { -webkit-overflow-scrolling:touch; }
/* Tablets, celulares horizontais e displays médios. */
@media (max-width:1050px){
 .la24-header .la24-nav.primary-nav,.la24-header .la24-header-cta { display:none!important; }
 .la24-header .la24-menu-button.mobile-toggle { display:grid!important; place-items:center; margin-left:auto; flex:none; width:44px; height:44px; }
 .la24-mobile-menu.mobile-nav:not([hidden]) { display:block; max-height:min(78dvh,590px); overflow-y:auto; }
 .la24-catalog-category-grid { grid-template-columns:minmax(0,1fr)!important; }
 .la24-catalog-category-heading { position:static!important; max-width:760px; }
 .la85-contract-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .la85-detail-layout { grid-template-columns:minmax(0,1fr)!important; gap:24px; }
 .la85-sidebar { width:100%; position:static!important; }
}
@media (max-width:820px){
 .site-container { width:calc(100% - 40px)!important; }
 .la24-final-grid { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:25px!important; }
 .la24-final-contact { width:100%; display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; gap:14px; }
 .la24-final-contact .la24-button { max-width:100%; }
 .la24-about-grid,.la24-feature-grid,.la24-access-grid,.la24-about-page-content { grid-template-columns:minmax(0,1fr)!important; }
 .la24-access-grid { gap:22px; }
 .la24-services,.la24-feature,.la24-about { padding-block:62px; }
 .la24-footer.la814-footer .la814-footer-main { padding-block:25px 20px; gap:22px; }
 .la814-footer .la814-footer-nav { gap:14px 18px; }
 .la24-catalog-nav-inner { gap:19px; }
 .la85-contract-card { padding:23px; }
}
@media (max-width:720px){
 body { font-size:14px; }
 .site-container { width:calc(100% - 36px)!important; }
 .site-header.la24-header { height:66px!important; }
 .la24-header .la24-brand { min-width:0; max-width:calc(100% - 56px); gap:10px; }
 .la24-header .la24-brand-icon { flex:0 0 auto; padding-right:10px; font-size:29px; }
 .la24-header .la24-brand-icon span { font-size:25px; }
 .la24-header .la24-brand-text { gap:3px; min-width:0; }
 .la24-header .la24-brand-text strong { font-size:12px; letter-spacing:.11em; }
 .la24-header .la24-brand-text small { white-space:normal; max-width:225px; overflow-wrap:normal; font-size:8px; letter-spacing:.025em; line-height:1.3; }
 .la24-mobile-menu.mobile-nav { padding:8px 18px 15px; }
 .la24-mobile-menu.mobile-nav a { font-size:14px; padding:12px 11px; }
 .la24-topline { min-height:25px; height:auto; }
 .la24-topline-inner { min-height:25px; }
 .la24-topline-inner>span { font-size:8px; letter-spacing:.07em; }
 /* Retrato em cima, texto embaixo; as duas áreas não se interceptam. */
 .la24-hero { min-height:0; }
 .la24-hero-photo { top:0; right:0; bottom:auto; width:100%; height:310px; }
 .la24-hero-photo img { object-position:center 19%; animation:none!important; transform:none!important; }
 .la24-hero:before { top:220px; }
 .la24-hero-inner { display:block; min-height:0; padding-top:257px; }
 .la24-photo-caption { position:absolute; top:188px; right:0; bottom:auto; max-width:75%; min-width:0; text-align:right; align-items:flex-end; }
 .la24-photo-caption strong { font-size:19px; }
 .la24-photo-caption small { font-size:9px; max-width:240px; }
 .la24-hero-copy { width:100%; padding:35px 0 41px; }
 .la24-hero h1 { font-size:clamp(34px,8.2vw,48px)!important; line-height:1.1; margin-bottom:18px; letter-spacing:-.047em; }
 .la24-hero-description { font-size:13.5px; line-height:1.72; margin-bottom:21px; }
 .la24-hero-buttons { display:flex; flex-direction:column; gap:9px; align-items:stretch; }
 .la24-hero-buttons .la24-button { width:100%; max-width:100%; min-height:49px; padding:12px 17px; white-space:normal; }
 .la24-hero-details { margin-top:25px; padding-top:16px; gap:16px; }
 .la24-hero-details span { min-width:0; flex:1 1 135px; }
 .la24-hero-details b { font-size:17px!important; }
 .la24-hero-details small { font-size:10px; line-height:1.35; }
 .la24-credentials-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px!important; padding:18px 0; }
 .la24-credentials-row>div { padding-left:0!important; border-left:0!important; gap:8px; }
 .la24-credential-icon { display:none; }
 .la24-credentials strong { font-size:11px; }
 .la24-credentials small { font-size:10px; }
 .la24-services,.la24-feature,.la24-about { padding-block:50px!important; }
 .la24-section-top { margin-bottom:25px; }
 .la24-section-top h2,.la24-feature h2,.la24-about h2,.la24-access h2,.la24-final h2,
 .la24-catalog-hero h1,.la24-about-page h1,.la24-about-page-body h2,.la85-contract-hero h1,.la85-contract-listing-top h2 {
   font-size:clamp(31px,8.2vw,42px)!important; line-height:1.14!important; letter-spacing:-.045em; }
 .la24-section-top>p { font-size:12.5px; line-height:1.7; margin-top:12px; }
 .la24-solutions { display:flex; flex-direction:column; gap:12px; }
 .la24-solution-main { min-height:0!important; padding:24px 22px 20px; }
 .la24-solution-main .la24-solution-content { max-width:100%; }
 .la24-solution-main .la24-solution-icon { margin:20px 0 12px; }
 .la24-solution-main h3 { font-size:clamp(27px,7.5vw,34px); }
 .la24-solution-main p { max-width:100%!important; font-size:12px; line-height:1.7; margin-bottom:15px; }
 /* Documento passa a fazer parte do fluxo. Não flutua sobre títulos e botões. */
 .la813-document-visual.la24-solution-visual { position:relative!important; inset:auto!important; display:block; width:min(205px,76%)!important; height:auto!important; aspect-ratio:3 / 3.75; transform:none!important; opacity:1!important; margin:18px auto 0; }
 .la813-document-shell { transform:none!important; padding:13px!important; }
 .la813-document-title { font-size:23px; margin:14px 0 8px; }
 .la813-document-row { padding:7px 0; }
 .la24-solution-secondary { min-height:0!important; padding:24px 22px; }
 .la24-solution-secondary h3 { font-size:27px; }
 .la24-solution-secondary .la24-solution-icon { margin:10px 0 12px; }
 .la24-section-bottom { padding-top:20px; gap:10px; }
 .la24-feature-grid,.la24-about-grid { gap:28px; }
 .la24-feature-intro>p { font-size:13px; line-height:1.75; margin:16px 0 20px; }
 .la24-feature-timeline>div { grid-template-columns:38px minmax(0,1fr); gap:12px; padding:19px 0; }
 .la24-feature-timeline>div>span { font-size:23px; }
 .la24-feature-timeline strong { font-size:20px; }
 .la24-feature-timeline small { font-size:12px; line-height:1.65; }
 .la24-about-copy { padding-top:0; }
 .la24-about-copy p { font-size:13px; line-height:1.75; }
 .la24-stars { margin-top:18px; }
 .la24-access { padding:48px 0; }
 .la24-access p { font-size:13px; line-height:1.75; margin:16px 0 22px; }
 .la24-access-buttons { display:flex; flex-direction:column; }
 .la24-access-buttons .la24-button { min-height:49px; padding:11px 15px; white-space:normal; }
 .la24-access-emblem { width:140px; height:140px; margin:12px auto 0; }
 .la813-check-emblem { width:95px; }
 .la24-final { padding:47px 0!important; }
 .la24-final p:not(.la24-overline) { font-size:12.5px; margin-top:14px; }
 .la24-final-grid { display:block!important; }
 .la24-final-contact { margin-top:20px; display:flex; align-items:stretch; flex-direction:column; gap:10px; }
 .la24-final-contact .la24-button { width:100%; max-width:100%; min-height:49px; justify-content:space-between; }
 .la24-final-contact>span,.la24-final-contact>a:last-child { font-size:12px; }
 /* Catalog: no three-column cards on a 360 px display. */
 .la24-catalog-hero { padding:45px 0!important; }
 .la24-catalog-hero-grid { display:block; }
 .la24-catalog-hero-grid>div:first-child>p:last-child { font-size:13px; line-height:1.7; }
 .la24-catalog-aside { margin-top:24px; padding-left:14px; }
 .la24-catalog-aside strong { font-size:23px; }
 .la24-catalog-nav-inner { overflow-x:auto; flex-wrap:nowrap; min-height:55px; gap:20px; }
 .la24-catalog-nav-inner a { padding:15px 0; white-space:nowrap; font-size:12px; }
 .la24-catalog-category { padding:45px 0; scroll-margin-top:125px; }
 .la24-catalog-category-grid { display:block!important; }
 .la24-catalog-category-heading { position:static!important; margin-bottom:22px; }
 .la24-catalog-category-heading h2 { font-size:clamp(28px,7.7vw,37px)!important; }
 .la24-catalog-category-heading p { font-size:12.5px; }
 .la24-catalog-item.la89-catalog-item { display:flex!important; flex-direction:column; align-items:stretch; gap:14px!important; padding:21px 18px!important; }
 .la89-catalog-item .la88-catalog-icon { width:45px; height:45px; border-radius:10px; flex:none; }
 .la24-catalog-item h3 { font-size:24px; line-height:1.2; }
 .la24-catalog-item p { font-size:12.5px; line-height:1.7; }
 .la89-catalog-purchase { display:flex!important; flex-direction:column; gap:10px; width:100%; min-width:0; margin-top:6px; }
 .la89-service-price { padding:14px!important; border-radius:10px!important; }
 .la89-service-price strong { font-size:clamp(26px,7.3vw,35px)!important; line-height:1.12!important; }
 .la89-catalog-purchase .la89-hire-button { min-height:48px; font-size:12px; }
 /* Contract catalog and individual detail pages */
 .la85-contract-hero { padding-block:45px; }
 .la85-contract-hero-grid,.la85-contract-listing-top { display:block!important; }
 .la85-contract-hero-grid>div { min-width:0; }
 .la85-contract-hero-note { margin-top:19px; }
 .la85-contract-listing { padding:45px 0; }
 .la85-contract-grid { display:grid; grid-template-columns:minmax(0,1fr)!important; gap:13px; }
 .la85-contract-card { padding:20px 18px 18px; }
 .la85-contract-card-head { margin-bottom:16px; }
 .la85-contract-card h3 { font-size:25px; }
 .la85-contract-card>p { font-size:12.5px; line-height:1.7; margin-bottom:15px; }
 .la89-contract-card .la88-contract-price { padding:13px!important; }
 .la89-contract-card .la88-contract-price strong { font-size:clamp(25px,7vw,34px)!important; }
 .la89-contract-card .la85-contract-card-footer { gap:8px; padding-block:12px!important; }
 .la85-detail-hero { padding-top:40px; padding-bottom:40px; }
 .la85-detail-hero-grid { grid-template-columns:minmax(0,1fr)!important; }
 .la85-detail-hero h1 { font-size:clamp(31px,8.2vw,42px)!important; line-height:1.14; }
 .la85-detail-layout { display:flex!important; flex-direction:column; gap:24px!important; padding-top:30px; padding-bottom:40px; }
 .la85-sidebar,.la-detail-main { position:static!important; width:100%; max-width:100%; min-width:0; }
 .la85-sidebar { order:-1; }
 .la85-price-panel { padding:0!important; }
 .la85-price-body { padding:18px!important; }
 .la85-price-panel .la-detail-price { padding:16px 8px!important; margin:12px 0!important; font-size:clamp(28px,7.6vw,41px)!important; }
 .la85-price-header { display:flex; align-items:center; gap:8px; padding:13px!important; }
 .la85-checkout-cta { min-height:49px; font-size:13px; }
 .la-delivery-fieldset { min-width:0; }
 .la-detail-intro h2 { font-size:clamp(28px,7.5vw,36px)!important; }
 .la-spec-box { padding-block:21px; }
 .la-spec-box h3 { font-size:23px; }
 .la-detail-main p,.la-detail-main li { overflow-wrap:break-word; }
 /* Other pages, profile and account / WooCommerce */
 .la24-about-page-copy { padding:43px 0 20px; }
 .la24-about-page-photo { height:285px; min-height:0; }
 .la24-about-page-body { padding:48px 0; }
 .la24-about-page-content { grid-template-columns:minmax(0,1fr)!important; gap:24px; }
 .account-panel { padding:21px!important; }
 .woocommerce .woocommerce-MyAccount-navigation,.woocommerce .woocommerce-MyAccount-content { float:none!important; width:100%!important; }
 .woocommerce table.shop_table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
 .woocommerce .woocommerce-MyAccount-navigation ul { padding:0; }
 .woocommerce .woocommerce-MyAccount-navigation li a { display:block; padding-block:10px; }
 .woocommerce form .form-row { float:none; width:100%; }
 .woocommerce form .form-row-first,.woocommerce form .form-row-last { float:none; width:100%; }
 .woocommerce form input[type='text'],.woocommerce form input[type='email'],.woocommerce form input[type='tel'],.woocommerce form input[type='password'],.woocommerce form select,.woocommerce form textarea { width:100%; min-height:43px; font-size:16px; }
 .woocommerce .button,.woocommerce button.button { max-width:100%; }
 /* Footer: two short blocks, never columns squeezed against each other. */
 .la814-footer .la814-footer-main { display:flex; flex-direction:column; align-items:flex-start; gap:13px; padding:25px 0 17px; }
 .la814-footer .la814-footer-name { font-size:25px; }
 .la814-footer .la814-footer-identity>span { font-size:11px; }
 .la814-footer .la814-footer-identity>small { font-size:10px; }
 .la814-footer .la814-footer-nav { justify-content:flex-start; gap:10px 18px; }
 .la814-footer .la814-footer-nav a { min-height:32px; font-size:11px; }
 .la814-footer .la814-footer-bottom { font-size:9px; padding:11px 0 14px; }
}
@media (max-width:370px){
 .site-container { width:calc(100% - 28px)!important; }
 .la24-header .la24-brand-icon { font-size:25px; padding-right:8px; }
 .la24-header .la24-brand-icon span { font-size:22px; }
 .la24-header .la24-brand-text strong { font-size:11px; }
 .la24-header .la24-brand-text small { font-size:7.1px; max-width:170px; }
 .la24-hero-photo { height:275px; }
 .la24-hero-inner { padding-top:228px; }
 .la24-photo-caption { top:169px; }
 .la24-hero h1 { font-size:31px!important; }
 .la24-section-top h2,.la24-feature h2,.la24-about h2,.la24-access h2,.la24-final h2,.la24-catalog-hero h1,.la85-contract-hero h1,.la85-contract-listing-top h2 { font-size:30px!important; }
 .la24-hero-details span { flex-basis:100%; }
 .la24-solution-main { padding:19px 17px; }
 .la24-solution-main h3 { font-size:26px; }
 .la813-document-visual.la24-solution-visual { width:185px!important; }
 .la24-catalog-item.la89-catalog-item { padding:18px 15px!important; }
 .la814-footer .la814-footer-nav { gap:8px 16px; }
}
@media (hover:none) and (pointer:coarse){
 .la24-solution:hover,.la85-contract-card:hover,.la24-catalog-item:hover { transform:none!important; }
}
@media(prefers-reduced-motion:reduce){
 .la24-hero-photo img { animation:none!important; }
}
