/* style.css - Section-specific styles */

/* ===== NAVIGATION BAR ===== */
.navbar {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: transparent;
    transition: all 0.3s ease;
    z-index: 10001 !important; /* Above overlay and sidebar - hamburger always visible */
    padding: 10px 0;
}

.navbar.scrolled {
    background-color: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(10px);
    padding: 10px 0;
}

.nav-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-logo {
    display: flex;
    align-items: center;
}

.logo-img {
    width: 200px;
    height: auto;
    object-fit: contain;
    max-height: 80px;
}

.nav-right {
    display: flex;
    align-items: center;
    left:-100%;
    transition: all 0.3s ease;
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 50px;
    margin: 0;
    padding: 0;
    align-items: center;
}

.nav-link {
    color: var(--text-white);
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 5px;
}

.nav-link a:hover {
    color: #6a93e8;
    text-decoration: none;
}

/* Active nav link styling - highlight current page */
.nav-link.active {
    color: #ffffff !important;
    font-weight: 800;
}

.dropdown-arrow {
    font-size: 12px;
}

/* Navigation Button Styles - Applied to anchor tag for full clickable area */
.nav-menu .nav-btn > a,
.nav-menu .menu-item.nav-btn > a,
.nav-link.btn-outline,
a.nav-link.btn-outline {
    background-color: transparent;
    border: 2px solid var(--text-white);
    border-radius: 50px;
    padding: 12px 30px;
    font-size: 16px;
    color: var(--text-white) !important;
    text-decoration: none;
    display: inline-block !important;
    transition: all 0.3s ease !important;
    font-weight: 400;
    box-sizing: border-box !important;
    margin: 0 !important;
    background-clip: padding-box !important;
}

/* Hover state for navigation buttons - DESKTOP ONLY (exclude mobile menu) */
.nav-right:not(.mobile-active) .nav-menu .nav-btn > a:hover,
.nav-right:not(.mobile-active) .nav-menu .menu-item.nav-btn > a:hover,
.nav-right:not(.mobile-active) .nav-link.btn-outline:hover,
.nav-right:not(.mobile-active) a.nav-link.btn-outline:hover {
    /* background-color: var(--text-white); */
    color: var(--primary-bg) !important;
    border-color: var(--text-white);
    text-decoration: none;
    transition: all 0.3s ease !important;
}

/* ========================================
   EVENT NAVBAR BUTTON STYLES (Sri Lanka)
   Same structure as wedding navbar for consistency
   ======================================== */

/* Event Navigation Button Styles - Applied to anchor tag for full clickable area */
body:not(.intl-theme-body) .nav-menu .nav-btn > a,
body:not(.intl-theme-body) .nav-menu .menu-item.nav-btn > a,
body:not(.intl-theme-body) .nav-link.btn-outline,
body:not(.intl-theme-body) a.nav-link.btn-outline {
    background-color: transparent;
    border: 2px solid var(--text-white);
    border-radius: 50px;
    padding: 12px 30px;
    font-size: 16px;
    color: var(--text-white) !important;
    text-decoration: none;
    display: inline-block !important;
    transition: all 0.3s ease !important;
    font-weight: 500;
    box-sizing: border-box !important;
    margin: 0 !important;
    background-clip: padding-box !important;
}

/* Event navbar button hover - DESKTOP ONLY (exclude mobile menu) */
body:not(.intl-theme-body) .nav-right:not(.mobile-active) .nav-menu .nav-btn > a:hover,
body:not(.intl-theme-body) .nav-right:not(.mobile-active) .nav-menu .menu-item.nav-btn > a:hover,
body:not(.intl-theme-body) .nav-right:not(.mobile-active) .nav-link.btn-outline:hover,
body:not(.intl-theme-body) .nav-right:not(.mobile-active) a.nav-link.btn-outline:hover {
    background-color: var(--text-white);
    color: var(--primary-bg) !important;
    border-color: var(--text-white);
    text-decoration: none;
    transition: all 0.3s ease !important;
}

/* Remove all styles from list item - button styles are on anchor only */
.nav-menu li.nav-btn,
.nav-menu .menu-item.nav-btn,
li.nav-btn,
.nav-btn {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    list-style: none !important;
    border-radius: 50px;
}

/* Also target any WordPress-generated classes */
.nav-menu .menu-item.btn-outline,
.nav-menu li.btn-outline {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 7px;
    min-width: 35px;
    min-height: 35px;
    justify-content: center;
    align-items: center;
    position: relative;
    box-sizing: border-box;
}

.mobile-menu-toggle span {
    width: 30px;
    height: 2px;
    background-color: var(--text-white);
    transition: all 0.3s ease;
}

/* ===== HERO SECTION ===== */
.hero {
    position: relative;
    height: 100vh;
    max-height: 1400px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 80px 0 0 0;
    z-index: 99;
}

.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Universal fallback image for ALL videos (Low Power Mode) */
/* JavaScript automatically copies all styles from video element for exact match */
.video-fallback-image {
    position: absolute;
    z-index: 1; /* Behind video */
    display: block;
    /* All other styles (border-radius, width, height, margin, padding, object-fit, etc.)
       are copied from the video element via JavaScript */
}

/* Ensure video is always on top of fallback image */
.video-with-fallback {
    position: relative;
    z-index: 2; /* Above fallback image */
    opacity: 0; /* Start hidden - JavaScript will show when ready */
    transition: opacity 0.8s ease; /* Smooth transition when video becomes visible */
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 2;
}

.hero-content {
    position: relative;
    z-index: 3;
    text-align: center;
    color: var(--text-white);
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 180px;
}

.hero-container {
    /* max-width: 800px; */
    margin: 0 auto;
}

.hero-title {
    font-size: 52px;
    font-weight: 400;
    margin-bottom: 25px;
    line-height: 1.2;
}

.hero-subtitle {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 35px;
    color: rgba(255, 255, 255, 0.95);
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 35px;
}

.hero-cta {
    padding: 18px 45px;
    font-size: 16px;
    font-weight: 500;
}
.hero-gif {
    display: block;
    margin: 15px auto 0; /* center the gif */
    max-width: 50px; /* adjust size */
    filter: brightness(0) invert(1); /* turns black → white */
    cursor: pointer;
}

/* Hero Background Curve */
.hero-curve-container {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.hero-curve {
    position: absolute;
    bottom: -5%;
    left: -5%;
    width: min(40vw, 700px);
    height: auto;
    pointer-events: none;
    user-select: none;
    opacity: 0.3;
    z-index: 1;
    transform: rotate(-10deg);
}
/* ===== PARTNERS SECTION (Inside Hero) ===== */
.hero-partners {
    position: relative;
    z-index: 4;
    padding: 10px 0 30px;
    width: 100%;
    flex: 0 0 auto;
    /* background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 100%); */
}
/* ===== INNOVATION SECTION ===== */
.innovation-section {
    background-color: #000000;
    padding: 0 0 40px;
    position: relative;
    overflow: hidden;
    max-width: 1600px;
}

/* Innovation Section Background Curve */

.innovation-curve-wrapper {
  position: relative;
  z-index: 1;
}
.innovation-curve {
    position: relative;
    top: -90%;
    left: 50%;
    transform: translateX(-50%);
    height: auto;
    z-index: 1;
    pointer-events: none;
    user-select: none;
    margin-bottom: -90px;
    padding-bottom: 30px;
    opacity: 1;

}

.innovation-container {
    max-width: 1600px;
    margin: -50px auto 0;
    padding: 40px 20px;
    position: relative;
    z-index: 5;
    box-sizing: border-box;
}

/* Main Feature Card */
.main-feature {
    display: flex;
    background: transparent;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 20px;
    height: 500px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.feature-image {
    /* flex: 1; */
    position: relative;
    border-radius: 10px 0 0 10px;
    overflow: hidden;
}

.main-feature-video,
.video-fallback-image,
.main-feature-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.feature-content {
    flex: 1;
    background:#093d69;
    padding: 50px 40px;
    color: var(--text-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 0 10px 10px 0;
}

.feature-title {
    font-size: 52px;
    font-weight: 400;
    margin-bottom: 25px;
    line-height: 1.2;
    color: var(--text-white);
}

.feature-description {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 35px;
    color: rgba(255, 255, 255, 0.9);
}

.feature-cta {
    align-self: flex-start;
    padding: 14px 35px;
    background: transparent;
    border: 2px solid var(--text-white);
    color: var(--text-white);
    border-radius: 50px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.feature-cta:hover {
    background: var(--text-white);
    color: var(--primary-bg);
    text-decoration: none;
}

.feature-cta:focus,
.feature-cta:focus-visible {
    outline: none;
}

/* Service Cards */
.service-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    /* margin-bottom: 60px; */
}

.service-card {
    background: transparent;
    border-radius: 15px;
    overflow: hidden;
    text-align: center;
    transition: all 0.3s ease;
    /* cursor: pointer; */
    position: relative;
}

.service-card:hover {
    transform: translateY(-5px);
}

.service-image {
    overflow: hidden;
    border-radius: 10px;
    position: relative;
    height: 200px;
}

.service-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-title {
    color: var(--text-white);
    font-weight: 400;
    padding: 15px 10px;
    margin: 0;
    position: relative;
    z-index: 2;
}

/* ===== HELPED BRANDS SECTION ===== */
.helped-brands-section {
    background-color: var(--primary-bg);
    padding: 0 0 100px;
    position: relative;
    overflow: hidden;
}

.helped-brands-curve {
  position: absolute;
  bottom: 85%;
  left: 7%;
  width: min(65vw, 1000px);
  height: auto;
  pointer-events: none;
  user-select: none;
  opacity: 0.9;
  z-index: 1;
  transform: rotate(170deg);
}


.helped-brands-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.helped-brands-header {
    text-align: center;
    margin-bottom: 30px;
    padding-top: 80px;
}

.helped-brands-title {
    font-size: 52px;
    font-weight: 400;
    color: var(--text-white);
    margin-bottom: 20px;
    line-height: 1.2;
}

.helped-brands-subtitle {
    font-size: 17px;
    color:rgba(255, 255, 255, 0.95);
    max-width: 1030px;
    margin: 0 auto;
    line-height: 1.6;
}

.helped-brands-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 50px;
}

/* Featured Project (Large) */
.featured-project {
    position: relative;
}

.project-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 600px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.project-image:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.project-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 30px;
    color: var(--text-white);
}

.project-info {
    text-align: center;
    margin-top: 50px;
}

.project-category {
    font-size: 14px;
    color: var(--text-gray);
    font-weight: 500;
    display: block;
    margin-bottom: 5px;
}

.project-title {
    font-size: 24px;
    font-weight: 600;
    margin: 0;
    color: var(--text-white);
}

/* Project Gallery (4 small images) */
.project-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.gallery-item {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    height: 292px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.gallery-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.gallery-item:hover .gallery-img {
    transform: scale(1.05);
}

.gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    opacity: 0;
    transition: all 0.3s ease;
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}

.gallery-info {
    color: var(--text-white);
    text-align: center;
}

.gallery-category {
    font-size: 14px;
    color: var(--text-gray);
    font-weight: 500;
    display: block;
    margin-bottom: 3px;
}

.gallery-title {
    font-size: 17px;
    font-weight: 600;
    margin: 0;
    color: var(--text-white);
    line-height: 1.2;
}

/* CTA Button */
.helped-brands-cta {
    text-align: center;
}

.brands-btn {
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.brands-btn:hover {
    background: var(--text-white);
    color: var(--primary-bg);
    text-decoration: none;
}

/* ===== WEDDING EXPERIENCE SECTION ===== */
.wedding-experience-section {
    position: relative;
    height: 75vh;
    min-height: 500px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wedding-experience-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    padding: 0 0 0px;
}

.wedding-experience-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wedding-experience-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.wedding-experience-content {
    position: relative;
    z-index: 3;
    text-align: center;
    color: var(--text-white);
    background: rgba(0, 0, 0, 0.6);
    /* max-width: 1800px; */
    margin: 0 auto;
    padding: 50px;
    width: 100%;
}

.wedding-experience-container {
    max-width: 1200px;
    margin: 0 auto;
}

.wedding-experience-title {
    font-size: 52px;
    font-weight: 400;
    margin-bottom: 20px;
    line-height: 0.9;
    color: var(--text-white);
}

.wedding-experience-description {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 35px;
    color: rgba(255, 255, 255, 0.95);
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

.wedding-experience-cta {
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 36px;
    transition: all 0.3s ease;
}

.btn-outline.wedding-experience-cta:hover {
    background: var(--text-white);
    color: var(--primary-bg);
    border-color: var(--text-white);
    text-decoration: none;
}

.wedding-experience-cta:focus,
.wedding-experience-cta:focus-visible {
    outline: none;
}

/* Partners Section */
.partners {
    position: relative;
}

.partners-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    text-align: center;
}

.partners-title {
    color: var(--text-white);
    font-size: 25px;
    margin-bottom: 10px;
    font-weight: 500;
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 30px;
    align-items: center;
    justify-content: center;
}

/* Center logos when there are less than 6 items */
.partners-grid:not(.slider-enabled) {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
}

/* Auto-rotate logos effect (fade in/out) */
.partners-grid.auto-rotate {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60px;
    position: relative;
}

.partners-grid.auto-rotate .partner-logo {
    position: absolute;
    transition: opacity 0.5s ease-in-out;
}

/* Partner Logo Slider - Infinite Loop */
.partners-grid.slider-enabled {
    display: flex;
    overflow: hidden;
    width: 100%;
    position: relative;
    gap: 0;
}

.partners-grid.slider-enabled .partners-track {
    display: flex;
    animation: slide-infinite 20s linear infinite;
    width: calc(200% + 60px);
    gap: 30px;
}

.partners-grid.slider-enabled .partner-logo {
    flex: 0 0 auto;
    min-width: calc(16.666% - 25px);
}

@keyframes slide-infinite {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Slide animation without cloning - loops back to start */
@keyframes slide-no-clone {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* Slide from right to left - continuous loop without gap */
@keyframes slide-from-right {
    0% {
        transform: translateX(20%);
    }
    100% {
        transform: translateX(-120%);
    }
}

/* Individual logo sliding - each logo loops independently */
@keyframes slide-individual {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* Slide from right to left - starts from right edge and loops back to right */
@keyframes slide-right-to-left {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-150%);
    }
}

/* Centered grid initial state - logos show with gaps */
.partners-grid.centered-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    min-height: 60px;
    flex-wrap: wrap;
}

/* Sliding with gaps - container */
.partners-grid.sliding-with-gaps {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 60px;
    overflow: hidden;
    width: 100%;
    position: relative;
}

/* Logos wrapper - keeps logos together with gaps */
.logos-wrapper {
    display: flex;
    gap: 40px;
    align-items: center;
    white-space: nowrap;
}

/* Individual slider container */
.partners-grid.individual-slider {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60px;
    position: relative;
    overflow: hidden;
    width: 100%;
}

/* Add spacing between individual sliding logos */
.partners-grid.individual-slider .partner-logo {
    margin-right: 40px; /* Gap between logos */
}

/* Mobile Responsive Slider Styles */
@media (min-width: 480px) and (max-width: 768px) {
    .partners-grid.slider-enabled .partner-logo {
        min-width: calc(33.333% - 20px);
    }
}

@media (max-width: 768px) {
    /* Hide Partners Section on mobile screens */
    #main-partners{
        display: none !important;
    }

    .partners-grid.slider-enabled .partner-logo {
        min-width: calc(50% - 15px);
    }

    .partners-grid.slider-enabled .partners-track {
        gap: 15px;
        animation-duration: 15s;
    }
}

@media (max-width: 480px) {
    .partners-grid.slider-enabled .partner-logo {
        min-width: calc(50% - 10px);
    }

    .partners-grid.slider-enabled .partners-track {
        gap: 3px;
        animation-duration: 12s;
    }
}

.partner-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.partner-logo:hover {
    opacity: 1;
}

.partner-logo img {
    max-width: 100%;
    max-height: 60px;
    object-fit: contain;
    /* filter: brightness(0) invert(1); */ /* Removed to show colorful logos */
}

.partner-placeholder {
    color: var(--text-gray);
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    opacity: 0.6;
}

/* ===== THE FULL CIRCLE DIFFERENCE SECTION ===== */
.circle-difference-section {
    position: relative;
    padding: 60px 0;
    background: #000000;
    overflow: hidden;
}

.circle-diff-curve{
  position: absolute;
  bottom: 1%;
  left: -8%;
  width: min(65vw, 900px);
  height: auto;
  pointer-events: none;
  user-select: none;
  opacity: 0.9;
  z-index: 1;
  transform: rotate(-22deg);
}

.circle-difference-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(180deg, transparent 0%, #1a237e 100%);
    border-radius: 0 0 0 200px;
    opacity: 0.15;
    z-index: 1;
}

.circle-difference-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    height: 60%;
    background: linear-gradient(45deg, #1565c0 0%, transparent 70%);
    border-radius: 0 300px 0 0;
    opacity: 0.12;
    z-index: 1;
}

.circle-difference-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: stretch;
    gap: 50px;
    position: relative;
    z-index: 2;
    min-height: 500px;
}

.circle-difference-image {
    flex: 1;
    position: relative;
    width: 45%;
    min-width: 45%;
    max-width: 45%;
    display: flex;
    align-self: stretch;
}

.difference-img {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    object-fit: cover;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
    flex: 1;
}

.circle-difference-content {
    flex: 1;
    color: var(--text-white);
    width: 55%;
    min-width: 45%;
    max-width: 55%;
}

.difference-title {
    font-size: 52px;
    font-weight: 400;
    color: #ffffff;
    margin: 0 0 30px 0;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.difference-description {
    font-size: 16px;
    line-height: 1.7;
    color:rgba(255, 255, 255, 0.95);
    margin-bottom: 20px;
    font-weight: 400;
    letter-spacing: 0.01em;
}

.difference-description:last-of-type {
    margin-bottom: 40px;
}

.difference-stats {
    margin-bottom: 30px;
}

.stats-title {
    font-size: 24px;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 10px 0;
    letter-spacing: -0.01em;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    /* max-width: 480px; */
    width: 100%;
}

.stat-item {
    background: rgba(0, 0, 0, 0.6);
    border: 2px solid #3b82f6;
    border-radius: 8px;
    padding: 9px;
    text-align: center;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    aspect-ratio: 1;
    min-height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.stat-item:hover {
    background: rgba(0, 0, 0, 0.8);
    border-color: #60a5fa;
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.3);
}

.stat-number {
    font-size: 28px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
    display: block;
    letter-spacing: -0.01em;
}

.stat-label {
    font-size: 11px;
    color:rgba(255, 255, 255, 0.95);
    font-weight: 500;
    letter-spacing: 0.02em;
}

.difference-cta {
    margin-top: 10px;
}

.difference-btn {
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.01em;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.difference-btn:hover {
    background: var(--text-white);
    color: var(--primary-bg);
    text-decoration: none;
}

.difference-btn:focus,
.difference-btn:focus-visible {
    outline: none;
}

/* ===== RESPONSIVE DESIGN ===== */

/* Large Tablets */
@media (max-width: 1024px) {
   .nav-right {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 60%;
        height: 100vh;
        background-color: #ffffff !important;  /* White background for both navbars */
        z-index: 9999;
        overflow-x: hidden;
        overflow-y: auto;
        transform: translateX(-100%);
        transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0.5s;
        visibility: hidden;
    }

    .nav-right.mobile-active {
        transform: translateX(0);
        visibility: visible;
        transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0s;
    }

    .nav-menu.mobile-active,
    .nav-right.mobile-active .nav-menu {
        display: flex;
        flex-direction: column;
        padding: 80px 0 40px 0;
        gap: 0;
        align-items: flex-start;
        justify-content: flex-start;
        height: 100%;
        margin: 0;
        width: 100%;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(8px, -8px);
    }

    /* Professional mobile nav link styling */
    .nav-right.mobile-active .nav-link {
        font-size: 17px;
        font-weight: 500;
        padding: 18px 0;
        padding-left: 25px;
        text-align: left;
        width: 100%;
        display: block;
        border-radius: 0;
        transition: all 0.3s ease;
        margin: 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
        box-sizing: border-box;
    }

    /* Wedding/International pages - white background with black separator */
    .intl-theme-body .nav-right.mobile-active .nav-link {
        border-bottom: 1px solid #000000 !important;
    }

    /* Event pages - dark background with white separator */
    body:not(.intl-theme-body) .nav-right.mobile-active .nav-link {
        border-bottom: 1px solid #ffffff !important;
    }

    /* Remove border from last link */
    .nav-right.mobile-active .nav-link:last-child {
        border-bottom: none !important;
    }

    /* Remove border from nav button links */
    .nav-right.mobile-active .nav-btn,
    .nav-right.mobile-active .nav-link.nav-btn,
    .nav-right.mobile-active .btn-outline,
    .nav-right.mobile-active .nav-link.btn-outline {
        border-bottom: none !important;
    }

    .nav-right.mobile-active .nav-link:hover {
        background-color: transparent;
        color: inherit;
    }

    /* Reduce button size specifically in mobile menu */
    .nav-right.mobile-active .btn-outline,
    .nav-right.mobile-active .nav-link.btn-outline {
        padding: 0px 0px !important;
        font-size: 14px !important;
        border-radius: 50px !important;
        min-width: auto !important;
    }

    /* Make buttons look like regular text links in wedding mobile menu */
    .intl-theme-body .nav-right.mobile-active .btn-outline,
    .intl-theme-body .nav-right.mobile-active .nav-link.btn-outline,
    .intl-theme-body .nav-right.mobile-active .nav-btn,
    .intl-theme-body .nav-right.mobile-active .nav-link.nav-btn {
        border: none !important;
        border-radius: 50px !important;
        background: transparent !important;
        min-width: auto !important;
    }

    .navbar.scrolled{
        padding: 10px 0;
    }
    .logo-img {
        max-width: 150px;
    }
    .hero-title {
        font-size: 40px;
    }
    
    .innovation-container {
        padding:30px 15px;
    }
    .innovation-curve-wrapper{
        display: none !important;
    }
    .innovation-curve{
        display: none;
    }
    .main-feature {
        flex-direction: column;
        height: auto;
    }
    
    .feature-image {
        border-radius: 25px 25px 0 0;
        height: 420px;
        min-height: 380px;
        max-height: 460px;
    }
    
    .main-feature-video,
    .video-fallback-image,
    .main-feature-img {
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
    
    .feature-content {
        padding: 40px 30px;
        border-radius: 0 0 25px 25px;
        text-align: center;
        align-items: center;
    }

    .feature-cta {
        align-self: center;
    }
    
    .feature-title {
        font-size: 28px;
        margin-bottom: 20px;
    }
    
    .feature-description {
        font-size: 15px;
        margin-bottom: 25px;
        line-height: 1.5;
    }
    
    .feature-cta {
        padding: 12px 30px;
        font-size: 14px;
        align-self: center;
        margin-top: 10px;
    }
    
    .service-cards {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .partners-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
    
    /* Helped Brands Responsive */
    .helped-brands-container {
        padding: 0 30px;
    }
    
    .helped-brands-title {
        font-size: 36px;
    }
    
    .helped-brands-grid {
        gap: 20px;
    }
    
    .project-image {
        height: 350px;
    }
    
    .gallery-item {
        height: 285px;
    }
    
    /* Wedding Experience Responsive */
    .wedding-experience-content {
        padding: 35px 30px;
    }
    
    .wedding-experience-title {
        font-size: 42px;
    }
    
    /* Circle Difference Large Tablet */
    .circle-difference-container {
        gap: 60px;
        padding: 0 15px;
    }
    
    .difference-title {
        font-size: 38px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
        max-width: 100%;
    }
    
    .stat-item {
        padding: 20px 16px;
    }
    
    .stat-number {
        font-size: 24px;
    }
    .innovation-curve{
        display: none;
    }
}

/* Mobile menu responsive adjustments for tablets (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
    .nav-right.mobile-active {
        width: 50%;
    }

    .nav-right.mobile-active .nav-link {
        font-size: 18px;
        padding: 20px 0;
        padding-left: 30px;
    }

    /* Remove border from nav button links */
    .nav-right.mobile-active .nav-btn,
    .nav-right.mobile-active .nav-link.nav-btn,
    .nav-right.mobile-active .btn-outline,
    .nav-right.mobile-active .nav-link.btn-outline {
        border-bottom: none !important;
    }

    .nav-menu.mobile-active,
    .nav-right.mobile-active .nav-menu {
        padding: 90px 0 50px 0;
    }
}

/* Mobile menu responsive adjustments for large phones (428px - 767px) */
@media (min-width: 428px) and (max-width: 767px) {
    .nav-right.mobile-active {
        width: 65%;
    }

    .nav-right.mobile-active .nav-link {
        font-size: 16px;
        padding: 16px 0;
        padding-left: 22px;
    }

    /* Remove border from nav button links */
    .nav-right.mobile-active .nav-btn,
    .nav-right.mobile-active .nav-link.nav-btn,
    .nav-right.mobile-active .btn-outline,
    .nav-right.mobile-active .nav-link.btn-outline {
        border-bottom: none !important;
    }

    .nav-menu.mobile-active,
    .nav-right.mobile-active .nav-menu {
        padding: 75px 0 40px 0;
    }
}

/* Mobile menu responsive adjustments for iPhone 14 Pro Max, iPhone 14 Plus (390px - 427px) */
@media (min-width: 390px) and (max-width: 427px) {
    .nav-right.mobile-active {
        width: 70%;
    }

    .nav-right.mobile-active .nav-link {
        font-size: 15px;
        padding: 15px 0;
        padding-left: 20px;
    }

    /* Remove border from nav button links */
    .nav-right.mobile-active .nav-btn,
    .nav-right.mobile-active .nav-link.nav-btn,
    .nav-right.mobile-active .btn-outline,
    .nav-right.mobile-active .nav-link.btn-outline {
        border-bottom: none !important;
    }

    .nav-menu.mobile-active,
    .nav-right.mobile-active .nav-menu {
        padding: 70px 0 35px 0;
    }
}

/* Mobile menu responsive adjustments for iPhone SE, small phones (375px - 389px) */
@media (min-width: 375px) and (max-width: 389px) {
    .nav-right.mobile-active {
        width: 72%;
    }

    .nav-right.mobile-active .nav-link {
        font-size: 14px;
        padding: 14px 0;
        padding-left: 18px;
    }

    /* Remove border from nav button links */
    .nav-right.mobile-active .nav-btn,
    .nav-right.mobile-active .nav-link.nav-btn,
    .nav-right.mobile-active .btn-outline,
    .nav-right.mobile-active .nav-link.btn-outline {
        border-bottom: none !important;
    }

    .nav-menu.mobile-active,
    .nav-right.mobile-active .nav-menu {
        padding: 65px 0 30px 0;
    }
}

/* Mobile menu responsive adjustments for very small phones (320px - 374px) */
@media (max-width: 374px) {
    .nav-right.mobile-active {
        width: 75%;
    }

    .nav-right.mobile-active .nav-link {
        font-size: 13px;
        padding: 13px 0;
        padding-left: 16px;
    }

    /* Remove border from nav button links */
    .nav-right.mobile-active .nav-btn,
    .nav-right.mobile-active .nav-link.nav-btn,
    .nav-right.mobile-active .btn-outline,
    .nav-right.mobile-active .nav-link.btn-outline {
        border-bottom: none !important;
    }

    .nav-menu.mobile-active,
    .nav-right.mobile-active .nav-menu {
        padding: 60px 0 30px 0;
    }
}

/* Medium screens - Landscape phones and small tablets */
@media (min-width: 480px) and (max-width: 768px) {
    .main-feature {
        flex-direction: column;
        height: auto;
    }
    
    .feature-image {
        border-radius: 25px 25px 0 0;
        height: 480px;
        min-height: 430px;
        max-height: 520px;
    }
    
    .main-feature-video,
    .video-fallback-image,
    .main-feature-img {
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
    
    .feature-content {
        padding: 35px 25px;
        border-radius: 0 0 25px 25px;
    }
    
    .feature-title {
        font-size: 26px;
        margin-bottom: 18px;
    }
    
    .feature-description {
        font-size: 15px;
        margin-bottom: 22px;
        line-height: 1.5;
    }
    
    .feature-cta {
        padding: 12px 28px;
        font-size: 14px;
        align-self: center;
    }
    
    /* Service Cards - Medium screens */
    .service-image {
        height: 160px;
    }
}

/* Tablets */
@media (max-width: 768px) {
    .nav-right {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 60%;
        height: 100vh;
        background-color: rgba(255, 255, 255, 0.95);
        z-index: 9999;
        overflow-x: hidden;
        overflow-y: auto;
        transform: translateX(-100%);
        transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        visibility: hidden;
    }

    .nav-right.mobile-active {
        transform: translateX(0);
        visibility: visible;
    }
    .navbar.scrolled{
        padding: 5px 0;
    }
    .logo-img {
        max-width: 150px;
    }
    
    .nav-menu.mobile-active,
    .nav-right.mobile-active .nav-menu {
        display: flex;
        flex-direction: column;
        padding: 80px 20px 40px 20px;
        gap: 30px;
        align-items: baseline;
        justify-content: flex-start;
        height: 100%;
        margin: 0;
    }
    
    .mobile-menu-toggle {
        display: flex;
    }
    
    .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }
    
    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }
    
    .mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(8px, -8px);
    }
    
    .hero-title {
        font-size: 36px;
    }
    
    .hero-subtitle {
        font-size: 16px;
    }
    
    .innovation-container {
        padding:20px;
    }
    .innovation-curve{
        display: none;
    }
    .feature-content {
        padding: 25px;
    }
    
    .feature-title {
        font-size: 24px;
    }
    
    .feature-description {
        font-size: 14px;
    }
    
    .service-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .service-image {
        height: 150px;
    }
    
    .service-title {
        font-size: 14px;
        padding: 12px 8px;
    }
    
    .partners-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .partner-logo {
        height: 40px;
    }
    
    .partner-logo img {
        max-height: 50px;
    }
    
    .partners-title {
        font-size: 18px;
    }
    
    /* Helped Brands Tablet */
    .helped-brands-container {
        padding: 0 20px;
    }
    
    .helped-brands-title {
        font-size: 32px;
    }
    
    .helped-brands-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    
    .project-image {
        height: 300px;
    }
    
    .project-gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .gallery-item {
        height: 220px;
    }
    
    .gallery-item:hover .gallery-overlay {
        opacity: 1;
    }
    
    /* Wedding Experience Tablet */
    .wedding-experience-section {
        height: 55vh;
        min-height: 450px;
    }
    
    .wedding-experience-content {
        padding:30px;
    }
    
    .wedding-experience-title {
        font-size: 42px;
        margin-bottom: 20px;
    }
    
    .wedding-experience-description {
        font-size: 16px;
        margin-bottom: 30px;
    }
    
    /* Circle Difference Tablet */
    .circle-difference-section {
        padding: 70px 0;
    }
    
    .circle-difference-container {
        flex-direction: column;
        gap: 50px;
        padding: 0 20px;
        text-align: center;
    }
    
    .circle-difference-image {
        order: 2;
        max-width: 100%;
        width: 100%;
    }
    
    .circle-difference-content {
        order: 1;
        max-width: 100%;
        width: 100%;
    }
    
    .difference-title {
        font-size: 32px;
    }
    
    .difference-description {
        font-size: 15px;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .stats-title {
        font-size: 22px;
    }
    
    .stats-grid {
        margin: 0 auto;
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
        max-width: 400px;
    }
    
    .stat-item {
        padding: 20px 15px;
    }
    
    .stat-number {
        font-size: 24px;
    }
    
    .stat-label {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 26px;
    }
        .hero-subtitle {
        font-size: 14px;
    }
}

@media (max-width: 480px){
.wedding-experience-title{
    font-size: 26px;
}
.wedding-experience-description{
    font-size: 14px;
 }
}

/* Mobile */
@media (max-width: 429px) {
    .nav-container {
        padding: 10px 15px;
    }
    .navbar.scrolled{
        padding: 0px 0;
    }
    .logo-img {
        max-width: 150px;
    }
    .hero-title {
        font-size: 28px;
        margin-bottom: 15px;
    }
    
    .hero-subtitle {
        font-size: 14px;
        margin-bottom: 25px;
    }
    
    .hero-cta {
        padding: 12px 30px;
        font-size: 14px;
    }
    
    .innovation-container {
        padding:15px;
    }
    
    .feature-content {
        padding: 20px;
    }
    
    .feature-title {
        font-size: 20px;
    }
    
    .feature-description {
        font-size: 13px;
        margin-bottom: 20px;
    }
    
    .feature-cta {
        padding: 10px 25px;
        font-size: 13px;
    }
    
    .service-cards {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 0px;
    }
    
    .service-image {
        height: 160px;
    }
    
    .service-title {
        font-size: 14px;
        padding: 10px 5px;
    }
    
    .partners {
        padding: 20px 0;
    }
    
    .partners-container {
        padding: 0 15px;
    }
    
    .partners-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    
    .partner-logo {
        height: 35px;
    }
    
    .partner-logo img {
        max-height: 40px;
    }
    
    .partner-placeholder {
        font-size: 12px;
    }
    
    /* Helped Brands Mobile */
    .helped-brands-container {
        padding: 0 15px;
    }
    
    .helped-brands-header {
        margin-bottom: 40px;
        padding-top: 60px;
    }
    
    .helped-brands-title {
        font-size: 28px;
    }
    
    .helped-brands-subtitle {
        font-size: 16px;
    }
    
    .helped-brands-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 40px;
    }
    
    .project-image {
        height: 250px;
    }
    
    .project-overlay {
        padding: 20px;
    }
    
    .project-title {
        font-size: 20px;
    }
    
    .project-gallery {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    
    .gallery-item {
        height: 180px;
    }
    
    .gallery-overlay {
        opacity: 1;
    }
    
    .gallery-item:hover .gallery-overlay {
        opacity: 1;
    }
    
    .brands-btn {
        padding: 14px 35px;
        font-size: 14px;
    }
    
    /* Wedding Experience Mobile */
    .wedding-experience-section {
        height: 50vh;
        min-height: 400px;
        background: rgba(0, 0, 0, 0.6);
    }
    
    .wedding-experience-content {
        padding: 30px 15px;
        height: 100%;
        min-height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }
    
    .wedding-experience-title {
        font-size: 28px;
        margin-bottom: 20px;
    }
    
    .wedding-experience-description {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 25px;
    }
    
    .wedding-experience-cta {
        padding: 10px 28px;
        font-size: 14px;
    }
}

/* iPhone 12 Pro and similar screens (390x844) - Fix content overflow */
@media only screen and (max-width: 414px) and (max-height: 900px) {
    .wedding-experience-section {
        height: auto;
        min-height: 600px;
        padding: 40px 0;
    }
    
    .wedding-experience-content {
        padding: 40px 15px;
        height: auto;
        min-height: 500px;
    }
    
    .wedding-experience-description {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 30px;
    }
    
    .wedding-experience-title {
        font-size: 26px;
        margin-bottom: 18px;
    }
    
    /* Partner logos - iPhone 12 and similar */
    .partner-logo {
        height: 32px;
    }
    
    .partner-logo img {
        max-height: 25px;
    }
}



@media (max-width: 850px) {
    /* Hide difference image container on screens 850px and below */
    .circle-difference-image {
       display: none;
    }

    /* Center the content when image is hidden */
    .circle-difference-container {
        justify-content: center;
        text-align: center;
    }

    .circle-difference-content {
        max-width: 800px;
        margin: 0 auto;
    }

    .stats-grid {
        margin: 0 auto;
        justify-content: center;
    }

    .difference-stats {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 768px) {
    /* Circle Difference Mobile */
    .circle-difference-section {
        padding: 50px 0 20px;
    }

    .circle-difference-container {
        gap: 40px;
        padding: 0 15px;
    }

    .circle-difference-image {
        max-width: 100%;
    }

    .circle-difference-content {
        max-width: 100%;
        width: auto;
    }
    
    .difference-title {
        font-size: 32px;
        margin-bottom: 25px;
    }
    
    .difference-description {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 18px;
    }
    
    .difference-description:last-of-type {
        margin-bottom: 35px;
    }
    
    .stats-title {
        font-size: 20px;
        margin-bottom: 25px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 320px;
        gap: 15px;
    }
    
    .stat-item {
        padding: 18px 12px;
    }
    
    .stat-number {
        font-size: 22px;
        margin-bottom: 6px;
    }
    
    .stat-label {
        font-size: 12px;
    }
    
    .difference-btn {
        padding: 12px 28px;
        font-size: 14px;
    }
}


@media (max-width: 480px) {
    .difference-title {
        font-size: 26px;
    }

    .difference-description {
        font-size: 14px;
    }

    .difference-btn {
        padding: 12px 28px;
        font-size: 14px;
    }
}

/* Extra Small Mobile */
@media (max-width: 320px) {
    .hero-title {
        font-size: 24px;
    }
    
    .hero-subtitle {
        font-size: 13px;
    }
    .navbar.scrolled{
        padding: 10px 0;
    }
}

/* ===== DEVICE-SPECIFIC OPTIMIZATIONS ===== */

/* General Tablet Portrait/Landscape (768px-1024px) */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
    .feature-content {
        padding: 35px 30px;
    }
    
    .feature-title {
        font-size: 28px;
        margin-bottom: 18px;
    }
    
    .feature-description {
        font-size: 15px;
        margin-bottom: 22px;
        line-height: 1.5;
    }
    
    .feature-cta {
        padding: 12px 30px;
        font-size: 14px;
        align-self: flex-start;
    }
}

@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
    /* Keep horizontal layout on tablet landscape */
    .main-feature {
        flex-direction: row !important;
        height: 450px !important;
    }

    .feature-image {
        flex: 1;
        border-radius: 10px 0 0 10px !important;
        height: 100% !important;
        min-height: auto !important;
        max-height: none !important;
    }

    .feature-content {
        flex: 1;
        padding: 30px 25px;
        border-radius: 0 10px 10px 0 !important;
        text-align: left !important;
        align-items: flex-start !important;
    }

    .feature-title {
        font-size: 26px;
        margin-bottom: 16px;
    }

    .feature-description {
        font-size: 14px;
        margin-bottom: 20px;
        line-height: 1.5;
    }

    .feature-cta {
        padding: 11px 28px;
        font-size: 13px;
        align-self: flex-start;
    }
}

/* iPad Air 10.9" (820x1180) */
@media only screen and (min-device-width: 820px) and (max-device-width: 1180px) {
    .main-feature .feature-content {
        padding: 38px 35px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    
    .main-feature .feature-title {
        font-size: 29px !important;
        margin-bottom: 19px !important;
        font-weight: bold !important;
        color: var(--text-white) !important;
    }
    
    .main-feature .feature-description {
        font-size: 16px !important;
        margin-bottom: 24px !important;
        line-height: 1.6 !important;
        color: rgba(255, 255, 255, 0.9) !important;
    }
    
    .main-feature .feature-cta.btn-outline {
        padding: 13px 32px !important;
        font-size: 15px !important;
        align-self: flex-start !important;
        display: inline-block !important;
        background: transparent !important;
        border: 2px solid var(--text-white) !important;
        color: var(--text-white) !important;
        border-radius: 25px !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }
}

/* iPad Pro 11" (834x1194) */
@media only screen and (min-device-width: 834px) and (max-device-width: 1194px) {
    .main-feature .feature-content {
        padding: 40px 37px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    
    .main-feature .feature-title {
        font-size: 30px !important;
        margin-bottom: 20px !important;
        font-weight: bold !important;
        color: var(--text-white) !important;
    }
    
    .main-feature .feature-description {
        font-size: 16px !important;
        margin-bottom: 25px !important;
        line-height: 1.6 !important;
        color: rgba(255, 255, 255, 0.9) !important;
    }
    
    .main-feature .feature-cta.btn-outline {
        padding: 13px 32px !important;
        font-size: 15px !important;
        align-self: flex-start !important;
        display: inline-block !important;
        background: transparent !important;
        border: 2px solid var(--text-white) !important;
        color: var(--text-white) !important;
        border-radius: 25px !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }
}

/* iPad Mini (768x1024) */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) {
    .main-feature .feature-content {
        padding: 35px 30px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    
    .main-feature .feature-title {
        font-size: 28px ;
        margin-bottom: 18px !important;
        font-weight: bold !important;
        color: var(--text-white) !important;
    }
    
    .main-feature .feature-description {
        font-size: 15px !important;
        margin-bottom: 22px !important;
        line-height: 1.6 !important;
        color: rgba(255, 255, 255, 0.9) !important;
    }
    
    .main-feature .feature-cta.btn-outline {
        padding: 12px 30px !important;
        font-size: 14px !important;
        align-self: flex-start !important;
        display: inline-block !important;
        background: transparent !important;
        border: 2px solid var(--text-white) !important;
        color: var(--text-white) !important;
        border-radius: 25px !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }
}

/* iPad Pro 12.9" (1366x1024) */
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (-webkit-min-device-pixel-ratio: 2) {
    .hero {
        height: 100vh;
    }
    
    .hero-title {
        font-size: 48px;
    }
    
    .main-feature .feature-content {
        padding: 45px 40px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    
    .main-feature .feature-title {
        font-size: 32px !important;
        margin-bottom: 22px !important;
        font-weight: bold !important;
        color: var(--text-white) !important;
    }
    
    .main-feature .feature-description {
        font-size: 17px !important;
        margin-bottom: 28px !important;
        line-height: 1.6 !important;
        color: rgba(255, 255, 255, 0.9) !important;
    }
    
    .main-feature .feature-cta.btn-outline {
        padding: 14px 35px !important;
        font-size: 16px !important;
        align-self: flex-start !important;
        display: inline-block !important;
        background: transparent !important;
        border: 2px solid var(--text-white) !important;
        color: var(--text-white) !important;
        border-radius: 25px !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }
    
    .nav-menu {
        gap: 40px;
    }
    
    .difference-title {
        font-size: 40px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(4, 1fr);
        max-width: 100%;
        gap: 18px;
    }
    .navbar.scrolled{
        padding: 10px 0;
    }
    .logo-img {
        max-width: 150px;
    }
}

/* iPad (768x1024) Portrait & Landscape */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .hero {
        height: 85vh;
        min-height: 600px;
    }
    
    .hero-title {
        font-size: 42px;
        line-height: 1.2;
    }
    
    .hero-subtitle {
        font-size: 18px;
        max-width: 600px;
    }
    
    .main-feature .feature-content {
        padding: 40px 35px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    
    .main-feature .feature-title {
        font-size: 42px;
        margin-bottom: 20px !important;
        font-weight: bold !important;
        color: var(--text-white) !important;
    }
    
    .main-feature .feature-description {
        font-size: 16px ;
        margin-bottom: 25px !important;
        line-height: 1.6 !important;
        color: rgba(255, 255, 255, 0.9) !important;
    }
    
    .main-feature .feature-cta.btn-outline {
        padding: 13px 32px !important;
        font-size: 15px !important;
        align-self: center !important;
        display: inline-block !important;
        background: transparent !important;
        border: 2px solid var(--text-white) !important;
        color: var(--text-white) !important;
        border-radius: 25px !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }
    
    .main-feature {
        height: 500px;
    }
    
    .feature-image {
        height: 500px;
    }
    
    .main-feature-video,
    .video-fallback-image,
    .main-feature-img {
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .innovation-curve-wrapper{
        display: none !important;
    }
    .innovation-curve{
        display: none;
    }
    
    .service-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .partners-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
    }
    
    .difference-title {
        font-size: 42px;
    }
    
    .difference-description {
        font-size: 16px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 2fr);
        max-width: 60%;
        gap: 16px;
    }
}

/* Fix for 2K screens - match padding with other sections */
@media (min-width: 2040px) and (max-width: 2060px) {
    
}

/* HORIZONTAL SCROLL FIX - Prevent overflow on all screen sizes */
@media (max-width: 1600px) {
    * {
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .innovation-container,
    .main-feature,
    .feature-card,
    .service-cards {
        max-width: 100%;
        overflow: hidden;
    }
    
    /* Ensure curved background elements don't cause overflow */
    .hero-curve,
    .innovation-curve,
    .plan-curve {
        max-width: 100vw;
    }
}

/* DESKTOP SPECIFIC OVERFLOW FIX */
@media (min-width: 1400px) {
    body, html {
        overflow-x: hidden;
    }
    
    .innovation-section,
    .innovation-container,
    .nav-container {
        width: 100%;
        max-width: 1600px !important;
        margin: 0 auto !important;
    }
}

/* COMPREHENSIVE TABLET/IPAD FIX - All devices 768px-1400px */
@media only screen and (min-width: 768px) and (max-width: 1400px) {
    /* Force main feature to stack vertically on tablets */
    .main-feature {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: 600px !important;
        background: transparent !important;
        border-radius: 25px !important;
        overflow: hidden !important;
        margin-bottom: 50px !important;
    }
    
    /* Video container - INCREASED FOR PORTRAIT VIDEO */
    .main-feature .feature-image {
        width: 100% !important;
        height: 450px !important;
        min-height: 400px !important;
        max-height: 500px !important;
        border-radius: 25px 25px 0 0 !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
    }
    
    .main-feature .main-feature-video,
    .main-feature .video-fallback-image,
    .main-feature .main-feature-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        margin-top: 50px;
        border-radius: 35px;
    }
    
    /* Content area - COMPLETELY REBUILT */
    .main-feature .feature-content {
        flex: 1 !important;
        width: 100% !important;
        background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%) !important;
        padding: 40px 35px 45px 35px !important;
        color: var(--text-white) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        border-radius: 0 0 25px 25px !important;
        min-height: 200px !important;
        position: relative !important;
        z-index: 5 !important;
    }     
    
    /* Text elements */
    .main-feature .feature-title {
        font-size: 35px ;
        font-weight: 400 !important;
        margin-bottom: 20px !important;
        line-height: 1.2 !important;
        color: var(--text-white) !important;
        display: block !important;
        width: 100% !important;
    }
    
    .main-feature .feature-description {
        font-size: 16px !important;
        line-height: 1.6 !important;
        margin-bottom: 25px !important;
        color: rgba(255, 255, 255, 0.9) !important;
        display: block !important;
        width: 100% !important;
    }
    
    /* Button - FORCE VISIBILITY */
    .main-feature .feature-cta,
    .main-feature .btn-outline,
    .main-feature a[class*="cta"],
    .main-feature a[class*="btn"] {
        display: inline-block !important;
        padding: 14px 32px !important;
        background: transparent !important;
        border: 2px solid var(--text-white) !important;
        border-radius: 25px !important;
        color: var(--text-white) !important;
        text-decoration: none !important;
        font-weight: 500 !important;
        font-size: 15px !important;
        line-height: 1 !important;
        text-align: center !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        position: relative !important;
        z-index: 10 !important;
        visibility: visible !important;
        opacity: 1 !important;
        margin-top: 10px !important;
        width: auto !important;
        height: auto !important;
        min-width: 180px !important;
        align-self: flex-start !important;
    }
    
    /* Service Cards - Better image heights for tablets/iPads */
    .service-image {
        height: 180px !important;
    }
    
    .service-cards {
        gap: 25px !important;
    }
    
    /* Gallery overlay always visible on tablets/iPads */
    .gallery-overlay {
        opacity: 0 !important;
    }
    
    .gallery-item:hover .gallery-overlay {
        opacity: 1 !important;
    }
}

/* SPECIFIC IPAD PRO FIX - Force button visibility + Bigger video */
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) {
    .main-feature .feature-image {
        height: 500px !important;
        min-height: 500px !important;
        max-height: 550px !important;
    }
    
    .main-feature .feature-content {
        padding: 45px 40px 50px 40px !important;
        min-height: 250px !important;
    }
    
    .main-feature .feature-title {
        font-size: 42px !important;
        margin-bottom: 22px !important;
    }
    
    .main-feature .feature-description {
        font-size: 17px !important;
        margin-bottom: 28px !important;
    }
    
    .main-feature .feature-cta,
    .main-feature .btn-outline {
        padding: 16px 36px !important;
        font-size: 16px !important;
        min-width: 200px !important;
        margin-top: 15px !important;
    }
    
    /* Service Cards - iPad Pro specific heights */
    .service-image {
        height: 200px !important;
    }
    
    /* Gallery overlay always visible on iPad Pro */
    .gallery-overlay {
        opacity: 0 !important;
    }
    
    .gallery-item:hover .gallery-overlay {
        opacity: 1 !important;
    }
}

/* EMERGENCY BUTTON FIX - If button still doesn't show */
@media only screen and (min-width: 768px) and (max-width: 1366px) {
    .feature-content a,
    .feature-content .btn-outline,
    .feature-content .feature-cta {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        float: none !important;
        clear: both !important;
        margin: 15px 0 0 0 !important;
    }
}

/* tab landscape */
@media only screen and (min-device-width: 768px) and (max-device-width: 1200px){
   .innovation-curve-wrapper{
        display: none !important;
    }
    .innovation-curve{
        display: none;
    }
    
    .main-feature {
        height: 450px;
    }
    
    .feature-image {
        height: 450px;
    }
    
    .main-feature-video,
    .video-fallback-image,
    .main-feature-img {
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
    
    .feature-content {
        padding: 40px 35px;
    }
    
    .feature-title {
        font-size: 28px;
        margin-bottom: 18px;
    }
    
    .feature-description {
        font-size: 15px;
        margin-bottom: 22px;
        line-height: 1.6;
    }
    
    .feature-cta {
        padding: 12px 30px;
        font-size: 14px;
        align-self: flex-start;
    }

}

/* iPhone 14 Pro Max, iPhone 14 Plus (428px) */
@media only screen and (min-device-width: 414px) and (max-device-width: 428px) and (-webkit-min-device-pixel-ratio: 3) {
    .hero {
        height: 100vh;
        min-height: 600px;
    }
    
    .hero-title {
        font-size: 32px;
        line-height: 1.1;
    }
    
    .hero-subtitle {
        font-size: 16px;
        line-height: 1.5;
    }
    
    .feature-title {
        font-size: 24px;
    }
    
    .service-cards {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .difference-title {
        font-size: 30px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 300px;
        gap: 16px;
    }
    .navbar.scrolled{
        padding: 10px 0;
    }
}

/* iPhone 14 Pro, iPhone 14, iPhone 13 (390px) */
@media only screen and (min-device-width: 375px) and (max-device-width: 390px) and (-webkit-min-device-pixel-ratio: 3) {
    .hero {
        height: 100vh;
        min-height: 580px;
    }
    
    .hero-title {
        font-size: 30px;
        line-height: 1.1;
    }
    
    .hero-subtitle {
        font-size: 15px;
        line-height: 1.5;
    }
    
    .feature-content {
        padding: 25px 20px;
    }
    
    .feature-title {
        font-size: 22px;
    }
    
    .difference-title {
        font-size: 28px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 280px;
        gap: 14px;
    }
}

/* iPhone SE (375px) */
@media only screen and (min-device-width: 320px) and (max-device-width: 375px) and (-webkit-min-device-pixel-ratio: 2) {
    .hero {
        height: 100vh;
        min-height: 560px;
    }
    .logo-img {
        max-width: 150px;
    }
    .navbar.scrolled{
        padding: 0px 0;
    }
    
    .hero-title {
        font-size: 28px;
        line-height: 1.1;
        margin-bottom: 20px;
    }
    
    .hero-subtitle {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 30px;
    }
    
    .hero-cta {
        padding: 12px 28px;
        font-size: 14px;
    }
    
    .difference-title {
        font-size: 26px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 260px;
        gap: 12px;
    }
    
    .stat-item {
        padding: 16px 10px;
    }
    
    .stat-number {
        font-size: 20px;
    }
}

/* iOS Safari Specific Fixes */
@supports (-webkit-touch-callout: none) {
    /* Fix viewport height on iOS */
    .hero {
        height: 100vh;
        height: -webkit-fill-available;
    }
    
    /* Prevent zoom on input focus */
    input, select, textarea {
        font-size: 16px;
    }
    
    /* Fix scroll bounce */
    /* body {
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: none;
    } */
    
    /* Smooth video playback on iOS */
    video {
        -webkit-playsinline: 1;
    }

    /* Force navbar scroll styles on iOS Safari */
    .intl-theme-body .navbar.scrolled {
        background-color: #ffffff !important;
        -webkit-backface-visibility: hidden !important;
        backface-visibility: hidden !important;
    }

    /* Force logo filter removal on scroll for iOS */
    .intl-theme-body .navbar.scrolled .nav-logo img {
        filter: none !important;
        -webkit-filter: none !important;
    }

    /* Force hamburger icon color change on scroll for iOS */
    .intl-theme-body .navbar.scrolled .mobile-menu-toggle {
        color: #0d2b8c !important;
    }

    .intl-theme-body .navbar.scrolled .mobile-menu-toggle span {
        background-color: #0d2b8c !important;
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    .btn-outline:hover,
    .nav-link:hover,
    .gallery-item:hover,
    .partner-logo:hover,
    .stat-item:hover {
        /* Reset hover styles for touch devices */
        /* background-color: initial; */
        color: initial;
        transform: initial;
        opacity: initial;
    }
    
    /* Gallery overlay visible by default, disappears on touch */
    
    .gallery-item:hover .gallery-overlay,
    .gallery-item:active .gallery-overlay {
        opacity: 0 !important;
    }
    
    /* Add touch-friendly active states */
    .btn-outline:active {
        background-color: var(--text-white);
        color: var(--primary-bg);
        transform: scale(0.98);
    }
    
    .nav-link:active {
        color: var(--text-gray);
    }
    
    .gallery-item:active {
        transform: scale(0.98);
    }
}

/* ===== Blog Section (FCE PRO) ===== */
.fce-blog {
  background: #000;
  color: #fff;
  padding: clamp(40px, 6vw, 80px) 0;
}

.fce-blog .blog-wrap {
  max-width: 1600px;
  margin-inline: auto;
  padding-inline: 15px;
}

.fce-blog .blog-heading {
  margin: 0 0 clamp(24px, 3vw, 40px);
  font-weight: 400;
  text-align: center;
  letter-spacing: .2px;
  font-size: clamp(32px, 3.5vw, 52px);
}

/* Grid */
.fce-blog .blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;   /* ensures equal height cards */
  padding-top: 20px;
  padding-bottom: 20px;
  /* padding-left: 9px; */
}


/* Hide Swiper UI on larger screens */
.swiper-pagination,
.swiper-button-next,
.swiper-button-prev {
  display: none ;
}



@media (min-width: 768px) and (max-width: 1365px) {
  
 .fce-blog .blog-grid{
    display: flex  ;
    flex-wrap: wrap;
    justify-content: center;
 }
 .blog-card {
  background: transparent;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;           /* fill grid cell */
  transition: transform .18s ease;
  width: calc( 50% - 10px);
}
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .fce-blog .blog-heading {
        font-size: 42px;
    }
}

@media (max-width: 430px) {
  .fce-blog .blog-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
    padding-left: 0px;
  }

  .fce-blog .blog-wrap {
    padding-inline: 16px;
  }

  /* Disable centering logic on mobile */
  .fce-blog .blog-grid .blog-card:nth-child(4):last-child {
    grid-column: auto;
    justify-self: auto;
    width: auto;
  }
}

@media (max-width: 480px) {
   .fce-blog .blog-heading{
    font-size: 26px;
  }
}

/* Card */
.blog-card {
  background: transparent;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: auto;           /* fill grid cell */
  transition: transform .18s ease;
}

.blog-card .media {
  display: block;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  overflow: hidden;
  line-height: 0;
  height: 300px;
}

.blog-card .media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.001);
  transition: transform .35s ease;
}

.blog-card .card-body {
  background: #fff;
  color: #0a0a0a;
  padding: clamp(18px, 2vw, 24px);
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  /* box-shadow: 0 4px 12px rgba(0,0,0,.08); */
  flex: 1;                /* stretch to equal height */
  display: flex;
  flex-direction: column;
}

.blog-card .badge {
  margin: 0 0 12px;
  font-size: 12px;
  color: #888888;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.blog-card .title {
  margin: 0 0 clamp(16px, 2.2vw, 20px);
  font-size: clamp(20px, 1.8vw, 24px);
  line-height: 1.35;
  font-weight: 500;
  flex-grow: 1;           /* title area grows */
}
.blog-card .title a {
  color: inherit;
  text-decoration: none;
  
}

.blog-card .learn {
  margin-top: auto;       /* pushes learn link to bottom */
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #333333;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 500;
  transition: opacity .18s ease, transform .18s ease;
}
.blog-card .learn i { font-size: 12px; }

.blog-card:hover .media img { transform: scale(1.04); }
.blog-card:hover .learn { transform: translateX(2px); }
.blog-card:hover { transform: translateY(-2px); }

/* Bottom “Explore Blog” button */
.fce-blog .blog-cta {
  display: flex;
  justify-content: center;
  margin-top: clamp(28px, 5vw, 40px);
}

.fce-blog .btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 18px 30px;
  border-radius: 999px;
  border: 2px solid #fff;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  line-height: 1;
  transition: background .18s ease, color .18s ease, transform .18s ease, opacity .18s ease;
}
.fce-blog .btn-outline i { font-size: 15px; }
.fce-blog .btn-outline:hover {
  background: #fff;
  color: #000;
  transform: translateY(-1px);
}

.fce-blog .btn-outline:focus,
.fce-blog .btn-outline:focus-visible {
  outline: none;
}


/* footer section */

/* ===== FOOTER SECTION ===== */
.fce-footer {
    /* background: #0a0a0a; */
    color: #ffffff;
    font-family: inherit;
}

.fce-footer .footer-wrap {
    max-width: 1600px;
    margin-inline: auto;
    padding: 48px 15px 14px;
}

/* Top: brand/cta + columns */
.fce-footer .footer-top {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(35px, 3vw, 56px);
    align-items: start;
    margin-bottom: clamp(28px, 4vw, 56px);
}

/* Snap to 2 columns (brand + links) from ~900px up */
@media (min-width: 900px) {
    .fce-footer .footer-top {
        grid-template-columns: 1fr 3fr;
    }
}

.fce-footer .footer-brand {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fce-footer .brand-logo {
    width: clamp(140px, 16vw, 200px);
    height: auto;
    display: block;
}

.fce-footer .btn-cta {
    background-color: transparent;
    border: 2px solid #ffffff;
    border-radius: 25px;
    padding: 12px 30px;
    color: #ffffff;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    font-weight: 500;
    width: auto;
    flex-shrink: 0;
    align-self: flex-start;
}

.fce-footer .btn-cta:hover {
    background-color: #ffffff;
    color: #000000;
    text-decoration: none;
}

.fce-footer .btn-cta:active {
    transform: none;
    opacity: .9;
}

.fce-footer .btn-cta:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* Columns — auto-fit for perfect wrapping on any width */
.fce-footer .footer-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: clamp(16px, 3vw, 45px);
    /* justify-items: center; */
    align-items: baseline;
    justify-content: space-evenly;
    align-content: stretch;
}


.fce-footer .col h3 {
    margin: 0 0 12px;
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 600;
    color: #ffffff;
    letter-spacing: .2px;
}

.fce-footer .col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fce-footer .col li {
    margin: 15px 0;
}

.fce-footer .col a {
    color: #bdbdbd;
    text-decoration: none;
    font-weight: 400;
    font-size: clamp(14px, 1.2vw, 15px);
    transition: color .18s ease, opacity .18s ease;
}

.fce-footer .col a:hover {
    color: #ffffff;
}

.fce-footer .col a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
    border-radius: 6px;
}

/* Contact column styles */
.fce-footer .contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #bdbdbd;
}

.fce-footer .contact-item i {
    margin-top: 1px;
    flex-shrink: 0;
    color: #bdbdbd;
    align-items: center;
}

.fce-footer .contact-item a {
    color: #bdbdbd;
    text-decoration: none;
    transition: color .18s ease;
}

.fce-footer .contact-item a:hover {
    color: #ffffff;
}
 
.fce-footer .contact-item span {
    color: #bdbdbd;
}

/* Bottom bar */
.fce-footer .footer-bottom {
  position: relative;                 /* anchor the pseudo */
  border-top: 0;                      /* disable the normal border */
  display: grid;
   gap: 10px 40px;
  align-items: center;
  padding-top: 22px;
  grid-template-columns: 1fr;
  text-align: center;
}

.fce-footer .footer-bottom::before {
  content: "";
  position: absolute;
  top: 0;                              /* same position as a real border-top */
  left: 50%;
  transform: translateX(-50%);
  width: 100dvw;                       /* full viewport width; avoids scrollbar vs 100vw */
  border-top: 2px solid rgba(255,255,255,0.15);
  pointer-events: none;
}

.fce-footer .domedia-logo {
  height: 20px;       /* adjust height */
  width: auto;        /* keep aspect ratio */
  vertical-align: middle; /* align with text */
  margin-left: 6px;  /* space before text Domedia */
}

.fce-footer .domedia-link {
  color: #a3a3a3;
  text-decoration: none;
  transition: color 0.3s ease;
}

.fce-footer .domedia-link:hover {
  color: #ffffff;
  text-decoration: none;
}

.footer-btn {
    background-color: transparent !important;
    border: 2px solid #ffffff !important;
    border-radius: 25px !important;
    padding: 12px 30px !important;
    color: #ffffff !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
    font-weight: 500 !important;
    margin-top: 16px;
    width: auto !important;
    flex-shrink: 0 !important;
    align-self: flex-start !important;
}

.footer-btn:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
    text-decoration: none !important;
}

/* ===== INTERNATIONAL FOOTER OVERRIDES ===== */
.intl-theme-body .fce-footer {
    color: #000000;
}

.intl-theme-body .fce-footer .col h3 {
    color: #000000;
}

.intl-theme-body .fce-footer .col a {
    color: #666666;
}

.intl-theme-body .fce-footer .col a:hover {
    color: #000000;
}

.intl-theme-body .fce-footer .btn-cta {
    border: 2px solid #000000;
    color: #000000;
}

.intl-theme-body .fce-footer .btn-cta:hover {
    background-color: #000000;
    color: #ffffff;
}

.intl-theme-body .fce-footer .footer-bottom::before {
    border-top: 2px solid rgba(0, 0, 0, 0.15);
}

.intl-theme-body .fce-footer .domedia-link {
    color: #666666;
}

.intl-theme-body .fce-footer .domedia-link:hover {
    color: #000000;
}

.intl-theme-body .footer-btn {
    border: 2px solid #000000 !important;
    color: #000000 !important;
}

.intl-theme-body .footer-btn:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.intl-theme-body .fce-footer .logo-img {
    filter: none !important;
    -webkit-filter: none !important;
}

.intl-theme-body .fce-footer .bottom-right a {
    color: #000000;
}

.intl-theme-body .fce-footer .bottom-right a:hover {
    color: #333333;
}

.intl-theme-body .fce-footer .meta-link {
    color: #666666;
}

.intl-theme-body .fce-footer .meta-link:hover {
    color: #000000;
}

.intl-theme-body .fce-footer .bottom-center {
    color: #666666;
}

.intl-theme-body .fce-footer .contact-item {
    color: #666666;
}

.intl-theme-body .fce-footer .contact-item i {
    color: #666666;
}

.intl-theme-body .fce-footer .contact-item a {
    color: #666666;
}

.intl-theme-body .fce-footer .contact-item a:hover {
    color: #000000;
}

.intl-theme-body .fce-footer .contact-item span {
    color: #666666;
}

/* ===== INTERNATIONAL PAGE CONTENT STYLING ===== */
.intl-page-content {
    padding: clamp(80px, 10vw, 120px) 0;
    background: #ffffff;
    min-height: 60vh;
}

.intl-page-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 40px);
}

.intl-page-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.intl-page-title {
    font-size: clamp(36px, 4vw, 48px);
    font-weight: 700;
    color: #000000;
    line-height: 1.2;
    margin-bottom: clamp(30px, 4vw, 40px);
    font-family: 'Poppins', sans-serif;
}

.intl-page-text {
    color: #333333;
    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.6;
    text-align: left;
}

.intl-page-text p {
    margin-bottom: clamp(20px, 3vw, 25px);
}

.intl-page-text p:last-child {
    margin-bottom: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .intl-page-content {
        padding: clamp(60px, 8vw, 80px) 0;
    }
    
    .intl-page-inner {
        text-align: center;
    }
    
    .intl-page-text {
        text-align: center;
    }
}

/*------------------------------------- VOICES SECTION ----------------------------------------------------------*/
.fce-voices {
    background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 80%);
    padding: 60px 0;
    position: relative;
    overflow: hidden;
}

.fce-voices .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header */
.voices-header {
    text-align: center;
    /* margin-bottom: 60px; */
}

.voices-title {
    font-size:52px;
    font-weight: 400;
    color: #ffffff;
    margin-bottom: 16px;
    line-height: 1.2;
}

.voices-subtitle {
    font-size:18px;
    color: rgba(255, 255, 255, 0.9);
    max-width: 750px;
    margin: 0 auto;
    line-height: 1.6;
    margin-bottom: 15px;
}

/* Carousel Container */
.voices-carousel {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}

.voicesSwiper {
    overflow: visible;
    padding: 0;
    /* perspective: 1200px; */
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.voicesSwiper .swiper-slide-active {
    opacity: 1;
    transform: scale(1.15);
    z-index: 10;
    filter: blur(0px);
}

.voicesSwiper .swiper-slide-next,
.voicesSwiper .swiper-slide-prev {
    opacity: 1;
    transform: scale(0.75);
    z-index: 5;
    filter: blur(1.5px);
}

/* Testimonial Cards */
.testimonial-card {
    background: #ffffff;
    border-radius: 30px;
    padding: 40px;
    text-align: center;
    position: relative;
    /* box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); */
    min-height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Quote Marks */
.testimonial-card::before,
.testimonial-card::after {
    content: '"';
    position: absolute;
    font-size: 80px;
    color: rgba(0, 0, 0, 0.15);
    font-family: serif;
    line-height: 1;
    pointer-events: none;
    z-index: 1;
}

.testimonial-card::before {
    top: 200px;
    left: 15px;
    transform: translateY(-50%) rotate(5deg);
}

.testimonial-card::after {
    bottom: 20px;
    right: 15px;
    transform: rotate(185deg);
}

/* Hide quote marks on mobile and tablet - show only on desktop */
@media (max-width: 1024px) {
    .testimonial-card::before,
    .testimonial-card::after {
        display: none;
    }
}

/* Company Logo */
.testimonial-company-logo {
    margin-bottom: 24px;
}

.logo-img {
    max-height: 100px;
    /* max-width: 200px; */
    object-fit: contain;
}

/* Company Name */
.company-name {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    font-weight: 600;
    color: #1a202c;
    margin-bottom: 5px;
}

/* Company Name (smaller than title) */
.company {
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    font-weight: 400;
    color: #4a5568;
    margin-bottom: 15px;
    margin-top: 0;
}

/* Testimonial Text */
.testimonial-text p {
    font-size: clamp(12px, 1.5vw, 14px);
    line-height: 1.7;
    color: #4a5568;
    padding: 0 10px;
}

/* Navigation */
.voices-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 30px;
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 15px;
}

.voices-prev,
.voices-next {
    width: 50px;
    height: 50px;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin-top: 0 !important;
}



.voices-prev::after {
      content: '\f060';
      font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free";
      font-weight: 300;
      margin: 5px;
  }

  .voices-next::after {
      content: '\f061';
      font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free";
      font-weight: 300;
      margin: 5px;
  }

/* Pagination */
.voices-pagination {
    display: flex !important;
    gap: 7px;
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    width: auto !important;
}

.voices-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    opacity: 1;
    transition: all 0.3s ease;
    align-items: center;
}

.voices-pagination .swiper-pagination-bullet-active {
    background: #ffffff;
    transform: scale(1.2);
}

/* Put quotes behind the content */
.testimonial-card::before,
.testimonial-card::after {
  z-index: 0;            /* was 1 */
}

/* Ensure real content sits above */
.testimonial-card .testimonial-company-logo,
.testimonial-card .company-name,
.testimonial-card .testimonial-text {
  position: relative;
  z-index: 1;
}

/* Safe image sizing so it actually renders */
.testimonial-company-logo { 
  margin-bottom: 24px; 
  display: flex; 
  justify-content: center; 
  align-items: center;
}

/* Specific styling for testimonial card logos - Override main.css filter */
.testimonial-card .testimonial-company-logo .logo-img {
  display: block !important;
  height: 80px !important;
  max-width: 80px !important;
  width: auto !important;
  object-fit:cover !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: transparent !important;
  filter: none !important;
  /* Reset any inherited filters */
  -webkit-filter: none !important;
  /* Ensure proper display */
  max-height: 80px !important;
  min-height: 80px !important;
  border-radius:50% ;
 
}



@media (max-width: 1024px){
    .voices-title {
        font-size: 42px;
    }
    .voices-subtitle {
        font-size: 16px;
    }
}
@media (max-width: 678px){
    .voices-title {
        font-size: 36px;
    }
    .voices-subtitle {
        font-size: 14px;
    }

    /* ===== MOBILE VOICES CAROUSEL - Simple Slide Effect (No 3D) ===== */
    /* Override desktop 3D coverflow with simple slide carousel for mobile */

    .voicesSwiper {
        overflow: visible;
        padding: 20px 0;

    }

    /* Remove scale transforms on mobile - keep all slides same size */
    .voicesSwiper .swiper-slide {
        opacity: 1;
        transition: opacity 0.3s ease;
        transform: scale(1) !important;
        filter: none !important;
    }

    .voicesSwiper .swiper-slide-active {
        opacity: 1;
        transform: scale(1) !important;
        filter: none !important;
    }

    .voicesSwiper .swiper-slide-next,
    .voicesSwiper .swiper-slide-prev {
        transform: scale(1) !important;
        filter: none !important;
    }

    /* Remove Swiper's black slide shadows on mobile */
    .voicesSwiper .swiper-slide-shadow,
    .voicesSwiper .swiper-slide-shadow-left,
    .voicesSwiper .swiper-slide-shadow-right {
        display: none !important;
        opacity: 0 !important;
        background: none !important;
    }

    .testimonial-card {
        padding: 30px 20px;
        min-height:464px;
        border-radius: 20px;
        width: 100%;
        margin: 0 auto;
    }

    /* Hide quote marks on mobile */
    .testimonial-card::before,
    .testimonial-card::after {
        display: none;
    }

    /* Navigation styling for mobile */
    .voices-navigation {
        margin-top: 10px;
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 15px;
        position: relative;
        z-index: 100;
    }

    .voices-prev,
    .voices-next {
        width: 40px !important;
        height: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        transition: all 0.3s ease;
        position: relative !important;
        pointer-events: auto !important;
        z-index: 100 !important;
        user-select: none;
        touch-action: manipulation;
    }

    .voices-prev:active,
    .voices-next:active {
        transform: scale(0.95) !important;
        background: rgba(255, 255, 255, 0.2) !important;
    }

    /* Pagination bullets for mobile */
    .voices-pagination {
        position: relative !important;
        margin: 0 15px;
        display: flex !important;
        z-index: 100 !important;
        pointer-events: auto !important;
    }

    .voices-pagination .swiper-pagination-bullet {
        background: rgba(255, 255, 255, 0.4) !important;
        opacity: 1 !important;
        margin: 0 4px !important;
        width: 8px !important;
        height: 8px !important;
        transition: all 0.3s ease !important;
        pointer-events: auto !important;
        cursor: pointer !important;
    }

    .voices-pagination .swiper-pagination-bullet-active {
        background: #ffffff !important;
        transform: scale(1.3) !important;
    }
    /* ===== END MOBILE VOICES CAROUSEL ===== */
}

@media (max-width: 480px){
    .voices-title {
        font-size: 26px;
    }
    .voices-subtitle {
        font-size: 14px;
    }
}

/* Tablet medium layout: bottom-left and bottom-right on first row, bottom-center on second row */
@media (min-width: 720px) and (max-width: 1024px) {
    .fce-footer .footer-bottom {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
        text-align: left;
    }

    .fce-footer .bottom-left {
        grid-column: 1;
        grid-row: 1;
        justify-content: flex-end !important;
    }

    .fce-footer .bottom-right {
        grid-column: 2;
        grid-row: 1;
        justify-content: flex-start !important ;
    }

    .fce-footer .bottom-center {
        grid-column: 1 / -1;
        grid-row: 2;
        text-align: center;
    }
}

/* Desktop layout: 3 columns side by side */
@media (min-width: 1025px) {
    .fce-footer .footer-bottom {
        grid-template-columns: 1fr auto 1fr;
        text-align: left;
    }
}

.fce-footer .bottom-left,
.fce-footer .bottom-right {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: center;
}

@media (min-width: 720px) {
    .fce-footer .bottom-left {
        justify-content: flex-start;
    }
    
    .fce-footer .bottom-right {
        justify-content: flex-end;
    }
    .fce-footer .footer-brand{
        align-content: center;
    }
}

.fce-footer .meta-link {
    color: #bdbdbd;
    text-decoration: none;
    font-size: clamp(14px, 1.1vw, 1px);
}

.fce-footer .meta-link:hover {
    color: #ffffff;
}

.fce-footer .meta-link:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
    border-radius: 6px;
}

.fce-footer .bottom-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    color: #a3a3a3;
    font-size: clamp(12px, 1.1vw, 1px);
}

.fce-footer .bottom-center .divider {
    opacity: .35;
}

.fce-footer .bottom-right a {
    width: 24px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #fff;
    opacity: .92;
    border-radius: 50%;
    transition: opacity .18s ease, transform .18s ease, background .18s ease;
}

.fce-footer .bottom-right a:hover {
    opacity: 1;
    transform: translateY(-1px);
    color: #3b82f6;
}

.fce-footer .bottom-right i {
    font-size: 16px;
}

/* Motion preferences */
@media (prefers-reduced-motion: reduce) {
    .fce-footer .btn-cta,
    .fce-footer .bottom-right a {
        transition: none;
    }
}



/* ===== Start Planning Section ===== */
.plan-cta {
  position: relative;
  background: #000;
  color: #fff;
  overflow: hidden;
  padding: 72px 0 40px;
}

.plan-wrap {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 2;
}

/* Curved blue image */
.plan-curve {
  position: absolute;
  bottom: 30%;
  left: -8%;
  width: min(65vw, 900px);
  height: auto;
  pointer-events: none;
  user-select: none;
  opacity: 0.9;
  z-index: 1;
  transform: rotate(62deg);
}

/* Header */
.plan-head {
  text-align: center;
  max-width: 980px;
  margin: 0 auto;
  padding-bottom: 80px;
}

.plan-title {
  margin: 0 0 clamp(4px, 3vw, 5px);
  font-weight: 400;
  text-align: center;
  letter-spacing: .2px;
  font-size: clamp(42px, 3.5vw, 52px);
}

.plan-sub {
  margin: 0 auto 24px;
  max-width: 820px;
  color: rgba(255, 255, 255, 0.95);
  line-height: 1.6;
  font-size: clamp(14px, 1.2vw, 16px);
}

/* CTA button */
.plan-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 32px;
  min-height: 44px;
  border-radius: 999px;
  border: 2px solid #fff;
  color: #fff;
  background: transparent;
  text-decoration: none;
  font-weight: 600;
  transition: background .2s ease, color .2s ease, transform .2s ease, opacity .2s ease;
}
.plan-btn:hover { 
    background: #fff;
    color: #000; 
    transform: translateY(-1px); 
}
.plan-btn:active { 
    transform: none; 
    opacity: .95; 
}

/* space above logos */
.plan-cta .partners.hero-partners {
  margin-top: clamp(10px, 4vw, 110px);
}

/* Responsive adjustments for background image */
@media (max-width: 1024px) {
  .plan-curve {
    width: min(60vw, 600px);
    top: 45%;
    left: -12%;
    transform: rotate(-22deg);
    opacity: 0.5;
  }
}

@media (max-width: 768px) {
  .plan-curve {
    width: min(65vw, 450px);
    top: 40%;
    left: -10%;
    transform: rotate(-20deg);
    opacity: 0.4;
  }
}

@media (max-width: 480px) {
  .plan-curve {
    width: min(70vw, 300px);
    top: 35%;
    left: -8%;
    transform: rotate(-18deg);
    opacity: 0.3;
  }
  .plan-title{
    font-size: 26px;
  }
}

/* Hero Background Curve Responsive */
@media (max-width: 1024px) {
  .hero-curve {
    width: min(45vw, 500px);
    bottom: -3%;
    left: -8%;
    opacity: 0.25;
    transform: rotate(-8deg);
  }
}

@media (max-width: 768px) {
  .hero-curve {
    width: min(50vw, 350px);
    bottom: -2%;
    left: -10%;
    opacity: 0.2;
    transform: rotate(-5deg);
  }
  
}

@media (max-width: 480px) {
  .hero-curve {
    width: min(60vw, 250px);
    bottom: 0%;
    left: -15%;
    opacity: 0.15;
    transform: rotate(-3deg);
  }
  
  .feature-image {
    height: 380px !important;
    min-height: 320px !important;
    max-height: 420px !important;
    /* margin-top: 50px; */
  }
  
  .main-feature-video,
  .video-fallback-image,
  .main-feature-img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    margin-top: 65px;
    border-radius: 20px 20px 0 0 ;
  }
  
  .feature-content {
    padding: 30px 20px !important;
  }
  
  .feature-title {
    font-size: 26px !important;
    margin-bottom: 15px !important;
  }
  
  .feature-description {
    font-size: 14px !important;
    margin-bottom: 20px !important;
    line-height: 1.4 !important;
  }
  
  .feature-cta {
    padding: 10px 25px !important;
    font-size: 13px !important;
    align-self: center !important;
    margin-top: 5px !important;
  }
}

/* .swiper voicesSwiper swiper-coverflow swiper-3d swiper-initialized swiper-horizontal swiper-ios swiper-watch-progress swiper-backface-hidden {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
} */


/*--------------------------------- Breadcrumb.php stlyes------------------------------------------*/
.bc-wrap {
  background: #000;  
  padding-top: 80px;            /* black bar */
}
.bc {
  max-width: 1600px;
  margin-inline: auto;
  padding: 16px 15px;            /* top spacing same vibe */
}

/* Row and separators */
.bc-list {
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;               /* Allow wrapping to next line */
  gap: 12px;                     /* space between items */
  margin: 0;
  padding: 0;
  color: #fff;
  padding-top: 15px;
}
.bc-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bc-item + .bc-item::before {
  content: "\f054";
  font-family: "Font Awesome 6 Pro"; /* or correct FA family */
  font-weight: 900; /* needed for solid icons */
  color: #ffffff;
  opacity: .7;
  margin: 0 6px;
}


/* Links + weights (Home bold, current normal) */
.bc-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  font-weight: 700;              /* Home and intermediate bold */
}

/* Non-clickable breadcrumb text (for middle segments) */
.bc-text {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-weight: 700;
  cursor: default;
  opacity: 0.9;
}

.bc-current span {
  color: #fff;
  font-weight: 500;              /* current page slightly lighter than Home */
}

/* House icon size like the image */
.bc-home {
  width: 16px;
  height: 16px;
  display: inline-block;
}

@media (max-width: 768px){
    .bc-wrap { 
  padding-top: 50px;            /* black bar */
}
}

/*=============================================
  EVENT TOP HEADER SECTION - Event Management Page
===============================================*/

.event-top-header-section {
    padding: 50px 0;
    background-color: var(--primary-bg);
    position: relative;
}

.event-top-header-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px;
}

.event-top-header-content {
    text-align: center;
    max-width: 1000px;
    margin: 0 auto;
}

.event-top-header-title {
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 30px;
    line-height: 1.2;
}

.event-top-header-subtitle {
    font-size: clamp(15px, 1.8vw, 18px);
    color: var(--text-gray);
    line-height: 1.8;
    margin: 0;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Responsive Design for Event Top Header Section */

/* Large Desktop (1400px+) */
@media (max-width: 1400px) {
    .event-top-header-container {
        max-width: 1200px;
        padding: 0 30px;
    }
}

/* Desktop (1200px) */
@media (max-width: 1200px) {
    .event-top-header-container {
        max-width: 1000px;
    }
    
    .event-top-header-section {
        padding: 100px 0;
    }
}

/* iPad Pro Portrait (1024px) */
@media (max-width: 1024px) {
    .event-top-header-container {
        max-width: 900px;
        padding: 0 25px;
    }
    
    .event-top-header-section {
        padding: 90px 0;
    }
    
    .event-top-header-content {
        max-width: 800px;
    }
}

/* iPad (834px) */
@media (max-width: 834px) {
    .event-top-header-container {
        max-width: 750px;
        padding: 0 20px;
    }
    
    .event-top-header-section {
        padding: 80px 0;
    }
}

/* iPad Mini / Small Tablets (768px) */
@media (max-width: 768px) {
    .event-top-header-container {
        padding: 0 20px;
    }
    
    .event-top-header-section {
        padding: 70px 0;
    }
    
    .event-top-header-title {
        margin-bottom: 25px;
    }
}

/* Large Mobile (480px) */
@media (max-width: 480px) {
    .event-top-header-container {
        padding: 0 16px;
    }
    
    .event-top-header-section {
        padding: 60px 0;
    }
    
    .event-top-header-title {
        margin-bottom: 20px;
    }
    
    .event-top-header-content {
        max-width: 100%;
    }
}

/* iPhone 14 Pro Max, iPhone 14 Plus (428px) */
@media (max-width: 428px) {
    .event-top-header-section {
        padding: 55px 0;
    }
}

/* iPhone 14 Pro, iPhone 14, iPhone 13 (390px) */
@media (max-width: 390px) {
    .event-top-header-container {
        padding: 0 15px;
    }
    
    .event-top-header-section {
        padding: 50px 0;
    }
}

/* iPhone SE, iPhone 12 mini (375px) */
@media (max-width: 375px) {
    .event-top-header-title {
        margin-bottom: 18px;
    }
}

/* Small Mobile (320px) */
@media (max-width: 320px) {
    .event-top-header-container {
        padding: 0 12px;
    }
    
    .event-top-header-section {
        padding: 45px 0;
    }
    
    .event-top-header-title {
        margin-bottom: 15px;
    }
}

/*=============================================
  EVENT MANAGEMENT PAGE - FEATURE CONTENT OVERRIDE
===============================================*/

/* Remove background color from feature-content only on event-management page */
.event-management-page .feature-content {
    background: transparent !important;
}

/* Make feature-content and main-feature-video same width on event-management page */
.event-management-page .main-feature {
    grid-template-columns: 1fr 1fr !important;
}

.event-management-page .feature-image,
.event-management-page .feature-content {
    flex: 1 !important;
    width: 50% !important;
    max-width: 49% !important;
}

/* Add border radius to main-feature-video on event-management page */
.event-management-page .main-feature-video,
.event-management-page .video-fallback-image,
.event-management-page .main-feature-img {
    border-radius: 15px !important;

}

/* STRONG Mobile responsive fixes for innovation-section on event-management page */
@media (max-width: 1366px) {
    .event-management-page .main-feature {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 30px !important;
        height: auto !important;
        align-items: stretch !important;
    }
    
    .event-management-page .feature-image,
    .event-management-page .feature-content {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        flex: none !important;
    }
    
    .event-management-page .innovation-container {
        padding: 0 30px !important;
        max-width: 1400px !important;
        margin: 0 auto !important;
        overflow: hidden !important;
    }
}

@media (max-width: 1024px) {
    .event-management-page .innovation-container {
        padding: 0 25px !important;
        max-width: 100% !important;
    }
    
    .event-management-page .main-feature {
        gap: 25px !important;
    }
}

@media (max-width: 834px) {
    .event-management-page .innovation-container {
        padding: 0 20px !important;
    }
    
    .event-management-page .main-feature {
        gap: 20px !important;
    }
    
    .event-management-page .feature-content {
        text-align: center !important;
        padding: 20px !important;
    }
}

@media (max-width: 768px) {
    .event-management-page .innovation-container {
        padding: 0 20px !important;
    }
    
    .event-management-page .main-feature {
        gap: 20px !important;
    }
}

@media (max-width: 480px) {
    .event-management-page .innovation-container {
        padding: 0 16px !important;
    }
    
    .event-management-page .main-feature {
        gap: 15px !important;
    }
    
    .event-management-page .feature-content {
        padding: 16px !important;
    }
    
    .event-management-page .main-feature-video,
    .event-management-page .video-fallback-image,
    .event-management-page .main-feature-img {
        height: 300px !important;
        margin-top: 50px;
    }
}

@media (max-width: 390px) {
    .event-management-page .innovation-container {
        padding: 0 15px !important;
    }
}

@media (max-width: 320px) {
    .event-management-page .innovation-container {
        padding: 0 12px !important;
    }
}

/*=============================================
  EVENT PLANNER SECTION
===============================================*/

.event-planner-section {
    padding: 50px 0;
    background-color: var(--primary-bg);
    position: relative;
}

.event-planner-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px;
}

.event-planner-header {
    text-align: center;
    margin-bottom: 60px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.event-planner-title {
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 500;
    color: var(--text-white);
    margin-bottom: 20px;
    line-height: 1.2;
}

.event-planner-subtitle {
    font-size: clamp(15px, 1.8vw, 18px);
    color: var(--text-gray);
    line-height: 1.8;
    margin: 0;
}

.event-planner-form {
    max-width: 900px;
    margin: 0 auto;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    /* margin-bottom: 30px; */
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group.full-width {
    grid-column: 1 / -1;
}

.form-label {
    font-size: 16px;
    font-weight: 500;
    color: var(--text-white);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.required {
    color: #ff6b6b;
    font-size: 16px;
}

.form-input,
.form-textarea,
.form-select {
    background: #3a3a3a;
    border: none;
    border-radius: 10px;
    padding: 18px 20px;
    font-size: 15px;
    color: var(--text-white);
    font-family: inherit;
    transition: all 0.3s ease;
    width: 100%;
    box-sizing: border-box;
}

.form-input::placeholder,
.form-textarea::placeholder {
    color: #888888;
    font-size: 15px;
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
    outline: none;
    background: #444444;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1);
}

.form-textarea {
    resize: vertical;
    min-height: 120px;
}

.select-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.form-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    padding-right: 50px;
}

.select-arrow {
    position: absolute;
    right: 20px;
    color: #888888;
    pointer-events: none;
    font-size: 12px;
}

.form-submit {
    text-align: center;
    margin-top: 40px;
}

.submit-btn {
    padding: 10px 35px;
    font-size: 16px;
    font-weight: 500;
    min-width: 150px;
}

/* Responsive Design for Event Planner Section */

/* Large Desktop (1400px+) */
@media (max-width: 1400px) {
    .event-planner-container {
        max-width: 1200px;
        padding: 0 30px;
    }
}

/* Desktop (1200px) */
@media (max-width: 1200px) {
    .event-planner-container {
        max-width: 1000px;
    }
    
    .event-planner-section {
        padding: 100px 0;
    }
    
    .event-planner-header {
        margin-bottom: 50px;
    }
}

/* iPad Pro Portrait (1024px) */
@media (max-width: 1024px) {
    .event-planner-container {
        max-width: 900px;
        padding: 0 25px;
    }
    
    .event-planner-section {
        padding: 90px 0;
    }
    
    .form-row {
        gap: 25px;
        margin-bottom: 25px;
    }
}

/* iPad (834px) */
@media (max-width: 834px) {
    .event-planner-container {
        max-width: 750px;
        padding: 0 20px;
    }
    
    .event-planner-section {
        padding: 80px 0;
    }
    
    .form-row {
        gap: 20px;
        margin-bottom: 20px;
    }
}

/* iPad Mini / Small Tablets (768px) */
@media (max-width: 768px) {
    .event-planner-container {
        padding: 0 20px;
    }
    
    .event-planner-section {
        padding: 70px 0;
    }
    
    .form-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .event-planner-header {
        margin-bottom: 40px;
    }
    
    .event-planner-form {
        max-width: 100%;
    }
}

/* Large Mobile (480px) */
@media (max-width: 480px) {
    .event-planner-container {
        padding: 0 16px;
    }
    
    .event-planner-section {
        padding: 60px 0;
    }
    
    .form-row {
        gap: 16px;
        margin-bottom: 16px;
    }
    
    .form-input,
    .form-textarea,
    .form-select {
        padding: 16px 18px;
        font-size: 14px;
    }
    
    .form-label {
        font-size: 15px;
        margin-bottom: 10px;
    }
    
    .submit-btn {
        padding: 14px 35px;
        font-size: 15px;
    }
    
    .event-planner-header {
        margin-bottom: 35px;
    }
}

/* iPhone 14 Pro Max, iPhone 14 Plus (428px) */
@media (max-width: 428px) {
    .form-submit {
        margin-top: 35px;
    }
}

/* iPhone 14 Pro, iPhone 14, iPhone 13 (390px) */
@media (max-width: 390px) {
    .event-planner-container {
        padding: 0 15px;
    }
    
    .event-planner-section {
        padding: 30px 0;
    }
    
    .form-input,
    .form-textarea,
    .form-select {
        padding: 14px 16px;
    }
    
    .submit-btn {
        padding: 12px 30px;
        font-size: 14px;
    }
}

/* iPhone SE, iPhone 12 mini (375px) */
@media (max-width: 375px) {
    .event-planner-header {
        margin-bottom: 50px;
    }
    
    .form-row {
        gap: 14px;
        margin-bottom: 14px;
    }
}

/* Small Mobile (320px) */
@media (max-width: 320px) {
    .event-planner-container {
        padding: 0 12px;
    }
    
    .event-planner-section {
        padding: 45px 0;
    }
    
    .form-input,
    .form-textarea,
    .form-select {
        padding: 12px 14px;
        font-size: 13px;
    }
    
    .form-label {
        font-size: 14px;
        margin-bottom: 8px;
    }
    
    .submit-btn {
        padding: 12px 28px;
        font-size: 14px;
        min-width: 120px;
    }
    
    .form-submit {
        margin-top: 30px;
    }
}

/*=============================================
  CASE STUDIES SECTION
===============================================*/

.case-studies-section {
    padding: 50px 0;
    background-color: var(--primary-bg);
    position: relative;
}

.case-studies-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px;
}

.case-studies-header {
    text-align: center;
    margin-bottom: 80px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.case-studies-title {
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 20px;
    line-height: 1.2;
}

.case-studies-subtitle {
    font-size: clamp(15px, 1.8vw, 18px);
    color: var(--text-gray);
    line-height: 1.8;
    margin: 0;
}

.case-studies-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 60px;
    padding: 50px 0px 0;
}


.case-study-card {
    background: #093d69;
    border-radius: 20px;
    padding: 80px 35px 45px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: visible;
    margin-top: 50px;
    min-height: 320px;
}

.case-study-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.case-study-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 120px;
    background: var(--text-white);
    border-radius: 50%;
    padding: 15px;
    border: 3px solid #000;
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    overflow: hidden;
    margin-bottom: 10px;

}

.company-logo {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.placeholder-logo {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: var(--primary-bg);
    font-size: 18px;
}

.case-study-company {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 600;
    color: var(--text-white);
    margin: 20px 0;
    line-height: 1.3;
    padding: 20px;
}

.case-study-description {
    font-size: clamp(15px, 1.3vw, 16px);
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.5;
    margin-bottom: 25px;
    min-height: 85px;
    text-justify: distribute;
    font-weight: 300;
    text-rendering: optimizeLegibility;
}

.case-study-link {
    color: var(--text-white);
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    border-bottom: 1px solid var(--text-white);
    padding-bottom: 2px;
    transition: all 0.3s ease;
    display: inline-block;
}

.case-study-link:hover {
    color: rgba(255, 255, 255, 0.8);
    border-bottom-color: rgba(255, 255, 255, 0.8);
}

.case-studies-footer {
    text-align: center;
}

.view-more-btn {
    display: inline-block;
    padding: 14px 32px;
    font-size: 16px;
    font-weight: 500;
    color: var(--text-white);
    text-decoration: none;
    border: 2px solid var(--text-white);
    border-radius: 50px;
    background: transparent;
    transition: all 0.3s ease;
    min-width: 150px;
}

.view-more-btn:hover {
    background: var(--text-white);
    color: var(--primary-bg);
    transform: translateY(-2px);
}

/* Responsive Design for Case Studies Section */

/* Large Desktop (1400px+) */
@media (max-width: 1400px) {
    .case-studies-container {
        max-width: 1200px;
        padding: 0 30px;
    }
    
    .case-studies-grid {
        gap: 25px;
    }
}

/* Desktop (1200px) */
@media (max-width: 1200px) {
    .case-studies-container {
        max-width: 1000px;
    }
    
    .case-studies-section {
        padding: 100px 0;
    }
    
    .case-studies-header {
        margin-bottom: 60px;
    }
    
    .case-studies-grid {
        gap: 20px;
    }
}

/* iPad Pro Portrait (1024px) */
@media (max-width: 1024px) {
    .case-studies-container {
        max-width: 900px;
        padding: 0 10px;
    }
    
    .case-studies-section {
        padding: 90px 0;
    }
    
    .case-studies-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }


    /* Center cards that don't complete a full row in 2-column layout */

    /* When there's only 1 card in the last row */
    .case-studies-grid .case-study-card:nth-child(2n+1):last-child {
        grid-column: 1 / -1;
        max-width: calc(50% - 12.5px);
        justify-self: center;
    }
    
    .case-study-card {
        padding: 35px 25px;
    }
    
    .case-studies-header {
        margin-bottom: 50px;
    }
}

/* iPad (834px) */
@media (max-width: 834px) {
    .case-studies-container {
        max-width: 750px;
        padding: 0 20px;
    }
    
    .case-studies-section {
        padding: 80px 0;
    }
    
    .case-studies-grid {
        gap: 20px;
    }
    
    .case-study-card {
        padding: 30px 20px;
    }
}

/* iPad Mini / Small Tablets (768px) */
@media (max-width: 768px) {
    .case-studies-container {
        padding: 0 20px;
    }
    
    .case-studies-section {
        padding: 70px 0;
    }
    
    .case-studies-grid {
        grid-template-columns: 1fr;
        gap: 25px;
        max-width: 450px;
        margin: 0 auto 50px;
    }

    /* Reset all centering logic for single-column mobile layout */
    .case-studies-grid .case-study-card:nth-child(3n+1):last-child,
    .case-studies-grid .case-study-card:nth-last-child(2):not(:nth-child(3n)),
    .case-studies-grid .case-study-card:last-child:not(:nth-child(3n)):not(:nth-child(3n+1)),
    .case-studies-grid .case-study-card:nth-child(2n+1):last-child {
        grid-column: auto;
        max-width: none;
        justify-self: auto;
        margin-left: 0;
        margin-right: 0;
    }
    
    .case-studies-header {
        margin-bottom: 40px;
    }
    
    .case-study-card {
        padding: 35px 30px;
    }
    
    .case-study-logo {
        width: 100px;
        height: 100px;
        position: absolute;
        top: -35px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
    }
    
    .case-study-card {
        padding: 55px 30px 35px;
        margin-top: 35px;
        overflow: visible;
    }
}

/* Large Mobile (480px) */
@media (max-width: 480px) {
    .case-studies-container {
        padding: 0 16px;
    }
    
    .case-studies-section {
        padding: 20px 0;
    }
    
    .case-studies-grid {
        max-width: 100%;
        gap: 20px;
        margin-bottom: 40px;
    }
    
    .case-study-card {
        padding: 30px 20px;
    }
    
    .case-study-logo {
        width: 90px;
        height: 90px;
        position: absolute;
        top: -30px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
    }
    
    .case-study-card {
        padding: 50px 20px 30px;
        margin-top: 30px;
        overflow: visible;
    }
    
    .case-study-description {
        min-height: 80px;
    }
    
    .view-more-btn {
        padding: 14px 35px;
        font-size: 15px;
    }
    
    .case-studies-header {
        margin-bottom: 35px;
    }
}

/* iPhone 14 Pro Max, iPhone 14 Plus (428px) */
@media (max-width: 428px) {
    .case-studies-grid {
        max-width: 380px;
    }
}

/* iPhone 14 Pro, iPhone 14, iPhone 13 (390px) */
@media (max-width: 390px) {
    .case-studies-container {
        padding: 0 15px;
    }
    
    .case-studies-section {
        padding: 50px 0;
    }
    
    .case-studies-grid {
        max-width: 350px;
        gap: 18px;
    }
    
    .case-study-card {
        padding: 25px 18px;
    }
    
    .case-study-description {
        min-height: 70px;
        margin-bottom: 20px;
    }
    
    .view-more-btn {
        padding: 12px 30px;
        font-size: 14px;
    }
}

/* iPhone SE, iPhone 12 mini (375px) */
@media (max-width: 375px) {
    .case-studies-grid {
        max-width: 330px;
    }
    
    .case-studies-header {
        margin-bottom: 30px;
    }
    
    .case-study-logo {
        width: 80px;
        height: 80px;
        position: absolute;
        top: -27px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
    }
    
    .case-study-card {
        padding: 45px 18px 25px;
        margin-top: 27px;
        overflow: visible;
    }
}

/* Small Mobile (320px) */
@media (max-width: 320px) {
    .case-studies-container {
        padding: 0 12px;
    }
    
    .case-studies-section {
        padding: 45px 0;
    }
    
    .case-studies-grid {
        max-width: 290px;
        gap: 15px;
        margin-bottom: 35px;
    }
    
    .case-study-card {
        padding: 20px 15px;
    }
    
    .case-study-logo {
        width: 50px;
        height: 50px;
        position: absolute;
        top: -25px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
    }
    
    .case-study-card {
        padding: 40px 15px 20px;
        margin-top: 25px;
        overflow: visible;
    }
    
    .case-study-description {
        min-height: 60px;
        margin-bottom: 18px;
    }
    
    .view-more-btn {
        padding: 12px 28px;
        font-size: 14px;
        min-width: 120px;
    }
}

/*=============================================
  OUR EXPERTISE SECTION - Event Management Page
===============================================*/

.our-expertise-section {
    padding: 100px 0;
    background-color: var(--primary-bg);
    position: relative;
}

.our-expertise-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px;
}

.our-expertise-header {
    text-align: center;
    margin-bottom: 80px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.our-expertise-title {
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 30px;
    line-height: 1.2;
}

.our-expertise-subtitle {
    font-size: clamp(15px, 1.8vw, 18px);
    color: var(--text-gray);
    line-height: 1.8;
    margin: 0;
}

.expertise-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 30px;
    align-items: flex-start;
}

.expertise-item {
    text-align: center;
    transition: transform 0.3s ease;
}

.expertise-item:hover {
    transform: translateY(-10px);
}

.expertise-image {
    position: relative;
    margin-bottom: 20px;
    border-radius: 15px;
    overflow: hidden;
    aspect-ratio: 4/3;
}

.expertise-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.expertise-item:hover .expertise-img {
    transform: scale(1.05);
}

.expertise-content {
    padding: 0 10px;
}

.expertise-name {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 600;
    color: var(--text-white);
    margin: 0 0 5px 0;
    line-height: 1.2;
}

.expertise-type {
    font-size: clamp(14px, 1.5vw, 16px);
    color: var(--text-gray);
    margin: 0;
    line-height: 1.2;
}

/* Responsive Design for Our Expertise Section */

/* Large Desktop (1400px+) */
@media (max-width: 1400px) {
    .our-expertise-container {
        max-width: 1200px;
        padding: 0 30px;
    }
    
    .expertise-grid {
        gap: 25px;
    }
}

/* Desktop (1200px) */
@media (max-width: 1200px) {
    .our-expertise-container {
        max-width: 1000px;
    }
    
    .our-expertise-section {
        padding: 80px 0;
    }
    
    .our-expertise-header {
        margin-bottom: 60px;
    }
    
    .expertise-grid {
        gap: 20px;
    }
}

/* iPad Pro Portrait (1024px) */
@media (max-width: 1024px) {
    .our-expertise-container {
        max-width: 900px;
        padding: 0 25px;
    }
    
    .expertise-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }
    
    .our-expertise-section {
        padding: 70px 0;
    }
    
    .our-expertise-header {
        margin-bottom: 50px;
    }
}

/* iPad (834px) */
@media (max-width: 834px) {
    .our-expertise-container {
        max-width: 750px;
        padding: 0 20px;
    }
    
    .expertise-grid {
        gap: 25px;
    }
}

/* iPad Mini / Small Tablets (768px) */
@media (max-width: 768px) {
    .our-expertise-container {
        padding: 0 20px;
    }
    
    .our-expertise-section {
        padding: 60px 0;
    }
    
    .expertise-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    
    .our-expertise-header {
        margin-bottom: 40px;
    }
    
    .expertise-image {
        margin-bottom: 15px;
    }
}

/* Large Mobile (480px) */
@media (max-width: 480px) {
    .our-expertise-container {
        padding: 0 16px;
    }
    
    .our-expertise-section {
        padding: 50px 0;
    }
    
    .expertise-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        max-width: 400px;
        margin: 0 auto;
    }
    
    .our-expertise-header {
        margin-bottom: 35px;
    }
    
    .expertise-image {
        margin-bottom: 15px;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* iPhone 14 Pro Max, iPhone 14 Plus (428px) */
@media (max-width: 428px) {
    .expertise-grid {
        max-width: 320px;
    }
    
    .expertise-image {
        max-width: 320px;
    }
}

/* iPhone 14 Pro, iPhone 14, iPhone 13 (390px) */
@media (max-width: 390px) {
    .our-expertise-container {
        padding: 0 15px;
    }
    
    .our-expertise-section {
        padding: 45px 0;
    }
    
    .expertise-grid {
        max-width: 350px;
        gap: 25px;
    }
    
    .expertise-image {
        max-width: 350px;
    }
}

/* iPhone SE, iPhone 12 mini (375px) */
@media (max-width: 375px) {
    .expertise-grid {
        max-width: 350px;
    }
    
    .expertise-image {
        max-width: 350px;
    }
}

/* Small Mobile (320px) */
@media (max-width: 320px) {
    .our-expertise-container {
        padding: 0 12px;
    }
    
    .our-expertise-section {
        padding: 40px 0;
    }
    
    .expertise-grid {
        max-width: 260px;
        gap: 20px;
    }
    
    .our-expertise-header {
        margin-bottom: 30px;
    }
    
    .expertise-image {
        margin-bottom: 12px;
        max-width: 230px;
    }
}

/*=============================================
  HOW WE WORK SECTION - Event Management Page
===============================================*/

.how-we-work-section {
    padding: 100px 0;
    background-color: var(--primary-bg);
    position: relative;
}

.how-we-work-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px;
}

.how-we-work-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    min-height: 500px;
}

.how-we-work-text {
    max-width: 600px;
}

.how-we-work-title {
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 30px;
    line-height: 1.2;
}

.how-we-work-description {
    margin-bottom: 40px;
}

.how-we-work-description p {
    font-size: clamp(15px, 1.8vw, 18px);
    color: var(--text-gray);
    line-height: 1.8;
    margin: 0;
}

.how-we-work-description strong {
    color: var(--text-white);
    font-weight: 600;
}

.how-we-work-btn {
    padding: 15px 35px;
    font-size: 16px;
    font-weight: 500;
}

.how-we-work-btn:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

.how-we-work-visual {
    display: flex;
    justify-content: center;
    align-items: center;
}

.how-we-work-img {
    width: 100%;
    max-width: 600px;
    height: auto;
    object-fit: contain;
}

/* Responsive Design for How We Work Section */

/* Large Desktop (1400px+) */
@media (max-width: 1400px) {
    .how-we-work-container {
        max-width: 1200px;
        padding: 0 30px;
    }
    
    .how-we-work-content {
        gap: 60px;
    }
}

/* Desktop (1200px) */
@media (max-width: 1200px) {
    .how-we-work-container {
        max-width: 1000px;
    }
    
    .how-we-work-content {
        gap: 50px;
    }
    
    .how-we-work-section {
        padding: 80px 0;
    }
}

/* iPad Pro Portrait (1024px) */
@media (max-width: 1024px) {
    .how-we-work-container {
        max-width: 900px;
        padding: 0 25px;
    }
    
    .how-we-work-content {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }
    
    .how-we-work-text {
        max-width: 100%;
    }
    
    .how-we-work-section {
        padding: 70px 0;
    }
}

/* iPad (834px) */
@media (max-width: 834px) {
    .how-we-work-container {
        max-width: 750px;
        padding: 0 20px;
    }
    
    .how-we-work-content {
        gap: 35px;
    }
    
    .how-we-work-img {
        max-width: 500px;
    }
}

/* iPad Mini / Small Tablets (768px) */
@media (max-width: 768px) {
    .how-we-work-container {
        padding: 0 20px;
    }
    
    .how-we-work-section {
        padding: 60px 0;
    }
    
    .how-we-work-content {
        gap: 30px;
    }
    
    .how-we-work-title {
        margin-bottom: 25px;
    }
    
    .how-we-work-description {
        margin-bottom: 30px;
    }
    
    .how-we-work-img {
        max-width: 450px;
    }
}

/* Large Mobile (480px) */
@media (max-width: 480px) {
    .how-we-work-container {
        padding: 0 16px;
    }
    
    .how-we-work-section {
        padding: 50px 0;
    }
    
    .how-we-work-content {
        gap: 25px;
    }
    
    .how-we-work-title {
        margin-bottom: 20px;
    }
    
    .how-we-work-description {
        margin-bottom: 25px;
    }
    
    .how-we-work-btn {
        padding: 12px 28px;
        font-size: 15px;
    }
    
    .how-we-work-img {
        max-width: 400px;
    }
}

/* iPhone 14 Pro Max, iPhone 14 Plus (428px) */
@media (max-width: 428px) {
    .how-we-work-img {
        max-width: 350px;
    }
}

/* iPhone 14 Pro, iPhone 14, iPhone 13 (390px) */
@media (max-width: 390px) {
    .how-we-work-container {
        padding: 0 15px;
    }
    
    .how-we-work-section {
        padding: 45px 0;
    }
    
    .how-we-work-img {
        max-width: 320px;
    }
}

/* iPhone SE, iPhone 12 mini (375px) */
@media (max-width: 375px) {
    .how-we-work-img {
        max-width: 300px;
    }
}

/* Small Mobile (320px) */
@media (max-width: 320px) {
    .how-we-work-container {
        padding: 0 12px;
    }
    
    .how-we-work-section {
        padding: 40px 0;
    }
    
    .how-we-work-content {
        gap: 20px;
    }
    
    .how-we-work-title {
        margin-bottom: 15px;
    }
    
    .how-we-work-description {
        margin-bottom: 20px;
    }
    
    .how-we-work-btn {
        padding: 10px 24px;
        font-size: 14px;
    }
    
    .how-we-work-img {
        max-width: 280px;
    }
}

/* ===== MOMENTS GALLERY SECTION ===== */
.moments-gallery-section {
    padding: 50px 0;
    background-color: var(--primary-bg);
    position: relative;
}

.moments-gallery-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px;
}

.moments-gallery-header {
    text-align: left;
    margin-bottom: 60px;
    position: relative;
    justify-items: center;
}

.moments-gallery-title {
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 400;
    color: var(--text-white);
    margin-bottom: 15px;
    line-height: 1.2;
}

.moments-gallery-subtitle {
    font-size: clamp(15px, 1.8vw, 18px);
    color: var(--text-gray);
    line-height: 1.6;
    margin-bottom: 30px;
    max-width: 600px;
    text-align: center;
}

.moments-gallery-filter {
    position: absolute;
    top: 0;
    right: 0;
}

.filter-btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: var(--text-white);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 400;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 6px;
}

.filter-btn i {
    font-size: 10px;
    transition: transform 0.3s ease;
}

.filter-btn:hover,
.filter-btn.active {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
    color: var(--text-white);
}

.filter-btn:hover i {
    transform: rotate(180deg);
}

.moments-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-template-rows: repeat(3, 250px) !important;
    gap: 20px !important;
    margin-bottom: 0px !important;
    width: 100% !important;
    max-width: 1600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.gallery-item {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 4px !important;
    transition: transform 0.3s ease !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gallery-item:hover {
    transform: scale(1.02) !important;
}

/* COMPLETELY RESET AND REBUILD LAYOUT */

/* Remove ALL old grid positioning */
.moments-gallery-grid .gallery-item {
    grid-column: unset !important;
    grid-row: unset !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Force simple auto-flow layout */
.moments-gallery-grid .gallery-item:nth-child(n) {
    grid-column: auto !important;
    grid-row: auto !important;
}

/* RESET ALL OLD CONFLICTING STYLES */
.gallery-item,
.gallery-item.large,
.gallery-item.medium,
.gallery-item.tall,
.gallery-item.wide,
.gallery-item.small {
    grid-column: unset !important;
    grid-row: unset !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    transform: none !important;
}

.gallery-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 4px !important;
}

.moments-gallery-footer {
    text-align: center;
}

.view-more-link {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--text-white);
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    background-color: transparent;
    border: none;
}

.view-more-link i {
    font-size: 14px;
    transition: transform 0.3s ease;
}

.view-more-link:hover {
    color: rgba(255, 255, 255, 0.8);
    transform: translateY(-2px);
}

.view-more-link:hover i {
    transform: translateY(2px);
}

/* Responsive Design for Moments Gallery */

/* Extra Large Desktop (1440px+) */
@media (min-width: 1440px) {
    .moments-gallery-container {
        max-width: 1600px;
        padding: 0 30px;
    }
    
    .moments-gallery-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        grid-template-rows: repeat(3, 250px) !important;
        gap: 20px !important;
    }
}

/* Large Desktop (1200px) */
@media (max-width: 1200px) {
    .moments-gallery-container {
        max-width: 1200px;
        padding: 0 40px;
    }
    
    .moments-gallery-section {
        padding: 100px 0;
    }
    
    .moments-gallery-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        grid-template-rows: repeat(3, 250px) !important;
        gap: 20px !important;
    }
}

/* iPad Pro Landscape (1024px) */
@media (max-width: 1024px) {
    .moments-gallery-container {
        padding: 0 30px;
    }
    
    .moments-gallery-section {
        padding: 60px 0;
    }
    
    .moments-gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, 220px);
        gap: 15px;
    }
    
    /* Responsive layout for 3 columns */
    .gallery-item:nth-child(1) {
        grid-column: 1 / 3;
        grid-row: 1 / 3;
    }
    
    .gallery-item:nth-child(2) {
        grid-column: 3;
        grid-row: 1;
    }
    
    .gallery-item:nth-child(3) {
        grid-column: 3;
        grid-row: 2;
    }
    
    .gallery-item:nth-child(4) {
        grid-column: 3;
        grid-row: 3;
    }
    
    .gallery-item:nth-child(5) {
        grid-column: 1 / 3;
        grid-row: 3;
    }
    
    .gallery-item:nth-child(6),
    .gallery-item:nth-child(7),
    .gallery-item:nth-child(8) {
        display: none;
    }
    
    .moments-gallery-filter {
        position: static;
        margin-top: 20px;
        text-align: center;
    }
    
    .gallery-item.large {
        grid-column: span 2;
        grid-row: span 2;
    }
    
    .gallery-item.wide {
        grid-column: span 2;
        grid-row: span 1;
    }
}

/* iPad Portrait (834px) */
@media (max-width: 834px) {
    .moments-gallery-section {
        padding: 80px 0;
    }
    
    .moments-gallery-container {
        padding: 0 25px;
    }
    
    .moments-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(auto, 200px);
        gap: 12px;
    }
    
    .gallery-item.large {
        grid-column: span 2;
        grid-row: span 1;
    }
    
    .gallery-item.wide {
        grid-column: span 2;
        grid-row: span 1;
    }
    
    .gallery-item.tall {
        grid-column: span 1;
        grid-row: span 1;
    }
}

/* iPad Mini / Small Tablets (768px) */
@media (max-width: 768px) {
    .moments-gallery-section {
        padding: 20px 0;
    }
    
    .moments-gallery-container {
        padding: 0 20px;
    }
    
    .moments-gallery-grid {
        gap: 20px !important;
        grid-template-columns: repeat(1, 1fr) !important;
    }
    
    .moments-gallery-header {
        margin-bottom: 50px;
    }
}

/* iPhone 14 Pro Max / Large Mobile (428px) */
@media (max-width: 428px) {
    .moments-gallery-section {
        padding: 60px 0;
    }
    
    .moments-gallery-container {
        padding: 0 20px;
    }
    
    .moments-gallery-grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(auto, 250px);
        gap: 15px;
    }
    
    .gallery-item,
    .gallery-item.large,
    .gallery-item.wide,
    .gallery-item.tall {
        grid-column: span 1;
        grid-row: span 1;
    }
    
    .moments-gallery-header {
        margin-bottom: 40px;
    }
}

/* iPhone 14 / Standard Mobile (390px) */
@media (max-width: 390px) {
    .moments-gallery-section {
        padding: 50px 0;
    }

    .moments-gallery-container {
        padding: 0 16px;
    }

    .moments-gallery-grid {
        gap: 15px !important;
        grid-template-rows: repeat(auto, 240px);
    }
    
    .moments-gallery-header {
        margin-bottom: 35px;
    }
    
    .moments-gallery-title {
        font-size: clamp(24px, 6vw, 32px);
    }
}

/*===============================================
  INTERNATIONAL THEME STYLES - WHITE BACKGROUND
===============================================*/

/* BODY THEME */
.intl-theme-body {
    background-color: #ffffff !important;
    color: #000000 !important;
}

/* NAVBAR STYLES FOR INTERNATIONAL THEME - INITIAL STATE (TRANSPARENT WITH BLACK LINKS) */
.intl-theme-body .navbar:not(.force-scrolled) {
    background-color: transparent !important;
    border-bottom: none !important;
    transition: all 0.3s ease !important;
}

.intl-theme-body .navbar .nav-logo {
    color: #000 !important;
}

/* International navbar logo - make white before scroll on international HOME PAGE ONLY */
body.intl-theme-body .navbar:not(.scrolled):not(.force-scrolled) .nav-logo .logo-img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 200px !important;
    height: auto !important;
    object-fit: contain !important;
    max-height: 80px !important;
    filter: brightness(0) invert(1) !important;
    -webkit-filter: brightness(0) invert(1) !important;
    transition: filter 0.3s ease ;
    -webkit-transition: -webkit-filter 0.3s ease !important;
}

/* Show original logo colors when navbar is scrolled OR force-scrolled on ALL international pages */
body.intl-theme-body .navbar.scrolled .nav-logo .logo-img,
body.intl-theme-body .navbar.force-scrolled .nav-logo .logo-img {
    filter: none !important;
    -webkit-filter: none !important;
    /* Override main.css global logo filter with higher specificity */
}

/* Additional specificity override for international navbar scrolled/force-scrolled logo */
.intl-theme-body .navbar.scrolled .nav-logo .logo-img,
.intl-theme-body .navbar.force-scrolled .nav-logo .logo-img {
    filter: none !important;
    -webkit-filter: none !important;
}

.intl-theme-body .navbar:not(.scrolled):not(.force-scrolled) .nav-right:not(.mobile-active) .nav-menu .nav-link {
    color: white !important;
    font-weight: 400 !important;
    transition: all 0.3s  ;
}

.intl-theme-body .navbar:not(.scrolled):not(.force-scrolled) .nav-right:not(.mobile-active) .nav-menu .nav-link:hover:not(.nav-btn):not(.btn-outline) {
    color: #0084ff !important;
}

.intl-theme-body .navbar:not(.scrolled):not(.force-scrolled) .nav-right:not(.mobile-active) .nav-menu .nav-btn .nav-link:hover:not(.nav-btn):not(.btn-outline) {
    color: #ffffff !important;
}

/* Ensure button links don't get blue hover */
.intl-theme-body .navbar:not(.scrolled):not(.force-scrolled) .nav-right:not(.mobile-active) .nav-menu .nav-btn .nav-link:hover,
.intl-theme-body .navbar:not(.scrolled):not(.force-scrolled) .nav-right:not(.mobile-active) .nav-menu .nav-btn > a:hover {
    color: inherit !important;
}

.intl-theme-body .navbar:not(.scrolled):not(.force-scrolled) .nav-right:not(.mobile-active) .nav-menu .nav-link.active {
    color: #000 !important;
}



body.intl-theme-body .navbar .nav-right:not(.mobile-active) .nav-btn:hover,
body.intl-theme-body .navbar .nav-right:not(.mobile-active) .nav-link.nav-btn:hover,
body.intl-theme-body .navbar .nav-right:not(.mobile-active) .nav-menu .nav-btn:hover,
body.intl-theme-body .navbar .nav-right:not(.mobile-active) .nav-menu .nav-link.nav-btn:hover,
body.intl-theme-body .navbar .nav-right:not(.mobile-active) .nav-btn:hover *,
body.intl-theme-body .navbar .nav-right:not(.mobile-active) .nav-link.nav-btn:hover *,
body.intl-theme-body .navbar .nav-right:not(.mobile-active) .nav-menu .nav-btn:hover *,
body.intl-theme-body .navbar .nav-right:not(.mobile-active) .nav-menu .nav-link.nav-btn:hover * {
    background-color: #0d2b8c !important;
    border-color: #0d2b8c !important;
    color: #ffffff !important;
    transition: all 0.3s ease !important;
    border-radius: 50px;
}

.intl-theme-body .navbar:not(.scrolled):not(.force-scrolled) .mobile-menu-toggle {
    color: #000 !important;
}

.intl-theme-body .navbar:not(.scrolled):not(.force-scrolled) .mobile-menu-toggle span {
    background-color: #ffffff !important;
}

/* NAVBAR STICKY STATE (BLACK BACKGROUND WITH WHITE LINKS) */
.intl-theme-body .navbar.scrolled {
    background-color: #ffffff !important;
    border-bottom: none !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}

.intl-theme-body .navbar.scrolled .nav-logo {
    color: #0d2b8c !important;
}

.intl-theme-body .navbar.scrolled .nav-menu .nav-link {
    color: #0d2b8c !important;
}

.intl-theme-body .navbar.scrolled .nav-menu .nav-link:hover:not(.nav-btn) {
    color: #0d2b8c !important;
}

.intl-theme-body .navbar.scrolled .nav-menu .nav-link.active {
    color: #0d2b8c !important;
}

.intl-theme-body .navbar.scrolled .nav-btn > a,
.intl-theme-body .navbar.scrolled .nav-menu .menu-item.nav-btn > a,
.intl-theme-body .navbar.force-scrolled .nav-btn > a,
.intl-theme-body .navbar.force-scrolled .nav-menu .menu-item.nav-btn > a {
    background-color: transparent !important;
    color: #0d2b8c !important;
    border: 2px solid #0d2b8c !important;
    border-radius: 50px !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
}

body.intl-theme-body .navbar.scrolled .nav-right:not(.mobile-active) .nav-btn:hover,
body.intl-theme-body .navbar.scrolled .nav-right:not(.mobile-active) .nav-link.nav-btn:hover,
body.intl-theme-body .navbar.scrolled .nav-right:not(.mobile-active) .nav-menu .nav-btn:hover,
body.intl-theme-body .navbar.scrolled .nav-right:not(.mobile-active) .nav-menu .nav-link.nav-btn:hover,
body.intl-theme-body .navbar.force-scrolled .nav-right:not(.mobile-active) .nav-btn:hover,
body.intl-theme-body .navbar.force-scrolled .nav-right:not(.mobile-active) .nav-link.nav-btn:hover,
body.intl-theme-body .navbar.force-scrolled .nav-right:not(.mobile-active) .nav-menu .nav-btn:hover,
body.intl-theme-body .navbar.force-scrolled .nav-right:not(.mobile-active) .nav-menu .nav-link.nav-btn:hover {
    background-color: #0d2b8c !important;
    color: #ffffff !important;
    border-color: #0d2b8c !important;
    transition: all 0.3s ease !important;
}

/* Transparent background for span inside hovered nav buttons */
body.intl-theme-body .navbar.scrolled .nav-right:not(.mobile-active) .nav-btn:hover span,
body.intl-theme-body .navbar.scrolled .nav-right:not(.mobile-active) .nav-link.nav-btn:hover span,
body.intl-theme-body .navbar.scrolled .nav-right:not(.mobile-active) .nav-menu .nav-btn:hover span,
body.intl-theme-body .navbar.scrolled .nav-right:not(.mobile-active) .nav-menu .nav-link.nav-btn:hover span,
body.intl-theme-body .navbar.force-scrolled .nav-right:not(.mobile-active) .nav-btn:hover span,
body.intl-theme-body .navbar.force-scrolled .nav-right:not(.mobile-active) .nav-link.nav-btn:hover span,
body.intl-theme-body .navbar.force-scrolled .nav-right:not(.mobile-active) .nav-menu .nav-btn:hover span,
body.intl-theme-body .navbar.force-scrolled .nav-right:not(.mobile-active) .nav-menu .nav-link.nav-btn:hover span {
    background-color: transparent !important;
}

.intl-theme-body .navbar.scrolled .mobile-menu-toggle {
    color: #0d2b8c !important;
}

.intl-theme-body .navbar.scrolled .mobile-menu-toggle span {
    background-color: #0d2b8c !important;
}

/* FOOTER STYLES FOR INTERNATIONAL THEME */
.intl-theme-body .footer {
    background-color: #f8f9fa !important;
    color: #000000 !important;
    border-top: 1px solid #e5e5e5 !important;
}

.intl-theme-body .footer-content h3 {
    color: #000000 !important;
}

.intl-theme-body .footer-content p {
    color: #333333 !important;
}

.intl-theme-body .footer-links a {
    color: #000 !important;
}

.intl-theme-body .footer-links a:hover {
    color: #333 !important;
}

.intl-theme-body .footer-social a {
    color: #000000 !important;
    border: 1px solid #e5e5e5 !important;
}

.intl-theme-body .footer-social a:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.intl-theme-body .footer-bottom {
    border-top: 1px solid #e5e5e5 !important;
    background-color: #ffffff !important;
}

.intl-theme-body .footer-bottom p {
    color: #000 !important;
}

/* INTERNATIONAL HERO SECTION - EXACT FIGMA DESIGN */
.intl-hero-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Hero Video Background */
.intl-hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.intl-hero-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.intl-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 2;
}

/* Hero Content */
.intl-hero-content {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 0 40px;
}

.intl-hero-container {
    max-width: 1600px;
    margin: 0 auto;
    text-align: center;
    color: #ffffff;
    margin-top: 200px;
}

.intl-hero-title {
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 20px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.intl-hero-subtitle {
    font-size: clamp(16px, 1.8vw, 18px);
    line-height: 1.6;
    margin-bottom: 30px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    opacity: 0.9;
}

.intl-hero-cta-text {
    color: #ffffff;
    font-size: clamp(16px, 1.5vw, 18px);
    font-weight: 500;
    margin: 30px auto 0;
    text-align: center;
}

.intl-hero-gif {
    display: block;
    margin: 15px auto 0;
    max-width: 50px;
    filter: brightness(0) invert(1);
}

/* RESPONSIVE DESIGN FOR INTERNATIONAL HERO */

/* Large Desktop (1400px+) */
@media (max-width: 1400px) {
    .intl-hero-container {
        max-width: 1200px;
    }
}

/* Desktop (1200px) */
@media (max-width: 1200px) {
    .intl-hero-container {
        max-width: 1000px;
    }
    
    .intl-hero-content {
        padding: 0 30px;
    }
}

/* iPad Pro Portrait (1024px) */
@media (max-width: 1024px) {
    .intl-hero-container {
        max-width: 900px;
    }
    
    .intl-hero-content {
        padding: 0 25px;
    }
    
    .intl-hero-title {
        font-size: clamp(28px, 6vw, 40px);
        margin-bottom: 18px;
    }
    
    .intl-hero-subtitle {
        font-size: clamp(15px, 3vw, 17px);
        margin-bottom: 25px;
    }
}

/* iPad (834px) */
@media (max-width: 834px) {
    .intl-hero-content {
        padding: 0 20px;
    }
    
    .intl-hero-title {
        font-size: clamp(26px, 7vw, 36px);
    }
    
    .intl-cta-button {
        padding: 12px 30px;
        font-size: 13px;
    }
}

/* iPad Mini / Small Tablets (768px) */
@media (max-width: 768px) {
    .intl-hero-section {
        min-height: 100vh;
    }
    
    .intl-hero-title {
        font-size: clamp(24px, 8vw, 32px);
        line-height: 1.3;
    }
    
    .intl-hero-subtitle {
        font-size: clamp(14px, 4vw, 16px);
    }
    
    .intl-hero-cta {
        margin-top: 30px;
    }
}

/* iPhone 14 Pro Max / Large Mobile (428px) */
@media (max-width: 428px) {
    .intl-hero-section {
        min-height: 100vh;
    }
    
    .intl-hero-content {
        padding: 0 20px;
    }
    
    .intl-hero-title {
        font-size: clamp(22px, 9vw, 26px);
        margin-bottom: 15px;
    }
    
    .intl-hero-subtitle {
        font-size: clamp(13px, 4.5vw, 15px);
        margin-bottom: 20px;
    }
    
    .intl-cta-button {
        padding: 10px 25px;
        font-size: 12px;
    }
}

/* iPhone 14 / Standard Mobile (390px) */
@media (max-width: 390px) {
    .intl-hero-content {
        padding: 0 16px;
    }
    
    .intl-hero-title {
        font-size: clamp(20px, 10vw, 26px);
    }
}

/* iPhone SE / Small Mobile (375px) */
@media (max-width: 375px) {
    .intl-hero-content {
        padding: 0 14px;
    }
    
    .intl-cta-button {
        padding: 8px 20px;
        font-size: 11px;
    }
}

/* Very Small Mobile (320px) */
@media (max-width: 320px) {
    .intl-hero-section {
        min-height: 80vh;
    }
    
    .intl-hero-content {
        padding: 0 12px;
    }
    
    .intl-hero-title {
        font-size: 18px;
        line-height: 1.4;
    }
    
    .intl-hero-subtitle {
        font-size: 12px;
    }
}

/* SECTION UNIQUE CLASSES - READY FOR CONTENT */

.intl-services-section {
    background-color: #f8f9fa;
    color: #000000;
    padding: 100px 0;
}

.intl-about-section {
    background-color: #ffffff;
    color: #000000;
    padding: 100px 0;
}

.intl-portfolio-section {
    background-color: #f8f9fa;
    color: #000000;
    padding: 100px 0;
}

.intl-testimonials-section {
    background-color: #ffffff;
    color: #000000;
    padding: 100px 0;
}

.intl-contact-section {
    background-color: #f8f9fa;
    color: #000000;
    padding: 100px 0;
}

/* ===== INTERNATIONAL VOWS SECTION ===== */
.intl-vows-section {
    padding: 0 0 60px;
    /* background: #f8f8f8; */
}

.intl-vows-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 20px);
}

/* Section Header */
.intl-vows-header {
    text-align: center;
    margin-bottom: clamp(40px, 6vw, 40px);
}

.intl-vows-title {
    font-size: clamp(32px, 3.5vw, 52px);
    font-weight: 400;
    color: #000000;
    line-height: 1.2;
    margin-bottom: clamp(15px, 2vw, 20px);
}

.intl-vows-subtitle {
    font-size: clamp(14px, 1.4vw, 18px);
    color: #000;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

/* Gallery Layout */
.intl-vows-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 3vw, 20px);
    margin-bottom: clamp(40px, 6vw, 60px);
}

/* Featured Image (Left Side) */
.intl-vows-featured {
    position: relative;
}

.intl-vows-featured-image {
    position: relative;
    width: 100%;
    height: clamp(400px, 50vw, 600px);
    border-radius: 12px;
    overflow: hidden;
}

.intl-vows-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.intl-vows-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: clamp(60px, 8vw, 100px);
}

.intl-vows-overlay-content {
    text-align: center;
    color: white;
}

.intl-vows-overlay-label {
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: block;
    margin-bottom: 8px;
    opacity: 0.9;
}

.intl-vows-overlay-names {
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 300;
    line-height: 1.2;
    margin: 0;
}

/* Grid Images (Right Side) */
.intl-vows-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(15px, 2vw, 20px);
    height: clamp(400px, 50vw, 600px);
}

.intl-vows-grid-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
}

/* Grid item overlay - hidden by default on desktop */
.intl-vows-grid-item .intl-vows-overlay {
    opacity: 0;
    background: rgba(0, 0, 0, 0.7);
    transition: opacity 0.3s ease;
}

/* Grid item overlay content - white text for right side images */
.intl-vows-grid-item .intl-vows-overlay-content {
    color: #ffffff;
}

/* Show overlay on hover for desktop */
.intl-vows-grid-item:hover .intl-vows-overlay {
    opacity: 1;
}

.intl-vows-grid-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.intl-vows-grid-item:hover .intl-vows-grid-img {
    transform: scale(1.05);
}

/* CTA Button */
.intl-vows-cta {
    text-align: center;
}

.intl-vows-btn {
    background: transparent;
    border: 2px solid #000000;
    color: #000000;
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 500;
    padding: clamp(12px, 1.5vw, 12px) clamp(24px, 3vw, 30px);
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Poppins', sans-serif;
}

.intl-vows-btn:hover {
    background: #000000;
    color: #ffffff;
    transform: translateY(-2px);
}

/* Responsive Design */
/* Tablet Styles */
@media (max-width: 1024px) {
    .intl-vows-gallery {
        gap: clamp(15px, 2.5vw, 30px);
    }
    
    .intl-vows-grid {
        gap: clamp(10px, 1.5vw, 15px);
    }
}

/* Small Tablet / Large Mobile */
@media (max-width: 768px) {
    .intl-vows-section {
        padding: clamp(40px, 6vw, 80px) 0;
    }
    
    .intl-vows-gallery {
        grid-template-columns: 1fr;
        gap: clamp(20px, 4vw, 30px);
    }
    
    .intl-vows-featured-image {
        height: clamp(300px, 40vw, 400px);
    }
    
    .intl-vows-grid {
        height: auto;
        grid-template-columns: 1fr 1fr;
    }
    
    .intl-vows-grid-item {
        height: clamp(250px, 18vw, 180px);
    }
}

/* Mobile Styles */
@media (max-width: 480px) {
    .intl-vows-container {
        padding: 0 20px;
    }
    
    .intl-vows-header {
        margin-bottom: 30px;
    }
    .intl-vows-title {
        font-size: 26px;
    }
    
    .intl-vows-gallery {
        gap: 20px;
        margin-bottom: 40px;
    }
    
    .intl-vows-featured-image {
        height: 250px;
    }
    
    .intl-vows-grid {
        gap: 10px;
    }
    
    .intl-vows-grid-item {
        height: 120px;
    }

    /* Always show overlay on mobile */
    .intl-vows-grid-item .intl-vows-overlay {
        opacity: 1;
    }

    .intl-vows-overlay-label {
        font-size: 11px;
        letter-spacing: 1.5px;
    }

    .intl-vows-overlay-names {
        font-size: 20px;
    }

    .intl-vows-overlay {
        padding-top: 40px;
    }
}

/* iOS Safari Specific */
@supports (-webkit-touch-callout: none) {
    .intl-vows-main-img,
    .intl-vows-grid-img {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
}

/* ===== WEDDING CATEGORIES SECTION ===== */
.intl-categories-section {
    padding: 0 0 60px;
}

.intl-categories-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 clamp(15px, 4vw, 15px);
}

/* Section Header */
.intl-categories-header {
    text-align: center;
    margin-bottom: clamp(40px, 6vw, 40px);
}

.intl-categories-title {
    font-size: clamp(26px, 32px, 52px);
    font-weight: 400;
    color: #000000;
    line-height: 1.2;
    margin-bottom: clamp(15px, 2vw, 20px);
}

.intl-categories-subtitle {
    font-size: clamp(14px, 1.4vw, 18px);
    color: #000;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

/* Gallery Grid */
.intl-categories-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 3vw, 20px);
    margin-bottom: clamp(40px, 6vw, 60px);
}

/* Featured Category (Left Side) */
.intl-categories-featured {
    position: relative;
}

.intl-categories-featured-image {
    position: relative;
    width: 100%;
    height: clamp(400px, 50vw, 600px);
    border-radius: 12px;
    overflow: hidden;
    /* cursor: pointer; */
}

.intl-categories-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.intl-categories-featured-image:hover .intl-categories-main-img {
    transform: scale(1.05);
}

/* Overlay Styles */
.intl-categories-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    padding: 10px;
}

.intl-categories-overlay-content {
    text-align: center;
    color: white;
}

.intl-categories-overlay-name {
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 300;
    line-height: 1.2;
    margin: 0;
}

/* Show featured overlay on hover */
.intl-categories-featured-image:hover .intl-categories-overlay {
    opacity: 1;
}

/* Grid Items (Right Side - 2x2) */
.intl-categories-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(15px, 2vw, 20px);
    height: clamp(400px, 50vw, 600px);
}

.intl-categories-grid-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    /* cursor: pointer; */
}

/* Grid item overlay - hidden by default on desktop */
.intl-categories-grid-item .intl-categories-overlay {
    opacity: 0;
    background: rgba(0, 0, 0, 0.7);
    transition: opacity 0.3s ease;
}

/* Grid item overlay content - white text */
.intl-categories-grid-item .intl-categories-overlay-content {
    color: #ffffff;
}

/* Show overlay on hover for desktop */
.intl-categories-grid-item:hover .intl-categories-overlay {
    opacity: 1;
}

.intl-categories-grid-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.intl-categories-grid-item:hover .intl-categories-grid-img {
    transform: scale(1.05);
}

/* CTA Button */
.intl-categories-cta {
    text-align: center;
}

.intl-categories-btn {
    display: inline-block;
    background: transparent;
    border: 2px solid #000000;
    color: #000000;
    text-decoration: none;
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 500;
    padding: clamp(12px, 1.5vw, 12px) clamp(24px, 3vw, 30px);
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Poppins', sans-serif;
}

.intl-categories-btn:hover {
    background: #000000;
    color: #ffffff;
    transform: translateY(-2px);
}

/* Tablet Styles */
@media (max-width: 1024px) {
    .intl-categories-gallery {
        gap: clamp(15px, 2.5vw, 30px);
    }

    .intl-categories-grid {
        gap: clamp(10px, 1.5vw, 15px);
    }
}

/* Small Tablet / Large Mobile */
@media (max-width: 768px) {
    .intl-categories-section {
        padding: clamp(40px, 6vw, 80px) 0;
    }

    .intl-categories-gallery {
        grid-template-columns: 1fr;
        gap: clamp(20px, 4vw, 30px);
    }

    .intl-categories-featured-image {
        height: clamp(300px, 40vw, 400px);
    }

    .intl-categories-grid {
        height: auto;
        grid-template-columns: 1fr 1fr;
    }

    .intl-categories-grid-item {
        height: clamp(250px, 18vw, 180px);
    }
}

/* Mobile Styles */
@media (max-width: 480px) {
    .intl-categories-container {
        padding: 0 15px;
    }

    .intl-categories-header {
        margin-bottom: 30px;
    }

    .intl-categories-title {
        font-size: 26px;
    }

    .intl-categories-gallery {
        gap: 20px;
        margin-bottom: 40px;
    }

    .intl-categories-featured-image {
        height: 250px;
    }

    .intl-categories-grid {
        gap: 10px;
    }

    .intl-categories-grid-item {
        height: 120px;
    }

    /* Always show overlay on mobile for both featured and grid items */
    .intl-categories-grid-item .intl-categories-overlay,
    .intl-categories-featured-image .intl-categories-overlay {
        opacity: 1;
    }

    .intl-categories-overlay-name {
        font-size: 14px;
    }

    /* Performance optimization */
    .intl-categories-grid-img {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
}

/* ===== EVENT CATEGORIES SECTION ===== */
.event-categories-section {
    padding: 0 0 60px;
}

.event-categories-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 20px);
}

/* Section Header */
.event-categories-header {
    text-align: center;
    margin-bottom: clamp(40px, 6vw, 40px);
}

.event-categories-title {
    font-size: clamp(32px, 42px, 52px);
    font-weight: 400;
    color: #ffffff;
    line-height: 1.2;
    margin-bottom: clamp(15px, 2vw, 20px);
}

.event-categories-subtitle {
    font-size: clamp(14px, 14px, 18px);
    color: #ffffff;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

/* Gallery Grid */
.event-categories-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 3vw, 20px);
    margin-bottom: clamp(40px, 6vw, 60px);
}

/* Featured Category (Left Side) */
.event-categories-featured {
    position: relative;
}

.event-categories-featured-image {
    position: relative;
    width: 100%;
    height: clamp(400px, 50vw, 600px);
    border-radius: 12px;
    overflow: hidden;
    /* cursor: pointer; */
}

.event-categories-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.event-categories-featured-image:hover .event-categories-main-img {
    transform: scale(1.05);
}

/* Overlay Styles */
.event-categories-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.event-categories-overlay-content {
    text-align: center;
    color: white;
}

.event-categories-overlay-name {
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 300;
    line-height: 1.2;
    margin: 0;
}

/* Show featured overlay on hover */
.event-categories-featured-image:hover .event-categories-overlay {
    opacity: 1;
}

/* Grid Items (Right Side - 2x2) */
.event-categories-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(15px, 2vw, 20px);
    height: clamp(400px, 50vw, 600px);
}

.event-categories-grid-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    /* cursor: pointer; */
}

/* Grid item overlay - hidden by default on desktop */
.event-categories-grid-item .event-categories-overlay {
    opacity: 0;
    background: rgba(0, 0, 0, 0.7);
    transition: opacity 0.3s ease;
}

/* Grid item overlay content - white text */
.event-categories-grid-item .event-categories-overlay-content {
    color: #ffffff;
}

/* Show overlay on hover for desktop */
.event-categories-grid-item:hover .event-categories-overlay {
    opacity: 1;
}

.event-categories-grid-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.event-categories-grid-item:hover .event-categories-grid-img {
    transform: scale(1.05);
}

/* CTA Button */
.event-categories-cta {
    text-align: center;
}

.event-categories-btn {
    display: inline-block;
    background: transparent;
    border: 2px solid #000000;
    color: #000000;
    text-decoration: none;
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 500;
    padding: clamp(12px, 1.5vw, 12px) clamp(24px, 3vw, 30px);
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Poppins', sans-serif;
}

.event-categories-btn:hover {
    background: #000000;
    color: #ffffff;
    transform: translateY(-2px);
}

/* Tablet Styles */
@media (max-width: 1024px) {
    .event-categories-gallery {
        gap: clamp(15px, 2.5vw, 30px);
    }

    .event-categories-grid {
        gap: clamp(10px, 1.5vw, 15px);
    }
}

/* Small Tablet / Large Mobile */
@media (max-width: 768px) {
    .event-categories-section {
        padding: clamp(22px, 5vw, 80px) 0;
    }

    .event-categories-gallery {
        grid-template-columns: 1fr;
        gap: clamp(20px, 4vw, 30px);
    }

    .event-categories-featured-image {
        height: clamp(300px, 40vw, 400px);
    }

    .event-categories-grid {
        height: auto;
        grid-template-columns: 1fr 1fr;
    }

    .event-categories-grid-item {
        height: clamp(250px, 18vw, 180px);
    }
}

/* Mobile Styles */
@media (max-width: 480px) {
    .event-categories-container {
        padding:15px;
    }

    .event-categories-header {
        margin-bottom: 30px;
    }

    .event-categories-title {
        font-size: 26px;
    }

    .event-categories-gallery {
        gap: 20px;
        margin-bottom: 40px;
    }

    .event-categories-featured-image {
        height: 250px;
    }

    .event-categories-grid {
        gap: 10px;
    }

    .event-categories-grid-item {
        height: 120px;
    }

    /* Always show overlay on mobile for both featured and grid items */
    .event-categories-grid-item .event-categories-overlay,
    .event-categories-featured-image .event-categories-overlay {
        opacity: 1;
    }

    .event-categories-overlay-name {
        font-size: 14px;
    }

    /* Performance optimization */
    .event-categories-grid-img {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
}

/* ===== INTERNATIONAL CIRCLE DIFFERENCE SECTION OVERRIDES ===== */
.intl-theme-body .circle-difference-section {
    background: #ffffff;
    color: #000000;
}

.intl-theme-body .circle-difference-section::before,
.intl-theme-body .circle-difference-section::after {
    display: none;
}

.intl-theme-body .difference-title {
    color: #000000;
}

.intl-theme-body .difference-description {
    color: #000;
}

.intl-theme-body .stats-title {
    color: #000000;
}

.intl-theme-body .stat-item {
    background: transparent;
    border: 2px solid #6B73FF;
    border-radius: 12px;
    /* padding: clamp(20px, 3vw, 30px) clamp(16px, 2.5vw, 24px); */
    transition: all 0.3s ease;
    padding: 5px;
}

.intl-theme-body .stat-item:hover {
    background: rgba(107, 115, 255, 0.05);
    border-color: #5A63E8;
    transform: translateY(-2px);
}

.intl-theme-body .stat-number {
    color: #000000;
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 700;
    margin-bottom: 8px;
}

.intl-theme-body .stat-label {
    color: #000;
    font-size: clamp(13px, 1.2vw, 14px);
    font-weight: 400;
    text-transform: none;
}

.intl-theme-body .stats-grid {
    /* max-width: 400px; */
    gap: clamp(12px, 2vw, 20px);
}

.intl-theme-body .difference-stats {
    margin: clamp(30px, 4vw, 40px) 0;
}

.intl-theme-body .difference-img {
    box-shadow: none;
    object-fit: contain;
    object-position: center;
    border-radius: 20px;
}

.intl-theme-body .difference-btn {
    border-color: #000000;
    color: #000000;
}

.intl-theme-body .difference-btn:hover {
    background-color: #000000;
    color: #ffffff;
}

@media (max-width: 1024px) {

}

/* ===== INTERNATIONAL OUR PROMISE SECTION ===== */
.intl-promise-section {
    padding: clamp(60px, 8vw, 120px) 0;
    background: #ffffff;
}

.intl-promise-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 clamp(15px, 15px, 22vw);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 6vw, 80px);
    align-items: center;
}

/* Image Column */
.intl-promise-image {
    position: relative;
}

.intl-promise-image-wrapper {
    position: relative;
    width: 100%;
    height: clamp(400px, 50vw, 600px);
    border-radius: 16px;
    overflow: visible;
}

.intl-promise-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 16px;
}

.intl-promise-ring-overlay {
    position: absolute;
    top: -14.7%;
    right: -11.80%;
    width: clamp(100px, 15vw, 250px);
    height: auto;
    z-index: 3;
}

/* Content Column */
.intl-promise-content {
    padding: clamp(20px, 4vw, 40px) 0;
}

.intl-promise-title {
    font-size: clamp(32px, 3.5vw, 52px);
    font-weight: 400;
    color: #000000;
    line-height: 1.2;
    margin-bottom: clamp(20px, 3vw, 30px);
}

.intl-promise-description {
    font-size: clamp(14px, 1.4vw, 16px);
    color: #000;
    line-height: 1.6;
    margin-bottom: clamp(30px, 4vw, 40px);
}

.intl-promise-cta {
    display: flex;
    justify-content: flex-start;
}

.intl-promise-btn {
    background: transparent;
    border: 2px solid #000000;
    color: #000000;
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 500;
    padding: clamp(12px, 1.5vw, 12px) clamp(24px, 3vw, 30px);
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Poppins', sans-serif;
}

.intl-promise-btn:hover {
    background: #000000;
    color: #ffffff;
    /* transform: translateY(-2px); */
}

/* Responsive Design */
/* Tablet Styles */
@media (max-width: 1024px) {
    .intl-promise-container {
        gap: clamp(30px, 5vw, 60px);
    }

    .intl-promise-image-wrapper {
        height: clamp(350px, 45vw, 500px);
    }

    /* Fix image positioning to show top center instead of cropping top */
    .intl-promise-main-img {
        object-position: top center;
    }

    .intl-promise-ring-overlay {
        display: none;
    }
}

/* Small Tablet / Large Mobile */
@media (max-width: 768px) {
    .intl-promise-section {
        padding: clamp(20px, 6vw, 80px) 0;
    }

    .intl-promise-container {
        grid-template-columns: 1fr;
        gap: clamp(30px, 5vw, 50px);
    }

    .intl-promise-image-wrapper {
        height: clamp(300px, 40vw, 400px);
    }

    /* Continue showing top center of image */
    .intl-promise-main-img {
        object-position: top center;
    }

    .intl-promise-ring-overlay {
        display: none;
    }

    .intl-promise-content {
        text-align: center;
        padding: 0;
    }

    .intl-promise-cta {
        justify-content: center;
    }
}

/* Mobile Styles */
@media (max-width: 480px) {
    .intl-promise-container {
        padding: 0 15px;
        gap: 30px;
    }
    .intl-promise-title{
        font-size: 26px;
    }
    .intl-promise-image-wrapper {
        height: 250px;
        border-radius: 12px;
    }
    
    .intl-promise-ring-overlay {
        display: none;
    }
}

/* iOS Safari Specific */
@supports (-webkit-touch-callout: none) {
    .intl-promise-main-img {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
}

/* ===== INTERNATIONAL VOICES OF TRUST SECTION OVERRIDES ===== */
.intl-theme-body .fce-voices {
    background: url('../assets/images/international home page/love-note-bg.jpg') center/cover no-repeat;
    color: #ffffff;
    position: relative;
}

.intl-theme-body .fce-voices::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.intl-theme-body .fce-voices .container {
    position: relative;
    z-index: 2;
}

.intl-theme-body .voices-title {
    color: #ffffff;
}

.intl-theme-body .voices-subtitle {
    color: rgba(255, 255, 255, 0.9);
}

.intl-theme-body .fce-voices .container {
    max-width: 1600px;
}

.intl-theme-body .testimonial-card {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    text-align: center;
    padding: clamp(30px, 4vw, 40px);
}

.intl-theme-body .testimonial-card::before,
.intl-theme-body .testimonial-card::after {
    display: none;
}

.intl-theme-body .testimonial-couple-photo {
    margin-bottom: 20px;
}

.intl-theme-body .couple-img {
    width: clamp(80px, 10vw, 100px);
    height: clamp(80px, 10vw, 100px);
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #f0f0f0;
}

.intl-theme-body .couple-names {
    color: #000000;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 600;
    margin-bottom: 15px;
}

.intl-theme-body .company-name {
    color: #000000;
}

.intl-theme-body .testimonial-text p {
    color: #333333;
}

/* .intl-theme-body .voices-prev,
.intl-theme-body .voices-next {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.intl-theme-body .voices-prev:hover,
.intl-theme-body .voices-next:hover {
    background: rgba(255, 255, 255, 0.3);
} */

.intl-theme-body .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5);
}

.intl-theme-body .swiper-pagination-bullet-active {
    background: #ffffff;
}

/* ===== INTERNATIONAL BLOG SECTION OVERRIDES ===== */
.intl-theme-body .fce-blog {
    background: #ffffff;
    color: #000000;
}

.intl-theme-body .blog-wrap {
    max-width: 1600px;
    margin: 0 auto;
    padding-inline: 15px;
}

.intl-theme-body .blog-heading {
    color: #000000;
    text-align: center;
    margin-bottom: clamp(15px, 3vw, 40px);
}

.intl-theme-body .blog-card {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    /* box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); */
    transition: all 0.3s ease;
}

.intl-theme-body .blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.intl-theme-body .blog-card .badge {
    /* background: rgba(0, 0, 0, 0.1); */
    color: #000000;
}

.intl-theme-body .blog-card .title a {
    color: #000000;
}

.intl-theme-body .blog-card .learn {
    color: #000000;
}

.intl-theme-body .blog-card .learn:hover {
    color: #666666;
}

.intl-theme-body .blog-cta .btn-outline {
    border-color: #000000;
    color: #000000;
}

.intl-theme-body .blog-cta .btn-outline:hover {
    background-color: #000000;
    color: #ffffff;
}

.intl-theme-body .blog-card .media img {
    object-position: top center;
}

/* International theme responsive blog grid rules */
@media (max-width: 1024px) {
  .intl-theme-body .fce-blog .blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Center the 4th blog card when alone in second row - same size as others */
  .intl-theme-body .fce-blog .blog-grid .blog-card:nth-child(3):last-child {
    grid-column: 1 / span 3;
    justify-self: center;
    width: calc(50% - 16px);
  }
}

@media (max-width: 768px) {
  .intl-theme-body .fce-blog .blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px;
  }

  .intl-theme-body .blog-wrap {
    padding-inline: 15px;
  }

  /* Disable centering logic for small tablets */
  .intl-theme-body .fce-blog .blog-grid .blog-card:nth-child(4):last-child {
    grid-column: auto !important;
    justify-self: auto !important;
    width: auto !important;
  }
}

@media (max-width: 412px) {
  .intl-theme-body .fce-blog .blog-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  .intl-theme-body .blog-wrap {
    padding-inline: 16px;
  }

  /* Disable centering logic on mobile */
  .intl-theme-body .fce-blog .blog-grid .blog-card:nth-child(4):last-child {
    grid-column: auto;
    justify-self: auto;
    width: auto;
  }
}


/* ===== INTERNATIONAL LET'S BEGIN SECTION ===== */
.intl-begin-section {
    padding: clamp(80px, 10vw, 40px) 0;
}

.intl-begin-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 40px);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.intl-begin-rings {
    margin-bottom: clamp(0px, 5vw, 20px);
}

.intl-begin-ring-img {
    width: clamp(120px, 15vw, 200px);
    height: auto;
    filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.1));
}

.intl-begin-content {
    max-width: 800px;
    margin: 0 auto;
}

.intl-begin-title {
    font-size: 52px;
    font-weight: 400;
    color: #000000;
    line-height: 1.2;
    margin-bottom: clamp(20px, 3vw, 30px);
    font-family: 'Poppins', sans-serif;
}

.intl-begin-description {
    font-size: clamp(16px, 1.4vw, 18px);
    color: #000;
    line-height: 1.6;
    margin-bottom: clamp(40px, 5vw, 60px);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.intl-begin-cta {
    display: flex;
    justify-content: center;
}

.intl-begin-btn {
    background: transparent;
    border: 2px solid #000000;
    color: #000000;
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 500;
    padding: clamp(12px, 1.8vw, 12px) clamp(30px, 4vw, 30px);
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Poppins', sans-serif;
    text-decoration: none;
    display: inline-block;
}

.intl-begin-btn:hover {
    background: #000000;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Responsive Design */
/* Tablet Styles */
@media (max-width: 1024px) {
    .intl-begin-section {
        padding: clamp(60px, 8vw, 100px) 0;
    }
    
    .intl-begin-rings {
        margin-bottom: clamp(30px, 4vw, 50px);
    }
    
    .intl-begin-ring-img {
        width: clamp(100px, 12vw, 160px);
    }
    .intl-begin-title {
    font-size: 42px;
}
}
/* Small Tablet / Large Mobile */
@media (max-width: 768px) {
    .intl-begin-section {
        padding: clamp(50px, 7vw, 80px) 0;
    }
    
    .intl-begin-container {
        padding: 0 clamp(20px, 5vw, 30px);
    }
    
    .intl-begin-rings {
        margin-bottom: clamp(25px, 4vw, 40px);
    }
    
    .intl-begin-ring-img {
        width: clamp(80px, 10vw, 120px);
    }
    
    .intl-begin-description {
        margin-bottom: clamp(30px, 4vw, 45px);
    }
    .intl-begin-title {
    font-size: 32px;
    }
}

/* Mobile Styles */
@media (max-width: 480px) {
    .intl-begin-container {
        padding: 0 20px;
    }
    
    .intl-begin-rings {
        margin-bottom: 25px;
    }
    
    .intl-begin-ring-img {
        width: 80px;
    }
    
    .intl-begin-description {
        margin-bottom: 30px;
    }
    
    .intl-begin-btn {
        width: 100%;
        max-width: 250px;
    }
    .intl-begin-title {
    font-size: 26px;
    }
}

/* iOS Safari Specific */
@supports (-webkit-touch-callout: none) {
    .intl-begin-ring-img {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
}

/* ============================= INTERNATIONAL CELEBRATIONS SECTION ============================= */
.intl-celebrations-section {
    padding: clamp(50px, 8vw, 50px) 0;
    position: relative;
}

.intl-celebrations-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 40px);
}

.intl-celebrations-header {
    text-align: center;
    margin-bottom: clamp(50px, 6vw, 80px);
}

.intl-celebrations-title {
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 400;
    color: #000000;
    line-height: 1.2;
    margin-bottom: clamp(15px, 2vw, 25px);
}

.intl-celebrations-subtitle {
    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.6;
    color: #666666;
    max-width: 800px;
    margin: 0 auto;
}

.intl-celebrations-grid {
    display: flex;
    flex-direction: column;
    gap: clamp(30px, 4vw, 50px);
    margin-bottom: clamp(50px, 6vw, 70px);
}

.intl-celebrations-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(25px, 3vw, 40px);
}

/* Desktop 3-column: Center incomplete rows */
@media screen and (min-width: 1025px) {
    /* When 1 card remaining in last row (4th, 7th, 10th...) */
    .intl-celebrations-grid .intl-celebration-card:nth-child(3n+1):last-child {
        grid-column: 2;
        justify-self: center;
    }

    /* When 2 cards remaining in last row (5th-6th, 8th-9th...) */
    .intl-celebrations-grid .intl-celebration-card:nth-child(3n+1):nth-last-child(2) {
        grid-column: 1;
        justify-self: center;
    }

    .intl-celebrations-grid .intl-celebration-card:nth-child(3n+2):last-child {
        grid-column: 3;
        justify-self: center;
    }
}

/* Tablet: 2 columns */
@media screen and (max-width: 1024px) {
    .intl-celebrations-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: clamp(20px, 3vw, 30px);
    }

    /* Reset desktop centering */
    .intl-celebrations-grid .intl-celebration-card:nth-child(3n+1):last-child,
    .intl-celebrations-grid .intl-celebration-card:nth-child(3n+1):nth-last-child(2),
    .intl-celebrations-grid .intl-celebration-card:nth-child(3n+2):last-child {
        grid-column: auto;
        justify-self: auto;
    }

    /* Only center if there's exactly 1 card remaining (when total count is odd) */
    /* Remove the old logic completely and use simpler approach */
}

.intl-celebration-card {
    background: #e8e8e8;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    text-align: center;
    position: relative;
    margin-top: 60px;
    padding-top: 80px;
}

.intl-celebration-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.intl-celebration-image {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 120px;
    z-index: 2;
}

.intl-celebration-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.intl-celebration-card:hover .intl-celebration-img {
    transform: scale(1.05);
}

.intl-celebration-content {
    padding: clamp(20px, 3vw, 30px);
}

/* Clickable image link */
.intl-celebration-image-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.intl-celebration-image-link:hover {
    text-decoration: none;
    color: inherit;
}

/* Clickable name link */
.intl-celebration-name-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.intl-celebration-name-link:hover {
    text-decoration: none;
    color: inherit;
}

.intl-celebration-name {
    font-size: clamp(18px, 1.8vw, 22px);
    font-weight: 600;
    color: #000000;
    margin-bottom: clamp(12px, 1.5vw, 18px);
    line-height: 1.3;
    transition: color 0.3s ease;
}

.intl-celebration-name-link:hover .intl-celebration-name {
    color: #666666;
}

.intl-celebration-description {
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.6;
    color: #666666;
    margin-bottom: clamp(15px, 2vw, 20px);
}

.intl-celebration-link {
    font-size: clamp(14px, 1.2vw, 16px);
    color: #000000;
    text-decoration: underline;
    font-weight: 500;
    transition: color 0.3s ease;
}

.intl-celebration-link:hover {
    color: #666666;
}

.intl-celebrations-cta {
    text-align: center;
}

.intl-celebrations-btn {
    background-color: transparent;
    color: #000000;
    border: 2px solid #000000;
    padding: clamp(14px, 1.5vw, 18px) clamp(30px, 4vw, 40px);
    border-radius: 30px;
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.intl-celebrations-btn:hover {
    background-color: #000000;
    color: #ffffff;
}

/* Mobile Responsive */
@media screen and (max-width: 768px) {
    .intl-celebrations-grid {
        grid-template-columns: 1fr;
        gap: clamp(15px, 4vw, 25px);
    }

    /* Reset all centering for mobile */
    .intl-celebrations-grid .intl-celebration-card:nth-child(3n+1):last-child,
    .intl-celebrations-grid .intl-celebration-card:nth-child(3n+1):nth-last-child(2),
    .intl-celebrations-grid .intl-celebration-card:nth-child(3n+2):last-child,
    .intl-celebrations-grid .intl-celebration-card:last-child:nth-child(odd) {
        grid-column: auto;
        justify-self: auto;
        max-width: none;
    }

    
    .intl-celebration-card {
        margin-top: 50px;
        padding-top: 70px;
    }
    
    .intl-celebration-image {
        top: -50px;
        width: 100px;
        height: 100px;
    }
    
    .intl-celebration-content {
        padding: clamp(15px, 3vw, 20px);
    }
}
/* Small Mobile */
@media screen and (max-width: 480px) {
    .intl-celebrations-section {
        padding: clamp(20px, 6vw, 60px) 0;
    }
    
    .intl-celebrations-header {
        margin-bottom: clamp(30px, 5vw, 40px);
    }
    
    .intl-celebrations-grid {
        gap: clamp(20px, 4vw, 30px);
        margin-bottom: clamp(30px, 5vw, 40px);
    }
    
    .intl-celebration-card {
        border-radius: 15px;
        margin-top: 40px;
        padding-top: 60px;
        background-color: #d2d2d2;
    }
    
    .intl-celebration-image {
        top: -40px;
        width: 80px;
        height: 80px;
    }
}

/* INTERNATIONAL DESTINATIONS SECTION */
.intl-destinations-section {
    background-color: #ffffff;
    color: #000000;
    padding: 80px 0;
}

.intl-destinations-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 60px);
}

/* Destinations Hero Layout */
.intl-destinations-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 8vw, 80px);
    align-items: center;
    margin-bottom: clamp(60px, 10vw, 100px);
}

.intl-destinations-hero-left {
    position: relative;
    overflow: visible;
    padding: 50px 50px 20px 0px;
}

.intl-destinations-image-wrapper {
    position: relative;
    border-radius: 20px;
    overflow: visible;
    aspect-ratio: 4/3;
}

.intl-destinations-hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    overflow: hidden;
}

.intl-destinations-ring-overlay {
    position: absolute;
    top: -19.5%;
    right: -14.5%;
    width: clamp(100px, 15vw, 250px);
    height: auto;
    z-index: 2;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
}

.intl-destinations-hero-right {
    padding-left: clamp(20px, 4vw, 40px);
}

.intl-destinations-title  {
    font-size:52px ;
    font-weight: 400;
    color: #000000;
    line-height: 1.2;
    margin-bottom: clamp(20px, 3vw, 30px);
}

.intl-destinations-description {
    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.6;
    color: #000;
    margin-bottom: clamp(25px, 4vw, 35px);
}

.intl-destinations-btn {
    background-color: transparent;
    color: #000000;
    border: 2px solid #000000;
    padding: clamp(12px, 1.5vw, 16px) clamp(24px, 3vw, 32px);
    border-radius: 30px;
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.intl-destinations-btn:hover {
    background-color: #000000;
    color: #ffffff;
}

/* Destinations Grid */
.intl-destinations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(20px, 3vw, 30px);
    margin-bottom: clamp(40px, 6vw, 60px);
}

.intl-destination-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    width: 100%;
}

.intl-destination-card {
    text-align: center;
    transition: transform 0.3s ease;
    width: 100%;
    display: flex;
    flex-direction: column;
}


.intl-destination-card-link:hover .intl-destination-name {
    color: #0066cc;
}

.intl-destination-img {
    width: 100%;
    height: clamp(100px, 10vw, 120px);
    object-fit: cover;
    border-radius: 15px;
    margin-bottom: clamp(15px, 2vw, 20px);
}

.intl-destination-name {
    font-size: clamp(18px, 2vw, 20px);
    font-weight: 400;
    color: #000000;
    margin: 0;
}

/* Navigation Dots */
.intl-destinations-navigation {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.intl-nav-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #d1d5db;
    cursor: pointer;
    transition: all 0.3s ease;
}

.intl-nav-dot.active {
    background-color: #000000;
    transform: scale(1.2);
}

.intl-nav-dot:hover {
    background-color: #666666;
}

/* MOBILE-FIRST RESPONSIVE DESIGN FOR DESTINATIONS SECTION */

/* Base Mobile Styles (320px+) */
.intl-destinations-section {
    padding: clamp(40px, 8vw, 60px) 0;
}

.intl-destinations-container {
    padding: 0 clamp(15px, 4vw, 15px);
}

.intl-destinations-hero {
    grid-template-columns: 1fr;
    gap: clamp(25px, 6vw, 35px);
    text-align: center;
    margin-bottom: clamp(40px, 8vw, 60px);
}

.intl-destinations-hero-left {
    padding: clamp(20px, 5vw, 30px) clamp(0px, 5vw, 0px) clamp(12px, 3vw, 18px) clamp(0px, 3vw, 0px);
    order: 1;
}

.intl-destinations-hero-right {
    padding: 0;
    order: 2;
}

.intl-destinations-image-wrapper {
    aspect-ratio: 4/3;
}

.intl-destinations-ring-overlay {
    display: none;
}



.intl-destinations-description {
    font-size: clamp(13px, 3.5vw, 16px);
    margin-bottom: clamp(10px, 3vw, 25px);
    padding-bottom: 20px;
}

.intl-destinations-btn {
    padding: clamp(10px, 2.5vw, 12px) clamp(20px, 4vw, 30px);
    font-size: clamp(12px, 3vw, 15px);
    border-radius: 25px;
}
.intl-destinations-hero{
    margin-bottom: 0px;
}

/* Destination Slider */
.intl-destinations-slider-container {
    margin-bottom: clamp(25px, 5vw, 35px);
    position: relative;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 clamp(0px, 4vw, 0px);
    margin-top: 45px ;
}

.intl-destinations-swiper {
    overflow: hidden;
    padding: 10px 0;
    width: 100%;
    --swiper-theme-color: #000000;
    margin-top: 10px;
}

/* Destinations Infinite Loop Slider - Like Partner Logos */
.intl-destinations-swiper.destinations-infinite-enabled {
    overflow: hidden;
    position: relative;
}

.intl-destinations-swiper.destinations-infinite-enabled .swiper-wrapper {
    display: flex;
    overflow: hidden;
    width: 100%;
}

.destinations-infinite-track {
    display: flex;
    gap: 20px;
    width: auto;
    transition: transform 0.6s ease-in-out;
    transform: translateX(0);
}

.intl-destinations-swiper.destinations-infinite-enabled .swiper-slide {
    flex: 0 0 auto;
    width: calc((100% - 60px) / 4); /* 4 slides: slightly reduced to ensure 4 full images fit */
    display: flex;
}

@media (max-width: 480px) {

  
    .intl-destinations-title {
        font-size: 26px!important;
    }
}

@keyframes destinations-slide-infinite {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Mobile Responsive for Destinations Slide-by-Slide */
@media (max-width: 1200px) {
    .intl-destinations-swiper.destinations-infinite-enabled .swiper-slide {
        width: calc((100% - 40px) / 3); /* 3 slides: (100% - 2 gaps of 20px) / 3 */
    }
}

@media (max-width: 992px) {
    .intl-destinations-swiper.destinations-infinite-enabled .swiper-slide {
        width: calc((100% - 20px) / 2); /* 2 slides: (100% - 1 gap of 20px) / 2 */
    }
    .destinations-infinite-track {
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .intl-destinations-swiper.destinations-infinite-enabled .swiper-slide {
        width: calc((100% - 15px) / 2); /* 2 slides: (100% - 1 gap of 15px) / 2 */
    }
    .destinations-infinite-track {
        gap: 15px;
    }
    .intl-destinations-title {
        font-size: 32px!important;
    }
}

@media (max-width: 480px) {
    .intl-destinations-swiper.destinations-infinite-enabled .swiper-slide {
        width: calc(100% - 3px); /* 1 slide visible on very small mobile */
    }
    .destinations-infinite-track {
        gap: 8px;
    }
    .intl-destinations-title {
        font-size: 26px!important;
        margin-bottom: clamp(15px, 3vw, 20px);
    }
}

.intl-destinations-swiper .swiper-wrapper {
    align-items: stretch;
    transition-timing-function: ease-in-out;
    padding-top: 10px;
}

.intl-destinations-swiper .swiper-slide {
    height: auto;
    display: flex;
    flex-shrink: 0;
    transform-origin: center;
    transition: transform 0.3s ease;
}

.intl-destinations-swiper .swiper-slide-duplicate {
    pointer-events: none;
}

.intl-destination-img {
    height: clamp(160px, 22vw, 200px);
    border-radius: 10px;
    margin-bottom: clamp(10px, 2vw, 15px);
    position: relative;
}

/* Hover effect: Move card up slightly (Desktop only) */
@media (min-width: 1025px) {
    .intl-destination-card {
        transition: transform 0.3s ease;
    }

    .intl-destination-card:hover {
        transform: translateY(-10px);
    }
}

.intl-destination-name {
    font-size: clamp(15px, 4vw, 16px);
}

/* Swiper Pagination Styling */
.intl-destinations-pagination {
    position: static !important;
    display: flex !important;
    justify-content: center !important;
    gap: clamp(10px, 1.5vw, 10px);
    margin: 0;
}

.intl-destinations-pagination .swiper-pagination-bullet {
    width: clamp(8px, 2vw, 10px) !important;
    height: clamp(8px, 2vw, 10px) !important;
    border-radius: 50% !important;
    background-color: #d1d5db !important;
    opacity: 1 !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.intl-destinations-pagination .swiper-pagination-bullet-active {
    background-color: #000000 !important;
    transform: scale(1.2) !important;
}

.intl-destinations-pagination .swiper-pagination-bullet:hover {
    background-color: #666666 !important;
}

/* Navigation Container */
.intl-destinations-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1px;  /* Extremely close spacing */
    margin-top: clamp(20px, 4vw, 30px);
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Ensure slider container doesn't hide navigation */
.intl-destinations-slider-container {
    position: relative;
    overflow: visible;
}

/* Navigation Arrows - Clean Design */
.intl-destinations-prev,
.intl-destinations-next {
    width: 50px;
    height: 50px;
    background: none;  /* No background */
    border: none;      /* No border */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0.7;
}

.intl-destinations-prev:hover,
.intl-destinations-next:hover {
    opacity: 1;
    transform: scale(1.1);  /* Slight scale on hover */
}

.intl-destinations-prev::after {
    content: '\f060';
    font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free";
    font-weight: 300;
}

.intl-destinations-next::after {
    content: '\f061';
    font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free";
    font-weight: 300;
}

/* Ensure buttons are visible and functional */
.intl-destinations-prev:not(.swiper-button-disabled),
.intl-destinations-next:not(.swiper-button-disabled) {
    color: #000000;
    font-size: clamp(18px, 2.5vw, 24px);
}

.intl-destinations-prev.swiper-button-disabled,
.intl-destinations-next.swiper-button-disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

/* Additional Swiper overrides to ensure proper functioning */
.intl-destinations-swiper .swiper-wrapper {
    align-items: stretch;
    transition-timing-function: ease-in-out;
}

.intl-destinations-swiper .swiper-slide {
    height: auto;
    display: flex;
    flex-shrink: 0;
    transform-origin: center;
    transition: transform 0.3s ease;
}



@media (max-width: 768px) {
    .intl-destinations-navigation {
        gap: 15px;  /* Extremely close on mobile */
        margin-top: clamp(15px, 3vw, 25px);
    }
    
    .intl-destinations-prev,
    .intl-destinations-next {
        width: 25px;  /* Smaller on mobile */
        height: 25px;
    }
    
    .intl-destinations-prev::after,
    .intl-destinations-next::after {
        font-size: 18px;  /* Smaller arrows on mobile */
    }
}

/* Large Mobile (480px+) */
@media (max-width: 480px) {
    .intl-destinations-title {
        font-size: 26px;
    }
    
    .intl-destination-img {
        height: clamp(180px, 20vw, 220px);
    }    
}

/* Tablet Portrait (768px+) */
@media (max-width: 768px) {
    .intl-destinations-section {
        padding: clamp(0px, 8vw, 0px) 0;
    }
    
    .intl-destinations-container {
        padding: 0 clamp(15px, 2-column, 40px);
    }
    
    .intl-destinations-hero {
        gap: clamp(10px, 2vw, 50px);
        margin-bottom: clamp(0px, 8vw, 0px);
    }
    
    .intl-destinations-hero-left {
        padding: clamp(30px, 5vw, 40px) clamp(0px, 5vw, 0px) clamp(18px, 3vw, 25px) clamp(0px, 3vw, 0px);
    }
    
    .intl-destinations-pagination .swiper-pagination-bullet {
        width: 6px !important;
        height: 6px !important;
    }
    
    .intl-destination-img {
        height: clamp(250px, 20vw, 200px);
    }
    
    .intl-nav-dot {
        width: 6px;
        height: 6px;
    }
}

/* Desktop (992px+) */
@media (min-width: 992px) {
    .intl-destinations-hero {
        grid-template-columns: 1fr 1fr;
        text-align: left;
    }
    
    .intl-destinations-hero-right {
        padding-left: clamp(20px, 3vw, 0px);
    }
    
    .intl-destinations-ring-overlay {
        display: block;
        top: -15.5%;
        right: -11.5%;
        width: clamp(100px, 15vw, 250px);
    }
    
    
    /* Swiper settings handled in JavaScript */
}

/* Large Desktop (1200px+) */
@media (min-width: 1200px) {
    .intl-destinations-container {
        padding: 1px clamp(20px, 2vw, 15px);
    }
    
    
    .intl-destinations-hero {
        gap: clamp(60px, 6vw, 80px);
    }
    
    .intl-destinations-grid {
        gap: clamp(30px, 3vw, 40px);
    }
}

/* Extra Large Desktop (1440px+) */
@media (min-width: 1440px) {
    .intl-destinations-container {
        padding: 0 20px;
    }
    
    .intl-destinations-hero {
        gap: 40px;
    }
    
    .intl-destinations-grid {
        gap: 40px;
    }
}


/* ===== FORCE SCROLLED NAVBAR STYLE ON INTERNATIONAL NAV PAGES ===== */
/* This makes navbar always appear as "scrolled" style on nav link pages */

/* Apply to all international pages except home page */
body.intl-theme-body:not([data-page="home"]) .navbar,
body.intl-theme-body .navbar.force-scrolled {
    background-color: #ffffff ;
    border-bottom: none !important;
    backdrop-filter: none !important;
}

body.intl-theme-body:not([data-page="home"]) .navbar .nav-logo,
body.intl-theme-body .navbar.force-scrolled .nav-logo {
    color: #0d2b8c !important;
}

body.intl-theme-body:not([data-page="home"]) .navbar .nav-menu .nav-link,
body.intl-theme-body .navbar.force-scrolled .nav-menu .nav-link {
    color: #0d2b8c;
}

body.intl-theme-body:not([data-page="home"]) .navbar .nav-menu .nav-link:hover:not(.nav-btn),
body.intl-theme-body .navbar.force-scrolled .nav-menu .nav-link:hover:not(.nav-btn) {
    color: #0084ff !important;
}

body.intl-theme-body:not([data-page="home"]) .navbar .nav-menu .nav-link.active,
body.intl-theme-body .navbar.force-scrolled .nav-menu .nav-link.active {
    color: #000 !important;
}

body.intl-theme-body:not([data-page="home"]) .navbar .nav-btn,
body.intl-theme-body .navbar.force-scrolled .nav-btn {
    background-color: transparent !important;
    color: #0d2b8c ;
    border-color: #0d2b8c ;
}

body.intl-theme-body:not([data-page="home"]) .navbar .nav-right:not(.mobile-active) .nav-btn:hover,
body.intl-theme-body .navbar.force-scrolled .nav-right:not(.mobile-active) .nav-btn:hover {
    background-color: #0d2b8c !important;
    color: white !important;
    border-color: #0d2b8c !important;
}

body.intl-theme-body:not([data-page="home"]) .navbar .mobile-menu-toggle,
body.intl-theme-body .navbar.force-scrolled .mobile-menu-toggle {
    color: #0d2b8c !important;
}

body.intl-theme-body:not([data-page="home"]) .navbar .mobile-menu-toggle span,
body.intl-theme-body .navbar.force-scrolled .mobile-menu-toggle span {
    background-color: #0d2b8c !important;
}

/* MOBILE MENU FIX FOR INTERNATIONAL PAGES - DESKTOP HIDDEN, MOBILE VISIBLE */
@media (min-width: 1025px) {
    .intl-theme-body .mobile-menu-toggle,
    [data-page="home"] .mobile-menu-toggle {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .intl-theme-body .mobile-menu-toggle,
    [data-page="home"] .mobile-menu-toggle {
        display: flex !important;
        padding: 0px !important;
        min-width: 35px !important;
        min-height: 35px !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 9999 !important;
        position: relative !important;
        cursor: pointer !important;
    }
}

.intl-theme-body .mobile-menu-toggle span,
[data-page="home"] .mobile-menu-toggle span {
    pointer-events: auto !important;
}

/* International home specific colors */
[data-page="home"] .mobile-menu-toggle span {
    background-color: white !important;
}

[data-page="home"] .navbar.scrolled .mobile-menu-toggle span {
    background-color: #0d2b8c !important;
}

/* INTERNATIONAL HOME PAGE MOBILE MENU STYLES - FIXED FOR NESTED BODY STRUCTURE */
.intl-theme-body[data-page="home"] .mobile-menu-toggle,
body.intl-theme-body[data-page="home"] .mobile-menu-toggle {
    color: white !important;
}

.intl-theme-body[data-page="home"] .mobile-menu-toggle span,
body.intl-theme-body[data-page="home"] .mobile-menu-toggle span {
    background-color: white !important;
}

.intl-theme-body[data-page="home"] .navbar.scrolled .mobile-menu-toggle,
body.intl-theme-body[data-page="home"] .navbar.scrolled .mobile-menu-toggle {
    color: #0d2b8c !important;
}

.intl-theme-body[data-page="home"] .navbar.scrolled .mobile-menu-toggle span,
body.intl-theme-body[data-page="home"] .navbar.scrolled .mobile-menu-toggle span {
    background-color: #0d2b8c !important;
}


/* ===== INTERNATIONAL DESTINATIONS SHOWCASE STYLES ===== */
.intl-destinations-showcase-section {
    background-color: #ffffff;
    padding: 50px 0;
    position: relative;
}

.intl-destinations-showcase-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 15px;
    position: relative;
}

/* Section Header */
.intl-destinations-showcase-header {
    text-align: center;
    margin-bottom: 60px;
}

.intl-destinations-showcase-title {
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 400;
    color: #000000;
    margin-bottom: 16px;
    line-height: 1.2;
}

.intl-destinations-showcase-subtitle {
    font-size: clamp(16px, 1.4vw, 18px);
    color: #000000;
    max-width: 900px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Destinations Grid */
.intl-destinations-showcase-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 80px;
    margin-bottom: 50px;
}

/* Destination Card */
.intl-destination-showcase-card {
    background: transparent;
    transition: all 0.3s ease;
    cursor: pointer;
}

.intl-destination-showcase-card:hover {
    transform: translateY(-3px);
}

.intl-destination-showcase-image {
    width: 100%;
    height: 300px;
    overflow: hidden;
    border-radius: 12px;
    margin-bottom: 12px;
}

.intl-destination-showcase-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.intl-destination-showcase-card:hover .intl-destination-showcase-img {
    transform: scale(1.05);
}

.intl-destination-showcase-content {
    padding: 0;
    background: transparent;
}

/* Clickable image link */
.intl-destination-showcase-image-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.intl-destination-showcase-image-link:hover {
    text-decoration: none;
    color: inherit;
}

/* Clickable name link */
.intl-destination-showcase-name-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.intl-destination-showcase-name-link:hover {
    text-decoration: none;
    color: inherit;
}

.intl-destination-showcase-name {
    font-size: 16px;
    font-weight: 400;
    color: #000000;
    margin-bottom: 0px;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.intl-destination-showcase-name-link:hover .intl-destination-showcase-name {
    color: #666666;
}

.intl-destination-showcase-link {
    color: #666666;
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all 0.3s ease;
}

.intl-destination-showcase-link:hover {
    color: #000000;
    text-decoration: none;
}

.intl-destination-showcase-link i {
    font-size: 10px;
    transition: transform 0.3s ease;
}

.intl-destination-showcase-link:hover i {
    transform: translateX(2px);
}

/* View More Button */
.intl-destinations-showcase-cta {
    text-align: center;
    margin-top: 40px;
}

.intl-destinations-showcase-btn {
    background: transparent;
    border: 2px solid #000000;
    border-radius: 50px;
    padding: 16px 40px;
    font-size: 16px;
    font-weight: 600;
    color: #000000;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    font-family: "Poppins", sans-serif;
}

.intl-destinations-showcase-btn:hover {
    background: #000000;
    color: #ffffff;
    text-decoration: none;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .intl-destinations-showcase-container {
        padding: 0 30px;
    }
    
    .intl-destinations-showcase-grid {
        gap: 25px;
    }
    
    .intl-destination-showcase-image {
        height: 180px;
    }
}

@media (max-width: 768px) {
    .intl-destinations-showcase-section {
        padding: 40px 0;
    }
    
    .intl-destinations-showcase-container {
        padding: 0 15px;
    }
    
    .intl-destinations-showcase-header {
        margin-bottom: 40px;
    }
    
    .intl-destinations-showcase-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        margin-bottom: 40px;
    }
    
    .intl-destination-showcase-image {
        height: 160px;
    }
    
    .intl-destination-showcase-content {
        padding: 0px 0 10px;
    }
}

@media (max-width: 480px) {
    .intl-destinations-showcase-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .intl-destination-showcase-image {
        height: 200px;
    }
    
    .intl-destinations-showcase-btn {
        padding: 14px 30px;
        font-size: 14px;
    }
}


/* ===== INTERNATIONAL MOMENTS GALLERY STYLES ===== */
.intl-moments-gallery-section {
    background-color: #ffffff;
    padding: 50px 0;
    position: relative;
}

.intl-moments-gallery-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
}

/* Section Header */
.intl-moments-gallery-header {
    text-align: center;
    margin-bottom: 60px;
}

.intl-moments-gallery-title {
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 400;
    color: #000000;
    line-height: 1.2;
}

/* Moments Gallery Grid */
.intl-moments-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 250px;
    gap: 15px;
    margin-bottom: 50px;
}

/* Gallery Item Sizes */
.intl-moment-gallery-item {
    overflow: hidden;
    border-radius: 12px;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.intl-moment-gallery-item:hover {
    transform: scale(1.02);
}

/* Large item - spans 2 columns, 2 rows */
.intl-moment-large {
    grid-column: span 2;
    grid-row: span 2;
}

/* Medium item - spans 1 column, 2 rows */
.intl-moment-medium {
    grid-column: span 1;
    grid-row: span 2;
}

/* Small item - spans 1 column, 1 row */
.intl-moment-small {
    grid-column: span 1;
    grid-row: span 1;
}

/* Gallery Images */
.intl-moment-gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.intl-moment-gallery-item:hover .intl-moment-gallery-img {
    transform: scale(1.05);
}

/* View More Link */
.intl-moments-gallery-footer {
    text-align: center;
    margin-top: 40px;
}

.intl-moments-gallery-more {
    color: #666666;
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.intl-moments-gallery-more:hover {
    color: #000000;
    text-decoration: none;
}

.intl-moments-gallery-more i {
    font-size: 12px;
    transition: transform 0.3s ease;
}

.intl-moments-gallery-more:hover i {
    transform: translateY(2px);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .intl-moments-gallery-container {
        padding: 0 30px;
    }
    
    .intl-moments-gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 180px;
        gap: 12px;
    }
}

@media (max-width: 768px) {
    .intl-moments-gallery-section {
        padding: 30px 0;
    }
    
    .intl-moments-gallery-container {
        padding: 0 20px;
    }
    
    .intl-moments-gallery-header {
        margin-bottom: 40px;
    }
    
    .intl-moments-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 160px;
        gap: 10px;
        margin-bottom: 40px;
    }
    
    /* Adjust sizes for mobile */
    .intl-moment-large {
        grid-column: span 2;
        grid-row: span 2;
    }
    
    .intl-moment-medium {
        grid-column: span 1;
        grid-row: span 2;
    }
}

@media (max-width: 480px) {
    .intl-moments-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 140px;
        gap: 8px;
    }
    
    /* Simplify layout for very small screens */
    .intl-moment-large,
    .intl-moment-medium {
        grid-column: span 1;
        grid-row: span 1;
    }
}

.intl-moments-gallery-subtitle {
    font-size: clamp(16px, 1.4vw, 18px);
    color: #000000;
    max-width: 900px;
    margin: 16px auto 0 auto;
    line-height: 1.6;
    text-align: center;
}


/* ===== STRONGER INTERNATIONAL FOOTER LOGO OVERRIDE ===== */
/* Remove white filter from footer logo on ALL international pages */
.intl-theme-body .fce-footer .logo-img,
.intl-theme-body .footer-brand .logo-img,
body.intl-theme-body footer .logo-img {
    filter: none !important;
    -webkit-filter: none !important;
}


/* ===== INTERNATIONAL BREADCRUMB OVERRIDE - WHITE BACKGROUND, BLACK TEXT ===== */
/* Safe override only for international pages */
.intl-theme-body .bc-wrap {
    background: #ffffff !important;
}

.intl-theme-body .bc-list {
    color: #000000 !important;
}

.intl-theme-body .bc-link {
    color: #000000 !important;
}

/* International: non-clickable breadcrumb text */
.intl-theme-body .bc-text {
    color: #000000 !important;
    font-weight: 700;
    cursor: default;
    opacity: 0.9;
}

.intl-theme-body .bc-current span {
    color: #000000 !important;
}

.intl-theme-body .bc-item + .bc-item::before {
    color: #000000 !important;
}

.intl-theme-body .bc-home {
    color: #000000 !important;
}

@media (max-width: 480px) {
.bc-list{
font-size: 14px;
}
.bc-current span{
font-size: 14px;
}

}

/*   CF7  */

/* Scope to the section so we don't affect other forms */
.event-planner-section .wpcf7 form { width: 100%; }

/* CF7 wraps fields in a span; ensure full width */
.event-planner-section .form-group > .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* Normalize CF7 defaults to your design */
.event-planner-section .wpcf7 .wpcf7-form-control.form-input,
.event-planner-section .wpcf7 .wpcf7-form-control.form-textarea,
.event-planner-section .wpcf7 .wpcf7-form-control.form-select,
.event-planner-section .wpcf7 input.form-input,
.event-planner-section .wpcf7 textarea.form-textarea
 {
  background: #3a3a3a !important;
  /* border: none !important; */
  border-radius: 10px !important;
  padding: 18px 20px !important;
  font-size: 15px !important;
  color: var(--text-white) !important;
  font-family: inherit !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
  line-height: 1.4 !important;
  display: block;
}
.event-planner-section .wpcf7 select.form-select,
.event-planner-section .wpcf7 .wpcf7-form-control.form-select
{
    background: #3a3a3a !important;
  border: 1px solid !important;
  border-radius: 10px !important;
  padding: 8.5px 20px !important;
  font-size: 15px !important;
  color: var(--text-white) !important;
  font-family: inherit !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
  line-height: 1.4 !important;
  display: block; 
}


/* Placeholders */
.event-planner-section .wpcf7 input::placeholder,
.event-planner-section .wpcf7 textarea::placeholder {
  color: #888888 !important;
  font-size: 15px !important;
}

/* Focus */
.event-planner-section .wpcf7 input.form-input:focus,
.event-planner-section .wpcf7 textarea.form-textarea:focus,
.event-planner-section .wpcf7 select.form-select:focus {
  outline: none !important;
  background: #444444 !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,0.1) !important;
}

/* Select wrapper + arrow */
.event-planner-section .select-wrapper { position: relative; display: flex; align-items: center; }
.event-planner-section .select-wrapper .select-arrow {
  position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
  color: #888888; pointer-events: none; font-size: 12px;
}

/* Grid rows still respected inside CF7 */
.event-planner-section .wpcf7 .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.event-planner-section .wpcf7 .form-group.full-width { grid-column: 1 / -1; }

/* Labels */
.event-planner-section .wpcf7 .form-label {
  font-size: 16px; font-weight: 500; color: var(--text-white); margin-bottom: 12px;
  display: flex; align-items: center; gap: 5px;
}
.event-planner-section .wpcf7 .required { color: #ff6b6b; }

/* Submit button */
.event-planner-section .wpcf7 .wpcf7-submit.btn-outline.submit-btn {
  padding: 10px 35px; font-size: 16px; font-weight: 500; min-width: 150px;
}

/* Validation look (remove yellow backgrounds etc.) */
.event-planner-section .wpcf7 .wpcf7-not-valid {
  background: #3a3a3a !important;
  box-shadow: 0 0 0 2px rgba(255,107,107,0.25) !important;
}
.event-planner-section .wpcf7 .wpcf7-not-valid-tip {
  color: #ff6b6b; font-size: 13px; margin-top: 8px;
}

/* Response message */
.event-planner-section .wpcf7 form .wpcf7-response-output {
  border-radius: 10px;
  padding: 14px 16px;
  color: var(--text-white);
  background-color: transparent;
  max-width: 900px;
  margin: 0 auto;
  align-content: center;
}

/* Mobile stacking */
@media (max-width: 767px) {
  .event-planner-section .wpcf7 .form-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
/* ===== PATCH: make submit + select match the design exactly ===== */

/* Submit button — force your outline pill look */
.event-planner-section .wpcf7 input[type="submit"].submit-btn,
.event-planner-section .wpcf7 .wpcf7-submit.submit-btn {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  border-radius: 30px !important;
  padding: 10px 35px !important;
  min-width: 150px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-transform: none !important;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.event-planner-section .wpcf7 input[type="submit"].submit-btn:hover,
.event-planner-section .wpcf7 .wpcf7-submit.submit-btn:hover {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}

/* In case the theme styles .btn-outline globally, neutralize just what we need */
.event-planner-section .wpcf7 .btn-outline {
  background: transparent !important;
  border: 2px solid #fff !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Select — ensure appearance + arrow + height are right */
.event-planner-section .wpcf7 select.form-select {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #3a3a3a !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 18px 50px 18px 20px !important; /* room for arrow */
  color: var(--text-white, #fff) !important;
  line-height: 1.4 !important;
  height: auto !important;
}
.event-planner-section .select-wrapper { position: relative; }
.event-planner-section .select-wrapper .select-arrow {
  position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
  color: #888; pointer-events: none; font-size: 12px;
}

/* CF7 wrappers — remove stray lines/margins */
.event-planner-section .wpcf7 form p { margin: 0 !important; border: 0 !important; }

/* Chrome autofill (kills yellow) */
.event-planner-section input.form-input:-webkit-autofill,
.event-planner-section input.form-input:-webkit-autofill:hover,
.event-planner-section input.form-input:-webkit-autofill:focus,
.event-planner-section textarea.form-textarea:-webkit-autofill,
.event-planner-section select.form-select:-webkit-autofill {
  -webkit-text-fill-color: var(--text-white, #fff) !important;
  box-shadow: 0 0 0 1000px #3a3a3a inset !important;
  transition: background-color 9999s ease-out 0s;
}

/* Fallbacks in case CSS vars aren’t set on this page */
.event-planner-section { background-color: var(--primary-bg, #0e0e0e); }
.event-planner-section .event-planner-title,
.event-planner-section .form-label,
.event-planner-section .form-input,
.event-planner-section .form-textarea,
.event-planner-section .form-select { color: var(--text-white, #fff); }
.event-planner-section .event-planner-subtitle { color: var(--text-gray, #bdbdbd); }

/* --- Fix: Submit should be a centered pill, not full-width --- */
.event-planner-section .wpcf7 input[type="submit"].submit-btn,
.event-planner-section .wpcf7 .wpcf7-submit.submit-btn {
  position: relative !important;         /* needed for spinner positioning */
  display: inline-flex !important;       /* break out of block */
  width: auto !important;                /* cancel 100% width */
  align-items: center;
  justify-content: center;
  background: transparent !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  border-radius: 30px !important;
  padding: 16px 70px !important;
  min-width: 150px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-transform: none !important;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.event-planner-section .wpcf7 input[type="submit"].submit-btn:hover,
.event-planner-section .wpcf7 .wpcf7-submit.submit-btn:hover {
  background: #fff !important;
  color: #000 !important;
}

/* Neutralize any aggressive theme rules on .btn-outline just inside this section */
.event-planner-section .wpcf7 .btn-outline {
  width: auto !important;
  display: inline-flex !important;
  background: transparent !important;
  border: 2px solid #fff !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* ========== EVENT PLANNER FORM STYLES (Moved from Customizer) ========== */

/* Ensure the wrapper centers children and positions spinner */
.event-planner-section .wpcf7 .form-submit {
  text-align: center !important;
  position: relative !important;
}

/* Hit the actual CF7 controls inside section */
.event-planner-section .wpcf7 .wpcf7-form-control {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  box-sizing: border-box !important;
  background: #fff !important;
}

/* Two-column grid layout */
.event-planner-section .wpcf7 .form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}
.event-planner-section .wpcf7 .form-group.full-width {
  grid-column: 1 / -1 !important;
}

/* Label styling */
.event-planner-section .wpcf7 .form-label {
  display: inline-block !important;
  margin-bottom: 8px !important;
  font-weight: 600 !important;
}

/* CF7 wrapper span behaves as block */
.event-planner-section .wpcf7 .form-group > .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}

/* Custom select arrow */
.event-planner-section .wpcf7 .select-wrapper {
  position: relative !important;
}
.event-planner-section .wpcf7 .select-wrapper select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  padding-right: 40px !important;
}
.event-planner-section .wpcf7 .select-wrapper .select-arrow {
  position: absolute !important;
  right: 14px !important;
  top: 42% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

/* Button styling - REMOVED DUPLICATE, using styles from line 9901 instead */

/* Validation and messages */
.event-planner-section .wpcf7 .wpcf7-not-valid:not(.wpcf7-submit) {
  border: 2px solid #e63946 !important;
}
.event-planner-section .wpcf7 .wpcf7-not-valid-tip {
  font-size: 12px !important;
  margin-top: 6px !important;
  color: #e63946 !important;
}
.event-planner-section .wpcf7 .wpcf7-response-output {
  margin-top: 14px !important;
  border-radius: 6px !important;
  padding: 10px !important;
}

/* International Wedding Planner - Add transparent border for validation (exclude submit button) */
.intl-wedding-planner-section .wpcf7 .wpcf7-form-control:not(.wpcf7-submit) {
  border: 1px solid transparent !important;
}

/* International Wedding Planner - Validation and messages */
.intl-wedding-planner-section .wpcf7 .wpcf7-not-valid:not(.wpcf7-submit) {
  border: 2px solid #e63946 !important;
}
.intl-wedding-planner-section .wpcf7 .wpcf7-not-valid-tip {
  font-size: 12px !important;
  margin-top: 6px !important;
  color: #e63946 !important;
}
.intl-wedding-planner-section .wpcf7 .wpcf7-response-output {
  margin-top: 14px !important;
  border-radius: 6px !important;
  padding: 10px !important;
}

/* SPINNER - CF7 renders spinner as sibling after button, position it to look inside button */
.event-planner-section .wpcf7 .form-submit .wpcf7-spinner {
  position: absolute !important;
  left: 50% !important;
  margin-left: 55px !important; /* Adjust to position inside button on right */
  top: 60% !important;
  margin-top: -10px !important; /* Half of spinner height (20px / 2) for perfect vertical center */
  width: 20px !important;
  height: 20px !important;
  border: 3px solid rgba(255, 255, 255, 0.3) !important;
  border-top-color: #fff !important;
  border-radius: 50% !important;
  margin-bottom: 0 !important;
  margin-right: 0 !important;
  float: none !important;
  z-index: 999 !important;
  display: none !important;
  visibility: hidden !important;
}

/* Keyframe animation for spinner rotation */
@keyframes wpcf7-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Show spinner and activate animation when form is submitting */
.event-planner-section .wpcf7 form.submitting .form-submit .wpcf7-spinner {
  display: block !important;
  visibility: visible !important;
  animation: wpcf7-spin 0.8s linear infinite !important;
  border-color: rgba(0, 0, 0, 0.3) !important; /* Dark spinner for white button background */
  border-top-color: #000 !important; /* Black top for visibility on white */
}

/* Button state when submitting - keep white background so black spinner is visible */
.event-planner-section .wpcf7 form.submitting .submit-btn,
.event-planner-section .wpcf7 form.submitting .submit-btn.btn-outline {
  background: #fff !important;
  color: #000 !important;
  opacity: 0.9 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .event-planner-section .wpcf7 .form-row {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* --- Fix: stray thin lines from wrappers/HR/borders --- */
.event-planner-section .wpcf7 form p { 
  margin: 0 !important; 
  border: 0 !important; 
}
.event-planner-section hr { 
  display: none; 
}


/* simplest: inside the Event Planner section */
/* Hide the CF7 hidden fields wrapper (correct class + high specificity) */
.event-planner-section .wpcf7 form fieldset.hidden-fields-container {
  position: absolute !important;
  left: -9999px !important;     /* move off-screen (better than display:none for honeypots) */
  top: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  pointer-events: none !important;

  /* kill the thin lines */
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;

  /* extra hiding for some screen readers/UA quirks */
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  opacity: 0 !important;
}
/* Hide CF7's screen-reader helper (keep accessible for AT) */
.event-planner-section .wpcf7 .screen-reader-response {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* If theme injects decorative lines */
.event-planner-section .wpcf7 .screen-reader-response::before,
.event-planner-section .wpcf7 .screen-reader-response::after {
  content: none !important;
}



/* Remove status-specific colors (handled by main style.css) */
.event-planner-section .wpcf7-response-output {
    max-width: 900px;
    margin: 1em auto !important;
    border-radius: 4px !important;
    text-align: center !important;
}


.intl-select-wrapper {
  position: relative;
}

.intl-select-wrapper .intl-form-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 2.5rem; /* space for the arrow */
}

.intl-select-wrapper .select-arrow {
  position: absolute;
  right: 17px;
  top: 43%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 0.9rem;
  color: #666;
}



/* Blog section in mobile screens */

/* === MOBILE BLOG CAROUSEL (<=600px) === */
@media (max-width: 600px) {
  .blog-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
  }

  .blog-grid {
    display: flex !important;
    gap: 0px !important;
  }

  .blog-card {
    /* flex: 0 0 85%; */
    max-width: 100%;
    margin: 0 auto;
  }



}

/* WhatsApp Floating Button */
.whatsapp-float {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 50px;
  height: 50px;
  background-color: #25D366;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.whatsapp-float:hover {
  transform: scale(1.1);
}

.whatsapp-float i {
  font-size: 28px;
  font-weight: 500;
  color: #ffffff; /* WhatsApp green */
}

/* ✅ Responsive Adjustments */
@media (max-width: 768px) {
  .whatsapp-float {
    width: 45px;
    height: 45px;
    bottom: 20px;
    right: 20px;
  }

  .whatsapp-float i {
    font-size: 32px;
  }
}

@media (max-width: 480px) {
  .whatsapp-float {
    width: 40px;
    height: 40px;
    bottom: 15px;
    right: 15px;
  }

  .whatsapp-float i {
    font-size: 25px;
  }
}



