:root {
    /* --- Cores do Site Principal --- */
    --logo-pink: #D4668A;
    --logo-teal: rgb(83,148,143, 0.6);
    --logo-cream: #FFFFFF;
    
    --social-bar-bg: rgba(30, 40, 55, 0.95); 
    --footer-bg: rgba(15, 25, 35, 0.95);    
    
    --text-on-dark-bg: #F0F0F0;
    --text-on-cream-bg: #3D3D3D; 
    --text-on-teal-bg: black;
    --title-on-teal-bg: var(--logo-cream); 
    
    /* --- Cores do Carrossel (opcional, baseadas na marca) --- */
    --carousel-bg: #f7fafc; /* Cor de fundo suave */
    --carousel-button-bg: #5C6BC0; /* Azul escuro para contraste */
    --carousel-shadow: rgba(0, 0, 0, 0.3);
    
    --pr-light: #f3f4f6; /* bg-pr-light (cinza claro) */
    --pr-gold: #FFD700; /* Cor Gold original */
    --pr-blue: #007bff; /* text-pr-blue (Aproximei para o primary do Bootstrap) */
    --whatsapp-green: #25d366; /* Cor padrão do WhatsApp */
    --whatsapp-green-hover: #1da851;
    --max-width-xl: 36rem; 
}

.btn-proximarota, .btn-proximarota:hover {
    background-color: var(--logo-pink);
    color: white;
    font-weight: bold;
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Poppins', 'Arial', sans-serif;
    background-color: var(--logo-cream); 
    color: var(--text-on-cream-bg);     
    overflow-x: hidden;
    /* CORREÇÃO: Força o espaço da barra de rolagem vertical para evitar o "vácuo" em 100% */
    overflow-y: scroll;
}

/* =================================================== */
/* --- CORREÇÃO DA BARRA SOCIAL --- */
/* =================================================== */
.social-bar {
    position: fixed;
    background-color: var(--social-bar-bg);
    z-index: 1031;
    padding: 10px 5px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.5);
    transition: all 0.3s ease-in-out;
}
.social-bar a {
    display: block;
    color: var(--text-on-dark-bg);
    text-decoration: none;
    padding: 8px 10px;
    margin-bottom: 8px;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s, transform 0.2s;
    font-size: 14px;
    text-align: center;
    white-space: nowrap; 
}
.social-bar a img {
    width: 24px;
    height: 24px;
    vertical-align: middle;
}
/* Corrigido: Esconde o texto por padrão, só mostra no hover em desktop */
.social-bar a .social-text { 
    display: none; 
    margin-left: 8px;
    vertical-align: middle;
}
.social-bar a:hover {
    background-color: var(--logo-pink);
    color: var(--logo-cream);
    transform: scale(1.05);
}
.social-bar a:last-child { margin-bottom: 0; }

/* Regras Desktop (mostra texto no hover) */
@media (min-width: 992px) {
    .social-bar { 
        left: 15px; 
        top: 50%; 
        transform: translateY(-50%); 
        width: 60px; /* Largura padrão */
    }
    .social-bar:hover {
        width: 150px; 
    }
    .social-bar:hover .social-text {
        display: inline-block;
    }
    .social-bar a img { display: inline-block; }
    .social-bar a { text-align: left; padding: 10px 12px;}
    /* Re-aplicando a margem correta do wrapper principal para desktop */
    .main-content-wrapper { padding-left: 85px; padding-top: 0; }
    .header { margin-top: 0; }
}

/* Regras Mobile (fica no topo, texto permanece escondido) */
@media (max-width: 991.98px) {
    .social-bar {
        top: 0; left: 0; width: 100%; display: flex;
        justify-content: space-around; align-items: center;
        padding: 8px 5px; border-radius: 0;
        box-shadow: 0 2px 5px rgba(0,0,0,0.15);
        height: 48px;
    }
    .social-bar a { margin-bottom: 0; margin-right: 5px; padding: 5px 8px; }
    .social-bar a:last-child { margin-right: 0; }
    .social-bar a img { width: 22px; height: 22px; }
    .social-bar a .social-text { display: none; } /* Garante que o texto fique escondido */
    .header { margin-top: 48px; }
    .main-content-wrapper { padding-top: 0; padding-left: 0; }
}
/* =================================================== */

.header {
    position: relative;
    width: 100%;
    min-height: 80px;
    height: auto;
    background-color: var(--logo-cream);
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    font-family: 'Poppins','Georgia', serif;
    z-index: 1000;
    border-bottom: 1px solid rgba(0,0,0,0.1); 
}
/* ... outros estilos do cabeçalho ... */
.header .logo-header { width: auto; display: block; }
.header .logo-left { 
    min-height: 130px;
    max-height: 130px; 
}
.header .logo-right { max-height: 40px; }
.header h1 {
    position: absolute; 
    left: 50%;          
    transform: translateX(-50%); 
    margin: 0;
    font-size: 32px;
    color: var(--logo-pink);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    line-height: 1.2;
}

.right-logos {
    display: flex;
    align-items: center; 
    gap: 15px; 
}
.partner-logo {
    max-height: 85px; 
    width: auto;    
}

/* Estilos de Texto e Seções */
.intro-text-standalone {
    font-family: 'Poppins','Georgia', serif;
    color: var(--text-on-cream-bg);
    text-align: center;
    font-size: 22px;
    line-height: 1.6;
    /* margin: 30px auto; */
    padding: 0 15px; 
    font-style: italic;
}
.intro-text-standalone p { margin-bottom: 1rem; } 

.services-section-title {
    font-family: 'Poppins','Georgia', serif;
    color: var(--logo-pink);
    text-shadow: 1px 1px 2px rgba(0,0,0,0.15); 
}

.services-section {
    padding-top: 25px;
    padding-bottom: 25px;
}
.card {
    background-color: var(--logo-teal); 
    border: none; 
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    color: var(--text-on-teal-bg);      
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 10px; 
}
.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.55); 
}
/* ... outros estilos de card ... */
.card-title {
    color: var(--title-on-teal-bg); 
    font-family: 'Poppins','Georgia', serif;
    font-weight: bold;
}
.card-text {
    line-height: 1.5;
    color: var(--text-on-teal-bg); 
}
.card-img-top, .carousel {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    overflow: hidden;
}
.carousel-item img, .card-img-top {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.carousel .carousel-item {
     border-bottom: 1px solid rgba(255,255,255,0.2);
}

.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: var(--footer-bg);
    color: var(--text-on-dark-bg);
    text-align: center;
    padding: 5px 0;
    font-size: 12px;
    z-index: 1020;
}

.footer > a {
    color: var(--text-on-dark-bg);
}

.main-content-wrapper {
    transition: padding-left 0.3s ease-in-out;
    padding-bottom: 70px;
}

/* ------------------------------------------- */
/* --- ESTILOS DO CARROSSEL DESPOJADO --- */
/* ------------------------------------------- */

/* CONTAINER PRINCIPAL: Permite o posicionamento absoluto das setas */
.carousel-wrapper {
    position: relative;
    /* Usar width: 100% permite que ele se estenda ao máximo do container pai (body) */
    width: 100%; 
    margin: 30px 0; 
}

/* O card principal (.photo-card) agora é o contêiner ABSOLUTO, com altura VARIÁVEL */
.photo-card {
    border: none; 
    border-radius: 0; 
    /* Aplica a sombra no card inteiro (foto + texto) */
    filter: drop-shadow(4px 4px 10px var(--carousel-shadow)) drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.1));
    transition: transform 0.3s ease, z-index 0s; 
    cursor: default; 
    position: absolute; 
    background-color: white; /* Fundo branco para o bloco inteiro */
    width: 280px; 
    height: auto; 
    bottom: 0; 
    /* Flexbox para empilhar Imagem Rotacionada e Conteúdo Reto */
    display: flex;
    flex-direction: column;
    align-items: center; 
    padding-bottom: 5px; 
    z-index: 1; 
}

/* Wrapper da Imagem: ESTE elemento recebe a rotação, borda e altura fixa */
.photo-image-wrapper {
    /* Simula a moldura branca grossa (8px de cada lado) */
    border: 8px solid white;
    width: 100%;
    height: 157px; /* Proporção 16:9 */
    overflow: hidden;
    background-color: #ccc;
    transition: transform 0.3s ease;
    transform-origin: center center;
    filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.2)); 
}

.photo-image {
    width: 100%;
    height: 100%; 
    object-fit: cover;
    display: block;
}

/* Área de conteúdo abaixo da foto (texto e botão) - Fica SEMPRE RETO */
.photo-content {
    padding: 20px 10px 0; 
    background-color: white; 
    text-align: center;
    width: 100%; 
    display: flex;
    flex-direction: column;
    flex-grow: 1; 
    justify-content: space-between; 
    padding-bottom: 10px; 
}

.photo-description {
    font-size: 0.875rem; 
    color: #4b5563; 
    margin-bottom: 15px;
    line-height: 1.2;
}

.learn-more-btn {
    /* background-color: var(--carousel-button-bg); */
    background-color: var(--logo-pink); 
    color: white;
    border: none;
    padding: 8px 12px;
    font-size: 0.8rem;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
    text-decoration: none; 
    display: block; 
    width: 100%;
    font-weight: 700;
    
    margin-top: auto; 
    margin-bottom: 0; 
}

.learn-more-btn:hover {
    background-color: #4454a8; 
}

/* Container PRINCIPAL da Rolagem: Oculta a barra de rolagem */
.gallery-area {
    /* Usar 100% para evitar o cálculo incorreto do 100vw com a barra de rolagem */
    width: 100%; 
    min-height: 0; 
    overflow-x: scroll; 
    overflow-y: hidden; 
    padding-top: 0px; 
    padding-bottom: 0px;
    box-shadow: none;

    /* Esconde a barra de rolagem (cross-browser) */
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

/* Esconde a barra de rolagem (Chrome, Safari, Opera) */
.gallery-area::-webkit-scrollbar {
    display: none;
}

/* Container interno que força a largura do conteúdo (e do scroll) */
.inner-photo-container {
    position: relative;
    min-height: 250px; 
}

/* --- ESTILOS DOS CONTROLES DE NAVEGAÇÃO (SETAS) --- */
.carousel-control-btn {
    position: absolute;
    top: 0;
    width: 100px; /* Área de clique e gradiente */
    height: 100%;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    transition: opacity 0.3s ease;
    background-color: transparent; 
    padding: 0;
}

.carousel-control-btn i {
    color: white; 
    font-size: 2.5rem;
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.8); 
}

/* Botão da Esquerda */
.carousel-control-btn.left {
    left: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* Botão da Direita */
.carousel-control-btn.right {
    right: 0;
    background: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.carousel-control-btn:disabled {
    opacity: 0;
    cursor: default;
    pointer-events: none; 
}

/* --- RESPONSIVIDADE DO CARROSSEL --- */
@media (max-width: 768px) {
    .photo-card {
        width: 160px;
    }
    .photo-image-wrapper {
        height: 90px; 
    }
     .photo-content {
        padding: 15px 8px 0; 
    }
    .inner-photo-container {
        min-height: 200px; 
    }
    .carousel-control-btn {
        width: 50px; 
    }
}
/* --- RESPONSIVIDADE GERAL (Ajustes Mobile e Desktop) --- */

/* Regras Desktop (992px+) */
@media (min-width: 992px) {
    .header { margin-top: 0; }
}

/* Regras Mobile/Tablet (até 991.98px) */
@media (max-width: 991.98px) {
    /* ... outros estilos de responsividade ... */
    .header .logo-left { max-height: 70px; }
    .header .logo-right { max-height: 30px; }
    .header h1 { font-size: clamp(20px, 5vw, 26px); margin: 0 8px; }
    .intro-text-standalone { font-size: clamp(18px, 4vw, 20px); margin: 20px 15px; max-width: 95%; padding: 0;}
}

@media (max-width: 767.98px) {
    /* ... estilos de responsividade de mobile ... */
    .header { flex-direction: column; padding: 15px; }
    .header .logo-left { margin-bottom: 10px; max-height: 60px; order: 1}
    .header .logo-right { margin-top: 10px; max-height: 25px; }
    .services-section { padding-top: 20px; }
    .card-text { font-size: 0.9rem; }
    .intro-text-standalone { font-size: clamp(17px, 4vw, 19px); }
    .header h1 {
        position: static; 
        transform: none;  
        order: 2;         
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .right-logos { 
        order: 3;
    }
}

@media (max-width: 380px) {
    /* ... estilos de responsividade de mobile pequeno ... */
    .social-bar { height: 44px; }
    .social-bar a { padding: 5px; }
    .social-bar a img { width: 20px; height: 20px; }
    .header { margin-top: 44px; }
    .header h1 { font-size: clamp(18px, 5vw, 20px); }
    .intro-text-standalone { font-size: clamp(16px, 4vw, 18px); }
    .footer { font-size: 12px; padding: 8px 5px; }
}

/* Estilo customizado do Card CTA */
.cta-card-bs {
    /* Max-w-xl do Tailwind + centralização (mx-auto) */
    max-width: var(--max-width-xl);
    margin-left: auto;
    margin-right: auto;
    
    /* Borda superior grossa (border-t-8), agora usando --logo-teal */
    border-top: 8px solid var(--logo-teal); 
    
    /* Sombra mais proeminente (shadow-2xl) */
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    
    /* Arredondamento maior (rounded-2xl) */
    border-radius: 1rem !important; 
}

.custom-section-bg {
    background-color: var(--pr-light);
}

/* Cor do título */
.custom-text-blue {
    color: var(--pr-blue) !important;
}

/* Estilo customizado do botão WhatsApp */
.btn-whatsapp-custom {
    background-color: var(--whatsapp-green);
    color: white;
    font-size: 1.25rem; /* text-xl */
    font-weight: 800; /* font-extrabold */
    padding: 1rem 1.5rem; /* py-4 */
    border: none;
    transition: all 0.3s ease-in-out;
}

.btn-whatsapp-custom:hover {
    background-color: var(--whatsapp-green-hover);
    color: white; /* Garante que a cor do texto permaneça branca ao passar o mouse */
    /* Efeito hover: transform hover:scale-[1.02] */
    transform: scale(1.02);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}


.border-top-logo-teal {
    border-top: 4px solid var(--logo-teal) !important;
}
                
.text-pr-blue {
    color: #1e40af !important;
}

/*--- AJUSTES ---*/
.container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
}