/*
 * brand.css — Paleta de cores e tipografia Dra. Ana Repula
 * #868583  cinza principal (accent, botões, destaques)
 * #f3ece7  bege/creme (fundos suaves)
 * #dad8d7  cinza claro (bordas, fundos secundários)
 * #3d3b3a  cinza escuro (textos, headings)
 *
 * Fontes: Quattrocento (títulos) · Quicksand 300/400 (textos)
 * Carregado APÓS style.css para sobrescrever o template.
 */

/* ── Variáveis ───────────────────────────────────────── */
:root {
    --brand-accent:   #868583;
    --brand-beige:    #f3ece7;
    --brand-silver:   #dad8d7;
    --brand-dark:     #3d3b3a;
    --brand-white:    #ffffff;

    --font-heading: 'Quattrocento', Georgia, serif;
    --font-body:    'Quicksand', sans-serif;
}

/* ── Tipografia base ─────────────────────────────────── */
body,
p, li, a, input, textarea, select, button, label,
.footer-link p, .footer-link ul li a,
.copy-text, .opening-time, .contact-field {
    font-family: var(--font-body) !important;
    font-weight: 300;
    letter-spacing: 0.01em;
}

/* peso 400 para textos de interface e labels */
a, button, .btn, label, .nav li a,
.main-menu ul li a, .footer-link ul li a,
input, select, textarea {
    font-weight: 400 !important;
}

/* ── Títulos: Quattrocento ───────────────────────────── */
h1, h2, h3, h4, h5, h6,
.section-title h2, .section-title h5,
.about-title h2, .about-title h5,
.slider-content h2, .slider-content h5,
.f-widget-title h2, .opening-time h3,
.single-post2 h4, .pro-title,
.pricing-head h3 {
    font-family: var(--font-heading) !important;
    font-weight: 700;
    letter-spacing: 0.01em;
}

/* h5 pequeno (rótulo de seção) — peso regular, não bold */
h5,
.section-title h5,
.about-title h5,
.slider-content h5 {
    font-weight: 400 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.85em;
}

/* h2 principal — levemente mais espaçado */
h2,
.section-title h2,
.about-title h2,
.slider-content h2 {
    line-height: 1.2;
}

/* ── Fundo geral ─────────────────────────────────────── */
body {
    background-color: var(--brand-white);
    color: var(--brand-dark);
}

/* ── Headings ────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
    color: var(--brand-dark);
}

/* section-title h5 (rótulo pequeno acima do título) */
.section-title h5,
.about-title h5,
.slider-content h5 {
    color: var(--brand-accent) !important;
}

/* ── Links ───────────────────────────────────────────── */
a { color: var(--brand-accent); }
a:hover { color: var(--brand-dark); }

/* ── Botões principais (.btn / .ss-btn) ──────────────── */
.btn,
.ss-btn {
    background: var(--brand-accent) !important;
    border: 2px solid var(--brand-accent) !important;
    color: var(--brand-white) !important;
}
.btn:hover,
.ss-btn:hover {
    background: var(--brand-dark) !important;
    border-color: var(--brand-dark) !important;
    color: var(--brand-white) !important;
}

/* botão ativo/destaque no slider */
.btn.active,
.ss-btn.active {
    background: transparent !important;
    border: 2px solid var(--brand-white) !important;
    color: var(--brand-white) !important;
}
.btn.active:hover,
.ss-btn.active:hover {
    background: var(--brand-white) !important;
    color: var(--brand-dark) !important;
}

/* botão do header "Agendar Consulta" */
.second-header-btn .btn {
    background: var(--brand-accent) !important;
    border-color: var(--brand-accent) !important;
    color: var(--brand-white) !important;
}
.second-header-btn .btn:hover {
    background: var(--brand-dark) !important;
    border-color: var(--brand-dark) !important;
}
.second-header-btn .btn i {
    margin-right: 8px;
}

/* ── Header / Nav ────────────────────────────────────── */

/* header padrão (páginas internas) — branco */
.menu-area,
#header-sticky {
    background: var(--brand-white) !important;
    box-shadow: 0 2px 20px rgba(61,59,58,.08);
    transition: background .35s ease, box-shadow .35s ease;
}

/* header transparente (home) — fora do fluxo, sobreposto ao hero */
.header-transparent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}
.header-transparent .menu-area,
.header-transparent #header-sticky {
    background: transparent !important;
    box-shadow: none !important;
}

/* links brancos quando transparente */
.header-transparent .main-menu ul li a {
    color: var(--brand-white) !important;
}
.header-transparent .main-menu ul li a:hover,
.header-transparent .main-menu ul li.active > a {
    color: var(--brand-silver) !important;
}

/* botão "Agendar Consulta" com borda branca quando transparente */
.header-transparent .second-header-btn .btn {
    background: transparent !important;
    border: 1px solid var(--brand-white) !important;
    color: var(--brand-white) !important;
}
.header-transparent .second-header-btn .btn:hover {
    background: var(--brand-white) !important;
    color: var(--brand-dark) !important;
}
.header-transparent.header-light .main-menu ul li a {
    color: var(--brand-dark) !important;
}
.header-transparent.header-light .main-menu ul li a:hover,
.header-transparent.header-light .main-menu ul li.active > a {
    color: var(--brand-accent) !important;
}
.header-transparent.header-light .second-header-btn .btn {
    background: var(--brand-dark) !important;
    border: 1px solid var(--brand-dark) !important;
    color: var(--brand-white) !important;
}
.header-transparent.header-light .second-header-btn .btn:hover {
    background: var(--brand-accent) !important;
    border-color: var(--brand-accent) !important;
    color: var(--brand-white) !important;
}

/* ao rolar: volta ao branco (JS adiciona .sticky-menu em #header-sticky) */
.header-transparent #header-sticky.sticky-menu {
    background: var(--brand-white) !important;
    box-shadow: 0 2px 20px rgba(61,59,58,.12) !important;
}
.header-transparent #header-sticky.sticky-menu .main-menu ul li a {
    color: var(--brand-dark) !important;
}
.header-transparent #header-sticky.sticky-menu .second-header-btn .btn {
    background: var(--brand-accent) !important;
    border-color: var(--brand-accent) !important;
    color: var(--brand-white) !important;
}

.main-menu ul li a {
    color: var(--brand-dark) !important;
}
.main-menu ul li a:hover,
.main-menu ul li.active > a {
    color: var(--brand-accent) !important;
}
.second-menu .main-menu > nav > ul > li {
    margin-left: 56px;
}
.second-menu .main-menu > nav > ul > li:first-child {
    margin-left: 0;
}
@media (min-width: 992px) {
    .second-menu .main-menu {
        padding-right: 28px;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .logo {
        padding: 24px 0 !important;
    }
}

/* submenu */
.main-menu ul ul {
    background: var(--brand-white) !important;
    border-top: 2px solid var(--brand-accent) !important;
}
.main-menu ul ul li a {
    color: var(--brand-dark) !important;
    border-bottom: 1px solid var(--brand-silver) !important;
}
.main-menu ul ul li a:hover {
    color: var(--brand-accent) !important;
    background: var(--brand-beige) !important;
}
.header-transparent .main-menu ul ul li a,
.header-transparent #header-sticky:not(.sticky-menu) .main-menu ul ul li a {
    color: var(--brand-dark) !important;
    background: var(--brand-white) !important;
}
.header-transparent .main-menu ul ul li a:hover,
.header-transparent #header-sticky:not(.sticky-menu) .main-menu ul ul li a:hover {
    color: var(--brand-accent) !important;
    background: var(--brand-beige) !important;
}

/* ── Feature boxes (3 banners abaixo do slider) ─────── */
.feature-box {
    aspect-ratio: 958 / 542;
    width: 100%;
    overflow: hidden;
}
@media (min-width: 992px) and (max-width: 1499px) {
    .feature-box {
        min-height: 260px;
    }
}
.feature-box > picture,
.feature-box > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.feature-box > picture > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.feature-box .text {
    top: clamp(34px, 4.8vw, 82px) !important;
    left: clamp(28px, 3.6vw, 50px) !important;
    width: min(64%, 430px) !important;
}
.feature-box .text h3 {
    font-size: clamp(21px, 1.75vw, 32px) !important;
    line-height: 1.22 !important;
    margin-bottom: clamp(18px, 2vw, 28px) !important;
    text-shadow: 0 2px 10px rgba(61,59,58,.22);
}
.feature-box .text a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    white-space: nowrap;
}
.feature-box .text h5 {
    text-shadow: 0 1px 8px rgba(61,59,58,.18);
}
/* Sobrescreve as regras nth-child do template para todos os 3 boxes */
.feature-box .text h5,
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(1) .text h5,
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(2) .text h5,
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(3) .text h5 {
    color: var(--brand-silver) !important;
}

.feature-box .text a,
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(1) .text a,
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(2) .text a,
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(3) .text a {
    background: var(--brand-accent) !important;
    color: var(--brand-white) !important;
    border: none !important;
}

.feature-box .text a:hover,
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(1) .text a:hover,
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(2) .text a:hover,
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(3) .text a:hover {
    background: var(--brand-dark) !important;
}
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(3) .text h3 {
    color: var(--brand-white) !important;
    text-shadow: 0 2px 10px rgba(61,59,58,.22);
}
.feature-area .row .col-lg-4.col-md-6.col-sm-12:nth-child(3) .text h5 {
    color: var(--brand-dark) !important;
    text-shadow: 0 1px 10px rgba(255,255,255,.45);
}
@media (max-width: 767px) {
    .feature-box .text {
        top: 50% !important;
        left: 28px !important;
        transform: translateY(-50%);
        width: calc(100% - 56px) !important;
        max-width: 420px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 22px 0;
    }
    .feature-box .text h5 {
        margin-bottom: 12px !important;
    }
    .feature-box .text h3 {
        margin-bottom: 28px !important;
    }
}

/* ── About section ───────────────────────────────────── */
.about-area {
    background-color: var(--brand-beige) !important;
}
.s-about-img > picture {
    display: block;
    width: 100%;
}
.about-doctor-photo {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center bottom;
    display: block;
    opacity: 0;
    animation: about-photo-enter .85s ease-out .15s 1 forwards;
}
.about-text.second-about {
    display: block !important;
    background:
        linear-gradient(rgba(61,59,58,.66), rgba(61,59,58,.66)),
        url("/anarepula/img/optimized/dra-ana-repula-cirurgia-dentista-curitiba.webp?v=20260627-2") center 60% / 190% auto !important;
    left: auto !important;
    right: 42px;
    top: 64%;
    bottom: auto;
    width: 340px;
    transform: none !important;
    overflow: hidden;
    isolation: isolate;
    backdrop-filter: blur(2px);
    opacity: 0;
    clip-path: inset(0 100% 0 0 round 6px);
    animation: about-badge-enter .7s ease-out .85s 1 forwards;
    min-width: 270px;
    max-width: calc(100% - 44px);
    height: auto;
    padding: 18px 22px;
    border-radius: 6px;
    box-shadow: 0 14px 38px rgba(61,59,58,.18);
}
.about-text.second-about::before {
    content: "";
    position: absolute;
    inset: -14px;
    background: inherit;
    filter: blur(10px);
    transform: scale(1.04);
    z-index: -1;
}
@keyframes about-photo-enter {
    from {
        opacity: 0;
        transform: translateY(22px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes about-badge-enter {
    from {
        opacity: 0;
        clip-path: inset(0 100% 0 0 round 6px);
    }
    to {
        opacity: 1;
        clip-path: inset(0 0 0 0 round 6px);
    }
}
.about-text.second-about span {
    float: none;
    display: block;
    width: auto;
    top: auto;
    font-family: var(--font-heading) !important;
    font-size: 30px;
    line-height: 1.05;
    font-weight: 700;
    color: var(--brand-white) !important;
    margin: 0 0 6px;
}
.about-text.second-about p {
    width: auto;
    margin: 0;
    font-family: var(--font-body) !important;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--brand-white) !important;
}
@media (max-width: 1199px) {
    .about-text.second-about {
        top: auto;
        right: 18px;
        bottom: 24px;
        width: 320px;
    }
}
@media (max-width: 575px) {
    #sobre .about-content,
    #sobre .about-title,
    #sobre .about-title h5,
    #sobre .about-title h2,
    #sobre .about-content p {
        text-align: center !important;
    }
    #sobre .about-title h2 {
        max-width: 340px;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: clamp(39px, 11.5vw, 46px) !important;
        line-height: 1.08 !important;
        letter-spacing: 0 !important;
    }
    #sobre .about-content p {
        max-width: 350px;
        margin-left: auto;
        margin-right: auto;
    }
    #sobre .about-content .slider-btn {
        display: flex !important;
        justify-content: center !important;
        width: 100%;
    }
    #sobre .about-content .slider-btn .btn {
        width: auto !important;
        min-width: min(100%, 220px);
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 32px !important;
        padding-right: 32px !important;
    }
    .about-text.second-about {
        top: auto;
        left: 18px;
        right: 18px;
        bottom: 18px;
        width: auto;
        min-width: 0;
        max-width: none;
        padding: 16px 18px;
    }
    .about-text.second-about span {
        font-size: 25px;
    }
    .about-text.second-about p {
        font-size: 12px;
    }
}

/* ── Services section ────────────────────────────────── */
.ana-services-section {
    padding-top: 145px;
}
.ana-services-section .section-title {
    margin-bottom: 68px !important;
}
.ana-services-section .sd-img {
    margin: 0 -25px;
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 36px;
}
.ana-services-section .sd-img picture {
    display: block;
    width: min(100%, 380px);
}
.ana-services-section .services-center-logo {
    width: min(100%, 380px);
    opacity: 1;
    filter: grayscale(1);
}
.ana-services-section .sr-tw-ul .icon picture,
.ana-services-section .sr-tw-ul .icon-right picture {
    display: block;
}
.ana-services-section .sr-tw-ul li {
    display: flex;
    align-items: flex-start;
    opacity: 0;
    transform: translateY(28px) scale(0.985);
    transition:
        opacity 0.72s ease,
        transform 0.72s cubic-bezier(.22, .78, .24, 1),
        box-shadow 0.35s ease;
    will-change: opacity, transform;
}
.ana-services-section .services-center-logo {
    transform: scale(0.96);
    transition:
        opacity 0.9s ease 0.4s,
        transform 0.9s cubic-bezier(.22, .78, .24, 1) 0.4s;
    will-change: opacity, transform;
}
.ana-services-section.services-animated .services-center-logo {
    transform: scale(1);
}
.ana-services-section.services-animated .sr-tw-ul li {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.ana-services-section.services-animated .sr-tw-ul:not(.sr-thr-ul) li:nth-child(1) {
    transition-delay: 0.08s;
}
.ana-services-section.services-animated .sr-thr-ul li:nth-child(1) {
    transition-delay: 0.22s;
}
.ana-services-section.services-animated .sr-tw-ul:not(.sr-thr-ul) li:nth-child(2) {
    transition-delay: 0.36s;
}
.ana-services-section.services-animated .sr-thr-ul li:nth-child(2) {
    transition-delay: 0.5s;
}
.ana-services-section.services-animated .sr-tw-ul:not(.sr-thr-ul) li:nth-child(3) {
    transition-delay: 0.64s;
}
.ana-services-section.services-animated .sr-thr-ul li:nth-child(3) {
    transition-delay: 0.78s;
}
.ana-services-section .sr-tw-ul li .icon,
.ana-services-section .sr-tw-ul li .icon-right {
    flex: 0 0 88px;
    width: 88px;
    color: var(--brand-accent);
}
.ana-services-section .sr-tw-ul li .icon i,
.ana-services-section .sr-tw-ul li .icon-right i {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 46px;
    line-height: 1;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--brand-accent);
}
.ana-services-section .sr-tw-ul li .icon img,
.ana-services-section .sr-tw-ul li .icon-right img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    color: var(--brand-accent);
}
.sr-tw-ul li h4 a {
    color: var(--brand-dark) !important;
}
.sr-tw-ul li h4 a:hover {
    color: var(--brand-accent) !important;
}
@media (max-width: 991px) {
    .ana-services-section {
        padding-top: 100px;
    }
    .ana-services-section .section-title {
        margin-bottom: 42px !important;
    }
    .ana-services-section .section-title h2 {
        font-size: clamp(35px, 10.2vw, 46px) !important;
        line-height: 1.08 !important;
        white-space: nowrap;
        letter-spacing: 0 !important;
    }
    .ana-services-section .sr-tw-ul li,
    .ana-services-section .services-center-logo {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .ana-services-section .sr-tw-ul li,
    .ana-services-section .sr-tw-ul li:nth-child(2),
    .ana-services-section .sr-thr-ul li:nth-child(2) {
        margin-left: 0 !important;
    }
}
@media (max-width: 575px) {
    .ana-services-section {
        padding-top: 84px;
    }
    .ana-services-section .sr-tw-ul li .icon,
    .ana-services-section .sr-tw-ul li .icon-right {
        flex-basis: 66px;
        width: 66px;
    }
    .ana-services-section .sr-tw-ul li .icon img,
    .ana-services-section .sr-tw-ul li .icon-right img {
        width: 52px;
        height: 52px;
    }
    .ana-services-section .sr-tw-ul li .icon i,
    .ana-services-section .sr-tw-ul li .icon-right i {
        width: 46px;
        height: 46px;
        font-size: 38px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ana-services-section .sr-tw-ul li,
    .ana-services-section .services-center-logo {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ── Booking/Agendamento section ─────────────────────── */
.booking-area {
    background-color: var(--brand-beige) !important;
}
.contact-page-area {
    padding-top: 155px !important;
}
.contact-bg {
    background: transparent !important;
}
.contact-field input,
.contact-field textarea,
.contact-field select,
.custom-select {
    border: 1px solid var(--brand-silver) !important;
    color: var(--brand-dark) !important;
    background: var(--brand-white) !important;
}
.contact-form-feedback {
    margin-bottom: 22px;
    padding: 14px 18px;
    border-radius: 6px;
    font-size: 16px;
    line-height: 1.45;
}
.contact-form-feedback-success {
    background: rgba(134,133,131,.12);
    border: 1px solid rgba(134,133,131,.3);
    color: var(--brand-dark);
}
.contact-form-feedback-error {
    background: rgba(136,72,72,.1);
    border: 1px solid rgba(136,72,72,.26);
    color: #744040;
}

.contact-antispam {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.contact-captcha {
    color: #565656;
}

.contact-captcha label {
    display: block;
    margin-bottom: 9px;
    font-size: 15px;
}

.contact-captcha input {
    width: 110px;
    height: 54px;
    padding: 0 18px;
    border: 1px solid #d8d8d8;
    border-radius: 4px;
    background: #fff;
}

.contact-captcha input:focus {
    border-color: #b89574;
    outline: none;
}
.contact-field input:focus,
.contact-field textarea:focus,
.contact-field select:focus {
    border-color: var(--brand-accent) !important;
    outline: none;
}
.opening-time {
    background: var(--brand-accent) !important;
    color: var(--brand-white) !important;
}
.opening-time .open-img {
    display: none !important;
}
.opening-time h3::before {
    background: var(--brand-beige) !important;
}
.opening-time h3,
.opening-time .left-text,
.opening-time .right-text,
.opening-time .discount {
    color: var(--brand-white) !important;
}
.opening-time .discount {
    line-height: 1.45;
}
.contact-page-subtitle {
    max-width: 640px;
    margin: 14px auto 0;
}
.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 48px;
}
.contact-info-card {
    min-height: 156px;
    border: 1px solid rgba(134,133,131,.18);
    border-radius: 8px;
    background: rgba(255,255,255,.78);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 26px 24px;
    color: var(--brand-dark) !important;
    box-shadow: 0 14px 38px rgba(61,59,58,.06);
    transition: transform .25s ease, box-shadow .25s ease;
}
.contact-info-card i {
    color: var(--brand-accent);
    font-size: 30px;
    margin-bottom: 16px;
}
.contact-info-card span {
    color: var(--brand-accent);
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 7px;
}
.contact-info-card strong {
    color: var(--brand-dark);
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.45;
}
.contact-info-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 48px rgba(61,59,58,.1);
}
.contact-map-section {
    background: var(--brand-white);
}
.contact-map-frame {
    min-height: 420px;
    overflow: hidden;
}
.contact-map-frame iframe {
    display: block;
    width: 100%;
    min-height: 420px;
}
@media (max-width: 991px) {
    .contact-info-grid {
        grid-template-columns: 1fr;
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
    }
    .contact-info-card {
        min-height: 0;
        text-align: center;
    }
}
@media (max-width: 575px) {
    .contact-page-area {
        padding-top: 200px !important;
        padding-bottom: 70px !important;
    }
    .contact-page-area .mb-60 {
        margin-bottom: 14px !important;
    }
    .contact-page-area .text-center {
        text-align: center !important;
    }
    .contact-page-area h5,
    .contact-page-area h2,
    .contact-page-area .contact-page-subtitle {
        text-align: center !important;
    }
    .contact-page-area h2 {
        font-size: clamp(32px, 9.3vw, 40px) !important;
        line-height: 1.08 !important;
        white-space: nowrap;
        letter-spacing: 0 !important;
    }
    .contact-page-area .contact-page-subtitle {
        max-width: 330px;
        margin-top: 22px;
        margin-left: auto;
        margin-right: auto;
        line-height: 1.55;
    }
    .contact-info-grid {
        width: min(100%, 296px);
        gap: 18px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 54px;
    }
    .contact-info-card {
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 156px;
        padding: 28px 20px;
        text-align: center;
    }
    .contact-info-card i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin: 0 auto 18px;
        font-size: 30px;
        line-height: 1;
    }
    .contact-info-card strong {
        display: block;
        max-width: 100%;
        text-align: center;
    }
    .contact-page-area .contact-bg {
        width: min(100%, 320px);
        margin-left: auto;
        margin-right: auto;
    }
    .contact-page-area .contact-form .slider-btn {
        display: flex !important;
        justify-content: center !important;
        width: 100%;
    }
    .contact-page-area .contact-form .slider-btn .btn {
        width: auto !important;
        min-width: min(100%, 260px);
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 32px !important;
        padding-right: 32px !important;
    }
    .contact-map-frame,
    .contact-map-frame iframe {
        min-height: 340px;
    }
}

/* ── Testimonial section ─────────────────────────────── */
.results-section {
    position: relative;
    box-shadow: 0 -22px 38px rgba(61,59,58,.06);
    z-index: 1;
}
.results-section::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: rgba(134,133,131,.12);
    pointer-events: none;
}
.testimonial-area {
    background-color: var(--brand-beige) !important;
}
.testimonial-area .section-title h2 {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    color: var(--brand-dark) !important;
    font-size: clamp(38px, 3.2vw, 58px);
    line-height: 1.12;
}
.testimonial-area .testimonial-title span {
    display: inline-block;
    font-size: 1.12em;
}
.testimonial-area .section-title p {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    color: var(--brand-dark) !important;
}
.testimonial-active {
    margin: 0 -12px;
}
.testimonial-active .slick-track {
    display: flex !important;
    align-items: stretch;
}
.testimonial-active .slick-slide {
    height: auto !important;
    background: var(--brand-white) !important;
    border: 1px solid rgba(134,133,131,.18);
    border-radius: 8px !important;
    box-shadow: 0 14px 36px rgba(61,59,58,.06) !important;
    padding: 22px 24px 24px !important;
    margin: 0 12px 18px !important;
}
.testimonial-active .slick-slide > div,
.testimonial-active .single-testimonial {
    height: 100%;
}
.testimonial-active .single-testimonial {
    display: flex !important;
    flex-direction: column;
}
.testimonial-active .testi-author {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}
.testimonial-active .review-avatar {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--brand-silver);
    color: var(--brand-dark);
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: 700;
    object-fit: cover;
    object-position: center;
}
.testimonial-active .testi-author picture {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    display: block;
    border-radius: 50%;
    overflow: hidden;
}
.testimonial-active .testi-author picture .review-avatar {
    width: 100% !important;
    height: 100% !important;
    min-width: 100%;
}
.testimonial-active .ta-info {
    float: none !important;
    margin-left: 0 !important;
}
.testimonial-active .ta-info h6 {
    color: var(--brand-dark) !important;
    font-family: var(--font-heading) !important;
    font-size: 19px !important;
    margin: 0 0 4px !important;
}
.testimonial-active .review-stars {
    color: #f0ad00;
    font-size: 13px;
    letter-spacing: 0.08em;
    line-height: 1;
}
.testimonial-active .single-testimonial p {
    color: var(--brand-dark);
    font-size: 15px;
    line-height: 1.6;
}
.testimonial-active .qt-img {
    display: none !important;
}
.testimonial-active .slick-dots li button {
    background-color: rgba(134,133,131,.35) !important;
}
.testimonial-active .slick-dots .slick-active button {
    background-color: var(--brand-accent) !important;
}
.testimonial-google-cta {
    display: flex;
    justify-content: center;
    margin-top: 18px;
}
.testimonial-google-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid rgba(134,133,131,.32);
    border-radius: 8px;
    background: var(--brand-white);
    color: var(--brand-dark);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    box-shadow: 0 12px 28px rgba(61,59,58,.06);
}
.testimonial-google-cta a:hover {
    border-color: var(--brand-accent);
    background: var(--brand-accent);
    color: var(--brand-white);
}
.testimonial-google-cta i {
    font-size: 17px;
    line-height: 1;
}
.section-title h5 {
    color: var(--brand-accent) !important;
}
@media (max-width: 575px) {
    .testimonial-active {
        margin: 0 -6px;
    }
    .testimonial-active .slick-slide {
        margin: 0 6px 16px !important;
        padding: 16px 14px 18px !important;
    }
    .testimonial-active .testi-author {
        gap: 9px;
        margin-bottom: 12px;
    }
    .testimonial-active .review-avatar {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
        font-size: 18px;
    }
    .testimonial-active .testi-author picture {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
    }
    .testimonial-active .ta-info h6 {
        font-size: 14px !important;
        line-height: 1.15;
    }
    .testimonial-active .review-stars {
        font-size: 11px;
    }
    .testimonial-active .single-testimonial p {
        font-size: 12.5px;
        line-height: 1.5;
    }
    .testimonial-google-cta {
        margin-top: 14px;
    }
    .testimonial-google-cta a {
        min-height: 44px;
        padding: 11px 20px;
        font-size: 14px;
    }
}
@media (max-width: 359px) {
    .testimonial-active {
        margin: 0 -10px;
    }
    .testimonial-active .slick-slide {
        margin: 0 10px 16px !important;
        padding: 20px 18px 22px !important;
    }
    .testimonial-active .review-avatar {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
        font-size: 21px;
    }
    .testimonial-active .testi-author picture {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
    }
    .testimonial-active .ta-info h6 {
        font-size: 18px !important;
    }
    .testimonial-active .single-testimonial p {
        font-size: 14.5px;
    }
}

/* ── Footer ──────────────────────────────────────────── */
.footer-bg {
    background-color: var(--brand-dark) !important;
}
.footer-logo {
    width: 235px !important;
    height: auto !important;
    margin-left: 0 !important;
    display: block;
}

/* Título das colunas do footer — substitui circle_right.png por linha CSS */
.f-widget-title h2,
.footer-widget .widgettitle {
    color: var(--brand-silver) !important;
}
.f-widget-title h2::before,
.footer-widget .widgettitle::before {
    background: var(--brand-accent) !important;
    background-image: none !important;
    height: 2px !important;
    width: 40px !important;
    border-radius: 2px;
}

/* Links do footer */
.footer-link p,
.footer-link ul li a,
.copy-text,
.footer-link strong {
    color: var(--brand-silver) !important;
}
.footer-link ul li a:hover {
    color: var(--brand-white) !important;
}
/* bullets "+" e ícones "i" dentro dos li */
.footer-link ul li a::before,
.footer-link ul li i {
    color: var(--brand-accent) !important;
}

/* Link do copyright */
.copy-text a {
    color: var(--brand-silver) !important;
}
.copy-text a:hover {
    color: var(--brand-white) !important;
}

/* Bullet separador no copyright-wrap li */
.copyright-wrap li::before {
    background-color: var(--brand-accent) !important;
}

/* Ícones PNG do footer (relógio, e-mail, telefone) — recolore para cinza */
.f-contact .icon img,
.copay-contact .c-contact img,
.contact-box .icon img {
    filter: grayscale(1) brightness(1.8) !important;
}

/* Redes sociais */
.footer-social a {
    background: var(--brand-accent) !important;
    color: var(--brand-white) !important;
    border: none !important;
}
.footer-social a:hover {
    background: var(--brand-white) !important;
    color: var(--brand-accent) !important;
}

/* Newsletter input */
.footer-link .subricbe input {
    border: 1px solid var(--brand-silver) !important;
    color: var(--brand-dark) !important;
}
.footer-link .subricbe .header-btn {
    background: var(--brand-accent) !important;
    color: var(--brand-white) !important;
}
.footer-hours-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.footer-hour-item p {
    margin-bottom: 0;
}
.footer-contact-list {
    display: flex;
    justify-content: flex-end;
    gap: 28px;
}
.footer-contact-card {
    display: flex;
    align-items: center;
    color: var(--brand-silver) !important;
}
.footer-contact-card .icon {
    color: var(--brand-silver);
    font-size: 26px;
    line-height: 1;
    margin-right: 12px;
}
.footer-contact-card .icon img {
    display: none !important;
}
.footer-contact-card .text {
    display: block;
}
.footer-contact-card .text strong {
    display: none;
}
.footer-contact-card .text span {
    color: var(--brand-silver);
    font-size: 16px;
    line-height: 1.35;
}
@media (max-width: 767px) {
    .footer-p {
        padding-top: 64px !important;
        padding-bottom: 92px !important;
    }
    .footer-top .footer-widget {
        text-align: center;
        margin-bottom: 34px !important;
    }
    .footer-top .row.justify-content-between > [class*="col-"]:first-child {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .footer-top .row.justify-content-between > [class*="col-"]:nth-child(2),
    .footer-top .row.justify-content-between > [class*="col-"]:nth-child(3) {
        flex: 0 0 50%;
        max-width: 50%;
        text-align: left;
    }
    .footer-top .row.justify-content-between > [class*="col-"]:nth-child(2) .footer-widget,
    .footer-top .row.justify-content-between > [class*="col-"]:nth-child(3) .footer-widget {
        text-align: left;
    }
    .footer-top .row.justify-content-between > [class*="col-"]:nth-child(4) {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .footer-top .row.justify-content-between > [class*="col-"]:nth-child(4) .footer-widget {
        margin-bottom: 26px !important;
    }
    .footer-widget .f-widget-title {
        margin-bottom: 24px !important;
    }
    .footer-widget .f-widget-title img,
    .footer-logo {
        width: 210px;
        height: auto;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .footer-link p {
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
        font-size: 17px;
        line-height: 1.7;
    }
    .footer-link ul li {
        margin-bottom: 14px;
    }
    .footer-link ul li a {
        font-size: 16px;
        line-height: 1.35;
        padding-left: 0 !important;
    }
    .footer-link ul li a::before {
        display: none !important;
    }
    .footer-link .f-contact {
        display: flex;
        justify-content: center;
        width: 100%;
    }
    .f-contact .contact-box {
        display: inline-grid;
        grid-template-columns: 44px max-content;
        align-items: center;
        justify-content: center;
        column-gap: 18px;
        text-align: left;
        width: min(100%, 410px);
        max-width: 100%;
        margin: 0 auto;
    }
    .f-contact .contact-box .icon {
        width: 44px;
        margin: 0 !important;
        float: none !important;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .f-contact .contact-box .icon img {
        width: 44px;
        height: 44px;
        object-fit: contain;
    }
    .footer-hours-grid {
        display: grid;
        grid-template-columns: repeat(2, max-content);
        justify-content: center;
        gap: 22px;
        max-width: 100%;
        margin: 0;
    }
    .footer-hour-item {
        padding: 0;
        border: 0;
        border-radius: 0;
    }
    .footer-hour-item strong {
        display: block;
        font-size: 14px;
        line-height: 1.25;
    }
    .footer-hour-item p {
        font-size: 14px;
        line-height: 1.3;
        margin-top: 5px;
    }
    .f-widget-title h2 {
        font-size: 25px !important;
    }
    .f-widget-title h2::before,
    .footer-widget .widgettitle::before {
        left: 50% !important;
        transform: translateX(-50%);
        width: 34px !important;
    }
    .footer-top .row.justify-content-between > [class*="col-"]:nth-child(2) .f-widget-title h2::before,
    .footer-top .row.justify-content-between > [class*="col-"]:nth-child(3) .f-widget-title h2::before {
        left: 0 !important;
        transform: none;
    }
    .footer-social {
        float: none !important;
        display: flex !important;
        justify-content: center;
        align-items: center;
        gap: 16px;
        width: 100%;
        margin: 0 auto !important;
    }
    .footer-social a {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 58px !important;
        height: 58px !important;
        margin: 0 !important;
        line-height: 1 !important;
        font-size: 22px !important;
    }
    .copyright-wrap {
        text-align: center;
        width: calc(100% - 24px);
        margin: 30px auto 0 !important;
        padding: 24px 18px 32px !important;
        row-gap: 20px;
        border-radius: 8px 8px 0 0;
    }
    .copyright-wrap .col-lg-6:first-child {
        order: 2;
    }
    .copyright-wrap .col-lg-6:last-child {
        order: 1;
    }
    .copy-text {
        font-size: 14px;
        line-height: 1.55;
    }
    .copay-contact {
        display: block;
        float: none !important;
        width: 100%;
    }
    .footer-contact-list {
        display: grid !important;
        grid-template-columns: 1fr;
        justify-content: center;
        gap: 12px;
        width: min(100%, 310px);
        margin: 0 auto !important;
        padding: 0 !important;
    }
    .footer-contact-list li {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        width: 100%;
    }
    .copyright-wrap li::before {
        display: none !important;
    }
    .footer-contact-card {
        display: flex !important;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 12px;
        width: 100%;
        min-height: 48px;
        padding: 8px 10px;
        text-align: left;
    }
    .footer-contact-card .icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
        height: auto;
        margin: 0 !important;
        border-radius: 0;
        background: transparent;
        color: var(--brand-silver);
        font-size: 23px;
        line-height: 1;
        flex: 0 0 28px;
    }
    .footer-contact-card .text {
        display: block;
        min-width: 0;
    }
    .footer-contact-card .text strong {
        display: none;
    }
    .footer-contact-card .text span {
        display: block;
        color: var(--brand-white);
        font-size: 15px;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }
}
@media (max-width: 380px) {
    .footer-link p {
        font-size: 16px;
    }
    .footer-top .row.justify-content-between > [class*="col-"]:nth-child(2),
    .footer-top .row.justify-content-between > [class*="col-"]:nth-child(3) {
        padding-left: 10px;
        padding-right: 10px;
    }
    .footer-link ul li a {
        font-size: 15px;
    }
    .footer-contact-list {
        width: min(100%, 286px);
    }
    .footer-contact-card {
        gap: 10px;
        padding-left: 6px;
        padding-right: 6px;
    }
    .footer-contact-card .text span {
        font-size: 14px;
    }
    .f-contact .contact-box {
        grid-template-columns: 42px max-content max-content;
        gap: 12px;
    }
    .f-contact .contact-box .icon,
    .f-contact .contact-box .icon img {
        width: 42px;
    }
    .footer-hour-item strong,
    .footer-hour-item p {
        font-size: 13px;
    }
}

/* ── Service Pages ───────────────────────────────────── */
.service-hero {
    min-height: 640px;
    padding: 150px 0 90px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}
.service-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.78), rgba(255,255,255,.52) 58%, rgba(255,255,255,.34));
    pointer-events: none;
}
.service-hero .container {
    position: relative;
    z-index: 1;
}
.service-hero-content h5 {
    color: var(--brand-accent);
    font-family: var(--font-heading);
    font-size: 18px;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.service-hero-content h1 {
    color: var(--brand-dark);
    font-family: var(--font-heading);
    font-size: clamp(46px, 5vw, 78px);
    line-height: 1.03;
    margin-bottom: 24px;
}
.service-hero-content p {
    color: var(--brand-dark);
    font-size: 20px;
    line-height: 1.65;
    max-width: 710px;
}
.service-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 34px;
}
.service-secondary-btn {
    background: transparent !important;
    border-color: var(--brand-dark) !important;
    color: var(--brand-dark) !important;
}
.service-secondary-btn:hover {
    background: var(--brand-dark) !important;
    color: var(--brand-white) !important;
}
.service-hero-card {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(61,59,58,.16);
}
.service-hero-card img {
    display: block;
    width: 100%;
    aspect-ratio: 958 / 542;
    object-fit: cover;
}
.service-detail-section {
    background: var(--brand-white);
}
.service-detail-single {
    padding-left: 0 !important;
}
.service-detail-single .content-box h2,
.service-detail-single .content-box h3 {
    color: var(--brand-dark) !important;
    font-family: var(--font-heading) !important;
}
.service-detail-single .content-box h2 {
    font-size: clamp(34px, 3.4vw, 54px);
    line-height: 1.12;
    margin-bottom: 22px;
}
.service-detail-single .content-box h3 {
    font-size: clamp(25px, 2.1vw, 34px);
    line-height: 1.18;
    margin: 46px 0 18px;
}
.service-detail-single .content-box p {
    color: var(--brand-dark);
    font-size: 18px;
    line-height: 1.85;
    margin-bottom: 22px;
}
.service-detail-single .service-lead {
    font-size: 21px !important;
    line-height: 1.75 !important;
}
.service-feature-image {
    margin: 48px 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 18px 54px rgba(61,59,58,.1);
}
.service-feature-image img {
    width: 100%;
    display: block;
}
.service-feature-image picture,
.service-hero-card picture,
.about-page-photo picture,
.service-result-card picture {
    display: block;
    width: 100%;
}
.service-feature-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 44px 0;
}
.service-feature-gallery-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 760px;
}
.service-feature-gallery picture {
    display: block;
}
.service-feature-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(61,59,58,.1);
}
.service-result-showcase {
    margin: 48px 0 56px;
    padding: 28px;
    background: #f8f5f1;
    border: 1px solid rgba(61,59,58,.08);
    border-radius: 8px;
}
.service-result-showcase-compact {
    margin-top: 36px;
}
.service-result-intro {
    margin-bottom: 22px;
}
.service-result-intro span {
    display: block;
    color: var(--brand-accent);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    line-height: 1.3;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.service-result-intro h3 {
    margin-bottom: 0 !important;
}
.service-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}
.service-result-card {
    margin: 0;
    background: var(--brand-white);
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(61,59,58,.08);
    overflow: hidden;
}
.service-result-card .service-gallery-link {
    display: block;
}
.service-result-card .service-gallery-link picture {
    display: block;
}
.service-result-card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
.service-video-card video {
    display: block;
    width: 100%;
    aspect-ratio: 2340 / 2924;
    background: #171717;
    object-fit: cover;
}
.service-result-card figcaption {
    color: var(--brand-dark);
    font-size: 15px;
    line-height: 1.55;
    padding: 14px 16px 16px;
}
.service-gallery-link {
    display: block;
    position: relative;
    cursor: zoom-in;
}
.service-gallery-link::after {
    content: "\f00e";
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    position: absolute;
    right: 12px;
    bottom: 12px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(61,59,58,.72);
    color: var(--brand-white);
    display: grid;
    place-items: center;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .22s ease, transform .22s ease;
}
.service-gallery-link:hover::after {
    opacity: 1;
    transform: translateY(0);
}
.about-page-hero-card img {
    aspect-ratio: 4 / 5;
    object-position: center top;
}
.clinic-logo-card {
    background: rgba(255,255,255,.86);
    padding: 46px 34px;
}
.clinic-logo-card picture {
    display: block;
}
.clinic-logo-card img {
    aspect-ratio: auto;
    object-fit: contain;
    max-height: 360px;
}
.clinic-gallery {
    margin: 54px 0 62px;
}
.clinic-gallery-heading {
    max-width: 690px;
    margin: 0 auto 30px;
    text-align: center;
}
.clinic-gallery-heading span {
    display: block;
    margin-bottom: 7px;
    color: var(--brand-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.clinic-gallery-heading h3 {
    margin: 0 0 12px !important;
}
.clinic-gallery-heading p {
    margin-bottom: 0 !important;
}
.clinic-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.clinic-gallery-item {
    margin: 0;
    overflow: hidden;
    border-radius: 10px;
    background: var(--brand-beige);
    box-shadow: 0 16px 38px rgba(61,59,58,.11);
}
.clinic-gallery-item picture {
    display: block;
}
.clinic-gallery-item .service-gallery-link {
    overflow: hidden;
}
.clinic-gallery-item .service-gallery-link::after {
    right: 9px;
    bottom: 9px;
    width: 34px;
    height: 34px;
    opacity: 1;
    transform: none;
}
.clinic-gallery-item img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: transform .45s ease;
}
.clinic-gallery-item:hover img {
    transform: scale(1.025);
}
.about-page-intro {
    display: grid;
    grid-template-columns: minmax(280px, 38%) minmax(0, 1fr);
    gap: 46px;
    align-items: center;
    margin-bottom: 52px;
}
.about-page-photo {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 18px 54px rgba(61,59,58,.12);
}
.about-page-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
}
.service-highlight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 44px 0 56px;
}
.service-highlight-card {
    border: 1px solid rgba(134,133,131,.18);
    border-radius: 8px;
    padding: 28px 24px;
    background: rgba(245,240,236,.48);
}
.service-highlight-card i {
    color: var(--brand-accent);
    font-size: 34px;
    margin-bottom: 18px;
}
.service-highlight-card h3 {
    font-size: 24px !important;
    margin: 0 0 12px !important;
}
.service-highlight-card p {
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    margin-bottom: 0 !important;
}
.clinic-comfort-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.clinic-comfort-grid .service-highlight-card {
    padding: 24px 20px;
}
.clinic-comfort-grid .service-highlight-card h3 {
    font-size: 21px !important;
}
.service-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 22px;
    margin: 20px 0 44px;
}
.service-check-list li {
    color: var(--brand-dark);
    font-size: 17px;
    line-height: 1.55;
    position: relative;
    padding-left: 30px;
}
.service-check-list li::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    color: var(--brand-accent);
    position: absolute;
    left: 0;
    top: 1px;
}
.service-whatsapp-cta {
    margin-top: 50px;
    padding: 30px 36px;
    border-radius: 8px;
    background: var(--brand-dark);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 34px;
}
.service-whatsapp-cta h2,
.service-whatsapp-cta p {
    color: var(--brand-white) !important;
}
.service-detail-single .content-box .service-whatsapp-cta h2 {
    color: var(--brand-white) !important;
    -webkit-text-fill-color: var(--brand-white);
}
.service-whatsapp-cta h2 {
    font-size: clamp(25px, 2vw, 34px) !important;
    line-height: 1.16 !important;
    margin-bottom: 8px !important;
}
.service-whatsapp-cta p {
    font-size: 17px !important;
    line-height: 1.58 !important;
    margin-bottom: 0 !important;
    opacity: .86;
    max-width: 760px;
}
.service-whatsapp-cta .btn {
    white-space: nowrap;
    min-width: 270px;
    text-align: center;
    padding: 18px 28px;
}
@media (max-width: 991px) {
    .service-hero {
        min-height: auto;
        padding: 130px 0 74px;
        text-align: center;
    }
    .service-hero-content p {
        margin-left: auto;
        margin-right: auto;
        font-size: 18px;
    }
    .service-hero-actions {
        justify-content: center;
    }
    .service-highlight-grid {
        grid-template-columns: 1fr;
    }
    .clinic-comfort-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .about-page-intro {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }
    .about-page-photo {
        max-width: 460px;
        margin: 0 auto;
    }
    .service-whatsapp-cta {
        grid-template-columns: 1fr;
        gap: 22px;
        text-align: center;
    }
    .service-whatsapp-cta .btn {
        justify-self: center;
    }
}
@media (max-width: 575px) {
    .service-hero {
        padding: 116px 0 60px;
    }
    .service-hero-content h5 {
        font-size: 13px;
        letter-spacing: .12em;
    }
    .service-hero-content h1 {
        font-size: 42px;
    }
    .service-hero-content p,
    .service-detail-single .content-box p {
        font-size: 16px;
        line-height: 1.75;
    }
    .service-detail-section {
        padding-top: 76px !important;
        padding-bottom: 68px !important;
    }
    .service-feature-gallery {
        gap: 8px;
        margin: 30px 0 34px;
    }
    .service-feature-gallery-two {
        max-width: none;
    }
    .service-feature-gallery img {
        aspect-ratio: 1 / 1;
        border-radius: 7px;
        box-shadow: 0 10px 22px rgba(61,59,58,.09);
    }
    .service-result-showcase {
        margin: 32px 0 38px;
        padding: 18px;
    }
    .service-result-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .service-result-card {
        border-radius: 7px;
        box-shadow: 0 10px 24px rgba(61,59,58,.08);
    }
    .service-result-card figcaption {
        font-size: 14px;
        padding: 12px 14px 14px;
    }
    .service-detail-single .service-lead {
        font-size: 18px !important;
    }
    .service-check-list {
        grid-template-columns: 1fr;
    }
    .clinic-comfort-grid {
        grid-template-columns: 1fr;
    }
    .clinic-gallery {
        margin: 42px 0 50px;
    }
    .clinic-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }
    .clinic-gallery-item {
        border-radius: 6px;
    }
    .clinic-gallery-item .service-gallery-link::after {
        right: 5px;
        bottom: 5px;
        width: 24px;
        height: 24px;
        font-size: 11px;
    }
    .service-whatsapp-cta {
        padding: 24px 20px;
    }
    .service-whatsapp-cta h2 {
        font-size: 27px !important;
    }
    .service-whatsapp-cta p {
        font-size: 16px !important;
    }
    .service-whatsapp-cta .btn {
        min-width: 0;
        width: 100%;
        padding: 16px 18px;
    }
}

/* ── Logo ────────────────────────────────────────────── */
.logo {
    width: auto !important;
}
.logo img {
    width: 260px !important;
    height: auto !important;
    display: block;
}
@media (min-width: 1200px) {
    .logo img {
        width: 320px !important;
    }
}

/* logo padrão (fundo claro): mostra claro, esconde escuro */
.logo-escuro { display: none !important; }
.logo-claro  { display: block !important; }

/* header transparente (hero escuro): inverte */
.header-transparent .logo-escuro { display: block !important; }
.header-transparent .logo-claro  { display: none !important; }

/* header transparente sobre hero claro: usa logo para fundo claro */
.header-transparent.header-light .logo-escuro { display: none !important; }
.header-transparent.header-light .logo-claro  { display: block !important; }

/* ao rolar no header transparente: volta ao logo claro */
.header-transparent #header-sticky.sticky-menu .logo-escuro { display: none !important; }
.header-transparent #header-sticky.sticky-menu .logo-claro  { display: block !important; }

/* ── Mobile: logo, textos e mosaico ─────────────────── */
@media (max-width: 991px) {
    .header-transparent.header-light #header-sticky {
        padding-top: 20px !important;
    }

    /* logo centralizada */
    .logo {
        text-align: center !important;
        padding: 12px 0 !important;
    }
    .logo img {
        margin: 0 auto !important;
    }

    /* textos do hero centralizados */
    .slider-content.s-slider-content {
        text-align: center !important;
    }
    .slider-content .slider-btn {
        display: flex !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    .slider-content .slider-btn .btn {
        margin-right: 0 !important;
    }

    /* slider: conteúdo alinhado ao topo, sem centralização vertical */
    .slider-bg {
        min-height: auto !important;
        align-items: flex-start !important;
        padding-top: 112px !important;
        padding-bottom: 30px !important;
    }

    /* remove margem extra do slider-content no mobile */
    .slider-content.s-slider-content {
        margin-top: 0 !important;
    }

    /* mosaico: 3 colunas flex, espaçamento igual dentro de cada coluna */
    .hero-imgs {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 10px !important;
        width: 92% !important;
        max-width: 420px !important;
        height: auto !important;
        transform: none !important;
        margin: 0 auto !important;
        position: static !important;
    }

    .hi-col {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    /* stagger: apenas o topo de cada coluna varia */
    .hi-col-1 { margin-top: 0 !important; }
    .hi-col-2 { margin-top: 28px !important; }
    .hi-col-3 { margin-top: 30px !important; }

    .hi {
        position: static !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        top: auto !important; left: auto !important;
        right: auto !important; bottom: auto !important;
        box-shadow: 0 3px 10px rgba(61,59,58,.22) !important;
    }

    .hi img {
        width: 100% !important;
        height: auto !important;
        object-fit: unset !important;
    }
}

/* ── Separador do menu (era "+" rosa) ───────────────── */
.main-menu ul li a::after {
    content: none !important;
    display: none !important;
}
.main-menu > nav > ul > li::after {
    content: "|" !important;
    position: absolute;
    right: -31px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--brand-silver) !important;
    font-weight: 300;
    opacity: 0.5;
    pointer-events: none;
}
.main-menu > nav > ul > li:last-child::after,
.main-menu .has-sub ul li::after {
    content: none !important;
    display: none !important;
}

/* ── Sticky header (ao rolar) ────────────────────────── */
#header-sticky.sticky-menu {
    background: var(--brand-white) !important;
    box-shadow: 0 2px 20px rgba(61,59,58,.12) !important;
}

/* ── Mobile menu ─────────────────────────────────────── */
.mobile-menu.mean-container {
    display: none;
}

@media (max-width: 1199px) {
    .mobile-menu.mean-container {
        display: block;
    }
}

.mean-container .mean-bar {
    background: var(--brand-white) !important;
}

/* botão hamburguer — sem borda, ícone Font Awesome via JS */
.mean-container a.meanmenu-reveal {
    color: var(--brand-accent) !important;
    border: none !important;
    background: none !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    margin-top: -54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
    text-indent: 0 !important;
    line-height: 1 !important;
}

/* hamburguer branco no header transparente */
.header-transparent .mean-container a.meanmenu-reveal {
    color: var(--brand-white) !important;
}
.header-transparent.header-light .mean-container a.meanmenu-reveal {
    color: var(--brand-dark) !important;
}
/* hamburguer cinza quando header vira branco no scroll */
.header-transparent #header-sticky.sticky-menu .mean-container a.meanmenu-reveal {
    color: var(--brand-accent) !important;
}
/* esconde as spans geradas pelo plugin */
.mean-container a.meanmenu-reveal span {
    display: none !important;
}

/* dropdown do menu mobile */
.mean-container .mean-nav {
    background: var(--brand-white) !important;
    box-shadow: 0 8px 24px rgba(61,59,58,.1) !important;
}
.mean-container .mean-nav ul li a {
    color: var(--brand-dark) !important;
    border-top: 1px solid var(--brand-silver) !important;
}
.mean-container .mean-nav ul li a:hover {
    color: var(--brand-accent) !important;
}
.mean-container .mean-nav ul li a.mean-expand {
    background: transparent !important;
    color: var(--brand-accent) !important;
}

/* ── Floating buttons ────────────────────────────────── */
#scrollUp {
    display: none !important;
}
.whatsapp-floating-btn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #25d366;
    color: var(--brand-white) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    line-height: 1;
    box-shadow: 0 14px 34px rgba(37,211,102,.34);
    z-index: 998;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.whatsapp-floating-btn:hover {
    background: #1ebe5d;
    color: var(--brand-white) !important;
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(37,211,102,.42);
}
@media (max-width: 575px) {
    .whatsapp-floating-btn {
        right: max(18px, env(safe-area-inset-right));
        bottom: max(24px, calc(env(safe-area-inset-bottom) + 20px));
        width: 52px;
        height: 52px;
        font-size: 28px;
    }
}

/* desktop: wrappers de coluna somem, filhos mantêm position absolute */
.hi-col { display: contents; }

/* ── Hero: altura e respiro do menu ─────────────────────── */
.slider-bg {
    min-height: 780px !important;
    padding-top: 80px !important;
    padding-bottom: 60px !important;
}

.hero-imgs {
    position: relative;
    width: 488px;
    height: 462px;
}

.hi {
    position: absolute;
    border-radius: 9px;
    overflow: hidden;
    opacity: 0;
    will-change: transform, opacity;
}
.hi picture,
.hi img {
    width: 100%;
    height: 100%;
    display: block;
}
.hi img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
.hi-3 img {
    object-position: center center;
}
/* entrada (opacity apenas — transform reservado para o float) */
@keyframes hi-enter {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ── Coluna A (x:0, w:144) ── */
.hi-5 {
    top: 28px; left: 0;
    width: 144px; height: 188px;
    z-index: 3;
    box-shadow: 0 8px 24px rgba(61,59,58,.22);
    animation: hi-enter .7s ease-out 1.5s 1 forwards;
}
.hi-4 {
    top: 226px; left: 0;
    width: 144px; height: 120px;
    z-index: 2;
    box-shadow: 0 6px 18px rgba(61,59,58,.18);
    animation: hi-enter .7s ease-out 2.25s 1 forwards;
}

/* ── Coluna B (x:154, w:162) — coluna principal ── */
.hi-1 {
    top: 0; left: 160px;
    width: 162px; height: 218px;
    z-index: 5;
    box-shadow: 0 18px 50px rgba(61,59,58,.36);
    animation: hi-enter .7s ease-out 1.0s 1 forwards;
}
.hi-3 {
    top: 228px; left: 160px;
    width: 162px; height: 158px;
    z-index: 4;
    box-shadow: 0 10px 28px rgba(61,59,58,.26);
    animation: hi-enter .7s ease-out 1.75s 1 forwards;
}
/* ── Coluna C (x:326, w:150) ── */
.hi-2 {
    top: 40px; left: 338px;
    width: 150px; height: 224px;
    z-index: 4;
    box-shadow: 0 12px 36px rgba(61,59,58,.28);
    animation: hi-enter .7s ease-out 1.25s 1 forwards;
}
.hi-6 {
    top: 274px; left: 338px;
    width: 150px; height: 188px;
    z-index: 3;
    box-shadow: 0 10px 28px rgba(61,59,58,.22);
    animation: hi-enter .7s ease-out 2.0s 1 forwards;
}

/* ── Magnific popup ──────────────────────────────────── */
.gallery-image figcaption {
    color: var(--brand-accent) !important;
}
.gallery-image,
.gallery-image picture,
.gallery-image img,
.gallery-image::before,
.gallery-image::after {
    border-radius: 8px !important;
}
.gallery-image picture {
    display: block;
    width: 100%;
    height: 100%;
}
.gallery-image::before {
    background: var(--brand-accent) !important;
}
.gallery-image::after {
    background: var(--brand-dark) !important;
}
.results-section .popup-image,
.results-section .gallery-image,
.results-section .gallery-image figcaption {
    transition: none !important;
}
.results-section .hover-zoomin img,
.results-section .gallery-image img {
    transition: transform .45s ease !important;
}
.results-section .gallery-image::before {
    top: 50% !important;
    transform: translate(-50%, -38%) !important;
    opacity: 0 !important;
    transition: opacity .22s ease, transform .22s ease !important;
}
.results-section .gallery-image:hover::before {
    transform: translate(-50%, -50%) !important;
    opacity: 1 !important;
}
.results-section .gallery-image::after {
    transition: opacity .22s ease !important;
}
.results-section .button-group button {
    transition: border-color .2s ease !important;
}
@media (max-width: 767px) {
    .results-section .section-title h2 {
        font-size: clamp(32px, 9.8vw, 38px) !important;
        line-height: 1.12 !important;
        max-width: 330px;
        margin-left: auto;
        margin-right: auto;
    }
    .results-section .masonry-gallery-huge {
        padding-left: 0;
        width: 100%;
    }
    .results-section .grid.col4 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        width: min(100%, 620px) !important;
        height: auto !important;
        margin: 0 auto !important;
        position: static !important;
    }
    .results-section .portfolio .col4 .grid-item,
    .results-section .grid-item {
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        position: static !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
    }
    .results-section .portfolio .col4 .grid-item:nth-child(2),
    .results-section .portfolio .col4 .grid-item:nth-child(3) {
        margin-top: 0 !important;
    }
    .results-section .gallery-image {
        aspect-ratio: 1 / 1;
    }
    .results-section .gallery-image picture,
    .results-section .gallery-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .results-section .gallery-image,
    .results-section .gallery-image picture,
    .results-section .gallery-image img,
    .results-section .gallery-image::before,
    .results-section .gallery-image::after {
        border-radius: 7px !important;
    }
}
.mfp-bg {
    background: rgba(61,59,58,.9) !important;
    z-index: 20042 !important;
}

.mfp-wrap {
    z-index: 20043 !important;
}

.mfp-content {
    z-index: 20045 !important;
}
.mfp-image-holder .mfp-content {
    max-width: min(96vw, 1480px) !important;
}
.mfp-figure::after {
    box-shadow: 0 20px 70px rgba(0,0,0,.34) !important;
}
.mfp-img {
    max-height: 84vh !important;
    padding: 28px 0 !important;
}
.mfp-close {
    right: 12px !important;
    top: 12px !important;
    width: auto !important;
    height: 38px !important;
    line-height: 1 !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    background: rgba(61,59,58,.72) !important;
    color: var(--brand-white) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    opacity: 1 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-transform: none;
    transition: background .2s ease, border-color .2s ease;
}
.mfp-close span {
    font-size: 20px;
    line-height: 1;
}
.mfp-close:hover {
    background: var(--brand-dark) !important;
    border-color: rgba(255,255,255,.55) !important;
}
.mfp-arrow-left {
    left: 18px !important;
}
.mfp-arrow-right {
    right: 18px !important;
}
.mfp-title {
    text-align: center !important;
    padding-right: 0 !important;
}
.mfp-bottom-bar {
    margin-top: 12px !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
}
.mfp-instagram-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    margin-top: 12px;
    padding: 12px 22px;
    border-radius: 8px;
    background: var(--brand-white);
    color: var(--brand-dark) !important;
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1;
}
.mfp-instagram-cta:hover {
    background: var(--brand-accent);
    color: var(--brand-white) !important;
}
.mfp-counter {
    color: rgba(255,255,255,.78) !important;
    position: static !important;
    display: block;
    text-align: center;
    margin: 8px auto 0;
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.2;
}
@media (max-width: 575px) {
    .mfp-img {
        max-height: 76vh !important;
        padding: 24px 0 !important;
    }
    .mfp-close {
        right: 10px !important;
        top: 10px !important;
        height: 36px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }
}

/* ── Pricing (caso seja usada) ───────────────────────── */
.pricing-box2 { border-top: 4px solid var(--brand-accent) !important; }
.pricing-box2.active { border-top-color: var(--brand-dark) !important; }
.pricing-btn .btn { background: var(--brand-accent) !important; }

/* ── Blog section ────────────────────────────────────── */
.date-home { background: var(--brand-accent) !important; color: var(--brand-white) !important; }
.blog-btn a { color: var(--brand-accent) !important; }
.blog-btn a:hover { color: var(--brand-dark) !important; }

/* ── Slider text: sequência de entrada ───────────────── */

/* 1. Headline: entra cinza-prata, brilho branco varre da esquerda, finaliza em branco */
@keyframes hero-shine {
    0% {
        opacity: 0;
        transform: translateY(18px);
        background-position: 0% 50%;
    }
    22% {
        opacity: 1;
        transform: translateY(0);
        background-position: 0% 50%;
    }
    100% {
        opacity: 1;
        transform: translateY(0);
        background-position: 100% 50%;
    }
}

.slider-content h2 {
    /* cinza (#868583) → brilho branco → branco final */
    background: linear-gradient(90deg,
        #868583 0%,
        #868583 14%,
        #b8b5b3 26%,
        #ffffff 38%,
        #f5f3f2 46%,
        #ffffff 54%,
        #c4c1bf 66%,
        #eeeceb 78%,
        #ffffff 88%,
        #ffffff 100%
    );
    background-size: 300% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent !important;
    opacity: 0;
    animation: hero-shine 2.6s ease-out 0.3s 1 forwards;
}

/* 2. Demais elementos: aparecem após o brilho */
@keyframes hero-fade-up {
    0%   { opacity: 0; transform: translateY(14px); }
    100% { opacity: 1; transform: translateY(0); }
}

.slider-content h5 {
    color: rgba(255, 255, 255, 0.82) !important;
    letter-spacing: 0.18em !important;
    opacity: 0;
    animation: hero-fade-up 0.7s ease-out 2.2s 1 forwards;
}

.slider-content p {
    color: var(--brand-white) !important;
    opacity: 0;
    animation: hero-fade-up 0.7s ease-out 2.6s 1 forwards;
}

.slider-content .slider-btn {
    opacity: 0;
    animation: hero-fade-up 0.7s ease-out 3.0s 1 forwards;
}

.hero-light .slider-content h2 {
    background: none !important;
    -webkit-background-clip: initial;
    background-clip: initial;
    -webkit-text-fill-color: var(--brand-dark);
    color: var(--brand-dark) !important;
    animation: hero-fade-up 0.9s ease-out 0.3s 1 forwards;
}
.hero-light .slider-content h5 {
    color: var(--brand-accent) !important;
}
.hero-light .slider-content p {
    color: var(--brand-dark) !important;
}
.hero-light .ss-btn.active {
    background: transparent !important;
    border-color: var(--brand-dark) !important;
    color: var(--brand-dark) !important;
}
.hero-light .ss-btn.active:hover {
    background: var(--brand-dark) !important;
    border-color: var(--brand-dark) !important;
    color: var(--brand-white) !important;
}

@media (min-width: 992px) {
    #home .slider-content.s-slider-content {
        max-width: 650px;
        margin-left: 0;
        margin-right: 0;
    }

    #home .slider-content h2 {
        max-width: 650px;
        margin-bottom: 26px !important;
        font-size: clamp(52px, 4.6vw, 64px) !important;
        line-height: 1.06 !important;
    }

    #home .slider-content p {
        max-width: 650px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: left;
    }
}

@media (max-width: 575px) {
    #agendamento .section-title h2,
    .contact-page-area h2 {
        font-size: clamp(30px, 8.2vw, 36px) !important;
        line-height: 1.08 !important;
        letter-spacing: 0 !important;
        white-space: nowrap;
    }
    #agendamento .contact-bg,
    #agendamento .section-title {
        width: min(100%, 320px);
        margin-left: auto;
        margin-right: auto;
    }
    #agendamento .section-title,
    #agendamento .section-title h5,
    #agendamento .section-title h2,
    #agendamento .section-title p {
        text-align: center !important;
    }
    #agendamento .section-title p {
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }
    #agendamento .contact-form .slider-btn {
        display: flex !important;
        justify-content: center !important;
        width: 100%;
    }
    #agendamento .contact-form .slider-btn .btn {
        width: auto !important;
        min-width: min(100%, 260px);
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 32px !important;
        padding-right: 32px !important;
    }
    .booking-area .contact-form .slider-btn {
        margin-bottom: 34px !important;
    }
    .booking-area .opening-time {
        width: 100% !important;
        max-width: 340px;
        margin: 34px auto 0 !important;
        padding: 34px 28px 36px !important;
        border-radius: 8px;
    }
    .booking-area .opening-time h3 {
        font-size: 34px !important;
        line-height: 1.12 !important;
        margin-bottom: 24px !important;
        padding-bottom: 16px !important;
        overflow-wrap: normal;
    }
    .booking-area .opening-time h3::before {
        width: 96px !important;
    }
    .booking-area .opening-time .text {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 14px;
        align-items: start;
        font-size: 18px !important;
        line-height: 1.35 !important;
        margin-bottom: 18px !important;
    }
    .booking-area .opening-time .left-text {
        width: auto !important;
        margin-bottom: 0 !important;
    }
    .booking-area .opening-time .discount {
        font-size: 17px !important;
        line-height: 1.45 !important;
        margin-top: 28px !important;
    }
}
