/* =====================================================================
   OLIVER IN HOUSE — Identidade Visual (override sobre o template Nilachol)
   Paleta: Verde Oliveira + Dourado  |  Tipografia: Bona Nova
   ===================================================================== */

:root{
    --oliver-green:        #14622f;  /* verde profundo (fundos escuros) */
    --oliver-green-2:      #1b7a3c;  /* verde marca (acento primário)  */
    --oliver-green-deep:   #0f4a24;  /* verde mais escuro (footer)     */
    --oliver-gold:         #c9a227;  /* dourado (acento de luxo)       */
    --oliver-gold-2:       #dcbb4e;  /* dourado claro / hover          */
    --oliver-cream:        #f3ead0;  /* creme das folhas               */
    --oliver-ink:          #222a22;  /* texto escuro                   */
}

/* ---------- Tipografia ---------- */
body{
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    color: #4a4f47;
}
h1, h2, h3, h4, h5, h6,
.sec-title h2, .sec-title h3,
.logo-text, .slide-content-box h1,
.count-outer, .counter-title,
.room-box h3, .service-block-one h3,
.testimonial-slide-item .info-box h3,
.blog-section h4, .footer-widget .section-title h3{
    font-family: 'Bona Nova', 'Playfair Display', Georgia, serif !important;
}

/* Acentos dourados em títulos de seção */
.sec-title h2 span,
.sec-title h3 span{
    color: var(--oliver-gold) !important;
    font-style: italic;
}
.sec-title h2:after{ background: var(--oliver-gold) !important; }

/* ---------- Top bar ---------- */
.top-bar{
    background: var(--oliver-green-deep);
    padding: 8px 0;
}
.top-bar .top-bar-text li,
.top-bar .top-bar-text li a{ color: #e9e5d2; }
.top-bar .top-bar-text li i{ color: var(--oliver-gold-2); }
.top-bar .social-style-one li a{ color: #cfd7cb; }
.top-bar .social-style-one li a:hover{ color: var(--oliver-gold-2); }

/* ---------- Menu principal ---------- */
.mainmenu-area{
    background: #ffffff;
    box-shadow: 0 4px 24px rgba(15,74,36,.08);
}
.mainmenu-area.stricky-fixed{ box-shadow: 0 6px 26px rgba(15,74,36,.14); }
.main-menu .navigation > li > a{
    color: var(--oliver-green);
    font-weight: 500;
    letter-spacing: .3px;
}
.main-menu .navigation > li:hover > a,
.main-menu .navigation > li.current > a{ color: var(--oliver-gold) !important; }
.main-menu .navigation > li > ul{ border-top: 3px solid var(--oliver-gold); }
.main-menu .navigation > li > ul > li > a:hover{ color: var(--oliver-gold) !important; }
.main-logo img{ max-height: 72px; width: auto; }
.main-logo{ padding: 12px 0; }
/* Navegação em uma única linha */
@media (min-width: 768px){
    .main-menu .navigation{ white-space: nowrap; }
    .main-menu .navigation > li{ margin-left: 0 !important; }
    .main-menu .navigation > li > a{ padding-left: 15px !important; padding-right: 15px !important; font-size: 15px; }
}

/* ---------- Botões ---------- */
.btn-style-one,
.btn-style-five,
.btn-style-seven,
.btn-style-eight,
.theme-btn.btn-style-one{
    background: var(--oliver-green-2);
    border-color: var(--oliver-green-2);
    color: #fff;
    letter-spacing: .5px;
    transition: all .35s ease;
}
.btn-style-one:hover,
.btn-style-five:hover,
.btn-style-seven:hover,
.btn-style-eight:hover,
.theme-btn.btn-style-one:hover{
    background: var(--oliver-gold);
    border-color: var(--oliver-gold);
    color: #1a1a1a !important;
}
.btn-style-six{
    background: transparent;
    border: 2px solid var(--oliver-gold);
    color: var(--oliver-gold) !important;
}
.btn-style-six:hover{
    background: var(--oliver-gold);
    color: #1a1a1a !important;
}
.link-btn4 .btn-style-one{ background: var(--oliver-gold); color:#1a1a1a; border-color: var(--oliver-gold); }
.link-btn4 .btn-style-one:hover{ background: var(--oliver-green-2); color:#fff !important; border-color: var(--oliver-green-2); }

/* ---------- Hero / Revolution Slider (original) ---------- */
.rev_slider_wrapper .tp-caption .slide-content-box h1{
    color: #fff;
    text-shadow: 0 2px 18px rgba(0,0,0,.45);
    font-weight: 700;
    font-family: 'Bona Nova', serif !important;
}
.rev_slider_wrapper .tp-caption .slide-content-box p{ color: #f1efe4; }

/* ---------- Serviços / Diferenciais ---------- */
.services-section{ background: #fbfaf5; }
.service-block-one .inner{
    background: #fff;
    border: 1px solid #ececdf;
    border-radius: 6px;
    padding: 45px 30px;
    transition: all .4s ease;
    box-shadow: 0 6px 24px rgba(15,74,36,.04);
}
.service-block-one .inner:hover{
    box-shadow: 0 16px 40px rgba(15,74,36,.12);
    transform: translateY(-6px);
    border-color: var(--oliver-gold);
}
.service-block-one .icon span{ color: var(--oliver-green-2); }
.service-block-one .inner:hover .icon span{ color: var(--oliver-gold); }
.service-block-one h3 a{ color: var(--oliver-green); }
.service-block-one h3 a:hover{ color: var(--oliver-gold); }

/* ---------- Quartos ---------- */
.rooms-section{ position: relative; }
.rooms-section:before{
    content:''; position:absolute; inset:0;
    background: linear-gradient(rgba(15,74,36,.86), rgba(15,74,36,.90));
}
.rooms-section .container{ position: relative; z-index: 2; }
.room-box h3 a{ color: var(--oliver-green); }
.room-box h3 a:hover{ color: var(--oliver-gold); }
.room-box .rating .fa-star{ color: var(--oliver-gold); }
.room-box .price{ color: var(--oliver-gold); font-weight: 600; }
.room-box .price a{ background: var(--oliver-green-2); color:#fff; }
.room-box .price a:hover{ background: var(--oliver-gold); color:#1a1a1a; }

/* ---------- Subscribe / Faixa CTA ---------- */
.subscirbe-section{ position: relative; }
.subscirbe-section:before{
    content:''; position:absolute; inset:0;
    background: linear-gradient(90deg, rgba(15,74,36,.92), rgba(20,98,47,.80));
}
.subscirbe-section .container{ position: relative; z-index: 2; }
.subscirbe-section h2{ color:#fff; font-family:'Bona Nova',serif !important; }

/* ---------- Contador ---------- */
.fact-counter{ position: relative; }
.fact-counter:before{
    content:''; position:absolute; inset:0;
    background: linear-gradient(rgba(15,74,36,.90), rgba(15,74,36,.94));
}
.fact-counter .container{ position: relative; z-index: 2; }
.fact-counter .icon i{ color: var(--oliver-gold-2); }
.fact-counter .count-outer{ color:#fff; }
.fact-counter .counter-title{ color: var(--oliver-cream); }

/* ---------- Atrações próximas ---------- */
.spots-section-two .sec-title style-3 h3,
.sec-title.style-3 h3{ color: var(--oliver-green); }
.post-style-one .btn-style-one{ margin-top: 12px; }

/* ---------- Depoimentos ---------- */
.testimonials-section{ position: relative; }
.testimonials-section:before{
    content:''; position:absolute; inset:0;
    background: linear-gradient(rgba(15,74,36,.90), rgba(15,74,36,.93));
}
.testimonials-section .container{ position: relative; z-index: 2; }
.testimonials-section .info-box h3{ color:#fff; }
.testimonials-section .designation{ color: var(--oliver-gold-2); }
.testimonials-section .text{ color:#eef1e9; }
.owl-dot-style-one .owl-dots .owl-dot.active span,
.owl-dot-style-one .owl-dots .owl-dot:hover span{ background: var(--oliver-gold) !important; }

/* ---------- Blog ---------- */
.blog-section .post-meta{ color: var(--oliver-gold); }
.blog-section h4 a{ color: var(--oliver-green); }
.blog-section h4 a:hover{ color: var(--oliver-gold); }

/* ---------- Footer ---------- */
.main-footer{ background: var(--oliver-green-deep); }
.main-footer .footer-logo img{ max-height: 90px; width: auto; }
.main-footer .contact-info li{ color:#d7dccf; }
.main-footer .footer-widget .section-title h3{ color:#fff; position: relative; padding-bottom: 12px; }
.main-footer .footer-widget .section-title h3:after{
    content:''; position:absolute; left:0; bottom:0; width:44px; height:2px; background: var(--oliver-gold);
}
.main-footer .list li a{ color:#c9cfc1; }
.main-footer .list li a:hover{ color: var(--oliver-gold-2); padding-left: 6px; }
.main-footer .social li a{ color:#c9cfc1; border-color: rgba(255,255,255,.15); }
.main-footer .social li a:hover{ background: var(--oliver-gold); color:#1a1a1a; border-color: var(--oliver-gold); }
.footer-bottom{ background: #0b3a1c; }
.footer-bottom .copy-text p,
.footer-bottom .copy-text a{ color:#aeb6a6; }
.footer-bottom .copy-text a:hover{ color: var(--oliver-gold-2); }

/* ---------- Scroll top ---------- */
.scroll-top{ background: var(--oliver-gold) !important; color:#1a1a1a; }
.scroll-top:hover{ background: var(--oliver-green-2) !important; color:#fff; }

/* ---------- Popup reserva ---------- */
.popup-inner .default-form h3{ font-family:'Bona Nova',serif !important; color: var(--oliver-green); }

/* ---------- Equipe / Depoimentos (imagens placeholder de marca) ---------- */
.our-team-area .single-team-member .author-info h4{ font-family:'Bona Nova',serif !important; color: var(--oliver-green); }
.our-team-area .single-team-member .position{ color: var(--oliver-gold); }
.our-team-area .social-style-three li a:hover{ color: var(--oliver-gold); }

/* =====================================================================
   AJUSTES — Ver Apartamento, carrosséis, WhatsApp flutuante, CEO
   ===================================================================== */

/* ---------- Botão "Ver Apartamento" nos cards ---------- */
.room-box .btn-ver-apto{
    display:block; margin-top:12px; text-align:center;
    background:var(--oliver-green); color:#fff;
    padding:11px 14px; border-radius:6px;
    font-size:13px; font-weight:600; letter-spacing:.4px;
    transition:all .3s ease;
}
.room-box .btn-ver-apto:hover{ background:var(--oliver-gold); color:#1a1a1a; }
.room-box .btn-ver-apto i{ margin-right:6px; }

/* ---------- Popup / carrossel dos Apartamentos ---------- */
.apto-popup .popup-content.apto-modal{
    max-width:900px; width:92%; padding:0;
    border-radius:8px; overflow:hidden; background:#fff;
}
.apto-modal .popup-header{
    background:var(--oliver-green);
    display:flex; align-items:center; justify-content:space-between;
    padding:15px 22px; margin:0;
}
.apto-modal .popup-header .apto-title{
    color:#fff; font-family:'Bona Nova',serif; margin:0; font-size:22px;
}
.apto-modal .popup-header .btn-close{
    position:static; color:#fff; background:transparent; border:0;
    font-size:20px; cursor:pointer; line-height:1;
}
.apto-modal .popup-header .btn-close:hover{ color:var(--oliver-gold-2); }
.apto-carousel{ position:relative; background:var(--oliver-green-deep); }
.apto-viewport{ overflow:hidden; }
.apto-track{ display:flex; transition:transform .45s ease; }
.apto-slide{
    flex:0 0 100%; margin:0; position:relative; height:470px; overflow:hidden;
    background:linear-gradient(135deg,var(--oliver-green),var(--oliver-green-2));
    display:flex; align-items:center; justify-content:center;
}
.apto-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.apto-ph{
    position:absolute; inset:0; display:flex; flex-direction:column;
    align-items:center; justify-content:center; gap:10px;
    color:rgba(255,255,255,.85); text-align:center; padding:20px;
}
.apto-ph i{ font-size:46px; color:var(--oliver-gold-2); }
.apto-ph .apto-ph-num{ font-family:'Bona Nova',serif; font-size:20px; color:#fff; }
.apto-ph small{ color:rgba(255,255,255,.55); font-size:12px; }
.apto-nav{
    position:absolute; top:50%; transform:translateY(-50%);
    width:46px; height:46px; border:0; border-radius:50%;
    background:rgba(0,0,0,.35); color:#fff; font-size:22px; cursor:pointer;
    transition:all .3s ease; z-index:3;
}
.apto-nav:hover{ background:var(--oliver-gold); color:#1a1a1a; }
.apto-prev{ left:14px; }
.apto-next{ right:14px; }
.apto-counter{
    position:absolute; top:14px; right:16px; background:rgba(0,0,0,.45);
    color:#fff; padding:4px 12px; border-radius:20px; font-size:13px; z-index:3;
}
.apto-dots{
    position:absolute; bottom:14px; left:0; right:0;
    display:flex; justify-content:center; gap:8px; z-index:3;
}
.apto-dot{
    width:9px; height:9px; border-radius:50%; border:0; padding:0;
    background:rgba(255,255,255,.45); cursor:pointer; transition:all .3s ease;
}
.apto-dot.is-active{ background:var(--oliver-gold); width:22px; border-radius:6px; }
@media(max-width:767px){ .apto-slide{ height:300px; } .apto-modal .popup-header .apto-title{ font-size:18px; } }

/* ---------- Carrossel do Instagram (rodapé) ---------- */
.insta-carousel{ position:relative; }
.insta-carousel .insta-viewport{ overflow:hidden; border-radius:6px; }
.insta-carousel .insta-track{ display:flex; transition:transform .5s ease; }
.insta-carousel .insta-track .image{
    flex:0 0 100%; width:100%; margin:0; padding:0; position:relative; float:none;
}
.insta-carousel .insta-track .image img{ width:100%; height:auto; display:block; }
.insta-nav{
    position:absolute; top:38%; transform:translateY(-50%);
    width:34px; height:34px; border:0; border-radius:50%;
    background:rgba(0,0,0,.4); color:#fff; cursor:pointer; font-size:16px;
    z-index:2; opacity:0; transition:opacity .3s ease;
}
.insta-carousel:hover .insta-nav{ opacity:1; }
.insta-prev{ left:8px; }
.insta-next{ right:8px; }
.insta-nav:hover{ background:var(--oliver-gold); color:#1a1a1a; }
.insta-dots{ display:flex; justify-content:center; gap:7px; margin-top:12px; }
.insta-dot{
    width:8px; height:8px; border-radius:50%; border:0; padding:0;
    background:rgba(255,255,255,.3); cursor:pointer; transition:all .3s ease;
}
.insta-dot.is-active{ background:var(--oliver-gold); }

/* ---------- Botão flutuante do WhatsApp ---------- */
.wa-float{
    position:fixed; right:26px; bottom:26px;
    width:58px; height:58px; border-radius:50%;
    background:#25d366; color:#fff !important;
    display:flex; align-items:center; justify-content:center;
    font-size:30px; z-index:9999;
    box-shadow:0 6px 20px rgba(0,0,0,.25);
    transition:transform .3s ease, background .3s ease;
    animation:waPulse 2.4s infinite;
}
.wa-float:hover{ background:#1ebe57; transform:scale(1.08); color:#fff !important; }
@keyframes waPulse{
    0%{ box-shadow:0 0 0 0 rgba(37,211,102,.5); }
    70%{ box-shadow:0 0 0 16px rgba(37,211,102,0); }
    100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); }
}
@media(max-width:767px){ .wa-float{ width:52px; height:52px; font-size:27px; right:18px; bottom:18px; } }

/* ---------- Seção CEO / História ---------- */
.ceo-area .ceo-row{ display:flex; flex-wrap:wrap; align-items:center; }
.ceo-card{
    background:#fff; border:1px solid #ececdf; border-radius:8px; padding:16px;
    box-shadow:0 8px 30px rgba(15,74,36,.06);
}
.ceo-photo{
    position:relative; margin:0; height:360px; border-radius:6px; overflow:hidden;
    background:linear-gradient(135deg,var(--oliver-green),var(--oliver-green-2));
    display:flex; align-items:center; justify-content:center;
}
.ceo-photo img{ width:100%; height:100%; object-fit:cover; }
.ceo-ph{ color:rgba(255,255,255,.85); text-align:center; font-size:14px; line-height:1.7; padding:20px; }
.ceo-photo.has-img .ceo-ph{ display:none; }
.ceo-ph i{ font-size:46px; color:var(--oliver-gold-2); }
.ceo-ph small{ color:rgba(255,255,255,.5); font-size:11px; }
.ceo-info{ padding:18px 6px 6px; }
.ceo-info h4{ font-family:'Bona Nova',serif; color:var(--oliver-green); font-size:22px; margin:0 0 4px; }
.ceo-info .position{ color:var(--oliver-gold); font-weight:600; margin:0; }
.ceo-story{ padding-left:26px; }
.ceo-story h3{ font-family:'Bona Nova',serif; color:var(--oliver-green); margin-bottom:16px; }
.ceo-story p{ color:#5c6157; line-height:1.9; margin-bottom:16px; }
.ceo-story em{ color:var(--oliver-green); }
@media(max-width:991px){ .ceo-story{ padding-left:0; margin-top:34px; } .ceo-photo{ height:340px; } }

/* =====================================================================
   OTIMIZAÇÃO MOBILE + refinamentos do popup de apartamentos
   ===================================================================== */

/* Popup do apartamento: container centralizado e cabeçalho sempre visível */
.apto-popup .popup-container{
    width:92%; max-width:880px; top:5%;
    margin-left:auto; margin-right:auto;
}
.apto-popup .popup-content.apto-modal{ width:100%; max-width:none; }
.apto-modal .popup-header .btn-close{ width:auto; height:auto; padding:4px 8px; }

/* ---------- Tablet (≤ 991px) ---------- */
@media (max-width: 991px){
    .ceo-story{ padding-left:0; margin-top:30px; }
    .insta-carousel .insta-nav{ opacity:1; }            /* setas sempre visíveis no touch */
    .apto-slide{ height:340px; }
}

/* ---------- Mobile (≤ 767px) ---------- */
@media (max-width: 767px){
    /* Top bar: empilha e centraliza */
    .top-bar .top-bar-text,
    .top-bar .social-style-one{ float:none !important; text-align:center; }
    .top-bar .top-bar-text{ margin-bottom:4px; }
    .top-bar .top-bar-text li{ display:inline-block; margin:0 8px; font-size:13px; }

    /* Seções: menos respiro lateral */
    .services-section .service-block-one{ margin-bottom:22px; }

    /* Cards de diferenciais */
    .service-block-one .inner{ padding:34px 24px; }

    /* Cards de acomodação */
    .rooms-section .room-box{ max-width:340px; margin:0 auto; }
    .room-box .btn-ver-apto{ font-size:14px; padding:13px; }
    .room-box .price{ font-size:15px; }

    /* Botões gerais um pouco maiores para o toque */
    .btn-style-one, .btn-style-five, .btn-style-six,
    .btn-style-seven, .btn-style-eight{ font-size:14px; }
    .subscirbe-section h2{ font-size:24px; text-align:center; }
    .subscirbe-section .btn-column{ text-align:center; margin-top:18px; }

    /* Seção CEO / História */
    .ceo-card{ max-width:360px; margin:0 auto; }
    .ceo-photo{ height:320px; }
    .ceo-story{ text-align:left; }
    .ceo-story h3{ font-size:24px; }

    /* ---- Popup do Apartamento (mobile) ---- */
    .apto-popup .popup-container{ width:94%; top:0; margin:64px auto 24px; }
    .apto-modal .popup-header{ padding:12px 46px 12px 16px; }
    .apto-modal .popup-header .apto-title{ font-size:16px; }
    .apto-popup .popup-box .popup-header .btn-close,
    .apto-modal .popup-header .btn-close{ top:8px; right:10px; font-size:20px; }
    .apto-slide{ height:230px; }
    .apto-slide img{ object-fit:cover; }
    .apto-nav{ width:38px; height:38px; font-size:18px; }
    .apto-prev{ left:8px; } .apto-next{ right:8px; }
    .apto-counter{ font-size:11px; top:10px; right:10px; padding:3px 9px; }
    .apto-dots{ bottom:10px; gap:6px; }
    .apto-dot{ width:7px; height:7px; }
    .apto-dot.is-active{ width:18px; }
    .apto-ph i{ font-size:34px; }
    .apto-ph .apto-ph-num{ font-size:16px; }
    .apto-ph small{ font-size:10px; word-break:break-all; }

    /* Popup de reserva (appointment) no mobile */
    #appointment-popup .popup-inner{ padding:40px 22px; }

    /* Instagram carrossel no rodapé */
    .insta-carousel{ max-width:320px; }
    .insta-carousel .insta-nav{ opacity:1; width:32px; height:32px; }

    /* WhatsApp flutuante */
    .wa-float{ width:54px; height:54px; font-size:28px; right:16px; bottom:16px; }

    /* Rodapé: colunas com respiro */
    .main-footer .footer-widget{ margin-bottom:34px; }
    .footer-bottom .copy-text p{ font-size:12px; line-height:1.6; }
}

/* ---------- Mobile pequeno (≤ 480px) ---------- */
@media (max-width: 480px){
    .apto-slide{ height:200px; }
    .ceo-photo{ height:280px; }
    .top-bar .top-bar-text li{ font-size:12px; margin:0 5px; }
}

/* =====================================================================
   CORREÇÃO DE OVERFLOW HORIZONTAL (Revolution Slider força largura no mobile)
   ===================================================================== */
html, body{ overflow-x:hidden; max-width:100%; }
.boxed_wrapper{ overflow-x:hidden; width:100%; }
.rev_slider_wrapper, .rev_slider, #slider1{ max-width:100%; overflow:hidden; }
.tp-fullwidth-forcer{ max-width:100% !important; }

/* Fallback: garante imagem no hero mesmo se o Revolution Slider demorar/ falhar */
.rev_slider_wrapper{
    background-color:#0f4a24;
    background-image:url(images/slider/3.jpg);
    background-size:cover;
    background-position:center center;
}
