/*
Theme Name: Sea Mist Resort
Theme URI: https://seamist.in/
Author: Diana Faria
Description: Custom WordPress theme for Sea Mist Resort with room management, sortable galleries and page templates.
Version: 1.0.0
Text Domain: seamist
*/

      :root {
    --sky: #aec2de;
    --sea: #7895c3;
    --deep: #123b5d;
    --mist: #f7faff;
    --sand: #f7faff;
    --white: #ffffff;
    --ink: #23354d;
    --muted: #6f7f95;
    --line: #dce7f5;
    --gold: #f6c174;
    --brand: #4268aa;
    --brand-dark: #2f4f83;
        --muted: #6d7b80;
        --line: #dce8eb;
        --shadow: 0 28px 70px rgba(27, 69, 86, 0.14);
      }
      * {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        font-family: "Inter", sans-serif;
        background: #fff;
        color: var(--ink);
        line-height: 1.6;
        overflow-x: hidden;
      }
      img {
        display: block;
        max-width: 100%;
      }
      a {
        color: inherit;
        text-decoration: none;
      }
      .container {
        width: min(1180px, 92%);
        margin: auto;
      }
      .section {
        padding: 96px 0;
      }
      .eyebrow {
        display: inline-flex;
        padding: 7px 13px;
        border: 1px solid var(--line);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.8);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        color: #555;
        margin-bottom: 30px;color: #395b8e;
    border-color: #dce7f5;
    background: #f7faff;
      }
      .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 13px 22px;
        border-radius: 999px;
        border: 1px solid var(--deep);
        font-size: 13px;
        font-weight: 700;
        transition: 0.3s;
      }
      .btn:hover {
        transform: translateY(-2px);
      }
      .btn-primary {
        background: var(--deep);
        color: #fff;
      }
      .btn-light {
        border-color: #fff;
        color: #fff;
        background: rgba(255, 255, 255, 0.1);
      }
      header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 50;
        padding: 16px 0;
      }
      .nav {
        width: min(1240px, 94%);
        margin: auto;
        display: grid;
        grid-template-columns: 180px 1fr 180px;
        align-items: center;
        padding: 10px 18px;
        background: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(16px);
        border: 1px solid rgba(23, 78, 109, 0.1);
        box-shadow: 0 12px 35px rgba(26, 73, 91, 0.08);
      }
      .logo img {
        height: 54px;
        width: auto;
      }
      .menu {
        display: flex;
        justify-content: center;
        gap: 28px;
      }
      .menu a {
        font-size: 16px;
        font-weight: 700;
        color: #47606b;
      }
      .nav-book {
        text-align: right;
      }
      .hero {
        min-height: 760px;
        position: relative;
        padding-top: 102px;
        background: #dcecf1;
        overflow: hidden;
      }
      .hero-shell {
        width: min(1120px, 92%);
        height: 650px;
        margin: auto;
        position: relative;
        overflow: hidden;
        box-shadow: 0 30px 80px rgba(24, 68, 86, 0.18);
      }
      .hero-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        transform: scale(1.055);
        transition:
          opacity 1.35s ease,
          transform 7s ease;
      }
      .hero-slide.active {
        opacity: 1;
        transform: scale(1);
      }
      .hero-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .hero-shade {
        position: absolute;
        inset: 0;
        z-index: 2;
        background:
          linear-gradient(
            90deg,
            rgba(7, 31, 43, 0.62) 0%,
            rgba(7, 31, 43, 0.25) 48%,
            rgba(7, 31, 43, 0.06) 75%
          ),
          linear-gradient(180deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.14));
      }
      .hero-copy {
        text-align: left;
        color: #fff;
        position: absolute;
        z-index: 3;
        left: clamp(28px, 6vw, 82px);
        top: 50%;
        transform: translateY(-52%);
        max-width: 680px;
        padding: 0;
      }
      .hero-copy .eyebrow {
        background: rgba(255, 255, 255, 0.12);
        border-color: rgba(255, 255, 255, 0.35);
        color: #fff;
        backdrop-filter: blur(8px);
      }
      .hero-copy h1 {
        font-family: "Inter", sans-serif;
        font-size: clamp(48px,  4vw, 84px);
        line-height: 0.98;
        font-weight: 500;
        letter-spacing: -3.5px;
        margin-top: 20px;
      }
      .hero-copy p {
        max-width: 590px;
        margin: 20px 0 0;
        font-size: 16px;
        color: rgba(255, 255, 255, 0.9);
      }
      .hero-fog {
        position: absolute;
        left: 0;
        right: 0;
        bottom: -1px;
        height: 190px;
        z-index: 4;
        pointer-events: none;
        background: linear-gradient(
          180deg,
          rgba(255, 255, 255, 0) 0%,
          rgba(255, 255, 255, 0.68) 52%,
          #fff 92%
        );
      }
      .slider-dots {
        position: absolute;
        right: 28px;
        bottom: 34px;
        z-index: 5;
        display: flex;
        gap: 9px;
      }
      .slider-dot {
        width: 34px;
        height: 3px;
        border: 0;
        background: rgba(255, 255, 255, 0.46);
        cursor: pointer;
        transition: 0.35s;
      }
      .slider-dot.active {
        background: #fff;
        width: 54px;
      }
      .booking-wrap {
        position: relative;
        z-index: 8;
        margin-top: -96px;
      }
      .booking-strip {
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(18px);
        border: 1px solid rgba(23, 78, 109, 0.14);
        box-shadow: 0 24px 60px rgba(27, 69, 86, 0.16);
        display: grid;
        grid-template-columns: 1.25fr 1fr 1fr 0.8fr auto;
        align-items: stretch;
        overflow: hidden;
        border-radius: 0;
      }
      .booking-field {
        padding: 22px 24px;
        border-right: 1px solid var(--line);
        min-height: 90px;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }
      .booking-field label {
        display: block;
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 1.15px;
        color: var(--muted);
        font-weight: 700;
        margin-bottom: 7px;
      }
      .booking-field input,
      .booking-field select {
        border: 0;
        background: transparent;
        width: 100%;
        font: inherit;
        color: var(--ink);
        outline: 0;
      }
      .booking-strip button {
        border: 0;
        border-radius: 0;
        padding: 0 32px;
        background: var(--deep);
        color: #fff;
        font-weight: 700;
        cursor: pointer;
        transition: 0.3s;
      }
      .booking-strip button:hover {
        background: #123f59;
      }
      .intro {
        padding: 88px 0 55px;
      }
      .intro-grid {
        display: grid;
        grid-template-columns: 0.35fr 1fr 0.35fr;
        gap: 28px;
        align-items: start;
      }
      .intro h2,
      .section-title {
        font-family: "Inter", sans-serif;
        font-size: clamp(38px, 5vw, 54px);
        line-height: 1.02;
        font-weight: 500;
        letter-spacing: -1.5px;
      }
      .intro h2 span {
        color: #71909d;
      }
      .intro-side {
        font-size: 14px;
        color: var(--muted);
      }
      .icon-row {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        margin-top: 54px;
      }
      .icon-card {
        border-radius: 150px;
        padding: 26px 20px;
        text-align: center;
        border: 1px solid var(--line);
        background: #fff;
        transition: 0.3s;
      }
      .icon-card:hover {
        background: var(--mist);
        transform: translateY(-5px);
      }
      .icon-card b {
        display: block;
        margin-top: 10px;
      }
      .icon {
        font-size: 28px;
      }
      .section-head {
        display: grid;
        grid-template-columns: 0.7fr 1fr;
        gap: 35px;
        align-items: end;
        margin-bottom: 40px;
      }
      .section-head p {
        color: var(--muted);
        max-width: 560px;
      }
      .rooms {
        background: #fff;
        border-top: 1px solid var(--line);
      }
      .room-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        border-left: 1px solid var(--line);
        border-top: 1px solid var(--line);
      }
      .room-card {
        padding: 24px;
        border-right: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
        transition: 0.3s;
      }
      .room-card:hover {
        background: var(--mist);
      }
      .room-card img {
        width: 100%;
        height: 230px;
        object-fit: cover;
        margin-bottom: 20px;
      }
      .room-card:nth-child(1) img {
        border-radius: 90px 90px 8px 8px;
      }
      .room-card:nth-child(2) img {
        border-radius: 8px 90px 8px 90px;
      }
      .room-card:nth-child(3) img {
        border-radius: 90px 8px 90px 8px;
      }
      .room-card h3 {
        font-family: "Inter", sans-serif;
        font-size: 27px;
        font-weight: 500;
      }
    .room-card p {
    font-size: 14px;
    color: var(--muted);
    margin: 8px 0 16px;
    height: 145px;
}
      .chips {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
      }
      .chips span {
        font-size: 11px;
        padding: 5px 9px;
        border: 1px solid var(--line);
        border-radius: 999px;
        background: #fff;
      }
      .about-split {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 48px;
        align-items: center;
      }
      .about-image {
        height: 610px;
        overflow: hidden;
        border-radius: 0 140px 0 0;
      }
      .about-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .about-content p {
        color: var(--muted);
        margin: 20px 0;
      }
      .points {
        display: grid;
        gap: 0;
        margin: 25px 0;
      }
      .point {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        padding: 16px 0;
        border-bottom: 1px solid var(--line);
      }
      .point span {
        font-size: 13px;
        color: var(--muted);
        max-width: 320px;
    text-align: right;
      }
      .facilities {
        background: var(--mist);
        border-radius: 120px 0 120px 0;
      }
      .facility-layout {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 26px;
      }
      .facility-main {
        height: 650px;
        position: relative;
        overflow: hidden;
        border-radius: 0 0 130px 0;
      }
      .facility-main img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .facility-main:after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.68));
      }
      .facility-main .overlay {
        position: absolute;
        left: 30px;
        right: 30px;
        bottom: 30px;
        z-index: 2;
        color: #fff;
      }
      .facility-main h3 {
        font-family: "Inter", sans-serif;
        font-size: 48px;
        line-height: 1;
      }
      .facility-cards {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
      }
      .facility-card {
        background: #fff;
        overflow: hidden;
        border: 1px solid var(--line);
      }
      .facility-card img {
        width: 100%;
        height: 170px;
        object-fit: cover;
      }
      .facility-card div {
        padding: 20px;
      }
      .facility-card h3 {
        font-family: "Inter", sans-serif;
        font-size: 24px;
      }
      .facility-card p {
        font-size: 13px;
        color: var(--muted);
      }
      .testimonials-section {
        background: linear-gradient(180deg, #ffffff 0%, var(--mist) 100%);
      }
      .testimonials-layout {
        display: grid;
        grid-template-columns: 0.72fr 1.28fr;
        gap: 56px;
        align-items: start;
      }
      .testimonials-intro {
        position: sticky;
        top: 110px;
      }
      .testimonials-intro p {
        color: var(--muted);
        margin: 20px 0 0;
        max-width: 430px;
      }
      .testimonials-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
      }
      .testimonial-card {
        background: #fff;
        border: 1px solid var(--line);
        padding: 30px;
        min-height: 285px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        box-shadow: 0 18px 45px rgba(27, 69, 86, 0.08);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
      }
      .testimonial-card:nth-child(1) {
        border-radius: 70px 8px 8px 8px;
      }
      .testimonial-card:nth-child(2) {
        border-radius: 8px 70px 8px 8px;
      }
      .testimonial-card:nth-child(3) {
        border-radius: 8px 8px 8px 70px;
      }
      .testimonial-card:nth-child(4) {
        border-radius: 8px 8px 70px 8px;
      }
      .testimonial-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 24px 55px rgba(27, 69, 86, 0.14);
      }
      .testimonial-stars {
        color: #f6c174;
        letter-spacing: 4px;
        font-size: 15px;
        margin-bottom: 18px;
      }
      .testimonial-quote {
        color: var(--ink);
        font-size: 16px;
        line-height: 1.8;
        margin: 0 0 28px;
      }
      .testimonial-author {
        display: flex;
        align-items: center;
        gap: 13px;
        padding-top: 18px;
        border-top: 1px solid var(--line);
      }
      .testimonial-avatar {
        width: 46px;
        height: 46px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        flex: 0 0 46px;
        background: var(--deep);
        color: #fff;
        font-weight: 700;
        font-size: 14px;
      }
    .testimonial-author strong {
    display: block;
    font-size: 20px;
    color: var(--ink);
    font-family: var(--font-display);
}
      .testimonial-author span {
        display: block;
        font-size: 12px;
        color: var(--muted);
        margin-top: 2px;
      }
      .gallery {
        background: #f7faff;
        border-radius: 0 120px 0 120px;
      }
      .gallery-grid {
        display: grid;
        grid-template-columns: 1.15fr 0.85fr 1fr;
        gap: 20px;
        height: 650px;
      }
      .gallery-grid img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .gallery-stack {
        display: grid;
        grid-template-rows: 1fr 1fr;
        gap: 20px;
      }
      .contact-cta {
      background: linear-gradient(135deg, #eac289, #e19c39) !important;
        color: #fff;
        text-align: center;
        border-radius: 90px 0 90px 0;
      }
   .contact-cta p {
    max-width: 690px;
    margin: 16px auto 28px;
    color: rgba(255, 255, 255, 0.78);
    color: #23354d;
}

   .contact-cta .btn-light {
    border-color:#23354d;
    color: #23354d;
    background: #23354d14;
}
      footer {
        background: #2f4f83;
        color: #fff;
        padding: 72px 0 24px;
        border-radius: 110px 0 0 0;
      }
      .footer-grid {
        display: grid;
        grid-template-columns: 1.4fr 1fr 1fr 1fr;
        gap: 34px;
      }
      footer img {
        height: 72px; 
        padding: 6px;
      }
      footer p,
      footer a {
        display: block;
        color: rgba(255, 255, 255, 0.68);
        font-size: 14px;
        margin-bottom: 8px;
      }
      footer h4 {
        margin-bottom: 14px;
      }
      .copyright {
        margin-top: 40px;
        padding-top: 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        text-align: center;
        font-size: 13px;
        color: rgba(255, 255, 255, 0.48);
      }
      
      section#rooms {
    margin-bottom: 0 !important;
}
      @media (max-width: 980px) {
        .nav {
          grid-template-columns: 1fr auto;
        }
        .menu {
          display: none;
        }
        .booking-strip {
          grid-template-columns: 1fr 1fr;
        }
        .booking-strip button {
          min-height: 58px;
          border-radius: 0;
        }
        .intro-grid,
        .section-head,
        .about-split,
        .facility-layout,
        .dining,
        .testimonials-layout {
          grid-template-columns: 1fr;
        }

        .testimonials-intro {
          position: static;
        }
        .room-grid,
        .footer-grid {
          grid-template-columns: 1fr 1fr;
        }
        .gallery-grid {
          grid-template-columns: 1fr;
          height: auto;
        }
        .gallery-grid > img,
        .gallery-stack img {
          height: 340px;
        }
      }
      @media (max-width: 640px) {
        section.about-intro-section.reveal-section.is-visible {
    margin-top: 90px;
}  
      section.about-intro-section.reveal-section.is-visible {
    margin-bottom: 0px !important;
    margin-top: 90px;
}    
    .about-page .about-intro-image-main {
        width: 100% !important;
        height: 365px !important;
        border-radius: 58px 0 0 0 !important;
    }
.menu-toggle{
    width:52px;
    height:52px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:6px;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(255,255,255,.4);
    border-radius:50%;
    cursor:pointer;
    transition:.35s ease;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-shadow:0 8px 20px rgba(0,0,0,.15);
    padding:0;
}

.menu-toggle:hover{
    background:#1d3557;
    border-color:#1d3557;
    transform:translateY(-2px);
    box-shadow:0 12px 24px rgba(0,0,0,.25);
}

.menu-toggle span{
    width:22px;
    height:2px;
    background:#1d3557;
    border-radius:5px;
    transition:.35s ease;
}

.menu-toggle:hover span{
    background:#fff;
}

/* Active State */
.menu-toggle.active span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2){
    opacity:0;
}

.menu-toggle.active span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
}
 
    .menu-toggle{
        width:46px;
        height:46px;
    }

    .menu-toggle span{
        width:20px;
    } 

.menu-toggle{
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.95);
       display: flex !important;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:4px;
    cursor:pointer;
    box-shadow:0 4px 15px rgba(0,0,0,.12);
    transition:.3s;
    padding:0;
}

.menu-toggle span{
    display:block;
    width:18px;
    height:2px;
    background:#1f3557;
    border-radius:10px;
    transition:.3s;
}

.menu-toggle:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(0,0,0,.18);
}
 

    #menu-main {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 9999;

        margin: 0;
        padding: 10px 18px 18px;
        list-style: none;

        background: rgba(255, 255, 255, 0.98);
        border-radius: 0 0 18px 18px;
        box-shadow: 0 18px 35px rgba(20, 38, 64, 0.18);
    }

    #menu-main li {
        margin: 0;
        border-bottom: 1px solid rgba(31, 53, 87, 0.08);
        width: 100%;
    }

    #menu-main li:last-child {
        border-bottom: 0;
    }

    #menu-main li a {
        position: relative;
        display: block;
        padding: 16px 18px 16px 22px;

        color: #20395f;
        font-size: 15px;
        font-weight: 600;
        text-decoration: none;
        border-radius: 10px;

        transition: 0.25s ease;
    }

    #menu-main li a:hover,
    #menu-main li a:focus {
        color: #fff !important;
        background: #20395f;
        padding-left: 27px;
    }

    #menu-main .current-menu-item > a,
    #menu-main .current_page_item > a {
        background: #f1f4f7;
        color: #20395f;
        padding-left: 28px;
    }

    #menu-main .current-menu-item > a::before,
    #menu-main .current_page_item > a::before {
        content: "";
        position: absolute;
        left: 10px;
        top: 50%;
        width: 4px;
        height: 22px;
        border-radius: 8px;
        background: #d5aa55;
        transform: translateY(-50%);
    } 
          
section.contact-enquiry-section.reveal-section.is-visible {
    margin-bottom: 0px;
}
.dining-gallery-section {
    padding: 96px 0 105px;
    background: #eef4fb;
    opacity: 1;
}
section.contact-details-section.reveal-section.is-visible {
    padding: 0px !important;
} 
section.blog-archive.reveal-section.is-visible {
    padding-top: 0px !important;
}

section.dining-intro-section.reveal-section.is-visible {
    padding-top: 0px;
    padding-bottom: 0px;
}

section.dining-settings-section.reveal-section.is-visible {
    padding-top: 0px;
    padding-bottom: 0px;
}
section.blog-archive.reveal-section.is-visible {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
}
section.blog-archive-cta.reveal-section.is-visible {
        padding-top: 0px !important;
        padding-bottom: 0px !important;
    }
section.blog-archive-cta.reveal-section.is-visible{
    padding-top:0px!important;
    padding-bottom:0px!important;
}
section.contact-bottom-cta.section.reveal-section.is-visible {
    padding-top: 0px !important;
    padding-bottom: 0px;
}
        header {
          padding: 8px 0;
        }
        .nav {
          width: 100%;
          border-left: 0;
          border-right: 0;
        }
        .logo img {
          height: 44px;
        }
        .hero {
          padding-top: 80px;
          min-height: 650px;
        }
        .hero-shell {
          width: 100%;
          height: 570px;
        }
        .hero-copy {
          left: 24px;
          right: 24px;
          top: 46%;
        }
        
       .seamist-home-hero .hero-copy {
       
     right: unset;
     
    }
    section#rooms {
    padding-bottom: 0px !important;
}
section#testimonials {
    padding-top: 0px;
    margin-bottom: 0px;
}
section#contact {
    margin-bottom: 50px !important;
}
section#gallery {
    padding-top: 0px;
}
section#faq {
    padding-top: 0px;
}

section#faq {
    padding-top: 0px;
    margin-bottom: 0pc;
}

.container.contact-cta.section {
    padding: 68px 25px;
}
article.room-card.reveal-section.is-visible {
    margin-bottom: 0px !important;
}
        .hero-copy h1 {
          font-size: 46px;
          letter-spacing: -2.5px;
        }
        .slider-dots {
          right: 22px;
          bottom: 42px;
        }
        .booking-wrap {
          margin-top: -48px;
        }
        .booking-strip {
          grid-template-columns: 1fr;
        }
        .booking-field {
          border-right: 0;
          border-bottom: 1px solid var(--line);
        }
        .intro-grid,
        .icon-row,
        .room-grid,
        .facility-cards,
        .testimonials-grid,
        .footer-grid {
          grid-template-columns: 1fr;
        }
        .section {
          padding: 68px 0;
        }
        .about-image,
        .facility-main {
          height: 420px;
        }
        .facilities,
        .gallery,
        .contact-cta,
        footer {
          border-radius: 55px 0 55px 0;
        }
      }

      /* Updated full-width navigation and editorial hero */
      header {
        top: 0;
        padding: 0;
        background: transparent;
      }
      .nav {
        width: 100%;
        margin: 0;
        min-height: 88px;
        padding: 12px 50px;
        background: rgba(244, 250, 252, 0.94);
        border: 0;
        border-bottom: 1px solid rgba(23, 78, 109, 0.1);
        box-shadow: none;
        backdrop-filter: blur(18px);
      }
      .logo img {
        height: 58px;
      }
      .menu {
        gap: 34px;
      }
      .menu a {
        font-size: 16px;
        color: #415a66;
      }
      .nav-book .btn {
        border-radius: 0;
        padding: 13px 24px;
      }
      .hero {
        min-height: 850px;
        padding: 128px 0 0;
        background: linear-gradient(180deg, #8fcde1 0%, #b5ddeb 64%, #fff 100%);
        overflow: hidden;
      }
      .hero-copy {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        text-align: center;
        max-width: 960px;
        margin: 0 auto 36px;
        padding: 0 24px;
        color: #fff;
        z-index: 6;
      }
      .hero-kicker {
        display: inline-block;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1.7px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.9); 
      }
     .hero-copy h1 {
    font-size: clamp(54px, 4vw, 88px);
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: -4px;
    margin: 0;
    color: #fff;
}
      .hero-copy p {
        max-width: 610px;
        margin: 0px auto 0;
        font-size: 15px;
        line-height: 1.6;
        color: rgba(255, 255, 255, 0.92);
      }
      .hero-shell {
        width: min(1100px, 84%);
        height: 520px;
        margin: 0 auto;
        box-shadow: 0 30px 80px rgba(24, 68, 86, 0.14);
        overflow: hidden;
        border-radius: 0 0 78px 0;
      }
      .hero-shade {
        background: linear-gradient(
          180deg,
          rgba(5, 31, 43, 0.06),
          rgba(5, 31, 43, 0.16)
        );
      }
      .hero-fog {
        height: 190px;
        background: linear-gradient(
          180deg,
          rgba(255, 255, 255, 0) 0%,
          rgba(255, 255, 255, 0.42) 40%,
          rgba(255, 255, 255, 0.88) 73%,
          #fff 100%
        );
      }
      .hero-scroll {
        position: absolute;
        left: 50%;
        bottom: 42px;
        transform: translateX(-50%);
        z-index: 7;
        width: 46px;
        height: 46px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        background: #fff;
        color: #1d3340;
        box-shadow: 0 12px 30px rgba(22, 58, 72, 0.12);
        font-size: 18px;
      }
      .slider-dots {
        right: 28px;
        bottom: 36px;
      }
      .booking-wrap {
        margin-top: -74px;
        z-index: 10;
      }
      .booking-strip {
        background: rgba(255, 255, 255, 0.97);
        box-shadow: 0 24px 55px rgba(22, 63, 80, 0.14);
        border: 1px solid rgba(23, 78, 109, 0.12);
        border-radius: 0;
      }
      .booking-field {
        min-height: 92px;
        padding: 20px 24px;
      }
      .booking-strip button {
        min-width: 190px;
      }
      @media (max-width: 980px) {
        .nav {
          padding: 10px 28px;
        }
        .hero {
          padding-top: 116px;
          min-height: 820px;
        }
        .hero-shell {
          width: 90%;
          height: 500px;
        }
        .hero-copy h1 {
          letter-spacing: -3px;
        }
      }
      @media (max-width: 640px) {
        header {
          padding: 0;
        }
        .nav {
          padding: 9px 18px;
          min-height: 72px;
        }
        .logo img {
          height: 46px;
        }
        .hero {
          padding-top: 100px;
          min-height: 720px;
        }
        .hero-copy {
          margin-bottom: 26px;
        }
        .hero-copy h1 {
          font-size: 45px;
          line-height: 0.96;
          letter-spacing: -2.3px;
        }
        .hero-copy p {
          font-size: 14px;
        }
        .hero-shell {
          width: 100%;
          height: 470px;
          border-radius: 0 0 44px 0;
        }
        .hero-scroll {
          bottom: 30px;
        }
        .booking-wrap {
          margin-top: -40px;
        }
        .booking-strip button {
          min-height: 62px;
        }
      }
      header {
        position: absolute; /* or fixed if you want it sticky */
        top: 22px;
        left: 0;
        width: 100%;
        z-index: 1000;
        padding: 0;
      }
      .about-content a.btn.btn-primary {
        color: #fff;
      }
      .navbar {
        width: calc(100% - 60px);
        max-width: 1600px;
        margin: 0 auto;
        height: 90px;

        background: rgba(255, 255, 255, 0.92);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);

        display: flex;
        align-items: center;
        justify-content: space-between;

        padding: 0 38px;

        border-bottom: 1px solid rgba(0, 0, 0, 0.08);

        box-shadow: 0 15px 45px rgba(0, 0, 0, 0.08);
      }

      .btn-primary {
        border: 0px;
        /* background: var(--deep); */
        color: var(--deep);
      }

      .nav-book .btn-primary {
        border: 0px;
        background: transparent;
        color: var(--deep);
      }
    

      /* ===== Sea Mist homepage conversion updates ===== */
      :root {
        --warm: #fbf6ee;
        --warm-2: #f2e5d3;
        --accent: #c47b4c;
      } 
      header {
        position: fixed !important;
        top: 18px !important;
        transition: .35s ease;
      }
      header.scrolled { top: 0 !important; }
      header.scrolled .nav {
        width: 100%;
        min-height: 76px;
        background: rgba(255,255,255,.98);
        box-shadow: 0 12px 35px rgba(17,54,69,.16);
      }
      .nav {
        transition: .35s ease;
        border-radius: 2px;
      }
      .menu a { font-size: 17px !important; letter-spacing: .1px; }
      .nav-book .btn-primary {
        background: var(--deep) !important;
        color: #fff !important;
        padding: 14px 27px;
        border-radius: 999px;
        box-shadow: 0 10px 24px rgba(23,78,109,.22);
      }
      .nav-book .btn-primary:hover { background:#c47b4c !important; }

      .hero {
        min-height: 100vh !important;
        height: auto;
        padding: 0 !important;
        background: #17313d !important;
        display: flex;
        align-items: center;
      }
      .hero-shell {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
      }
      .hero-slide img {
        transform: scale(1.04);
        animation: resortZoom 11s ease-in-out infinite alternate;
      }
      @keyframes resortZoom {
        from { transform: scale(1.04) translateY(0); }
        to { transform: scale(1.11) translateY(-1.2%); }
      }
      .hero-shade {
        background:
          linear-gradient(90deg, rgba(9,34,44,.76) 0%, rgba(9,34,44,.45) 46%, rgba(9,34,44,.18) 100%),
          linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.30)) !important;
      }
      .hero-fog, .hero-scroll { display:none !important; }
      .hero-content {
        position: relative;
        z-index: 8;
        width: min(1200px, 92%);
        margin: 0 auto;
        padding: 150px 0 40px;
      }
      .hero-copy {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        text-align: left !important;
        max-width: 800px !important;
        margin: 0 0 26px !important;
        padding: 0 !important;
      }
      .hero-copy h1 {
        font-size: clamp(48px, 4vw, 82px) !important;
        line-height: 1.02 !important;
        letter-spacing: -3px !important;
        text-shadow: 0 5px 28px rgba(0,0,0,.22);
      }
      .hero-copy p { margin: 18px 0 0 !important; font-size:17px; }
      .rating-badge {
        display:inline-flex; align-items:center; gap:10px;
        margin: 18px 0 24px; padding:10px 15px;
        background:rgba(255,255,255,.15); color:#fff;
        border:1px solid rgba(255,255,255,.28);
        backdrop-filter:blur(10px); border-radius:999px;
        font-size:13px; font-weight:600;
      }
      .rating-badge .stars { color:#ffd46b; letter-spacing:2px; }
      .booking-wrap {
        position:relative !important; z-index:10 !important;
        width:100% !important; margin:0 !important;
      }
      .booking-strip {
        border-radius: 10px !important;
        overflow:hidden;
        box-shadow:0 24px 60px rgba(0,0,0,.25) !important;
      }
      .booking-strip button { background:var(--accent) !important; }
      .booking-strip button:hover { background:#a96339 !important; }
      .hero-usps {
        display:grid; grid-template-columns:repeat(5,1fr); gap:10px;
        margin-top:16px;
      }
      .hero-usp {
        display:flex; align-items:center; justify-content:center; gap:9px;
        min-height:48px; padding:10px 12px;
        background:rgba(9,34,44,.54); color:#fff;
        border:1px solid rgba(255,255,255,.18);
        backdrop-filter:blur(9px); font-size:13px; font-weight:600;
      }
      .hero-usp span { font-size:19px; }
      .intro { padding:72px 0 50px !important; background:var(--warm); }
      .icon-row { grid-template-columns:repeat(5,1fr) !important; margin-top:38px !important; }
      .icon-card { background:#fffaf3; border-color:#ead8c2; } 
      .facilities { background:#eaf3f1; }

      .experience-section { background:var(--warm); }
      .experience-grid {
        display:grid; grid-template-columns:repeat(5,1fr); gap:16px;
      }
      .experience-card {
        position:relative; min-height:390px; overflow:hidden;
        border-radius:90px 90px 10px 10px;
        box-shadow:0 18px 45px rgba(57,67,59,.12);
      }
      .experience-card img { width:100%; height:100%; object-fit:cover; transition:.7s ease; }
      .experience-card:hover img { transform:scale(1.08); }
      .experience-card:after {
        content:""; position:absolute; inset:0;
        background:linear-gradient(180deg, transparent 40%, rgba(12,38,46,.82));
      }
      .experience-copy { position:absolute; z-index:2; left:22px; right:22px; bottom:22px; color:#fff; }
      .experience-copy h3 { font-size:22px; line-height:1.15; margin-bottom:5px; }
      .experience-copy p { font-size:12px; color:rgba(255,255,255,.8); }

      @media(max-width:980px){
        .hero-content { padding-top:130px; }
        .hero-usps { grid-template-columns:repeat(3,1fr); }
        .experience-grid { grid-template-columns:repeat(2,1fr); }
        .icon-row { grid-template-columns:repeat(3,1fr) !important; }
      }
      @media(max-width:640px){
        header { top:0 !important; }
        .nav { width:100% !important; }
        .nav-book .btn-primary { padding:10px 15px; font-size:11px; }
        .hero { min-height:auto !important; }
        .hero-content { padding:110px 0 28px; }
        .hero-copy h1 { font-size:44px !important; letter-spacing:-2px !important; }
        .hero-copy p { font-size:14px; }
        .booking-strip { border-radius:8px !important; }
        .hero-usps { grid-template-columns:1fr 1fr; }
        .hero-usp:last-child { grid-column:1/-1; }
        .experience-grid, .icon-row { grid-template-columns:1fr !important; }
        .experience-card { min-height:330px; border-radius:60px 60px 8px 8px; }
      }
section#explore-candolim {
    background: #fff !important;
}
    

/* WordPress additions */
body.admin-bar header{top:32px}.current-menu-item>a{color:var(--deep)}.menu-toggle{display:none}.page-hero{padding:190px 0 90px;background:linear-gradient(135deg,#dcecf1,#f7faff);text-align:center}.page-hero h1{font-size:clamp(42px,6vw,72px);letter-spacing:-2px}.content-area{padding:80px 0}.room-card img{width:100%;height:300px;object-fit:cover}.room-card-content{padding:24px}.room-card{background:#fff; }.room-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:start}.room-main-image{width:100%;height:560px;object-fit:cover}.room-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.room-thumbs img{height:100px;width:100%;object-fit:cover;cursor:pointer}.amenities-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;list-style:none;margin:25px 0}.amenities-list li{padding:12px;border-bottom:1px solid var(--line)}.archive-room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.wysiwyg p{margin-bottom:18px}.gallery-page-grid{columns:3;column-gap:18px}.gallery-page-grid a{display:block;margin-bottom:18px;break-inside:avoid}.gallery-page-grid img{width:100%}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-card{padding:35px;background:var(--mist)}.contact-form input,.contact-form textarea{width:100%;padding:14px;border:1px solid var(--line);margin-bottom:14px;font:inherit}.contact-form textarea{min-height:150px}.pagination{margin-top:40px}.pagination .page-numbers{display:inline-flex;padding:10px 14px;border:1px solid var(--line);margin-right:6px}.screen-reader-text{position:absolute;left:-9999px}@media(max-width:900px){.nav{grid-template-columns:1fr auto}.menu-toggle{display:block}.nav-book{display:none}.menu{display:none;position:absolute;left:3%;right:3%;top:90px;background:#fff;padding:22px;flex-direction:column}.menu.open{display:flex}.archive-room-grid,.room-detail-grid,.contact-grid{grid-template-columns:1fr}.gallery-page-grid{columns:2}.room-main-image{height:420px}}@media(max-width:782px){body.admin-bar header{top:46px}}@media(max-width:600px){.archive-room-grid{grid-template-columns:1fr}.gallery-page-grid{columns:1}.room-thumbs{grid-template-columns:repeat(3,1fr)}}

/* =========================================================
   SEA MIST HOME – FINAL HERO / HEADER MATCH
   Added at the end intentionally so these rules override
   earlier experimental hero and navigation styles.
   ========================================================= */

:root{
  --sm-blue:#416aad;
  --sm-navy:#213a62;
  --sm-dark:#10262e;
  --sm-line:#dfe5ee;
}

/* Header */
header{
  position:absolute !important;
  top:20px !important;
  left:0;
  width:100%;
  z-index:1000;
  padding:0 !important;
}

header .nav,
header .navbar{ 
  max-width:none !important;
  min-height:88px !important;
  height:88px;
  margin:0 auto !important;
  padding:0 50px !important;
  display:grid !important;
  grid-template-columns:190px 1fr 170px !important;
  align-items:center;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:0 8px 28px rgba(0,0,0,.08) !important;
  backdrop-filter:none !important;
}

header .logo img{
  width:auto;
  height:58px !important;
  object-fit:contain;
}

header .menu{
  display:flex !important;
  justify-content:center;
  align-items:center;
  gap:36px !important;
    list-style: none;
}

header .menu a{
font-size: 17px !important;
    color: #395b8e !important; 
  font-weight:700 !important;
  letter-spacing:0 !important;
}

header .menu a:hover,
header .current-menu-item > a{
  color:#183b74 !important;
}

header .nav-book{
  text-align:right;
}

header .nav-book .btn,
header .nav-book .btn-primary{
    background: #4268aa !important;
    color: #fff !important;
    border-color: #4268aa !important;padding: 14px 27px;
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(23, 78, 109, .22);border: 0px;
}

header .nav-book .btn:hover,
header .nav-book .btn-primary:hover{
  background:#315894 !important;
}

/* Hero */
.home .hero,
.hero.seamist-home-hero{
  position:relative;
  min-height:655px !important;
  height:auto !important;
  padding:0 !important;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#122a31 !important;
}

.hero .hero-shell{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  overflow:hidden;
  border-radius:0 !important;
  box-shadow:none !important;
}

.hero-slide{
  position:absolute;
  inset:0;
}

.hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-shade{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(8,30,38,.83) 0%,rgba(8,30,38,.58) 42%,rgba(8,30,38,.22) 74%,rgba(8,30,38,.10) 100%),
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.30)) !important;
}

.hero-fog,
.hero-scroll,
.slider-dots{
  display:none !important;
}

.hero-content{
  position:relative;
  z-index:8;
  width:min(1205px,89%);
  margin:0 auto;
  padding:155px 0 18px;
}

.hero-copy{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  max-width:650px !important;
  margin:0 0 18px !important;
  padding:0 !important;
  text-align:left !important;
  color:#fff;
}

.hero-copy .eyebrow{
  display:block;
  width:auto;
  padding:0 !important;
  margin:0 0 6px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:800;
  line-height:1.4;
  letter-spacing:1.5px;
}

.hero-copy h1{
  max-width:650px;
  margin:0 !important;
  color:#fff;
  font-family:"Inter",sans-serif;
  font-size:clamp(48px,4.35vw,68px) !important;
  font-weight:500 !important;
  line-height:.98 !important;
  letter-spacing:-3.8px !important;
  text-shadow:none !important;
}

.hero-copy p{
  max-width:600px;
  margin:20px 0 0 !important;
  color:rgba(255,255,255,.92) !important;
  font-size:17px !important;
  line-height:1.55;
}

.rating-badge{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:20px 0 48px;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#fff;
  backdrop-filter:blur(8px);
  font-size:13px;
  font-weight:700;
}

.rating-badge .stars{
  color:#ffc84d;
  letter-spacing:2px;
}

.rating-badge .review-count{
  font-weight:600;
}

/* Booking strip */
.booking-wrap{
  position:relative !important;
  z-index:10 !important;
  width:100%;
  margin:0 !important;
}

.booking-strip {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr .8fr 196px !important;
    align-items: stretch;
    overflow: hidden;
    border: 0 !important;
    border-radius: 50px 0 50px 0 !important;
    background: #fff !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, .20) !important;
}
.booking-field{
  min-height:94px !important;
  padding:20px 24px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid var(--sm-line) !important;
  background:#fff;
}

.booking-field label{
  margin:0 0 7px;
  color:#6b7e9b !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:1.25px !important;
  text-transform:uppercase;
}

.booking-field strong,
.booking-field input,
.booking-field select{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#243b5d !important;
  font:inherit;
  font-size:16px;
}

.booking-field strong{
  font-weight:700;
}

.booking-strip button {
    min-width: 0 !important;
    min-height: 94px;
    padding: 0 15px !important;
    border: 0;
    border-radius: 0 !important;
    background: #4a70b4 !important;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    cursor: pointer;
    font-family: var(--font-display);
}

.booking-strip button:hover{
  background:#365f9f !important;
}

/* USP row */
.hero-usps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin-top:16px;
}

.hero-usp{
  min-height:52px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(12,37,44,.72);
  color:#fff;
  font-size:13px;
  font-weight:700;
  backdrop-filter:blur(7px);
}
.hero-usp:hover {
    border: 1px solid #365f9f;
    background: rgb(12 37 44);
}

.hero-usp span{
  font-size:20px;
  line-height:1;
}

/* Start next section cleanly */
.home .intro{
  padding-top:82px !important;
}

/* Tablet */
@media(max-width:1024px){
  header .nav,
  header .navbar{
    width:calc(100% - 28px) !important;
    padding:0 28px !important;
    grid-template-columns:160px 1fr 145px !important;
  }

  header .menu{
    gap:22px !important;
  }

  .hero-content{
    width:92%;
    padding-top:145px;
  }

  .booking-strip{
    grid-template-columns:1fr 1fr !important;
  }

  .booking-strip button{
    min-height:66px;
    grid-column:1/-1;
  }

  .hero-usps{
    grid-template-columns:repeat(3,1fr);
  }
}

/* Mobile */
@media(max-width:900px){
  header{
    top:0 !important;
  }

  header .nav,
  header .navbar{
    width:100% !important;
    min-height:74px !important;
    height:74px;
    padding:0 18px !important;
    grid-template-columns:1fr auto !important;
  }

  header .logo img{
    height:46px !important;
  }

  header .menu{
    display:none !important;
    position:absolute;
    left:14px;
    right:14px;
    top:74px;
    padding:20px;
    flex-direction:column;
    align-items:flex-start;
    background:#fff;
    box-shadow:0 18px 35px rgba(0,0,0,.15);
  }

  header .menu.open{
    display:flex !important;
  }

.menu-toggle {
        display: flex !important;
        /* text-align: center !important; */
    }

  header .nav-book{
    display:none;
  }

  .home .hero,
  .hero.seamist-home-hero{
    min-height:auto !important;
  }

  .hero-content{
    width:92%;
    padding:118px 0 20px;
  }

  .hero-copy h1{
    font-size:47px !important;
    letter-spacing:-2.7px !important;
  }

  .rating-badge{
    margin-bottom:28px;
  }

  .hero-usps{
    grid-template-columns:1fr 1fr;
  }

  .hero-usp:last-child{
    grid-column:1/-1;
  }
}

@media(max-width:600px){
  .hero-copy h1{
    font-size:40px !important;
    line-height:1.02 !important;
  }

  .hero-copy p{
    font-size:15px !important;
  }

  .booking-strip{
    grid-template-columns:1fr !important;
  }

  .booking-field{
    min-height:78px !important;
    border-right:0 !important;
    border-bottom:1px solid var(--sm-line);
  }

  .booking-strip button{
    grid-column:auto;
  }

  .hero-usps{
    grid-template-columns:1fr;
  }

  .hero-usp:last-child{
    grid-column:auto;
  }
}

/* =========================================================
   HOME INTRO SECTION – EDITORIAL THREE-COLUMN LAYOUT
   ========================================================= */

.home .home-intro{
  padding:72px 0 56px !important;
  background:#fff !important;
  border-bottom:1px solid #dce4ef;
}

.home-intro .container{
  width:min(1180px,88%);
}

.home-intro-grid{
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 230px;
  gap:48px;
  align-items:start;
}

.home-intro-label{
  padding-top:4px;
}

.home-intro-label .eyebrow{
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.8);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 30px;
    color: #395b8e;
    border-color: #dce7f5;
    background: #f7faff;
}

.home-intro-heading h2{
  margin:0;
  max-width:720px;
  color:#243b5d;
  font-family:"Inter",sans-serif;
  font-size:clamp(42px,4.5vw,64px);
  font-weight:500;
  line-height:.97;
  letter-spacing:-3px;    font-family: "Inter", sans-serif;
    font-size: clamp(38px, 5vw, 54px);
    line-height: 1.02;
    font-weight: 500;
    letter-spacing: -1.5px;    font-size: clamp(38px, 5vw, 52px);    font-family: var(--font-display);
}

.home-intro-heading h2 span{
  color:#7f9fd0;
}

.home-intro-text{
  padding-top:4px;
}

.home-intro-text p{
  margin:0;
  color:#657792;
  font-size:14px;
  line-height:1.55;
}

@media(max-width:1024px){
  .home-intro-grid{
    grid-template-columns:160px minmax(0,1fr);
  }

  .home-intro-text{
    grid-column:2;
    max-width:500px;
  }
}

@media(max-width:700px){
  .home .home-intro{
    padding:52px 0 42px !important;
  }

  .home-intro .container{
    width:90%;
  }

  .home-intro-grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .home-intro-text{
    grid-column:auto;
  }

  .home-intro-heading h2{
    font-size:40px;
    line-height:1.02;
    letter-spacing:-2px;
  }

  .home-intro-text p{
    max-width:520px;
    font-size:14px;
  }
}

/* =========================================================
   SEA MIST EXPERIENCE SECTION
   ========================================================= */

.sea-mist-experience{
  padding:48px 0 24px !important;
  background:#fff !important; 
}

 .experience-point {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
}

.sea-mist-experience-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:38px;
  align-items:center;
}

.sea-mist-experience-image{
  height:488px;
  overflow:hidden;
  border-radius:0 110px 0 0;
  background:#eef2f5;
}

.sea-mist-experience-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.sea-mist-experience-content{
  padding:0 0 2px;
}

.sea-mist-experience-content .eyebrow{
  margin:0 0 24px;
  padding:6px 12px;
  border:1px solid #cfdced;
  border-radius:999px;
  background:#f8fbff;
  color:#31558c;
  font-size:10px;
  font-weight:800;
  letter-spacing:.55px;
}

.sea-mist-experience-content h2{
  margin:0;
  color:#14344f;
  font-family:"Inter",sans-serif;
  font-size:clamp(42px,4vw,56px);
  font-weight:500;
  line-height:.96;
  letter-spacing:-3px;    font-family: var(--font-display);
}

.sea-mist-experience-content .experience-intro{
  margin:18px 0 22px;
  max-width:520px;
  color:#657792;
  font-size:14px;
  line-height:1.5;
}

.experience-points{
  margin:0 0 20px;
  border-top:1px solid #dce4ef;
}

.experience-point{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:26px;
  align-items:start;
  padding:14px 0;
  border-bottom:1px solid #dce4ef;
}

.experience-point strong {
    color: #15324b;
    font-size: 20px;
    font-weight: 800;
    font-family: var(--font-display);
}

.experience-point span{
  color:#6b7d98;
  font-size:13px;
  line-height:1.45;
  text-align:right;
}

.sea-mist-experience-content .btn-primary{
  padding:11px 18px;
  border:0;
  border-radius:999px;
  background:#416aad;
  color:#fff !important;
  font-size:13px;
  box-shadow:none;
}

.sea-mist-experience-content .btn-primary:hover{
  background:#315894;
}

@media(max-width:900px){
  .sea-mist-experience .container{
    width:90%;
  }

  .sea-mist-experience-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .sea-mist-experience-image{
    height:440px;
  }

  .sea-mist-experience-content{
    padding-bottom:16px;
  }
}

@media(max-width:600px){
  .sea-mist-experience{
    padding:36px 0 18px !important;
  }

  .sea-mist-experience-image{
    height:340px;
    border-radius:0 70px 0 0;
  }

  .sea-mist-experience-content h2{
    font-size:40px;
    letter-spacing:-2.2px;
  }

  .experience-point{
    grid-template-columns:1fr;
    gap:6px;
  }

  .experience-point span{
    text-align:left;
  }
}

/* =========================================================
   HOMEPAGE DINING SECTION
   ========================================================= */
.dining-section{
  position:relative;
  overflow:hidden;
  padding:76px 0 82px !important;
  background:#dfe9f7;
  border-radius:100px 0 100px 0;
}
.dining-section .container{width:min(1180px,88%)}
.dining-heading-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);
  gap:70px;
  align-items:end;
  margin-bottom:40px;
}
.dining-heading-grid .eyebrow{
  margin:0 0 26px;
  padding:6px 12px;
  border:1px solid #c7d5e8;
  background:rgba(255,255,255,.55);
  color:#395b8e;
  font-size:10px;
}
.dining-heading-grid h2{
  margin:0;
  color:#23354d;
  font-family:"Inter",sans-serif;
  font-size:clamp(42px,4.4vw,58px);
  font-weight:500;
  line-height:.94;
  letter-spacing:-3px;    font-family: var(--font-display);
}
.dining-heading-grid>p{
  max-width:520px;
  margin:0 0 8px;
  color:#6f7f95;
  font-size:14px;
  line-height:1.55;
}
.dining-layout{
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
  gap:18px;
  align-items:stretch;
}
.dining-feature {
    position: relative;
    min-height: 490px;
    overflow: hidden;
    border-radius: 0 0 76px 0;
    background: #d4dce6;
}
.dining-feature img{
  width:100%;
  height:100%;
  min-height:490px;
  object-fit:cover;
}
.dining-feature:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 46%,rgba(10,28,39,.78) 100%);
}
.dining-feature-overlay{
  position:absolute;
  z-index:2;
  left:28px;
  right:28px;
  bottom:24px;
  color:#fff;
}
.dining-feature-overlay h3{
  margin:0 0 6px;
     font-size: 48px;
  font-weight:600;
  line-height:1;
  letter-spacing:-1px;
}
.dining-feature-overlay p{
  max-width:440px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:16px;
  line-height:1.45;
}
.dining-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.dining-card{
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(57,91,142,.10);
}
.dining-card img{
  width:100%;
  height:155px;
  object-fit:cover;
}
.dining-card-content{
  min-height:112px;
  padding:17px 18px 18px;
}
.dining-card h3{
  margin:0 0 5px;
  color:#23354d;
  font-size:24px;
  font-weight:700;
  line-height:1.15;
}
.dining-card p{
  margin:0;
  color:#6f7f95;
  font-size:13px;
  line-height:1.45;
}
@media(max-width:980px){
  .dining-heading-grid,.dining-layout{grid-template-columns:1fr}
  .dining-heading-grid{gap:24px}
  .dining-feature,.dining-feature img{min-height:440px}
}
@media(max-width:640px){
    
    .room-card-content {
    padding: 24px 0px;
}
section#gallery {
    margin-top: 90px;
    background: #dfe9f7;
    border-radius: 0 100px 0 100px;
    padding: 60px 30px;
}
section#swimming-pool {
    border-radius: 100px 0 100px 0;
    padding: 60px 30px;
}
  .dining-section{
    padding:58px 0 62px !important;
    border-radius:58px 0 58px 0;
  }
  .dining-section .container{width:90%}
  .dining-heading-grid h2{
    font-size:42px;
    letter-spacing:-2.2px;
  }
  .dining-card-grid{grid-template-columns:1fr}
  .dining-feature{
    min-height:380px;
    border-radius:0 0 0 48px;
  }
  .dining-feature img{min-height:380px}
  .dining-card img{height:210px}
}

/* =========================================================
   CONTACT PAGE REDESIGN
   ========================================================= */

.contact-page-hero{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:flex-end;
  padding:170px 0 82px;
  overflow:hidden;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

.contact-page-hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(9,34,44,.82) 0%,rgba(9,34,44,.53) 46%,rgba(9,34,44,.20) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34));
}

.contact-page-hero-content{
  position:relative;
  z-index:2;
  color:#fff;
}

.contact-page-hero .eyebrow{
  margin:0 0 22px;
  border-color:rgba(255,255,255,.36);
  background:rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(8px);
}

.contact-page-hero h1{
  max-width:760px;
  margin:0;
  color:#fff;
  font-size:clamp(54px,6vw,82px);
  font-weight:500;
  line-height:.96;
  letter-spacing:-4px;
}

.contact-page-hero p{
  max-width:620px;
  margin:22px 0 0;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.6;
}

.contact-page-main{
  background:#fff;
}

.contact-details-section{
  padding:92px 0 78px;
}

.contact-section-heading{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,.65fr);
  gap:80px;
  align-items:end;
  margin-bottom:48px;
}

.contact-section-heading .eyebrow{
  margin:0 0 22px;
}

.contact-section-heading h2{
  max-width:700px;
  margin:0;
  color:#23354d;
  font-size:clamp(42px,4.5vw,60px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-3px;
}

.contact-section-heading > p{
  margin:0 0 6px;
  color:#6f7f95;
  font-size:14px;
  line-height:1.65;
}

.contact-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.contact-info-card{
  min-height:320px;
  padding:34px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  transition:transform .3s ease,background .3s ease;
}

.contact-info-card:hover{
  transform:translateY(-5px);
  background:#f8fbff;
}

.contact-info-icon{
  width:54px;
  height:54px;
  margin-bottom:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#4268aa;
  color:#fff;
  font-size:22px;
  font-weight:700;
}

.contact-info-label{
  display:block;
  margin-bottom:8px;
  color:#7a8ba3;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.contact-info-card h3{
  margin:0 0 12px;
  color:#23354d;
  font-size:25px;
  font-weight:600;
}

.contact-info-card p{
  margin:0 0 10px;
  color:#657792;
  font-size:14px;
  line-height:1.65;
}

.contact-info-card small{
  display:block;
  margin:0 0 22px;
  color:#8b99aa;
  font-size:12px;
}

.contact-info-card > a:last-child{
  display:inline-flex;
  margin-top:18px;
  color:#4268aa;
  font-size:13px;
  font-weight:800;
}

.contact-enquiry-section{
  padding:0 0 92px;
}

.contact-enquiry-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  min-height:650px;
  overflow:hidden;
  border-radius:0 95px 0 95px;
  background:#dfe9f7;
}

.contact-map-panel{
  min-height:650px;
  background:#cbd9e8;
}

.contact-map-panel iframe{
  display:block;
  min-height:650px;
}

.contact-map-placeholder{
  height:100%;
  min-height:650px;
  padding:54px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    linear-gradient(180deg,rgba(35,53,77,.04),rgba(35,53,77,.18)),
    #d8e4f2;
}

.contact-map-placeholder .eyebrow{
  align-self:flex-start;
  margin:0 0 20px;
}

.contact-map-placeholder h2{
  max-width:470px;
  margin:0;
  color:#23354d;
  font-size:46px;
  font-weight:500;
  line-height:1;
  letter-spacing:-2px;
}

.contact-map-placeholder p{
  margin:20px 0 28px;
  color:#657792;
}

.contact-map-placeholder .btn{
  align-self:flex-start;
}

.contact-form-panel{
  padding:58px 56px;
  background:#f7faff;
}

.contact-form-panel .eyebrow{
  margin:0 0 22px;
}

.contact-form-panel h2{
  margin:0;
  color:#23354d;
  font-size:clamp(42px,4.2vw,56px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-3px;
}

.contact-form-intro{
  max-width:500px;
  margin:18px 0 30px;
  color:#6f7f95;
  font-size:14px;
  line-height:1.6;
}

.contact-form{
  display:grid;
  gap:18px;
}

.contact-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.contact-form-field{
  display:grid;
  gap:8px;
}

.contact-form-field label{
  color:#23354d;
  font-size:11px;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  margin:0;
  padding:15px 16px;
  border:1px solid #d8e2ef;
  border-radius:0;
  outline:none;
  background:#fff;
  color:#23354d;
  font:inherit;
  font-size:14px;
  transition:border-color .25s ease,box-shadow .25s ease;
}

.contact-form textarea{
  min-height:145px;
  resize:vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:#7895c3;
  box-shadow:0 0 0 3px rgba(120,149,195,.15);
}

.contact-submit{
  justify-self:start;
  min-width:160px;
  margin-top:4px;
  border:0;
  background:#4268aa;
  color:#fff !important;
}

.contact-submit:hover{
  background:#2f4f83;
}

.contact-extra-content{
  margin-top:24px;
  color:#6f7f95;
  font-size:13px;
}

.contact-extra-content:empty{
  display:none;
}

.contact-bottom-cta{
  padding:78px 0;
 
}
.contact-bottom-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    background: linear-gradient(135deg, #eac289, #e19c39);
    color: #fff;
    padding: 78px;
    border-radius: 90px 0 90px 0;
}

.contact-bottom-cta .eyebrow{
  margin:0 0 18px;
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.12);
  color:#fff;
}

.contact-bottom-cta h2{
  max-width:760px;
  margin:0;
  color:#fff;
  font-size:clamp(40px,4.5vw,58px);
  font-weight:500;
  line-height:1;
  letter-spacing:-3px;
}

.contact-bottom-cta .btn-light{
  flex:0 0 auto;
  background:rgba(255,255,255,.12);
}

@media(max-width:980px){
  .contact-section-heading,
  .contact-enquiry-grid{
    grid-template-columns:1fr;
  }

  .contact-section-heading{
    gap:24px;
  }

  .contact-info-grid{
    grid-template-columns:1fr 1fr;
  }

  .contact-info-card:last-child{
    grid-column:1/-1;
  }

  .contact-map-panel,
  .contact-map-panel iframe,
  .contact-map-placeholder{
    min-height:480px;
  }

  .contact-bottom-cta-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:640px){
  .contact-page-hero{
    min-height:470px;
    padding:135px 0 62px;
  }

  .contact-page-hero h1{
    font-size:48px;
    letter-spacing:-2.8px;
  }

  .contact-details-section{
    padding:64px 0 56px;
  }

  .contact-info-grid{
    grid-template-columns:1fr;
  }

  .contact-info-card:last-child{
    grid-column:auto;
  }

  .contact-enquiry-grid{
    border-radius:0 55px 0 55px;
  }

  .contact-form-panel,
  .contact-map-placeholder{
    padding:38px 24px;
  }

  .contact-form-row{
    grid-template-columns:1fr;
  }

  .contact-map-panel,
  .contact-map-panel iframe,
  .contact-map-placeholder{
    min-height:390px;
  }

  .contact-bottom-cta{
    padding:58px 0;
  }
}

/* =========================================================
   ROOM ARCHIVE PAGE – CURVED ROOM IMAGES + AMENITIES
   ========================================================= */

.rooms-page-hero{
  position:relative;
  min-height:610px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:180px 0 88px;
  background:#17313d;
}

.rooms-page-hero-media{
  position:absolute;
  inset:0;
}

.rooms-page-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.rooms-page-hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(7,29,38,.86) 0%,rgba(7,29,38,.60) 45%,rgba(7,29,38,.19) 100%),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.32));
}

.rooms-page-hero-content{
  position:relative;
  z-index:2;
  color:#fff;
}

.rooms-page-hero .eyebrow{
  margin:0 0 22px;
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(8px);
}

.rooms-page-hero h1{
  max-width:850px;
  margin:0;
  color:#fff;
  font-size:clamp(54px,6vw,82px);
  font-weight:500;
  line-height:.96;
  letter-spacing:-4px;
}

.rooms-page-hero p{
  max-width:670px;
  margin:22px 0 0;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.6;
}

.rooms-archive-page{
  background:#fff;
}

.rooms-archive-intro{
  padding:88px 0 72px;
  border-bottom:1px solid var(--line);
}

.rooms-archive-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.55fr);
  gap:80px;
  align-items:end;
}

.rooms-archive-intro .eyebrow{
  margin:0 0 22px;
}

.rooms-archive-intro h2{
  max-width:780px;
  margin:0;
  color:#23354d;
  font-size:clamp(42px,4.8vw,62px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-3px;
}

.rooms-archive-intro-grid>p{
  margin:0 0 6px;
  color:#6f7f95;
  font-size:14px;
  line-height:1.7;
}

.rooms-listing-section{
  padding:80px 0 100px;
}

.rooms-listing-grid{
  display:grid;
  gap:44px;
}

.rooms-listing-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  overflow:hidden; 
  border-radius:0 92px 0 92px;
  background:#fff;
  box-shadow:0 22px 55px rgba(35,53,77,.08);
}

.rooms-listing-card:nth-child(even){
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  border-radius:92px 0 92px 0;
}

.rooms-listing-card:nth-child(even) .rooms-listing-image{
  order:2;
}

.rooms-listing-card:nth-child(even) .rooms-listing-content{
  order:1;
}

.rooms-listing-image{
  position:relative;
  min-height:440px;
  overflow:hidden;
  background:#eef3f8;
  border-radius:0 92px 0 0;
}

.rooms-listing-card:nth-child(even) .rooms-listing-image{
  border-radius:92px 0 0 0;
}

.rooms-listing-image img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  transition:transform .7s ease;
}

.rooms-listing-card:hover .rooms-listing-image img{
  transform:scale(1.045);
}

.rooms-image-link{
  position:absolute;
  right:24px;
  bottom:22px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#2f4f83;
  font-size:11px;
  font-weight:800;
  box-shadow:0 10px 26px rgba(0,0,0,.14);
  transform:translateY(8px);
  opacity:0;
  transition:.3s ease;
}

.rooms-listing-card:hover .rooms-image-link{
  transform:translateY(0);
  opacity:1;
}

.rooms-listing-content{
  padding:52px 48px 44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.rooms-listing-kicker{
  display:block;
  margin-bottom:13px;
  color:#7895c3;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.25px;
  text-transform:uppercase;
}

.rooms-listing-content h2{
  margin:0;
  color:#23354d;
  font-size:clamp(36px,3.6vw,52px);
  font-weight:500;
  line-height:1;
  letter-spacing:-2.5px;
}

.rooms-listing-excerpt{
  margin:18px 0 24px;
  color:#6f7f95;
  font-size:14px;
  line-height:1.68;
}

.rooms-listing-excerpt p{
  margin:0;
}

.rooms-listing-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0 0 26px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.rooms-listing-meta span{
  padding:14px 12px;
  color:#6f7f95;
  font-size:12px;
  line-height:1.4;
  border-right:1px solid var(--line);
}

.rooms-listing-meta span:last-child{
  border-right:0;
}

.rooms-listing-meta strong{
  display:block;
  margin-bottom:3px;
  color:#23354d;
  font-size:10px;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.rooms-listing-actions{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}

.rooms-listing-actions .btn-primary{
  border:0;
  background:#4268aa;
  color:#fff !important;
}

.rooms-listing-actions .btn-primary:hover{
  background:#2f4f83;
}

.rooms-enquire-link{
  color:#4268aa;
  font-size:13px;
  font-weight:800;
}

/* Curved amenities panel */
.room-amenities-panel{
position: relative;
    grid-column: 1 / -1;
    margin: 0;
    padding: 68px ;
    overflow: hidden;
    /* border-top: 1px solid #dce7f5; */
        border-radius: 0 0 0 92px;
    background: #dfe9f7;
}

.rooms-listing-card:nth-child(even) .room-amenities-panel {
    border-radius: 0;
    background: #dfe9f7;
    margin-bottom: 90px;
}

.room-amenities-panel:before{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  top:-88px;
  right:-62px;
  border:1px solid rgba(66,104,170,.14);
  border-radius:50%;
}

.rooms-listing-card:nth-child(even) .room-amenities-panel:before{
  right:auto;
  left:-62px;
}

.room-amenities-heading{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-end;
  margin-bottom:24px;
}

.room-amenities-heading>div{
  display:grid;
  gap:5px;
}

.room-amenities-heading span{
  color:#7895c3;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.1px;
  text-transform:uppercase;
}

.room-amenities-heading strong{
  color:#23354d;
  font-size:17px;
  font-weight:700;
}

.room-amenities-count{
  padding:8px 12px;
  border:1px solid #d4e0f0;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  white-space:nowrap;
}

.room-amenities-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.room-amenity{
  min-height:74px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:15px 16px;
  border:1px solid rgba(66,104,170,.14);
  border-radius:0 28px 0 28px;
  background:rgba(255,255,255,.86);
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}

.room-amenity:nth-child(even){
  border-radius:28px 0 28px 0;
}

.room-amenity:hover{
  transform:translateY(-3px);
  border-color:rgba(66,104,170,.30);
  background:#fff;
}

.room-amenity-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e5eefb;
  color:#4268aa;
}

.room-amenity-icon:before{
  font-size:17px;
  line-height:1;
}

.amenity-security:before{content:"◉"}
.amenity-air:before{content:"❄"}
.amenity-breakfast:before{content:"☕"}
.amenity-toiletries:before{content:"✦"}
.amenity-wifi:before{content:"⌁"}
.amenity-water:before{content:"◍"}
.amenity-power:before{content:"⚡"}
.amenity-service:before{content:"◇"}
.amenity-check:before{content:"✓"}

.room-amenity-name{
  color:#4f6079;
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}

.rooms-pagination{
  margin-top:52px;
  text-align:center;
}

.rooms-pagination .nav-links{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}

.rooms-pagination .page-numbers{
  min-width:44px;
  min-height:44px;
  padding:10px 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  background:#fff;
  color:#395b8e;
  font-size:13px;
  font-weight:700;
}

.rooms-pagination .page-numbers.current,
.rooms-pagination .page-numbers:hover{
  background:#4268aa;
  border-color:#4268aa;
  color:#fff;
}

.rooms-empty-state{
  padding:70px 30px;
  text-align:center;
  border:1px solid var(--line);
  background:#f7faff;
}

.rooms-empty-state .eyebrow{
  margin:0 0 20px;
}

.rooms-empty-state h2{
  margin:0 0 12px;
  color:#23354d;
  font-size:42px;
  font-weight:500;
}

.rooms-empty-state p{
  color:#6f7f95;
}

.rooms-features-section{
  padding:86px 0 96px;
  background:#dfe9f7;
  border-radius:0 100px 0 100px;
}

.rooms-features-heading{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,.6fr);
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}

.rooms-features-heading .eyebrow{
  margin:0 0 22px;
}

.rooms-features-heading h2{
  max-width:750px;
  margin:0;
  color:#23354d;
  font-size:clamp(42px,4.5vw,58px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-3px;
}

.rooms-features-heading>p{
  margin:0 0 6px;
  color:#6f7f95;
  font-size:14px;
  line-height:1.65;
}

.rooms-features-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(66,104,170,.15);
  border-left:1px solid rgba(66,104,170,.15);
}

.rooms-feature-card{
  min-height:250px;
  padding:30px;
  border-right:1px solid rgba(66,104,170,.15);
  border-bottom:1px solid rgba(66,104,170,.15);
  background:rgba(255,255,255,.45);
}

.rooms-feature-card>span{
  display:block;
  margin-bottom:48px;
  color:#7895c3;
  font-size:12px;
  font-weight:800;
}

.rooms-feature-card h3{
  margin:0 0 10px;
  color:#23354d;
  font-size:23px;
  font-weight:600;
  line-height:1.1;
}

.rooms-feature-card p{
  margin:0;
  color:#6f7f95;
  font-size:13px;
  line-height:1.55;
}

.rooms-bottom-cta{
  padding:78px 0;
  background:linear-gradient(135deg,#eac289,#e19c39);
  color:#fff;
}

.rooms-bottom-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:46px;
}

.rooms-bottom-cta .eyebrow{
  margin:0 0 18px;
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.12);
  color:#fff;
}

.rooms-bottom-cta h2{
  max-width:760px;
  margin:0;
  color:#fff;
  font-size:clamp(42px,4.5vw,58px);
  font-weight:500;
  line-height:1;
  letter-spacing:-3px;
}

.rooms-bottom-cta p{
  max-width:650px;
  margin:17px 0 0;
  color:rgba(255,255,255,.82);
}

.rooms-bottom-cta-actions{
  display:flex;
  gap:12px;
  flex:0 0 auto;
  flex-wrap:wrap;
}

.rooms-bottom-cta .btn-light{
  background:rgba(255,255,255,.12);
}

@media(max-width:980px){
  .rooms-archive-intro-grid,
  .rooms-features-heading{
    grid-template-columns:1fr;
    gap:24px;
  }

  .rooms-listing-card,
  .rooms-listing-card:nth-child(even){
    grid-template-columns:1fr;
    border-radius:0 70px 0 70px;
  }

  .rooms-listing-card:nth-child(even) .rooms-listing-image,
  .rooms-listing-card:nth-child(even) .rooms-listing-content{
    order:initial;
  }

  .rooms-listing-image,
  .rooms-listing-card:nth-child(even) .rooms-listing-image{
    border-radius:0 70px 0 0;
  }

  .room-amenities-panel,
  .rooms-listing-card:nth-child(even) .room-amenities-panel{
    border-radius:0 0 0 70px;
  }

  .room-amenities-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rooms-features-grid{
    grid-template-columns:1fr 1fr;
  }

  .rooms-bottom-cta-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:640px){
  .rooms-page-hero{
    min-height:510px;
    padding:138px 0 62px;
  }

  .rooms-page-hero h1{
    font-size:48px;
    letter-spacing:-2.8px;
  }

  .rooms-archive-intro{
    padding:62px 0 54px;
  }

  .rooms-listing-section{
    padding:54px 0 70px;
  }

  .rooms-listing-card,
  .rooms-listing-card:nth-child(even){
    border-radius:0 48px 0 48px;
  }

  .rooms-listing-image,
  .rooms-listing-image img{
    min-height:300px;
  }

  .rooms-listing-image,
  .rooms-listing-card:nth-child(even) .rooms-listing-image{
    border-radius:0 48px 0 0;
  }

  .rooms-listing-content{
    padding:34px 24px 36px;
  }

  .rooms-listing-meta{
    grid-template-columns:1fr;
  }

  .rooms-listing-meta span{
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .rooms-listing-meta span:last-child{
    border-bottom:0;
  }

  .room-amenities-panel,
  .rooms-listing-card:nth-child(even) .room-amenities-panel{
    padding:26px 22px 30px;
    border-radius:0 0 0 48px;
  }

  .room-amenities-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }

  .room-amenities-grid{
    grid-template-columns:1fr;
  }

  .room-amenity,
  .room-amenity:nth-child(even){
    border-radius:0 24px 0 24px;
  }

  .rooms-image-link{
    display:none;
  }

  .rooms-features-section{
    padding:60px 0 68px;
    border-radius:0 58px 0 58px;
  }

  .rooms-features-grid{
    grid-template-columns:1fr;
  }

  .rooms-feature-card{
    min-height:auto;
  }

  .rooms-feature-card>span{
    margin-bottom:26px;
  }

  .rooms-bottom-cta{
    padding:58px 0;
  }
}

/* =========================================================
   SINGLE ROOM PAGE
   ========================================================= */

.single-room-page{
  background:#fff;
}

.single-room-gallery-section{
  padding:138px 0 38px;
  background:#f7faff;
}

.single-room-breadcrumbs{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:22px;
  color:#7b8ca4;
  font-size:12px;
}

.single-room-breadcrumbs strong{
  color:#23354d;
}

.single-room-gallery-wrap{
  position:relative;
}

.single-room-gallery-viewport{
  overflow:hidden;
}

.single-room-gallery-track{
  display:flex;
  gap:16px;
  transition:transform .35s ease;
}

.single-room-gallery-item{
  position:relative;
  flex:0 0 calc((100% - 48px) / 4);
  min-width:0;
  height:330px;
  padding:0;
  overflow:hidden;
  border:0;
  background:#e8eef6;
  cursor:pointer;
}

.single-room-gallery-item:nth-child(4n+1){
  border-radius:0 78px 0 78px;
}

.single-room-gallery-item:nth-child(4n+2){
  border-radius:78px 0 78px 0;
}

.single-room-gallery-item:nth-child(4n+3){
  border-radius:0 78px 0 78px;
}

.single-room-gallery-item:nth-child(4n){
  border-radius:78px 0 78px 0;
}

.single-room-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease;
}

.single-room-gallery-item:hover img{
  transform:scale(1.055);
}

.single-room-image-zoom{
  position:absolute;
  left:18px;
  bottom:16px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#2f4f83;
  font-size:11px;
  font-weight:800;
  opacity:0;
  transform:translateY(8px);
  transition:.3s ease;
}

.single-room-gallery-item:hover .single-room-image-zoom{
  opacity:1;
  transform:translateY(0);
}

.single-room-gallery-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.7);
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#2f4f83;
  font-size:18px;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(35,53,77,.18);
  transform:translateY(-50%);
}

.single-room-gallery-prev{
  left:-20px;
}

.single-room-gallery-next{
  right:-20px;
}

.single-room-gallery-progress{
  height:3px;
  margin-top:18px;
  overflow:hidden;
  background:#dce7f5;
}

.single-room-gallery-progress-bar{
  display:block;
  height:100%;
  width:25%;
  background:#4268aa;
  transform-origin:left center;
  transition:transform .2s ease,width .2s ease;
}

.single-room-summary-section{
  position:relative;
  z-index:5;
  margin-top:-4px;
}

.single-room-summary-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px;
  align-items:center;
  padding:42px 48px 34px;
  border:1px solid var(--line);
  border-radius:0 82px 0 82px;
  background:#fff;
  box-shadow:0 24px 60px rgba(35,53,77,.10);
}

.single-room-summary-main .eyebrow{
  margin:0 0 18px;
}

.single-room-summary-main h1{
  max-width:820px;
  margin:0;
  color:#23354d;
  font-size:clamp(46px,5vw,70px);
  font-weight:500;
  line-height:.96;
  letter-spacing:-3.8px;
}

.single-room-summary-copy{
  max-width:760px;
  margin:20px 0 0;
  color:#6f7f95;
  font-size:15px;
  line-height:1.65;
}

.single-room-summary-side{
  min-width:210px;
  display:grid;
  justify-items:end;
  gap:20px;
}

.single-room-rating{
  display:grid;
  justify-items:end;
  gap:4px;
}

.single-room-rating span{
  color:#e5a843;
  letter-spacing:2px;
  font-size:15px;
}

.single-room-rating small{
  color:#7a8ba3;
  font-size:11px;
}

.single-room-summary-side .btn-primary{
  border:0;
  background:#4268aa;
  color:#fff !important;
}

.single-room-key-facts{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:4px;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.single-room-key-facts>div{
  min-height:88px;
  padding:18px 20px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.single-room-key-facts span{
  display:block;
  margin-bottom:5px;
  color:#7a8ba3;
  font-size:10px;
  font-weight:800;
  letter-spacing:.9px;
  text-transform:uppercase;
}

.single-room-key-facts strong{
  color:#23354d;
  font-size:16px;
}

.single-room-content-section{
  padding:88px 0;
}

.single-room-content-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);
  gap:64px;
  align-items:start;
}

.single-room-description .eyebrow{
  margin:0 0 22px;
}

.single-room-description h2{
  max-width:760px;
  margin:0 0 26px;
  color:#23354d;
  font-size:clamp(42px,4.5vw,58px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-3px;
}

.single-room-description .wysiwyg{
  max-width:820px;
  color:#657792;
  font-size:15px;
  line-height:1.8;
}

.single-room-booking-card{
  position:sticky;
  top:120px;
  padding:34px;
  border-radius:70px 0 70px 0;
  background:#dfe9f7;
}

.single-room-booking-card .eyebrow{
  margin:0 0 20px;
  background:rgba(255,255,255,.55);
}

.single-room-booking-card h3{
  margin:0;
  color:#23354d;
  font-size:32px;
  font-weight:600;
  line-height:1.05;
  letter-spacing:-1.5px;
}

.single-room-booking-card p{
  margin:17px 0 24px;
  color:#657792;
  font-size:14px;
  line-height:1.6;
}

.single-room-booking-card .btn{
  width:100%;
  border:0;
  background:#4268aa;
  color:#fff !important;
}

.single-room-enquiry-link{
  display:block;
  margin-top:16px;
  text-align:center;
  color:#4268aa;
  font-size:13px;
  font-weight:800;
}

.single-room-amenities-section{
  padding:86px 0 96px;
  background:#f7faff;
  border-radius:100px 0 100px 0;
}

.single-room-section-heading{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,.55fr);
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}

.single-room-section-heading .eyebrow{
  margin:0 0 22px;
}

.single-room-section-heading h2{
  max-width:760px;
  margin:0;
  color:#23354d;
  font-size:clamp(42px,4.6vw,60px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-3px;
}

.single-room-section-heading>p{
  margin:0 0 6px;
  color:#6f7f95;
  font-size:14px;
  line-height:1.65;
}

.single-room-amenities-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.single-room-amenity-card{
  min-height:190px;
  padding:24px;
  border:1px solid #dce7f5;
  background:#fff;
}

.single-room-amenity-card:nth-child(4n+1){
  border-radius:0 48px 0 48px;
}

.single-room-amenity-card:nth-child(4n+2){
  border-radius:48px 0 48px 0;
}

.single-room-amenity-card:nth-child(4n+3){
  border-radius:0 48px 0 48px;
}

.single-room-amenity-card:nth-child(4n){
  border-radius:48px 0 48px 0;
}

.single-room-amenity-number{
  display:block;
  margin-bottom:34px;
  color:#7895c3;
  font-size:10px;
  font-weight:800;
  letter-spacing:.8px;
}

.single-room-amenity-icon{
  width:42px;
  height:42px;
  margin-bottom:18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eaf1fb;
  color:#4268aa;
  font-weight:800;
}

.single-room-amenity-card h3{
  margin:0;
  color:#23354d;
  font-size:19px;
  font-weight:600;
  line-height:1.2;
}

.single-room-bottom-cta{
  padding:78px 0;
  background:linear-gradient(135deg,#eac289,#e19c39);
  color:#fff;
}

.single-room-bottom-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:46px;
}

.single-room-bottom-cta .eyebrow{
  margin:0 0 18px;
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.12);
  color:#fff;
}

.single-room-bottom-cta h2{
  max-width:760px;
  margin:0;
  color:#fff;
  font-size:clamp(42px,4.5vw,58px);
  font-weight:500;
  line-height:1;
  letter-spacing:-3px;
}

.single-room-bottom-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.single-room-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:40px 80px;
  background:rgba(7,20,27,.94);
}

.single-room-lightbox.is-open{
  display:flex;
}

.single-room-lightbox-stage{
  width:min(1200px,90vw);
  height:min(780px,82vh);
  display:flex;
  align-items:center;
  justify-content:center;
}

.single-room-lightbox-stage img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.single-room-lightbox-close,
.single-room-lightbox-prev,
.single-room-lightbox-next{
  position:absolute;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:22px;
  cursor:pointer;
}

.single-room-lightbox-close{
  top:24px;
  right:28px;
}

.single-room-lightbox-prev{
  left:28px;
  top:50%;
  transform:translateY(-50%);
}

.single-room-lightbox-next{
  right:28px;
  top:50%;
  transform:translateY(-50%);
}

body.single-room-lightbox-open{
  overflow:hidden;
}

@media(max-width:980px){
  .single-room-gallery-item{
    flex-basis:calc((100% - 16px) / 2);
  }

  .single-room-summary-card{
    grid-template-columns:1fr;
  }

  .single-room-summary-side{
    justify-items:start;
  }

  .single-room-rating{
    justify-items:start;
  }

  .single-room-key-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .single-room-content-grid,
  .single-room-section-heading{
    grid-template-columns:1fr;
  }

  .single-room-booking-card{
    position:static;
  }

  .single-room-amenities-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .single-room-bottom-cta-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:640px){
  .single-room-gallery-section{
    padding:104px 0 28px;
  }

  .single-room-gallery-item{
    flex-basis:100%;
    height:300px;
  }

  .single-room-gallery-item,
  .single-room-gallery-item:nth-child(n){
    border-radius:0 48px 0 48px;
  }

  .single-room-gallery-prev{
    left:8px;
  }

  .single-room-gallery-next{
    right:8px;
  }

  .single-room-summary-card{
    padding:32px 24px 28px;
    border-radius:0 52px 0 52px;
  }

  .single-room-summary-main h1{
    font-size:46px;
    letter-spacing:-2.6px;
  }

  .single-room-key-facts{
    grid-template-columns:1fr;
  }

  .single-room-content-section{
    padding:62px 0;
  }

  .single-room-booking-card{
    padding:30px 24px;
    border-radius:48px 0 48px 0;
  }

  .single-room-amenities-section{
    padding:60px 0 68px;
    border-radius:58px 0 58px 0;
  }

  .single-room-amenities-grid{
    grid-template-columns:1fr;
  }

  .single-room-amenity-card,
  .single-room-amenity-card:nth-child(n){
    border-radius:0 38px 0 38px;
  }

  .single-room-lightbox{
    padding:70px 16px 24px;
  }

  .single-room-lightbox-prev{
    left:10px;
  }

  .single-room-lightbox-next{
    right:10px;
  }

  .single-room-lightbox-close{
    top:14px;
    right:14px;
  }

  .single-room-bottom-cta{
    padding:58px 0;
  }
}

/* =========================================================
   SINGLE ROOM AMENITIES – COMPACT SPACING OVERRIDE
   ========================================================= */

.single-room-amenities-section{
  padding:65px 0 75px !important;
  background:#f7faff;
  border-radius:58px 0 58px 0;
}

.single-room-section-heading{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,.55fr);
  gap:60px;
  align-items:end;
  margin-bottom:30px !important;
}

.single-room-section-heading .eyebrow{
  margin:0 0 18px !important;
}

.single-room-section-heading h2{
  max-width:720px;
  margin:0;
  color:#23354d;
  font-size:clamp(40px,4vw,58px);
  font-weight:500;
  line-height:1;
  letter-spacing:-2.6px;
}

.single-room-section-heading>p{
  margin:0;
  color:#6f7f95;
  font-size:14px;
  line-height:1.65;
}

.single-room-amenities-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px !important;
}

.single-room-amenity-card{
  position:relative;
  min-height:128px !important;
  padding:18px 20px !important;
  border:1px solid #dce7f5;
  background:#fff;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}

.single-room-amenity-card:nth-child(4n+1){
  border-radius:0 38px 0 38px;
}

.single-room-amenity-card:nth-child(4n+2){
  border-radius:38px 0 38px 0;
}

.single-room-amenity-card:nth-child(4n+3){
  border-radius:0 38px 0 38px;
}

.single-room-amenity-card:nth-child(4n){
  border-radius:38px 0 38px 0;
}

.single-room-amenity-card:hover{
  transform:translateY(-4px);
  border-color:#bfd0e8;
  box-shadow:0 14px 32px rgba(35,53,77,.08);
}

.single-room-amenity-number{
  display:block;
  margin-bottom:10px !important;
  color:#8aa0c8;
  font-size:10px;
  font-weight:700;
  letter-spacing:1px;
}

.single-room-amenity-icon{
  width:38px !important;
  height:38px !important;
  margin-bottom:11px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#edf4ff;
  color:#4268aa;
  font-size:16px;
  font-weight:700;
}

.single-room-amenity-card h3{
  margin:0;
  color:#23354d;
  font-size:17px !important;
  font-weight:600;
  line-height:1.25;
}

@media(max-width:980px){
  .single-room-section-heading{
    grid-template-columns:1fr;
    gap:20px;
  }

  .single-room-amenities-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .single-room-amenities-section{
    padding:50px 0 60px !important;
    border-radius:40px 0 40px 0;
  }

  .single-room-amenities-grid{
    grid-template-columns:1fr;
    gap:12px !important;
  }

  .single-room-amenity-card,
  .single-room-amenity-card:nth-child(n){
    min-height:108px !important;
    padding:17px 18px !important;
    border-radius:0 28px 0 28px;
  }
}

/* =========================================================
   SINGLE ROOM – COMPACT SUMMARY + AMENITIES OVERRIDE
   ========================================================= */

/* Remove excessive whitespace below the gallery */
.single-room-summary-section{
  margin-top:-4px;
  padding:0;
}

/* Compact title and booking panel */
.single-room-summary-card{
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:28px !important;
  align-items:center;
  padding:30px 38px !important;
  border-radius:0 68px 0 68px !important;
}

.single-room-summary-main .eyebrow{
  margin:0 0 12px !important;
}

.single-room-summary-main h1{
  margin:0 !important;
  font-size:clamp(42px,4.5vw,62px) !important;
  line-height:.98 !important;
  letter-spacing:-3px !important;
}

.single-room-summary-copy{
  max-width:760px;
  margin:13px 0 0 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

.single-room-summary-side{
  min-width:190px;
  gap:14px !important;
}

.single-room-rating{
  gap:2px !important;
}

.single-room-rating span{
  font-size:14px !important;
}

.single-room-rating small{
  font-size:10px !important;
}

.single-room-summary-side .btn-primary{
  padding:11px 20px !important;
}

/* Hide old key facts block if cached template markup still exists */
.single-room-key-facts{
  display:none !important;
}

/* Reduce gap before the main room description */
.single-room-content-section{
  padding:68px 0 !important;
}

/* Compact room comforts section */
.single-room-amenities-section{
  padding:56px 0 64px !important;
}

.single-room-section-heading{
  gap:44px !important;
  margin-bottom:24px !important;
}

.single-room-section-heading .eyebrow{
  margin-bottom:14px !important;
}

.single-room-section-heading h2{
  font-size:clamp(38px,4vw,54px) !important;
  line-height:1 !important;
  letter-spacing:-2.4px !important;
}

.single-room-section-heading>p{
  font-size:13px !important;
  line-height:1.55 !important;
}

.single-room-amenities-grid{
  gap:12px !important;
}

.single-room-amenity-card{
  min-height:112px !important;
  padding:15px 18px !important;
}

.single-room-amenity-number{
  margin-bottom:7px !important;
}

.single-room-amenity-icon{
  width:34px !important;
  height:34px !important;
  margin-bottom:8px !important;
  font-size:14px !important;
}

.single-room-amenity-card h3{
  font-size:16px !important;
  line-height:1.2 !important;
}

@media(max-width:980px){
  .single-room-summary-card{
    grid-template-columns:1fr !important;
    padding:28px 30px !important;
  }

  .single-room-summary-side,
  .single-room-rating{
    justify-items:start !important;
  }
}

@media(max-width:640px){
  .single-room-summary-card{
    padding:26px 22px !important;
    border-radius:0 46px 0 46px !important;
  }

  .single-room-summary-main h1{
    font-size:42px !important;
    letter-spacing:-2.3px !important;
  }

  .single-room-content-section{
    padding:54px 0 !important;
  }

  .single-room-amenities-section{
    padding:46px 0 52px !important;
  }

  .single-room-section-heading{
    gap:16px !important;
  }

  .single-room-amenity-card,
  .single-room-amenity-card:nth-child(n){
    min-height:96px !important;
    padding:14px 16px !important;
  }
}



/* ===== Compact Amenities ===== */
.single-room-section-heading.compact{
display:flex;justify-content:space-between;align-items:flex-end;
gap:40px;margin-bottom:24px}
.single-room-section-heading.compact h2{
margin:0;font-size:44px;line-height:1}
.single-room-section-heading.compact p{
margin:0;max-width:340px;font-size:14px;color:#6b7d98}
.single-room-amenities-grid.compact{
display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.single-room-amenity-card.compact{
display:flex;align-items:center;gap:14px;
padding:16px 18px;min-height:72px;
border:1px solid #dce7f5;background:#fff;
transition:.3s}
.single-room-amenity-card.compact:nth-child(odd){
border-radius:0 28px 0 28px}
.single-room-amenity-card.compact:nth-child(even){
border-radius:28px 0 28px 0}
.single-room-amenity-card.compact:hover{
transform:translateY(-3px);
box-shadow:0 14px 28px rgba(0,0,0,.08)}
.single-room-amenity-card.compact .single-room-amenity-icon{
width:34px;height:34px;border-radius:50%;
display:flex;align-items:center;justify-content:center;
background:#edf4ff;color:#4268aa;flex-shrink:0;margin:0}
.single-room-amenity-card.compact h3{
margin:0;font-size:15px;font-weight:600;line-height:1.3}
@media(max-width:900px){
.single-room-amenities-grid.compact{grid-template-columns:repeat(2,1fr)}
.single-room-section-heading.compact{display:block}
.single-room-section-heading.compact p{margin-top:12px}}
@media(max-width:600px){
.single-room-amenities-grid.compact{grid-template-columns:1fr}}

/* =========================================================
   DINING PAGE – CONTENT-LED EDITORIAL LAYOUT
   ========================================================= */
.dining-page-main{background:#fff}.dining-page-hero{position:relative;min-height:610px;display:flex;align-items:flex-end;padding:185px 0 90px;overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat}.dining-page-hero::before{content:"";position:absolute;inset:0;background:inherit;background-position:center;background-size:cover;transform:scale(1.04);animation:diningHeroZoom 12s ease-in-out infinite alternate}@keyframes diningHeroZoom{from{transform:scale(1.04)}to{transform:scale(1.1)}}.dining-page-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,30,38,.86) 0%,rgba(8,30,38,.57) 46%,rgba(8,30,38,.16) 100%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.38))}.dining-page-hero-content{position:relative;z-index:2;color:#fff}.dining-page-hero .eyebrow{margin:0 0 22px;border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(8px)}.dining-page-hero h1{max-width:820px;margin:0;color:#fff;font-size:clamp(54px,6vw,84px);font-weight:500;line-height:.96;letter-spacing:-4px}.dining-page-hero p{max-width:660px;margin:24px 0 0;color:rgba(255,255,255,.9);font-size:17px;line-height:1.65}.dining-intro-section{padding:105px 0 95px}.dining-intro-heading{display:grid;grid-template-columns:minmax(0,.92fr) minmax(300px,.48fr);gap:72px;align-items:end;margin-bottom:54px}.dining-intro-heading .eyebrow{margin:0 0 22px}.dining-intro-heading h2{max-width:790px;margin:0;color:#23354d;font-size:clamp(44px,4.7vw,63px);font-weight:500;line-height:.98;letter-spacing:-3.3px}.dining-intro-heading>p{margin:0 0 5px;color:#6f7f95;font-size:14px;line-height:1.72}.dining-intro-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:76px;align-items:start}.dining-copy p{margin:0 0 21px;color:#657792;font-size:17px;line-height:1.82}.dining-copy p:first-child{color:#425873;font-size:17px;line-height:1.76}.dining-intro-visual{position:relative;min-height:610px}.dining-intro-image{position:absolute;inset:0 88px 70px 0;overflow:hidden;border-radius:0 110px 0 0;background:#e4eaf1}.dining-intro-image img,.dining-intro-small img,.dining-settings-image img,.dining-gallery-item img{width:100%;height:100%;object-fit:cover}.dining-intro-small{position:absolute;right:0;bottom:0;width:46%;height:42%;overflow:hidden;border:11px solid #fff;border-radius:0 0 76px 0;background:#e4eaf1}.dining-journey-section{padding:96px 0;background:#f7faff}.dining-section-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,.5fr);gap:70px;align-items:end;margin-bottom:48px}.dining-section-heading .eyebrow{margin:0 0 22px}.dining-section-heading h2{max-width:760px;margin:0;color:#23354d;font-size:clamp(42px,4.4vw,59px);font-weight:500;line-height:.98;letter-spacing:-3px}.dining-section-heading>p{margin:0 0 5px;color:#6f7f95;font-size:14px;line-height:1.7}.dining-journey-copy{max-width:900px;margin-bottom:35px}.dining-journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dce7f5;border-left:1px solid #dce7f5}.dining-journey-card{min-height:300px;padding:34px;border-right:1px solid #dce7f5;border-bottom:1px solid #dce7f5;background:#fff;transition:transform .3s ease,background .3s ease}.dining-journey-card:hover{transform:translateY(-6px);background:#eef4fb}.dining-journey-number{display:block;margin-bottom:44px;color:#7895c3;font-size:12px;font-weight:800;letter-spacing:1px}.dining-journey-card h3{margin:0 0 14px;color:#23354d;font-size:27px;font-weight:600;line-height:1.15}.dining-journey-card p{margin:0;color:#6f7f95;font-size:14px;line-height:1.66}.dining-settings-section{padding:105px 0;background:#fff}.dining-settings-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:72px;align-items:center}.dining-settings-image{height:610px;overflow:hidden;border-radius:0 0 110px 0;background:#e1e8f0}.dining-settings-copy h2{margin:0 0 26px;color:#23354d;font-size:clamp(40px,4.3vw,58px);font-weight:500;line-height:.98;letter-spacing:-3px}.dining-settings-list{margin-top:30px;border-top:1px solid #dce7f5}.dining-settings-list>div{display:flex;justify-content:space-between;gap:28px;padding:17px 0;border-bottom:1px solid #dce7f5}.dining-settings-list strong{color:#23354d;font-size:14px}.dining-settings-list span{color:#6f7f95;font-size:13px;text-align:right}.dining-gallery-section{padding:96px 0 105px;background:#eef4fb}.dining-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:120px;gap:18px}.dining-gallery-item{position:relative;overflow:hidden;background:#dfe7f0}.dining-gallery-item:nth-child(6n+1){grid-column:span 7;grid-row:span 3;border-radius:0 90px 0 0}.dining-gallery-item:nth-child(6n+2){grid-column:span 5;grid-row:span 2;border-radius:0 0 80px 0}.dining-gallery-item:nth-child(6n+3){grid-column:span 5;grid-row:span 2;border-radius:80px 0 0 0}.dining-gallery-item:nth-child(6n+4){grid-column:span 4;grid-row:span 2}.dining-gallery-item:nth-child(6n+5){grid-column:span 4;grid-row:span 2;border-radius:0 0 70px 0}.dining-gallery-item:nth-child(6n+6){grid-column:span 4;grid-row:span 2;border-radius:70px 0 0 0}.dining-gallery-item img{transition:transform .7s ease}.dining-gallery-item:hover img{transform:scale(1.055)}.dining-gallery-item span{position:absolute;right:16px;bottom:16px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.9);color:#4268aa;font-size:11px;font-weight:800}.dining-cta-section{padding:0 0 95px;background:#fff}.dining-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:48px;padding:65px 72px;border-radius:90px 0 90px 0;background:linear-gradient(135deg,#4268aa,#2f4f83);color:#fff}.dining-cta-inner .eyebrow{margin:0 0 18px;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff}.dining-cta-inner h2{max-width:720px;margin:0;color:#fff;font-size:clamp(39px,4vw,56px);font-weight:500;line-height:1;letter-spacing:-3px}.dining-cta-inner .btn-light{flex:0 0 auto;border-color:#fff;background:#fff;color:#2f4f83}@media(max-width:1024px){.dining-intro-heading,.dining-intro-grid,.dining-section-heading,.dining-settings-grid{grid-template-columns:1fr;gap:36px}.dining-intro-visual{min-height:590px}.dining-journey-grid{grid-template-columns:1fr 1fr}.dining-cta-inner{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.dining-page-hero{min-height:540px;padding:145px 0 68px}.dining-page-hero h1{font-size:47px;letter-spacing:-2.7px}.dining-page-hero p{font-size:15px}.dining-intro-section,.dining-journey-section,.dining-settings-section,.dining-gallery-section{padding:68px 0}.dining-intro-heading{margin-bottom:36px}.dining-intro-heading h2,.dining-section-heading h2,.dining-settings-copy h2{font-size:40px;letter-spacing:-2.2px}.dining-intro-visual{min-height:455px}.dining-intro-image{inset:0 44px 48px 0;border-radius:0 72px 0 0}.dining-intro-small{width:54%;height:41%;border-width:8px;border-radius:0 0 50px 0}.dining-journey-grid{grid-template-columns:1fr}.dining-settings-image{height:410px;border-radius:0 0 68px 0}.dining-settings-list>div{flex-direction:column;gap:5px}.dining-settings-list span{text-align:left}.dining-gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.dining-gallery-item:nth-child(n){grid-column:auto;grid-row:auto;height:280px;border-radius:0 55px 0 0}.dining-gallery-item:nth-child(even){border-radius:55px 0 0 0}.dining-cta-section{padding-bottom:70px}.dining-cta-inner{padding:48px 30px;border-radius:55px 0 55px 0}.dining-cta-inner h2{font-size:39px;letter-spacing:-2.1px}}
.dining-copy p {
    margin: 0 0 21px;
    color: #657792;
    font-size: 15px;
    line-height: 1.82;
    color: #425873;
    font-size: 17px;
    line-height: 1.76;
}
.dining-settings-list strong {
    color: #23354d;
    font-size: 18px;
    font-family: var(--font-display);
}
/* =========================================================
   DINING PAGE GALLERY – MOSAIC + LIGHTBOX
   ========================================================= */

.dining-gallery-section {
	padding: 96px 0 105px;
	background: #eef4fb;
}

.dining-gallery-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-rows: 105px;
	gap: 18px;
}

.dining-gallery-item {
	position: relative;
	display: block;
	overflow: hidden;
	border: 0;
	padding: 0;
	cursor: pointer;
	background: #dfe7f0;
}

.dining-gallery-item:nth-child(6n + 1) {
	grid-column: span 7;
	grid-row: span 4;
	border-radius: 0 95px 0 0;
}

.dining-gallery-item:nth-child(6n + 2) {
	grid-column: span 5;
	grid-row: span 2;
	border-radius: 0 0 78px 0;
}

.dining-gallery-item:nth-child(6n + 3) {
	grid-column: span 5;
	grid-row: span 2;
	border-radius: 78px 0 0 0;
}

.dining-gallery-item:nth-child(6n + 4) {
	grid-column: span 4;
	grid-row: span 3;
	border-radius: 0 0 70px 0;
}

.dining-gallery-item:nth-child(6n + 5) {
	grid-column: span 4;
	grid-row: span 3;
}

.dining-gallery-item:nth-child(6n + 6) {
	grid-column: span 4;
	grid-row: span 3;
	border-radius: 70px 0 0 0;
}

.dining-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .65s ease;
}

.dining-gallery-item::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(18, 59, 93, 0) 55%,
		rgba(18, 59, 93, .28) 100%
	);
	opacity: 0;
	transition: opacity .3s ease;
}

.dining-gallery-item:hover img {
	transform: scale(1.06);
}

.dining-gallery-item:hover::after {
	opacity: 1;
}

.dining-gallery-item span {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 2;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	color: #4268aa;
	font-size: 11px;
	font-weight: 800;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .3s ease, transform .3s ease;
}

.dining-gallery-item:hover span {
	opacity: 1;
	transform: translateY(0);
}

.dining-gallery-empty {
	padding: 45px;
	border: 1px solid #dce7f5;
	background: #fff;
	color: #6f7f95;
	text-align: center;
}

/* Dining lightbox */
.dining-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 70px;
	background: rgba(8, 24, 35, .94);
}

.dining-lightbox.is-open {
	display: flex;
}

body.dining-lightbox-open {
	overflow: hidden;
}

.dining-lightbox-stage {
	max-width: 1180px;
	max-height: calc(100vh - 120px);
}

.dining-lightbox-stage img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 120px);
	object-fit: contain;
}

.dining-lightbox-close,
.dining-lightbox-prev,
.dining-lightbox-next {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, .32);
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	font-size: 24px;
	cursor: pointer;
	transition: background .25s ease;
}

.dining-lightbox-close:hover,
.dining-lightbox-prev:hover,
.dining-lightbox-next:hover {
	background: #4268aa;
}

.dining-lightbox-close {
	top: 24px;
	right: 28px;
}

.dining-lightbox-prev {
	left: 28px;
	top: 50%;
	transform: translateY(-50%);
}

.dining-lightbox-next {
	right: 28px;
	top: 50%;
	transform: translateY(-50%);
}

.dining-lightbox-counter {
	position: absolute;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, .84);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
}

@media (max-width: 900px) {
	.dining-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 280px;
	}

	.dining-gallery-item:nth-child(n) {
		grid-column: auto;
		grid-row: auto;
		border-radius: 0 55px 0 0;
	}

	.dining-gallery-item:nth-child(even) {
		border-radius: 55px 0 0 0;
	}
}

@media (max-width: 640px) {
    section.dining-cta-section.reveal-section.is-visible {
    padding-bottom: 0px;
}
section.about-intro-section.reveal-section.is-visible {
    padding-top: 0px !important;
}section.about-details-section.reveal-section.is-visible {
    padding-top: 0px;
}

section.single-blog-main.reveal-section.is-visible {
    padding: 0px;
}
.single-blog-content ol li {
    margin-left: 15px !important;
}


section.about-details-section.reveal-section.is-visible {
    padding-bottom: 0px;
}
section.about-cta-section.reveal-section.is-visible {
    padding: 0px;
}
section.about-location-section.reveal-section.is-visible {
    padding-top: 0px;
    padding-bottom: 0px;
}
section.rooms-archive-intro.reveal-section.is-visible {
    padding-top: 0px;
    padding-bottom: 0px;
        border-bottom: 0px  ;
}section.rooms-listing-section.reveal-section.is-visible {
    padding: 0px;
}

section.single-room-amenities-section.reveal-section.is-visible {
    padding-bottom: 90px !important;
    margin-bottom: 0px;
}

	.dining-gallery-grid {
		grid-template-columns: 1fr;
		grid-auto-rows: 280px;
	}

	.dining-lightbox {
		padding: 68px 18px;
	}

	.dining-lightbox-prev {
		left: 12px;
	}

	.dining-lightbox-next {
		right: 12px;
	}

	.dining-lightbox-close {
		top: 12px;
		right: 12px;
	}
}

/* =========================================================
   HOME RESORT STATISTICS — FIX
   ========================================================= */
.home .resort-statistics,
.resort-statistics {
  position: relative;
  padding: 0 0 84px;
  background: #fff;
  border-bottom: 1px solid var(--line, #dce7f5);
}

.resort-statistics .container {
  width: min(1180px, 88%);
}

.resort-statistics .stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line, #dce7f5);
  border-left: 1px solid var(--line, #dce7f5);
  background: #fff;
}

.resort-statistics .stat-item {
  position: relative;
  min-height: 180px;
  padding: 34px 28px 30px;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: baseline;
  border-right: 1px solid var(--line, #dce7f5);
  border-bottom: 1px solid var(--line, #dce7f5);
  overflow: hidden;
}

.resort-statistics .stat-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 4px;
    background: var(--ink);
    transition: width .35s ease;
}
section#testimonials {
    padding-top: 0px;
}
section#explore-candolim {
    background: #fff !important;
    padding-bottom: 0px;
    margin-bottom: 0px !important;
}
.resort-statistics .stat-item:hover::before {
  width: 100%;
}
section#explore-candolim {
    background: #fff !important;
    padding-bottom: 0px;
    margin-bottom: 90px !important;
}

article.dining-card.reveal-section.is-visible {
    margin-bottom: 0px;
}
section#testimonials {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
}

section#faq {
    padding-top: 0px !important;
}
section#about {
    padding-top: 0px !important;
}
section#contact {
    margin-bottom: 0pc !important;
}

section.resort-statistics.reveal-section.is-visible {
    margin-bottom: 0px;
    border: 0px;
}
section.about-page-hero.reveal-section.is-visible {
    margin-bottom: 0px;
}
section#faq {
    padding-top: 0px;
    margin-top: 0px !important;
    padding-bottom: 0px !important;
    margin-bottom: 0px !important;
}
section#explore-candolim {
    padding-top: 0px !important;
}
.resort-statistics .stat-item strong {
  margin: 0;
  color: var(--brand-dark, #2f4f83);
  font-family: "Inter", sans-serif;
  font-size: clamp(42px, 4vw, 62px);
  font-weight: 500;
  line-height: .95;
  letter-spacing: -2.5px;    color: var(--ink);
}

.resort-statistics .stat-item > span {
  margin-left: 4px;
  color: var(--brand, #4268aa);
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.resort-statistics .stat-item p {
    flex: 0 0 100%;
    margin: 13px 0 0;
    color: var(--muted, #6f7f95);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .35px;
    text-transform: uppercase;
    font-family: var(--font-display);
}

@media (max-width: 900px) {
  .resort-statistics {
    padding-bottom: 64px;
  }

  .resort-statistics .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .resort-statistics .container {
    width: 90%;
  }

  .resort-statistics .stats-grid {
    grid-template-columns: 1fr;
  }

  .resort-statistics .stat-item {
    min-height: 145px;
    padding: 28px 24px;
  }

  .resort-statistics .stat-item strong {
    font-size: 48px;
  }
}
/* =========================================================
   SEA MIST — STRUCTURAL PAGE FIXES
   About, Blog, Single Blog, Footer and Homepage Gallery
   ========================================================= */

/* Shared page hero treatment */
.about-page-hero,
.blog-archive-hero,
.single-blog-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: flex-end;
  padding: 180px 0 82px;
  background-position: center;
  background-size: cover;
  overflow: hidden;
}

.about-page-hero-shade,
.blog-archive-hero-shade,
.single-blog-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(16, 38, 46, 0.82) 0%,
    rgba(16, 38, 46, 0.58) 48%,
    rgba(16, 38, 46, 0.18) 100%
  );
}

.about-page-hero-content,
.blog-archive-hero-content,
.single-blog-hero-content {
  position: relative;
  z-index: 2;
  max-width: 850px;
  margin-left: max(4%, calc((100vw - 1180px) / 2));
  margin-right: auto;
  color: #fff;
}

.about-page-hero-content .eyebrow,
.blog-archive-hero-content .eyebrow,
.single-blog-hero-content .eyebrow {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
}

.about-page-hero h1,
.blog-archive-hero h1,
.single-blog-hero h1 {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(48px, 6vw, 78px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -3px;
}

.about-page-hero p,
.blog-archive-hero p,
.single-blog-hero p {
  max-width: 650px;
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 17px;
}

/* About page */
.about-intro-section,
.about-details-section,
.about-highlights-section,
.about-location-section,
.about-access-section {
  padding: 96px 0;
}

.about-intro-section,
.about-highlights-section,
.about-access-section {
  background: #f7faff;
}

.about-intro-heading,
.about-section-heading {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 56px;
}

.about-intro-heading h2,
.about-section-heading h2,
.about-location-copy h2,
.about-access-copy h2,
.about-cta-inner h2 {
  font-size: clamp(38px, 4.5vw, 62px);
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -2px;
}

.about-intro-heading > p,
.about-section-heading p,
.about-location-copy p,
.about-access-copy p {
  color: var(--muted);
}

.about-intro-grid {
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: 70px;
  align-items: center;
}

.about-intro-copy p,
.about-content-block p,
.about-location-copy p,
.about-access-copy p {
  margin-bottom: 18px;
  color: var(--muted);
}

.about-intro-copy .btn {
  margin-top: 12px;
  background: var(--brand);
  color: #fff;
}

.about-intro-visuals {
  position: relative;
  min-height: 600px;
}

.about-intro-image {
  position: absolute;
  overflow: hidden;
  margin: 0;
}

.about-intro-image img,
.about-location-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-intro-image-main {
  inset: 0 80px 70px 0;
}

.about-intro-image-small {
  right: 0;
  bottom: 0;
  width: 45%;
  height: 260px;
  border: 12px solid #f7faff;
}

.about-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.about-content-block {
  min-height: 430px;
  padding: 52px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.about-content-number,
.about-highlight-number {
  display: block;
  margin-bottom: 30px;
  color: var(--brand);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
}

.about-content-block h3,
.about-highlight-card h3 {
  margin-bottom: 20px;
  color: var(--ink);
  font-size: 30px;
  line-height: 1.2;
  font-weight: 500;
}

.about-highlight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.about-highlight-card {
  min-height: 290px;
  padding: 34px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 18px 42px rgba(35, 53, 77, 0.07);
}

.about-highlight-card p {
  color: var(--muted);
}

.about-location-grid,
.about-access-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 70px;
  align-items: center;
}

.about-location-image {
  height: 620px;
  overflow: hidden;
}

.about-location-list,
.about-access-facts {
  margin-top: 28px;
  border-top: 1px solid var(--line);
}

.about-location-list > *,
.about-access-fact {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.about-access-fact {
    padding: 0px;
}
.about-access-label {
  color: var(--brand);
  font-weight: 700;
}

.about-cta-section,
.blog-archive-cta,
.single-blog-bottom-cta {
  padding: 70px 0;

}

.about-cta-inner,
.blog-archive-cta-inner,
.single-blog-bottom-cta-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;  background: linear-gradient(135deg, #4268aa, #2f4f83);
  color: #fff;
  padding: 70px  ;
}

.about-cta-inner .eyebrow,
.blog-archive-cta-inner .eyebrow,
.single-blog-bottom-cta-inner .eyebrow {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.1);
}

/* Blog archive */
.blog-archive {
  padding: 96px 0;
  background: #fff;
}

.blog-archive-heading {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 50px;
}

.blog-archive-heading h2 {
  font-size: clamp(38px, 4.5vw, 58px);
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -2px;
}

.blog-archive-heading > p {
  color: var(--muted);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.blog-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 18px 45px rgba(35, 53, 77, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 58px rgba(35, 53, 77, 0.14);
}

.blog-card-image {
  display: block;
  height: 270px;
  overflow: hidden;
}

.blog-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.blog-card:hover .blog-card-image img {
  transform: scale(1.05);
}

.blog-card-body {
  padding: 28px;
}

.blog-meta,
.single-blog-meta {
  color: var(--brand);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.blog-card-body h2 {
  margin: 12px 0 14px;
  font-size: 27px;
  line-height: 1.2;
  font-weight: 500;
}

.blog-card-body p {
  margin-bottom: 22px;
  color: var(--muted);
}

.text-link {
  color: var(--brand);
  font-size: 13px;
  font-weight: 800;
}

.blog-empty-state {
  grid-column: 1 / -1;
  padding: 50px;
  text-align: center;
  background: #f7faff;
}

/* Single blog */
.single-blog-main {
  padding: 96px 0;
}

.single-blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 72px;
  align-items: start;
}

.single-blog-content {
  color: #33445c;
  font-size: 17px;
  line-height: 1.85;
}

.single-blog-content > * {
  max-width: 780px;
}

.single-blog-content h2,
.single-blog-content h3,
.single-blog-content h4 {
  margin: 42px 0 18px;
  color: var(--ink);
  line-height: 1.2;
}

.single-blog-content h2 {
  font-size: 38px;
}

.single-blog-content h3 {
  font-size: 30px;
}

.single-blog-content p,
.single-blog-content ul,
.single-blog-content ol,
.single-blog-content blockquote,
.single-blog-content figure {
  margin-bottom: 24px;
}

.single-blog-content img {
  width: 100%;
  height: auto;
}

.single-blog-content blockquote {
  padding: 25px 30px;
  border-left: 4px solid var(--brand);
  background: #f7faff;
  font-size: 20px;
}

.single-blog-nav {
  margin-top: 52px;
  padding-top: 30px;
  border-top: 1px solid var(--line);
}

.single-blog-nav .nav-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.single-blog-nav a {
  display: block;
  padding: 20px;
  border: 1px solid var(--line);
}

.single-blog-nav .nav-next {
  text-align: right;
}

.single-blog-nav span {
  color: var(--brand);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.single-blog-sidebar {
  position: sticky;
  top: 110px;
}

.blog-sidebar-card {
  margin-bottom: 24px;
  padding: 28px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 18px 45px rgba(35, 53, 77, 0.08);
}

.blog-sidebar-heading h2 {
  margin-bottom: 24px;
  font-size: 30px;
  font-weight: 500;
}

.blog-sidebar-post {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 14px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

.blog-sidebar-post-image {
  height: 76px;
  overflow: hidden;
}

.blog-sidebar-post-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-sidebar-post-copy span {
  color: var(--brand);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.blog-sidebar-post-copy h3 {
  margin-top: 5px;
  font-size: 16px;
  line-height: 1.3;
}

.blog-sidebar-cta {
  background: var(--brand-dark);
  color: #fff;
}

.blog-sidebar-cta p {
  margin: 14px 0 22px;
  color: rgba(255, 255, 255, 0.78);
}

.blog-sidebar-cta .eyebrow {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
}

/* Homepage gallery repair */
.home-mosaic-section {
  padding: 96px 0 110px;
  background: #f7faff;
  border-radius: 0;
  overflow: hidden;
}

.home-gallery-heading {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 48px;
  align-items: end;
}

.seamist-mosaic-gallery {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(8, 72px) !important;
  gap: 7px !important;
  height: 625px !important;
  overflow: hidden !important;
}

.seamist-mosaic-item {
  position: relative !important;
  display: block !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
}

.seamist-mosaic-item img {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

.seamist-mosaic-item:nth-child(1) { grid-column: 1 / span 4; grid-row: 1 / span 5; }
.seamist-mosaic-item:nth-child(2) { grid-column: 1 / span 4; grid-row: 6 / span 3; }
.seamist-mosaic-item:nth-child(3) { grid-column: 5 / span 2; grid-row: 1 / span 3; }
.seamist-mosaic-item:nth-child(4) { grid-column: 5 / span 2; grid-row: 4 / span 5; }
.seamist-mosaic-item:nth-child(5) { grid-column: 7 / span 3; grid-row: 1 / span 5; }
.seamist-mosaic-item:nth-child(6) { grid-column: 7 / span 3; grid-row: 6 / span 3; }
.seamist-mosaic-item:nth-child(7) { grid-column: 10 / span 3; grid-row: 1 / span 2; }
.seamist-mosaic-item:nth-child(8) { grid-column: 10 / span 3; grid-row: 3 / span 3; }
.seamist-mosaic-item:nth-child(9) { grid-column: 10 / span 1; grid-row: 6 / span 3; }
.seamist-mosaic-item:nth-child(10) { grid-column: 11 / span 2; grid-row: 6 / span 3; }
.seamist-mosaic-item:nth-child(n + 11) { display: none !important; }

/* Footer class support */
.site-footer {
  background: #2f4f83;
  color: #fff;
}

.footer-brand p,
.award-note,
.site-footer a {
  color: rgba(255, 255, 255, 0.72);
}

.footer-social,
.payment-methods {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.footer-social a,
.payment-methods span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.floating-whatsapp {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 90;
}

@media (max-width: 980px) {
  .about-intro-heading,
  .about-section-heading,
  .about-intro-grid,
  .about-location-grid,
  .about-access-grid,
  .blog-archive-heading,
  .single-blog-layout {
    grid-template-columns: 1fr;
  }

  .about-highlight-grid,
  .blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-intro-visuals {
    min-height: 520px;
  }

  .single-blog-sidebar {
    position: static;
  }

  .seamist-mosaic-gallery {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(12, 58px) !important;
    height: 715px !important;
  }

  .seamist-mosaic-item:nth-child(1) { grid-column: 1 / span 4; grid-row: 1 / span 4; }
  .seamist-mosaic-item:nth-child(2) { grid-column: 5 / span 2; grid-row: 1 / span 3; }
  .seamist-mosaic-item:nth-child(3) { grid-column: 5 / span 2; grid-row: 4 / span 3; }
  .seamist-mosaic-item:nth-child(4) { grid-column: 1 / span 2; grid-row: 5 / span 4; }
  .seamist-mosaic-item:nth-child(5) { grid-column: 3 / span 4; grid-row: 5 / span 4; }
  .seamist-mosaic-item:nth-child(6) { grid-column: 1 / span 3; grid-row: 9 / span 4; }
  .seamist-mosaic-item:nth-child(7) { grid-column: 4 / span 3; grid-row: 9 / span 2; }
  .seamist-mosaic-item:nth-child(8) { grid-column: 4 / span 3; grid-row: 11 / span 2; }
  .seamist-mosaic-item:nth-child(n + 9) { display: none !important; }
}

@media (max-width: 640px) {
  .about-page-hero,
  .blog-archive-hero,
  .single-blog-hero {
    min-height: 500px;
    padding: 150px 0 60px;
  }

  .about-page-hero-content,
  .blog-archive-hero-content,
  .single-blog-hero-content {
    margin-left: 5%;
    margin-right: 5%;
  }

  .about-page-hero h1,
  .blog-archive-hero h1,
  .single-blog-hero h1 {
    font-size: 44px;
    letter-spacing: -2px;
  }

  .about-intro-section,
  .about-details-section,
  .about-highlights-section,
  .about-location-section,
  .about-access-section,
  .blog-archive,
  .single-blog-main {
    padding: 68px 0;
  }

  .about-details-grid,
  .about-highlight-grid,
  .blog-grid {
    grid-template-columns: 1fr;
  }

  .about-content-block {
    min-height: auto;
    padding: 32px 25px;
  }

  .about-intro-visuals {
    min-height: 430px;
  }

  .about-intro-image-main {
    inset: 0 35px 65px 0;
  }

  .about-intro-image-small {
    width: 52%;
    height: 190px;
    border-width: 8px;
  }

  .about-location-image {
    height: 420px;
  }

  .about-cta-inner,
  .blog-archive-cta-inner,
  .single-blog-bottom-cta-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .single-blog-nav .nav-links {
    grid-template-columns: 1fr;
  }

  .single-blog-nav .nav-next {
    text-align: left;
  }

  .home-gallery-heading {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .seamist-mosaic-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(12, 82px) !important;
    height: 1020px !important;
    gap: 5px !important;
  }

  .seamist-mosaic-item:nth-child(1) { grid-column: 1 / span 2; grid-row: 1 / span 3; }
  .seamist-mosaic-item:nth-child(2) { grid-column: 1; grid-row: 4 / span 2; }
  .seamist-mosaic-item:nth-child(3) { grid-column: 2; grid-row: 4 / span 3; }
  .seamist-mosaic-item:nth-child(4) { grid-column: 1; grid-row: 6 / span 3; }
  .seamist-mosaic-item:nth-child(5) { grid-column: 2; grid-row: 7 / span 2; }
  .seamist-mosaic-item:nth-child(6) { grid-column: 1 / span 2; grid-row: 9 / span 2; }
  .seamist-mosaic-item:nth-child(7) { grid-column: 1; grid-row: 11 / span 2; }
  .seamist-mosaic-item:nth-child(8) { grid-column: 2; grid-row: 11 / span 2; }
  .seamist-mosaic-item:nth-child(n + 9) { display: none !important; }
}

/* =========================================================
   HOME FAQ SECTION
   ========================================================= */

.home .faq-section {
  padding: 100px 0;
  background: #ffffff;
}

.home .faq-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 72px;
  align-items: start;
}

.home .faq-intro {
  position: sticky;
  top: 120px;
}

.home .faq-intro .section-title {
  max-width: 470px;
  margin: 0;
}

.home .faq-intro p {
  max-width: 430px;
  margin: 22px 0 0;
  color: var(--muted, #6f7f95);
  font-size: 16px;
  line-height: 1.8;
}

.home .faq-list {
  border-top: 1px solid var(--line, #dce7f5);
}

.home .faq-list details {
  margin: 0;
  border-bottom: 1px solid var(--line, #dce7f5);
  background: transparent;
}

.home .faq-list summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 84px;
  padding: 24px 58px 24px 0;
  color: var(--ink, #23354d);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;    
  font-family: var(--font-display);
}

.home .faq-list summary::-webkit-details-marker {
  display: none;
}

.home .faq-list summary::before,
.home .faq-list summary::after {
  content: "";
  position: absolute;
  right: 5px;
  top: 50%;
  width: 18px;
  height: 2px;
  background: var(--brand, #4268aa);
  transform: translateY(-50%);
  transition: transform 0.25s ease;
}

.home .faq-list summary::after {
  transform: translateY(-50%) rotate(90deg);
}

.home .faq-list details[open] summary::after {
  transform: translateY(-50%) rotate(0deg);
}

.home .faq-list details[open] summary {
  color: var(--brand-dark, #2f4f83);
}

.home .faq-list details p {
  max-width: 720px;
  margin: 0;
  padding: 0 58px 28px 0;
  color: var(--muted, #6f7f95);
  font-size: 15px;
  line-height: 1.85;
}

.home .faq-list details[open] p {
  animation: seamistFaqReveal 0.28s ease;
}

@keyframes seamistFaqReveal {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 900px) {
  .home .faq-layout {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .home .faq-intro {
    position: static;
  }
}

@media (max-width: 600px) {
  .home .faq-section {
    padding: 72px 0;
  }

  .home .faq-list summary {
    min-height: 72px;
    padding: 20px 44px 20px 0;
    font-size: 16px;
  }

  .home .faq-list summary::before,
  .home .faq-list summary::after {
    right: 2px;
    width: 15px;
  }

  .home .faq-list details p {
    padding: 0 36px 22px 0;
    font-size: 14px;
  }
}

/* =========================================================
   SEA MIST DESIGN ENHANCEMENTS
   Typography, footer, WhatsApp and motion effects
   ========================================================= */

:root {
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "Montserrat", Arial, sans-serif;
  --whatsapp: #25d366;
  --whatsapp-dark: #128c7e;
}

body {
  font-family: var(--font-body);
 
  transition: opacity 0.38s ease;
}

body.page-loaded {
  opacity: 1;
}

body.page-leaving {
  opacity: 1;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.hero-copy h1,
.page-hero h1,
.room-card h3,
.blog-card h2,
.blog-card h3 {
  font-family: var(--font-display);
  font-weight: 600;
}

p,
a,
button,
input,
select,
textarea,
label,
.eyebrow {
  font-family: var(--font-body);
}

.hero-copy h1,
.page-hero h1,
.section-title {
  letter-spacing: -0.035em !important;
}

.room-card,
.blog-card,
.experience-card,
.dining-card,
.testimonial-card {
  transition:
    transform 0.38s ease,
    box-shadow 0.38s ease,
    background-color 0.38s ease;
}

.room-card:hover,
.blog-card:hover,
.dining-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 54px rgba(35, 53, 77, 0.14);
}

.room-card img,
.blog-card img,
.dining-card img {
  transition: transform 0.7s ease;
}

.room-card:hover img,
.blog-card:hover img,
.dining-card:hover img {
  transform: scale(1.045);
}

/* Motion and parallax */
.reveal-section { 
  transform: translateY(30px);
  transition:
    opacity 0.75s ease,
    transform 0.75s ease;
}

.reveal-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.parallax-frame {
  position: relative;
  overflow: hidden;
}

.parallax-frame > img {
  will-change: transform;
  transform: scale(1.08);
}

.hero-slide img,
.page-hero-media img,
.room-hero-media img {
  animation: seamistSlowZoom 16s ease-in-out infinite alternate;
}

@keyframes seamistSlowZoom {
  from {
    transform: scale(1.02);
  }
  to {
    transform: scale(1.10);
  }
}

/* Strong footer */
.site-footer {
  padding: 86px 0 26px;
  background: #233f70;
  border-radius: 0;
}

.footer-map-wrap {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  min-height: 350px;
  margin-bottom: 68px;
  overflow: hidden;
  background: #ffffff;
  color: #23354d;
  box-shadow: 0 24px 65px rgba(9, 29, 61, 0.2);
}

.footer-map-copy {
  padding: clamp(36px, 5vw, 68px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #f7faff;
}

.footer-kicker {
  margin-bottom: 15px;
  color: #4268aa;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.footer-map-copy h2 {
  max-width: 470px;
  margin-bottom: 18px;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1;
  color: #23354d;
}

.footer-map-copy p {
  max-width: 420px;
  margin-bottom: 22px;
  color: #6f7f95;
}

.footer-directions {
  display: inline-flex !important;
  width: fit-content;
  color: #4268aa !important;
  font-weight: 700;
}

.footer-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 350px;
  filter: saturate(0.78) contrast(1.02);
}

.footer-grid-strong {
  grid-template-columns: 1.4fr 1fr 0.8fr 1fr 1.15fr;
  gap: 42px;
}

.site-footer h4 {
  margin-bottom: 17px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.footer-brand img {
    width: auto;
    max-width: 180px;
    height: 72px;
    object-fit: contain;
    background: #ffffff;
    border-radius: 5px;
}

.footer-brand p {
  max-width: 290px;
  margin: 18px 0 20px;
}

.footer-social a {
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  transition: 0.3s ease;
}

.footer-social a:hover {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.1);
}

.footer-social svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}

.footer-recognition {
  display: grid;
  gap: 10px;
}

.footer-recognition span {
  display: flex;
  gap: 9px;
  align-items: baseline;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
}

.footer-recognition strong {
  min-width: 52px;
  color: #ffffff;
  font-size: 15px;
}

.footer-payment-title {
  margin-top: 26px;
}

.payment-methods span {
  min-height: 34px;
  padding: 6px 9px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

/* Fixed WhatsApp icon */
.floating-whatsapp {
  right: 24px;
  bottom: 24px;
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 3px solid #ffffff;
  border-radius: 50%;
  background: var(--whatsapp);
  color: #ffffff;
  box-shadow: 0 12px 32px rgba(18, 140, 126, 0.36);
  transition:
    width 0.32s ease,
    border-radius 0.32s ease,
    background-color 0.32s ease,
    transform 0.32s ease;
}

.floating-whatsapp svg {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  fill: currentColor;
}

.floating-whatsapp span {
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 700;
  transition:
    max-width 0.3s ease,
    opacity 0.3s ease,
    margin-left 0.3s ease;
}

.floating-whatsapp:hover {
  width: 150px;
  justify-content: flex-start;
  padding: 0 17px;
  border-radius: 999px;
  background: var(--whatsapp-dark);
  transform: translateY(-4px);
}

.floating-whatsapp:hover span {
  max-width: 90px;
  margin-left: 8px;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 1100px) {
  .footer-grid-strong {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  .footer-map-wrap {
    grid-template-columns: 1fr;
  }

  .footer-map iframe {
    min-height: 300px;
  }

  .footer-grid-strong {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .site-footer {
    padding-top: 58px;
  }

  .footer-map-wrap {
    margin-bottom: 50px;
  }

  .footer-grid-strong {
    grid-template-columns: 1fr;
  }

  .floating-whatsapp,
  .floating-whatsapp:hover {
    right: 16px;
    bottom: 16px;
    width: 54px;
    height: 54px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
    transform: none;
  }

  .floating-whatsapp span,
  .floating-whatsapp:hover span {
    display: none;
  }
}

/* =========================================================
   SEA MIST ABOUT PAGE — FINAL IMAGE CORNERS + LAYOUT FIX
   Keep this block at the end of style.css so it overrides
   earlier About-page experiments.
   ========================================================= */

.about-page {
  overflow: hidden;
}

/* Keep headings and body aligned with the homepage */
.about-page h1,
.about-page h2,
.about-page h3 {
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
}

.about-page p,
.about-page a,
.about-page span,
.about-page strong {
  font-family: "Montserrat", "Poppins", Arial, sans-serif;
}

/* Opening section */
.about-intro-section {
  background: #ffffff !important;
}

.about-intro-grid {
  align-items: center !important;
}

.about-intro-visuals {
  position: relative;
  min-height: 620px;
}

/* Main pool image: rounded top-right only */
.about-intro-image-main {
  inset: 0 92px 72px 0 !important;
  overflow: hidden;
  border-radius: 0 120px 0 0 !important;
  box-shadow: 0 24px 60px rgba(35, 53, 77, 0.12);
}

/* Small room image: opposite corner, rounded bottom-left */
.about-intro-image-small {
  right: 0 !important;
  bottom: 0 !important;
  width: 47% !important;
  height: 43% !important;
  overflow: hidden;
  border: 12px solid #ffffff !important;
  border-radius: 0 0 0 72px !important;
  box-shadow: 0 20px 45px rgba(35, 53, 77, 0.16);
}

.about-intro-image img,
.about-location-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}

.about-intro-image:hover img,
.about-location-image:hover img {
  transform: scale(1.045);
}

/* Location image: opposite diagonal corner treatment */
.about-location-image {
  position: relative;
  height: 590px !important;
  overflow: hidden;
  border-radius: 110px 0 0 0 !important;
  box-shadow: 0 26px 65px rgba(35, 53, 77, 0.13);
}

/* Give the following section an opposing shape */
.about-access-section {
  border-radius: 0 105px 0 0;
}

/* Cards use alternating opposite corners */
.about-content-block {
  overflow: hidden;
}

.about-content-block:first-child {
  border-radius: 80px 0 0 0;
}

.about-content-block:last-child {
  border-radius: 0 0 80px 0;
}

.about-highlight-card {
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.about-highlight-card:nth-child(1),
.about-highlight-card:nth-child(3) {
  border-radius: 65px 0 0 0;
}

.about-highlight-card:nth-child(2),
.about-highlight-card:nth-child(4) {
  border-radius: 0 0 65px 0;
}

.about-highlight-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 22px 48px rgba(35, 53, 77, 0.12);
}

/* CTA keeps the same opposite-corner language as the homepage */
.about-cta-inner {
  border-radius: 90px 0 90px 0 !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .about-intro-visuals {
    min-height: 590px;
  }

  .about-intro-image-main {
    inset: 0 82px 68px 0 !important;
    border-radius: 0 100px 0 0 !important;
  }

  .about-intro-image-small {
    width: 46% !important;
    height: 41% !important;
    border-radius: 0 0 0 62px !important;
  }

  .about-location-image {
    height: 520px !important;
    border-radius: 95px 0 0 0 !important;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .about-intro-visuals {
    min-height: 470px !important;
  }

  .about-intro-image-main {
    inset: 0 44px 52px 0 !important;
    border-radius: 0 72px 0 0 !important;
  }

  .about-intro-image-small {
    width: 56% !important;
    height: 39% !important;
    border-width: 8px !important;
    border-radius: 0 0 0 48px !important;
  }

  .about-location-image {
    height: 410px !important;
    border-radius: 68px 0 0 0 !important;
  }

  .about-content-block:first-child,
  .about-highlight-card:nth-child(n) {
    border-radius: 48px 0 0 0;
  }

  .about-content-block:last-child,
  .about-highlight-card:nth-child(even) {
    border-radius: 0 0 48px 0;
  }

  .about-access-section {
    border-radius: 0 65px 0 0;
  }

  .about-cta-inner {
    border-radius: 55px 0 55px 0 !important;
  }
}

/* =========================================================
   ABOUT INTRO — FINAL OVERLAPPING IMAGE COMPOSITION
   This block must remain at the very end of style.css.
   ========================================================= */

.about-page .about-intro-section {
  position: relative;
  padding: 92px 0 120px !important;
  background: #ffffff !important;
  overflow: hidden;
}

.about-page .about-intro-section > .container {
  width: min(1180px, 90%);
}

/* Heading remains above the split content */
.about-page .about-intro-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr) !important;
  gap: 70px !important;
  align-items: end !important;
  margin-bottom: 58px !important;
}

.about-page .about-intro-heading > div:first-child {
  max-width: 670px;
}

.about-page .about-intro-heading h2 {
  max-width: 650px;
  margin: 0;
}

.about-page .about-intro-heading > p {
  max-width: 390px;
  margin: 0 0 6px auto;
}

/* Text left, image composition right */
.about-page .about-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.82fr) minmax(460px, 1.18fr) !important;
  gap: 82px !important;
  align-items: center !important;
}

.about-page .about-intro-copy {
  position: relative;
  z-index: 3;
  max-width: 510px;
  padding: 24px 0 44px;
}

.about-page .about-intro-copy p {
  margin: 0 0 22px;
}

.about-page .about-intro-copy .btn {
  margin-top: 4px;
}

/* Fixed canvas for the two overlapping images */
.about-page .about-intro-visuals {
  position: relative !important;
  width: 100% !important;
  min-height: 610px !important;
  height: 610px !important;
  margin: 0 !important;
  overflow: visible !important;
}

/* Large image */
.about-page .about-intro-image-main {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  width: 84% !important;
  height: 520px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 100px 0 0 0 !important;
  background: #eaf0f7;
  box-shadow: 0 28px 68px rgba(35, 53, 77, 0.14);
  z-index: 1;
}

/* Small room image overlaps the lower-right of the main image */
.about-page .about-intro-image-small {
  position: absolute !important;
  top: auto !important;
  right: -18px !important;
  bottom: 0 !important;
  left: auto !important;
  width: 43% !important;
  height: 245px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 6px solid #ffffff !important;
  border-radius: 0 0 82px 0 !important;
  background: #ffffff;
  box-shadow: 0 24px 58px rgba(35, 53, 77, 0.22);
  z-index: 4;
}
.about-location-copy a.btn.btn-primary {
    color: #fff;
    margin-top: 15px;
}
.about-page .about-intro-image-main img,
.about-page .about-intro-image-small img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

/* Opposite-corner detail:
   large image = top-left rounded
   small image = bottom-right rounded */
.about-page .about-intro-image-main:hover img,
.about-page .about-intro-image-small:hover img {
  transform: scale(1.04);
}

/* Ensure later sections do not cover the overlapping image */
.about-page .about-details-section {
  position: relative;
  z-index: 2;
  clear: both;
}

/* Large screens */
@media (min-width: 1300px) {
  .about-page .about-intro-grid {
    grid-template-columns: minmax(0, 0.78fr) minmax(520px, 1.22fr) !important;
    gap: 96px !important;
  }

  .about-page .about-intro-visuals {
    min-height: 650px !important;
    height: 650px !important;
  }

  .about-page .about-intro-image-main {
    height: 555px !important;
  }

  .about-page .about-intro-image-small {
    width: 42% !important;
    height: 260px !important;
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .about-page .about-intro-heading {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    margin-bottom: 44px !important;
  }

  .about-page .about-intro-heading > p {
    margin-left: 0;
  }

  .about-page .about-intro-grid {
    grid-template-columns: minmax(0, 0.82fr) minmax(400px, 1.18fr) !important;
    gap: 48px !important;
  }

  .about-page .about-intro-visuals {
    min-height: 530px !important;
    height: 530px !important;
  }

  .about-page .about-intro-image-main {
   
    height: 455px !important;
    border-radius: 82px 0 0 0 !important;
  }

  .about-page .about-intro-image-small {
    right: -8px !important;
    width: 46% !important;
    height: 215px !important;
    border-width: 10px !important;
    border-radius: 0 0 66px 0 !important;
  }
}

/* Stack cleanly on smaller screens while retaining overlap */
@media (max-width: 820px) {
  .about-page .about-intro-section {
    padding: 72px 0 90px !important;
  }

  .about-page .about-intro-grid {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }

  .about-page .about-intro-copy {
    max-width: 650px;
    padding-bottom: 0;
  }

  .about-page .about-intro-visuals {
    width: min(650px, 100%) !important;
    min-height: 570px !important;
    height: 570px !important;
    margin: 0 auto !important;
  }

  .about-page .about-intro-image-main {
    width:100% !important;
    height: 490px !important;
  }

  .about-page .about-intro-image-small {
    right: 0 !important;
    width: 44% !important;
    height: 225px !important;
  }
}
 section.about-details-section.reveal-section.is-visible {
    padding-top: 0px !important;
}
section.about-intro-section.reveal-section.is-visible {
    margin-bottom: 0px !important;
}
section.about-details-section.reveal-section.is-visible {
    padding-top: 0px !important;
    margin-bottom: 0px !important;
}
section.about-location-section.reveal-section.is-visible {
    padding-top: 0px !important;
}
section.about-location-section.reveal-section.is-visible {
    margin-bottom: 0px !important;
}
section.single-room-amenities-section.reveal-section.is-visible {
    margin-bottom: 0px;
}
section.dining-intro-section.reveal-section.is-visible {
    padding-top: 0px;
    padding-bottom: 0px;
}
section.dining-settings-section.reveal-section.is-visible {
    padding-top: 0px;
    padding-bottom: 0px;
}
.container.blog-archive-cta-inner {
    border-radius: 90px 0 90px 0;
}
section.blog-archive-cta.reveal-section.is-visible h2 {
    font-size: clamp(38px, 4.5vw, 62px);
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: -2px;
}
section.blog-archive.reveal-section.is-visible {
    margin-bottom: 0px !important;
}
section.blog-archive-cta.reveal-section.is-visible {
    padding-bottom: 0px;
    padding-top: 0px;
}

.blog-card-body h2 a {
    font-family: var(--font-display);
}
.blog-sidebar-post-copy h3 a {
    font-family: var(--font-display);
    font-size: 18px;
}

.blog-sidebar-post-image {
    height: 100px;
    overflow: hidden;
}
.blog-sidebar-cta {
    background: var(--brand-dark);
    color: #fff;
    border-radius: 90px 0 90px 0 !important;
}
.container.single-blog-bottom-cta-inner h2 {
    font-size: clamp(38px, 4.5vw, 62px);
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: -2px;
}
section.single-blog-bottom-cta.reveal-section.is-visible {
    padding-top: 0px !important;
}
section.single-blog-main.reveal-section.is-visible {
    margin-bottom: 0px !important;
}
section.single-blog-bottom-cta.reveal-section.is-visible {
    padding-bottom: 0px;
}
section.single-blog-main.reveal-section.is-visible {
    padding-top: 0px !important;
}

section.contact-details-section.reveal-section.is-visible {
    padding-top: 0px !important;
}

section.contact-details-section.reveal-section.is-visible {
    padding-bottom: 0px !important;
}
section.contact-enquiry-section.reveal-section.is-visible {
    margin-bottom: 0px !important;
    padding-bottom: 0px;
}

section.contact-bottom-cta.section.reveal-section.is-visible {
    padding-bottom: 0;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner.btn.btn-primary.contact-submit {
    justify-self: start;
    width: 160px;
    margin-top: 4px;
    border: 0;
    background: #4268aa;
    color: #fff !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 22px;
    border-radius: 999px;
    border: 1px solid var(--deep);
    font-size: 13px;
    font-weight: 700;
    transition: 0.3s;
}

.contact-form textarea {
    min-height: 145px;
    resize: vertical;
    height: 150px;
}
.blog-sidebar-cta {
    background: var(--brand-dark);
    color: #fff;
    border-radius: 90px 0 90px 0 !important;
    padding: 60px 30px;
}
.container.single-blog-bottom-cta-inner a.btn.btn-light {
    width: 200px;
    padding: 15px;
}
.container.single-blog-bottom-cta-inner{
    
    border-radius: 90px 0 90px 0 !important;
}
section.blog-archive-cta.reveal-section.is-visible a.btn.btn-light {
    width: 200px;
}
section.dining-cta-section.reveal-section.is-visible {
    margin-bottom: 0px !important;
}

section.blog-archive-cta.reveal-section.is-visible {
    padding-bottom: 0px;
}
section.blog-archive.reveal-section.is-visible {
      padding-top: 0px;
    padding-bottom: 0px;
}
section.rooms-archive-intro.reveal-section.is-visible {
    padding-top: 0px !important;
    margin-bottom: 0px !important;
}
section.about-cta-section.reveal-section.is-visible {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}
/* Mobile */
@media (max-width: 560px) {
  .about-page .about-intro-section {
    padding: 58px 0 72px !important;
  }

  .about-page .about-intro-heading {
    margin-bottom: 34px !important;
  }

  .about-page .about-intro-visuals {
    min-height: 435px !important;
    height: 435px !important;
  }

  .about-page .about-intro-image-main {
 
    height: 365px !important;
    border-radius: 58px 0 0 0 !important;
  }

  .about-page .about-intro-image-small {
    right: 0 !important;
    width: 52% !important;
    height: 178px !important;
    border-width: 7px !important;
    border-radius: 0 0 46px 0 !important;
  }
}

.container.contact-cta.section h2 {
    color: #23354d;
}
.copyright a {
    display: inline;
}

/*--------------------------------------------------------------
# Easy To Reach
--------------------------------------------------------------*/

.about-access-section{
    padding:110px 0;
    background:#f7faff;
}

.about-access-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:center;
}

.about-access-image{
    position:relative;
}

.about-access-image img{
    width:100%;
    display:block;
    border-radius:110px 0 110px 0;
    box-shadow:0 30px 70px rgba(0,0,0,.12);
    transition:.5s;
}

.about-access-image:hover img{
    transform:scale(1.02);
}

.about-access-copy .eyebrow{
    margin-bottom:18px;
}

.about-access-copy h2{
    max-width:540px;
    margin-bottom:24px;
}

.about-access-copy p{
    margin-bottom:22px;
}

.about-access-facts{
    margin-top:40px;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.about-access-fact{
    display:flex;
    justify-content:space-between;
    align-items:center; 
    border-bottom:1px solid #d9e4f2;
}

.about-access-fact strong{
    font-size:26px;
    font-family:"Cormorant Garamond",serif;
    color:#23354d;
    font-weight:700;
}

.about-access-fact span{
    color:#667891;
    font-size:15px;
}

/* Tablet */

@media(max-width:992px){

.about-access-grid{
    grid-template-columns:1fr;
    gap:50px;
}

.about-access-image{
    order:1;
}

.about-access-copy{
    order:2;
}

}

/* Mobile */

@media(max-width:576px){

.about-access-section{
    padding:70px 0;
}

.about-access-image img{
    border-radius:70px 0 70px 0;
}

.about-access-fact{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
}

}
.dining-gallery-item {
    border-radius: 0 !important;
}

.reveal-section { 
    margin-bottom: 90px;
}

section.rooms-listing-section.reveal-section.is-visible {
    padding-bottom: 0px;
}
article.room-card.reveal-section.is-visible {
    margin-bottom: 0px;
}
section#rooms {
    margin-bottom: 0px;
}

/* =========================================================
   HOMEPAGE MOSAIC GALLERY POPUP
========================================================= */

.seamist-mosaic-item {
	appearance: none;
	-webkit-appearance: none;
	padding: 0;
	border: 0;
	font-family: inherit;
	cursor: pointer;
	background: #dfe7f0;
}

.seamist-mosaic-item img {
	transition: transform 0.55s ease;
}

.seamist-mosaic-item:hover img {
	transform: scale(1.055);
}

.home-gallery-hover {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	padding: 14px;
	color: #ffffff;
	opacity: 0;
	background:
		linear-gradient(
			180deg,
			rgba(5, 20, 34, 0) 35%,
			rgba(5, 20, 34, 0.75) 100%
		);
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.home-gallery-hover span {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	transform: translateY(8px);
	transition: transform 0.3s ease;
}

.seamist-mosaic-item:hover .home-gallery-hover {
	opacity: 1;
}

.seamist-mosaic-item:hover .home-gallery-hover span {
	transform: translateY(0);
}

.seamist-mosaic-item:focus-visible {
	outline: 4px solid #4268aa;
	outline-offset: -4px;
}


/* Prevent page scrolling while popup is open */
body.home-gallery-lightbox-open {
	overflow: hidden;
}


/* Popup container */
.home-gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 25px;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition:
		opacity 0.3s ease,
		visibility 0.3s ease;
}

.home-gallery-lightbox.is-open {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.home-gallery-lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 15, 25, 0.96);
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
}


/* Popup layout */
.home-gallery-lightbox-inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 65px minmax(0, 1fr) 65px;
	grid-template-rows: auto minmax(0, 1fr);
	width: min(1400px, 100%);
	height: min(900px, calc(100vh - 50px));
}

.home-gallery-lightbox-header {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 58px;
	padding-bottom: 12px;
}

.home-gallery-lightbox-information {
	display: flex;
	align-items: center;
	gap: 18px;
}

.home-gallery-lightbox-title {
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.home-gallery-lightbox-counter {
	color: rgba(255, 255, 255, 0.6);
	font-size: 12px;
}


/* Main image */
.home-gallery-lightbox-stage {
	grid-column: 2;
	grid-row: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 0;
}

.home-gallery-lightbox-stage img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 175px);
	object-fit: contain;
	opacity: 0;
	transform: scale(0.98);
	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}

.home-gallery-lightbox-stage img.is-loaded {
	opacity: 1;
	transform: scale(1);
}

.home-gallery-lightbox-caption {
	max-width: 850px;
	margin-top: 14px;
	color: rgba(255, 255, 255, 0.74);
	font-size: 13px;
	line-height: 1.6;
	text-align: center;
}


/* Popup buttons */
.home-gallery-lightbox-close,
.home-gallery-lightbox-prev,
.home-gallery-lightbox-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 50%;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.08);
	cursor: pointer;
	transition:
		background-color 0.3s ease,
		border-color 0.3s ease,
		transform 0.3s ease;
}

.home-gallery-lightbox-close:hover,
.home-gallery-lightbox-prev:hover,
.home-gallery-lightbox-next:hover {
	border-color: rgba(255, 255, 255, 0.85);
	background: rgba(255, 255, 255, 0.18);
}

.home-gallery-lightbox-close {
	width: 45px;
	height: 45px;
	font-size: 31px;
	font-weight: 300;
	line-height: 1;
}

.home-gallery-lightbox-prev,
.home-gallery-lightbox-next {
	align-self: center;
	width: 50px;
	height: 50px;
	font-size: 22px;
}

.home-gallery-lightbox-prev {
	grid-column: 1;
	grid-row: 2;
	justify-self: start;
}

.home-gallery-lightbox-next {
	grid-column: 3;
	grid-row: 2;
	justify-self: end;
}

.home-gallery-lightbox-prev:hover {
	transform: translateX(-3px);
}

.home-gallery-lightbox-next:hover {
	transform: translateX(3px);
}


/* Tablet */
@media screen and (max-width: 780px) {

	.home-gallery-lightbox {
		padding: 13px;
	}

	.home-gallery-lightbox-inner {
		grid-template-columns: 47px minmax(0, 1fr) 47px;
		height: calc(100vh - 26px);
	}

	.home-gallery-lightbox-prev,
	.home-gallery-lightbox-next {
		width: 40px;
		height: 40px;
	}

}


/* Mobile */
@media screen and (max-width: 520px) {

	.home-gallery-hover {
		display: none;
	}

	.home-gallery-lightbox-inner {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto minmax(0, 1fr) auto;
	}

	.home-gallery-lightbox-header {
		grid-column: 1 / -1;
	}

	.home-gallery-lightbox-stage {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.home-gallery-lightbox-prev {
		grid-column: 1;
		grid-row: 3;
		justify-self: start;
		margin-top: 10px;
	}

	.home-gallery-lightbox-next {
		grid-column: 2;
		grid-row: 3;
		justify-self: end;
		margin-top: 10px;
	}

	.home-gallery-lightbox-stage img {
		max-height: calc(100vh - 190px);
	}

	.home-gallery-lightbox-title {
		font-size: 10px;
	}

}
section.gallery-intro-section.reveal-section.is-visible {
    padding-top: 0px;
}
section.gallery-intro-section.reveal-section.is-visible {
    margin-bottom: 0px;
}

/* =========================================================
   HOMEPAGE SWIMMING POOL SECTION
========================================================= */
.home-pool-section {
    position: relative;
    overflow: hidden;
    padding: 115px 0;
    background: #eef5ff;
}

.home-pool-section::before {
    content: "";
    position: absolute;
    top: -170px;
    right: -140px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: #dfe9f7;
    pointer-events: none;
}

section#gallery {
    margin-top:90px;
    background: #dfe9f7;
    border-radius: 0 100px 0 100px;
}
.home-pool-layout {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
	gap: clamp(55px, 7vw, 100px);
	align-items: center;
}


/* Images */

.home-pool-visual {
	position: relative;
	min-height: 670px;
}

.home-pool-main-image {
	position: absolute;
	inset: 0 76px 70px 0;
	overflow: hidden;
	border-radius: 0 150px 0 0;
	box-shadow: 0 30px 75px rgba(35, 53, 77, 0.17);
}

.home-pool-main-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s ease;
}

.home-pool-section:hover .home-pool-main-image img {
	transform: scale(1.035);
}

.home-pool-small-image {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 3;
	width: 245px;
	height: 285px;
	overflow: hidden;
	border: 10px solid #ffffff;
	border-radius: 90px 0 0 0;
	box-shadow: 0 24px 55px rgba(35, 53, 77, 0.18);
}

.home-pool-small-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-pool-badge {
	position: absolute;
	top: 42px;
	right: 20px;
	z-index: 4;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 135px;
	height: 135px;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 50%;
	color: #ffffff;
	text-align: center;
	background: rgba(29, 53, 87, 0.84);
	box-shadow: 0 18px 40px rgba(18, 59, 93, 0.2);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.home-pool-badge span {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.home-pool-badge strong {
	margin-top: 3px;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 25px;
	font-weight: 500;
}


/* Content */

.home-pool-content {
	max-width: 590px;
}

.home-pool-content .eyebrow {
	margin-bottom: 23px;
}

.home-pool-content .section-title {
	margin: 0 0 18px;
	color: #23354d;
	font-size: clamp(48px, 5vw, 72px);
	line-height: 0.98;
}

.home-pool-lead {
	max-width: 530px;
	margin: 0 0 25px;
	color: #395b8e;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(24px, 2.2vw, 32px);
	line-height: 1.25;
}

.home-pool-description {
	color: #6f7f95;
	font-size: 15px;
	line-height: 1.85;
}

.home-pool-description p {
	margin: 0 0 16px;
}

.home-pool-description p:last-child {
	margin-bottom: 0;
}


/* Feature rows */

.home-pool-features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 34px 0;
}

.home-pool-feature {
	display: grid;
	grid-template-columns: 45px minmax(0, 1fr);
	gap: 13px;
	align-items: start;
	padding-top: 18px;
	border-top: 1px solid #dce7f5;
}

.home-pool-feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 39px;
	height: 39px;
	border-radius: 50%;
	color: #ffffff;
	background: #4268aa;
	font-size: 11px;
	font-weight: 700;
}

.home-pool-feature strong {
	display: block;
	margin-bottom: 4px;
	color: #23354d;
	font-size: 14px;
}

.home-pool-feature p {
	margin: 0;
	color: #78879a;
	font-size: 12px;
	line-height: 1.6;
}

.home-pool-button {
	margin-top: 2px;
	background: #2f4f83;
	color: #ffffff;
}

.home-pool-button:hover {
	background: #4268aa;
	color: #ffffff;
}


/* Tablet */

@media screen and (max-width: 980px) {

	.home-pool-section {
		padding: 85px 0;
	}

	.home-pool-layout {
		grid-template-columns: 1fr;
		gap: 55px;
	}

	.home-pool-visual {
		min-height: 620px;
	}

	.home-pool-content {
		max-width: 760px;
	}

}


/* Mobile */

@media screen and (max-width: 640px) {
    section.single-blog-main.reveal-section {
    padding-top: 0px;
}
section.about-highlights-section.reveal-section.is-visible {
    padding: 68px 30px;
}
 section.single-blog-main.reveal-section {
    padding-bottom: 0px;
}
.blog-sidebar-card.blog-sidebar-cta {
    margin-top: 90px;
}
section.gallery-collection-section.reveal-section.is-visible {
    padding: 68px 30px;
    border-radius: 0px 100px;
}
.contact-form-panel {
    background: #dfe9f7;
}
.container.contact-bottom-cta-inner {
    margin-top: 90px;
}
section.about-access-section.reveal-section.is-visible {
    padding: 68px 30px;margin-top: 90px;
}.room-amenities-panel {
        padding: 68px 30px;
        border-radius: 0 100px;
    }.room-amenities-panel {
    padding: 68px 30px !important;
    border-radius: 0 100px !important;
}section.dining-gallery-section.reveal-section {
    padding: 68px 30px !important;
    border-radius: 0 100px !important;
}

section.dining-cta-section.reveal-section.is-visible {
    margin-bottom: 90px !important;
}
	.home-pool-section {
		padding: 68px 0;
	}

	.home-pool-layout {
		gap: 40px;
	}

	.home-pool-visual {
		min-height: 470px;
	}

	.home-pool-main-image {
		inset: 0 35px 55px 0;
		border-radius: 0 75px 0 0;
	}

	.home-pool-small-image {
		width: 165px;
		height: 195px;
		border-width: 7px;
		border-radius: 55px 0 0 0;
	}

	.home-pool-badge {
		top: 22px;
		right: 4px;
		width: 100px;
		height: 100px;
	}

	.home-pool-badge strong {
		font-size: 20px;
	}

	.home-pool-content .section-title {
		font-size: 48px;
	}

	.home-pool-lead {
		font-size: 25px;
	}

	.home-pool-features {
		grid-template-columns: 1fr;
		gap: 15px;
	}

}
section#swimming-pool {
    border-radius: 100px 0 100px 0;
}

section.about-highlights-section.reveal-section.is-visible {
    background: #dfe9f7;
    border-radius: 100px 0 100px 0;
}

section.about-access-section.reveal-section.is-visible {
    background: #dfe9f7;
    border-radius: 0 100px 0  100px;
}

section.single-room-amenities-section.reveal-section.is-visible {
    background: #dfe9f7;
    border-radius: 100px 0 100px 0;
    margin-bottom: 90px;
}
/* =========================================================
   FLOATING SOCIAL MEDIA BUTTONS
   ========================================================= */

.floating-socials {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 9999;

	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}

/* Common button design */
.floating-social {
	width: 58px;
	height: 58px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 0;
	overflow: hidden;

	border: 3px solid #ffffff;
	border-radius: 50%;

	color: #ffffff;
	box-shadow: 0 12px 32px rgba(20, 40, 70, 0.25);

	transition:
		width 0.32s ease,
		border-radius 0.32s ease,
		background-color 0.32s ease,
		transform 0.32s ease,
		box-shadow 0.32s ease;
}

/* Icons */
.floating-social svg {
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	fill: currentColor;
}

/* WhatsApp icon is slightly larger */
.floating-whatsapp svg {
	width: 30px;
	height: 30px;
	flex-basis: 30px;
}

/* Hidden text */
.floating-social span {
	max-width: 0;
	margin-left: 0;
	overflow: hidden;
	opacity: 0;
	white-space: nowrap;

	font-size: 13px;
	font-weight: 700;

	transition:
		max-width 0.3s ease,
		opacity 0.3s ease,
		margin-left 0.3s ease;
}

/* Individual colours */
.floating-instagram {
	background: linear-gradient(
		135deg,
		#feda75 0%,
		#fa7e1e 25%,
		#d62976 55%,
		#962fbf 78%,
		#4f5bd5 100%
	);
}

.floating-facebook {
	background: #1877f2;
}

.floating-whatsapp {
	position: relative;
	right: auto;
	bottom: auto;
	background: #25d366;
}

/* Hover expansion */
.floating-social:hover,
.floating-social:focus-visible {
	width: 148px;
	justify-content: flex-start;
	padding: 0 16px;

	border-radius: 999px;
	transform: translateY(-3px);
	box-shadow: 0 16px 38px rgba(20, 40, 70, 0.32);
}

.floating-social:hover span,
.floating-social:focus-visible span {
	max-width: 90px;
	margin-left: 9px;
	opacity: 1;
}

.floating-instagram:hover,
.floating-instagram:focus-visible {
	background: linear-gradient(
		135deg,
		#f58529,
		#dd2a7b,
		#8134af,
		#515bd4
	);
}

.floating-facebook:hover,
.floating-facebook:focus-visible {
	background: #0d65d9;
}

.floating-whatsapp:hover,
.floating-whatsapp:focus-visible {
	background: #128c7e;
}

/* Mobile: show only round icons */
@media (max-width: 560px) {

	.floating-socials {
		right: 14px;
		bottom: 16px;
		gap: 9px;
	}

	.floating-social,
	.floating-social:hover,
	.floating-social:focus-visible {
		width: 52px;
		height: 52px;
		padding: 0;

		justify-content: center;
		border-width: 2px;
		border-radius: 50%;
		transform: none;
	}

	.floating-social svg {
		width: 25px;
		height: 25px;
		flex-basis: 25px;
	}

	.floating-social span,
	.floating-social:hover span,
	.floating-social:focus-visible span {
		display: none;
	}
}

/* ==========================================
   Contact Form 7 Response Messages
========================================== */

.wpcf7 form .wpcf7-response-output{
    margin:30px 0 0;
    padding:16px 20px;
    border-radius:10px;
    font-size:15px;
    line-height:1.6;
    font-weight:500;
    border:1px solid;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    animation:cf7Fade .35s ease;
}

/* Success */
.wpcf7 form.sent .wpcf7-response-output{
    background:#eafaf1;
    border-color:#22c55e;
    color:#166534;
}

/* Validation Errors */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{
    background:#fff8e6;
    border-color:#f59e0b;
    color:#92400e;
}

/* Spam */
.wpcf7 form.spam .wpcf7-response-output{
    background:#fff4f4;
    border-color:#ef4444;
    color:#991b1b;
}

/* Failed Mail */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output{
    background:#fdecec;
    border-color:#dc2626;
    color:#991b1b;
}

/* Validation Error Text */
.wpcf7-not-valid-tip{
    display:block;
    margin-top:6px;
    color:#dc2626;
    font-size:13px;
    font-weight:500;
}

/* Invalid Fields */
.wpcf7 input.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid,
.wpcf7 select.wpcf7-not-valid{
    border-color:#dc2626 !important;
    background:#fff5f5;
}

/* Spinner */
.wpcf7-spinner{
    margin-left:12px;
    vertical-align:middle;
}

/* Loading Submit Button */
.wpcf7 form.submitting .contact-submit{
    opacity:.7;
    cursor:not-allowed;
    pointer-events:none;
}

/* Fade Animation */
@keyframes cf7Fade{
    from{
        opacity:0;
        transform:translateY(10px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

article.room-card {
    cursor: pointer !important;
}