/* =========================
   SERVICES HERO
========================= */

.services-hero{
    height:60vh;
    background:linear-gradient(rgba(0,0,0,0.55),rgba(0,0,0,0.55)),
    url("Images/services/services-banner.jpg");
    background-size:cover;
    background-position:center;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:#fff;
    padding:20px;
}

.services-content h1{
    font-size:55px;
    margin-bottom:20px;
    font-weight:700;
}

.services-content p{
    font-size:20px;
    max-width:700px;
    margin:auto;
    line-height:1.8;
}

/* =========================
   SERVICES SECTION
========================= */

.services{
    padding:90px 8%;
    background:#f8f9fa;
}

.services h2{
    text-align:center;
    font-size:40px;
    color:#0a2342;
    margin-bottom:50px;
}

.services-container{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

/* =========================
   SERVICE CARDS
========================= */

.service-card{
    background:#fff;
    padding:35px 25px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    transition:0.4s;
    cursor:pointer;
}

.service-card h3{
    font-size:24px;
    color:#0a2342;
    margin-bottom:20px;
}

.service-card p{
    color:#666;
    line-height:1.8;
    font-size:16px;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:992px){

.services-container{
    grid-template-columns:repeat(2,1fr);
}

.services-content h1{
    font-size:42px;
}

}

@media (max-width:768px){

.services-hero{
    height:50vh;
}

.services-content h1{
    font-size:32px;
}

.services-content p{
    font-size:16px;
}

.services{
    padding:70px 20px;
}

.services h2{
    font-size:30px;
}

.services-container{
    grid-template-columns:1fr;
}

}

/* =========================
   WHY CHOOSE US
========================= */

.why-choose{
    padding:90px 8%;
    background:#ffffff;
}

.why-choose h2{
    text-align:center;
    font-size:40px;
    color:#0a2342;
    margin-bottom:50px;
}

.why-container{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.why-card{
    background:#f8f9fa;
    padding:30px 25px;
    border-radius:18px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s;
}

.why-card h3{
    color:#0a2342;
    margin-bottom:15px;
    font-size:22px;
}

.why-card p{
    color:#666;
    line-height:1.7;
}

.why-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 35px rgba(0,0,0,.15);
}

@media(max-width:992px){
    .why-container{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:768px){
    .why-choose{
        padding:70px 20px;
    }

    .why-choose h2{
        font-size:30px;
    }

    .why-container{
        grid-template-columns:1fr;
    }
}

/* =========================
   CTA SECTION
========================= */

.cta-section{
    padding:90px 8%;
    background:#0a2342;
    text-align:center;
    color:#fff;
}

.cta-section h2{
    font-size:42px;
    margin-bottom:20px;
}

.cta-section p{
    max-width:800px;
    margin:0 auto 35px;
    line-height:1.8;
    font-size:18px;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.btn-primary,
.btn-secondary{
    padding:15px 35px;
    border-radius:40px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.btn-primary{
    background:#ffb703;
    color:#000;
}

.btn-secondary{
    border:2px solid #fff;
    color:#fff;
}

.btn-primary:hover,
.btn-secondary:hover{
    transform:translateY(-5px);
}

@media(max-width:768px){

.cta-section{
    padding:70px 20px;
}

.cta-section h2{
    font-size:30px;
}

.cta-section p{
    font-size:16px;
}

.cta-buttons{
    flex-direction:column;
    align-items:center;
}

.btn-primary,
.btn-secondary{
    width:90%;
    text-align:center;
}

}

header.navbar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 15px 8% !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

header.navbar .logo img {
    height: 50px !important;
    width: auto !important;
}

header.navbar nav ul {
    display: flex !important;
    list-style: none !important;
    gap: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
}

header.navbar nav ul li a {
    text-decoration: none !important;
    color: #222222 !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    transition: color 0.3s ease;
}

header.navbar nav ul li a.active,
header.navbar nav ul li a:hover {
    color: #ffb800 !important;
}

header.navbar .btn-book {
    background-color: #ffb800 !important;
    color: #000000 !important;
    padding: 10px 22px !important;
    border-radius: 25px !important;
    text-decoration: none !important;
    font-weight: bold !important;
}

.services-hero-slider {
    position: relative;
    height: 380px;
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-backgrounds {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slide {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation: heroSlide 15s infinite;
}

.slide-1 { animation-delay: 0s; }
.slide-2 { animation-delay: 5s; }
.slide-3 { animation-delay: 10s; }

@keyframes heroSlide {
    0% { opacity: 0; transform: scale(1); }
    10% { opacity: 1; }
    33.33% { opacity: 1; }
    43.33% { opacity: 0; transform: scale(1.05); }
    100% { opacity: 0; }
}

.slider-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #ffffff;
    padding: 0 20px;
}

.hero-content h1 {
    font-size: 42px !important;
    font-weight: 700;
    margin-bottom: 12px;
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

.hero-content p {
    font-size: 18px !important;
    color: #f0f0f0 !important;
    max-width: 650px;
    margin: 0 auto;
    text-shadow: 0 1px 5px rgba(0,0,0,0.4);
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #ffffff;
    padding: 0 20px;
    margin-bottom: 30px !important;
}

.services-hero-slider {
    position: relative;
    height: 400px !important;
    width: 100%;
    overflow: hidden;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.services-hero-slider + section,
section:has(h2), 
section {
    padding-top: 15px !important;
    margin-top: 0 !important;
}

.services-hero-slider + section h2,
section h2,
h2 {
    margin-top: 10px !important;
}

.services-hero-slider + section,
section {
    padding: 30px 5% !important;
}

h2, .section-title, .what-we-offer h2 {
    text-align: center;
    font-size: 32px !important;
    margin-bottom: 25px !important;
    color: #0b2545;
}

.services-grid, 
.card-container, 
section > div:has(> div) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
    max-width: 1200px;
    margin: 0 auto !important;
}

.services-grid > div,
.card-container > div,
section .card,
section > div > div {
    background: #ffffff !important;
    border-radius: 12px !important;
    padding: 20px 15px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.services-grid > div:hover,
section .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12) !important;
}

section h3, 
.card h3 {
    font-size: 18px !important;
    margin: 10px 0 !important;
    color: #111111 !important;
}

section p, 
.card p {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: #555555 !important;
    margin: 0 !important;
}

body section:last-of-type div,
body section:nth-of-type(3) div,
.services-container > div {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 20px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

body section:last-of-type div > div,
body section:nth-of-type(3) div > div,
.card {
    flex: 1 1 300px !important;
    max-width: 350px !important;
    box-sizing: border-box !important;
}

.cta-banner-section,
section:last-of-type {
    background: #007a8c !important;
    padding: 60px 20px !important;
    text-align: center !important;
}

.cta-banner-section h2,
section:last-of-type h2,
.cta-banner-section p,
section:last-of-type p {
    color: #ffffff !important;
}

.cta-btn-wrapper, 
section:has(.btn-contact) div:has(.btn-contact) {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    gap: 35px !important;
    margin-top: 50px !important;
    margin-bottom: 20px !important;
    clear: both !important;
}

.btn-contact, 
.btn-whatsapp {
    padding: 14px 38px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
    transition: transform 0.2s ease !important;
}

.btn-contact {
    background-color: #ffb703 !important;
    color: #000000 !important;
}

.btn-whatsapp {
    background-color: #25d366 !important;
    color: #ffffff !important;
}

.btn-contact:hover, 
.btn-whatsapp:hover {
    transform: translateY(-3px) !important;
}

.cta-banner-section,
section:last-of-type,
div:has(> .btn-contact) {
    padding-top: 25px !important; 
    padding-bottom: 25px !important;
    margin-top: 15px !important;
    margin-bottom: 0px !important;
}

.cta-banner-section p,
section:last-of-type p {
    margin-bottom: 20px !important;
}

.cta-btn-wrapper, 
section:has(.btn-contact) div:has(.btn-contact) {
    margin-top: 15px !important;
    margin-bottom: 5px !important;
}

.cta-banner-section,
section:last-of-type,
div:has(> .btn-contact) {
    margin-bottom: 40px !important;
}

body section:first-of-type,
.hero-section,
.services-hero {
    font-family: 'Poppins', sans-serif !important;
}

body section:first-of-type h1,
.hero-section h1,
.services-hero h1 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 42px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-shadow: none !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 15px !important;
}

body section:first-of-type p,
.hero-section p,
.services-hero p {
    font-family: 'Poppins', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #f0f0f0 !important;
    text-shadow: none !important;
    line-height: 1.6 !important;
    max-width: 800px !important;
    margin: 0 auto !important;
    letter-spacing: 0.3px !important;
}

/* =========================
   WHATSAPP BUTTON
========================= */

.whatsapp-btn{

    position:fixed;

    bottom:25px;

    right:25px;

    width:65px;

    height:65px;

    background:#25D366;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

    z-index:9999;

    transition:.3s;

}

.whatsapp-btn img{

    width:35px;

    height:35px;

}

.whatsapp-btn:hover{

    transform:scale(1.1);

}

#backToTop{

    position:fixed;

    bottom:25px;

    left:25px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:#ffb703;

    color:#fff;

    font-size:24px;

    cursor:pointer;

    display:none;

    z-index:9999;

    transition:.3s;

    box-shadow:0 8px 20px rgba(0,0,0,.25);

}

#backToTop:hover{

    background:#ffb703;

    color:#000;

    transform:translateY(-5px);

}


@media screen and (max-width: 768px) {

    footer, 
    section[style*="width: 100vw"] {
        width: 100% !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    footer > div, 
    .footer-container {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 25px !important;
        padding: 30px 15px !important;
    }

    footer > div > div, 
    .footer-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .navbar {
        flex-direction: column !important;
        padding: 10px !important;
    }

    .navbar ul, 
    .nav-links {
        padding: 0 !important;
        margin: 10px 0 !important;
        gap: 8px !important;
    }

    .social-links {
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .social-links a {
        width: 90% !important;
    }

    section form {
        flex-direction: column !important;
        width: 90% !important;
    }

    section form input, 
    section form button {
        width: 100% !important;
    }
}