@font-face {
    font-family: 'Lora';
    src: url('/wp-content/fonts/Lora-Regular.woff2') format('woff2');
    font-weight: 400;
}

@font-face {
    font-family: 'Lora';
    src: url('/wp-content/fonts/Lora-Bold.woff2') format('woff2');
    font-weight: 700;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('/wp-content/fonts/PlayfairDisplay-Regular.woff2') format('woff2');
    font-weight: 400;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('/wp-content/fonts/PlayfairDisplay-Bold.woff2') format('woff2');
    font-weight: 700;
}

:root {
            --color-base: #F5F5F0;
            --color-band-light: #E6D8C3;
            --color-band-accent: #C2A68C;
            --color-deep: #5D866C;
            --color-text-dark: #222222;
            --color-text-muted: #555555;
            --color-white: #FFFFFF;
            --font-primary: 'Lora', Georgia, serif;
            --font-heading: 'Lora', Georgia, serif;
            --font-logo: 'Playfair Display', Georgia, serif;
            --space-xs: 0.5rem;
            --space-sm: 1rem;
            --space-md: 2rem;
            --space-lg: 4rem;
            --space-xl: 6rem;
            --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            --transition-slow: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            font-family: var(--font-primary);
            color: var(--color-text-dark);
            line-height: 1.6;
            overflow-x: hidden;
            background: var(--color-base);
        }

        /* STICKY WRAPPER: offer bar + header together */
        .top-bar-wrapper {
            position: sticky;
            top: 0;
            z-index: 200;
        }

        /* OFFER TOP BAR */
        .offer-callout {
            background: #C2A68C;
            color: #222;
            font-weight: 500;
            border-bottom: 1px solid rgba(0,0,0,0.05);
        }
        .offer-bar {
            display: flex;
            gap: 0.4rem;
            align-items: center;
            justify-content: center;
            font-size: 0.95rem;
            padding: 0.5rem 1.2rem;
            flex-wrap: wrap;
            text-align: center;
            letter-spacing: 0.05em;
        }
        .offer-bar strong { font-weight: 700; }
        .offer-icon {
            margin-right: 0.4rem;
            color: #5D866C;
            font-size: 1.1rem;
        }
        .offer-valid {
            color: #3f5b49;
            padding-left: 0.5rem;
            font-weight: 500;
            font-size: 0.9rem;
        }
        .offer-text {
            font-weight: 500;
        }
        .offer-code-mobile {
            display: none; /* only on mobile */
        }

        /* HEADER */
        #site-header {
            background: rgba(255,255,255,0.97);
            border-bottom: 1px solid rgba(0,0,0,0.06);
            box-shadow: 0 4px 14px rgba(0,0,0,0.06);
        }
        .header-flex {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0.6rem 1.5rem;
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
        }
        .logo-block {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }
        .logo-block img {
            width: 44px;
            height: 44px;
            border-radius: 12px;
            object-fit: cover;
            display: block;
        }
        .logo-text {
            color: #222;
            font-size: 1.4rem;
            font-weight: 700;
            letter-spacing: 0.03em;
            font-family: var(--font-logo);
        }

        .main-nav {
            display: none; /* mobile default, opened via JS */
            flex-direction: column;
            gap: 0.75rem;
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            padding: 0.75rem 1.5rem 1rem;
            background: #ffffff;
            border-bottom: 1px solid rgba(0,0,0,0.06);
        }
        .main-nav a {
            color: var(--color-text-dark);
            font-weight: 500;
            text-decoration: none;
            font-size: 0.98rem;
            opacity: 0.9;
            transition: color 0.2s;
        }
        .main-nav a:hover { color: var(--color-deep); }

        .main-nav.is-open {
            display: flex;
        }

        .header-phone {
            font-weight: 500;
            color: var(--color-deep);
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 0.4rem;
            font-size: 0.95rem;
            margin-left: auto;
        }
        .header-phone-text {
            display: inline;
        }

        /* HAMBURGER BUTTON */
        .nav-toggle {
            display: inline-flex;
            flex-direction: column;
            justify-content: center;
            gap: 4px;
            width: 32px;
            height: 32px;
            border: none;
            background: transparent;
            cursor: pointer;
            padding: 0;
            margin-left: 0.75rem;
        }
        .nav-toggle span {
            display: block;
            width: 100%;
            height: 2px;
            background: #222;
            border-radius: 999px;
            transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
        }
        /* X animation */
        .nav-toggle.is-active span:nth-child(1) {
            transform: translateY(6px) rotate(45deg);
        }
        .nav-toggle.is-active span:nth-child(2) {
            opacity: 0;
        }
        .nav-toggle.is-active span:nth-child(3) {
            transform: translateY(-6px) rotate(-45deg);
        }

        /* HERO */
        .hero {
            min-height: 85vh;
            background-image:
                linear-gradient(135deg, rgba(13,32,24,0.85), rgba(31,65,48,0.9)),
                url('https://vamitaginn.com/wp-content/uploads/2025/12/IMG_36284-23-1.webp');
            background-size: cover;
            background-position: center;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: var(--space-md) var(--space-md) var(--space-lg);
            position: relative;
            overflow: hidden;
        }
        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><path d="M0,300 Q300,100 600,300 T1200,300 L1200,600 L0,600 Z" fill="rgba(255,255,255,0.05)"/></svg>')
                no-repeat center bottom;
            background-size: cover;
            opacity: 0.25;
        }
        .hero-content {
            position: relative;
            z-index: 1;
            max-width: 900px;
            animation: fadeInUp 1s ease-out;
        }
        .hero h1 {
            font-size: clamp(2.5rem, 6vw, 4.5rem);
            font-weight: 700;
            color: var(--color-white);
            margin-bottom: 0.3rem; /* reduced gap above location */
            letter-spacing: -0.02em;
            font-family: var(--font-heading);
        }
        .hero-location {
           font-size: 0.95rem;
           color: #f0ecdf;
           margin-bottom: 0.6rem;
           letter-spacing: 0.16em;
           text-transform: uppercase;
        }
        .hero-subtitle {
            font-size: clamp(1.4rem, 3vw, 2.2rem);
            color: #E6D8C3;
            margin-bottom: 0.5rem;
            font-weight: 500;
            letter-spacing: 0.08em;
            font-family: 'Playfair Display', Georgia, 'Times New Roman', serif; /* subtitle in Playfair */
        }
        .hero-description {
            font-size: clamp(1.05rem, 2vw, 1.3rem);
            color: #f0ecdf;
            margin-bottom: var(--space-md);
        }
        .hero-match {
            margin-top: 1rem;
            font-size: 1rem;
            opacity: 0.95;
            letter-spacing: 0.03em;
            font-weight: 500;
            color: #E6D8C3;
        }
        .hero-cta {
            display: flex;
            gap: var(--space-sm);
            justify-content: center;
            flex-wrap: wrap;
        }
        .btn {
            padding: 0.9rem 2.3rem;
            border-radius: 999px;
            font-size: 1rem;
            font-weight: 600;
            text-decoration: none;
            transition: var(--transition-smooth);
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            cursor: pointer;
            border: none;
            font-family: var(--font-primary);
        }
        .btn-primary {
            background: var(--color-deep);
            color: var(--color-white);
        }
        .btn-primary:hover {
            transform: translateY(-2px);
            background: #4a6d57;
            box-shadow: 0 10px 30px rgba(93, 134, 108, 0.4);
        }
        .btn-secondary {
            background: rgba(255, 255, 255, 0.12);
            color: var(--color-white);
            border: 1px solid rgba(255,255,255,0.7);
        }
        .btn-secondary:hover {
            background: var(--color-white);
            color: var(--color-deep);
        }

        /* SECTIONS */
        section {
            padding: var(--space-xl) var(--space-md);
            opacity: 0;
            transform: translateY(30px);
            transition: var(--transition-slow);
        }
        section.visible {
            opacity: 1;
            transform: translateY(0);
        }
        .section-base { background: var(--color-base); }
        .section-light { background: var(--color-band-light); }
        .section-accent { background: var(--color-band-accent); }
        .section-deep { background: var(--color-deep); color: var(--color-white); }
        .container {
            max-width: 1200px;
            margin: 0 auto;
        }
        .section-title {
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 700;
            text-align: center;
            margin-bottom: var(--space-lg);
            letter-spacing: -0.02em;
            font-family: var(--font-heading);
        }

        /* USP BAND */
        .usp-band { padding: 1.5rem var(--space-md); }
        .usp-pills {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: var(--space-sm);
        }
        .usp-pill {
            background: var(--color-white);
            padding: 0.6rem 1.4rem;
            border-radius: 50px;
            font-size: 0.95rem;
            font-weight: 500;
            color: var(--color-text-dark);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
            transition: var(--transition-smooth);
            display: inline-flex;
            align-items: center;
            gap: 0.2rem;
        }
        .usp-pill .fa { color: #555; }
        .usp-pill:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
        }

        /* WINTERSCAPE OFFER HIGHLIGHTS */
        .offer-highlights {
            background: #C2A68C;
            padding: 1.8rem 0 2.1rem 0;
        }
        .offer-highlight-grid {
            max-width: 1000px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1.4rem;
        }
        .promo-code-badge {
            display: inline-block;
            background: #5D866C;
            color: #fff;
            border-radius: 9999px;
            padding: 0.32rem 1.1rem;
            font-size: 0.96rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            margin-bottom: 0.4rem;
            text-transform: uppercase;
        }
        .offer-highlight-title {
            text-align: center;
            margin-bottom: 0.35rem;
        }
        .offer-urgency {
            color: #3e3a35;
            font-weight: 500;
            margin-top: 0.35rem;
            letter-spacing: 0.01em;
            font-size: 0.98rem;
        }
        .offer-benefit-cards {
            display: flex;
            gap: 1.1rem;
            justify-content: center;
            width: 100%;
            flex-wrap: wrap;
            margin-top: 0.35rem;
        }
        .offer-benefit-card {
            background: #f5f5f0;
            color: #222;
            border-radius: 13px;
            padding: 0.95rem 1rem 0.9rem;
            box-shadow: 0 2px 10px rgba(0,0,0,0.06);
            font-size: 1.02rem;
            font-weight: 500;
            flex: 1 1 200px;
            min-width: 220px;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.4rem;
            max-width: 260px;
            text-align: center;
        }
        .offer-benefit-card-top {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            justify-content: center;
        }
        .offer-benefit-card .fa-check-circle {
            color: #5D866C;
            font-size: 1.2rem;
        }
        .offer-benefit-img {
            width: 100%;
            border-radius: 9px;
            overflow: hidden;
            margin-top: 0.2rem;
        }
        .offer-benefit-img img {
            width: 100%;
            height: 120px;
            object-fit: cover;
            display: block;
        }
        .offer-benefit-card .sub {
            font-size: 0.92rem;
            color: #5d5a52;
            font-weight: 400;
        }
        .offer-tnc {
            font-size: 0.9rem;
            margin-top: 0.8rem;
            color: #3b3b3b;
            text-align: center;
        }
        .offer-tnc span { font-weight: 600; }

        /* ACCOMMODATION SECTION */
        .accommodation-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: var(--space-md);
            margin-top: var(--space-lg);
        }
        .accommodation-card {
            background: var(--color-white);
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
            transition: var(--transition-smooth);
        }
        .accommodation-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
        }

        .carousel {
            position: relative;
            height: 250px;
            overflow: hidden;
            background: #C2A68C;
        }
        .carousel-inner {
            display: flex;
            transition: transform 0.5s ease-in-out;
            height: 100%;
        }
        .carousel-item {
            min-width: 100%;
            height: 100%;
            position: relative;
        }
        .carousel-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .carousel-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(255, 255, 255, 0.9);
            border: none;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.1rem;
            transition: var(--transition-smooth);
            z-index: 2;
        }
        .carousel-btn:hover {
            background: var(--color-white);
            transform: translateY(-50%) scale(1.06);
        }
        .carousel-btn.prev { left: 10px; }
        .carousel-btn.next { right: 10px; }

        .card-content { padding: 1.6rem 1.6rem 1.5rem; }
        .card-header { margin-bottom: 0.85rem; }
        .card-title {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 0.15rem;
            display: flex;
            align-items: center;
            gap: 0.4rem;
            font-family: var(--font-heading);
        }
        .card-rooms { font-size: 0.98rem; color: var(--color-text-dark); }
        .card-capacity {
            font-size: 0.96rem;
            color: #5D866C;
            font-weight: 600;
            margin-top: 0.12rem;
        }
        .amenities {
            list-style: none;
            margin: 0.9rem 0 0.9rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.5rem;
        }
        .amenities li {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.25rem 0;
            font-size: 0.9rem;
            color: var(--color-text-dark);
        }
        .amenities li .fa {
            color: #555;
            font-size: 1rem;
            flex-shrink: 0;
        }
        .card-price {
            font-size: 1.4rem;
            font-weight: 700;
            color: var(--color-deep);
            margin-bottom: 0.7rem;
        }
        .card-price small {
            font-size: 0.9rem;
            font-weight: 400;
            color: var(--color-text-dark);
        }
        .card-note {
            font-size: 0.8rem;
            color: #777;
            margin-top: 0.3rem;
        }
        .btn-whatsapp {
            width: 100%;
            background: var(--color-deep);
            color: var(--color-white);
            padding: 0.9rem;
            border-radius: 8px;
            text-align: center;
            text-decoration: none;
            font-weight: 600;
            display: block;
            transition: var(--transition-smooth);
            font-size: 0.98rem;
        }
        .btn-whatsapp:hover {
            background: #4a6d57;
            transform: scale(1.02);
        }

        /* COMPACT AMENITIES */
        .amenities-compact { padding: 3rem 0 2.5rem 0; }
        .amenities-compact-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 0.85rem 1.5rem;
            max-width: 920px;
            margin: 0 auto;
        }
        .amenity-compact-item {
            background: #fff;
            border-radius: 10px;
            padding: 0.9rem 1.3rem;
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
            font-size: 1.02rem;
            font-weight: 500;
            display: flex;
            align-items: left;
            gap: 0.85rem;
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .amenity-compact-item .fa {
            color: #5D866C;
            font-size: 1.3rem;
        }
        .amenity-compact-item:hover {
            transform: translateY(-3px);
            box-shadow: 0 4px 14px rgba(0,0,0,0.09);
        }

        /* TESTIMONIALS */
        .testimonials-v3 {
            background: #F5F5F0;
            padding: 3rem 0;
        }
        .testimonials-subtitle {
            text-align: center;
            font-size: 1.05rem;
            color: #555;
            margin-top: -0.7rem;
            margin-bottom: 2rem;
        }
        .testimonials-grid-v3 {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 1.8rem;
            max-width: 1100px;
            margin: 0 auto;
        }
        .testimonial-card-v3 {
            background: #fff;
            border-radius: 14px;
            padding: 1.9rem;
            box-shadow: 0 3px 15px rgba(0,0,0,0.06);
            transition: all 0.3s;
        }
        .testimonial-card-v3:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 30px rgba(0,0,0,0.12);
        }
        .testimonial-card-v3 .stars {
            color: #C2A68C;
            font-size: 1.3rem;
            margin-bottom: 1rem;
        }
        .testimonial-quote-v3 {
            font-size: 1.12rem;
            line-height: 1.65;
            color: #222;
            font-style: italic;
            margin-bottom: 1.2rem;
        }
        .testimonial-author-v3 {
            display: flex;
            align-items: center;
            gap: 1rem;
        }
        .author-avatar {
            width: 52px;
            height: 52px;
            border-radius: 50%;
            background: #5D866C;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            font-weight: 700;
        }
        .author-details { display: flex; flex-direction: column; }
        .author-name {
            font-weight: 600;
            color: #222;
            font-size: 1.05rem;
        }
        .author-group {
            color: #777;
            font-size: 0.94rem;
        }

        /* LISTING PLATFORMS SECTION */
.listing-platforms {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.listing-platforms .section-title {
    margin-bottom: 1.2rem;   /* reduce gap */
}


.platforms-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 2rem 2rem;
    align-items: center;
    justify-items: center;
    margin-top: 2rem;
}

/* Add breathing room around each logo */
.platform-item {
    padding: 0.8rem 1.6rem;
}


.platform-item img {
    max-height: 50px;
    width: auto;
    object-fit: contain;
    opacity: 0.9;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.platform-item img:hover {
    transform: translateY(-4px) scale(1.05);
    opacity: 1;
}

/* LISTING PLATFORMS CLEAN LOGO GRID */

.platforms-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 1.8rem;
    align-items: center;
    justify-items: center;
    margin-top: 2rem;
}

/* Base logo size */
.platform-item img {
    max-height: 42px;
    width: auto;
    object-fit: contain;
    opacity: 1;
    filter: none;
    transition: transform 0.25s ease;
}

/* Individual size tuning */

.platform-item img[alt="Airbnb"] {
    transform: scale(1.28);
}

.platform-item img[alt="Booking.com"] {
    transform: scale(0.95);
}

.platform-item img[alt="Google"] {
    transform: scale(1.28);
}

.platform-item img[alt="MakeMyTrip"] {
    transform: scale(1.38);
}

.platform-item img[alt="Goibibo"] {
    transform: scale(1.15);
}

.platform-item img[alt="Agoda"] {
    transform: scale(1.40);
}


/* Mobile tuning */
@media (max-width: 600px) {
    .platforms-grid {
        gap: 1.2rem;
    }

    .platform-item img {
        max-height: 34px;
    }
}


/* subtle rise-up animation */
.platform-item {
    opacity: 0;
    transform: translateY(10px);
    animation: logoRise 0.7s ease-out forwards;
}

.platform-item:nth-child(2) { animation-delay: 0.05s; }
.platform-item:nth-child(3) { animation-delay: 0.10s; }
.platform-item:nth-child(4) { animation-delay: 0.15s; }
.platform-item:nth-child(5) { animation-delay: 0.20s; }
.platform-item:nth-child(6) { animation-delay: 0.25s; }

.platform-item img {
    display: block;
    height: 26px;
    width: auto;
}

/* animation keyframes */
@keyframes logoRise {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* mobile spacing tweak for this section */
@media (max-width: 600px) {
    .listing-platforms {
        padding: 2.5rem var(--space-sm);
    }
    .platforms-grid {
        gap: 1.5rem 2rem;
    }
}



        /* ATTRACTIONS (accent like WINTERSCAPE) */
        .attractions-v3 {
            background: var(--color-band-accent);
        }
        .attractions-wrapper {
            display: grid;
            grid-template-columns: 1fr;
            gap: var(--space-lg);
        }
        .attractions-intro .section-title {
            margin-bottom: var(--space-sm);
        }
        .attractions-intro p {
            font-size: 1.05rem;
            color: #3e3a35;
            line-height: 1.6;
            text-align: center;
            max-width: 640px;
            margin: 0 auto;
        }
        .attractions-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: var(--space-sm);
        }
        .attraction-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: var(--space-sm);
            padding: 1.1rem 1.4rem;
            background: var(--color-white);
            border-radius: 10px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
            transition: var(--transition-smooth);
        }
        .attraction-item:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }
        .attraction-left {
            display: flex;
            align-items: center;
            gap: var(--space-sm);
        }
        .attraction-icon {
            font-size: 1.7rem;
            flex-shrink: 0;
            color: #5D866C;
        }
        .attraction-info h4 {
            font-size: 1.02rem;
            font-weight: 600;
        }
        .attraction-distance {
            font-size: 0.9rem;
            color: var(--color-text-muted);
            white-space: nowrap;
        }

        /* LOCATION */
        .location-v3 { background: #E6D8C3; }
        .location-content-v3 {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2.5rem;
            align-items: start;
        }
        .distances-wrapper-v3 h3 {
            font-size: 1.4rem;
            margin-bottom: 1rem;
            color: #222;
            text-align: center;
        }
        .distance-cards {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            max-width: 420px;
            margin: 0 auto;
        }
        .distance-card {
            background: #fff;
            border-radius: 12px;
            padding: 1rem 1.3rem;
            display: flex;
            align-items: center;
            gap: 1rem;
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .distance-card .fa {
            color: #5D866C;
            font-size: 1.45rem;
        }
        .distance-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        }
        .distance-details {
            display: flex;
            flex-direction: column;
        }
        .distance-details strong {
            font-size: 1.05rem;
            color: #222;
        }
        .distance-details span {
            font-size: 0.95rem;
            color: #555;
        }
        .location-trust {
            font-size: 0.95rem;
            color: #5D866C;
            margin-top: 1.1rem;
            font-weight: 600;
            font-style: italic;
            text-align: center;
        }
        .map-wrapper-v3 {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        .map-wrapper-v3 .map-container {
            border-radius: 14px;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0,0,0,0.1);
            height: 360px;
            background: #ddd;
        }
        .map-wrapper-v3 .map-container iframe {
            width: 100%;
            height: 100%;
            border: none;
        }
        .map-wrapper-v3 .btn-map {
            background: #5D866C;
            color: #fff;
            padding: 0.9rem 1.6rem;
            border-radius: 10px;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.2s;
            display: inline-flex;
            align-items: center;
            gap: 0.65rem;
            justify-content: center;
        }
        .map-wrapper-v3 .btn-map:hover {
            background: #4a6d57;
            transform: translateY(-2px);
        }

        /* FAQ SECTION */
        .faq-list {
            max-width: 800px;
            margin: 0 auto;
        }
        .faq-item {
            background: var(--color-white);
            margin-bottom: var(--space-sm);
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
        }
        .faq-question {
            padding: 1rem 1.4rem;
            font-weight: 600;
            font-size: 1.02rem;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: var(--transition-smooth);
        }
        .faq-question:hover { background: #F5F5F0; }
        .faq-toggle {
            font-size: 1.5rem;
            transition: var(--transition-smooth);
        }
        .faq-item.active .faq-toggle {
            transform: rotate(180deg);
        }
        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
            padding: 0 1.4rem;
        }
        .faq-item.active .faq-answer {
            max-height: 260px;
            padding: 0 1.4rem 1rem;
        }
        .faq-answer p {
            font-size: 0.95rem;
            color: #444;
        }

        /* FINAL CTA */
        .final-cta {
            text-align: center;
            padding: var(--space-xl) var(--space-md);
        }
        .final-cta h2 {
            font-size: clamp(2.2rem, 5vw, 3.5rem);
            margin-bottom: var(--space-lg);
            font-weight: 700;
            font-family: var(--font-heading);
        }
        .promo-code-highlight {
            font-size: 1.25rem;
            margin: 1rem 0 1.4rem 0;
            color: #E6D8C3;
        }
        .promo-code-highlight strong {
            color: #fff;
            background: rgba(255,255,255,0.18);
            padding: 0.3rem 0.8rem;
            border-radius: 8px;
            letter-spacing: 0.08em;
        }
        .offer-deadline {
            color: #f2e8d2;
            font-size: 0.98rem;
            margin-top: 1.1rem;
            font-weight: 500;
            opacity: 0.95;
        }

        /* FOOTER */
        .main-footer {
            background: #C2A68C;
            color: #222;
            padding: 1.7rem 0 0.7rem;
        }
        .footer-flex {
            display: flex;
            justify-content: space-between;
            gap: 1.5rem;
            align-items: center;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 1.3rem;
            flex-wrap: wrap;
        }
        .footer-col {
            flex: 1;
            min-width: 180px;
        }
        .footer-property {
            font-weight: 700;
            font-size: 1.2rem;
            margin-bottom: 0.2em;
            font-family: var(--font-heading);
        }
        .footer-phone,
        .footer-location,
        .footer-email {
            font-size: 0.98rem;
            margin-bottom: 0.3em;
            opacity: 0.92;
        }
        .footer-phone a,
        .footer-email a {
            color: #222;
            text-decoration: none;
        }
        .footer-phone a:hover,
        .footer-email a:hover {
            text-decoration: underline;
        }
        .footer-email a i {
            margin-right: 0.35rem;
        }
        .footer-tagline {
            font-style: italic;
            margin-bottom: 0.25rem;
            font-size: 1.02rem;
        }
        .footer-social {
    display: flex;
    gap: 0.9rem;
    justify-content: center;
    align-items: center;
}

.social-icon {
    font-size: 1.35rem;
    color: #333;           /* darker grey */
    opacity: 0.95;
    transition: color 0.18s, transform 0.2s;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.social-icon:hover {
    color: #111;           /* almost black on hover */
    background: transparent;
    transform: translateY(-2px) scale(1.05);
}
        .footer-quick {
            text-align: right;
            opacity: 0.92;
        }
        .copyright {
            font-size: 0.9rem;
            color: rgba(60,60,60,0.7);
            margin-top: 0.6em;
        }

        /* FLOATING WHATSAPP BUTTON */
        .whatsapp-float {
            position: fixed;
            width: 56px;
            height: 56px;
            bottom: 20px;
            right: 20px;
            background-color: #25D366;
            color: #FFF;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            box-shadow: 0 4px 12px rgba(0,0,0,0.25);
            z-index: 300;
        }
        .whatsapp-float i {
            font-size: 28px;
        }

        /* COOKIE BANNER */
        .cookie-banner {
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            background: #5D866C;
            color: #F5F5F0;
            padding: 0.75rem 1rem;
            box-shadow: 0 -2px 10px rgba(0,0,0,0.25);
            z-index: 299;
            font-size: 0.9rem;
        }
        .cookie-inner {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
        }
        .cookie-text a {
            color: #F5F5F0;
            text-decoration: underline;
        }
        .cookie-actions {
            display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
        }
        .cookie-btn {
            border: none;
            border-radius: 999px;
            padding: 0.4rem 1rem;
            font-size: 0.88rem;
            font-weight: 600;
            cursor: pointer;
            font-family: var(--font-primary);
        }
        .cookie-btn-primary {
            background: #F5F5F0;
            color: #222;
        }
        .cookie-btn-primary:hover {
            opacity: 0.9;
        }
        .cookie-btn-secondary {
            background: transparent;
            color: #F5F5F0;
            border: 1px solid rgba(245,245,240,0.7);
        }
        .cookie-btn-secondary:hover {
            background: rgba(245,245,240,0.1);
        }

        /* ANIMATIONS */
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        /* RESPONSIVE */
        @media (min-width: 960px) {
            .attractions-wrapper {
                grid-template-columns: 1fr 2fr;
                align-items: start;
            }
        }

        @media (max-width: 900px) {
            .location-content-v3 {
                grid-template-columns: 1fr;
                gap: 2rem;
            }
            .footer-flex {
                flex-direction: column;
                gap: 1.2rem;
                text-align: center;
            }
            .footer-quick { text-align: center; }
        }

        @media (max-width: 768px) {
            section {
                padding: var(--space-lg) var(--space-sm);
            }
            .hero-cta {
                flex-direction: column;
                align-items: stretch;
            }
            .btn {
                width: 100%;
                justify-content: center;
            }
            .accommodation-grid {
                grid-template-columns: 1fr;
            }

            /* mobile: phone icon only, smaller logo text */
            .header-phone-text {
                display: none;
            }
            .logo-text {
                font-size: 1.1rem;
            }

            .testimonials-v3 .container {
             padding-left: 1rem;
             padding-right: 1rem;
            }


            /* Property Amenities padding to screen edge */
            #features .container {
                padding: 0 1rem;
            }
        }

        @media (max-width: 600px) {
            .header-flex {
                padding: 0.6rem 1rem;
            }
            .offer-bar {
                font-size: 0.85rem;
                padding: 0.3rem 0.7rem;
            }
            .offer-valid {
                display: block;
                padding-left: 0;
                margin-top: 0.1rem;
            }

            /* mobile: swap offer text for CODE: WINTERSCAPE */
            .offer-text {
                display: none;
            }
            .offer-icon {
                display: none;
            }
            .offer-code-mobile {
                display: inline-flex;
                align-items: center;
                margin: 0 0.5rem;
            }

            .offer-highlight-grid {
                padding: 0 0.4rem;
            }
            .offer-benefit-cards {
                flex-direction: column;
                align-items: center;
            }
            .offer-benefit-card {
                max-width: 320px;
                width: 100%;
            }

            /* thinner USP band on mobile */
            .usp-band {
                padding: 1rem var(--space-sm);
            }
            .usp-pills {
                gap: 0.5rem;
            }

            /* tighten testimonial spacing on mobile */
            .testimonials-v3 .section-title {
                margin-bottom: 0.75rem;
            }
            .testimonials-subtitle {
                margin-top: 0;
                margin-bottom: 1.25rem;
            }

            /* tighten location title + subheading spacing on mobile */
            .location-v3 .section-title {
                margin-bottom: 1.5rem;
            }
            .distances-wrapper-v3 h3 {
                margin-bottom: 0.6rem;
            }

            .cookie-inner {
                flex-direction: column;
                align-items: flex-start;
            }
        }

        @media (max-width: 600px) {
    .amenities-compact-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8rem;
    }

    .amenity-compact-item {
        padding: 0.7rem 0.9rem;
        font-size: 0.9rem;
        justify-content: center;
        text-align: center;
    }

    .amenity-compact-item {
        justify-content: flex-start;
        text-align: left;
    }

    .amenity-compact-item .fa {
        font-size: 1.1rem;
    }
}


        /* DESKTOP NAV STYLES */
        @media (min-width: 768px) {
            .header-flex {
                align-items: center;
            }

            .main-nav {
                position: static;
                display: flex !important;
                flex-direction: row;
                flex: 1;
                justify-content: center;  /* your reverted layout */
                margin: 0 2rem;          /* centered between logo & phone */
                padding: 0;
                border-bottom: none;
                background: transparent;
            }

            .main-nav a {
                font-size: 0.95rem;
                text-align: center;
            }

            .header-phone {
                display: flex;
                margin-left: 0;
            }

            .nav-toggle {
                display: none;
            }
        }
