@charset "UTF-8";

/* --- Fonts --- */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;700&display=swap');



@font-face {

    font-family: "Compressa VF";

    src: url("https://res.cloudinary.com/dr6lvwubh/raw/upload/v1529908256/CompressaPRO-GX.woff2") format("woff2");

    font-style: normal;

    font-display: swap;

}



body {

    background-color: #fbfbfb;

    /* Previne o leak branco em gaps de repaint durante scroll */

    -webkit-overflow-scrolling: touch;

}



:root {

    --theme-color: #D78C98;

    --theme-color2: #F6F2EE;

    /* Sobrescrevendo cores de título e corpo para harmonizar melhor com o rosa */

    --title-color: #2D2D2D;

    /* Cinza escuro sofisticado */

    --body-color: #555555;

    --smoke-color: #F6F2EE;

    /* Usando o off-white da marca como fundo de fumaça */

    --title-font: 'Playfair Display', serif;

    --body-font: 'Montserrat', sans-serif;

    --display-font: 'Playfair Display', serif;

    --glow: rgba(215, 140, 152, 0.4);

    --glow2: rgba(215, 140, 152, 0.2);

}



/* Ajustes finos de contraste */

.th-btn {

    background: linear-gradient(180deg, var(--theme-color) 37.5%, #fbdfe4 100%) !important;

    color: var(--white-color) !important;

    box-shadow: 0px 3px 15px rgba(215, 140, 152, 0.4) !important;

    border: none !important;

}



.th-btn:before {

    background: linear-gradient(180deg, #fbdfe4 0%, rgba(251, 223, 228, 0) 78.65%) !important;

}



.th-btn:hover {

    background-color: #c97b87;

    /* Versão levemente mais escura do rosa para o hover */

    color: var(--white-color);

}



.text-theme {

    color: var(--theme-color) !important;

}



.bg-theme {

    background-color: var(--theme-color) !important;

}



/* Ajuste do Header para usar as cores da marca */

/* --- Hero Section Refinement (Editorial Split - DS11) --- */

.hero-editorial {

    background-color: var(--theme-color2);

    min-height: 85vh;

    display: flex;

    align-items: stretch;

    overflow: hidden;

    position: relative;

    padding: 0 !important;

}



.hero-editorial .container-fluid {

    padding: 0;

    width: 100%;

}



.hero-editorial-left {

    background-color: var(--theme-color2);

    padding: 80px 8% 80px 10%;

    display: flex;

    flex-direction: column;

    justify-content: center;

    position: relative;

    z-index: 2;

}



.hero-editorial-right {

    position: relative;

    overflow: hidden;

    display: flex;

    align-items: flex-end;

    justify-content: center;

    background-color: #fff;

    z-index: 1;

}



.hero-editorial-right img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center top;

}



/* Tipografia Editorial */

.hero-editorial .hero-eyebrow {

    font-size: 0.75rem;

    text-transform: uppercase;

    letter-spacing: 0.4em;

    color: var(--theme-color);

    font-weight: 700;

    display: block;

    margin-bottom: 25px;

    opacity: 0.8;

}



.hero-editorial .hero-title-premium {

    font-size: 4.8rem !important;

    font-weight: 700 !important;

    line-height: 1.05 !important;

    letter-spacing: -0.04em !important;

    color: var(--title-color) !important;

    margin-bottom: 25px;

}



.hero-editorial .hero-text-premium {

    font-size: 1.25rem !important;

    line-height: 1.7 !important;

    color: #555 !important;

    font-weight: 400 !important;

    max-width: 540px;

    margin-bottom: 45px;

}



/* Premium Buttons - DS11 Style */

.hero-editorial .hero-btn-primary {

    padding: 22px 45px;

    font-size: 1.05rem;

    font-weight: 700;

    background-color: var(--theme-color);

    color: #fff;

    border-radius: 4px;

    box-shadow: 0 10px 30px rgba(215, 140, 152, 0.2);

    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);

    border: none;

    display: inline-flex;

    align-items: center;

    gap: 12px;

}



.hero-editorial .hero-btn-primary:hover {

    transform: translateY(-4px);

    box-shadow: 0 15px 40px rgba(215, 140, 152, 0.35);

    background-color: #c97b88;

}



.hero-editorial .hero-btn-secondary {

    padding: 15px 0;

    font-size: 1rem;

    font-weight: 600;

    color: var(--title-color);

    border: none;

    background: transparent;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    transition: all 0.4s ease;

    opacity: 0.8;

}



.hero-editorial .hero-btn-secondary:hover {

    opacity: 1;

    color: var(--theme-color);

    transform: translateX(5px);

}



/* Microprovas Sutis */

.hero-micro-trust {

    margin-top: 60px;

    display: flex;

    gap: 30px;

    border-top: 1px solid rgba(0, 0, 0, 0.05);

    padding-top: 30px;

}



.trust-item {

    font-size: 0.7rem;

    font-weight: 700;

    color: #888;

    text-transform: uppercase;

    letter-spacing: 0.15em;

    display: flex;

    align-items: center;

    gap: 8px;

}



.trust-item i {

    color: var(--theme-color);

    font-size: 0.9rem;

}



/* Responsividade Editorial */

@media (max-width: 1199px) {

    .hero-editorial .hero-title-premium {

        font-size: 3.8rem !important;

    }

}



@media (max-width: 991px) {

    .hero-editorial {

        flex-direction: column;

    }



    .hero-editorial-left {

        padding: 80px 5% 60px 5%;

        text-align: center;

    }



    .hero-editorial .hero-text-premium {

        margin-left: auto;

        margin-right: auto;

    }



    .hero-editorial-right {

        order: -1;

        height: 60vh;

    }



    .hero-editorial .hero-btn-secondary {

        margin-top: 20px;

    }



    .hero-micro-trust {

        justify-content: center;

    }

}



.header-layout3 .main-menu>ul>li>a {

    color: var(--title-color);

}



.header-layout3 .main-menu>ul>li>a:hover {

    color: var(--theme-color);

}



/* --- Premium Header Refinement (DS11/DS9/DS5) --- */



/* 1 & 2: Header Heights & Top Bar */

.menu-top {

    padding: 15px 0 !important;

    background-color: #fff !important;

    border-bottom: 1px solid rgba(0, 0, 0, 0.03);

}



.header-top .header-links li {

    font-size: 12px !important;

    font-weight: 500 !important;

    color: #888 !important;

    display: inline-flex;

    align-items: center;

}



.header-top .header-links li i {

    color: var(--theme-color);

    margin-right: 8px;

    font-size: 13px;

}



.header-top .social-links .social-title {

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: 0.1em;

    color: #aaa;

    margin-right: 12px;

}



.header-top .social-links a {

    color: #888;

    font-size: 14px;

    transition: color 0.3s ease;

}



/* 7 & 8: Sticky Logic & Glass Effect */

.sticky-wrapper {

    transition: all 0.4s ease;

}



.sticky-wrapper.sticky {

    position: fixed !important;

    top: 0;

    left: 0;

    width: 100%;

    z-index: 1000 !important;

    background: rgba(255, 255, 255, 0.95) !important;

    backdrop-filter: blur(10px) !important;

    -webkit-backdrop-filter: blur(10px) !important;

    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;

    animation: sticky-slide-down 0.5s ease forwards;

}



.menu-area {

    padding: 12px 0 !important;

    transition: all 0.4s ease;

}



.sticky-wrapper.sticky .menu-area {

    padding: 8px 0 8px 100px !important;

}



/* 3 & 4: Novo Botão CTA Premium (Sem Verde, Borda Animada) */

.header-button .th-btn {

    position: relative !important;

    overflow: hidden !important;

    padding: 12px 32px !important;

    font-size: 14px !important;

    font-weight: 700 !important;

    border-radius: 40px !important;

    background-color: #fff !important;

    color: var(--theme-color) !important;

    border: 1px solid rgba(215, 140, 152, 0.3) !important;

    text-transform: none !important;

    transition: all 0.4s ease !important;

    z-index: 1;

    display: inline-flex;

    align-items: center;

    justify-content: center;

}



/* Efeito de Borda Animada ::before */

.header-button .th-btn::before {

    content: '';

    position: absolute;

    top: -50%;

    left: -50%;

    width: 200%;

    height: 200%;

    background: linear-gradient(90deg, #e6a4a8, #d88992, #f2c7cb, #e6a4a8);

    background-size: 50% 100%;

    animation: borderMove 4s linear infinite;

    z-index: -2;

}



/* Máscara interna para deixar apenas a borda visível */

.header-button .th-btn::after {

    content: '';

    position: absolute;

    inset: 2px;

    background: #fff;

    border-radius: 38px;

    z-index: -1;

    transition: background 0.4s ease;

}



@keyframes borderMove {

    0% {

        transform: rotate(0deg);

    }



    100% {

        transform: rotate(360deg);

    }

}



/* 5: Hover CTA */

.header-button .th-btn:hover {

    transform: scale(1.03) !important;

    color: var(--theme-color) !important;

    box-shadow: 0 8px 24px rgba(215, 140, 152, 0.25) !important;

}



/* Neutralizando qualquer tom de verde residual no botão Agendar Agora do topo */

.menu-top .th-btn {

    background: linear-gradient(180deg, var(--theme-color) 37.5%, #fbdfe4 100%) !important;

    box-shadow: 0 4px 15px rgba(215, 140, 152, 0.3) !important;

    border: none !important;

}



.menu-top .th-btn::before {

    background: linear-gradient(180deg, #fbdfe4 0%, rgba(251, 223, 228, 0) 78.65%) !important;

}



.menu-top .th-btn:hover {

    background: linear-gradient(180deg, #c97b87 37.5%, #fbdfe4 100%) !important;

    box-shadow: 0 6px 20px rgba(215, 140, 152, 0.4) !important;

}



.header-button .th-btn:hover::after {

    background: rgba(255, 255, 255, 0.9);

}



/* Logo Scale & Integration */

.header-logo img {

    max-height: 40px !important;

    width: auto;

    transition: all 0.4s ease;

    background: transparent !important;

}



.sticky-wrapper.sticky .header-logo img {

    max-height: 42px !important;

}



/* Neutralização agressiva e menus */

.header-logo,

.header-logo a,

.header-logo div,

.logo-bg,

.menu-area,

.th-header,

.sticky-wrapper,

.header-layout7,

.th-menu-toggle,

.mobile-logo {

    background: transparent !important;

    background-color: transparent !important;

    box-shadow: none !important;

}



.menu-area {

    background-color: var(--theme-color) !important;

    border-bottom: none !important;

    border-radius: 10px;

    padding-left: 100px !important;

    /* Move o menu "Início" consideravelmente para a direita */

}



.main-menu.menu-style1>ul>li>a {

    color: #fff !important;

}



.main-menu.menu-style1>ul>li>a:hover {

    color: rgba(255, 255, 255, 0.8) !important;

}



.main-menu ul {

    display: flex !important;

    gap: 32px !important;

    align-items: center;

}



.main-menu ul li a {

    font-size: 14px !important;

    font-weight: 700 !important;

    letter-spacing: 0.05em;

    padding: 5px 0 !important;

    text-transform: uppercase;

}



/* --- Refinamento Hero Premium (Visual Effects) --- */



.hero-line {

    display: inline-block;

}



.naturalidade-shine {

    background: linear-gradient(90deg, var(--theme-color), #fbdfe4, var(--theme-color));

    background-size: 200%;

    -webkit-background-clip: text;

    background-clip: text;

    color: transparent !important;

    animation: textShine 8s infinite linear;

    display: inline-block;

    filter: drop-shadow(0 0 1px rgba(215, 140, 152, 0.1));

}



@keyframes textShine {

    0% {

        background-position: 0%

    }



    100% {

        background-position: 200%

    }

}



.hero-btn-primary.btn-ripple {

    position: relative;

    overflow: hidden;

    box-shadow: 0 10px 25px rgba(215, 140, 152, 0.2);

}



/* --- Hero 7 Refinement (Pink Gradient & Icons) --- */

.hero-7 .th-hero-bg {

    background-image: linear-gradient(to right, var(--theme-color) 0%, #FFFFFF 100%) !important;

}



.hero-7 .th-hero-bg:after {

    display: none !important;

    /* Remove blue/green overlay from style.css:17019 */

}



.hero-7 .hero-img {

    right: 16.5% !important;

    /* Restore original position */

}



.hero-7 .hero-title {

    font-family: var(--display-font);

    font-weight: 600;

    letter-spacing: -0.03em;

    max-width: 750px;

    /* Increased to accommodate the 3-line phrases without internal wrapping */

}



.hero-7 .shape-mockup img {

    filter: hue-rotate(270deg) saturate(0.5) brightness(1.2);

    /* Adjust teal shapes to more neutral/rose */

}



/* --- Text Animations (Effects 6 & 11) --- */

.blur-text {

    display: flex;

    flex-wrap: wrap;

    justify-content: flex-start;

    text-shadow: 0 0 1.125rem var(--glow2);

}



.blur-text .seg {

    display: inline-block;

    will-change: transform, filter, opacity;

}



.text-type {

    display: inline-block;

    white-space: pre-wrap;

}



.text-type__content {

    display: inline-block;

}



.text-type__cursor {

    margin-left: 0.15rem;

    display: inline-block;

    color: var(--theme-color);

    font-weight: 300;

}



/* --- Premium Mask Reveal Animation --- */

.hero-text-mask {

    overflow: hidden;

    display: block;

    line-height: 1.2;

}



.hero-text-mask span {

    display: block;

    transform: translateY(110%);

    opacity: 0;

    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 1.2s ease;

}



.hero-7 .swiper-slide-active .hero-text-mask span {

    transform: translateY(0);

    opacity: 1;

}



.delay-1 {

    transition-delay: 0.2s !important;

}



.delay-2 {

    transition-delay: 0.4s !important;

}



.delay-3 {

    transition-delay: 0.6s !important;

}



.hero-feature .box-icon img {

    transition: all 0.4s ease;

}



.hero-feature:hover .box-icon img {

    transform: scale(1.1);

}



.sub-title4 img {

    filter: brightness(0) saturate(100%) invert(67%) sepia(19%) saturate(693%) hue-rotate(303deg) brightness(93%) contrast(87%);

}



.hero-btn-primary.btn-ripple:hover {

    transform: translateY(-3px) scale(1.02);

    box-shadow: 0 15px 35px rgba(215, 140, 152, 0.35);

}



.hero-btn-primary i {

    transition: all 0.4s ease;

    transform: rotate(-8deg);

}



.hero-btn-primary:hover i {

    transform: rotate(0deg) scale(1.2);

}



.hero-editorial::before {

    content: '';

    position: absolute;

    inset: 0;

    background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.98) 35%, rgba(255, 255, 255, 0) 100%);

    z-index: 1;

    pointer-events: none;

}



/* Animações de Texto */

.pressure-title {

    margin: 0;

    width: 100%;

    display: flex;

    justify-content: flex-start;

    gap: 0.2em;

    user-select: none;

    text-transform: uppercase;

    font-weight: 100 !important;

    line-height: 1;

    color: var(--theme-color);

    font-family: "Compressa VF", sans-serif !important;

    font-size: 0.85rem !important;

    letter-spacing: 0.3em !important;

}



.pressure-title span {

    display: inline-block;

    transition: font-variation-settings 0.1s ease-out;

}



/* Layer 0: Pre-loader */

.hero-loader {

    position: fixed;

    inset: 0;

    width: 100%;

    height: 100vh;

    background-color: #0f0f0f;

    z-index: 10000;

    display: flex;

    justify-content: center;

    align-items: center;

    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);

}



.loader-counter h1 {

    font-size: clamp(4rem, 10vw, 8rem);

    font-weight: 300;

    margin: 0;

    line-height: 1;

    color: var(--theme-color);

}



/* Layer 1: Background Light Rays */

.hero-bg-rays {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    z-index: 1;

    pointer-events: none;

    opacity: 0.15;

}



.btn-magnetic-wrap {

    display: inline-block;

    position: relative;

}



.hero-btn-primary::after {

    content: '';

    position: absolute;

    top: 0;

    left: -100%;

    width: 50%;

    height: 100%;

    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.4), transparent);

    transform: skewX(-25deg);

    z-index: 1;

}



.hero-btn-primary:hover::after {

    animation: lightSweep 0.8s ease-in-out forwards;

}



@keyframes lightSweep {

    0% {

        left: -100%;

    }



    50% {

        left: 100%;

    }



    100% {

        left: 100%;

    }

}



/* --- MARQUEE PREMIUM --- */

.feature-marquee-area {

    background-color: #F6F2EE;

    padding: 22px 0;

    overflow: hidden;

    position: relative;

    z-index: 10;

    margin-top: -2px;

    border-top: 1px solid rgba(0, 0, 0, 0.03);

    border-bottom: 1px solid rgba(0, 0, 0, 0.03);

}



.marquee-wrapper {

    width: 100%;

    overflow: hidden;

    position: relative;

    /* Fade nas bordas para entrada/saída suave */

    mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);

    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);

}



/* Track: faixa que se move. 4 grupos * 2 = 8 grupos total, translateX(-50%) = reinicia em loop perfeito */

.marquee-track {

    display: flex;

    width: max-content;

    align-items: center;

    /* A animacao move 50% da largura total, que equivale a exatamente os 4 grupos da primeira metade */

    animation: marquee-scroll 40s linear infinite;

    will-change: transform;

}



.marquee-track:hover {

    animation-play-state: paused;

}



.feature-tick-item {

    display: flex;

    align-items: center;

    gap: 14px;

    flex-shrink: 0;

    white-space: nowrap;

    padding: 0 55px;

}



.feature-tick-item i {

    font-size: 18px;

    color: var(--theme-color);

    opacity: 0.65;

    flex-shrink: 0;

}



.feature-tick-item span {

    font-family: 'DM Sans', sans-serif;

    font-size: 0.8rem;

    font-weight: 600;

    color: var(--title-color);

    letter-spacing: 0.18em;

    text-transform: uppercase;

    opacity: 0.75;

}



/* Separador decorativo entre os itens */

.marquee-sep {

    flex-shrink: 0;

    font-size: 6px;

    color: var(--theme-color);

    opacity: 0.45;

    line-height: 1;

    margin: 0 -20px;

    /* Compensacao do padding dos itens vizinhos */

    pointer-events: none;

    user-select: none;

}



@keyframes marquee-scroll {

    0% {

        transform: translateX(0);

    }



    100% {

        transform: translateX(-50%);

    }

}



/* Conectividade Hero -> Marquee */

.hero-editorial {

    padding-bottom: 0 !important;

}



.hero-editorial-left {

    padding-bottom: 60px !important;

}



.feature-sec2 {

    display: none !important;

}



/* --- 2ª DOBRA: GRADE EM PERSPECTIVA ANIMADA --- */



/*

 * Container geral da grade. Posicionado absolutamente dentro de

 * .luxury-editorial-sec, que já tem overflow:hidden e position:relative.

 * A perspectiva é definida aqui para que o filho pg-floor seja projetado em 3D.

 */

.perspective-grid-bg {

    position: absolute;

    inset: 0;

    z-index: 0;

    pointer-events: none;

    overflow: hidden;

    /* Perspectiva do observador: quanto menor, mais "dramática" a projeção */

    perspective: 800px;

    perspective-origin: 50% 0%;

    /* horizonte na parte superior */

}



/* Plano da grade: inclinado em 3D e animado para avançar */

.pg-floor {

    position: absolute;

    /* Começa um pouco acima da seção para o efeito de horizonte */

    top: -20%;

    left: -20%;

    width: 140%;

    height: 140%;



    /* Inclinação 3D - como um chão visto de cima */

    transform: rotateX(55deg);

    transform-origin: 50% 0%;



    /* Linhas da grade: horizontal + vertical com gradientes repetidos */

    background-image:

        /* Linhas horizontais */

        repeating-linear-gradient(to bottom,

            rgba(215, 140, 152, 0.18) 0px,

            rgba(215, 140, 152, 0.18) 1px,

            transparent 1px,

            transparent 60px),

        /* Linhas verticais */

        repeating-linear-gradient(to right,

            rgba(215, 140, 152, 0.12) 0px,

            rgba(215, 140, 152, 0.12) 1px,

            transparent 1px,

            transparent 80px);



    background-size: 80px 60px;

    background-position: 0 0;



    /* Animação: move o background para baixo, criando ilusão de avanço */

    animation: pg-advance 6s linear infinite;

    will-change: background-position;

}



/* Halo de luz rose no centro-baixo — dá profundidade e aquece a cena */

.pg-glow {

    position: absolute;

    bottom: -10%;

    left: 50%;

    transform: translateX(-50%);

    width: 70%;

    height: 55%;

    background: radial-gradient(ellipse at 50% 100%,

            rgba(215, 140, 152, 0.14) 0%,

            rgba(215, 140, 152, 0.06) 45%,

            transparent 75%);

    pointer-events: none;

}



/* Fade superior: esconde o ponto de "origem" da grade no horizonte */

.perspective-grid-bg::after {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 45%;

    background: linear-gradient(to bottom, #ffffff 0%, transparent 100%);

    pointer-events: none;

}



/* Fade inferior: transição suave para o próximo bloco */

.perspective-grid-bg::before {

    content: '';

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    height: 30%;

    background: linear-gradient(to top, #ffffff 0%, transparent 100%);

    pointer-events: none;

    z-index: 1;

}



/* A animação apenas desloca o background-position verticalmente */

@keyframes pg-advance {

    0% {

        background-position: 0 0;

    }



    100% {

        background-position: 0 60px;

    }



    /* 60px = tamanho de uma célula */

}



/* Container da seção: deve ter position:relative e overflow:hidden para a grade */

.luxury-editorial-sec {

    position: relative;

    background: #ffffff !important;

    overflow: hidden;

    z-index: 1;

}



.space-2nd-fold {

    background-color: #ffffff;

    padding: 120px 0;

}



.space-3rd-fold {

    padding: 120px 0;

    background-color: #fbfbfb;

}



#about-sec {

    background-color: var(--smoke-color);

    /* #F6F2EE */

}



/* --- SEÇÕES BASE: ESTABILIZAÇÃO --- */

.space-2nd-fold,

.space-3rd-fold,

#about-sec {

    position: relative;

    z-index: 1;

    transform: translateZ(0);

    /* Hardware acceleration anti-flicker */

    backface-visibility: hidden;

    overflow: hidden;

}



#about-sec {

    overflow: visible;

    /* About usually has floating shapes */

}



/* Background Animado 10: Dot Grid (Extreme Subtlety) */

.dot-grid-bg-wrap {

    position: absolute;

    inset: -1px;

    /* Overshoot sutil para evitar gaps de sub-pixel */

    width: calc(100% + 2px);

    height: calc(100% + 2px);

    z-index: 0;

    pointer-events: none;

    opacity: 0.4;

    background-color: inherit;

    /* Garante que o fundo do wrap combine com a seção */

    will-change: transform;

    transform: translateZ(0);

    /* Hardware acceleration */

}



.dot-grid {

    width: 100%;

    height: 100%;

    position: relative;

    will-change: transform;

}



.dot-grid__wrap {

    width: 100%;

    height: 100%;

}



.dot-grid__canvas {

    width: 100%;

    height: 100%;

    display: block;

}



/* --- 3ª DOBRA: PROCEDIMENTOS (SELO ROTATIVO) --- */



.premium-procedures-sec {

    position: relative;

    z-index: 10;

}



/* Selo Rotativo "Naturalidade e Harmonia" */

.rotating-seal-wrap {

    position: absolute;

    top: 35px;

    /* Integrado ao corpo do card */

    right: 25px;

    z-index: 10;

    pointer-events: none;

}



.card-highlight .rotating-seal-wrap {

    top: 35px;

    /* Integrado ao corpo do card de destaque */

}



.rotating-seal {

    position: relative;

    width: 100px;

    /* Reduzido de 120px */

    height: 100px;

    display: flex;

    align-items: center;

    justify-content: center;

    animation: rotate-seal 20s linear infinite;

}



.rotating-seal svg {

    overflow: visible;

}



.rotating-seal textPath {

    font-family: 'DM Sans', sans-serif;

    font-size: 7.5px;

    /* Reduzido para aproximar do centro */

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.15em;

    fill: var(--theme-color);

}



.seal-inner {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    width: 38px;

    /* Proporcional ao novo tamanho */

    height: 38px;

    background: #ffffff;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--theme-color);

    font-size: 14px;

    box-shadow: 0 8px 20px rgba(215, 140, 152, 0.15);

    z-index: 2;

    /* Faz o ícone NÃO girar com o círculo externo */

    animation: counter-rotate-seal 20s linear infinite;

}



@keyframes rotate-seal {

    from {

        transform: rotate(0deg);

    }



    to {

        transform: rotate(360deg);

    }

}



@keyframes counter-rotate-seal {

    from {

        transform: translate(-50%, -50%) rotate(0deg);

    }



    to {

        transform: translate(-50%, -50%) rotate(-360deg);

    }

}



/* Estilo para a Logo Lateral na 3ª Dobra */

.premium-procedures-sec .shape-mockup img {

    filter: none;

    /* Removido grayscale */

    transition: all 1s ease;

}



.premium-procedures-sec .shape-mockup:hover img {

    transform: scale(1.05);

    opacity: 0.6 !important;

}



.luxury-shapes {

    position: absolute;

    inset: 0;

    pointer-events: none;

    z-index: 1;

}



.shape-item {

    position: absolute;

    opacity: 0.05;

    filter: blur(4px) grayscale(1);

}



.shape-1 {

    top: -5%;

    left: -5%;

    width: 300px;

}



.shape-2 {

    bottom: -10%;

    right: -5%;

    width: 400px;

}



.shape-noise {

    position: absolute;

    inset: 0;

    opacity: 0.02;

    pointer-events: none;

    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");

}



.glass-editorial-wrapper {

    background: rgba(255, 255, 255, 0.6);

    backdrop-filter: blur(15px);

    -webkit-backdrop-filter: blur(15px);

    border: 1px solid rgba(215, 140, 152, 0.1);

    padding: 80px 60px;

    border-radius: 50px;

    box-shadow: 0 50px 100px rgba(0, 0, 0, 0.03);

    position: relative;

    z-index: 2;

}



.sub-title-premium {

    font-weight: 600 !important;

    color: var(--theme-color) !important;

    letter-spacing: 0.25em !important;

    text-transform: uppercase;

    font-size: 0.85rem !important;

    margin-bottom: 30px !important;

}



.sec-title-emotional {

    font-size: 3.8rem !important;

    font-weight: 700 !important;

    line-height: 1.05 !important;

    color: var(--title-color) !important;

    max-width: 900px;

    margin: 0 auto 45px auto !important;

    letter-spacing: -0.03em !important;

    text-wrap: balance;

}



.sec-text-premium {

    font-size: 1.25rem !important;

    line-height: 1.8 !important;

    color: #555;

    max-width: 850px;

    margin: 0 auto 70px auto !important;

    opacity: 0.9;

}



/* Bullets como Cards Premium (Hover 8) */

.emotional-bullets-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

    max-width: 1100px;

    margin: 0 auto 70px auto;

}



.bullet-card-premium {

    position: relative;

    background: #ffffff;

    padding: 40px 25px;

    border-radius: 24px;

    border: 1px solid rgba(0, 0, 0, 0.04);

    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);

    cursor: default;

    overflow: hidden;

    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);

}



.bullet-card-premium:hover {

    transform: translateY(-12px);

    box-shadow: 0 40px 80px rgba(215, 140, 152, 0.12);

    border-color: rgba(215, 140, 152, 0.2);

}



.bullet-icon-wrap {

    width: 50px;

    height: 50px;

    background: var(--theme-color2);

    border-radius: 14px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 25px auto;

    color: var(--theme-color);

    font-size: 20px;

    transition: all 0.4s ease;

}



.bullet-card-premium:hover .bullet-icon-wrap {

    background: var(--theme-color);

    color: #fff;

    transform: scale(1.1) rotate(5deg);

}



.bullet-content span {

    font-size: 1rem;

    font-weight: 600;

    color: var(--title-color);

    letter-spacing: 0.01em;

}



.flashlight-effect {

    position: absolute;

    inset: 0;

    pointer-events: none;

    opacity: 0;

    transition: opacity 0.5s ease;

    background: radial-gradient(180px circle at var(--mouse-x, 0) var(--mouse-y, 0), rgba(215, 140, 152, 0.08), transparent 100%);

    z-index: 2;

}



.bullet-card-premium:hover .flashlight-effect {

    opacity: 1;

}



/* Frase de Transição: Ponte Visual */

.transition-bridge-premium {

    font-family: var(--title-font);

    font-size: 1.3rem;

    font-weight: 500;

    color: var(--title-color);

    margin-top: 80px !important;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 15px;

}



.bridge-arrow {

    width: 40px;

    height: 40px;

    border: 1px solid rgba(215, 140, 152, 0.3);

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--theme-color);

    font-size: 0.9rem;

    animation: arrowBounce 2s infinite ease-in-out;

}



@keyframes arrowBounce {



    0%,

    100% {

        transform: translateY(0);

    }



    50% {

        transform: translateY(8px);

        opacity: 0.6;

    }

}



/* --- 3ª DOBRA: PROCEDIMENTOS PREMIUM --- */

.space-3rd-fold {

    padding: 120px 0;

    background-color: #fbfbfb;

    position: relative;

    overflow: hidden;

    z-index: 1;

    /* Força contexto de empilhamento isolado */

    transform: translateZ(0);

}



.premium-procedures-sec .sec-title-editorial {

    font-size: 3.2rem !important;

    font-weight: 700 !important;

    line-height: 1.2 !important;

    color: var(--title-color);

    letter-spacing: -0.01em;

}



.service-card-premium {

    position: relative;

    background: #ffffff;

    padding: 60px 40px 50px 40px;

    border-radius: 30px;

    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.03);

    border: 1px solid rgba(0, 0, 0, 0.04);

    text-align: center;

    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);

    height: 100%;

    overflow: hidden;

    z-index: 1;

}



.service-card-premium:hover {

    transform: translateY(-12px);

    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.08);

    border-color: rgba(215, 140, 152, 0.2);

}



.card-badge-top {

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    background: rgba(215, 140, 152, 0.05);

    color: var(--theme-color);

    font-size: 0.75rem;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.15em;

    padding: 12px;

    opacity: 0.8;

}



.box-icon-premium {

    margin: 20px auto 30px auto;

    display: flex;

    justify-content: center;

}



.icon-seal {

    width: 90px;

    height: 90px;

    background: #fdfaf9;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 38px;

    color: var(--theme-color);

    box-shadow: inset 0 0 0 1px rgba(215, 140, 152, 0.1);

    transition: all 0.5s ease;

}



.service-card-premium:hover .icon-seal {

    transform: scale(1.1) rotate(5deg);

    background: #fff;

    box-shadow: 0 10px 20px rgba(215, 140, 152, 0.15);

}



.service-card-premium .box-title {

    font-size: 1.6rem !important;

    font-weight: 700 !important;

    margin-bottom: 20px !important;

    color: var(--title-color);

}



.service-card-premium .box-text {

    font-size: 1.05rem !important;

    line-height: 1.7 !important;

    color: #666;

    margin-bottom: 35px !important;

    min-height: 3.4em;

}



.checklist-premium ul {

    list-style: none;

    padding: 0;

    margin: 0 0 40px 0;

    text-align: left;

}



.checklist-premium li {

    font-size: 0.95rem;

    color: #555;

    margin-bottom: 15px;

    display: flex;

    align-items: center;

    gap: 12px;

}



.checklist-premium li i {

    color: var(--theme-color);

    font-size: 1.1rem;

    opacity: 0.9;

}



.th-btn-premium {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 100%;

    padding: 18px 30px;

    background: #fff;

    color: var(--title-color);

    border: 1px solid rgba(0, 0, 0, 0.1);

    border-radius: 100px;

    font-size: 1rem;

    font-weight: 600;

    text-decoration: none;

    transition: all 0.4s ease;

    letter-spacing: 0.02em;

}



.th-btn-premium:hover {

    background: var(--theme-color);

    color: #fff;

    border-color: var(--theme-color);

    transform: translateY(-2px);

    box-shadow: 0 10px 20px rgba(215, 140, 152, 0.2);

}



.pill-badge-exclusive {

    position: absolute;

    top: 14px;

    right: 20px;

    background: var(--theme-color);

    color: #fff;

    padding: 4px 10px;

    border-radius: 100px;

    font-size: 0.58rem;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 0.08em;

    z-index: 10;

    box-shadow: 0 4px 12px rgba(215, 140, 152, 0.2);

    pointer-events: none;

}



.card-highlight .card-badge-top {

    text-align: left;

    padding-left: 20px;

    padding-right: 160px;

    /* Garante que o texto nunca encontre o selo */

}



/* Card Destaque Refinado */

.card-highlight {

    border: 1px solid rgba(215, 140, 152, 0.4) !important;

    box-shadow: 0 25px 60px rgba(215, 140, 152, 0.1) !important;

    background: #fffafa;

    transform: scale(1.02);

    /* Leve destaque de escala nativo */

}



.card-highlight:hover {

    transform: translateY(-15px) scale(1.03) !important;

}



.seal-highlight {

    background: #fff1f3 !important;

    box-shadow: 0 10px 25px rgba(215, 140, 152, 0.15) !important;

}



.btn-highlight {

    background: var(--theme-color) !important;

    color: #fff !important;

    border-color: var(--theme-color) !important;

}



.btn-highlight:hover {

    background: #c97b87 !important;

    border-color: #c97b87 !important;

    box-shadow: 0 12px 25px rgba(215, 140, 152, 0.25) !important;

}



/* --- 4ª DOBRA: SEÇÃO DE AUTORIDADE --- */

/* --- 4ª DOBRA: SEÇÃO DE AUTORIDADE V2 --- */

.authority-sec {

    background-color: #F6F2EE;

    position: relative;

    overflow: hidden;

}



/* Fundo Dot Grid quase invisível */

.authority-sec .dot-grid-bg-wrap {

    pointer-events: none;

    z-index: 0;

}



.sec-title-editorial-v2 {

    font-size: 2.8rem !important;

    font-weight: 700 !important;

    line-height: 1.25 !important;

    color: var(--title-color);

    letter-spacing: -0.01em;

}



.sec-text-premium-v2 {

    font-size: 1.15rem !important;

    line-height: 1.8 !important;

    color: #5a5a5a;

    font-weight: 400;

}



/* Assinatura da Marca V2 */

.brand-signature-wrap {

    margin-top: 35px;

    display: flex;

    align-items: center;

    gap: 20px;

}



.signature-line {

    width: 2px;

    height: 40px;

    background-color: var(--theme-color);

    transform-origin: top;

    transform: scaleY(0);

    /* Animado via GSAP */

}



.brand-signature {

    font-family: var(--title-font);

    font-size: 1.15rem;

    font-style: italic;

    font-weight: 500;

    color: var(--theme-color);

    letter-spacing: 0.02em;

    /* Opacidade controlada pelos caracteres (chars) via JS */

}



/* Checklist V2 (Authority) - Grid Refinado */

.checklist-premium-v2 {

    list-style: none;

    padding: 0;

    margin: 0;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 25px 30px;

}



.benefit-item-premium {

    display: flex;

    align-items: flex-start;

    gap: 15px;

    padding: 20px;

    background: rgba(255, 255, 255, 0.4);

    border-radius: 20px;

    border: 1px solid rgba(215, 140, 152, 0.05);

    transition: all 0.4s ease;

}



/* Hover Effect 8 (Base) */

.benefit-item-premium:hover {

    background: #ffffff;

    transform: translateY(-5px);

    box-shadow: 0 15px 35px rgba(215, 140, 152, 0.12);

    border-color: rgba(215, 140, 152, 0.15);

}



.benefit-item-premium .check-icon {

    width: 38px;

    height: 38px;

    background: #ffffff;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--theme-color);

    font-size: 0.9rem;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);

    flex-shrink: 0;

    transition: transform 0.4s ease;

}



.benefit-item-premium:hover .check-icon {

    transform: scale(1.1) rotate(10deg);

}



.benefit-item-premium span {

    font-size: 0.95rem;

    line-height: 1.4;

    color: var(--title-color);

    font-weight: 500;

    padding-top: 5px;

}



/* Bloco Visual Direito: Autoridade Vertical Stacking */

.authority-visual-vertical {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 30px;

}



.main-photo-wrap-v2 {

    position: relative;

    border-radius: 40px;

    overflow: hidden;

    box-shadow: 0 40px 90px rgba(0, 0, 0, 0.15);

    /* Mais destaque */

    border: 1px solid rgba(255, 255, 255, 0.6);

    width: 100%;

}



.photo-overlay-glass {

    position: absolute;

    inset: 0;

    background: linear-gradient(0deg, rgba(0, 0, 0, 0.08) 0%, transparent 40%);

    pointer-events: none;

}



/* Card de Informações Premium V2 - Abaixo da Foto */

.info-card-premium-v2 {

    width: 90%;

    background: rgba(255, 255, 255, 0.75);

    /* Mais leve */

    backdrop-filter: blur(15px);

    -webkit-backdrop-filter: blur(15px);

    padding: 30px;

    border-radius: 35px;

    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.05);

    border: 1px solid rgba(255, 255, 255, 0.8);

}



.info-card-premium-v2 .card-title {

    font-size: 1.2rem;

    font-weight: 700;

    color: var(--title-color);

    margin-bottom: 20px;

    letter-spacing: -0.01em;

}



.info-list {

    display: flex;

    flex-direction: column;

    gap: 15px;

}



.info-item {

    display: flex;

    align-items: center;

    gap: 15px;

}



.info-icon {

    width: 38px;

    height: 38px;

    background: #fff;

    border-radius: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--theme-color);

    font-size: 1rem;

    flex-shrink: 0;

    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);

}



.info-content p {

    margin: 0;

    font-size: 0.9rem;

    color: #444;

    font-weight: 500;

    line-height: 1.4;

}



/* Responsividade Autoridade V2 */

@media (max-width: 1199px) {

    .checklist-premium-v2 {

        gap: 20px;

    }

}



@media (max-width: 991px) {

    .authority-visual-vertical {

        margin-top: 60px;

    }



    .checklist-premium-v2 {

        grid-template-columns: 1fr;

        gap: 15px;

    }

}



@media (max-width: 767px) {

    .sec-title-editorial-v2 {

        font-size: 2.2rem !important;

    }



    .info-card-premium-v2 {

        width: 100%;

        padding: 25px;

    }

}



/* Flashlight for Service Cards */

.service-card-premium .flashlight-effect {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background: radial-gradient(600px circle at var(--mouse-x) var(--mouse-y),

            rgba(215, 140, 152, 0.08),

            transparent 40%);

    pointer-events: none;

    z-index: 0;

}



/* Responsividade Refinada */

@media (max-width: 1199px) {

    .sec-title-emotional {

        font-size: 3.2rem !important;

    }



    .glass-editorial-wrapper {

        padding: 60px 40px;

    }

}



@media (max-width: 991px) {

    .sec-title-emotional {

        font-size: 2.5rem !important;

    }



    .emotional-bullets-grid {

        grid-template-columns: 1fr;

        gap: 20px;

        max-width: 450px;

    }



    .glass-editorial-wrapper {

        padding: 50px 30px;

        border-radius: 30px;

    }



    .sec-text-premium {

        font-size: 1.15rem !important;

    }

}



/* 5ª DOBRA: SEÇÃO DE DIFERENCIAIS (Premium Differentiation) */

.differentiation-sec {

    position: relative;

    background-color: #ffffff;

    /* Fundo limpo para destacar os diferenciais */

    overflow: hidden;

}



.differentials-grid-premium-v3 {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 30px;

    margin-top: 50px;

}



.diff-item-premium {

    display: flex;

    align-items: flex-start;

    gap: 20px;

    padding: 30px;

    background: rgba(246, 242, 238, 0.4);

    border-radius: 20px;

    border: 1px solid rgba(215, 140, 152, 0.05);

    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);

}



/* Centralizando o 5º item se necessário */

.diff-item-premium.horizontal-wide {

    grid-column: span 2;

    max-width: 700px;

    margin: 0 auto;

}



.diff-icon {

    width: 45px;

    height: 45px;

    background: #ffffff;

    border-radius: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--theme-color);

    font-size: 1.2rem;

    flex-shrink: 0;

    box-shadow: 0 8px 20px rgba(215, 140, 152, 0.08);

    transition: all 0.4s ease;

}



.diff-title {

    font-size: 1.15rem;

    font-weight: 700;

    color: var(--title-color);

    margin-bottom: 8px;

    letter-spacing: -0.01em;

}



.diff-desc {

    margin: 0;

    font-size: 0.95rem;

    color: #666;

    line-height: 1.6;

    font-weight: 400;

}



/* Hover Effect 8 (Refinado) para Diferenciais */

.diff-item-premium:hover {

    background: #ffffff;

    transform: translateY(-5px);

    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.04);

    border-color: rgba(215, 140, 152, 0.15);

}



.diff-item-premium:hover .diff-icon {

    transform: scale(1.1) rotate(5deg);

    background: var(--theme-color);

    color: #ffffff;

    box-shadow: 0 10px 25px rgba(215, 140, 152, 0.25);

}



/* Foto Premium V3 - Integração Diferenciais */

.premium-photo-wrap-v3 {

    position: relative;

    border-radius: 40px;

    overflow: hidden;

    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.12);

    border: 1px solid rgba(255, 255, 255, 0.8);

}



/* Alinhamento superior da foto */

.photo-align-top {

    margin-top: 0;

}



.premium-photo-wrap-v3 img {

    transition: transform 1.2s ease;

}



.premium-photo-wrap-v3:hover img {

    transform: scale(1.05);

}



/* Utilitário Customizado para Espaçamento */

.mt-100 {

    margin-top: 100px !important;

}



/* 

   Botão Premium V4 - Totalmente sem Verde 

   Aumentando a especificidade com o ID ou classe pai para vencer o style.css

*/

.differentiation-sec .th-btn.style-premium-btn {

    padding: 20px 50px !important;

    font-size: 1rem !important;

    font-weight: 700 !important;

    letter-spacing: 0.08em !important;

    border-radius: 50px !important;

    background: var(--theme-color) !important;

    /* Rosa da Marca */

    background-image: none !important;

    /* Mata o gradiente verde do th-btn */

    color: #fff !important;

    border: none !important;

    box-shadow: 0 15px 35px rgba(215, 140, 152, 0.3) !important;

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    text-decoration: none !important;

}



/* Removendo o brilho/mint interno (pseudo-elemento) do th-btn */

.differentiation-sec .th-btn.style-premium-btn:before {

    display: none !important;

    content: none !important;

}



.differentiation-sec .th-btn.style-premium-btn i {

    color: #fff !important;

    margin-right: 12px;

}



.differentiation-sec .th-btn.style-premium-btn:hover {

    background: var(--title-color) !important;

    /* Tom Escuro Nobre */

    background-image: none !important;

    color: #fff !important;

    transform: translateY(-5px) !important;

    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.15) !important;

}



/* Responsividade Diferenciais */

@media (max-width: 991px) {

    .mt-100 {

        margin-top: 60px !important;

    }



    .differentials-grid-premium-v3 {

        grid-template-columns: 1fr;

        gap: 20px;

    }

}



/* Responsividade Diferenciais */

@media (max-width: 991px) {

    .differentials-grid-premium-v3 {

        grid-template-columns: 1fr;

    }



    .diff-item-premium.horizontal-wide {

        grid-column: span 1;

    }

}



/* ============================================================

   6ª DOBRA: CTA FINAL PREMIUM (V6 - ROSE & NO GREEN)

   ============================================================ */



.final-cta-premium-v6 {

    position: relative !important;

    background-color: var(--theme-color) !important;

    /* ROSA DA MARCA */

    background: linear-gradient(135deg, var(--theme-color) 0%, #c17582 100%) !important;

    overflow: hidden !important;

    padding: 120px 0 !important;

    z-index: 10 !important;

}



/* Camada de Profundidade */

.final-cta-bg-glow-v6 {

    position: absolute !important;

    top: 50% !important;

    left: 50% !important;

    width: 140% !important;

    height: 140% !important;

    background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 60%) !important;

    transform: translate(-50%, -50%) !important;

    pointer-events: none !important;

    z-index: 1 !important;

}



/* Microtexto Badge */

.cta-badge-v6 {

    background: rgba(255, 255, 255, 0.15) !important;

    backdrop-filter: blur(10px) !important;

    color: #fff !important;

    padding: 8px 18px !important;

    border-radius: 100px !important;

    font-size: 0.8rem !important;

    font-weight: 700 !important;

    text-transform: uppercase !important;

    letter-spacing: 0.15em !important;

    border: 1px solid rgba(255, 255, 255, 0.25) !important;

    display: inline-block !important;

}



.h2-premium-v6 {

    font-weight: 800 !important;

    font-size: 3rem !important;

    line-height: 1.2 !important;

    color: #fff !important;

    text-shadow: 0 5px 20px rgba(0, 0, 0, 0.1) !important;

}



.p-premium-v6 {

    font-size: 1.2rem !important;

    line-height: 1.7 !important;

    color: #fff !important;

    opacity: 0.95 !important;

    max-width: 750px !important;

    margin-left: auto !important;

    margin-right: auto !important;

}



/* Bloco de Apoio Glassmorphism V6 */

.cta-info-glass-v6 {

    background: rgba(255, 255, 255, 0.1) !important;

    backdrop-filter: blur(15px) !important;

    border: 1px solid rgba(255, 255, 255, 0.2) !important;

    border-radius: 20px !important;

    padding: 10px 0 !important;

    max-width: 850px !important;

    margin: 30px auto 40px auto !important;

    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1) !important;

}



.info-item-v6 {

    padding: 15px 30px !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 15px !important;

}



.info-icon-v6 {

    font-size: 1.1rem !important;

    color: #fff !important;

}



.info-content-v6 p {

    margin: 0 !important;

    color: #fff !important;

    font-size: 0.95rem !important;

    font-weight: 600 !important;

}



.border-end-glass-v6 {

    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;

}



/* Linha de Confiança */

.cta-trust-line-v6 {

    font-size: 0.85rem !important;

    color: #fff !important;

    opacity: 1 !important;

    letter-spacing: 0.1em !important;

    font-weight: 700 !important;

    text-transform: uppercase !important;

}



/* Botão CTA Noble White (V6 - ABSOLUTELY NO GREEN) */

.style-cta-noble-v6 {

    background: #ffffff !important;

    background-image: none !important;

    color: var(--theme-color) !important;

    padding: 22px 65px !important;

    border-radius: 100px !important;

    font-weight: 800 !important;

    font-size: 1.15rem !important;

    letter-spacing: 0.02em !important;

    text-transform: uppercase !important;

    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15) !important;

    border: none !important;

    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    text-decoration: none !important;

}



/* KILLING THEME GREEN RADIANCE */

.final-cta-premium-v6 .th-btn:before,

.final-cta-premium-v6 .th-btn:after,

.style-cta-noble-v6:before,

.style-cta-noble-v6:after {

    display: none !important;

    content: none !important;

    background: none !important;

}



.style-cta-noble-v6 i {

    font-size: 1.4rem !important;

    margin-right: 12px !important;

    color: var(--theme-color) !important;

}



.style-cta-noble-v6:hover {

    background: var(--title-color) !important;

    color: #ffffff !important;

    transform: translateY(-8px) scale(1.02) !important;

    box-shadow: 0 35px 80px rgba(0, 0, 0, 0.25) !important;

}



.style-cta-noble-v6:hover i {

    color: #ffffff !important;

}



.cta-closing-phrase-v6 {

    font-size: 1rem !important;

    color: #fff !important;

    opacity: 0.85 !important;

    font-style: italic !important;

    font-weight: 400 !important;

}



/* Responsividade V6 Extrema */

@media (max-width: 991px) {

    .border-end-glass-v6 {

        border-right: none !important;

        border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;

    }



    .final-cta-premium-v6 {

        padding: 80px 0 !important;

    }



    .h2-premium-v6 {

        font-size: 2rem !important;

    }



    .style-cta-noble-v6 {

        padding: 20px 30px !important;

        width: 100% !important;

        font-size: 0.95rem !important;

    }



    .info-item-v6 {

        padding: 10px 10px !important;

    }

}



/* =============================================

   AJUSTES MOBILE (max-width: 767px)

   ============================================= */

@media (max-width: 767px) {



    /* Logo maior no mobile */

    .header-logo img,

    .mobile-logo img {

        max-height: 58px !important;

        width: auto !important;

    }



    /* Reativa o overlay e escurece o lado direito para melhorar legibilidade */

    .hero-7 .th-hero-bg:after {

        display: block !important;

        background-image: linear-gradient(

            to right,

            rgba(205, 114, 130, 0.35) 0%,

            rgba(205, 114, 130, 0.55) 55%,

            rgba(170, 80, 100, 0.80) 100%

        ) !important;

    }



    /* Oculta os botões CTA da hero que aparecem atrás do formulário no mobile */

    .hero-style7 .btn-group {

        display: none !important;

    }



    /* Empilhamento correto no mobile (Texto > Imagem > Formulário) sem sobreposição */

    .hero-7 {

        height: auto !important;

        min-height: auto !important;

        padding-bottom: 0 !important;

    }



    .hero-7 .hero-inner {

        padding-bottom: 20px !important;

    }



    .hero-7 .hero-img {

        position: relative !important;

        right: auto !important;

        top: auto !important;

        display: block !important;

        margin: 20px auto 30px auto !important; /* Margem positiva para não sobrepor texto e dar respiro */

        text-align: center !important;

        opacity: 1 !important;

        visibility: visible !important;

    }



    .hero-7 .hero-img img {

        max-width: 90% !important;

        width: auto !important;

        max-height: 400px !important; /* Limita a altura para não empurrar o formulário muito para baixo */

        height: auto !important;

        margin: 0 auto !important;

        object-fit: contain !important;

    }



    /* Move o formulário para baixo da imagem de forma natural */

    .hero-appointment-wrap {

        position: relative !important;

        bottom: auto !important;

        margin-top: 20px !important;

        padding-bottom: 50px !important;

        z-index: 10 !important;

    }



    .hero-appointment {

        box-shadow: 0 10px 40px rgba(0,0,0,0.1) !important;

    }



}



/* --- WhatsApp Floating Button --- */

.whatsapp-float-premium {

    position: fixed;

    width: 60px;

    height: 60px;

    bottom: 160px !important;

    right: 40px;

    background-color: #25d366;

    color: #FFF;

    border-radius: 50px;

    text-align: center;

    font-size: 30px;

    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.2);

    z-index: 9999;

    display: flex;

    align-items: center;

    justify-content: center;

    transition: all 0.3s ease;

    text-decoration: none !important;

}




/* =============================================

   AJUSTES MOBILE (max-width: 767px)

   ============================================= */

@media (max-width: 767px) {



    /* Logo maior no mobile */

    .header-logo img,

    .mobile-logo img {

        max-height: 58px !important;

        width: auto !important;

    }



    /* Reativa o overlay e escurece o lado direito para melhorar legibilidade */

    .hero-7 .th-hero-bg:after {

        display: block !important;

        background-image: linear-gradient(

            to right,

            rgba(205, 114, 130, 0.35) 0%,

            rgba(205, 114, 130, 0.55) 55%,

            rgba(170, 80, 100, 0.80) 100%

        ) !important;

    }



    /* Oculta os botões CTA da hero que aparecem atrás do formulário no mobile */

    .hero-style7 .btn-group {

        display: none !important;

    }



    /* Empilhamento correto no mobile (Texto > Imagem > Formulário) sem sobreposição */

    .hero-7 {

        height: auto !important;

        min-height: auto !important;

        padding-bottom: 0 !important;

    }



    .hero-7 .hero-inner {

        padding-bottom: 20px !important;

    }



    .hero-7 .hero-img {

        position: relative !important;

        right: auto !important;

        top: auto !important;

        display: block !important;

        margin: 20px auto 30px auto !important; /* Margem positiva para não sobrepor texto e dar respiro */

        text-align: center !important;

        opacity: 1 !important;

        visibility: visible !important;

    }



    .hero-7 .hero-img img {

        max-width: 90% !important;

        width: auto !important;

        max-height: 400px !important; /* Limita a altura para não empurrar o formulário muito para baixo */

        height: auto !important;

        margin: 0 auto !important;

        object-fit: contain !important;


    }

}




/* --- CORRECAO DO MASONRY (GALERIA) COM CSS --- */
@media (min-width: 768px) {
    .gallery-row2 {
        display: block !important;
        column-count: 2;
        column-gap: 24px;
    }
    .gallery-row2 .filter-item {
        width: 100% !important;
        height: auto;
        break-inside: avoid;
        margin-bottom: 24px;
    }
}
@media (min-width: 1200px) {
    .gallery-row2 {
        column-count: 3;
    }
}


/* --- LAYOUT DA GALERIA EXATO PARA DESKTOP --- */
@media (min-width: 992px) {
    .gallery-row2 {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 24px !important;
        align-items: stretch !important;
    }
    .gallery-row2::before, .gallery-row2::after {
        display: none !important;
    }
    .gallery-row2 .filter-item {
        width: 100% !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .gallery-row2 .filter-item:nth-child(1) { grid-column: 1; grid-row: 1; }
    .gallery-row2 .filter-item:nth-child(2) { grid-column: 2; grid-row: 1; }
    .gallery-row2 .filter-item:nth-child(3) { grid-column: 3; grid-row: 1 / span 2; }
    .gallery-row2 .filter-item:nth-child(4) { grid-column: 1; grid-row: 2; }
    .gallery-row2 .filter-item:nth-child(5) { grid-column: 2; grid-row: 2; }
    
    .gallery-card.style2 {
        height: 100%;
    }
    .gallery-card.style2 .box-img {
        height: 100%;
    }
    .gallery-card.style2 .box-img img {
        height: 100%;
        object-fit: cover;
    }
}


/* Forca calendarios a ficarem sempre por cima de tudo na pagina (marquee, etc) */
.xdsoft_datetimepicker {
    z-index: 9999999 !important;
}

/* Forca calendario abrir para cima */
.xdsoft_datetimepicker.force-up {
    transform: translateY(calc(-100% - 70px)) !important;
}

/* --- INTERACTIVE PROCEDURES SECTION --- */
.interative-procedures {
    background: #fcf8f8;
    padding-top: 100px;
    padding-bottom: 100px;
}

.procedure-expanding-wrapper {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    height: 650px;
    gap: 15px;
    margin: 0;
}

.procedure-item {
    position: relative;
    flex: 1;
    height: 100%;
    overflow: hidden;
    border-radius: 30px;
    transition: all 0.6s cubic-bezier(0.25, 1, 0.45, 1);
    cursor: pointer;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.procedure-card {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    position: relative;
    transition: transform 0.6s ease;
}

.procedure-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0.85) 100%);
    z-index: 1;
    transition: opacity 0.4s ease;
}

.procedure-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 40px;
    z-index: 2;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}

.procedure-number {
    font-family: var(--title-font);
    font-size: 60px;
    font-weight: 700;
    opacity: 0.2;
    line-height: 1;
    margin-bottom: 10px;
    display: block;
}

.procedure-title {
    font-family: var(--title-font);
    font-size: 32px;
    margin: 0;
    color: #fff;
    transition: all 0.4s ease;
    white-space: nowrap;
}

.procedure-details {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.5s ease;
    margin-top: 0;
}

.details-headline {
    font-family: var(--title-font);
    font-size: 24px;
    color: #ffd7e0; /* Tom suave de rosa/ouro para destaque */
    margin-bottom: 15px;
    margin-top: 20px;
}

.details-text {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: rgba(255,255,255,0.9);
}

.details-highlight {
    font-weight: 600;
    font-style: italic;
    margin-bottom: 25px;
    color: #fff;
}

/* Hover State (Desktop) */
@media (min-width: 992px) {
    .procedure-item:hover {
        flex: 3;
    }

    .procedure-item:hover .procedure-details {
        max-height: 500px;
        opacity: 1;
        margin-top: 10px;
    }

    .procedure-item:hover .procedure-title {
        font-size: 40px;
        white-space: normal;
    }

    .procedure-item:hover .procedure-card {
        transform: scale(1.05);
    }
}

/* Mobile State (max-width: 991px) */
@media (max-width: 991px) {
    .procedure-expanding-wrapper {
        flex-direction: column;
        height: auto;
        gap: 15px;
    }

    .procedure-item {
        height: 160px; /* Altura colapsada ligeiramente menor para mobile */
        flex: none;
        width: 100%;
        min-height: 160px;
        transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        background-color: #1a1a1a; /* Fundo de segurança escuro */
    }

    .procedure-item.active {
        height: auto;
        min-height: 480px;
    }

    .procedure-card {
        height: 100%;
        min-height: inherit;
    }

    .procedure-item.active .procedure-card {
        transform: none !important;
    }

    .procedure-content {
        position: relative !important;
        height: auto !important;
        min-height: 160px;
        padding: 30px 20px !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
        z-index: 5;
    }

    .procedure-item.active .procedure-content {
        justify-content: flex-start;
        padding-top: 40px !important;
    }

    .procedure-details {
        display: none;
        transition: none; /* Evita conflitos de animação no mobile */
    }

    .procedure-item.active .procedure-details {
        display: block;
        max-height: none;
        opacity: 1;
        margin-top: 20px;
    }

    .procedure-item .procedure-title {
        font-size: 22px;
        white-space: normal;
        margin-bottom: 0;
    }

    .procedure-item.active .procedure-title {
        font-size: 28px;
        margin-bottom: 10px;
        color: #ffd7e0;
    }

    .procedure-number {
        font-size: 30px;
        margin-bottom: 5px;
    }

    .procedure-overlay {
        opacity: 0.9; /* Garantir contraste no mobile */
        background: linear-gradient(to bottom, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.7) 100%);
    }
}

/* --- PRIVACIDADE NO FOOTER (HOVER + CLICK) --- */
.privacy-widget .privacy-toggle {
    cursor: pointer;
    user-select: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.privacy-widget .privacy-toggle::after {
    content: "+";
    font-size: 16px;
    line-height: 1;
    opacity: 0.8;
}

.privacy-widget .privacy-content {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}

.privacy-widget:focus-within .privacy-content,
.privacy-widget.privacy-open .privacy-content {
    max-height: 260px;
    opacity: 1;
}

/* Mantem os titulos das secoes exatamente como escritos no HTML. */
.sec-title,
.title-area .sec-title,
h2.sec-title,
h2.sec-title.text-white {
    text-transform: none !important;
}

/* Mantem o titulo da politica sem capitalizacao forcada. */
.privacy-widget .privacy-toggle {
    text-transform: none !important;
}
