:root {
    --cal-red: #c90000;
    --cal-orange: #f46f22;
    --cal-ink: #151414;
    --cal-muted: #6b6b6b;
    --cal-line: rgba(0, 0, 0, 0.08);
    --cal-shell: 1180px;
}
.calbalancas-child-theme { overflow-x: hidden; }
.cal-shell-container { width: min(var(--cal-shell), calc(100% - 40px)); margin-inline: auto; }
.cal-site-header { position: relative; z-index: 1000; background: radial-gradient(circle at top center, #fff 25%, #f7f7f7 100%); box-shadow: 0 2px 12px rgba(0,0,0,.14); }
.cal-header-inner { min-height: 74px; display: grid; grid-template-columns: 180px minmax(380px,1fr) auto; align-items: center; gap: 28px; }
.cal-brand { display: inline-flex; align-items: center; width: 160px; }
.cal-brand img,.cal-footer-brand img { display:block; width:100%; height:auto; }
.cal-primary-nav { display:flex; align-items:center; justify-content:center; gap:4px; }
.cal-primary-nav a { display:inline-flex; align-items:center; min-height:38px; padding:8px 10px; border-radius:5px; color:#111; font-family:Poppins,Arial,sans-serif; font-size:13px; font-weight:600; line-height:1; text-decoration:none; transition:color .2s ease,background-color .2s ease; }
.cal-primary-nav a:hover,.cal-primary-nav a:focus-visible { color:#fff; background:var(--cal-red); }
.cal-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:18px; white-space:nowrap; }
.cal-contact-link { display:inline-flex; align-items:center; gap:8px; color:var(--cal-orange); font-family:Poppins,Arial,sans-serif; font-size:13px; font-weight:600; text-decoration:none; }
.cal-contact-link svg { width:17px; height:17px; fill:currentColor; }
.cal-whatsapp-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:38px; padding:0 18px; border-radius:6px; background:linear-gradient(180deg,#777 0%,#5d5d5d 100%); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.16); font-family:Poppins,Arial,sans-serif; font-size:13px; font-weight:600; line-height:1; text-decoration:none; transition:transform .2s ease,background .2s ease; }
.cal-whatsapp-button:hover,.cal-whatsapp-button:focus-visible { color:#fff; background:linear-gradient(180deg,#626262 0%,#444 100%); transform:translateY(-1px); }
.cal-whatsapp-button svg { width:17px; height:17px; fill:currentColor; }
.cal-menu-toggle,.cal-mobile-menu { display:none; }
.cal-site-footer { margin-top:0; padding:96px 0 70px; background:#151414; color:#fff; font-family:Poppins,Arial,sans-serif; }
.cal-footer-grid { display:grid; grid-template-columns:1.15fr 1.25fr .8fr 1fr; gap:54px; align-items:start; }
.cal-footer-column h2 { margin:0 0 22px; color:#fff; font-family:inherit; font-size:20px; font-weight:600; line-height:1.2; }
.cal-footer-column p { margin:0; color:#fff; font-size:15px; font-weight:500; line-height:1.7; }
.cal-footer-address { max-width:260px; }
.cal-footer-link,.cal-footer-nav a { display:flex; align-items:center; gap:10px; margin-top:14px; color:#fff; font-size:15px; font-weight:500; line-height:1.45; text-decoration:none; transition:color .2s ease; }
.cal-footer-link:hover,.cal-footer-link:focus-visible,.cal-footer-nav a:hover,.cal-footer-nav a:focus-visible { color:var(--cal-orange); }
.cal-footer-link svg { flex:0 0 19px; width:19px; height:19px; fill:currentColor; }
.cal-footer-map { justify-content:center; width:fit-content; margin-top:18px; }
.cal-footer-whatsapp { margin-top:22px; font-size:13px; font-weight:600; }
.cal-footer-nav a::before { content:"›"; display:inline-block; margin-right:8px; color:#fff; font-size:27px; font-weight:700; line-height:.65; }
.cal-social-links { display:flex; gap:18px; margin-top:18px; }
.cal-social-links a { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; color:#fff; text-decoration:none; transition:background-color .2s ease,color .2s ease; }
.cal-social-links a:hover,.cal-social-links a:focus-visible { background:#fff; color:var(--cal-ink); }
.cal-social-links svg { width:20px; height:20px; fill:currentColor; }
.cal-footer-bottom { display:grid; grid-template-columns:1fr 1.45fr; gap:54px; align-items:end; margin-top:74px; padding-top:36px; border-top:1px solid rgba(255,255,255,.04); }
.cal-footer-brand { display:block; width:245px; }
.cal-footer-credits { display:flex; flex-direction:column; align-items:center; gap:22px; text-align:center; }
.cal-footer-credits strong { color:#fff; font-size:15px; font-weight:600; }
.cal-footer-credits a { color:var(--cal-orange); font-size:13px; font-weight:600; text-decoration:none; }
@media (max-width:1180px) {
    .cal-header-inner { grid-template-columns:155px 1fr auto; gap:16px; }
    .cal-brand { width:145px; }
    .cal-header-actions { gap:12px; }
    .cal-contact-mobile { display:none; }
    .cal-primary-nav a,.cal-contact-link,.cal-whatsapp-button { font-size:12px; }
}
@media (max-width:980px) {
    .cal-header-inner { min-height:70px; grid-template-columns:1fr auto; }
    .cal-primary-nav,.cal-header-actions { display:none; }
    .cal-menu-toggle { display:inline-flex; align-items:center; gap:10px; padding:9px 12px; border:0; border-radius:6px; background:#f2f2f2; color:#111; font:600 13px/1 Poppins,Arial,sans-serif; cursor:pointer; }
    .cal-menu-toggle-icon,.cal-menu-toggle-icon::before,.cal-menu-toggle-icon::after { display:block; width:20px; height:2px; background:currentColor; transition:transform .2s ease,opacity .2s ease; }
    .cal-menu-toggle-icon { position:relative; }
    .cal-menu-toggle-icon::before,.cal-menu-toggle-icon::after { content:""; position:absolute; left:0; }
    .cal-menu-toggle-icon::before { top:-6px; }
    .cal-menu-toggle-icon::after { top:6px; }
    .cal-menu-toggle[aria-expanded="true"] .cal-menu-toggle-icon { background:transparent; }
    .cal-menu-toggle[aria-expanded="true"] .cal-menu-toggle-icon::before { top:0; transform:rotate(45deg); }
    .cal-menu-toggle[aria-expanded="true"] .cal-menu-toggle-icon::after { top:0; transform:rotate(-45deg); }
    .cal-mobile-menu { display:block; border-top:1px solid var(--cal-line); background:#fff; box-shadow:0 8px 20px rgba(0,0,0,.08); }
    .cal-mobile-menu[hidden] { display:none; }
    .cal-mobile-menu nav,.cal-mobile-contact { width:min(var(--cal-shell),calc(100% - 40px)); margin-inline:auto; }
    .cal-mobile-menu nav { display:grid; padding:12px 0; }
    .cal-mobile-menu nav a { padding:13px 2px; border-bottom:1px solid #eee; color:#111; font:600 14px/1.2 Poppins,Arial,sans-serif; text-decoration:none; }
    .cal-mobile-contact { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:center; padding:14px 0 18px; }
    .cal-mobile-contact>a:not(.cal-whatsapp-button) { color:var(--cal-orange); font:600 13px/1.2 Poppins,Arial,sans-serif; text-decoration:none; }
    .cal-footer-grid { grid-template-columns:1fr 1fr; }
    .cal-footer-bottom { grid-template-columns:1fr; align-items:center; }
    .cal-footer-brand { margin-inline:auto; }
}
@media (max-width:640px) {
    .cal-shell-container,.cal-mobile-menu nav,.cal-mobile-contact { width:min(100% - 28px,var(--cal-shell)); }
    .cal-header-inner { min-height:66px; }
    .cal-brand { width:136px; }
    .cal-menu-toggle-label { display:none; }
    .cal-mobile-contact { grid-template-columns:1fr; }
    .cal-mobile-contact .cal-whatsapp-button { width:100%; margin-top:4px; }
    .cal-site-footer { padding:68px 0 48px; }
    .cal-footer-grid { grid-template-columns:1fr; gap:40px; }
    .cal-footer-column h2 { margin-bottom:16px; font-size:18px; }
    .cal-footer-bottom { margin-top:48px; padding-top:28px; gap:30px; }
    .cal-footer-brand { width:210px; }
    .cal-footer-credits { gap:14px; }
}

/* MOBI HEADER POLISH 2026-09-29 */
/*
 * Evolução visual conservadora do header aprovado:
 * mantém estrutura, navegação e ações, refinando proporções, estados e contraste.
 */
.cal-site-header {
    background: #fffdfb;
    border-bottom: 1px solid rgba(18, 18, 18, .045);
    box-shadow: 0 5px 18px rgba(18, 18, 18, .065);
}
.cal-header-inner {
    min-height: 80px;
    grid-template-columns: 194px minmax(390px, 1fr) auto;
    gap: 26px;
}
.cal-brand {
    width: 176px;
}
.cal-primary-nav {
    gap: 2px;
}
.cal-primary-nav a {
    position: relative;
    min-height: 44px;
    padding: 0 11px;
    border-radius: 0;
    background: transparent;
    color: #171717;
    font-size: 13px;
    font-weight: 600;
    transition: color .2s ease;
}
.cal-primary-nav a::after {
    content: "";
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 3px;
    height: 2px;
    border-radius: 999px;
    background: var(--cal-red);
    opacity: 0;
    transform: scaleX(.25);
    transform-origin: center;
    transition: opacity .2s ease, transform .2s ease;
}
.cal-primary-nav a:hover,
.cal-primary-nav a:focus-visible {
    color: var(--cal-red);
    background: transparent;
}
.cal-primary-nav a:hover::after,
.cal-primary-nav a:focus-visible::after,
body.home .cal-primary-nav a:first-child::after {
    opacity: 1;
    transform: scaleX(1);
}
body.home .cal-primary-nav a:first-child {
    color: var(--cal-red);
}
.cal-header-actions {
    gap: 10px;
}
.cal-contact-link {
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(201, 0, 0, .16);
    border-radius: 10px;
    background: #fff;
    color: var(--cal-red);
    font-size: 13px;
    font-weight: 700;
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}
.cal-contact-link:hover,
.cal-contact-link:focus-visible {
    border-color: rgba(201, 0, 0, .34);
    background: rgba(201, 0, 0, .035);
    color: var(--cal-red);
    transform: translateY(-1px);
}
.cal-contact-link svg {
    width: 16px;
    height: 16px;
}
.cal-site-header .cal-header-order-link {
    min-height: 42px;
    padding: 0 13px;
    border-color: rgba(18, 18, 18, .10);
    border-radius: 10px;
    background: #fff;
    color: #202020 !important;
    box-shadow: none;
    font-size: 11px;
}
.cal-site-header .cal-header-order-link:hover,
.cal-site-header .cal-header-order-link:focus-visible {
    border-color: rgba(201, 0, 0, .28);
    background: rgba(201, 0, 0, .025);
    color: var(--cal-red) !important;
}
.cal-site-header .cal-header-order-count {
    min-width: 22px;
    height: 22px;
    padding-inline: 6px;
}
.cal-whatsapp-button {
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid var(--cal-red);
    border-radius: 10px;
    background: var(--cal-red);
    color: #fff;
    box-shadow: 0 8px 18px rgba(201, 0, 0, .14);
    font-size: 13px;
    font-weight: 700;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.cal-whatsapp-button:hover,
.cal-whatsapp-button:focus-visible {
    border-color: #a90000;
    background: #a90000;
    color: #fff;
    box-shadow: 0 10px 22px rgba(169, 0, 0, .18);
    transform: translateY(-1px);
}

@media (max-width: 1180px) and (min-width: 981px) {
    .cal-header-inner {
        grid-template-columns: 160px minmax(350px, 1fr) auto;
        gap: 14px;
    }
    .cal-brand {
        width: 150px;
    }
    .cal-primary-nav a {
        padding-inline: 8px;
        font-size: 12px;
    }
    .cal-primary-nav a::after {
        left: 8px;
        right: 8px;
    }
    .cal-header-actions {
        gap: 8px;
    }
    .cal-contact-link {
        padding-inline: 10px;
        font-size: 12px;
    }
    .cal-whatsapp-button {
        padding-inline: 13px;
        font-size: 12px;
    }
}

@media (max-width: 980px) {
    .cal-site-header {
        background: #fff;
        box-shadow: 0 4px 14px rgba(18, 18, 18, .06);
    }
    .cal-header-inner {
        min-height: 72px;
        grid-template-columns: 1fr auto;
    }
    .cal-brand {
        width: 148px;
    }
    .cal-menu-toggle {
        min-height: 40px;
        padding: 0 12px;
        border: 1px solid rgba(18, 18, 18, .08);
        border-radius: 9px;
        background: #f7f7f6;
    }
    .cal-mobile-menu {
        box-shadow: 0 12px 28px rgba(18, 18, 18, .08);
    }
    .cal-mobile-contact > a:not(.cal-whatsapp-button) {
        color: var(--cal-red);
    }
}

@media (max-width: 640px) {
    .cal-header-inner {
        min-height: 68px;
    }
    .cal-brand {
        width: 140px;
    }
}

/* MOBI STICKY HEADER 2026-09-29 */
.cal-site-header{
    position:sticky;
    top:0;
    z-index:9990;
    will-change:transform;
}
body.admin-bar .cal-site-header{
    top:32px;
}
@media (max-width:782px){
    body.admin-bar .cal-site-header{
        top:46px;
    }
}


/* MOBI ACCESSIBILITY SEO 2026-09-29 */
html{scroll-padding-top:96px;}
.cal-skip-link{position:fixed;left:18px;top:12px;z-index:10050;transform:translateY(-160%);padding:11px 15px;border-radius:8px;background:#111;color:#fff!important;font:700 13px/1 Poppins,Arial,sans-serif;text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.18);transition:transform .18s ease;}
.cal-skip-link:focus{transform:translateY(0);outline:3px solid rgba(201,0,0,.32);outline-offset:3px;}
#main:focus{outline:none;}
@media(max-width:980px){html{scroll-padding-top:84px;}}
