 /* VARIABLES */
 :root {
     --split-gold: #D4AF37;
     --split-white: #ffffff;
     --split-black: #000000;
     --font-heading: 'Playfair Display', serif;
     --font-body: 'Work Sans', sans-serif;
 }

 /* MAIN CONTAINER */
 .express-split {
     position: relative;
     display: flex;
     height: 80vh;
     /* Fixed Height */
     width: 100%;
     overflow: hidden;
     font-family: var(--font-body);
     background: #000;
     padding: 0px;
 }

 h2 {
     font-size: 30px;
     font-weight: 400;
 }

 /* --- 1. SHARED BACKGROUND (CONTINUOUS ZOOM) --- */
 #select{
    background-color: #000;
 }
 .split-bg {
     position: absolute;
     inset: 0;
     z-index: 0;
 }

 .split-bg img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     animation: continuousZoom 25s infinite alternate ease-in-out;
 }

 .split-overlay {
     position: absolute;
     inset: 0;
     background: rgba(0, 0, 0, 0.6);
     z-index: 1;
 }

 /* --- 2. INTRO TEXT LAYER --- */
 .intro-text-wrapper {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     z-index: 10;
     text-align: center;
     width: 100%;
     pointer-events: none;
     animation: textSequence 3s forwards;
 }

 .intro-title {
     font-family: var(--font-heading);
     font-size: 80px;
     color: var(--split-white);
     margin: 0;
     line-height: 1.1;
 }

 .intro-title span {
     color: var(--split-gold);
     font-style: italic;
 }

 .intro-sub {
     font-size: 16px;
     color: #ccc;
     letter-spacing: 4px;
     text-transform: uppercase;
     margin-top: 20px;
 }

 /* --- 3. MAIN CONTENT LAYER --- */
 .split-content-layer {
     position: relative;
     z-index: 5;
     width: 100%;
     height: 100%;
     display: flex;
     opacity: 0;
     animation: contentReveal 1.5s ease-out forwards 3.5s;
 }

 /* --- LEFT COLUMN --- */
 .split-col-left {
     flex: 1;
     background: rgba(0, 0, 0, 0.95);
     color: var(--split-white);
     padding: 0 80px;
     /* Removed top/bottom padding to use flex centering */

     /* FLEXBOX CENTER VERTICAL, LEFT HORIZONTAL */
     display: flex;
     flex-direction: column;
     justify-content: center;
     /* Vertically Center */
     align-items: flex-start;
     /* Left Align */
     gap: 60px;
     /* Space between Text and Socials */
     border-right: 1px solid rgba(255, 255, 255, 0.1);
     transform: translateX(-50px);
     animation: slideReset 1s forwards 3.5s;
 }

 /* Left Content Wrapper */
 .left-content-wrap {
     display: flex;
     flex-direction: column;
     gap: 40px;
     width: 100%;
 }

 .split-heading {
     font-family: var(--font-heading);
     font-size: 50px;
     line-height: 1;
     font-weight: 600;
     margin: 0;
     text-align: left;
 }

 .split-heading .thin-text {
     font-weight: 300;
     color: #ddd;
 }

 .split-links {
     display: flex;
     flex-direction: column;
     gap: 20px;
     align-items: flex-start;
     /* Ensure links align left */
 }

 .split-links a {
     color: var(--split-white);
     text-decoration: none;
     font-size: 13px;
     letter-spacing: 2px;
     text-transform: uppercase;
     display: flex;
     align-items: center;
     gap: 15px;
     transition: 0.3s;
 }

 .split-links a:hover {
     color: var(--split-gold);
 }

 .split-socials {
     display: flex;
     gap: 20px;
     justify-content: flex-start;
     /* Left align socials */
 }

 .split-socials a {
     color: var(--split-white);
     width: 40px;
     height: 40px;
     border: 1px solid rgba(255, 255, 255, 0.4);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     text-decoration: none;
     transition: 0.3s;
 }

 .split-socials a:hover {
     background: var(--split-white);
     color: #000;
 }

 /* --- RIGHT COLUMN --- */
 .split-col-right {
     flex: 1.2;
     padding: 0 80px;
     background: rgba(0, 5, 5, 0.60);

     /* FLEXBOX CENTER VERTICAL, LEFT HORIZONTAL */
     display: flex;
     flex-direction: column;
     justify-content: center;
     /* Vertically Center */
     align-items: center;
     /* Left Align Container */
     transform: translateX(50px);
     animation: slideReset 1s forwards 3.5s;
 }

 /* Form Container */
 .split-form-container {
     width: 100%;
     max-width: 450px;
     margin: 0;
     /* Remove auto margins to keep left alignment */
 }

 .modern-form {
     display: flex;
     flex-direction: column;
     gap: 30px;
     width: 100%;
 }

 .form-group {
     position: relative;
     width: 100%;
 }

 .form-group input,
 .form-group select {
     width: 100%;
     background: transparent;
     border: none;
     border-bottom: 3px solid rgba(255, 255, 255, 0.5);
     padding: 10px 0;
     color: var(--split-white);
     font-size: 15px;
     font-family: var(--font-body);
     outline: none;
     transition: 0.3s;
     text-align: left;
 }

 .form-group input:focus {
     border-bottom-color: var(--split-gold);
 }

 .form-group label {
     position: absolute;
     left: 0;
     top: 10px;
     color: #aaa;
     font-size: 13px;
     pointer-events: none;
     transition: 0.3s;
 }

 .form-group input:focus~label,
 .form-group input:not(:placeholder-shown)~label {
     top: -15px;
     font-size: 10px;
     color: var(--split-gold);
 }

 .form-row {
     display: flex;
     gap: 20px;
     width: 100%;
 }

 .country-code-wrapper {
     width: 90px;
 }

 .mobile-wrapper {
     flex: 1;
 }

 .split-btn {
     padding: 18px;
     /* background-color: #000; */
     background: rgba(255, 255, 255, 0.1);
     border: 1px solid rgba(255, 255, 255, 0.4);
     color: var(--split-white);
     font-size: 12px;
     letter-spacing: 2px;
     font-weight: 600;
     cursor: pointer;
     transition: 0.3s;
     margin-top: 5px;
     text-align: center;
     /* Button text is usually centered */
 }

 .split-btn:hover {
     background: var(--split-white);
     color: #000;
 }

 /* --- ANIMATIONS --- */
 @keyframes continuousZoom {
     0% {
         transform: scale(1);
     }

     100% {
         transform: scale(1.2);
     }
 }

 @keyframes textSequence {
     0% {
         opacity: 0;
         transform: translate(-50%, -40%);
     }

     20% {
         opacity: 1;
         transform: translate(-50%, -50%);
     }

     80% {
         opacity: 1;
         transform: translate(-50%, -50%);
     }

     100% {
         opacity: 0;
         transform: translate(-50%, -60%);
         display: none;
     }
 }

 @keyframes contentReveal {
     0% {
         opacity: 0;
     }

     100% {
         opacity: 1;
     }
 }

 @keyframes slideReset {
     to {
         transform: translateX(0);
     }
 }

 /* --- RESPONSIVE --- */
 @media (max-width: 992px) {
     .express-split {
         height: auto;
         min-height: 100vh;
     }

     .split-content-layer {
         flex-direction: column;
     }

     .split-col-left {
         padding: 60px 30px;
         gap: 40px;
         border-right: none;
         border-bottom: 1px solid rgba(255, 255, 255, 0.1);
     }

     .split-col-right {
         padding: 60px 30px;
     }
 }

 /* ================================
   RESPONSIVE DESIGN – ALL DEVICES
================================ */

 /* --------- LARGE DESKTOP (1400px+) --------- */
 @media (min-width: 1400px) {

     .intro-title {
         font-size: 90px;
     }

     .split-heading {
         font-size: 55px;
     }
 }


 /* --------- DESKTOP (992px – 1399px) --------- */
 @media (max-width: 1399px) {

     .intro-title {
         font-size: 70px;
     }

     .split-heading {
         font-size: 45px;
     }
 }


 /* --------- TABLET (768px – 991px) --------- */
 @media (max-width: 991px) {


     .express-split {
         height: auto;
         min-height: 100vh;
     }

     .split-content-layer {
         flex-direction: column;
     }

     .intro-title {
         font-size: 50px;
     }

     .intro-sub {
         font-size: 14px;
         letter-spacing: 3px;
     }

     .split-col-left,
     .split-col-right {
         padding: 60px 40px;
         width: 100%;
         border: none;
     }

     .split-heading {
         font-size: 38px;
     }

     .split-links a {
         font-size: 12px;
     }

     .split-socials {
         margin-top: 20px;
     }

     .split-form-container {
         max-width: 100%;
     }
 }


 /* --------- MOBILE (576px – 767px) --------- */
 @media (max-width: 767px) {

     /* .split-bg{
    height: 50%;
   } */
     .intro-title {
         font-size: 36px;
         line-height: 1.2;
     }

     .intro-sub {
         font-size: 12px;
         letter-spacing: 2px;
     }

     .split-heading {
         font-size: 30px;
     }

     .split-links a {
         font-size: 11px;
     }

     .form-row {
         flex-direction: column;
         gap: 15px;
     }

     .country-code-wrapper {
         width: 100%;

     }

     .number-background select {
         background-color: #000;
     }

     .split-btn {
         padding: 15px;
         font-size: 11px;
     }
 }


 /* --------- SMALL MOBILE (Below 480px) --------- */
 @media (max-width: 480px) {


     .intro-title {
         font-size: 28px;
     }

     .split-heading {
         font-size: 36px;
     }

     .split-col-left,
     .split-col-right {
         padding: 80px 20px;
     }

     .split-socials a {
         width: 35px;
         height: 35px;
         font-size: 18px;
     }

     .form-group input,
     .form-group select {
         font-size: 16px;
     }

     .split-btn {
         font-size: 16px;
         letter-spacing: 1px;
     }

     .number-background select {
         background-color: #000;
     }
 }


 /* new 3 feild */
 /* ===== BOOKING FIELDS ===== */

 .booking-row {
     display: flex;
     gap: 20px;
     width: 100%;
 }

 /* Date & Time Styling */
 .form-group input[type="date"],
 .form-group input[type="time"] {
     color: #fff;
     background: transparent;
 }

 /* White calendar icon */
 .form-group input[type="date"]::-webkit-calendar-picker-indicator,
 .form-group input[type="time"]::-webkit-calendar-picker-indicator {
     filter: invert(1);
     cursor: pointer;
 }

 /* Floating label fix */
 .form-group input[type="date"]:focus~label,
 .form-group input[type="date"]:valid~label,
 .form-group input[type="time"]:focus~label,
 .form-group input[type="time"]:valid~label {
     top: -15px;
     font-size: 10px;
     color: var(--split-gold);
 }

 .form-group select:focus~label,
 .form-group select:valid~label {
     top: -15px;
     font-size: 10px;
     color: var(--split-gold);
 }

 /* Flatpickr Calendar Theme Custom */
 .flatpickr-calendar {
     background: #111;
     border: 1px solid #D4AF37;
 }

 .flatpickr-day.selected {
     background: #D4AF37;
     border-color: #D4AF37;
     color: #000;
 }

 .flatpickr-day:hover {
     background: rgba(212, 175, 55, 0.3);
 }

 /* Responsive */
 @media (max-width: 767px) {
     .booking-row {
         flex-direction: column;
         gap: 20px;
     }
 }
 /* new locationcode */
 .form-row {
    display: flex;
    gap: 20px;
}

.form-row .form-group {
    flex: 1;
}

@media (max-width: 768px) {
    .form-row {
        flex-direction: column;
        gap: 15px;
    }
}

/* Country dropdown style fix */
.country-code-wrapper select {
    width: 100%;
    height: 55px;
    border: none;
    background: transparent;
    font-size: 14px;
    outline: none;
}

/* Location row spacing */
.location-row {
    margin-top: 10px;
}

/* =======================================================
   FORM DROPDOWN FIX (Forces black text in options)
   ======================================================= */
.modern-form select option,
#split-country-select option,
select[name="meeting_time"] option,
select[name="country"] option {
    color: #000000 !important;
    background-color: #ffffff !important;
}


/* country select code mobile autoselect css */
/* Fix for the country code select appearance */
#split-country-select {
    cursor: pointer;
    appearance: none; /* Removes default arrow to keep it clean */
    -webkit-appearance: none;
    padding-left: 5px;
}

/* Ensure labels stay up if a value is auto-selected by JS */
.form-group select:not([value=""]):valid ~ label {
    top: -15px;
    font-size: 10px;
    color: var(--split-gold);
}