.sitemap-btn {
    background-color: white;
    color: black;
    text-decoration: none;
    padding: 12px 40px;
    border: 1px solid #ab6503;
    text-transform: uppercase;
    font-weight: bold;
    transition: all 0.3s ease;
    display: inline-block;
    min-width: 300px;
    text-align: center;
}

    .sitemap-btn:hover,
    .sitemap-btn.active {
        background-color: #ab6503;
        color: white;
        text-decoration: none;
    }

.sitemap-instruction {
    text-transform: uppercase;
    font-weight: bold;
    color: #631203;
    margin: 0;
}

.plan-square {
    width: 30px;
    height: 30px;
    background-color: #ab6503;
    border: 2px solid #631203;
    display: inline-block;
}

.plan-text {
    font-size: 0.9rem;
    color: #631203;
    line-height: 1.4;
}

/* Image map area styling */
.map-area {
    cursor: pointer;
    outline: none;
}

    .map-area:focus {
        outline: 2px solid #ab6503;
        outline-offset: 2px;
    }

#sitemapContainer {
    position: relative;
    max-width: 100%;
}

#sitemapImage {
    width: 100%;
    height: auto;
    display: block;
    transition: filter 0.3s ease;
}

/* ImageMapster will handle hover effects automatically */

@media (max-width: 480px) {
    .map-area:hover {
        filter: drop-shadow(0 0 6px rgba(255, 0, 0, 0.8));
    }
}

.line-bg-section {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    background-image: url('https://makanakai.blob.core.windows.net/media/template/home_line_bg.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
    min-height: 200px;
    display: flex;
    align-items: flex-end;
    margin-top: -2rem;
    padding-bottom: 2rem;
}

.line-bg-section p {
    margin-bottom: 0 !important;
    padding: 0 1rem !important;
}
/* Footer social icon (Bootstrap Icons) */
.footer-social-link .bi {
    font-size: 2rem;
    color: #ddd4c0;
    vertical-align: middle;
    transition: color 0.2s, transform 0.2s;
    display: inline-block;
}

.footer-social-link:hover .bi,
.footer-social-link:focus .bi {
    font-weight: 700;
    transform: scale(1.15);
}
/* --- Custom Footer Styles --- */
.custom-footer {
    background: #6F2517;
    color: #ddd4c0;
    font-size: 1rem;
    letter-spacing: 0.01em;
}

.footer-top {
    background: #6F2517;
}

.footer-logo {
    max-width: 120px;
    height: auto;
}

.footer-divider {
    border: none;
    border-top: 2px solid #ddd4c0;
    width: 100%;
    max-width: 100%;
    margin: 0 0 2rem 0;
    opacity: 1;
}

.footer-title {
    font-size: 1.15rem;
    color: #ddd4c0;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.footer-links {
    padding-left: 0;
    list-style: none;
}

    .footer-links li {
        margin-bottom: 0.5rem;
    }

    .footer-links a {
        color: #ddd4c0;
        text-decoration: none;
        transition: color 0.2s, font-weight 0.2s;
    }

        .footer-links a:hover, .footer-links a:focus {
            font-weight: 700;
        }

.footer-middle-text {
    font-size: 1.08rem;
    margin-bottom: 1rem;
}

.footer-social-icons a {
    display: inline-block;
    transition: transform 0.2s;
}

    .footer-social-icons a:hover {
        transform: scale(1.15);
    }

.footer-img-stack .footer-img {
    max-width: 110px;
    width: 100%;
    height: auto;
    display: block;
}

.footer-bottom-bar {
    background: #ab650d;
    color: #ddd4c0;
    font-size: 0.98rem;
}

.footer-bottom-links {
    gap: 0.5rem;
}

.footer-vertical-divider {
    display: inline-block;
    width: 1px;
    height: 20px;
    background-color: #fff;
    opacity: 0.6;
}

.footer-bottom-link {
    color: #ddd4c0;
    text-decoration: none;
    font-weight: 400;
    transition: color 0.2s, font-weight 0.2s;
}

    .footer-bottom-link:hover, .footer-bottom-link:focus {
        font-weight: 700;
    }

.footer-bottom-sep {
    color: #ddd4c0;
    font-size: 1.2em;
    font-weight: 300;
    user-select: none;
}

@media (max-width: 991.98px) {
    .footer-img-stack .footer-img {
        max-width: 80px;
    }

    .footer-title {
        font-size: 1.05rem;
    }
}

@media (max-width: 767.98px) {
    .footer-top .row > div {
        text-align: center !important;
        margin-bottom: 2rem;
    }

    .footer-bottom-bar .container {
        flex-direction: column !important;
        gap: 0.5rem;
    }
}
/* Global Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    margin: 0;
    padding: 0;
}

body {
    font-family: "Zalando Sans SemiExpanded", sans-serif;
    font-weight: 200;
    font-style: normal;
    color: #000000;
    background-color: #f8f9fa;
    margin: 0;
    padding: 0;
}


.prefooter-submit-btn {
    display: inline-block;
    min-width: 120px;
    width: auto;
    padding: 0.5rem 2rem;
}

.prefooter-expand-panel {
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
}

.expand-toggle {
    background: none;
    border: none;
    border-bottom: 1px solid #ab6503;
    color: #333;
    font-weight: 200;
    font-size: 1.08rem;
    cursor: pointer;
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 0.5rem 0;
}

.expand-arrow {
    font-size: 1.2em;
    margin-left: 0.5em;
    transition: transform 0.2s;
}

.expand-toggle[aria-expanded="true"] .expand-arrow {
    transform: rotate(180deg);
}

.expand-choices {
    display: none;
}

    .expand-choices.show {
        display: block;
    }

.prefooter-form .form-floating > .form-control {
    height: 48px;
    line-height: 1.25;
    padding-top: 1.25rem;
    padding-bottom: 0.25rem;
}

.prefooter-form .form-floating > label {
    padding: 1rem 1rem 0 1rem;
    color: #333;
    font-size: 1rem;
    top: 0;
    height: 100%;
    pointer-events: none;
    display: flex;
    align-items: center;
    transform-origin: 0 0;
    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}

.prefooter-form .form-floating {
    margin-bottom: 0;
}
/* Pre-Footer Form Section */
.prefooter-form-section {
    position: relative;
    background: #fff;
    padding: 0 0 60px 0;
    overflow: hidden;
}

.prefooter-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('https://makanakai.blob.core.windows.net/media/template/register_bg.png') center center/cover no-repeat;
    z-index: 1;
}

.prefooter-content {
    position: relative;
    z-index: 2;
    padding: 48px 32px 32px 32px;
    margin-top: 120px;
}

.prefooter-header-img {
    max-width: 180px;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.prefooter-desc {
    font-size: 1.15rem;
    color: #000;
    font-weight: 500;
}

.prefooter-form .form-control {
    border: none;
    border-bottom: 1px solid #ab6503;
    border-radius: 0;
    background: transparent;
    font-size: 1rem;
    padding: 0.75rem 1rem 0.25rem 1rem;
    box-shadow: none;
    transition: border-color 0.2s;
}

    .prefooter-form .form-control:focus {
        border-bottom: 2px solid #1976d2;
        outline: none;
        box-shadow: none;
    }

.prefooter-form .form-floating > label {
    color: #333;
    font-size: 1rem;
    left: 1rem;
}

.prefooter-form .form-floating > .form-control:focus ~ label,
.prefooter-form .form-floating > .form-control:not(:placeholder-shown) ~ label {
    color: #1976d2;
    opacity: 0.65;
    transform: scale(0.85) translateY(-1rem) translateX(0.15rem);
}
/* Checkbox label left align and next to checkbox */
.expand-choices .form-check {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
}

.expand-choices .form-check-input {
    margin-right: 0.5em;
    margin-top: 0;
}

.expand-choices .form-check-label {
    margin-bottom: 0;
    color: #333;
    font-weight: 400;
    text-align: left;
}

.prefooter-panel {
    font-size: 1rem;
}

.prefooter-submit-btn {
    background: #fff;
    color: #111;
    border: 1px solid #ab6503;
    font-weight: 600;
    transition: background 0.2s, color 0.2s;
    border-radius: 0px !important;
}

    .prefooter-submit-btn:hover, .prefooter-submit-btn:focus {
        background: #ab6503;
        color: #fff;
    }

.prefooter-small-text {
    font-size: 0.85rem;
    color: #888;
}

@media (max-width: 991.98px) {
    .prefooter-content {
        padding: 32px 10px 24px 10px;
        margin-top: 80px;
    }
}

@media (max-width: 575.98px) {
    .prefooter-content {
        padding: 18px 2vw 12px 2vw;
        margin-top: 60px;
    }

    .prefooter-header-img {
        max-width: 120px;
    }
}


/* Header & Navigation */
.navbar-header {
    width: 100%;
    background-color: #eeedd9;
}

.navbar {
    padding: 0;
    padding-left: 2rem;
}

.logo {
    height: 50px;
    transition: all 0.3s ease;
}

.navbar-brand {
    margin-right: 2rem;
    margin-left: 0;
}

/* Navigation Links */
.navbar-nav .nav-link {
    position: relative;
    margin: 0 1rem;
    font-weight: 500;
    color: #631203 !important;
    transition: color 0.3s ease;
    text-transform: uppercase;
}

    .navbar-nav .nav-link::after {
        content: '';
        position: absolute;
        bottom: -5px;
        left: 0;
        width: 0;
        height: 2px;
        background-color: #631203;
        transition: width 0.3s ease;
    }

    .navbar-nav .nav-link:not(.dropdown-toggle):hover::after {
        width: 100%;
    }

    .navbar-nav .nav-link:hover {
        color: #631203 !important;
    }

.navbar-nav .dropdown-toggle::after {
    display: none;
}

/* Dropdown Menu */
.dropdown-menu {
    border: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 0;
    display: none;
    background-color: #631203;
}

.navbar-nav .nav-item.dropdown:hover .dropdown-menu {
    display: block;
}

.dropdown-item {
    transition: all 0.3s ease;
    color: white;
}

    .dropdown-item:hover {
        background-color: #4a0e02;
        color: white;
    }

/* Phone Number */
.phone-number {
    margin-left: 2rem;
    margin-right: 5rem;
}

    .phone-number a {
        color: #6d6e71;
        text-decoration: none;
        font-weight: 600;
        transition: color 0.3s ease;
    }

        .phone-number a:hover {
            color: #6d6e71;
        }

/* Slider Section */
.slider-section {
    width: 100%;
    height: auto;
    max-height: calc(100vh - 80px);
    overflow: hidden;
    position: relative;
}

.carousel {
    height: auto;
}

.carousel-inner {
    height: auto;
}

.carousel-item {
    height: auto;
    position: relative;
}

    .carousel-item img {
       width: 100%;
       height: auto;
       max-height: calc(100vh -80px);
       object-fit: contain;
       display: block;
    }

.carousel-caption {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 900px;
    bottom: auto;
    background: rgba(118, 100, 77, 0.7);
    padding: 0rem 2rem;
    box-sizing: border-box;
    color: #f3f2e9;
    z-index: 10;
/*    right: 20%;*/
}

.carousel-caption-2 {
    width: 980px;
}

.slider-text {
    font-size: 4.5rem;
    color: #ffffff;
    font-weight: 200 !important;
    margin-bottom: 1rem;
    animation: slideInDown 0.8s ease-out;
}

.slider-subtext {
    font-size: 1.5rem;
    color: white;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    animation: slideInUp 0.8s ease-out 0.2s both;
}

@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Content Section */
.content-section {
    background-color: #eeedd9;
    width: 100%;
    position: relative;
}

.content-section-white {
    background-color: #ffffff;
    width: 100%;
    position: relative;
}

/* .line-bg-section background image removed, moved to .content-section */

.included-features-bg {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    background-image: url('https://makanakai.blob.core.windows.net/media/template/home_line_bg.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
    min-height: 250px;
    padding-bottom: 1rem !important;
}

.line-white-bg-section {
    width: 100vw;
    height: 300px;
    background-color: #ffffff;
    background-image: url('https://makanakai.blob.core.windows.net/media/template/line_white_bg.png');
    /* keep focal point near the top and preserve aspect ratio without stretching */
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: -2px; /* Remove any gap between sections */
}

/* Tweak the line background for small devices to avoid visual stretching */
@media (max-width: 575.98px) {


    .line-white-bg-section {
        height: 160px;
        background-position: top center;
        background-size: cover;
    }
}

.section-title {
    font-size: 2rem;
    color: #631203;
    font-weight: 500 !important;
    margin-bottom: 1rem;
}

.disclaimer-text {
    color: #000000;
}

.privacy-text {
    color: #000000;
}

.lifestyle-divider {
    border: none;
    border-top: 1px solid #000000;
    width: 100%;
    margin: 1rem 0;
    opacity: 1;
}

/* Lifestyle island image - original size on desktop */
@media (min-width: 992px) {
    .lifestyle-island-img {
        max-width: none;
        width: auto;
        height: auto;
    }
}

.animated-text {
    font-size: 1.5rem;
    line-height: 1.5;
    color: #000000;
    opacity: 0;
    transform: translateY(30px);
}

    .animated-text.in-view {
        animation: flyUp 1.6s ease-out forwards; /* slowed from 0.8s to 1.6s for clearer motion */
    }

@keyframes flyUp {
    0% {
        opacity: 0;
        transform: translateY(40px); /* slightly larger offset for more noticeable entrance */
    }

    60% {
        opacity: 0.75;
        transform: translateY(8px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Parallax Section */
.parallax-section {
    width: 100%;
    min-height: 900px;
    /* Keep the background image at full opacity; no overlay so image is not dimmed */
    background-image: url('https://makanakai.blob.core.windows.net/media/paralax-waikoloa.jpg');
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    /* Use cover to preserve aspect ratio and avoid stretching */
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    padding: 8rem 0;
}

.parallax-content {
    text-align: center;
    color: #000000;
    z-index: 2;
    /* semi-transparent white box over the background image; constrained width so it doesn't span full section */
    background-color: rgba(255, 255, 255, 0.75);
    padding: 3rem;
    width: 60%;
    margin: 0 auto;
}

.parallax-title {
    font-size: 3.5rem;
    font-weight: 200;
    margin-bottom: 1rem;
    color: #6f2517;
}

.parallax-title-bold {
    font-weight: bold;
}

.parallax-text {
    font-size: 1.5rem;
    font-weight: 200;
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 1400ms ease-out, transform 1400ms ease-out;
}

    .parallax-text.in-view {
        opacity: 1;
        transform: translateY(0);
    }

/* Lifestyle Parallax Section */
.lifestyle-parallax-section {
    width: 100%;
    min-height: 900px;
    background-image: url('https://makanakai.blob.core.windows.net/media/lifestyle/paralax-lifestyle.jpg');
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    overflow: hidden;
}

/* About Parallax Section */
.about-parallax-section {
    width: 100%;
    min-height: 900px;
    background-image: url('https://makanakai.blob.core.windows.net/media/about/paralax-about.jpg');
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    overflow: hidden;
}

/* Contact Parallax Section */
.contact-parallax-section {
    width: 100%;
    min-height: 900px;
    background-image: url('https://makanakai.blob.core.windows.net/media/contact/paralax-contact.jpg');
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    overflow: hidden;
}

/* Residence Parallax Section */
.residence-parallax-section {
    width: 100%;
    min-height: 900px;
    background-image: url('https://makanakai.blob.core.windows.net/media/residence/parallax-residence.jpg');
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    overflow: hidden;
}

/* Hawaii Life Section */
.hawaii-life-section {
    background-color: #a18f5b;
    background-image: url('https://makanakai.blob.core.windows.net/media/about/about_content_bg.png');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
}

.hawaii-life-title {
    color: white;
    font-weight: bold;
}

.hawaii-life-text {
    color: white;
}

.about-tagline {
    text-transform: uppercase;
    font-weight: bold;
}

/* Synchronized Slider Content */
#residenceContent {
    position: relative;
    min-height: 250px;
}

    #residenceContent .content-slide {
        display: none;
        opacity: 0;
        transition: opacity 0.6s ease-in-out;
    }

        #residenceContent .content-slide.active {
            display: block;
            opacity: 1;
        }

/* Parallax responsive tweaks: reduce content size on smaller screens and
   disable fixed attachment (causes issues on mobile browsers). */
@media (max-width: 991.98px) {
    .parallax-section {
        /* mobile/tablet: let the background scroll and use cover */
        background-attachment: scroll;
        background-size: cover;
        background-position: center top;
        min-height: 340px;
        padding: 3rem 0;
    }

    .lifestyle-parallax-section {
        background-attachment: scroll;
        background-size: cover;
        background-position: center center;
        min-height: 340px;
    }

    .about-parallax-section {
        background-attachment: scroll;
        background-size: cover;
        background-position: center center;
        min-height: 340px;
    }

    .contact-parallax-section {
        background-attachment: scroll;
        background-size: cover;
        background-position: center center;
        min-height: 340px;
    }

    .residence-parallax-section {
        background-attachment: scroll;
        background-size: cover;
        background-position: center center;
        min-height: 340px;
    }

    .parallax-content {
        width: 85%;
        padding: 1.5rem;
        background-color: rgba(255, 255, 255, 0.9);
    }

    .parallax-title {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    .parallax-text {
        font-size: 1rem;
    }
}

@media (max-width: 575.98px) {
    .parallax-section {
        min-height: 260px;
        padding: 2rem 0;
    }

    .parallax-content {
        width: 95%;
        padding: 1rem;
        background-color: rgba(255, 255, 255, 0.95);
    }

    .parallax-title {
        font-size: 1.4rem;
    }

    .parallax-text {
        font-size: 1.15rem;
    }
}


/* Responsive Design */
@media (max-width: 991px) {
    .navbar-brand {
        /* keep logo on the left on smaller screens */
        margin-right: 0;
        margin-left: 0;
    }

    .navbar-toggler {
        /* push the hamburger to the right next to the logo */
        margin-left: auto;
    }

    .navbar-collapse {
        text-align: center;
        margin-top: 1rem;
    }

    .navbar-nav {
        flex-direction: column;
    }

        .navbar-nav .nav-link {
            margin: 0.5rem 0;
        }

    .phone-number {
        margin-left: 0;
        margin-top: 1rem;
        text-align: center;
    }

/*    .slider-section {
        height: 400px;
    }*/

    .slider-text {
        font-size: 2rem;
    }

    .slider-subtext {
        font-size: 1.1rem;
    }
}

@media (max-width: 576px) {


    .list-section-title {
        padding-left: 10px;
    }

    /* Synchronized Slider Content */
    #residenceContent {
        min-height: 0;
    }


    .navbar-brand {
        text-align: center;
        width: 100%;
    }

    .logo {
        height: 40px;
    }

/*    .slider-section {
        height: 300px;
    }*/

    .carousel-caption {
        padding: 1rem;
        right: 0;
        width: 230px;
    }

    .slider-text {
        font-size: 1.5rem;
    }

    .slider-subtext {
        font-size: 0.9rem;
    }

    .section-title {
        font-size: 1.5rem;
    }

    .animated-text {
        font-size: 1.15rem;
        padding: 0 8px;
    }

    ul.animated-text {
        padding: 0 30px;
    }

    .section-title {
        text-align: center;
    }
    /* MK content should match other mobile text sizing */
    .mk-title {
        font-size: 2rem !important;
    }

    .mk-copy {
        font-size: 1.15rem !important;
    }

    /* Remove bottom padding/spacing between content sections and the line background */
    .content-section,
    .mk-content-section {
        /* override utility classes like py-5 which add vertical padding */
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
        margin-bottom: 0 !important;
    }

    .content-section-bot {
        /* override utility classes like py-5 which add vertical padding */
        padding-bottom: 10px !important;
        margin-bottom: 0 !important;
    }


    /* Fix line-bg-section on mobile */
    .line-bg-section {
        background-size: cover;
        background-position: center top;
        min-height: 100px;
        margin-top: 0;
    }

    /* ensure the line background sits flush against previous section */


    .phone-number {
        display: none !important;
    }

    /* Mobile: make the logo smaller and centered, and place the hamburger to the right */
    .navbar .container-fluid {
        position: relative;
    }

    .navbar-brand {
        margin: 0 auto;
        display: block;
        text-align: center;
        padding-left: 0;
    }

        .navbar-brand img {
            max-height: 120px;
            width: auto;
            display: inline-block;
        }

    .navbar-toggler {
        position: absolute;
        right: 0.75rem;
        top: 0.5rem; /* keep at the top of the navbar */
        transform: none; /* avoid vertical centering so it won't move when menu opens */
        z-index: 1050; /* above other navbar content */
        border: none; /* remove border around the toggler */
        background: transparent; /* transparent background */
        padding: 0.35rem 0.5rem; /* small tappable area without visible border */
    }

        .navbar-toggler:focus {
            box-shadow: none;
            outline: none;
        }
}

/* Carousel Controls */
.carousel-control-prev,
.carousel-control-next {
    width: 50px;
    height: 50px;
    background-color: #ffffff;
    border-radius: 0;
    opacity: 1;
    top: 45%;
    transform: translateY(-50%);
    transition: opacity 0.3s ease;
    position: absolute;
}

.carousel-control-prev {
    left: 0;
}

.carousel-control-next {
    right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(1);
    width: 20px;
    height: 20px;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    opacity: 0.8;
}

/* Footer */
footer {
    margin-top: auto;
}

/* Highlight Section */
.highlight-section {
    width: 100vw;
    background-color: #ab650d;
    background-image: url('https://makanakai.blob.core.windows.net/media/template/highlight_bg.png');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto;
    padding: 6rem 0;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: -2px;
}

.highlight-title {
    font-size: 5.6rem;
    color: #fff;
    font-weight: 200;
    margin-bottom: 2rem;
}

.highlight-text {
    font-size: 1.5rem;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 1.5rem;
    font-weight: 200;
}

.highlight-item {
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* ensure content (text) starts at the top */
}

/* Make columns equal height and add vertical separators on desktop */
.highlight-section .row {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
}

    .highlight-section .row > .col-md-4:not(:first-child) {
        border-left: 1px solid rgba(255, 255, 255, 0.2);
    }

/* Button styles for highlight items */
.highlight-item .btn {
    background: #ffffff;
    color: #000000;
    border: none;
    padding: 0.6rem 1.25rem;
    transition: background-color 0.2s ease, color 0.2s ease;
    border-radius: 0;
    text-decoration: none;
}

    .highlight-item .btn:hover {
        background: #631203; /* red */
        color: #ffffff;
    }

/* Lifestyle contact button - larger with white bg and black border */
.highlight-btn {
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #ab6503 !important;
    padding: 0.75rem 2rem !important;
    font-size: 1.1rem !important;
    transition: background-color 0.2s ease, color 0.2s ease;
    border-radius: 0;
    text-decoration: none;
    display: block;
    width: 100%;
    max-width: 305px;
    margin: 0 auto;
    text-align: center;
}

    .highlight-btn:hover {
        background: #631203 !important;
        color: #ffffff !important;
        border-color: #ab6503 !important;
    }

.contact-btn {
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #ab6503 !important;
    padding: 0.75rem 2rem !important;
    font-size: 1.1rem !important;
    transition: background-color 0.2s ease, color 0.2s ease;
    border-radius: 0;
    text-decoration: none;
    display: block;
    width: fit-content;
}

    .contact-btn:hover {
        background: #631203 !important;
        color: #ffffff !important;
        border-color: #ab6503 !important;
    }


/* Responsive: remove separators on small screens and adjust spacing */
@media (max-width: 767.98px) {
    .highlight-section {
        padding: 3rem 0;
    }

        .highlight-section .row {
            /* keep flex layout but stack columns vertically */
            flex-direction: column;
        }

            .highlight-section .row > .col-md-4:not(:first-child) {
                border-left: none;
            }

    .highlight-item {
        padding: 0 1.25rem;
    }
}

/* Desktop: keep the highlight button pinned to the bottom of each column
   and ensure all buttons align across columns. Uses the md breakpoint
   (>=768px) because the layout is based on .col-md-4. */
/* Make each column a flex column and pin the button to the bottom of the highlight-item
   on all screen sizes so highlight-text stays at the top and highlight-btn at the bottom. */
.highlight-section .row > .col-md-4 {
    display: flex; /* make the column a flex container so child can stretch */
    flex-direction: column;
}

    .highlight-section .row > .col-md-4 > .highlight-item {
        flex: 1; /* allow the highlight-item to fill the column height */
        display: flex;
        flex-direction: column;
        justify-content: space-between; /* space content so button can sit at bottom */
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

        /* Ensure buttons align (left) and don't grow */
        .highlight-section .row > .col-md-4 > .highlight-item .highlight-btn,
        .highlight-section .row > .col-md-4 > .highlight-item .btn {
            margin-top: auto !important;
            align-self: flex-start;
        }

@media (max-width: 768px) {

    .mk-gift-img {
        width: 70%;
    }

    .highlight-title {
        font-size: 2.5rem;
        margin-bottom: 0;
    }

    .highlight-text {
        font-size: 1.15rem;
    }

    .highlight-subtitle {
        font-size: 1.5rem;
        padding-left: 10px;
    }

    /* Reduce spacing between title and items on mobile */
    .highlight-section .row.text-center.mb-5 {
        margin-bottom: 1.5rem !important;
    }

    /* Responsive carousel controls for mobile */
    .carousel-control-prev,
    .carousel-control-next {
        width: 40px;
        height: 40px;
        top: 50%;
    }

    .carousel-control-prev-icon,
    .carousel-control-next-icon {
        width: 16px;
        height: 16px;
    }

    /* Adjust slider section for mobile */
    .slider-section {
        max-height: calc(100vh - 60px);
    }

    .carousel-item img {
        max-height: calc(100vh - 60px);
    }
}

/* MK Content Section */
.mk-content-section {
    background-color: #eeedd9; /* same as content-section */
    padding: 4rem 0;
}

.mk-logo-img {
    max-width: 320px;
    height: 100%;
    object-fit: contain;
    align-self: flex-start;
}

/* Make the image container match content height */
.mk-content-section .row {
    min-height: 300px;
}

.mk-title {
    font-size: 3.5rem;
    color: #ab650d;
    font-weight: 200;
    margin-bottom: 1rem;
    line-height: 1
}

.mk-copy {
    color: #000000;
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: 200;
}

/* Fill-up animation (subtle) - initial state */
.fill-up-text {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 1400ms ease-out, transform 1400ms ease-out; /* doubled duration for smoother reveal */
}

    /* When observed, this class will be applied once to trigger the animation */
    .fill-up-text.in-view {
        opacity: 1;
        transform: translateY(0);
    }


.section-links {
    background-color: #ab650d;
    padding-top: 60px;
    padding-bottom: 80px;
}

.section-link {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 0;
    padding-bottom: 75%;
    position: relative;
}

    .section-link::before {
        content: "";
    }

    .section-link a {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        text-decoration: none;
        text-align: center;
    }

.section-link-inner {
    background: rgba(81,17,10,.9);
    color: #fff;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.25;
    max-width: 65%;
    max-height: 40%;
    margin: 0 auto;
    padding: 1rem;
    position: relative;
    text-align: center;
    height: 100%;
    -webkit-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
    text-transform: uppercase;
}

    .section-link-inner:hover {
        max-height: 100%;
        max-width: 100%;
        padding: 17% 24%;
    }

.section-link {
    overflow: hidden;
}

.section-link-inner {
    background: transparent;
    font-size: 26px;
    max-width: 100%;
    max-height: 100%;
    width: 260px;
    position: static;
    z-index: 0;
}

    .section-link-inner:hover {
        height: 100%;
        padding: 1rem;
    }

    .section-link-inner::before {
        background: rgba(81,17,10,.9);
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 260px;
        height: 125px;
        transform: translate(-50%, -50%);
        z-index: -1;
        -webkit-transition: all 1s;
        -o-transition: all 1s;
        transition: all 1s;
    }

    .section-link-inner:hover::before {
        width: 100%;
        height: 100%;
    }



@media (max-width: 991.98px) {


    .section-link-inner::before {
        width: 280px;
        height: 140px;
    }
}



.section-link a {
    flex-direction: column;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .section-link::before {
        content: "";
        width: 260px;
        height: 125px;
        position: absolute;
        background: rgba(81,17,10,.9);
        top: 50%;
        left: 50%;
        margin-left: -130px;
        margin-top: -63px;
    }

    .section-link:hover::before {
        width: 100%;
        height: 100%;
        margin-left: 0;
        margin-top: 0;
        top: 0;
        left: 0;
    }
}

.bot-txt {
    display: none !important
}

.video-title {
    font-size: 1.75rem;
    color: #000000;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.video-subtitle {
    font-size: 1.25rem;
    color: #000000;
    font-weight: 400;
    margin-bottom: 1rem;
}

/* New styles for dropdown arrow */
.dropdown-arrow {
    display: none;
    transition: transform 0.3s ease;
}

@media (max-width: 991.98px) {
    .dropdown-arrow {
        display: inline-block;
        margin-left: 5px;
    }

    .nav-link[aria-expanded="true"] .dropdown-arrow {
        transform: rotate(180deg);
    }
}

.wap-form-error {
    color: #ff0000 !important;
}

.contact-email {
    color: #ab6503 !important;
}


