@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap');


:root {
    /* ECE VIP Brand Colors */
    --brand-primary: #1e3a5f;
    --brand-gold: #c5a059;
    --brand-gold-dark: #a98544;
    --brand-dark: #122238;
    --brand-light: #f9f6f0;

    /* Site Properties */
    --background-color: #fff;
    --main-color: #475e8a;
    --alternate-color: #f4e79c;
    --main-text-color: #2d3e5f;
    --soft-text-color: #6c757d;
    --column-gap: 10px;
    --main-gap: 20px;
    --section-gap: 60px;
    --main-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --box-shadow: 0 4px 20px rgba(71, 94, 138, 0.1);
    --box-shadow-hover: 0 8px 30px rgba(71, 94, 138, 0.15);
    --border-radius: 12px;
    --small-border-radius: 6px;
    --border-color: rgba(71, 94, 138, 0.15);
    --transparent-color: rgba(71, 94, 138, 0.1);
    --transparent-color-2: rgba(71, 94, 138, 0.05);

    /* Font Properties */
    --font-size: 15px;
    --mobile-font-size: 14px;
    --line-height: 1.6em;
    --letter-spacing: 0.3px;
    --font-light: 300;
    --font-regular: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;
    --font-extrabold: 800;
    --font-family-base: "Inter", "Segoe UI", "Roboto", sans-serif;
    --font-family-display: "Sora", "Inter", "Segoe UI", sans-serif;

    /* Form Elements */
    --input-color: #2d3e5f;
    --input-padding: 0 16px;
    --input-height: 48px;
    --input-border: solid 1px rgba(71, 94, 138, 0.2);
    --placeholder-color: #6c757d;
    --textarea-padding: 12px 16px;
    --button-color: #475e8a;
    --button-hover-color: #f4e79c;
    --button-padding: 0 32px;
    --button-height: 48px;
    --button-border: none;
}

body {
    margin: 0;
    padding: 0;
    padding-top: 76px;
    background: var(--background-color);
    font-family: var(--font-family-base);
}

html {
    font-size: var(--font-size);
    font-weight: var(--font-regular);
    color: var(--main-text-color);
    scroll-behavior: smooth;
}

* {
    text-decoration: none !important;
    outline: none !important;
    line-height: var(--line-height);
    letter-spacing: var(--letter-spacing);
}

::placeholder {
    color: var(--placeholder-color);
}

.panel-text {
    font-size: 1rem;
    color: #181a1f;
    margin-bottom: -10px;
    font-weight: var(--font-regular);
    text-align: justify;
}

.panel-text img,
.panel-text iframe,
.panel-text video {
    max-width: 100%;
}

.panel-text iframe {
    width: 100%;
}

.panel-text h1,
.panel-text h2,
.panel-text h3,
.panel-text h4,
.panel-text h5,
.panel-text h6 {
    display: block;
    margin-bottom: 10px;
    font-weight: var(--font-medium);
    color: var(--main-text-color);
}

.panel-text h1 {
    font-size: 1.6em;
}

.panel-text h2 {
    font-size: 1.5em;
}

.panel-text h3 {
    font-size: 1.4em;
}

.panel-text h4 {
    font-size: 1.3em;
}

.panel-text h5 {
    font-size: 1.2em;
}

.panel-text h6 {
    font-size: 1em;
}

.panel-text p {
    display: block;
    margin-bottom: 10px;
}

.panel-text b {
    font-weight: 600;
}

.panel-text ul {
    list-style: circle;
    display: block;
    padding-left: 20px;
}

.panel-text ul li {
    margin-bottom: 5px;
    position: relative;
}

.panel-text>* {
    color: #181a1f !important;
}


.section-gray {
    padding: 40px 0;
    background: #f3f2d1;
}

.section-blue {
    padding: 40px 0;
    background: #f3f2d1;
}


.main-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border: var(--button-border);
    background: linear-gradient(95.14deg, #8b5308, #eb8d11 91.74%);
    padding: var(--button-padding);
    height: 50px;
    overflow: hidden;
    white-space: nowrap;
    border-radius: 8px;
}

.main-btn.small {
    height: calc(var(--button-height) / 1.4);
}

/* .main-btn:hover {
    background: linear-gradient(94.57deg, #c12700 3.41%, #ff4600 96.59%);
} */

.main-btn>span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    position: relative;
    line-height: 3;
    letter-spacing: .15px;
    z-index: 10;
    color: #fff;
    font-weight: 700;
    text-transform: capitalize;
}


.main-btn.small>span {
    font-size: 0.8rem;
    text-transform: unset;
}

.main-btn>span>i {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 24px;
    height: 24px;
    font-size: 1.2rem;
}

.main-btn.small>span>i {
    font-size: 1rem;
    min-width: 20px;
    height: 20px;
}

.main-btn.full-width {
    display: flex;
    width: 100%;
}

.main-btn.full-height {
    height: 100%;
}

.main-btn.no-radius {
    border-radius: 0;
}

.showcase-form {
    padding: 10px;
    background: rgb(255 255 255 / 30%);
    box-shadow: var(--box-shadow);
    border-radius: 2px;
    border: solid 1px rgb(255 255 255);
}

.showcase-form .main-btn {
    height: 50px;
    width: 100%;
    background: linear-gradient(95.14deg, #e52c43, #ff6c00 91.74%);
    color: #fff;
    border-radius: 8px;
}

.showcase-form .passenger-select {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    background: #fff;
    font-size: 1.1rem;
    font-weight: var(--font-medium);
    color: var(--input-color);
    padding: var(--input-padding);
    border: none;
    border-radius: var(--border-radius);
    padding-left: 35px;
    position: relative;
    cursor: pointer;
}

.showcase-form .passenger-select>i {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 10px;
    font-size: 1.4rem;
    color: var(--main-text-color);
}

.search-group {
    display: block;
    position: relative;
    width: 100%;
}

.search-group>input {
    display: block;
    width: 100%;
    font-size: 1.1rem;
    font-weight: var(--font-medium);
    color: #181a1f;
    height: 50px;
    padding: var(--input-padding);
    border: none;
    padding-left: 35px;
    background: #fff;
}

.search-group>i {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 10px;
    font-size: 1.4rem;
    color: #424242;
}

.main-title {
    display: block;
    font-size: 2rem;
    font-weight: var(--font-medium);
    color: #181a1f;
    text-align: center;
    margin-bottom: var(--main-gap);
    position: relative;
}


.main-title-white {
    display: block;
    font-size: 2rem;
    font-weight: var(--font-medium);
    color: #1e293b;
    text-align: center;
    margin-bottom: var(--main-gap);
    position: relative;
}

.main-title-white:before {
    content: "";
    position: absolute;
    bottom: calc(var(--main-gap) / -2);
    left: 50%;
    transform: translate(-50%, 0);
    width: 120px;
    max-width: 100%;
    border-bottom: solid 1px #e2e8f0;
}

.main-title-white:after {
    content: "";
    position: absolute;
    bottom: calc(var(--main-gap) / -2 - 2px);
    left: 50%;
    transform: translate(-50%, 0);
    width: 20px;
    height: 4px;
    background: #1e293b;
    ;
}


.live-result {
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    background: #fff;
    box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.2);
    max-height: 300px;
    z-index: 1200;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 5px;
}

.live-result .title {
    width: 100%;
    background: #28A0D8;
    color: #fff;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 5px 10px;
}

.live-result .item {
    padding: 10px 10px;
    width: 100%;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    cursor: pointer;
    color: #181a1f;
    border-bottom: solid 1px #eee;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    transition: 1ms ease-in-out all;
    background-color: #fff;
    border-radius: 2px;
}

.live-result .item:last-child {
    border-bottom: none;
}

.live-result .item i {
    font-size: 20px;
    line-height: 26px;
    color: #424242aa;
    margin-right: 15px;
}

.live-result .item:hover {
    border-radius: 5px;
    background: #f0f2f7;
    color: #181a1f !important;
    box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.2);
    transition: 1ms ease-in-out all;
}

.dropdown-menu.show {
    display: flex;
    flex-direction: column;
    padding: 0px;
    min-width: 25px;
    width: auto;
    text-align: center;
}

.passenger-menu {
    margin: 0 !important;
    top: 100% !important;
    left: 50% !important;
    transform: translate(-65%, 11%) !important;
    border: solid 1px #ddd;
    border-radius: 0;
    background-color: #fff;

}

.passengers-pad {
    padding-right: 16px !important;
    padding-left: 16px !important;
    margin-bottom: 15px;
}

.slide-group>input,
.slide-group>.dropdown .dropdown-toggle {
    display: block;
    width: 100%;
    padding: 0 10px;
    padding-top: 20px;
    padding-bottom: 19px;
    padding-left: 40px;
    border: solid 1px #696969;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 400;
    background: #fff;
    text-align: left;
    color: #1e293b;
    border-radius: 5px;
}

.yolcu-select {
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid 1px transparent;
    background: #fff;
    height: 50px;
}

.yolcu-select>span>i {
    position: absolute;
    top: 15.2px;
    left: 22px;
    color: #181a1f;
}


.passenger-line>label {
    margin-bottom: 0px;
    color: #424242aa;
}

.route {
    background: #f1f5f9;
    color: #1e293b;
    padding-bottom: 1rem;
    padding-top: 1rem;
}

.space {
    height: 5rem;
}

.step1-header-background {
    display: flex;
    background-position: 0 50%;
    height: 7rem;
    background-size: cover;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.index {
    max-width: 1200px;
    font-size: 1.3rem;
}

.route-details {
    border: 1px solid #dee2e6 !important;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 7px 29px 0 rgba(100, 100, 111, .2);
    padding: 1rem;
}

.route-info {
    position: relative;
    width: 100%;
}

.route-info-text {
    position: relative !important;
    margin-bottom: 0.5rem !important;
    padding-left: 0.25rem !important;
    font-size: 14px !important;
    margin-top: 0.5rem !important;
}

.route-info-icon {
    display: flex;
    align-items: center;
    justify-content: center !important;
}

.child {
    display: none;
}

.car-selection {
    margin-bottom: 0 !important;
    padding: 15px;
    border: solid 1px #e3e5ea;
}

.car-selection:hover {
    background: #f0f2f7;
}

.car-selection:not(:last-child) {
    border-bottom: none !important;
}

.car-selection:first-child {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.car-selection:last-child {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.car-img {
    position: relative;
    display: block;
    width: 100%;
}

.car-image {
    position: relative;
    overflow: hidden;
    padding-top: calc(3 / 4 * 100%) !important;
}


.car-image>img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.car-name {
    font-size: 16px !important;
    font-weight: 600;
    text-align: left;
    color: #181a1f;
}

.services {
    padding-left: 0;
    list-style: none;
    font-size: 14px;
}

.services-title {
    margin-bottom: 20px;
    font-weight: 700;
    color: #28A0D8 !important;
}

.services-item {
    padding-bottom: 0.25rem !important;
    padding-top: 0.25rem !important;
    margin-bottom: 0.50rem !important;
}

.services-item>div>.bold {
    font-weight: 700;
    text-align: start;
}

.icon {
    padding-top: 0.5rem !important;
    padding-right: 0rem !important;
    font-size: 18px !important;
}

.price {
    font-size: 22px;
}

.semibold {
    font-weight: 600;
    font-size: 15px;
}

.bottom-services {
    font-size: 12px;
    cursor: pointer;
    background-color: white;
    padding-top: 0.5rem;
    padding-bottom: 0;
    flex: 0 0 100%;
    max-width: 100%;
    border-top: 1px solid #dee2e6 !important;
    border-bottom: 1px solid #dee2e6 !important;
}

.orange {
    border-top: 10px solid #efa728;
    border-left: 10px solid transparent;
    position: relative;
    right: 0;
}

.p-all {
    padding: 0.5rem !important;
}

.step2-nav {
    z-index: 99;
    background: white;
    padding-top: 0;
    padding-bottom: 0;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    position: relative;
    padding: 0.5rem 1rem;
    height: 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;

}

.sn-logo>.step2-logo {
    width: 300px;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.4));
}


.cnt {
    display: flex;
    justify-content: space-between;
}

.cnt>span {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.checkout-box {
    border-radius: 10px;
    /* border: 1px solid #cecece !important; */
    box-shadow: 0 7px 29px 0 rgba(255, 255, 255, .1);
    padding: 1rem !important;
    margin-bottom: 1rem;
}

.checkout-title {
    color: #181a1f !important;
    font-weight: 600;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.checkout-label {
    color: #181a1f;
}

.checkout-input {
    display: block;
    width: 100%;
    height: 40px;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #181a1f;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

.form-group {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    position: relative;
    margin-bottom: 20px;
}

.select2-container {
    width: 340px !important;
}

.select2-container:focus {
    border: 1px solid #ced4da !important;
}

.form-group.alternate>input,
.form-group.alternate>.iti>input,
.form-group.alternate>textarea,
.form-group.alternate>.select2-container .select2-selection--single,
.form-group.alternate>.passenger-box {
    display: block;
    width: 100%;
    font-size: 16px;
    font-weight: 300;
    color: #181a1f;
    padding: unset;
    height: unset;
    border: none;
    background-color: transparent !important;
    min-height: 24px;
}

.iti {
    width: 100%;
}

.journey-details {
    padding: 1rem;
}

.step-2-car-name {
    font-size: 1.2rem;
    color: #a97b2c
}

.csp {
    color: #181a1f;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: .2rem;
}

.csg {
    color: #181a1f;
    font-size: 13px;
    margin-bottom: 1rem;
}

.total-payment {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-align: end;
}

.info-box {
    background-color: rgba(186, 223, 147, .6);
    color: #444;
    font-size: 14px;
    padding: 1rem;
    margin-bottom: .5rem;
    display: flex;
    align-items: center;
    height: auto;
}

.location {
    bottom: 0;
    left: 5px;
    position: absolute;
    top: 0
}

.location:before {
    bottom: 30px;
    content: "";
    left: 15px;
    border-left: 1px dashed #000;
    position: absolute;
    top: 20px
}

.location .icon-1 {
    left: 10px;
    position: absolute;
    top: 5px
}

.location .icon-2 {
    bottom: 16px;
    left: 10px;
    position: absolute
}

.trip-title {
    font-size: 1rem;
    font-weight: 600;
    color: #181a1f;
}

.datepicker-group {
    position: relative;
}

.policy {
    display: flex;
    flex-direction: row;
    color: #181a1f;
}

.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
}

.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.close {
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    display: flex;
    position: relative;
    left: 98%;
    width: 20px;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.btn-primary {
    background-color: var(--brand-primary);
    color: #fff;
    border-color: var(--brand-primary);
}

.btn-primary:hover {
    background-color: #a97b2c;
    color: #fff;
    border-color: #a97b2c;
}

.btn-primary.focus,
.btn-primary:focus {
    background-color: #a97b2c;
    color: #fff;
    border-color: #a97b2c;
    box-shadow: none;
}

input[type=checkbox] {
    width: 40px;
    height: 40px;
    margin-right: 1rem;
}

.counter {
    display: block;
    padding: 5px;
    border: solid 2px #FF751D;
    line-height: 22px;
    color: #FF751D;
    height: 2.5rem;
    text-align: center;
    width: 2.5rem;
    border-radius: 10px;
}

.counter:hover {
    color: #AD0014;
    border: solid 2px #AD0014;
}

.counter-title {
    font-size: 1.5rem;
}

.buttons {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.custom-hr {
    border: 1px solid rgba(0, 0, 0, .1);
    width: 100%;
    margin-top: 1rem;
    margin-bottom: 1rem;
}


.extra-lines,
.rextra-lines {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    width: 100%;
}

.extra-lines>.caption,
.rextra-lines>.caption {
    font-size: 14px;
    line-height: 20px;
    color: #1e293b;
    margin-bottom: 10px;
}

.extra-lines>.item~.caption,
.rextra-lines>.item~.caption {
    display: none;
}

.extra-lines>.item,
.rextra-lines>.item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    color: #444;
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 10px;
}

.extra-lines>.item>span:last-child,
.rextra-lines>.item>span:last-child {
    text-align: right;
    color: #1e293b;
    font-weight: 600;
}

.checkout-payment {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.payment {
    border-radius: 5px;
    border: 1px solid #e0e0e0;
    padding: 5px 10px 5px 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 1s;
    text-transform: uppercase;
    font-weight: 700;
}

.payment.active {
    border: 1px solid #a97b2c;
    background-color: #fff;
    transition: 1s;
}

.payment .payment-content {
    text-align: center;
    width: 100%;
    min-height: 55px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    color: #181a1f;
}

.payment>i {
    font-size: 3rem;
    color: #181a1f;
}

.ex-items {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.extra-items {
    font-size: 1rem;
    display: flex;
    justify-content: space-between;
    color: #181a1f;
}


.form-box {
    background: transparent;
    border: solid 1px #eee;
    padding: 20px;
    padding-bottom: 0;
    border-radius: 5px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 7.1%;
}

.form-box .row {
    margin-left: -10px;
    margin-right: -10px;
}

.form-box .row>[class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
}

.form-box .title {
    display: block;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 10px;
    padding-bottom: 10px;
    position: relative;
}

.form-box .title-in {
    display: block;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 10px;
}

.form-box .title~.title-in {
    margin-top: -8px;
}

.rez-complete-box {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    padding: 15px;
    margin-bottom: 20px;
    background: transparent;
    border: solid 1px #ddd;
    border-radius: 5px;
}

.rez-complete-info {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    margin-bottom: 20px;
}

.rez-complete-box>.head {
    display: block;
    text-align: center;
}

.rez-complete-box>.head>i {
    display: block;
    font-size: 50px;
    line-height: 56px;
    color: #181a1f;
    margin-bottom: 10px;
}

.rez-complete-box>.head>.message {
    display: block;
    font-size: 16px;
    line-height: 22px;
    color: #181a1f;
}

.rez-number-box {
    display: block;
    text-align: center;
}

.rez-number-box>span:first-child {
    display: block;
    font-size: 12px;
    line-height: 18px;
    color: #fff;
    padding: 5px 10px;
    width: 100%;
    background: var(--brand-primary);
}

.rez-number-box>span:last-child {
    display: block;
    padding: 10px 15px;
    background: none;
    border: solid 2px #181a1f;
    color: #181a1f;
    font-weight: 600;
}

.rez-complete-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.rez-complete-contact>div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 5px 10px;
}

.rez-complete-contact>div>i {
    min-width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #222;
    background: #cc3333;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 20px;
    margin-right: 5px;
}

.rez-complete-contact>div>a {
    display: block;
    font-size: 14px;
    line-height: 20px;
    color: #1e293b !important;
}

.rez-complete-contact>div>a:hover {
    text-decoration: underline !important;
}

.destinations-banner {
    background-position: 0 77%;
    height: 7rem;
    background-size: cover;
}

.breadcrumb-item {
    color: #181a1f;
}


.destination-links {
    color: #444
}

.customer-comments {
    width: 100%;
}

.yildiz {
    color: #fe9506;
}

.dmr {
    margin-right: 1rem;
}

.dml {
    margin-left: 1rem;
}

.smt {
    margin-top: 2%;
}

.dmb {
    margin-bottom: 1.5rem;
}

.d-price {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: center;
    justify-content: space-between;
    border: solid 1px #00000000;
    border-radius: 5px;
    padding: 5px
}

.d-price>span {
    font-size: 16px;
    font-weight: 600;
    color: #155b91;
}

.step2-footer {
    padding: 25px;
    margin-top: 25px;
}

.step2-img>img {
    width: 20rem;
    filter: contrast(0) brightness(2) drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.4));
}

.booking-input {
    width: 100%;
}

.booking-input:first-child {
    margin-bottom: 1rem;
}

.booking-form {
    border: solid 2px orange;
    border-radius: 5px;
    padding: 1rem;
}

.booking-span {
    font-size: 15px;
    font-weight: 600;
}

.booking-i {
    display: flex;
    flex-direction: row;
}

.booking-i:first-child {
    margin-bottom: 1rem;
}


.bege {
    display: block;
    height: 25rem;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -15px;
    margin-bottom: -14px;
    border-radius: 0 5px 5px 0;
    position: relative;
}

.bege:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #fff, hsla(0, 0%, 100%, .45) 70%, hsla(0, 0%, 100%, 0))
}

.book-container {
    min-height: 34.5rem;
    display: flex;
    width: 100%;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.booking-form-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.lr-title {
    margin-bottom: 1rem;
    font-size: 25px;
    font-weight: 600;
    text-align: center;
}

.profile-dropdown {
    color: #444;
}

.btn-gray {
    background-color: #f8f9fa;
    color: #444;
    border-color: #f8f9fa;
}

#yolcu {
    color: #181a1f
}


.main {
    border: solid 2px orange;
    border-radius: 2rem;
    padding: 2rem;
}

.selection {
    height: 100%;
}


.ftr-slogan {
    display: block;
    margin-bottom: 10px;
}

.ftr-slogan>.item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.ftr-slogan>.item>span {
    display: block;
    font-size: 14px;
    line-height: 18px;
    color: #475569 !important;
    margin-bottom: 10px;
}

.nav-breadcrumb {
    padding-top: 16px !important;
    background-size: cover;
    color: #181a1f;
    margin-top: 20px !important;
}


/* PAGINATION START */

.pagination {
    display: block;
    width: 100%;
    padding: 0;
    margin: 10px 0;
}

.pagination ul {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination ul li {
    margin: 2px;
    display: block;
}

.pagination ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 5px 10px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    border-radius: 0;
    background: #fff;
    border: solid 1px #e2e8f0;
    color: #1e293b !important;
    border-radius: 3px;
}

.pagination ul li a:hover {
    background: #f1f5f9;
}

.pagination ul li.active a {
    background: #FE9506;
    border-color: #FE9506;
    color: #fff !important;
}

/* PAGINATON END */

.return-toggler {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    border: solid 1px transparent;
    background: white;
    border-radius: 10px;
    height: 50px;
    color: #444;
}


.dest-car-selection {
    border: 1px solid #dee2e6 !important;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 7px 29px 0 rgba(100, 100, 111, .2);
    margin-bottom: 1.5rem !important;
    padding: 2rem;
    flex-direction: column;
}

.language-dropdown {
    transform: translate3d(-20px, 23px, 0px) !important;
    width: 9rem !important;
    min-width: 9rem !important;
    text-align: left !important;
}

.total-price {
    color: #181a1f !important;
}

.pointer {
    cursor: pointer;
}

.dash-form {
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #4444444a;
    margin-top: 5px;
}

.dropdown-menu .divider {
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
    background-color: #e5e5e5;
}

.btn-secondary {
    background-color: #74512D !important;
    border-color: #74512D !important;
}

.btn-secondary:hover {
    background-color: #FEBA17 !important;
    border-color: #FEBA17 !important;
}

.error-label {
    color: red;
    font-size: 12px;
}

#phone-error {
    position: absolute;
}

.rf-title {
    padding: 0;
    margin-bottom: 15px;
    padding: 10px 20px;
    background: #f1f5f9;
    border: solid 1px #e2e8f0;
}

.rf-title span {
    display: block;
    font-size: 16px;
    line-height: 24px;
    color: #1e293b;
    font-weight: 600;
}

.rf-body {
    padding: 0;
}

.sn-money {
    border: solid 1px #8d222242;
    border-radius: 5px;
    padding: 0.25rem;
}

.sn-money>a {
    color: #444
}

.gallery-item {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    margin-bottom: 20px;
    border: solid 1px #ddd;
}

.gallery-item>.img {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;
    padding-top: calc(3/4*100%);
}

.gallery-item>.img>img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s ease 0s;
}

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

.gallery-item:hover>.img:before {
    left: 0;
}

.gallery-item>.img:after {
    content: "\F0415";
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: "Material Design Icons";
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    z-index: 10;
    transition: 0.2s ease 0s;
    border-radius: 50%;
}

.gallery-item:hover>.img:after {
    background: rgba(0, 0, 0, 0.7);
}

.gallery-item>.desc {
    padding: 5px 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    transition: 0.2s ease 0s;
}

.gallery-item:hover>.desc {
    background: #f1f5f9;
}

.gallery-item>.desc>span {
    display: block;
    font-size: 14px;
    line-height: 20px;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.main-slider-area {
    display: block;
    width: 100%;
    position: relative;
    z-index: 50;
    border-bottom: 1px solid rgba(0, 0, 0, 0.6);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    min-height: 580px;
    /* vitrin verisi olmasa bile form görünür */
    background: #f8fafc;
}

.main-slider-container {
    width: 100%;
    position: relative;
}

.main-banner {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;
    padding-top: 525px;
    background: #fff;
}

.main-banner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 10%, rgba(0, 0, 0, 0) 100%);
    z-index: 10;
}

.main-banner>img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Çerçeveye tam oturur, ancak orantısı bozulabilir */
}


.main-slider-buttons {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    z-index: 10;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    pointer-events: none;
}

.main-slider-buttons>div {
    width: 80px;
    height: 80px;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
    position: relative;
    background: none;
    pointer-events: all;
}

.main-slider-buttons>div:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: "Material Design Icons";
    font-weight: 400;
    font-size: 24px;
    line-height: 1.6 30px;
    color: #fff;
}

.main-slider-buttons>div.prev:before {
    content: "\F0142";
}

.main-slider-buttons>div.next:before {
    content: "\F0141";
}

.slide-desc {
    position: absolute;
    top: 170px;
    display: flex;
    width: 100%;
    justify-content: center;
    pointer-events: none;
    z-index: 10;
    text-align: start;
}

.slide-desc .title {
    display: block;
    font-size: 45px;
    line-height: 1.2;
    padding-bottom: 0;
    color: #fff;
    font-weight: 700;
    text-shadow: 4px 5px #222;
}

.slide-desc .desc {
    display: block;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.2;
    color: #fff;
    margin-top: 10px;
    text-shadow: 2px 2px #222;
    text-align: center;
}

.slide-desc-in {
    pointer-events: all;
    text-align: center;
}

.main-slider-items {
    width: 100%;
    z-index: 1000;
    background: #00000000;
    align-self: flex-end;
    position: absolute;
    bottom: 50px;
}


.b-black {
    background-color: #f8fafc !important;
}

.f-black {
    color: #181a1f !important;
}


.b-white {
    background-color: #fff !important;
}


.pad-10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.dropdown-toggle::after {
    position: absolute;
    top: 25px;
    right: 25px;
    color: #1e293b;
}


.chk {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

#return-transfer {
    width: 100%;
    margin-top: 20px;
}

.live-transfer-price-round {
    width: 25px !important;
    height: 25px !important;
    border-radius: 50% !important;
}

.policy>input[type=checkbox] {
    width: 33px !important;
    height: 33px !important;
}


.collapse-item {
    margin-bottom: 10px;
    border-radius: 10px;
    overflow: hidden;
    border: solid 1px #ddd;
}

.collapse-item:last-child {
    margin-bottom: 0;
}

.collapse-item>.title {
    display: block;
    font-size: 16px;
    line-height: 22px;
    font-weight: 600;
    color: #1e293b;
    width: 100%;
    padding: 10px 15px;
    padding-right: calc(15px + 15px + 10px);
    background: #f1f5f9;
    cursor: pointer;
    height: unset !important;
    border: none;
    margin: 0;
    position: relative;
}

.collapse-item>.title:after {
    content: "\F0142";
    font-family: "Material Design Icons";
    font-weight: 900;
    position: absolute;
    top: 0;
    right: 10px;
    font-size: 14px;
    line-height: 20px;
    height: calc(22px + 10px + 10px);
    width: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.collapse-item>.title[aria-expanded="true"]:after {
    content: "\F0140";
}

.collapse-item>.title[aria-expanded="true"] {

    background-color: var(--brand-primary);
}

.collapse-item>.content {
    border-top: solid 1px #ddd;
}

.collapse-item>.content>.content-inner {
    padding: 15px;
}

.collapse-item>.content>.content-inner>p {
    display: block;
    font-size: 14px;
    line-height: 20px;
    color: #475569;
    margin: 0;
}


.smb {
    margin-bottom: 2%;
}

.f-20 {
    font-size: 20px;
}

.psg-item:not(:last-child) {
    margin-bottom: .5rem
}

.contact-page-items {
    display: block;
}

.contact-page-items>.item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.contact-page-items>.item:not(:last-child) {
    margin-bottom: 10px;
}

.contact-page-items>.item>i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.4rem;
    min-width: 50px;
    height: 50px;
    border-radius: 50%;
    border: solid 2px #a97b2c;
    color: #a97b2c;
    margin-right: 10px;
}

.contact-page-items>.item>div>span:first-child {
    display: block;
    font-size: 1rem;
    font-weight: var(--font-bold);
    color: #a97b2c;
    margin-bottom: 5px;
}

.contact-page-items>.item>div>span:last-child,
.contact-page-items>.item>div>a {
    display: block;
    font-size: 1rem;
    color: #181a1f;
}

.contact-page-items>.item>div>a:hover {
    text-decoration: underline !important;
}


.ftr-links i {
    position: relative;
    color: #475569 !important;
    font-size: 20px;
    margin-right: 5px;
}


#loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #ffffff; 
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid var(--brand-primary);
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.whatsapp-fixed {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    line-height: 1.6;
    color: #fff !important;
    background: #25d366;
    border-radius: 50%;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    transition: 0.2s ease 0s;
    z-index: 999;
}

.whatsapp-fixed:hover {
    transform: scale(1.1);
    opacity: 0.5;
}

.phone-fixed {
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    line-height: 1.6;
    color: #fff !important;
    background: rgb(215, 163, 6);
    border-radius: 50%;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    transition: 0.2s ease 0s;
    z-index: 999;
}

.phone-fixed:hover {
    transform: scale(1.1);
    opacity: 0.5;
}

.card-body {
    padding: .5rem !important;
}

.card-title {
    margin-bottom: .25rem;
}

.main-color {
    color: #222831;
}

.price-box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    margin-left: 15px;
    border-radius: 5px;
    padding: 15px;
    border: solid 1px transparent;
}

.price-box>.price {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    color: #181a1f;
    font-weight: 600;
    padding: 10px 15px;
    border-radius: 5px;
    height: 100%;
    margin-bottom: 10px;
}

.price-box>.main-btn-2 {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    padding: 11px 21px;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0;
    font-weight: 600;
    color: #fff !important;
    border: none;
    background: linear-gradient(95.14deg, #8b5308, #eb8d11 91.74%);
    transition: 0.2s ease 0.1s;
    overflow: hidden;
    border-radius: 5px;
    white-space: nowrap;
    width: 100%;
}

.price-options-2 {
    display: flex;
    align-items: center;
    gap: 20px;
}

.price-option-2 {
    display: flex;
    align-items: center;
}

.price-option-2 label {
    margin-left: 5px;
    margin-top: 10px;
    font-size: 17px;
    font-weight: 600;
    color: #181a1f;
}

.price-option-2 span {
    margin-left: 5px;
    margin-top: 10px;
}

.selected-price {
    margin-top: 20px;
    font-weight: bold;
}

.price-option-2 {
    display: flex;
    align-items: center;
}


.transfer-note {
    margin-top: 5px;
}

.rad-ton[type="radio"] {
    display: none;
}

.rad-but {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.rad-but::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 2px solid #e2e8f0;
    border-radius: 50%;
    margin-right: 10px;
    box-sizing: border-box;
}

.rad-ton[type="radio"]:checked+label::before {
    background-color: #1852ff;
    /* Seçilme rengi */
    border-color: var(--brand-primary);
}

.step2-msg {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}

.blog-image {
    padding-top: calc(360 / 1140 * 100%);
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: 8px;
}

.blog-image>img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s ease 0s;
}

.blog-image:hover>img {
    transform: scale(1.1);
}


.leftf {
    float: left;
    padding: 10px 10px;
    position: relative;
    left: 7px;
}

.leftf.dotted-gradient {
    background-image: linear-gradient(to bottom, #000 40%, rgba(255, 255, 255, 0) 20%);
    background-position: left;
    background-size: 1px 5px;
    background-repeat: repeat-y;
}

.bold {
    font-weight: 700;
}


.new-hr {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0));
    width: 100%;
}


.msg-box {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    background: #f1f5f9;
    border: solid 1px #e2e8f0;
}

.msg-box i {
    min-width: 30px;
    height: 30px;
    color: #181a1f;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    font-size: 16px;
    line-height: 22px;
    background: #a97b2c;
    border-radius: 3px;
}


.msg-box span {
    display: block;
    font-size: 14px;
    line-height: 20px;
    color: #1e293b;
}

.iti--separate-dial-code .iti__selected-dial-code {
    color: #181a1f;
}


.destination-item>.desc .dm {
    color: #64748b;
    font-weight: 300;
    font-size: 13px;
}


.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1e293b !important;
}

.add-border {
    border: solid 1px #a97b2c;
    border-radius: 10px;
}


.payment-method label {
    color: #1e293b;
}


.container-1200 {
    max-width: 1200px;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}


.blog-title {
    color: #181a1f;
    text-shadow: 0px 0px 2px #ffffffbf;
}

.mt-40px {
    margin-top: 40px;
}


.page-gallery {
    position: relative;
}

.page-gallery .row {
    margin-left: -5px;
    margin-right: -5px;
}

.page-gallery>.gal-btn {
    position: absolute;
    bottom: 20px;
    right: 10px;
}

.page-gallery .row>[class*="col-"] {
    padding-left: 5px;
    padding-right: 5px;
}

.page-gal-item {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;
    padding-top: calc(3/4*100%);
    margin-bottom: 8px;
    border-radius: 10px;
    box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.08);
}

.page-gal-item:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: 0.2s ease 0s;
}

.page-gal-item:hover:after {
    opacity: 1;
}

.page-gal-item:hover>img {
    transform: scale(1.1);
}

.page-gal-item>img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.4s ease 0s;
}


.gal-btn {
    border: solid 1px #00796B;
    padding: 10px 20px;
    border-radius: 5px;
    color: #fff !important;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    transition: 0.2s ease 0s;
    background: #00796B;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    white-space: nowrap;
}


.tour-form {
    border: solid 1px #e2e8f0;
    border-radius: 5px;
    padding: 15px;
    background: #fff;
}

.send-ok {
    margin: 10px 15px 10px 0px;
    padding: 10px 10px 10px 5px;
    border-radius: 5px;
    border: solid 1px #a97b2c;
    color: #1e293b;
    background: #f8fafc;
}

.send-ok-close {
    color: #aaa;
    font-size: 24px;
    font-weight: 700;
    display: flex;
    position: absolute;
    right: 20px;
    top: 20px;
    padding: 0;
    background-color: transparent;
    border: 0;
}

.voucher-submit {
    padding: 12px 2px 12px 2px;
    font-size: 15px;
    font-weight: 700;
    background-color: #349f34;
}


.form-bolge-small {
    font-size: 12px;
    Margin-left: 12px;
    line-height: 1.6;
    font-weight: 300;
    font-style: italic;
    float: right;
    text-align: right;
    position: absolute;
    right: 15px;
}


.blog-item {
    width: 100%;
    display: block;
    position: relative;
    margin-bottom: 20px
}

.blog-item:hover>.blog-image>.title {
    padding: 16px 8px
}

.blog-item>.blog-image {
    width: 100%;
    position: relative;
    overflow: hidden
}

.blog-item>.blog-image>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .4s ease 0s
}

.blog-item:hover>.blog-image>img {
    transform: scale(1.1)
}

.blog-item>.blog-image>.title {
    transition: .4s ease 0s;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 12px;
    background: rgba(0, 0, 0, .5);
    color: #fff !important;
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}

.blog-item>.blog-image>.title>h2 {
    display: block;
    font-size: 17px;
    line-height: 18px;
    font-weight: 500;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    margin-right: 10px;
    margin: 0
}

.blog-item>.blog-image>.title>small {
    display: block;
    font-size: 12px;
    line-height: 14px;
    font-weight: 500;
    white-space: nowrap
}

.blog-item>.blog-desc {
    width: 100% !important;
    padding: 10px 12px;
    color: #181a1f;
}

.blog-item>.blog-desc>p {
    display: block;
    margin: 0;
    font-size: 14px;
    line-height: 18px;
    color: #444;
}


.blog-item.main-page {
    margin-bottom: 0;
}


.page-box {
    display: block;
    padding: 15px;
    border-radius: var(--border-radius);
    background: #fff;
    margin-bottom: var(--main-gap);
}

.page-box.gal-box {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
}

.page-box.full-height {
    height: calc(100% - var(--main-gap));
}

.page-box.limit-height {
    height: 298px;
}


.car-banner {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;
    padding-top: calc(600/700*100%);
}

.car-banner img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.car-banner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 4;
}


.car-slider-container {
    position: relative;
    display: block;
    width: 100%;
}

.lang-dropdown {
    animation: slideUpAndFade .4s cubic-bezier(.16, 1, .3, 1);
}


.lang-dropdown.show {
    display: flex;
    flex-direction: column;
    text-align: left;
    padding: 0;
    transform: none !important;
    animation: slideUpAndFade .4s cubic-bezier(.16, 1, .3, 1);
    right: calc(1080/1920*20%) !important;
    left: unset !important;
    top: 60px !important;
}


.list-group-item {
    border: none !important;
}

.list-group-item span {
    color: #424242;
}

.list-group-item:hover {
    background-color: #f0f2f7;
    outline: none;
}

@keyframes slideUpAndFade {
    0% {
        opacity: 0;
        -webkit-transform: translateY(2px);
        transform: translateY(2px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.showcase-forum {
    padding: 8px;
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    border-radius: 2px;
    border: solid 1px #e2e8f0;
    display: flex;
    flex-direction: column;
    border-radius: 5px;
}

.search-groups {
    display: block;
    position: relative;
    width: 100%;
    background: #f0f2f7;
    height: 58px;
    border-radius: 4px;
    cursor: pointer;
    padding: 5px 13px;
    border: solid 2px transparent;
    outline: none;
}

.search-groups>input {
    display: block;
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    color: #181a1f;
    padding: 0 10px;
    border: none;
    padding-left: 35px;
    background-color: transparent !important;
    min-height: 24px;
}

.search-groups>input::placeholder {
    color: #424242aa;
    font-weight: 400;
    font-size: 14px;
}


#passenger-text {
    display: block;
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    color: #181a1f;
    padding: 0 10px;
    border: none;
    padding-left: 35px;
    background-color: transparent !important;
    min-height: 24px;
}

.search-groups>i {
    position: absolute;
    bottom: 13px;
    left: 14px;
    font-size: 1.4rem;
    color: #424242;
}

.search-groups>label {
    padding-left: 35px;
    width: 100%;
    font-weight: 600;
    color: #424242aa;
    margin-bottom: 0 !important;
}


.search-groups.pax {
    height: 70px;
    padding: 5px;
}

.search-groups.button-group {
    padding: 5px;
    background-color: transparent !important;
}

.button-group>button {
    width: 100%;
}

.hero-div {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    min-width: 320px;
    position: relative;
    width: 100%;
}

.hero-title {
    font-size: 32px;
    line-height: 2;
    font-weight: 500;
    color: #181a1f;
    margin: 10px 0;
}


.form-title {
    background-color: transparent;
    color: #181a1f;
    font-size: 20px;
    line-height: 28px;
    padding-bottom: 30px;
    text-align: left;
    width: 100%;
    z-index: 1;
    font-weight: 500;
}


h2.subtitle {
    font-size: 20px;
}


/* .socials::after {
    background-color: #181a1f;
    content: "";
    display: block;
    align-self: center;
    flex-shrink: 0;
    height: 50px;
    width: 1px;
    position: absolute;
    right: 0;
} */

/* .socials:last-child::after {
    display: none;
} */

.main-title-new {
    display: block;
    font-size: 24px;
    font-weight: 500;
    line-height: 32px;
    color: #181a1f;
    text-align: left;
    position: relative;
}

.new-route {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.new-route span {
    font-size: 16px;
    font-weight: 400;
    color: #181a1f;
    letter-spacing: 0.15px;
}

.new-route i {
    margin-left: 8px;
}

.search-groups.currency {
    height: 60px;
}

.search-groups.currency>label {
    padding-left: 0;
}

.search-groups .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #181a1f !important;
    padding-left: 0 !important;
    font-weight: 500;
}

.search-groups.currency .select2-container {
    width: 100% !important;
}


.search-groups.currency .select2-container--default .select2-selection--single {
    background-color: transparent !important;
    border: none !important;
}

.select2-container--open .select2-dropdown--below {
    /* border-top: 1px solid #aaa !important; */
    border-radius: 5px !important;
}

.select2-container--default .select2-results>.select2-results__options {
    border-radius: 5px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #f0f2f7 !important;
    color: #181a1f !important;
}

.select2-results__option {
    padding: 10px !important;
}


.my-card {
    background-color: transparent;
    border: none;
}


.blog-item.main-page>h2 {
    color: #181a1f;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0;
}

.blog-item.main-page>.blog-desc {
    width: 100% !important;
    padding: 10px 0;
    color: #181a1f;
}


.section-grey {
    background-color: #fbfbfd !important;
}

.br-5 {
    border-radius: 5px !important;
}

.border-bottom-1 {
    border-bottom: solid 1px #313338 !important;
}


.ftr-bottom-flex>.left,
.ftr-bottom-flex>.right {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.policies {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.policies>a:last-child {
    margin-right: 0;
}

.policies>a:first-child {
    margin-left: 32px;
}

.policies>a {
    display: block;
    font-size: 16px;
    line-height: 24px;
    color: #475569;
    margin-right: 32px;
    margin-bottom: 5px;
    font-weight: 400;
}

.policies>a:hover {
    text-decoration: underline !important;
    color: #1e293b !important;
}

.p-all-12 {
    padding: 12px !important;
}


.mr-20 {
    margin-right: 20px !important;
}

.swiper-pagination-bullet-active {
    background: #64666b !important;
}


.step-breadcrumb {
    padding: 16px 8px;
}

.step-breadcrumb>ul {
    display: flex;
    margin-block-start: 0;
    margin-block-end: 0;
    padding-inline-start: 0;
}

.step-breadcrumb>ul>li {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 1 1;
    flex-direction: column;
    text-align: center;
    position: relative;
}

.step-breadcrumb>ul>li>.step-name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.step-breadcrumb>ul>li>.step-name>span {
    color: #64666b;
    background-color: transparent;
    padding: 2px 10px;
    border-radius: 10px;
}

.step-breadcrumb>ul>li>.step-name>span.active {
    color: #181a1f;
    background-color: #f0f2f7;
}

.step-breadcrumb>ul>li>.circle-group {
    width: 14px;
    height: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: .1px;
    border-radius: 8px;
    border: 2px solid #e3e5ea;
}

.step-breadcrumb>ul>li>.circle-group.active {
    color: red;
    background-color: transparent;
    border: 2px solid #000;
    border-radius: 8px;
}

.step-breadcrumb>ul>li>.circle-group:before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 6px;
    left: -6px;
    order: -1;
    width: 6px;
    height: 2px;
}

.step-breadcrumb>ul>li:not(:last-child):after {
    content: "";
    position: absolute;
    bottom: 6px;
    order: -1;
    width: calc(100% - 16px);
    height: 2px;
    background-color: #e3e5ea;
    left: calc(50% + 8px);
}


.step-route-box {
    background-color: #f0f2f7;
    border-radius: 8px;
    box-sizing: border-box;
    margin: 0 auto;
    width: 100%;
    padding: 16px;
}

.step-route-box>h2 {
    font-size: 16px;
    letter-spacing: 0;
    line-height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.step-route-date {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    margin-top: 8px;
}

.step-route-date>.date-time {
    box-sizing: border-box;
    color: #64666b;
    font-size: 14px;
    letter-spacing: 0;
    line-height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ppv {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0;
    margin-top: 5px;
    margin-left: 5px;
}

.features-toggle-container {
    margin-top: 10px;
}

.features-toggle-btn {
    background: transparent;
    border: unset;
    color: #000;
    cursor: pointer;
    font-size: 14px;
    display: block;
    text-align: left;
    transition: all 0.3s ease;
}

.features-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #ffffff; 
}

.toggle-icon {
    transition: transform 0.3s ease;
}

.toggle-icon.rotated {
    transform: rotate(180deg);
}


.features-content {
    width: 100%;
}

.features-content .item {
    font-size: 13px;
    font-weight: 200;
    color: #525252;
}

.input-groups {
    display: block;
    position: relative;
    width: 100%;
    margin-bottom: 10px;
    background: #f0f2f7;
    height: 58px;
    border-radius: 4px;
    cursor: pointer;
    padding: 5px 13px;
    border: solid 2px transparent;
    outline: none;
}

.input-groups:last-child {
    margin-bottom: 0;
}

.input-groups>input {
    display: block;
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    color: #181a1f;
    padding: unset;
    height: unset;
    border: none;
    background-color: transparent !important;
    min-height: 24px;
}

.input-groups>input::placeholder {
    color: #424242aa;
    font-weight: 400;
    font-size: 14px;
}

.form-group.alternate>.iti>input::placeholder {
    color: #424242aa;
    font-weight: 400;
    font-size: 14px;
}

.input-groups>i {
    position: absolute;
    bottom: 13px;
    left: 14px;
    font-size: 1.4rem;
    color: #424242;
}

.input-groups>label {
    font-weight: 600;
    color: #424242aa;
    margin-bottom: 0 !important;
}

.iti__selected-flag {
    padding: unset !important
}

.iti--separate-dial-code .iti__selected-flag {
    background: transparent !important;
}


.input-groups .select2-container {
    width: 100% !important;
}

.input-groups .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #181a1f !important;

}


.input-groups .select2-container--default .select2-selection--single {

    background-color: unset !important;
    border: none;
    border-radius: 0px;
}


.blog-card {
    width: 100%;
    background: #f0f2f7 !important;
    display: flex;
    flex-direction: column;
}


.blog-content {
    position: relative;
    padding: 16px 28px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    flex: 1 1;
    height: calc(100% - 200px);
    min-height: 200px;
}

.blog-content .category {
    text-transform: capitalize;
    color: #181a1f;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0;
}

.blog-content h3 {
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0;
    color: #181a1f;
}

.blog-content .content {
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0;
    color: #181a1f;
    font-weight: 300;
}

.blog-content .date {
    margin-top: auto;
    padding-top: 20px;
    color: #181a1f;
    line-height: 28px;
    letter-spacing: 0;
}


.text-box {
    overflow: hidden;
}

.map-box {
    float: left;
    width: 600px;
    height: 400px;
    margin-right: 30px;
    margin-top: 20px;
}

.text-box p {
    font-size: 16px;
    line-height: 1.6;
}


html.modal-active,
body.modal-active {
    overflow: hidden;
}

#modal-container {
    position: fixed;
    display: table;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    transform: scale(0);
    z-index: 9999;
}

#modal-container.six {
    transform: scale(1);
}

#modal-container.six .modal-background {
    background: rgba(0, 0, 0, 0);
    animation: none;
}

#modal-container.six .modal-background .modall {
    background-color: #ffffff;
    animation: none;
}

#modal-container.six .modal-background .modall h2,
#modal-container.six .modal-background .modall p,
#modal-container.six .modal-background .modall button {
    opacity: 1;
    position: relative;
    animation: none;
}

#modal-container.six .modal-background .modall .modal-svg rect {
    animation: sketchIn 0.5s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

#modal-container.six.out {
    animation: quickScaleDown 0s 0.5s linear forwards;
}

#modal-container.six.out .modal-background {
    animation: fadeOut 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

#modal-container.six.out .modal-background .modall {
    animation: modalFadeOut 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

#modal-container.six.out .modal-background .modall h2,
#modal-container.six.out .modal-background .modall p,
#modal-container.six.out .modal-background .modall button {
    animation: modalContentFadeOut 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

#modal-container.six.out .modal-background .modall .modal-svg rect {
    animation: sketchOut 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}


#modal-container .modal-background {
    display: table-cell;
    background: rgba(0, 0, 0, .8);
    text-align: center;
    vertical-align: middle;
}

#modal-container .modal-background .modall {
    background: white;
    padding: 50px;
    display: inline-block;
    border-radius: 3px;
    font-weight: 300;
    position: relative;
}

#modal-container .modal-background .modall h2 {
    font-size: 25px;
    line-height: 25px;
    margin-bottom: 15px;
    color: #222222 !important;
}

#modal-container .modal-background .modall p {
    font-size: 18px;
    line-height: 22px;
    color: #333333 !important;
}

#modal-container .modal-background .modall button {
    color: #222222 !important;
    background: #f5f5f5;
    border: 1px solid #ccc;
    padding: 8px 24px;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 16px;
    font-size: 15px;
}

#modal-container .modal-background .modall .modal-svg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    border-radius: 3px;
}

#modal-container .modal-background .modall .modal-svg rect {
    stroke: #fff;
    stroke-width: 2px;
    stroke-dasharray: 778;
    stroke-dashoffset: 778;
}


.paxs.show {
    width: 165px;
    padding: 5px 0;
}

/* Yolcu dropdown her zaman aşağı açılsın */
.hsf-field--sm .dropdown-menu {
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 9999 !important;
    min-width: 180px;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    border: 1px solid #e0e0e0;
}


.index-gall {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;
    padding-top: calc(3/4*100%);
    background: #fff;
    border-radius: 10px;
}

.index-gall>img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.blog-img {
    position: relative;
    display: block;
    width: 100%;
}

.blog-img>div {
    position: relative;
    overflow: hidden;
    padding-top: calc(2 / 4 * 100%);
}

.blog-img>div>img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.blog-container {
    padding: 0;
    border-radius: 5px;
    overflow: hidden;
}

.blog-details {
    position: relative;
    bottom: 20px;
    display: flex;
    justify-content: center;
}

.blog-desc {
    width: 90%;
    background: #fff;
    padding: 5px;
    border-radius: 5px;
}

.blog-desc h4 {
    color: #000;
    text-align: center !important;
    margin-bottom: 1.5rem !important;
    font-size: 20px;
    font-weight: 600;
}

.blog-p {
    color: #222222d6;
    font-size: 13px;
    font-weight: 500;
}
/* ================================================
   RESERVATION FLOW MODERN STYLES
   ================================================ */

/* Progress Breadcrumb */
.step-progress {
    padding: 40px 0 30px;
    background: white;
}

.step-breadcrumb {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 600px;
    margin: 0 auto;
}

.step-breadcrumb ul {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

.step-breadcrumb li {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.step-breadcrumb li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 20px;
    left: 60%;
    width: 80%;
    height: 2px;
    background: rgba(71, 94, 138, 0.2);
    z-index: 0;
}

.step-breadcrumb li.active:not(:last-child)::after {
    background: var(--brand-gold);
}

.step-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--soft-text-color);
    margin-bottom: 10px;
    text-align: center;
}

.step-name.active,
.step-name span.active {
    color: var(--brand-primary);
}

.circle-group {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: white;
    border: 2px solid rgba(71, 94, 138, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--soft-text-color);
    position: relative;
    z-index: 1;
}

.circle-group.active {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    color: white;
    box-shadow: 0 4px 15px rgba(71, 94, 138, 0.3);
}

/* Route Box */
.step-route-box {
    background: white;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(71, 94, 138, 0.08);
    margin-bottom: 30px;
}

.step-route-box h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--brand-primary);
    margin: 0 0 15px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.step-route-box i {
    color: var(--brand-gold);
    font-size: 20px;
}

.step-route-date {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 15px;
    color: var(--soft-text-color);
}

.date-time {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Car Selection */
.car-selection {
    background: white;
    border-radius: 16px;
    padding: 25px;
    margin-bottom: 20px;
    border: 2px solid rgba(71, 94, 138, 0.1);
    transition: all 0.3s ease;
}

.car-selection:hover {
    border-color: var(--brand-gold);
    box-shadow: 0 8px 30px rgba(71, 94, 138, 0.1);
    transform: translateY(-2px);
}

.car-image-container {
    border-radius: 12px;
    overflow: hidden;
    background: #f8f9fa;
}

.car-slider-container {
    aspect-ratio: 4/3;
    position: relative;
}

.car-image {
    width: 100%;
    height: 100%;
}

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

.car-name {
    font-size: 20px;
    font-weight: 700;
    color: var(--brand-primary);
    margin-bottom: 15px;
}

.csg {
    color: var(--soft-text-color);
    font-weight: 500;
}

.cl-rate {
    display: flex;
    align-items: center;
    justify-content: center;
}

.price-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    width: 100%;
}

.price-box .price {
    font-size: 28px;
    font-weight: 700;
    color: var(--brand-primary);
}

.main-btn-2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 30px;
    background: linear-gradient(135deg, var(--brand-primary) 0%, #3a4d6f 100%);
    color: white;
    font-weight: 600;
    border-radius: 10px;
    transition: all 0.3s ease;
    border: none;
    width: 100%;
}

.main-btn-2:hover {
    background: linear-gradient(135deg, #3a4d6f 0%, var(--brand-primary) 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(71, 94, 138, 0.4);
    color: white;
}

.features-toggle-container {
    margin-top: 15px;
}

.features-toggle-btn {
    width: 100%;
    padding: 12px;
    background: rgba(71, 94, 138, 0.06);
    border: 1px solid rgba(71, 94, 138, 0.1);
    border-radius: 10px;
    color: var(--brand-primary);
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: all 0.3s ease;
}

.features-toggle-btn:hover {
    background: rgba(71, 94, 138, 0.1);
}

.features-content {
    padding: 15px 0 0;
}

.features-content .item {
    font-size: 14px;
    color: var(--soft-text-color);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.features-content .item i {
    color: var(--brand-gold-dark);
}

/* Checkout Box */
.checkout-box {
    background: white;
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 20px;
    box-shadow: 0 4px 20px rgba(71, 94, 138, 0.08);
}

.checkout-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--brand-primary);
    margin: 0 0 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid rgba(71, 94, 138, 0.1);
}

.checkout-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--main-text-color);
    margin-bottom: 8px;
    display: block;
}

.checkout-input {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 1.5px solid rgba(71, 94, 138, 0.2);
    border-radius: 10px;
    font-size: 15px;
    color: var(--main-text-color);
    transition: all 0.3s ease;
    background: white;
}

.checkout-input:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 3px rgba(71, 94, 138, 0.1);
}

.input-groups {
    margin-bottom: 20px;
}

/* Step2 input-groups height fix (override base 58px) */
.reservation-step-2 .input-groups {
    height: auto !important;
    min-height: 56px;
}

/* Summary Sidebar */
.summary-box {
    background: white;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 20px rgba(71, 94, 138, 0.08);
    position: sticky;
    top: 100px;
}

.summary-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--brand-primary);
    margin: 0 0 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid rgba(71, 94, 138, 0.1);
}

.summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    font-size: 15px;
}

.summary-item-label {
    color: var(--soft-text-color);
    font-weight: 500;
}

.summary-item-value {
    color: var(--main-text-color);
    font-weight: 600;
}

.summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0 0;
    margin-top: 15px;
    border-top: 2px solid rgba(71, 94, 138, 0.1);
}

.summary-total-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--brand-primary);
}

.summary-total-value {
    font-size: 28px;
    font-weight: 700;
    color: var(--brand-primary);
}

/* Confirmation Page */
.rez-complete-box {
    background: white;
    border-radius: 16px;
    padding: 50px 30px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(71, 94, 138, 0.08);
    margin-bottom: 30px;
}

.rez-complete-box .head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.rez-complete-box i {
    font-size: 80px;
    color: #28a745;
}

.rez-complete-box .message {
    font-size: 28px;
    font-weight: 700;
    color: var(--brand-primary);
}

.rez-complete-info {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 40px 30px;
    margin-bottom: 30px;
}

.rez-complete-info .form-note {
    color: #475569;
    font-size: 16px;
    line-height: 1.6;
    display: block;
    margin-bottom: 25px;
}

.rez-number-box {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rez-number-box span:first-child {
    font-size: 14px;
    color: #475569;
    font-weight: 500;
}

.rez-number-box span:last-child {
    font-size: 32px;
    color: #1e293b;
    font-weight: 700;
    letter-spacing: 2px;
}

/* Responsive */

/* ================================================
   CONTENT PAGES MODERN STYLES
   ================================================ */

/* Page Header */
.page-header {
    padding: 120px 0 80px;
    background: linear-gradient(135deg, var(--brand-primary) 0%, #3a4d6f 100%);
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}

/* Hero sections with background-image: enforce gorsel_ayar aspect ratio */
.page-header.blog-hero {
    aspect-ratio: var(--hero-ratio-blog, 16 / 9);
    min-height: 220px;
    display: flex;
    align-items: center;
}
.page-header.service-hero {
    aspect-ratio: var(--hero-ratio-hizmet, 16 / 9);
    min-height: 220px;
    display: flex;
    align-items: center;
}

.page-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse"><path d="M 40 0 L 0 0 0 40" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)" /></svg>');
    opacity: 0.3;
}

.page-header-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.page-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
    font-size: 14px;
}

.page-breadcrumb a {
    color: #ffffff; 
    transition: color 0.3s ease;
}

.page-breadcrumb a:hover {
    color: white;
}

.page-breadcrumb span {
    color: var(--brand-gold);
}

.page-title {
    font-size: 48px;
    font-weight: 800;
    color: white;
    margin: 0 0 20px;
    text-shadow: 2px 4px 8px rgba(0, 0, 0, 0.2);
}

.page-subtitle {
    font-size: 18px;
    color: #ffffff; 
    max-width: 700px;
    margin: 0 auto;
}

/* Destinations Grid */
.destinations-grid {
    padding: 80px 0;
    background: white;
}

.destination-grid-item {
    margin-bottom: 30px;
}

/* Blog Grid */
.blog-grid {
    padding: 80px 0;
    background: white;
}

.blog-grid-item {
    margin-bottom: 30px;
}

.blog-detail-container {
    padding: 80px 0;
    background: white;
}

.blog-detail-header {
    margin-bottom: 40px;
}

.blog-detail-title {
    font-size: 42px;
    font-weight: 800;
    color: var(--brand-primary);
    line-height: 1.3;
    margin: 0 0 20px;
}

.blog-detail-meta {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 15px;
    color: var(--soft-text-color);
}

.blog-detail-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.blog-detail-image {
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 40px;
}

.blog-detail-image img {
    width: 100%;
    height: auto;
}

.blog-detail-content {
    font-size: 17px;
    line-height: 1.8;
    color: var(--main-text-color);
}

.blog-detail-content h2,
.blog-detail-content h3 {
    color: var(--brand-primary);
    margin-top: 30px;
    margin-bottom: 15px;
}

.blog-detail-content p {
    margin-bottom: 20px;
}

/* Services Page */
.services-grid {
    padding: 80px 0;
    background: white;
}

.service-card {
    background: white;
    border-radius: 16px;
    padding: 40px;
    text-align: center;
    border: 2px solid rgba(71, 94, 138, 0.1);
    transition: all 0.4s ease;
    height: 100%;
    margin-bottom: 30px;
}

.service-card:hover {
    border-color: var(--brand-gold);
    box-shadow: 0 8px 30px rgba(71, 94, 138, 0.1);
    transform: translateY(-5px);
}

.service-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--brand-primary) 0%, #3a4d6f 100%);
    border-radius: 50%;
    color: white;
    font-size: 36px;
}

.service-card:hover .service-icon {
    background: linear-gradient(135deg, var(--brand-gold) 0%, var(--brand-gold-dark) 100%);
    transform: scale(1.1) rotate(5deg);
}

.service-card h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--brand-primary);
    margin-bottom: 15px;
}

.service-card p {
    font-size: 15px;
    color: var(--soft-text-color);
    line-height: 1.6;
}

/* Contact Page */
.contact-section {
    padding: 80px 0;
    background: white;
}

.contact-info-card {
    background: white;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 4px 20px rgba(71, 94, 138, 0.08);
    margin-bottom: 30px;
}

.contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 30px;
}

.contact-info-item:last-child {
    margin-bottom: 0;
}

.contact-info-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(71, 94, 138, 0.1);
    border-radius: 12px;
    color: var(--brand-primary);
    font-size: 24px;
}

.contact-info-content h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--brand-primary);
    margin: 0 0 8px;
}

.contact-info-content p {
    font-size: 15px;
    color: var(--soft-text-color);
    margin: 0;
}

.contact-form-card {
    background: white;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 4px 20px rgba(71, 94, 138, 0.08);
}

.form-group {
    margin-bottom: 25px;
}

.form-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--main-text-color);
    margin-bottom: 8px;
    display: block;
}

.form-control {
    width: 100%;
    padding: 0 16px;
    height: 48px;
    border: 1.5px solid rgba(71, 94, 138, 0.2);
    border-radius: 10px;
    font-size: 15px;
    color: var(--main-text-color);
    transition: all 0.3s ease;
}

.form-control:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 3px rgba(71, 94, 138, 0.1);
    outline: none;
}

textarea.form-control {
    height: 150px;
    padding: 12px 16px;
    resize: vertical;
}

.btn-submit {
    width: 100%;
    padding: 14px;
    background: linear-gradient(135deg, var(--brand-primary) 0%, #3a4d6f 100%);
    color: white;
    font-weight: 600;
    font-size: 16px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-submit:hover {
    background: linear-gradient(135deg, #3a4d6f 0%, var(--brand-primary) 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(71, 94, 138, 0.4);
}

/* Gallery Page */
.gallery-grid {
    padding: 80px 0;
    background: white;
}

.gallery-grid-item {
    margin-bottom: 30px;
}

/* Tours */
.tour-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(71, 94, 138, 0.08);
    transition: all 0.4s ease;
    height: 100%;
    margin-bottom: 30px;
}

.tour-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(71, 94, 138, 0.15);
}

.tour-image {
    height: 250px;
    overflow: hidden;
    position: relative;
}

.tour-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.tour-card:hover .tour-image img {
    transform: scale(1.1);
}

.tour-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: var(--brand-gold);
    color: white;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
}

.tour-content {
    padding: 30px;
}

.tour-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--brand-primary);
    margin: 0 0 15px;
}

.tour-description {
    font-size: 15px;
    color: var(--soft-text-color);
    line-height: 1.6;
    margin: 0 0 20px;
}

.tour-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 1px solid rgba(71, 94, 138, 0.1);
}

.tour-duration {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--soft-text-color);
}

.tour-price {
    font-size: 22px;
    font-weight: 700;
    color: var(--brand-primary);
}

/* FAQ */
.faq-section {
    padding: 80px 0;
    background: white;
}

.faq-item {
    background: white;
    border-radius: 12px;
    margin-bottom: 15px;
    border: 1px solid rgba(71, 94, 138, 0.1);
    overflow: hidden;
}

.faq-question {
    width: 100%;
    padding: 20px 25px;
    background: white;
    border: none;
    text-align: left;
    font-size: 16px;
    font-weight: 600;
    color: var(--brand-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background 0.3s ease;
}

.faq-question:hover {
    background: rgba(71, 94, 138, 0.04);
}

.faq-question i {
    transition: transform 0.3s ease;
}

.faq-question.active i {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 25px;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-answer.active {
    padding: 0 25px 20px;
    max-height: 500px;
}

.faq-answer p {
    font-size: 15px;
    color: var(--soft-text-color);
    line-height: 1.6;
    margin: 0;
}

/* Responsive Content Pages */


form {
    margin-block-end: 0px !important;
}

/* ================================================================
   Bundled from ecevip-design.css
   ================================================================ */
/* ================================================================
   ECE VIP TRANSFER — Design System 3.0
   Palette : Deep Navy #0D1B35 | Gold #C9A84C | White #FFFFFF
   Style   : Corporate Clean / Bootstrap 4 native
   Updated : 2026
   ================================================================ */

/* Primary webfont is loaded in css/style.css */

/* ================================================================
   DESIGN TOKENS
   ================================================================ */
:root {
  --navy: #0D1B35;
  --navy-800: #122040;
  --navy-600: #1C335E;
  --navy-100: #D6DFF0;
  --gold: #9d8a57;
  --gold-dark: #A8882E;
  --gold-light: #F8EFD7;
  --white: #FFFFFF;
  --light: #F5F7FA;
  --light-alt: #EEF1F6;
  --text: #1A202C;
  --text-2: #374151;
  --text-muted: #6B7280;
  --border: #DDE2EA;
  --radius: 12px;
  --radius-sm: 8px;
  --radius-lg: 18px;
  --shadow-sm: 0 1px 4px rgba(0, 0, 0, .06), 0 2px 10px rgba(0, 0, 0, .04);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .04);
  --shadow-lg: 0 12px 36px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .06);
  --transition: 0.22s ease;
  --c-bg: #F5F7FA;
  /* Transfer visuals ratio (width / height). Update this single value when admin ratio changes. */
  --transfer-media-ratio: 4 / 1;
}

/* ================================================================
   BASE
   ================================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-family-base, 'Inter', 'Segoe UI', 'Roboto', sans-serif) !important;
  font-size: 15px;
  line-height: 1.65;
  color: var(--text);
  background: #fff;
  padding-top: 72px;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-display, 'Sora', 'Inter', 'Segoe UI', sans-serif);
  font-weight: 700;
  line-height: 1.25;
  color: var(--text);
  margin-top: 0;
  letter-spacing: 0;
}

a {
  text-decoration: none !important;
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
}

::selection {
  background: rgba(201, 168, 76, .2);
}

/* ================================================================
   NAVBAR
   ================================================================ */
.akd-navbar {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
  margin: 0;
  background-color: var(--navy) !important;
  height: 72px;
  padding: 0;
  box-shadow: 0 2px 16px rgba(0, 0, 0, .25);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  transition: box-shadow .22s ease;
}

.akd-navbar.scrolled {
  background-color: rgba(13, 27, 53, .97) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 4px 24px rgba(0, 0, 0, .35);
}

.akd-brand {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 0;
}

.akd-brand-img {
  height: 46px;
  width: auto;
  display: block;
}

.akd-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.akd-brand-name {
  font-size: 16px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 1.5px;
}

.akd-brand-tagline {
  font-size: 9px;
  font-weight: 500;
  color: var(--gold);
  letter-spacing: 2px;
  text-transform: uppercase;
}

.akd-nav-links .nav-item {
  margin: 0 3px;
}

.akd-nav-link {
  position: relative;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  padding: 8px 15px !important;
  border-radius: var(--radius-sm);
  transition: color .22s ease, background .22s ease, transform .22s ease;
  letter-spacing: .25px;
}

.akd-nav-link:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, .14);
}

.akd-nav-links .akd-nav-link::before {
  content: '';
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 3px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(201, 168, 76, 0) 0%, rgba(201, 168, 76, .95) 52%, rgba(201, 168, 76, 0) 100%);
  opacity: 0;
  transform: scaleX(.8);
  transition: opacity .2s ease, transform .2s ease;
}

.akd-nav-links .akd-nav-link:hover::before,
.akd-nav-links .akd-nav-link.active::before {
  opacity: 1;
  transform: scaleX(1);
}

.akd-nav-link i {
  font-size: 15px;
  vertical-align: -2px;
}

.akd-navbar .navbar-nav.ml-auto {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.akd-reservation-cta-item .nav-link {
  margin: 0;
}

.akd-reservation-cta {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px !important;
  border-radius: 999px;
  border: 1px solid rgba(201, 168, 76, .92);
  background: linear-gradient(135deg, #f2dfb4 0%, #c9a84c 100%);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .22);
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.akd-reservation-cta i {
  font-size: 16px;
}

.akd-reservation-cta:hover {
  color: #0d1b35 !important;
  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow: 0 10px 22px rgba(0, 0, 0, .28);
}

.akd-lang-btn {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px !important;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .17);
  background: rgba(255, 255, 255, .05);
}

.akd-lang-btn:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, .1);
  border-color: #ffffff; 
}

/* Keep a single clean caret on language selector.
   Prevent overlap with generic .nav-link::after underline styles. */
.akd-lang-btn.dropdown-toggle::after {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  color: #ffffff; 
  margin-left: 6px;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  transform: none !important;
  vertical-align: middle;
}

.akd-lang-btn:hover::after,
.akd-lang-btn.show::after {
  color: #fff;
  transform: none !important;
}

.akd-lang-menu {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  min-width: 160px;
  padding: 6px;
}

.akd-lang-item {
  border-radius: 6px;
  padding: 8px 12px !important;
  font-size: 13px;
  font-weight: 500;
  color: var(--text) !important;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background .22s ease;
}

.akd-lang-item:hover {
  background: var(--light);
}

.akd-toggler {
  border-color: #ffffff !important;
  padding: 6px 10px;
}

.akd-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.4' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;
  background-size: 1.35em 1.35em !important;
  filter: none !important;
  -webkit-filter: none !important;
}

.akd-toggler:focus {
  box-shadow: none !important;
}

/* ================================================================
   HERO
   ================================================================ */
.akdenora-hero {
  position: relative;
  min-height: 88vh;
  display: flex;
  align-items: center;
  overflow: visible;
  margin-top: 0 !important;
  background: var(--navy);
  padding-top: 76px;
  padding-bottom: 60px;
  box-sizing: border-box;
}

.hero-slider {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.main-hero-slider,
.main-hero-slider .swiper-wrapper,
.main-hero-slider .swiper-slide {
  height: 100%;
}

.hero-slide-bg {
  position: relative;
  height: 100%;
  width: 100%;
}

.hero-slide-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(13, 27, 53, .78) 0%, rgba(13, 27, 53, .5) 60%, rgba(0, 0, 0, .35) 100%);
}

.hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 20px 0 28px;
}

.hero-text {
  text-align: left;
  margin-bottom: 16px !important;
  /* style.css 40px override */
}

.hero-text--center {
  text-align: center;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(201, 168, 76, .18);
  border: 1px solid rgba(201, 168, 76, .4);
  color: var(--gold);
  font-size: 12px;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 999px;
  letter-spacing: .8px;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.hero-badge i {
  font-size: 14px;
}

.hero-title {
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 10px;
  letter-spacing: -.02em;
  text-shadow: 0 10px 30px rgba(0, 0, 0, .36);
}

.hero-title-sub {
  font-size: clamp(1rem, 2.5vw, 1.6rem);
  font-weight: 600;
  color: var(--gold);
  margin-bottom: 10px;
}

.hero-subtitle {
  font-size: 15px;
  color: #ffffff; 
  max-width: 600px;
  margin: 0 auto 10px;
}

.hero-search-card {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: var(--shadow-lg);
  margin-top: 14px;
  overflow: visible;
  position: relative;
  z-index: 10;
  width: 100%;
  display: flex;
}

.hero-search-form {
  width: 100%;
  flex: 1 1 100%;
  min-width: 0;
}

.hero-scroll-indicator {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: #ffffff; 
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  animation: bounceY 2s ease infinite;
}

.hero-scroll-indicator i {
  font-size: 20px;
}

@keyframes bounceY {

  0%,
  100% {
    transform: translateX(-50%) translateY(0);
  }

  50% {
    transform: translateX(-50%) translateY(6px);
  }
}

/* ================================================================
   SEARCH FORM
   ================================================================ */
.hsf-row {
  display: flex;
  align-items: stretch;
  gap: 10px;
  flex-wrap: nowrap;
  width: 100%;
}

.hsf-field {
  flex: 1 1 0;
  min-width: 0;
}

.hsf-field--lg {
  flex: 2 1 0;
  min-width: 0;
}

.hsf-field--sm {
  flex: 0 0 120px;
  width: 120px;
}

.hsf-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  cursor: text;
  background: #fff;
  transition: border-color .22s ease, box-shadow .22s ease;
  height: 100%;
  min-height: 60px;
}

.hsf-input-wrap:focus-within {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201, 168, 76, .15);
}

.hsf-icon {
  font-size: 20px;
  color: var(--gold);
  flex-shrink: 0;
}

.hsf-input-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.hsf-label {
  font-size: 10px;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .8px;
  margin-bottom: 2px;
  cursor: pointer;
}

.hsf-input {
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  height: auto !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100%;
  margin: 0;
}

.hsf-input::placeholder {
  color: var(--text-muted);
  font-weight: 400;
}

/* Native select inside hsf field */
select.hsf-input,
select.hsf-native-select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236B7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0 center !important;
  padding-right: 16px !important;
}

.hsf-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--navy-600);
  font-size: 20px;
  padding: 8px 0;
  align-self: center;
}

.paxs {
  display: none;
  min-width: 220px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  background: #fff;
  padding: 12px;
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  bottom: auto;
}

.paxs.pax-open {
  display: block;
}

.pax-row {
  margin-bottom: 10px;
}

.pax-row:last-child {
  margin-bottom: 0;
}

.passenger-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.passenger-line label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-2);
  margin: 0;
}

.hsf-submit {
  flex-shrink: 0;
  align-self: stretch;
}

.hsf-btn {
  height: 100%;
  min-height: 60px;
  padding: 0 28px;
  background: var(--navy);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  cursor: pointer;
  transition: background .22s ease, box-shadow .22s ease;
  letter-spacing: .3px;
}

.hsf-btn:hover {
  background: var(--navy-600);
  box-shadow: 0 4px 16px rgba(13, 27, 53, .35);
}

.hsf-btn i {
  font-size: 18px;
}

.live-result {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 999;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
  max-height: 280px;
  overflow-y: auto;
}

.live-result li {
  padding: 10px 14px;
  font-size: 13.5px;
  cursor: pointer;
  transition: background .22s ease;
  list-style: none;
}

.live-result li:hover {
  background: var(--light);
}

/* ================================================================
   SECTION COMMONS
   ================================================================ */
.features-section,
.destinations-section,
.blog-section {
  padding: 72px 0;
}

.why-section {
  padding: 72px 0;
  background: #f8fafc;
}

.social-section {
  padding: 48px 0;
  background: var(--light);
}

.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 36px;
  flex-wrap: wrap;
}

.section-header--center {
  justify-content: center;
  text-align: center;
}

.section-header--center .section-title-group {
  align-items: center;
  text-align: center;
}

.section-header-center {
  text-align: center;
  margin-bottom: 40px;
}

.section-label {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
  padding-left: 28px;
  position: relative;
}

.section-label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 2px;
  background: var(--gold);
  border-radius: 2px;
}

.section-title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--text);
  margin-bottom: 0;
  letter-spacing: -.01em;
}

.section-description {
  max-width: 720px;
  margin: 14px auto 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-muted);
}

.section-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--navy);
  border-bottom: 1.5px solid var(--gold);
  padding-bottom: 2px;
  transition: color .22s ease;
  white-space: nowrap;
}

.section-link:hover {
  color: var(--gold-dark);
}

/* ================================================================
   FEATURE CARDS
   ================================================================ */
.features-section {
  background: var(--light) !important;
  margin-top: 0 !important;
  /* style.css -50px overlay fix */
  padding: 64px 0 !important;
  position: relative;
  z-index: 1;
}

.feature-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 32px 24px;
  height: 100%;
  transition: box-shadow .22s ease, transform .22s ease;
  text-align: center;
}

.feature-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}

.feature-icon {
  width: 60px;
  height: 60px;
  background: var(--gold-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  transition: background .22s ease;
}

.feature-card:hover .feature-icon {
  background: var(--gold);
}

.feature-icon i {
  font-size: 26px;
  color: var(--gold-dark);
  transition: color .22s ease;
}

.feature-card:hover .feature-icon i {
  color: var(--navy);
}

.feature-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 8px;
}

.feature-card p {
  font-size: 13.5px;
  color: var(--text-muted);
  margin-bottom: 0;
  line-height: 1.6;
}

/* ================================================================
   DESTINATION CARDS
   ================================================================ */
.destination-card {
  display: block;
  border-radius: var(--radius);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .22s ease, transform .22s ease;
  text-decoration: none !important;
  height: 100%;
}

.destination-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-5px);
}

.destination-card--airport-pricing {
  border: 1px solid var(--border);
  box-shadow: none;
  border-radius: 14px;
}

.destination-card--airport-pricing:hover {
  border-color: rgba(201, 168, 76, .55);
  box-shadow: 0 10px 24px rgba(13, 27, 53, .08);
  transform: translateY(-2px);
}

.destination-card--airport-pricing .destination-content {
  padding: 14px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
}

.destination-origin {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.destination-origin i {
  font-size: 12px;
  color: var(--gold-dark);
}

.destination-row-main {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.destination-row-copy {
  min-width: 0;
}

.destination-card--airport-pricing .destination-title {
  margin-bottom: 0;
  margin-top: 4px;
  font-size: 16px;
  line-height: 1.3;
}

.destination-card--airport-pricing .destination-meta {
  margin-top: 0;
  padding-top: 8px;
  border-top: 1px dashed var(--border);
}

.destination-image {
  position: relative;
  aspect-ratio: var(--transfer-media-ratio);
  height: auto;
  overflow: hidden;
}

.destination-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.destination-card:hover .destination-image img {
  transform: scale(1.07);
}

.destination-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(13, 27, 53, .55) 100%);
}

.destination-overlay {
  display: none;
}

.destination-content {
  padding: 16px 18px;
}

.destination-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 8px;
}

.destination-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.destination-meta span {
  font-size: 12px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.destination-meta span+span::before {
  content: '-';
  color: var(--text-muted);
  margin-right: 2px;
}

.destination-meta span i {
  font-size: 14px;
  color: var(--gold);
}

.destination-excerpt {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.destination-price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0 0;
  border-top: 1px solid var(--border);
}

.price-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .5px;
}

.price-value {
  font-size: 16px;
  font-weight: 800;
  color: var(--navy);
}

/* ================================================================
   WHY US SECTION
   ================================================================ */
.why-section .section-title {
  color: var(--text);
}

.why-section .section-label {
  color: var(--gold);
}

.why-section .section-label::before {
  background: var(--gold);
}

.why-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 32px 24px;
  text-align: center;
  height: auto;
  position: relative;
  overflow: hidden;
  transition: background .22s ease, border-color .22s ease;
}

.why-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #d1d8e3;
}

.why-card:hover {
  background: #fff;
  border-color: var(--gold);
  box-shadow: var(--shadow-md);
}

.why-card:hover::after {
  background: rgba(201, 168, 76, .6);
}

.why-icon {
  width: 60px;
  height: 60px;
  background: rgba(201, 168, 76, .15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
}

.why-icon i {
  font-size: 26px;
  color: var(--gold);
}

.why-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 10px;
}

.why-card p {
  font-size: 13.5px;
  color: var(--text-muted);
  margin-bottom: 0;
  line-height: 1.6;
}

.why-slider .swiper-pagination-bullet {
  background: var(--border);
  opacity: 1;
}

.why-slider .swiper-pagination-bullet-active {
  background: var(--gold);
}

/* ================================================================
   SOCIAL SECTION
   ================================================================ */
.social-grid {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.social-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  background: #fff;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-2);
  text-decoration: none !important;
  transition: border-color .22s ease, color .22s ease, box-shadow .22s ease;
}

.social-item:hover {
  border-color: var(--gold);
  color: var(--gold-dark);
  box-shadow: var(--shadow-sm);
}

.social-item i {
  font-size: 18px;
}

/* ================================================================
   BLOG SECTION
   ================================================================ */
.blog-section {
  background: var(--light);
}

.blog-card {
  background: #fff;
  border: 1px solid #d8e0ea;
  border-radius: var(--radius);
  overflow: hidden;
  height: 100%;
  transition: box-shadow .26s ease, transform .26s ease, border-color .26s ease;
  display: block;
  text-decoration: none !important;
  color: inherit;
  box-shadow: 0 10px 28px rgba(15, 25, 40, 0.07);
}

.blog-card:hover {
  box-shadow: 0 18px 38px rgba(15, 25, 40, 0.14);
  transform: translateY(-6px);
  border-color: #c8d3e2;
  color: inherit;
}

.blog-card-image {
  height: 220px;
  overflow: hidden;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.blog-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.blog-card:hover .blog-card-image img {
  transform: scale(1.06);
}

.blog-card-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.blog-card-category {
  display: inline-flex;
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #efe2c6;
  background: #fff9ef;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--gold-dark);
  margin-bottom: 10px;
}

.blog-card-title {
  font-size: 20px;
  font-weight: 800;
  color: var(--text);
  line-height: 1.35;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card-excerpt {
  font-size: 14px;
  color: #5b6778;
  line-height: 1.68;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 14px;
}

.blog-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 8px;
  margin: 0 0 14px;
  padding: 8px;
  border: 1px solid #e3e9f2;
  border-radius: 12px;
  background: #f5f8fd;
  font-size: 12px;
  color: #5f6c7f;
}

.blog-card-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #e4e9f1;
  font-weight: 600;
}

.blog-card-meta i {
  font-size: 13px;
  color: var(--gold-dark);
}

.blog-card .blog-read-more {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  padding: 9px 14px;
  border-radius: 10px;
  border: 1px solid #dce3ed;
  background: #ffffff;
  color: #14213b;
  font-weight: 700;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.blog-card:hover .blog-read-more {
  transform: translateX(2px);
  border-color: #c9d4e6;
  background: #f3f7ff;
  box-shadow: 0 8px 16px rgba(15, 25, 40, 0.08);
}

/* ================================================================
   FOOTER
   ================================================================ */
.akd-footer {
  background: #f8fafc;
  color: var(--text-2);
  padding: 42px 0 0;
  border-top: 0;
}

.akd-footer-brand-row {
  border-bottom: 0 !important;
}

.akd-footer-logo img {
  max-height: 56px;
  width: auto;
  opacity: .9;
}

.akd-footer-tagline {
  font-size: 13px;
  color: var(--text-muted);
  font-style: italic;
}

.akd-footer-heading {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: var(--gold-dark) !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 13px !important;
  padding-bottom: 0;
  border-bottom: 0;
}

.akd-footer-links {
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.akd-footer-links li {
  margin-bottom: 10px;
}

.akd-footer-links a {
  font-size: 13.5px;
  color: var(--text-muted);
  text-decoration: none !important;
  transition: color .22s ease;
  display: flex;
  align-items: flex-start;
  gap: 4px;
}

.akd-footer-links a:hover {
  color: var(--gold-dark);
}

.akd-footer-links a i {
  flex-shrink: 0;
  margin-top: 3px;
}

.akd-footer-bottom {
  border-top: 0;
  margin-top: 6px;
  padding-top: 8px !important;
  padding-bottom: 4px !important;
}

.akd-footer-bottom small {
  font-size: 12px;
  color: var(--text-muted);
}

.akd-footer-policies {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 4px;
}

.akd-footer-policies a {
  font-size: 11px;
  color: var(--text-muted);
  text-decoration: none !important;
  transition: color .22s ease;
}

.akd-footer-policies a:hover {
  color: var(--gold-dark);
}

.akd-footer-powered img {
  max-height: 28px;
  opacity: .55;
  transition: opacity .22s ease;
}

.akd-footer-powered:hover img {
  opacity: .85;
}

/* ================================================================
   FLOATING BUTTONS
   ================================================================ */
.whatsapp-fixed,
.phone-fixed {
  position: fixed;
  right: 20px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  z-index: 9999;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
  transition: transform .22s ease, box-shadow .22s ease;
  text-decoration: none !important;
}

.whatsapp-fixed {
  background: #25D366;
  bottom: 24px;
}

.phone-fixed {
  background: #009aff;
  bottom: 24px;
}

.whatsapp-fixed:hover,
.phone-fixed:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 22px rgba(0, 0, 0, .28);
}

/* ================================================================
   BOOTSTRAP OVERRIDES
   ================================================================ */
.btn-primary {
  background-color: var(--navy) !important;
  border-color: var(--navy) !important;
  color: #fff !important;
  font-weight: 600;
  border-radius: var(--radius-sm);
}

.btn-primary:hover {
  background-color: var(--navy-600) !important;
  border-color: var(--navy-600) !important;
}

/* ================================================================
   DESTINATION INFO PAGE  (di-*)
   ================================================================ */

/* Hero */
.di-hero {
  position: relative;
  min-height: 0;
  aspect-ratio: var(--transfer-media-ratio);
  display: flex;
  align-items: flex-end;
  padding-top: clamp(14px, 4vw, 72px);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: clamp(14px, 3vw, 48px);
}

.di-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(13, 27, 53, .55) 0%, rgba(13, 27, 53, .82) 100%);
  z-index: 1;
}

.di-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
  font-size: 13px;
  color: #ffffff; 
  flex-wrap: wrap;
}

.di-breadcrumb a {
  color: #ffffff; 
  transition: color .2s ease;
}

.di-breadcrumb a:hover {
  color: var(--gold);
}

.di-breadcrumb i {
  font-size: 14px;
}

.di-breadcrumb span {
  color: var(--gold);
  font-weight: 600;
}

.di-hero-title {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  color: #fff;
  margin: 0 0 12px;
  line-height: 1.2;
}

.di-hero-meta {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.di-hero-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #ffffff; 
  font-weight: 500;
}

.di-hero-meta i {
  color: var(--gold);
}

/* Quick Book Bar */
.di-book-bar {
  background: var(--navy);
  padding: 14px 0;
  border-bottom: 3px solid var(--gold);
  position: sticky;
  top: 72px;
  z-index: 100;
}

.di-book-bar-info {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.di-book-bar-info span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #ffffff; 
  font-weight: 500;
}

.di-book-bar-info i {
  color: var(--gold);
  font-size: 16px;
}

.di-book-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--gold);
  color: var(--navy) !important;
  font-size: 14px;
  font-weight: 700;
  padding: 10px 24px;
  border-radius: var(--radius-sm);
  transition: background .2s ease, transform .2s ease;
  white-space: nowrap;
}

.di-book-btn:hover {
  background: var(--gold-dark);
  transform: translateY(-1px);
}

/* Content section */
.di-content-section {
  padding: 56px 0 40px;
  background: var(--light);
}

.di-content-card {
  background: #fff;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  padding: 32px 28px;
  margin-bottom: 10px;
}

.di-section-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 10px;
  padding-bottom: 4px;
  border-bottom: 2px solid rgba(71, 94, 138, .1);
  display: flex;
  align-items: center;
  gap: 10px;
}

.di-section-title i {
  color: var(--gold);
  font-size: 22px;
}

.di-content-body {
  font-size: 15px;
  color: var(--text-2);
  line-height: 1.8;
}

.di-map-card {
  padding: 15px;
}

.di-map-wrap {
  border-radius: 10px;
  overflow: hidden;
}

.di-map-wrap iframe {
  display: block;
  width: 100%;
  min-height: 320px;
  border: none;
}

/* Sidebar */
.di-sidebar {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.di-sidebar-card {
  background: #fff;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  padding: 28px 24px;
}

.di-sidebar-book {
  text-align: center;
  background: #fff;
  border: 1px solid var(--border);
}

.di-sidebar-icon {
  width: 64px;
  height: 64px;
  background: rgba(201, 168, 76, .18);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.di-sidebar-icon i {
  font-size: 30px;
  color: var(--gold);
}

.di-sidebar-book h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 10px;
}

.di-sidebar-book p {
  font-size: 13.5px;
  color: var(--text-muted);
  margin-bottom: 20px;
}

.di-book-btn-lg {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--gold);
  color: var(--navy) !important;
  font-size: 15px;
  font-weight: 700;
  padding: 13px 20px;
  border-radius: var(--radius-sm);
  transition: background .2s ease, transform .2s ease;
  letter-spacing: .3px;
}

.di-book-btn-lg:hover {
  background: var(--gold-dark);
  transform: translateY(-2px);
}

.di-sidebar-features h4 {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid rgba(71, 94, 138, .1);
}

.di-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.di-feature-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: var(--text-2);
  font-weight: 500;
}

.di-feature-list li i {
  color: #22c55e;
  font-size: 18px;
  flex-shrink: 0;
}

/* Why section (dark bg) */
.di-why-section {
  background: #f8fafc;
  padding: 72px 0;
}

.di-why-section .section-label {
  color: var(--gold-dark);
}

/* Responsive */

/* ================================================================
   GENERIC UTILITIES
   ================================================================ */
.section-gap {
  padding: 72px 0;
}

.msg-box {
  background: var(--light);
  border-left: 3px solid var(--gold);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 12px 16px;
  font-size: 13.5px;
  color: var(--text-2);
}

.panel-text {
  font-size: 15px;
  color: var(--text-2);
  line-height: 1.75;
}

.panel-text h1,
.panel-text h2,
.panel-text h3,
.panel-text h4,
.panel-text h5,
.panel-text h6 {
  margin-bottom: 10px;
}

.panel-text p {
  margin-bottom: 12px;
}

.panel-text ul {
  padding-left: 20px;
  list-style: disc;
}

.panel-text img,
.panel-text iframe,
.panel-text video {
  max-width: 100%;
}

.panel-text iframe {
  width: 100%;
}

.dotted-gradient {
  height: 30px;
  border-left: 2px dashed rgba(13, 27, 53, .25);
  margin-left: 7px;
}

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

/* ================================================================
   LIGHT THEME REFRESH
   ================================================================ */
:root {
  --navy: #2f6f9f;
  --navy-800: #255b83;
  --navy-600: #4288b8;
  --navy-100: #e5f2fb;
  --gold: #b98a2e;
  --gold-dark: #8f681f;
  --gold-light: #fff4d9;
  --white: #ffffff;
  --light: #f7fbff;
  --light-alt: #edf5fb;
  --text: #15233a;
  --text-2: #314158;
  --text-muted: #66758a;
  --border: #dbe7f1;
  --shadow-sm: 0 1px 4px rgba(24, 57, 88, .06), 0 2px 10px rgba(24, 57, 88, .04);
  --shadow-md: 0 8px 22px rgba(24, 57, 88, .08);
  --shadow-lg: 0 18px 44px rgba(24, 57, 88, .12);
  --c-bg: #f7fbff;
  --brand-primary: var(--navy);
  --brand-gold: var(--gold);
  --brand-gold-dark: var(--gold-dark);
  --brand-dark: var(--text);
  --brand-light: #f7fbff;
  --background-color: #fafdff;
  --main-color: var(--navy);
  --alternate-color: #dceef8;
  --main-text-color: var(--text);
  --soft-text-color: var(--text-muted);
  --button-color: var(--navy);
  --button-hover-color: var(--navy-600);
  --border-color: rgba(47, 111, 159, .16);
  --transparent-color: rgba(47, 111, 159, .09);
  --transparent-color-2: rgba(47, 111, 159, .05);
}

body {
  background: #fafdff;
}

.akd-navbar,
.akd-navbar.scrolled {
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid #dbe7f1;
  box-shadow: 0 10px 28px rgba(24, 57, 88, .08);
  color: var(--text);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.akd-brand-name {
  color: var(--text);
}

.akd-brand-tagline {
  color: var(--gold-dark);
}

.akd-nav-link {
  color: #20314a !important;
}

.akd-nav-link:hover,
.akd-nav-link.active {
  color: var(--navy) !important;
  background: #eef6fc;
}

.akd-nav-links .akd-nav-link::before {
  background: linear-gradient(90deg, rgba(47, 111, 159, 0) 0%, rgba(47, 111, 159, .95) 52%, rgba(47, 111, 159, 0) 100%);
}

.akd-reservation-cta {
  color: #ffffff !important;
  border-color: rgba(47, 111, 159, .25);
  background: linear-gradient(135deg, #4d9ac7 0%, #2f6f9f 100%);
  box-shadow: 0 8px 18px rgba(47, 111, 159, .2);
}

.akd-reservation-cta:hover {
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(47, 111, 159, .24);
}

.akd-lang-btn {
  color: var(--text) !important;
  border-color: #dbe7f1;
  background: #f7fbff;
}

.akd-lang-btn:hover {
  color: var(--navy) !important;
  background: #eef6fc;
  border-color: #bfd8eb;
}

.akd-lang-btn.dropdown-toggle::after,
.akd-lang-btn:hover::after,
.akd-lang-btn.show::after {
  color: var(--text);
}

.akd-toggler {
  border-color: #cad9e6 !important;
  background: #ffffff;
}

.akd-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%2320334f' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.4' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;
}

.section-gray,
.section-blue,
.why-section,
.services-section,
.destinations-section {
  background: #f7fbff;
}

.main-btn,
.showcase-form .main-btn,
.hsf-btn,
.btn-primary {
  background: linear-gradient(135deg, #4d9ac7 0%, #2f6f9f 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(47, 111, 159, .18);
}

.main-btn:hover,
.showcase-form .main-btn:hover,
.hsf-btn:hover,
.btn-primary:hover {
  background: linear-gradient(135deg, #5ca8d2 0%, #347aa9 100%) !important;
  border-color: transparent !important;
}

.hsf-input-wrap:focus-within {
  border-color: var(--navy);
  box-shadow: 0 0 0 3px rgba(47, 111, 159, .13);
}

.hsf-icon,
.hero-title-sub,
.section-label,
.section-header--center .section-label {
  color: var(--navy);
}

.di-book-bar {
  background: #ffffff;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 10px 24px rgba(24, 57, 88, .08);
}

.di-book-bar-info span {
  color: var(--text-2);
}

.di-book-btn {
  background: linear-gradient(135deg, #4d9ac7 0%, #2f6f9f 100%);
  color: #ffffff !important;
}

.akd-footer {
  background: #f7fbff;
  border-top: 1px solid #e2edf6;
}


/* ================================================================
   Bundled from ecevip-ui-enhancements.css
   ================================================================ */
/* ================================================================
   ECE VIP UI Enhancements v3.0
   Minimal overrides — main design lives in ecevip-design.css
   ================================================================ */

/* Font face (local/CDN fallback) */
@font-face {
    font-family: "Material Design Icons";
    src: url("mdi/materialdesignicons-webfont.woff2?v=7.1.96") format("woff2"),
        url("mdi/materialdesignicons-webfont.woff?v=7.1.96") format("woff"),
        url("mdi/materialdesignicons-webfont.ttf?v=7.1.96") format("truetype");
    font-weight: normal;
    font-style: normal;
}

/* Focus ring */
:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
    border-radius: 4px;
}

/* ── Reservation step 2/3 preserve ── */
.f-white {
    color: #fff !important;
}

.semibold {
    font-weight: 600;
}

.bold {
    font-weight: 700;
}

.pointer {
    cursor: pointer;
}

.dmb {
    display: block;
}

/* Select2 base override */
.select2-container--default .select2-selection--single {
    border: none;
    background: transparent;
    height: 26px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--text, #1A202C);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 0;
    height: 26px;
}

/* Spinner / loader */
#loader {
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, .75);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

#loader.d-none {
    display: none !important;
}

.spinner {
    width: 42px;
    height: 42px;
    border: 4px solid var(--border, #DDE2EA);
    border-top-color: var(--gold, #C9A84C);
    border-radius: 50%;
    animation: spin .8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Modal */
.modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0, 0, 0, .6);
    padding: 20px;
    overflow-y: auto;
}

.modal-content {
    background: #fff;
    max-width: 680px;
    margin: 60px auto;
    border-radius: 16px;
    padding: 32px;
    position: relative;
}

.modal-content .close {
    position: absolute;
    top: 14px;
    right: 18px;
    font-size: 24px;
    cursor: pointer;
    color: #999;
    line-height: 1;
}

.modal-content .close:hover {
    color: #333;
}

/* Six-hour warning modal */
#modal-container {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10001;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .65);
}

#modal-container.six {
    display: flex;
}

.modall {
    background: #fff;
    border-radius: 16px;
    padding: 32px 28px;
    max-width: 420px;
    width: 90%;
    text-align: center;
}

/* intl-tel-input reset */
.iti {
    display: block !important;
    width: 100% !important;
}

.iti input[type=tel] {
    height: 26px !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    width: 100% !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1A202C !important;
    padding: 0 !important;
}

.iti--separate-dial-code .iti__selected-flag {
    background: transparent !important;
    border-right: 1px solid #DDE2EA;
    padding-right: 8px;
    margin-right: 2px;
}

/* ── Destination Hero Showcase Refresh ── */
.di-hero {
    overflow: hidden;
    aspect-ratio: auto !important;
    min-height: clamp(470px, 74vh, 680px);
    align-items: flex-end;
    padding-top: clamp(24px, 3.6vw, 48px);
    padding-bottom: clamp(62px, 5vw, 72px);
}

.di-hero-container {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: clamp(12px, 1.8vw, 26px);
    padding-right: clamp(12px, 1.8vw, 26px);
}

.di-hero::before {
    content: "";
    position: absolute;
    right: -120px;
    top: -120px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(214, 177, 78, 0.35) 0%, rgba(214, 177, 78, 0) 68%);
    z-index: 1;
    pointer-events: none;
}

.di-hero-overlay {
    background:
        linear-gradient(120deg, rgba(8, 24, 48, 0.82) 0%, rgba(8, 24, 48, 0.68) 48%, rgba(8, 24, 48, 0.78) 100%),
        linear-gradient(180deg, rgba(9, 22, 43, 0.35) 0%, rgba(9, 22, 43, 0.82) 100%);
}

.di-hero-shell {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    transform: none;
    position: relative;
    padding-bottom: clamp(78px, 7vw, 102px);
}

.di-hero-card {
    width: 100%;
    padding: clamp(14px, 1.8vw, 24px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: linear-gradient(180deg, rgba(8, 21, 41, 0.56) 0%, rgba(8, 21, 41, 0.42) 100%);
    backdrop-filter: blur(4px);
    box-shadow: 0 20px 48px rgba(5, 17, 36, 0.28);
    position: relative;
    overflow: hidden;
    animation: diHeroFadeUp .55s ease both;
}

.di-hero-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, rgba(210, 170, 70, 0.95) 0%, rgba(210, 170, 70, 0) 58%);
}

.di-hero-title {
    text-shadow: 0 6px 22px rgba(3, 10, 22, 0.55);
    margin-bottom: 12px;
}

.di-hero-meta {
    margin-bottom: 12px;
}

.di-hero-meta span {
    padding: 6px 10px;
    border-radius: 8px;
    background: rgba(7, 20, 40, 0.4);
}

.di-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.di-hero-tags span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(7, 21, 43, 0.45);
    color: #ffffff; 
    font-size: 12.5px;
    font-weight: 600;
}

.di-hero-tags i {
    color: #e0bc61;
    font-size: 15px;
}

.di-hero-search-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: clamp(8px, 1.2vw, 12px);
    z-index: 4;
    transform: none;
}

/* Destination detail hero split layout: title left, form right */
.page-destination-info .di-hero-shell--split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    gap: clamp(12px, 1.8vw, 22px);
    align-items: stretch;
    padding-bottom: 0;
}

.page-destination-info .di-hero-shell--split > * {
    min-height: 100%;
}

.page-destination-info .di-hero-shell--split .di-hero-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page-destination-info .di-hero-shell--split .di-hero-search-wrap {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    display: flex;
    align-items: stretch;
    height: 100%;
}

.page-destination-info .di-hero-shell--split .di-hero-search-wrap .lux-booking-card {
    width: 100%;
    max-width: 100%;
    height: 100%;
    justify-content: center;
}

.page-destination-info .di-hero-shell--split .di-hero-search-wrap .hero-search-card {
    margin-top: 0;
}

.page-destination-info .di-hero-shell--split .di-hero-search-wrap .hero-search-form {
    width: 100%;
}

.page-destination-info .di-hero-search-wrap--home-lux .hsf-row {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

.page-destination-info .di-hero-search-wrap--home-lux .hsf-field {
    border-right: 0;
}

.page-destination-info .di-hero-search-wrap--home-lux .hsf-submit--cta {
    padding-left: 0;
}

.page-destination-info .di-hero-search-wrap--home-lux .hsf-btn span {
    display: inline;
}

/* Destination detail: home-style flatpickr time picker */

.ece-flatpickr-confirm{
        width: 100%;
    border: none;
    height: 30px;
}
.ece-flatpickr-confirm > i{
    font-size: 20px;
}
.page-destination-info .flatpickr-calendar.noCalendar.hasTime {
    background: #ffffff !important;
    border: 1px solid #d4d9e2 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2) !important;
    padding: 0 !important;
    min-width: 0 !important;
    display: block !important;
    overflow: hidden !important;
}

.page-destination-info .flatpickr-calendar.noCalendar.hasTime::before,
.page-destination-info .flatpickr-calendar.noCalendar.hasTime::after {
    display: none !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-innerContainer {
    overflow: visible !important;
    display: block !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time,
.page-destination-info .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
    padding: 0 !important;
    margin-bottom: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
    background: transparent !important;
    border-top: 0 !important;
    line-height: 1 !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper {
    display: block !important;
    width: 58px !important;
    height: 78px !important;
    flex: 0 0 58px !important;
    float: none !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: none !important;
    background: transparent !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp,
.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    opacity: 1 !important;
    visibility: visible !important;
    line-height: 1 !important;
    overflow: visible !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp {
    top: 2px !important;
    bottom: auto !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown {
    bottom: 2px !important;
    top: auto !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp:hover,
.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown:hover {
    background: transparent !important;
    opacity: 0.75 !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp::after,
.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown::after {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #0f1d37 !important;
    border: none !important;
    background: none !important;
    position: static !important;
    line-height: 1 !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp::after {
    content: "\25B4" !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown::after {
    content: "\25BE" !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time input.numInput {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 46px !important;
    height: 40px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0f1d37 !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    line-height: 1 !important;
}

.page-destination-info .flatpickr-calendar .flatpickr-time .flatpickr-time-separator {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #0f1d37 !important;
    padding: 0 4px !important;
    margin: 0 !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
}

.di-hero-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.35fr) minmax(0, 0.85fr) minmax(0, 0.75fr) auto;
    gap: 0;
    align-items: stretch;
    padding: 8px 10px 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(19, 42, 73, 0.16);
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(7, 18, 38, 0.26);
}

.di-hsf-field {
    min-width: 0;
    padding: 0 14px;
    border-right: 1px solid #e6ebf3;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.di-hsf-field--time {
    border-right: 0;
}

.di-hsf-label {
    display: block;
    margin-bottom: 2px;
    font-size: 9.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #6a7890;
}

.di-hsf-input-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    min-height: 24px;
    border-radius: 0;
    border: 0;
    background: transparent;
}

.di-hsf-input-wrap i {
    color: #214675;
    font-size: 18px;
}

.di-hsf-input-wrap input {
    width: 100%;
    min-width: 0;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    color: #10223d;
    font-size: 15px;
    font-weight: 700;
}

.di-hsf-input-wrap input[readonly] {
    cursor: default;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.di-hsf-submit {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-left: 10px;
}

.di-hsf-btn {
    border: 0;
    min-height: 56px;
    padding: 0 30px;
    border-radius: 999px;
    background: #d2aa46;
    color: #0c2340;
    font-size: 15px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
    white-space: nowrap;
}

.di-hsf-btn:hover {
    background: #c59a2f;
    transform: translateY(-1px);
}

.di-content-section {
    padding-top: clamp(26px, 3.8vw, 50px);
}

/* Destination detail hero uses homepage form behavior (from inc/form.php) */
.di-hero-search-wrap .hero-search-form {
    width: 100%;
}

.di-hero-search-wrap .hsf-row {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(0, 1.28fr) minmax(0, 0.82fr) minmax(0, 0.78fr) minmax(0, 0.62fr) minmax(0, 0.52fr) auto;
    gap: 0;
    align-items: stretch;
    padding: 8px 10px 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(19, 42, 73, 0.16);
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(7, 18, 38, 0.26);
}

.di-hero-search-wrap .hsf-divider {
    display: none;
}

.di-hero-search-wrap .hsf-field {
    min-width: 0;
    width: auto;
    padding: 0 12px;
    border-right: 1px solid #e6ebf3;
}

.di-hero-search-wrap .hsf-field--sm {
    width: auto;
}

.di-hero-search-wrap .hsf-field--currency {
    border-right: 0;
}

.di-hero-search-wrap .hsf-input-wrap {
    min-height: 24px;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.di-hero-search-wrap .hsf-input-wrap:focus-within {
    border: 0;
    box-shadow: none;
}

.di-hero-search-wrap .hsf-icon {
    color: #214675;
    font-size: 18px;
}

.di-hero-search-wrap .hsf-label {
    margin-bottom: 2px;
    font-size: 9.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #6a7890;
}

.di-hero-search-wrap .hsf-input,
.di-hero-search-wrap #passenger-text,
.di-hero-search-wrap #kur-text {
    color: #10223d;
    font-size: 15px;
    font-weight: 700;
}

.di-hero-search-wrap .hsf-submit--cta {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 10px;
}

.di-hero-search-wrap .hsf-btn {
    width: 56px;
    height: 56px;
    min-height: 56px;
    padding: 0;
    border-radius: 50%;
    background: #d2aa46;
    color: #0c2340;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    white-space: nowrap;
    box-shadow: none;
}

.di-hero-search-wrap .hsf-btn:hover {
    background: #c59a2f;
    transform: translateY(-1px);
}

.di-hero-search-wrap .hsf-btn i {
    font-size: 34px;
    margin: 0;
}

.di-hero-search-wrap .hsf-btn span {
    display: none;
}

.di-hero-search-wrap .live-result {
    top: auto;
    bottom: calc(100% + 8px);
    border-radius: 12px;
    border: 1px solid #d8deea;
    box-shadow: 0 16px 30px rgba(12, 24, 46, 0.24);
}

.di-hero-search-wrap .paxs {
    top: auto;
    bottom: calc(100% + 8px);
    left: 0;
    right: auto;
    transform: none;
    border-radius: 14px;
    border: 1px solid #d8deea;
    box-shadow: 0 16px 30px rgba(12, 24, 46, 0.24);
}

.di-hero-search-wrap .hsf-field--currency .kurs.paxs {
    left: auto;
    right: 0;
}

.page-destination-info .di-hero-search-wrap--home-lux .live-result {
    top: calc(100% + 6px);
    bottom: auto;
}

.page-destination-info .di-hero-search-wrap--home-lux .paxs,
.page-destination-info .di-hero-search-wrap--home-lux .hsf-field--currency .kurs.paxs {
    top: calc(100% + 8px);
    bottom: auto;
}

@keyframes diHeroFadeUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Passenger Dropdown Fixes ── */
.passenger-line .input-group {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: 120px !important;
    min-width: 120px !important;
}

.passenger-line .input-group .btn {
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    max-height: 32px !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
}

.passenger-line .input-group input {
    height: 32px !important;
    padding: 0 !important;
    text-align: center !important;
    border: none !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    min-width: 0 !important;
    width: 100% !important;
    flex: 1 1 auto !important;
}

.passenger-line .ece-passenger-spinner {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    width: 108px;
    min-width: 108px;
}

.passenger-line .ece-passenger-spinner-source {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.passenger-line .ece-passenger-spinner__btn {
    width: 30px;
    height: 30px;
    border: 1px solid rgba(30, 58, 95, 0.18);
    border-radius: 7px;
    background: #f7f9fc;
    color: var(--navy);
    font-size: 18px;
    line-height: 1;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-shadow: none;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.passenger-line .ece-passenger-spinner__btn:hover,
.passenger-line .ece-passenger-spinner__btn:focus-visible {
    background: #eef3fa;
    border-color: rgba(30, 58, 95, 0.28);
    color: var(--gold-dark);
    outline: none;
}

.passenger-line .ece-passenger-spinner__input {
    width: 40px;
    height: 30px;
    border: 1px solid rgba(30, 58, 95, 0.18);
    border-radius: 7px;
    background: #fff;
    color: var(--navy);
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    padding: 0 2px;
}

.passenger-line .ece-passenger-spinner__input:focus {
    outline: none;
    border-color: rgba(212, 172, 81, 0.7);
    box-shadow: 0 0 0 2px rgba(212, 172, 81, 0.16);
}

.lux-booking-card .hero-search-form--lux .paxs,
.di-hero-search-wrap--home-lux .paxs {
    padding: 8px !important;
    border-radius: 12px !important;
}

.lux-booking-card .hero-search-form--lux .pax-row,
.di-hero-search-wrap--home-lux .pax-row {
    margin-bottom: 8px;
}

.lux-booking-card .hero-search-form--lux .pax-row:last-child,
.di-hero-search-wrap--home-lux .pax-row:last-child {
    margin-bottom: 0;
}

.lux-booking-card .hero-search-form--lux .passenger-line,
.di-hero-search-wrap--home-lux .passenger-line {
    gap: 8px;
    align-items: center;
}

.lux-booking-card .hero-search-form--lux .passenger-line label,
.di-hero-search-wrap--home-lux .passenger-line label {
    font-size: 12px;
    font-weight: 600;
    color: #445068;
    letter-spacing: 0;
    line-height: 1.2;
    flex: 1 1 auto;
}

/* ── Currency Dropdown Fixes ── */
.kurs.paxs {
    z-index: 10000 !important;
}

.kur-item {
    position: relative;
    z-index: 10001;
}

.kur-item:hover {
    background: #f5f7fa;
    color: var(--gold-dark);
}

/* ── Blog Grid Fixes ── */
.blog-grid {
    background:
        radial-gradient(1000px 400px at 10% 0%, rgba(201, 168, 76, 0.08), rgba(201, 168, 76, 0) 70%),
        linear-gradient(180deg, #f8fbff 0%, #f4f7fc 100%) !important;
}

.blog-grid .row {
    row-gap: 24px;
}

.blog-grid .blog-grid-item {
    margin-bottom: 0 !important;
    display: flex;
}

.blog-grid .blog-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 100% !important;
    background: #ffffff !important;
    border: 1px solid #d3dcea !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 34px rgba(8, 22, 48, 0.08) !important;
    transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease !important;
    text-decoration: none !important;
}

.blog-grid .blog-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(201, 168, 76, 0) 0%, rgba(201, 168, 76, 0.95) 52%, rgba(201, 168, 76, 0) 100%);
    opacity: .85;
    z-index: 2;
}

.blog-grid .blog-card:hover,
.blog-grid .blog-card:focus-visible {
    transform: translateY(-8px) !important;
    border-color: #c7d3e4 !important;
    box-shadow: 0 26px 52px rgba(8, 22, 48, 0.16) !important;
}

.blog-grid .blog-image {
    position: relative !important;
    height: 230px !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    overflow: hidden !important;
}

.blog-grid .blog-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 14, 28, 0) 40%, rgba(6, 14, 28, 0.24) 100%);
    z-index: 1;
    pointer-events: none;
}

.blog-grid .blog-image > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: scale(1) !important;
    transition: transform .55s ease !important;
}

.blog-grid .blog-card:hover .blog-image > img,
.blog-grid .blog-card:focus-visible .blog-image > img {
    transform: scale(1.06) !important;
}

.blog-grid .blog-content {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px 20px 20px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

.blog-grid .blog-content h3 {
    margin: 0 0 10px !important;
    color: #0f2342 !important;
    font-size: 24px !important;
    line-height: 1.32 !important;
    font-weight: 700 !important;
    letter-spacing: -0.2px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-grid .blog-content p {
    margin: 0 0 14px !important;
    color: #5b6778 !important;
    line-height: 1.68 !important;
    font-size: 15px !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-grid .blog-content .blog-card-meta,
.blog-grid .blog-content .date {
    margin: 0 0 12px !important;
    padding: 8px !important;
    border: 1px solid #e1e8f2 !important;
    border-radius: 13px !important;
    background: #f5f8fd !important;
    display: flex;
    flex-wrap: wrap;
    gap: 7px 8px;
    font-size: 12px;
    line-height: 1.45;
    color: #5f6c7f;
}

.blog-grid .blog-content .blog-card-meta span,
.blog-grid .blog-content .date span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #e3e9f1;
    font-weight: 600;
    white-space: nowrap;
}

.blog-grid .blog-content .blog-card-meta i,
.blog-grid .blog-content .date i {
    color: #be8f3f;
}

.blog-grid .blog-content .blog-card-category {
    display: inline-flex;
    width: fit-content;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #efe2c6;
    background: #fff9ef;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #a87621;
    margin: 0 0 10px !important;
}

.blog-grid .blog-content .blog-read-more {
    margin-top: auto !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 10px 15px;
    border-radius: 11px;
    border: 1px solid #d9e1ed;
    background: #ffffff;
    color: #14213b;
    font-weight: 700;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease;
}

.blog-grid .blog-card:hover .blog-content .blog-read-more,
.blog-grid .blog-card:focus-visible .blog-content .blog-read-more {
    transform: translateX(2px);
    border-color: #d5bc7a;
    background: linear-gradient(135deg, #f2dfb4 0%, #caa24a 100%);
    color: #0f2342;
    box-shadow: 0 10px 20px rgba(18, 34, 63, 0.15);
}

/* ── Blog Detail Modernization ── */
.blog-detail-page .page-header {
    background-size: cover !important;
    /* Keep inline img_focal('blog', ...) background-position effective */
}

/* Preserve admin ratio/focal on all breakpoints (no extra outer padding/min-height distortion) */
.blog-detail-page .page-header.blog-hero {
    padding: 0 !important;
    min-height: 0 !important;
}

.blog-detail-page .page-header.blog-hero > .container {
    height: 100%;
    display: flex;
    align-items: flex-end;
    box-sizing: border-box;
    padding-top: clamp(16px, 4vw, 44px);
    padding-bottom: clamp(16px, 4vw, 44px);
}

.blog-detail-page .page-header::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 18, 33, 0.65) 0%, rgba(10, 18, 33, 0.35) 60%, rgba(10, 18, 33, 0.75) 100%);
    z-index: 1;
}

.blog-detail-page .page-header-content {
    text-align: left !important;
    max-width: 860px;
    margin: 0 auto;
}

.blog-detail-page .page-breadcrumb {
    justify-content: flex-start !important;
}

.blog-detail-page .page-title {
    font-size: clamp(24px, 3vw, 44px) !important;
    margin-bottom: 12px !important;
    line-height: 1.2;
}

.blog-detail-page .page-meta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff; 
    font-weight: 600;
}

.blog-detail-page .blog-detail-container {
    background: #f7f9fc !important;
    padding-top: clamp(22px, 3vw, 40px);
}

.blog-detail-page .blog-detail-content {
    background: #ffffff;
    border: 1px solid #eef2f8;
    border-radius: 18px;
    padding: clamp(18px, 2.6vw, 26px) clamp(18px, 2.8vw, 30px);
    box-shadow: 0 12px 40px rgba(20, 35, 70, 0.08);
}

.blog-detail-page .blog-detail-layout {
    row-gap: 24px;
}

.blog-detail-page .blog-detail-sidebar {
    position: sticky;
    top: 96px;
}

.blog-detail-page .blog-detail-sidebar-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid #eef2f8;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 12px 40px rgba(20, 35, 70, 0.08);
}

.blog-detail-page .blog-detail-sidebar-title {
    font-size: clamp(20px, 1.5vw, 26px);
    line-height: 1.2;
    color: var(--brand-primary);
    margin: 0 0 16px;
}

.blog-detail-page .blog-detail-related-list {
    display: grid;
    gap: 14px;
}

.blog-detail-page .blog-detail-related-item {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
    border: 1px solid #e7edf5;
    border-radius: 14px;
    background: #ffffff;
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.blog-detail-page .blog-detail-related-item:hover,
.blog-detail-page .blog-detail-related-item:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(20, 35, 70, 0.10);
    border-color: #d5dfeb;
    color: inherit;
}

.blog-detail-page .blog-detail-related-thumb {
    min-height: 100%;
    overflow: hidden;
    background: #eaf0f8;
}

.blog-detail-page .blog-detail-related-thumb img {
    width: 100%;
    height: 100%;
    min-height: 108px;
    display: block;
    object-fit: cover;
}

.blog-detail-page .blog-detail-related-body {
    padding: 12px 12px 12px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
}

.blog-detail-page .blog-detail-related-date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #8a6b1b;
}

.blog-detail-page .blog-detail-related-body strong {
    font-size: 16px;
    line-height: 1.35;
    color: #15233d;
}

.blog-detail-page .blog-detail-related-body p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: #5f6c7f;
}

.blog-detail-page .detail-image {
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 24px;
}

.blog-detail-page .detail-image img {
    display: block;
    width: 100%;
    height: auto;
}

.blog-detail-page .detail-body {
    font-size: 17px;
    line-height: 1.85;
    color: #24314d;
}

.blog-detail-page .detail-body h1,
.blog-detail-page .detail-body h2,
.blog-detail-page .detail-body h3 {
    color: var(--brand-primary);
    margin: 26px 0 12px;
    line-height: 1.35;
}

.blog-detail-page .detail-body p {
    margin-bottom: 18px;
}

.blog-detail-page .detail-body > *:first-child {
    margin-top: 0 !important;
}

.blog-detail-page .detail-body > *:last-child {
    margin-bottom: 0 !important;
}

.blog-detail-page .detail-body ul,
.blog-detail-page .detail-body ol {
    padding-left: 22px;
    margin-bottom: 18px;
}

.blog-detail-page .detail-body li {
    margin-bottom: 8px;
}

.blog-detail-page .blog-detail-cta-card {
    margin-top: clamp(24px, 3.2vw, 34px);
    display: flex;
    align-items: center;
    gap: 16px;
    padding: clamp(16px, 2vw, 24px);
    border-radius: 16px;
    border: 1px solid #dfe7f2;
    background: linear-gradient(120deg, #f2f6fc 0%, #ffffff 58%, #f8fbff 100%);
    box-shadow: 0 10px 28px rgba(20, 35, 70, 0.08);
}

.blog-detail-page .blog-detail-cta-card--sidebar {
    margin-top: 0;
    margin-bottom: 16px;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    border-color: rgba(201, 168, 76, 0.35);
    background: radial-gradient(circle at 14% 12%, rgba(58, 92, 152, 0.38) 0%, rgba(16, 35, 64, 0.95) 50%, rgba(10, 24, 46, 0.98) 100%);
    box-shadow: 0 18px 34px rgba(12, 26, 48, 0.26);
}

.blog-detail-page .blog-detail-cta-card--sidebar .blog-detail-cta-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 12px;
    font-size: 21px;
    background: linear-gradient(145deg, rgba(201, 168, 76, 0.98) 0%, rgba(174, 133, 37, 0.98) 100%);
    color: #10223f;
    box-shadow: 0 10px 20px rgba(7, 14, 27, 0.25);
}

.blog-detail-page .blog-detail-cta-card--sidebar .blog-detail-cta-eyebrow {
    background: rgba(201, 168, 76, 0.18);
    color: #f3dfad;
}

.blog-detail-page .blog-detail-cta-card--sidebar .blog-detail-cta-copy h2 {
    color: #f7fbff;
    font-size: clamp(24px, 1.9vw, 32px);
}

.blog-detail-page .blog-detail-cta-card--sidebar .blog-detail-cta-copy p {
    color: rgba(230, 238, 252, 0.84);
}

.blog-detail-page .blog-detail-cta-card--sidebar .blog-detail-cta-btn {
    width: 100%;
    min-height: 50px;
}

.blog-detail-page .blog-detail-cta-card.is-scroll-target {
    animation: blogCtaPulse 0.9s ease;
}

.blog-mobile-reserve-btn {
    display: none;
}

@keyframes blogCtaPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(201, 168, 76, 0.45), 0 18px 34px rgba(12, 26, 48, 0.26);
    }

    100% {
        box-shadow: 0 0 0 22px rgba(201, 168, 76, 0), 0 18px 34px rgba(12, 26, 48, 0.26);
    }
}

.blog-detail-page .blog-detail-cta-icon {
    width: 54px;
    height: 54px;
    min-width: 54px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, var(--brand-primary) 0%, #1e3c6f 100%);
    color: #fff;
    font-size: 24px;
    box-shadow: 0 12px 24px rgba(19, 40, 73, 0.22);
}

.blog-detail-page .blog-detail-cta-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.blog-detail-page .blog-detail-cta-eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 8px;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(201, 168, 76, 0.16);
    color: #7a5b11;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.blog-detail-page .blog-detail-cta-copy h2 {
    margin: 0 0 6px;
    font-size: clamp(20px, 1.7vw, 28px);
    line-height: 1.2;
    color: #11233f;
}

.blog-detail-page .blog-detail-cta-copy p {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    color: #4f5f77;
}

.blog-detail-page .blog-detail-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 12px;
    background: linear-gradient(135deg, #f3dfad 0%, #c9a84c 100%);
    color: #0d1b35;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    border: 1px solid rgba(181, 146, 59, 0.5);
    box-shadow: 0 12px 24px rgba(18, 33, 58, 0.12);
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
    white-space: nowrap;
}

.blog-detail-page .blog-detail-cta-btn:hover,
.blog-detail-page .blog-detail-cta-btn:focus-visible {
    color: #0d1b35;
    transform: translateY(-2px);
    filter: brightness(1.02);
    box-shadow: 0 16px 28px rgba(18, 33, 58, 0.18);
}

.blog-detail-page .blog-detail-cta-btn i {
    font-size: 16px;
}

/* Blog detail reservation modal */
.blog-booking-modal .modal-dialog {
    max-width: 840px;
    margin: 1.4rem auto;
}

.blog-booking-modal .modal-content.blog-booking-modal__content {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
    overflow: visible;
}

.blog-booking-modal__inner {
    padding: 0;
}

.blog-booking-modal__close,
.blog-booking-modal .close {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    float: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 999px;
    background: rgba(8, 20, 40, 0.86);
    color: #f6f8fc !important;
    opacity: 1;
    font-size: 24px;
    text-shadow: none;
    transition: background-color .2s ease, transform .2s ease;
    z-index: 50;
}

.blog-booking-modal__close:hover,
.blog-booking-modal__close:focus-visible,
.blog-booking-modal .close:hover,
.blog-booking-modal .close:focus-visible {
    background: rgba(8, 20, 40, 1);
    transform: scale(1.04);
}

.blog-booking-modal__close > span,
.blog-booking-modal .close > span {
    line-height: 1;
    transform: translateY(-1px);
}

.blog-booking-modal .blog-modal-lux-card {
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
    position: relative;
}

/* ── Entity FAQ Accordion (Blog + Destination Detail) ── */
.entity-faq-wrap {
    margin-top: clamp(28px, 4vw, 40px);
}

.entity-faq-title {
    font-size: clamp(21px, 1.8vw, 31px);
    margin: 0 0 16px;
    color: #051a32;
    font-weight: 800;
    line-height: 1.15;
}

.entity-faq-accordion {
    display: grid;
    gap: 16px;
}

.entity-faq-item {
    border: 1px solid #d9dfe8;
    border-radius: 10px !important;
    overflow: hidden;
    box-shadow: none;
    background: #fff;
    transition: border-color 0.25s ease, background-color 0.25s ease;
}

.entity-faq-item:hover {
    border-color: #c8d2df;
    background-color: #fcfdff;
}

.entity-faq-head {
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
}

.entity-faq-btn {
    border: 0;
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    color: #061b33;
    background: #fff;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
}

.entity-faq-btn:hover {
    background: #fff;
}

.entity-faq-btn:focus {
    outline: none;
}

.entity-faq-btn::before {
    content: "+";
    width: 22px;
    min-width: 22px;
    font-size: clamp(17px, 1.4vw, 27px);
    line-height: 1;
    font-weight: 500;
    color: #061b33;
    text-align: center;
    transform: translateY(-1px);
}

.entity-faq-btn:not(.collapsed)::before {
    content: "−";
}

.entity-faq-question {
    flex: 1 1 auto;
    min-width: 0;
}

.entity-faq-bullet,
.entity-faq-arrow {
    display: none !important;
}

.entity-faq-answer {
    border-top: 1px solid #dfe4eb;
    padding: 14px 20px 16px 56px;
    background: #fff;
    color: #4a4c68;
    font-size: 14px;
    line-height: 1.6;
}

.entity-faq-answer p:last-child {
    margin-bottom: 0;
}

.entity-faq-answer a {
    color: #1f4e95;
    text-decoration: underline;
}

.entity-faq-card .entity-faq-accordion {
    margin-top: 2px;
}

.di-sidebar-faq-card {
    padding: 20px 18px;
}

.di-sidebar-faq-card .entity-faq-wrap {
    margin-top: 0;
}

.di-sidebar-faq-card .entity-faq-title {
    font-size: 22px;
    margin-bottom: 12px;
}

.di-sidebar-faq-card .entity-faq-accordion {
    gap: 10px;
}

.di-sidebar-faq-card .entity-faq-btn {
    padding: 11px 12px;
    font-size: 14px;
    gap: 9px;
}

.di-sidebar-faq-card .entity-faq-btn::before {
    width: 16px;
    min-width: 16px;
    font-size: 18px;
}

.di-sidebar-faq-card .entity-faq-answer {
    padding: 10px 12px 12px 36px;
    font-size: 13px;
    line-height: 1.5;
}

/* ── Destination Hotels List (Left column) ── */
.di-hotels-card {
    padding: 24px 24px 20px;
}

.di-hotels-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
}

.di-hotels-item {
    min-width: 0;
    padding: 2px 0;
}

.di-hotels-link {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    width: 100%;
    color: inherit;
    transition: transform .2s ease, color .2s ease;
    transform-origin: left center;
}

.di-hotels-item i {
    color: var(--gold);
    font-size: 18px;
    line-height: 1.2;
    flex-shrink: 0;
    margin-top: 1px;
    transition: color .2s ease, transform .2s ease;
}

.di-hotels-item span {
    color: #26354f;
    font-size: 15px;
    line-height: 1.4;
    word-break: break-word;
    transition: color .2s ease;
}

.di-hotels-link:hover {
    transform: scale(1.03);
}

.di-hotels-link:hover i,
.di-hotels-link:hover span {
    color: var(--gold);
}

.di-hotels-link:hover i {
    transform: translateX(2px) scale(1.05);
}

.di-hotels-link:focus-visible {
    outline: 2px solid rgba(201, 168, 76, 0.35);
    outline-offset: 2px;
    border-radius: 6px;
}

.di-hotels-scroll {
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 6px;
    scroll-behavior: smooth;
}

.di-hotels-scroll::-webkit-scrollbar {
    width: 8px;
}

.di-hotels-scroll::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #c9a84c 0%, #a57e2d 100%);
    border-radius: 999px;
}

.di-hotels-scroll::-webkit-scrollbar-track {
    background: #edf1f7;
    border-radius: 999px;
}

/* ── Social Section Modernization ── */
.social-section {
    padding: 70px 0;
    background: radial-gradient(1200px 400px at 20% -10%, rgba(211, 175, 110, 0.18), transparent 60%),
                radial-gradient(900px 300px at 90% 10%, rgba(42, 60, 90, 0.12), transparent 60%),
                #f8fafc;
}

.social-section .social-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
}

.social-section .social-item {
    background: #ffffff;
    border: 1px solid #e9eef6;
    border-radius: 14px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    color: var(--brand-primary);
    box-shadow: 0 6px 18px rgba(20, 35, 70, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.social-section .social-item i {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1f5fb;
    font-size: 20px;
    color: var(--brand-primary);
}

.social-section .social-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(20, 35, 70, 0.12);
    border-color: rgba(211, 175, 110, 0.45);
}

/* Brand accents */
.social-item.social-instagram i {
    background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af);
    color: #fff;
}

.social-item.social-facebook i {
    background: #1877f2;
    color: #fff;
}

.social-item.social-tripadvisor i {
    background: #34e0a1;
    color: #0b4a2f;
}

.social-item.social-google i {
    background: #ffffff;
    color: #1a73e8;
    border: 1px solid #e6edf6;
}

.social-item.social-tiktok i {
    background: #0f0f0f;
    color: #25f4ee;
    box-shadow: 2px 0 0 #fe2c55;
}

.social-item.social-google {
    color: #1a1a1a;
}

.social-item.social-tripadvisor {
    color: #0b4a2f;
}

/* ── Gallery Bottom Spacing Fix ── */
.gallery-section {
    padding-bottom: 36px !important;
}

.gallery-section .swiper,
.gallery-section .swiper-wrapper {
    margin-bottom: 0 !important;
}
/* Gallery - force equal thumbs in swiper */
.gallery-section .gallery-item {
  height: 220px;
  aspect-ratio: auto;
}
.gallery-section .gallery-item img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.gallery-section .gallery-slider-pagination {
  position: relative;
  bottom: auto !important;
  margin-top: 14px;
  text-align: center;
}
.gallery-section .gallery-slider-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  margin: 0 5px !important;
  opacity: 1;
  background: #cbd5e1;
  transition: transform .2s ease, background-color .2s ease;
}
.gallery-section .gallery-slider-pagination .swiper-pagination-bullet-active {
  background: #c9a84c;
  transform: scale(1.15);
}

/* ── Force content-based height for non-hero Swipers ──
   swiper.min.css sets height:100% on wrapper/slide globally;
   hero needs it, other sliders must auto-size to content.  */
.why-slider,
.gallery-slider {
  height: auto !important;
}
.why-slider .swiper-wrapper,
.gallery-slider .swiper-wrapper,
.why-slider .swiper-slide,
.gallery-slider .swiper-slide {
  height: auto !important;
}

/* Homepage: hero extends under the fixed navbar — no body padding needed */
body.page-home {
  padding-top: 0 !important;
}

.page-home .section-header,
.page-home .section-header-center {
  margin-bottom: 30px;
}

.page-home .section-title-link {
  color: inherit;
  transition: color .2s ease, opacity .2s ease;
}

.page-home .section-title-link:hover,
.page-home .section-title-link:focus {
  color: #a8882e;
  opacity: .95;
}

/* Home destinations: make transfer price prominent at the right side */
.page-home .destinations-section .destination-meta {
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 10px;
}

.page-home .destinations-section .destination-meta-info {
  display: flex;
  align-items: center;
  gap: 8px;
}

.page-home .destinations-section .destination-meta-price {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 18px;
  font-weight: 800;
  color: var(--text);
  white-space: nowrap;
}

.page-home .destinations-section .destination-meta-price i {
  font-size: 18px;
  color: var(--text);
}

.page-home .airport-pricing-section .destination-card--airport-pricing .destination-meta {
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
}

.page-home .airport-pricing-section .destination-card--airport-pricing .destination-meta-info {
  flex-wrap: wrap;
  row-gap: 6px;
}

.page-home .airport-pricing-section .destination-card--airport-pricing .destination-meta-price {
  flex-shrink: 0;
  font-size: 17px;
  color: var(--navy);
}

.page-home .airport-pricing-section .destination-card--airport-pricing .destination-meta-price i {
  font-size: 16px;
  color: var(--gold-dark);
}

.page-home .airport-pricing-section .destination-card--airport-pricing .destination-meta-info span {
  font-size: 12px;
}

.page-destinations .destinations-grid {
  background: #f8fafc;
}

.page-destinations .destination-card--with-image .destination-image {
  aspect-ratio: 16 / 9;
}

.page-destinations .destination-card--with-image .destination-image::after {
  display: none;
}

.page-destinations .destinations-grid .destination-card--airport-pricing .destination-content {
  gap: 10px;
}

.page-destinations .destinations-grid .destination-card--airport-pricing .destination-meta {
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
}

.page-destinations .destinations-grid .destination-card--airport-pricing .destination-meta-info {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  row-gap: 6px;
}

.page-destinations .destinations-grid .destination-card--airport-pricing .destination-meta-price {
  flex-shrink: 0;
  font-size: 17px;
  font-weight: 800;
  color: var(--navy);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.page-destinations .destinations-grid .destination-card--airport-pricing .destination-meta-price i {
  font-size: 16px;
  color: var(--gold-dark);
}

.page-destinations .destinations-grid .destination-card--airport-pricing .destination-meta-info span {
  font-size: 12px;
}

/* Gallery: reduce bottom padding so footer sits closer */
.page-home .gallery-section {
  padding-bottom: 24px !important;
}

/* Reduce visual gap before footer */
.page-home .akd-footer {
  padding-top: 20px;
}

/* Contact map fallback */
.contact-map-container .map-box {
  width: 100%;
  max-width: 100%;
  height: 360px;
  margin: 0;
  float: none;
  border-radius: 16px;
  overflow: hidden;
  border: 0;
}

/* Why section premium motion */
.why-section .anim-card {
  opacity: 0;
  transform: translateY(14px) scale(0.985);
  transition: transform .6s ease, opacity .6s ease, box-shadow .6s ease;
  will-change: transform, opacity;
}
.why-section .anim-card.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.why-section .why-icon {
  transition: transform .45s ease, box-shadow .45s ease;
}
.why-section .anim-card:hover .why-icon {
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 8px 24px rgba(13,27,53,0.18);
}

/* Booking lookup page */
.booking-lookup-section {
  margin-top: 24px;
  margin-bottom: 60px;
}
.booking-lookup-wrap {
  display: block;
}
.booking-lookup-card {
  border: 1px solid rgba(13, 27, 53, 0.08);
  border-radius: 18px;
  overflow: hidden;
  animation: bookingFadeUp .7s ease both;
  max-width: 520px;
  width: 100%;
}
.booking-lookup-header {
  margin-bottom: 18px;
  text-align: left;
}
.booking-lookup-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.booking-lookup-form .btn {
  margin-bottom: 0;
}
.booking-lookup-form .ui-form-helper {
  margin-bottom: 0;
}
.booking-lookup-card .card-body {
  padding-bottom: 28px;
}
.booking-lookup-card .card-body {
  padding: 28px;
}
.booking-lookup-form .form-group {
  margin-bottom: 12px;
}
.booking-lookup-form .btn {
  margin-bottom: 0;
}
.booking-lookup-form .ui-form-helper {
  margin-bottom: 0;
}
.booking-lookup-card {
  padding-bottom: 0;
}
.booking-lookup-section .ui-form-label {
  font-weight: 600;
  color: #0D1B35;
}
.booking-lookup-section .form-control {
  height: 48px;
  border-radius: 12px;
  border: 1px solid rgba(13,27,53,0.12);
  box-shadow: none;
}
.booking-lookup-section .form-control:focus {
  border-color: rgba(13,27,53,0.45);
  box-shadow: 0 0 0 0.2rem rgba(13,27,53,0.08);
}
.booking-lookup-section .btn-primary {
  background: linear-gradient(135deg, #0D1B35 0%, #1E3565 100%);
  border: 0;
  height: 48px;
  border-radius: 12px;
  font-weight: 600;
}
.booking-lookup-section .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(13,27,53,0.18);
}
.booking-lookup-section .ui-form-hint {
  color: #60708b;
}
@keyframes bookingFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

.hotel-directory-page .hotel-directory-hero {
  position: relative;
  background-size: cover;
  background-position: center;
}

.hotel-directory-page .hotel-directory-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(13, 27, 53, 0.88) 0%, rgba(30, 53, 101, 0.74) 100%);
}

.hotel-directory-page .hotel-directory-hero .container,
.hotel-directory-page .hotel-directory-hero .page-header-content {
  position: relative;
  z-index: 1;
}

.hotel-directory-page .hotel-directory-section {
  background: #f7f9fc;
  padding: clamp(28px, 4vw, 52px) 0 clamp(48px, 5vw, 72px);
}

.hotel-directory-page .hotel-directory-sidebar {
  position: sticky;
  top: 104px;
}

.hotel-directory-page .hotel-directory-sidebar-card,
.hotel-directory-page .hotel-directory-content {
  background: #ffffff;
  border: 1px solid #e8eef6;
  border-radius: 22px;
  box-shadow: 0 16px 40px rgba(20, 35, 70, 0.08);
}

.hotel-directory-page .hotel-directory-sidebar-card {
  padding: 14px;
}

.hotel-directory-page .hotel-directory-sidebar-card h2 {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.2;
  color: #15233d;
}

.hotel-directory-page .hotel-directory-region-nav {
  display: grid;
  gap: 10px;
}

.hotel-directory-page .hotel-directory-region-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid #e8eef6;
  background: #f9fbfe;
  color: #24314d;
  font-size: 16px;
  line-height: 1.35;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.hotel-directory-page .hotel-directory-region-link strong {
  min-width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(212, 172, 79, 0.14);
  color: #8a6b1b;
  font-size: 12px;
  font-weight: 700;
}

.hotel-directory-page .hotel-directory-region-link:hover,
.hotel-directory-page .hotel-directory-region-link:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(20, 35, 70, 0.08);
  border-color: #d8e2ee;
  color: #15233d;
}

.hotel-directory-page .hotel-directory-region-link.is-active {
  background: linear-gradient(135deg, #0d1b35 0%, #1e3565 100%);
  border-color: transparent;
  color: #ffffff;
}

.hotel-directory-page .hotel-directory-region-link.is-active strong {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.hotel-directory-page .hotel-directory-content {
  padding: 18px;
}

.hotel-directory-page .hotel-directory-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.hotel-directory-page .hotel-directory-kicker {
  display: inline-block;
  margin-bottom: 6px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8a6b1b;
  font-weight: 700;
}

.hotel-directory-page .hotel-directory-toolbar h2 {
  margin: 0;
  font-size: clamp(22px, 2vw, 32px);
  line-height: 1.2;
  color: #15233d;
}

.hotel-directory-page .hotel-directory-count {
  min-width: 56px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(13, 27, 53, 0.06);
  color: #15233d;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}

.hotel-directory-page .hotel-directory-card {
  display: block;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e7edf5;
  box-shadow: 0 12px 28px rgba(20, 35, 70, 0.08);
  text-decoration: none;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.hotel-directory-page .hotel-directory-card:hover,
.hotel-directory-page .hotel-directory-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(20, 35, 70, 0.12);
  border-color: #d6e0ec;
  color: inherit;
}

.hotel-directory-page .hotel-directory-card-image {
  aspect-ratio: 16 / 11;
  overflow: hidden;
  background: #e8eef6;
}

.hotel-directory-page .hotel-directory-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .25s ease;
}

.hotel-directory-page .hotel-directory-card:hover .hotel-directory-card-image img,
.hotel-directory-page .hotel-directory-card:focus-visible .hotel-directory-card-image img {
  transform: scale(1.03);
}

.hotel-directory-page .hotel-directory-card-body {
  padding: 14px;
}

.hotel-directory-page .hotel-directory-card-region {
  display: inline-flex;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #8a6b1b;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.hotel-directory-page .hotel-directory-card h3 {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.3;
  color: #15233d;
}

.hotel-directory-page .hotel-directory-card p {
  margin: 0 0 10px;
  color: #60708b;
  line-height: 1.55;
  font-size: 13px;
}

.hotel-directory-page .hotel-directory-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  color: #1e3565;
}

.hotel-directory-page .hotel-directory-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 10px;
}

.hotel-directory-page .hotel-directory-pagination a {
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid #dbe4ef;
  background: #ffffff;
  color: #24314d;
  text-decoration: none;
  font-weight: 700;
}

.hotel-directory-page .hotel-directory-pagination-dots {
  min-width: 28px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #6b7a92;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.hotel-directory-page .hotel-directory-pagination a.is-active,
.hotel-directory-page .hotel-directory-pagination a:hover,
.hotel-directory-page .hotel-directory-pagination a:focus-visible {
  background: linear-gradient(135deg, #d7b04f 0%, #c99736 100%);
  border-color: transparent;
  color: #ffffff;
}

.hotel-directory-page .hotel-directory-empty,
.hotel-directory-page .hotel-directory-empty-card {
  color: #60708b;
}

.hotel-directory-page .hotel-directory-empty-card {
  min-height: 260px;
  border: 1px dashed #d6dfeb;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: linear-gradient(180deg, #fbfcfe 0%, #f5f8fc 100%);
}

.hotel-directory-page .hotel-directory-empty-card i {
  font-size: 42px;
  color: #8a6b1b;
}

/* ================================================================
   Shared Light Theme Overrides
   ================================================================ */
:focus-visible {
  outline-color: var(--navy, #2f6f9f);
}

.modal,
#modal-container {
  background: rgba(21, 35, 58, .36);
}

.di-hero::before {
  background: radial-gradient(circle, rgba(77, 154, 199, .18) 0%, rgba(77, 154, 199, 0) 68%);
}

.di-hero-overlay,
.hotel-directory-page .hotel-directory-hero::before {
  background:
    linear-gradient(120deg, rgba(250, 253, 255, .9) 0%, rgba(247, 251, 255, .76) 52%, rgba(229, 242, 251, .84) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, .46) 0%, rgba(247, 251, 255, .9) 100%);
}

.di-hero-card {
  border-color: rgba(219, 231, 241, .86);
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 20px 48px rgba(24, 57, 88, .13);
  color: var(--text, #15233a);
}

.di-hero-card::before {
  background: linear-gradient(90deg, rgba(47, 111, 159, .78) 0%, rgba(47, 111, 159, 0) 58%);
}

.di-hero-title,
.hotel-directory-page .hotel-directory-hero .page-header-content,
.hotel-directory-page .hotel-directory-hero .page-header-content h1,
.hotel-directory-page .hotel-directory-hero .page-header-content p {
  color: var(--text, #15233a);
  text-shadow: 0 8px 30px rgba(255, 255, 255, .74);
}

.di-hero-meta span,
.di-hero-tags span {
  border-color: #dbe7f1;
  background: #ffffff;
  color: #314158;
}

.di-hero-tags i {
  color: var(--navy, #2f6f9f);
}

.blog-detail-page .page-header::after {
  background: linear-gradient(180deg, rgba(250, 253, 255, .78) 0%, rgba(247, 251, 255, .56) 62%, rgba(247, 251, 255, .88) 100%);
}

.blog-detail-page .page-header-content,
.blog-detail-page .page-header-content h1,
.blog-detail-page .page-header-content p {
  color: var(--text, #15233a);
  text-shadow: 0 8px 30px rgba(255, 255, 255, .74);
}

.blog-detail-page .blog-detail-cta-card--sidebar {
  border-color: #dbe7f1;
  background: linear-gradient(120deg, #ffffff 0%, #f3f9ff 100%);
  box-shadow: 0 18px 34px rgba(24, 57, 88, .1);
}

.blog-detail-page .blog-detail-cta-card--sidebar .blog-detail-cta-eyebrow {
  background: #e8f4fb;
  color: var(--navy, #2f6f9f);
}

.blog-detail-page .blog-detail-cta-card--sidebar .blog-detail-cta-copy h2,
.blog-detail-page .blog-detail-cta-card--sidebar .blog-detail-cta-copy p {
  color: var(--text, #15233a);
}

.blog-detail-page .blog-detail-cta-icon,
.booking-lookup-section .btn-primary,
.hotel-directory-page .hotel-directory-region-link.is-active {
  background: linear-gradient(135deg, #4d9ac7 0%, #2f6f9f 100%);
  color: #ffffff;
}

.blog-detail-page .blog-detail-cta-btn {
  border-color: rgba(47, 111, 159, .22);
  background: linear-gradient(135deg, #4d9ac7 0%, #2f6f9f 100%);
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(47, 111, 159, .18);
}

.blog-detail-page .blog-detail-cta-btn:hover,
.blog-detail-page .blog-detail-cta-btn:focus-visible {
  color: #ffffff;
  box-shadow: 0 16px 28px rgba(47, 111, 159, .22);
}

.booking-lookup-section .ui-form-label {
  color: var(--text, #15233a);
}

.booking-lookup-section .form-control {
  border-color: #dbe7f1;
  background: #ffffff;
  color: var(--text, #15233a);
}

.booking-lookup-section .form-control:focus {
  border-color: rgba(47, 111, 159, .45);
  box-shadow: 0 0 0 .2rem rgba(47, 111, 159, .1);
}

.booking-lookup-section .btn-primary:hover {
  box-shadow: 0 10px 24px rgba(47, 111, 159, .2);
}

.hotel-directory-page .hotel-directory-region-link.is-active {
  border-color: transparent;
}

.hotel-directory-page .hotel-directory-region-link.is-active strong {
  background: rgba(255, 255, 255, .2);
  color: #ffffff;
}

.hotel-directory-page .hotel-directory-section,
.booking-lookup-section {
  background: #f7fbff;
}


/* ================================================================
   Bundled from home-lux.css
   ================================================================ */
/* ================================================================
   Homepage Lux Layout (Reference-driven)
   ================================================================ */

.page-home .akd-navbar {
  background: linear-gradient(180deg, rgba(10, 18, 35, 0.84) 0%, rgba(10, 18, 35, 0.62) 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: none;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.page-home {
  overflow-x: hidden;
}

body.page-home {
  overflow-y: auto !important;
}

.page-home .akd-nav-link {
  color: #ffffff !important;
}

.page-home .akd-nav-link:hover {
  background: rgba(255, 255, 255, 0.08);
}

.page-home .akd-lang-btn {
  color: #ffffff !important;
}

.page-home .ece-hero {
  position: relative;
  min-height: 100vh;
  padding-top: 96px;
  padding-bottom: 42px;
  background: #0a1223;
  overflow-x: hidden;
}

.page-home .hero-overlay {
  background:
    linear-gradient(180deg, rgba(8, 12, 22, 0.72) 0%, rgba(8, 12, 22, 0.5) 36%, rgba(10, 15, 28, 0.84) 100%),
    radial-gradient(circle at 78% 22%, rgba(201, 168, 76, 0.2), transparent 50%);
}

.lux-hero-content {
  padding: 10px 0 0;
  overflow-x: clip;
}

.lux-quick-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 10px;
}

.lux-meta-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ffffff; 
  font-size: 14px;
  font-weight: 600;
}

.lux-meta-phone i {
  color: #f1d38b;
  font-size: 18px;
}

.lux-meta-lang {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ffffff; 
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.3px;
}

.lux-meta-lang .flag-icon {
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
}

.lux-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 500px;
  grid-template-areas:
    "copy form"
    "stack form";
  gap: 36px;
  align-items: start;
}

.lux-hero-copy {
  grid-area: copy;
  max-width: 800px;
  min-width: 0;
  align-self: center;
  padding: 14px 18px;
  text-align: center;
  margin: 0 auto;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: linear-gradient(180deg, rgba(19, 30, 53, 0.9) 0%, rgba(11, 20, 39, 0.9) 100%);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.lux-hero-left-stack {
  grid-area: stack;
  min-width: 0;
}

.lux-hero-title {
  font-family: var(--font-family-display, "Sora", "Inter", "Segoe UI", sans-serif);
  color: #ffffff;
  font-size: clamp(1.15rem, 2.65vw, 2.05rem);
  line-height: 1.1;
  letter-spacing: -.015em;
  font-weight: 800;
  margin: 0 0 10px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  text-shadow: 0 10px 28px rgba(0, 0, 0, 0.36);
}

.lux-hero-sub {
  color: #ffffff; 
  font-weight: 600;
  font-size: clamp(1rem, 2vw, 1.45rem);
  margin: 0;
  text-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
}

.lux-booking-card {
  grid-area: form;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 500px;
  margin-left: auto;
  background: linear-gradient(180deg, rgba(19, 30, 53, 0.9) 0%, rgba(11, 20, 39, 0.9) 100%);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.34);
  border-radius: 14px;
  padding: 14px;
  gap: 0;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.lux-booking-title {
  font-family: var(--font-family-display, "Sora", "Inter", "Segoe UI", sans-serif);
  color: #ffffff;
  font-size: clamp(1.38rem, 1.65vw, 1.72rem);
  line-height: 1.15;
  margin: 0 4px 10px;
  font-weight: 800;
  letter-spacing: -.02em;
  text-align: center;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.lux-booking-hero-copy {
  display: none;
  margin: 2px 4px 8px;
  text-align: center;
}

.lux-hero-title--in-card {
  font-size: clamp(1.02rem, 1.8vw, 1.35rem);
  line-height: 1.2;
  margin-bottom: 4px;
  max-width: 100%;
}

.lux-hero-sub--in-card {
  font-size: clamp(0.92rem, 1.3vw, 1.08rem);
  line-height: 1.3;
}

.lux-booking-card .hero-search-form--lux .hsf-row {
  display: grid !important;
  grid-template-columns: repeat(20, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

.lux-booking-card .hero-search-form--lux {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
}

.lux-booking-card .hero-search-form--lux .hsf-field {
  width: 100% !important;
  min-width: 0;
  flex: 1 1 100% !important;
}

.lux-booking-card .hero-search-form--lux .hsf-field--sm {
  width: 100% !important;
  flex: 1 1 100% !important;
}

.lux-booking-card .hero-search-form--lux .hsf-field--from {
  grid-column: 1 / -1;
}

.lux-booking-card .hero-search-form--lux .hsf-field--to {
  grid-column: 1 / -1;
}

.lux-booking-card .hero-search-form--lux .hsf-field--passenger {
  grid-column: 1 / 14; /* %65 */
}

.lux-booking-card .hero-search-form--lux .hsf-field--currency {
  grid-column: 14 / -1; /* %35 */
}

.lux-booking-card .hero-search-form--lux .hsf-field--date {
  grid-column: 1 / 11; /* %50 */
}

.lux-booking-card .hero-search-form--lux .hsf-field--time {
  grid-column: 11 / -1; /* %50 */
}

.lux-booking-card .hero-search-form--lux .hsf-submit--cta {
  grid-column: 1 / -1;
  width: 100% !important;
  flex: 1 1 100% !important;
  display: flex;
  justify-content: center;
}

.lux-booking-card .hero-search-form--lux .hsf-divider {
  display: none;
}

.lux-booking-card .hero-search-form--lux .hsf-input-wrap {
  min-height: 54px;
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  padding: 8px 11px;
  width: 100% !important;
}

.lux-booking-card .hero-search-form--lux .hsf-input-wrap:focus-within {
  border-color: rgba(201, 168, 76, 0.92);
  box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.16);
}

.lux-booking-card .hero-search-form--lux .hsf-icon {
  color: #f1d38b;
  font-size: 18px;
}

.lux-booking-card .hero-search-form--lux .hsf-label {
  color: #ffffff; 
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.lux-booking-card .hero-search-form--lux .hsf-input,
.lux-booking-card .hero-search-form--lux #passenger-text,
.lux-booking-card .hero-search-form--lux #kur-text {
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
}

.lux-booking-card .hero-search-form--lux .hsf-input::placeholder {
  color: #ffffff; 
}

.lux-booking-card .hero-search-form--lux .hsf-input--picker {
  cursor: pointer;
}

.lux-booking-card .hero-search-form--lux .hsf-btn {
  width: 100% !important;
  min-height: 52px;
  border-radius: 9px;
  background: linear-gradient(180deg, #d7b062 0%, #ad7f32 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  justify-content: center !important;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 10px 18px rgba(0, 0, 0, 0.22);
}

.lux-booking-card .hero-search-form--lux .hsf-btn:hover {
  background: linear-gradient(180deg, #e0bb73 0%, #b48639 100%);
}

.lux-booking-card .hero-search-form--lux .hsf-btn i {
  display: none;
}

.lux-booking-card .hero-search-form--lux .live-result {
  background: #101a2f;
  border-color: #ffffff; 
  color: #ffffff; 
}

.lux-booking-card .hero-search-form--lux .live-result .item {
  color: #ffffff; 
}

.lux-booking-card .hero-search-form--lux .live-result .item:hover {
  background: rgba(255, 255, 255, 0.09);
}

.lux-booking-card .hero-search-form--lux .paxs {
  left: 0 !important;
  right: auto !important;
  top: calc(100% + 8px) !important;
  transform: none !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  border-radius: 14px !important;
  border: 1px solid #d8deea !important;
  background: #ffffff !important;
  box-shadow: 0 16px 30px rgba(12, 24, 46, 0.24) !important;
  padding: 10px !important;
}

.lux-booking-card .hero-search-form--lux .kurs.paxs {
  padding: 8px !important;
}

.lux-booking-card .hero-search-form--lux .kur-item {
  border-radius: 8px;
  color: #1e2a42;
  font-weight: 700;
}

.lux-booking-card .hero-search-form--lux .kur-item:hover {
  background: #edf2fb;
  color: #0f1d37;
}

.lux-booking-hint {
  margin: 2px 4px 0;
  color: #ffffff; 
  font-size: 11px;
  text-align: center;
  font-weight: 500;
  display: block;
  width: 100%;
  clear: both;
}

.lux-trust-strip {
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  max-width: 100%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.08) 100%);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 12px;
  overflow: hidden;
}

.lux-trust-item {
  min-height: 62px;
  min-width: 0;
  padding: 10px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  text-align: center;
}

.lux-trust-item span {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lux-trust-item:last-child {
  border-right: none;
}

.lux-trust-item i {
  color: #f0cf85;
  font-size: 16px;
  flex: 0 0 auto;
}

.lux-hero-popular {
  margin-top: 14px;
}

.lux-hero-popular-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
  color: #ffffff; 
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 13px;
}

.lux-hero-popular-title::before,
.lux-hero-popular-title::after {
  content: "";
  display: block;
  height: 1px;
  width: clamp(70px, 19vw, 180px);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.62) 100%);
}

.lux-hero-popular-title::after {
  background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.62) 100%);
}

.lux-hero-popular-slider {
  overflow: hidden;
}

.lux-hero-popular-slider .swiper-slide {
  height: auto;
}

/* Fallback: if Swiper can't initialize, keep one-row horizontal flow */
.lux-hero-popular-slider:not(.swiper-initialized) {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  padding-bottom: 2px;
}

.lux-hero-popular-slider:not(.swiper-initialized) .swiper-wrapper {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
}

.lux-hero-popular-slider:not(.swiper-initialized) .swiper-slide {
  flex: 0 0 auto;
  width: min(320px, 78vw) !important;
  height: auto;
  scroll-snap-align: start;
}

.lux-pop-card {
  display: block;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
}

.lux-pop-image {
  aspect-ratio: 16 / 8.5;
  overflow: hidden;
}

.lux-pop-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.lux-pop-card:hover .lux-pop-image img {
  transform: scale(1.05);
}

.lux-pop-body {
  padding: 10px 12px;
}

.lux-pop-route {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #1a2337;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lux-pop-route span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.lux-pop-route i {
  color: #ae8237;
  font-size: 16px;
  flex-shrink: 0;
}

.lux-pop-meta {
  margin-top: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.lux-pop-meta strong {
  color: #212836;
  font-size: 20px;
  font-weight: 800;
  white-space: nowrap;
}

.lux-pop-btn {
  padding: 4px 11px;
  border-radius: 7px;
  background: linear-gradient(180deg, #d9b56a 0%, #b08234 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.lux-hero-popular-nav {
  margin-top: 10px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.lux-pop-nav-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(10, 22, 42, 0.58);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.lux-pop-nav-btn:hover {
  background: rgba(174, 130, 55, 0.92);
  border-color: rgba(174, 130, 55, 0.92);
}

.lux-review-strip {
  background: #f6f7fb;
  border-top: 1px solid #e5e8f0;
  border-bottom: 1px solid #e5e8f0;
  padding: 18px 0;
}

.lux-review-grid {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.lux-review-summary {
  background: #ffffff;
  border: 1px solid #e3e7ef;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 6px 18px rgba(16, 29, 56, 0.07);
}

.lux-review-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1e2a42;
  font-size: 23px;
  font-weight: 800;
}

.lux-review-brand i {
  color: #fbbc05;
  font-size: 21px;
}

.lux-review-score {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-top: 10px;
}

.lux-review-score strong {
  color: #1f2b44;
  font-size: 18px;
  font-weight: 800;
}

.lux-review-score span {
  color: #5b6477;
  font-size: 12px;
  font-weight: 600;
}

.lux-review-summary p {
  margin: 8px 0 14px;
  color: #3e4a64;
  font-size: 13px;
  line-height: 1.45;
}

.lux-review-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(180deg, #d9b56a 0%, #b08234 100%);
  font-size: 12px;
  font-weight: 700;
}

.lux-review-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.lux-review-card {
  background: #ffffff;
  border: 1px solid #e3e7ef;
  border-radius: 10px;
  overflow: hidden;
  display: block;
}

.lux-review-card-image {
  aspect-ratio: 16 / 8;
}

.lux-review-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lux-review-card-body {
  padding: 10px 12px;
}

.lux-mobile-sticky-cta {
  position: fixed;
  left: 14px;
  right: 14px;
  bottom: 12px;
  display: none;
  align-items: center;
  gap: 8px;
  z-index: 1100;
}

.lux-mobile-cta-main {
  min-height: 44px;
  border-radius: 10px;
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  background: linear-gradient(180deg, #d9b56a 0%, #b08234 100%);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.32);
}

.lux-mobile-cta-wa {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #0f9d58;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
  font-size: 24px;
}

/* 1080p + zoom (yaklaşık 1300x700) için kompakt masaüstü düzen */

/* Home Flatpickr tune-up (Passenger-style consistency) */
.page-home .flatpickr-calendar {
  z-index: 12000 !important;
  overflow: visible !important;
  background: #ffffff !important;
  border: 1px solid #d8deea !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 30px rgba(12, 24, 46, 0.24) !important;
  color: #1e2a42 !important;
}

.page-home .flatpickr-calendar:not(.noCalendar) {
  width: 278px !important;
  min-width: 278px !important;
  max-width: 278px !important;
  padding: 8px !important;
}

.page-home .flatpickr-calendar:not(.noCalendar) .flatpickr-days,
.page-home .flatpickr-calendar:not(.noCalendar) .dayContainer {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.page-home .flatpickr-calendar::before,
.page-home .flatpickr-calendar::after {
  border-bottom-color: #ffffff !important;
}

.page-home .flatpickr-months .flatpickr-month,
.page-home .flatpickr-current-month,
.page-home .flatpickr-current-month .flatpickr-monthDropdown-months,
.page-home .flatpickr-current-month input.cur-year {
  color: #1e2a42 !important;
  fill: #1e2a42 !important;
  font-weight: 700 !important;
}

.page-home .flatpickr-months .flatpickr-prev-month:hover svg,
.page-home .flatpickr-months .flatpickr-next-month:hover svg {
  fill: #0d1b35 !important;
}

.page-home .flatpickr-weekday {
  color: #5e6880 !important;
  font-weight: 700 !important;
}

.page-home .flatpickr-day {
  color: #2a334a !important;
  border-radius: 8px !important;
  border-color: transparent !important;
}

.page-home .flatpickr-day.prevMonthDay,
.page-home .flatpickr-day.nextMonthDay {
  color: #6f7a91 !important;
}

.page-home .flatpickr-day.flatpickr-disabled,
.page-home .flatpickr-day.flatpickr-disabled:hover,
.page-home .flatpickr-day.prevMonthDay.flatpickr-disabled,
.page-home .flatpickr-day.nextMonthDay.flatpickr-disabled,
.page-home .flatpickr-day.notAllowed,
.page-home .flatpickr-day.notAllowed:hover {
  color: #a8b1c1 !important;
  opacity: 0.42 !important;
  background: transparent !important;
  border-color: transparent !important;
  cursor: not-allowed !important;
}

.page-home .flatpickr-day:hover {
  background: #edf2fb !important;
  border-color: #edf2fb !important;
}

.page-home .flatpickr-day.today {
  border-color: #c9a84c !important;
  color: #1f2b44 !important;
}

.page-home .flatpickr-day.selected,
.page-home .flatpickr-day.startRange,
.page-home .flatpickr-day.endRange {
  background: #0d1b35 !important;
  border-color: #0d1b35 !important;
  color: #ffffff !important;
}

.page-home .flatpickr-calendar.noCalendar.hasTime {
  background: #ffffff !important;
  border: 1px solid #d4d9e2 !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2) !important;
  padding: 0 !important;
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
}

.page-home .flatpickr-calendar.noCalendar.hasTime::before,
.page-home .flatpickr-calendar.noCalendar.hasTime::after {
  display: none !important;
}

.page-home .flatpickr-calendar .flatpickr-innerContainer {
  overflow: visible !important;
  display: block !important;
}

.page-home .flatpickr-calendar .flatpickr-time,
.page-home .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  padding: 0 !important;
  margin-bottom: 0 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  width: 100% !important;
  background: transparent !important;
  border-top: 0 !important;
  line-height: 1 !important;
}

.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper {
  display: block !important;
  width: 58px !important;
  height: 78px !important;
  flex: 0 0 58px !important;
  float: none !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: none !important;
  background: transparent !important;
}

.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp,
.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  opacity: 1 !important;
  visibility: visible !important;
  line-height: 1 !important;
  overflow: visible !important;
}

.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp {
  top: 2px !important;
  bottom: auto !important;
}

.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown {
  bottom: 2px !important;
  top: auto !important;
}

.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp:hover,
.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown:hover {
  background: transparent !important;
  opacity: 0.75 !important;
}

.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp::after,
.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown::after {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #0f1d37 !important;
  border: none !important;
  background: none !important;
  position: static !important;
  line-height: 1 !important;
}

.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp::after {
  content: "\25B4" !important;
}

.page-home .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown::after {
  content: "\25BE" !important;
}

.page-home .flatpickr-calendar .flatpickr-time input.numInput {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 46px !important;
  height: 40px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0f1d37 !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  line-height: 1 !important;
}

.page-home .flatpickr-calendar .flatpickr-time .flatpickr-time-separator {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #0f1d37 !important;
  padding: 0 4px !important;
  margin: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}

.page-home .flatpickr-custom-confirm {
  display: none !important;
}

.page-home .flatpickr-custom-confirm:hover {
  background: transparent !important;
  opacity: 0.7 !important;
}

.gallery-section .gallery-item {
  border-radius: 18px;
  overflow: hidden;
}

.gallery-section .gallery-item img {
  border-radius: 18px;
}

.lux-social-showcase {
  padding: 14px 0 30px;
}

.lux-social-frame {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.45fr);
  gap: 18px;
  padding: 28px 28px;
  border-radius: 30px;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 98%, rgba(93, 122, 177, 0.22), rgba(93, 122, 177, 0) 35%),
    radial-gradient(circle at 92% 8%, rgba(53, 95, 168, 0.18), rgba(53, 95, 168, 0) 34%),
    linear-gradient(135deg, #0b162c 0%, #0f2448 52%, #0c1f3f 100%);
  border: 1px solid rgba(86, 125, 194, 0.26);
  box-shadow: 0 26px 54px rgba(8, 18, 39, 0.34);
}

.lux-social-frame::before,
.lux-social-frame::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.lux-social-frame::before {
  width: 260px;
  height: 260px;
  right: -82px;
  top: -105px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 72%);
}

.lux-social-frame::after {
  width: 340px;
  height: 340px;
  left: -132px;
  bottom: -192px;
  background: radial-gradient(circle, rgba(34, 79, 152, 0.3) 0%, rgba(34, 79, 152, 0) 72%);
}

.lux-social-intro,
.lux-social-card-grid {
  position: relative;
  z-index: 1;
}

.lux-social-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.lux-social-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 13px;
  color: #e8c880;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.lux-social-kicker::before {
  content: "";
  width: 34px;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
}

.lux-social-title {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.95rem, 2.45vw, 3rem);
  line-height: 1.12;
}

.lux-social-copy {
  margin: 15px 0 0;
  color: rgba(237, 244, 255, 0.92);
  font-size: 15px;
  line-height: 1.72;
  max-width: 500px;
}

.lux-social-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 20px;
}

.lux-social-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(221, 232, 255, 0.16);
  background: rgba(200, 218, 255, 0.09);
  color: rgba(247, 251, 255, 0.95);
  font-size: 12px;
  font-weight: 700;
}

.lux-social-primary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: fit-content;
  min-height: 50px;
  margin-top: 22px;
  padding: 0 21px;
  border-radius: 16px;
  background: linear-gradient(135deg, #25d366 0%, #18b957 100%);
  color: #fff !important;
  font-weight: 800;
  box-shadow: 0 18px 34px rgba(37, 211, 102, 0.28);
  transition: transform 0.24s ease, box-shadow 0.24s ease, filter 0.24s ease;
}

.lux-social-primary-cta i {
  font-size: 22px;
  line-height: 1;
}

.lux-social-primary-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 40px rgba(37, 211, 102, 0.3);
  filter: brightness(1.03);
}

.lux-social-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-content: start;
}

.lux-social-card {
  --social-accent: #c5a059;
  display: flex;
  flex-direction: column;
  min-height: 182px;
  padding: 19px 20px 16px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(251, 253, 255, 0.97) 0%, rgba(243, 248, 255, 0.95) 100%);
  border: 1px solid rgba(11, 32, 65, 0.12);
  box-shadow: 0 16px 26px rgba(7, 15, 29, 0.16);
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.lux-social-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 34px rgba(8, 15, 30, 0.2);
  border-color: color-mix(in srgb, var(--social-accent) 34%, #ffffff);
}

.lux-social-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.lux-social-card-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--social-accent) 14%, #ffffff);
  color: #44516a;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lux-social-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: color-mix(in srgb, var(--social-accent) 16%, #ffffff);
  color: var(--social-accent);
  font-size: 23px;
  flex-shrink: 0;
}

.lux-social-card strong {
  display: block;
  color: #12253f;
  font-size: 32px;
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.18;
  margin-bottom: 8px;
}

.lux-social-card p {
  margin: 0;
  color: #5a6b86;
  font-size: 13px;
  line-height: 1.62;
}

.lux-social-card-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 14px;
  color: #0f2340;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.lux-social-card-action i {
  font-size: 18px;
  color: var(--social-accent);
}

.lux-social-card--instagram { --social-accent: #e75888; }
.lux-social-card--facebook { --social-accent: #1877f2; }
.lux-social-card--vk { --social-accent: #0077ff; }
.lux-social-card--tripadvisor { --social-accent: #00aa6c; }
.lux-social-card--google { --social-accent: #f4b400; }
.lux-social-card--tiktok { --social-accent: #111111; }
.lux-social-card--youtube { --social-accent: #ff0033; }

.lux-home-faq-section {
  padding: 8px 0 28px;
}

.lux-home-faq-section .entity-faq-wrap {
  margin-bottom: 0;
}

/* Social strip refresh: implemented from reference */
.lux-social-showcase {
  padding: 14px 0 30px;
}

.lux-social-modern-label {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c8a96e;
  margin-bottom: 16px;
}

.lux-social-modern-frame {
  width: 100%;
}

.lux-social-modern-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
}

.lux-social-modern-card {
  --social-accent: #4285f4;
  --glow: rgba(66, 133, 244, 0.1);
  --icon-bg: rgba(66, 133, 244, 0.12);
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 20px;
  text-decoration: none;
  color: inherit;
  background: linear-gradient(135deg, #1e3a5f 0%, #23466f 100%);
  transition: background 0.25s ease, transform 0.25s ease;
  overflow: hidden;
}

.lux-social-modern-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--social-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.lux-social-modern-card:hover::before,
.lux-social-modern-card:focus-visible::before {
  transform: scaleX(1);
}

.lux-social-modern-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at top left, var(--glow) 0%, transparent 65%);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.lux-social-modern-card:hover::after,
.lux-social-modern-card:focus-visible::after {
  opacity: 1;
}

.lux-social-modern-card:hover,
.lux-social-modern-card:focus-visible {
  background: linear-gradient(135deg, #21456d 0%, #2a527f 100%);
  transform: translateY(-1px);
}

.lux-social-modern-icon {
  flex-shrink: 0;
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--icon-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s ease;
  overflow: hidden;
}

.lux-social-modern-card:hover .lux-social-modern-icon,
.lux-social-modern-card:focus-visible .lux-social-modern-icon {
  transform: scale(1.08);
}

.lux-social-modern-icon i {
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 1;
  color: var(--social-accent) !important;
}

.lux-social-modern-icon i::before,
.lux-social-modern-icon i:before {
  color: var(--social-accent) !important;
}

.lux-social-modern-icon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  display: block;
}

.lux-social-modern-icon--custom {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.08));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.lux-social-modern-icon--custom::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 9px;
  background: linear-gradient(140deg, rgba(8, 22, 44, 0.28), rgba(8, 22, 44, 0.06));
}

.lux-social-modern-icon--custom .lux-social-modern-icon-img {
  position: relative;
  z-index: 1;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  filter: saturate(1.08) contrast(1.04);
}

.lux-social-modern-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.lux-social-modern-name {
  font-size: 18px;
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lux-social-modern-sub {
  font-size: 13px;
  font-size: clamp(11px, 0.85vw, 13px);
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lux-social-modern-stars {
  color: #fbbc05;
  opacity: 1;
}

.lux-social-modern-card--instagram {
  --social-accent: #e1306c;
  --glow: rgba(225, 48, 108, 0.12);
  --icon-bg: rgba(225, 48, 108, 0.15);
}

.lux-social-modern-card--tripadvisor {
  --social-accent: #34e0a1;
  --glow: rgba(52, 224, 161, 0.1);
  --icon-bg: rgba(52, 224, 161, 0.12);
}

.lux-social-modern-card--youtube {
  --social-accent: #ff0000;
  --glow: rgba(255, 0, 0, 0.1);
  --icon-bg: rgba(255, 0, 0, 0.13);
}

.lux-social-modern-card--google {
  --social-accent: #4285f4;
  --glow: rgba(66, 133, 244, 0.1);
  --icon-bg: rgba(66, 133, 244, 0.12);
}

.lux-social-modern-card--vk {
  --social-accent: #4c75a3;
  --glow: rgba(76, 117, 163, 0.1);
  --icon-bg: rgba(76, 117, 163, 0.16);
}

/* tablet */

/* mobile: 1 column */

/* ================================================================
   Homepage Light Theme Refresh
   ================================================================ */
.page-home .akd-navbar,
.page-home .akd-navbar.scrolled {
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid #dbe7f1 !important;
  box-shadow: 0 10px 28px rgba(24, 57, 88, .08) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.page-home .akd-nav-link,
.page-home .akd-lang-btn {
  color: #20314a !important;
}

.page-home .akd-nav-link:hover,
.page-home .akd-nav-link.active {
  color: var(--navy) !important;
  background: #eef6fc !important;
}

.page-home .akd-lang-btn {
  background: #f7fbff !important;
  border-color: #dbe7f1 !important;
}

.page-home .akd-lang-btn:hover {
  color: var(--navy) !important;
  background: #eef6fc !important;
}

.page-home .akd-lang-btn.dropdown-toggle::after {
  color: #20314a !important;
}

.page-home .ece-hero {
  background: #f4f9fd;
}

.page-home .hero-overlay {
  background:
    linear-gradient(105deg, rgba(250, 253, 255, .94) 0%, rgba(247, 251, 255, .8) 48%, rgba(229, 242, 251, .86) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, .52) 0%, rgba(247, 251, 255, .9) 100%);
}

.lux-hero-copy,
.lux-booking-card {
  background: rgba(255, 255, 255, .94);
  border: 1px solid #dbe7f1;
  box-shadow: 0 24px 54px rgba(24, 57, 88, .14);
}

.lux-hero-title,
.lux-hero-sub,
.lux-booking-title {
  color: #15233a;
  text-shadow: 0 8px 30px rgba(255, 255, 255, .74);
}

.lux-hero-sub {
  color: #314158;
}

.lux-booking-card .hero-search-form--lux .hsf-input-wrap {
  background: #ffffff;
  border-color: #dbe7f1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
}

.lux-booking-card .hero-search-form--lux .hsf-input-wrap:focus-within {
  border-color: var(--navy);
  box-shadow: 0 0 0 3px rgba(47, 111, 159, .13);
}

.lux-booking-card .hero-search-form--lux .hsf-icon {
  color: var(--navy);
}

.lux-booking-card .hero-search-form--lux .hsf-label {
  color: #66758a;
}

.lux-booking-card .hero-search-form--lux .hsf-input,
.lux-booking-card .hero-search-form--lux #passenger-text,
.lux-booking-card .hero-search-form--lux #kur-text,
.lux-booking-card .hero-search-form--lux .hsf-input::placeholder {
  color: #15233a;
}

.lux-booking-card .hero-search-form--lux .hsf-divider {
  color: #7a8ba2;
}

.lux-booking-card .hero-search-form--lux .hsf-btn,
.lux-mobile-cta-main {
  background: linear-gradient(135deg, #4d9ac7 0%, #2f6f9f 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(47, 111, 159, .22);
}

.lux-booking-card .hero-search-form--lux .hsf-btn:hover,
.lux-mobile-cta-main:hover {
  background: linear-gradient(135deg, #5ca8d2 0%, #347aa9 100%) !important;
}

.lux-booking-card .hero-search-form--lux .live-result {
  background: #ffffff;
  border-color: #dbe7f1;
  color: #15233a;
}

.lux-booking-card .hero-search-form--lux .live-result .item {
  color: #15233a;
}

.lux-booking-card .hero-search-form--lux .live-result .item:hover {
  background: #eef6fc;
}

.lux-trust-strip,
.lux-hero-popular {
  background: rgba(255, 255, 255, .88);
  border: 1px solid #dbe7f1;
  box-shadow: 0 14px 34px rgba(24, 57, 88, .1);
}

.lux-trust-item,
.lux-hero-popular-title,
.lux-pop-route,
.lux-pop-body {
  color: #15233a;
}

.lux-trust-item i,
.lux-pop-route i {
  color: var(--navy);
}

.lux-pop-card,
.lux-pop-nav-btn {
  background: #ffffff;
  border-color: #dbe7f1;
  color: #15233a;
}

.lux-pop-card:hover,
.lux-pop-nav-btn:hover {
  background: #f3f9ff;
  border-color: #bfd8eb;
}

.lux-pop-meta strong {
  color: var(--navy);
}

.lux-pop-btn {
  background: #e8f4fb;
  color: var(--navy);
}

.lux-mobile-sticky-cta {
  background: rgba(255, 255, 255, .94);
  border-top: 1px solid #dbe7f1;
  box-shadow: 0 -12px 28px rgba(24, 57, 88, .1);
}

.lux-social-showcase,
.lux-home-faq-section {
  background: #f7fbff;
}

.lux-social-frame,
.lux-social-modern-grid {
  background: #dbe7f1;
  border-color: #dbe7f1;
  box-shadow: 0 22px 48px rgba(24, 57, 88, .12);
}

.lux-social-frame::before,
.lux-social-frame::after {
  background: radial-gradient(circle, rgba(47, 111, 159, .12) 0%, rgba(47, 111, 159, 0) 70%);
}

.lux-social-title,
.lux-social-copy,
.lux-social-tags span {
  color: #15233a;
}

.lux-social-kicker,
.lux-social-modern-label {
  color: var(--navy);
}

.lux-social-tags span {
  background: #ffffff;
  border-color: #dbe7f1;
}

.lux-social-modern-card {
  background: #ffffff;
  color: #15233a;
}

.lux-social-modern-card:hover,
.lux-social-modern-card:focus-visible {
  background: #f3f9ff;
}

.lux-social-modern-name {
  color: #15233a;
}

.lux-social-modern-sub {
  color: #66758a;
}

.lux-social-modern-icon {
  background: var(--icon-bg);
}

.lux-social-modern-icon--custom {
  background: #eef6fc;
  box-shadow: inset 0 0 0 1px #dbe7f1;
}

.lux-social-modern-icon--custom::before {
  background: linear-gradient(140deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .18));
}

.page-home .flatpickr-day.selected,
.page-home .flatpickr-day.startRange,
.page-home .flatpickr-day.endRange {
  background: var(--navy) !important;
  border-color: var(--navy) !important;
}


/* ================================================================
   Bundled from reservation-steps.css
   ================================================================ */
/* Reservation flow UI refinements for step1-step2-step3.
   Scoped to .reservation-flow classes to avoid side effects. */

.reservation-flow.reservation-step-1,
.reservation-flow.reservation-step-2,
.reservation-flow.reservation-step-3 {
  background: #f4f6fb;
  background-image: none;
  color: #1e293b;
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ── Step 2: Light / modern Bootstrap override ───────────────────────── */
.reservation-flow.reservation-step-2 {
  background: #f4f6fb !important;
  background-image: none !important;
  color: #1e293b !important;
}

.reservation-step-2 .step-progress {
  background: #fff !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

.reservation-step-2 .step-breadcrumb ul li:not(:last-child)::after {
  background: #e2e8f0 !important;
}

.reservation-step-2 .step-breadcrumb li.completed:not(:last-child)::after {
  background: #101b31 !important;
}

.reservation-step-2 .circle-group {
  background: #fff !important;
  border-color: #e2e8f0 !important;
  color: #94a3b8 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important;
}

.reservation-step-2 .step-name span {
  color: #94a3b8 !important;
}

.reservation-step-2 .step-breadcrumb li.active .step-name span,
.reservation-step-2 .step-breadcrumb li.completed .step-name span {
  color: #1e293b !important;
}
/* ──────────────────────────────────────────────────────────────────────── */

.reservation-flow .step-progress {
  background: #fff;
  border-bottom: 1px solid #e9edf5;
  padding: 28px 0 22px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
}

.reservation-flow .step-breadcrumb {
  max-width: 780px;
  margin: 0 auto;
}

.reservation-flow .step-breadcrumb ul {
  align-items: flex-start;
  margin: 0;
  padding: 0 8px;
}

.reservation-flow .step-breadcrumb ul::before {
  display: none;
}

.reservation-flow .step-breadcrumb ul li {
  position: relative;
  text-align: center;
  min-width: 0;
}

.reservation-flow .step-breadcrumb ul li:not(:last-child)::after {
  top: 21px;
  left: calc(50% + 28px);
  width: calc(100% - 56px);
  height: 3px;
  background: #e5e7ef;
  border-radius: 999px;
}

.reservation-flow .step-breadcrumb ul li.completed:not(:last-child)::after {
  background: #101b31;
}

.reservation-flow .circle-group {
  width: 44px;
  height: 44px;
  border: 2px solid #e5e7ef;
  background: #fff;
  color: #94a3b8;
  box-shadow: none;
  font-weight: 700;
  font-size: 15px;
  transition: all 0.3s ease;
}

.reservation-flow .circle-group i {
  font-size: 18px;
}

.reservation-flow .circle-group.active {
  background: #101b31;
  border-color: #101b31;
  color: #fff;
  box-shadow:
    0 0 0 5px rgba(16, 27, 49, 0.1),
    0 6px 16px rgba(16, 27, 49, 0.15);
}

.reservation-flow .circle-group.completed {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  border-color: #10b981;
  color: #fff;
}

.reservation-flow .step-name {
  display: block;
  margin-top: 12px;
}

.reservation-flow .step-name span {
  display: block;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 700;
  color: #94a3b8;
}

.reservation-flow .step-breadcrumb li.active .step-name span,
.reservation-flow .step-breadcrumb li.completed .step-name span {
  color: #1e293b;
}

/* Step 1 progress redesign */
.reservation-step-1 .step-progress {
  background: linear-gradient(180deg, #f8fafc 0%, #f4f6fb 100%);
  border-bottom: 0;
  padding: 24px 0 18px;
  box-shadow: none;
}

.reservation-step-1 .step-breadcrumb {
  max-width: 100%;
  width: 100%;
  padding: 12px 18px 14px;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.reservation-step-1 .step-breadcrumb ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 6px;
  padding: 0;
}

.reservation-step-1 .step-breadcrumb ul li {
  position: relative;
  text-align: center;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.reservation-step-1 .step-breadcrumb ul li:not(:last-child)::after {
  top: 25px;
  left: calc(50% + 34px);
  width: calc(100% - 68px);
  height: 4px;
  background: linear-gradient(90deg, #dbe5f3 0%, #e9edf5 100%);
  border-radius: 999px;
}

.reservation-step-1 .circle-group {
  width: 52px;
  height: 52px;
  border: 2px solid #d5dfed;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  color: #7a8aa2;
  box-shadow:
    0 4px 12px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  font-size: 16px;
  font-weight: 800;
  position: relative;
  z-index: 2;
}

.reservation-step-1 .circle-group.active {
  background: linear-gradient(135deg, #0f2242 0%, #1d437a 100%);
  border-color: #16396a;
  color: #ffffff;
  box-shadow:
    0 0 0 6px rgba(22, 57, 106, 0.12),
    0 10px 24px rgba(16, 27, 49, 0.24);
}

.reservation-step-1 .circle-group.completed {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  border-color: #10b981;
}

.reservation-step-1 .step-number {
  font-weight: 800;
  line-height: 1;
}

.reservation-step-1 .step-name {
  margin-top: 10px;
}

.reservation-step-1 .step-name span {
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
  color: #7a879b;
  letter-spacing: 0.2px;
}

.reservation-step-1 .step-breadcrumb li.active .step-name span,
.reservation-step-1 .circle-group.active + .step-name span,
.reservation-step-1 .circle-group.completed + .step-name span {
  color: #112646;
}

.reservation-step-3 .step-progress {
  display: none;
}

.reservation-step-3 .step3-route-overview-section {
  padding: 24px 0 12px;
}

.reservation-step-3 .step3-route-overview {
  border-radius: 16px;
  background: linear-gradient(135deg, #101b31 0%, #1d3f73 100%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 10px 24px rgba(16, 27, 49, 0.16);
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.reservation-step-3 .step3-route-overview .route-inline-steps {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: 9px 11px 8px;
  border-radius: 13px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(4px);
}

.reservation-step-3 .step3-route-overview .route-inline-steps ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.reservation-step-3 .step3-route-overview .route-inline-steps li {
  position: relative;
  text-align: center;
  padding: 0 4px;
}

.reservation-step-3 .step3-route-overview .route-inline-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 13px;
  left: calc(50% + 20px);
  width: calc(100% - 40px);
  height: 2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
}

.reservation-step-3 .step3-route-overview .inline-step-dot {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  color: #ffffff; 
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
}

.reservation-step-3 .step3-route-overview .inline-step-label {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  color: #ffffff; 
}

.reservation-step-3 .step3-route-overview .route-inline-steps li.completed .inline-step-dot {
  color: #ffffff;
  border-color: #ffffff; 
  background: rgba(255, 255, 255, 0.12);
}

.reservation-step-3 .step3-route-overview .route-inline-steps li.completed .inline-step-label {
  color: #ffffff; 
}

.reservation-step-3 .step3-route-overview .route-inline-steps li.active .inline-step-dot {
  color: #0f2a4f;
  border-color: #ffffff; 
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(8, 18, 32, 0.25);
}

.reservation-step-3 .step3-route-overview .route-inline-steps li.active .inline-step-label {
  color: #ffffff;
}

/* Route Info Box */
.reservation-step-1 .step-route-section {
  padding: 22px 0 0px;
  position: relative;
  z-index: 40;
}

.reservation-step-1 .route-inline-steps {
  width: min(760px, 100%);
  margin: 0 auto 18px;
  padding: 10px 12px 9px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(4px);
  position: relative;
  z-index: 1;
}

.reservation-step-1 .route-inline-steps ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.reservation-step-1 .route-inline-steps li {
  position: relative;
  text-align: center;
  padding: 0 4px;
}

.reservation-step-1 .route-inline-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 14px;
  left: calc(50% + 22px);
  width: calc(100% - 44px);
  height: 2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
}

.reservation-step-1 .inline-step-dot {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  color: #ffffff; 
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
}

.reservation-step-1 .inline-step-label {
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.3;
  color: #ffffff; 
}

.reservation-step-1 .route-inline-steps li.active .inline-step-dot {
  color: #0f2a4f;
  border-color: #ffffff; 
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(8, 18, 32, 0.25);
}

.reservation-step-1 .route-inline-steps li.active .inline-step-label {
  color: #ffffff;
}

.reservation-step-1 .step-route-box {
  position: relative;
  overflow: visible;
  border: none;
  border-radius: 20px;
  background: linear-gradient(135deg, #101b31 0%, #1e3a5f 100%);
  box-shadow:
    0 4px 24px rgba(16, 27, 49, 0.12),
    0 1px 3px rgba(16, 27, 49, 0.08);
  padding: 36px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.reservation-step-1 .step-route-box::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(255,255,255,0.04) 0%, transparent 70%);
  pointer-events: none;
}

.reservation-step-1 .step-route-box::after {
  content: "";
  position: absolute;
  bottom: -40px;
  left: -40px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, transparent 70%);
  pointer-events: none;
}

.reservation-step-1 .route-title h2 {
  margin-bottom: 18px;
  color: #fff;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.3px;
  position: relative;
  z-index: 1;
}

.reservation-step-1 .route-title h2 i {
  color: #ffffff; 
  margin: 0 14px;
  font-size: 0.85em;
}

.reservation-step-1 .route-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  justify-content: center;
  width: fit-content;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.reservation-step-1 .route-stat {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(4px);
  text-align: left;
}

.reservation-step-1 .route-stat-icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.reservation-step-1 .route-stat-icon i {
  color: #ffffff; 
  font-size: 14px;
}

.reservation-step-1 .route-stat-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.9px;
  color: #ffffff; 
  font-weight: 700;
}

.reservation-step-1 .route-stat-value {
  font-size: 13px;
  color: #ffffff;
  font-weight: 700;
}

.reservation-step-1 .step1-route-map {
  margin-top: 14px;
  position: relative;
  z-index: 1;
  width: 100% !important;
}

.reservation-step-1 .step1-route-map-wrap {
  width: 100%;
  min-height: 360px;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.24);
  backdrop-filter: blur(4px);
}

.reservation-step-1 .step1-route-map-wrap iframe {
  display: block;
  width: 100%;
  min-height: 360px;
  border: 0;
}

.reservation-step-1 .step1-route-split {
  margin-top: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
  position: relative;
  z-index: 1;
}

.reservation-step-1 .step1-route-split.is-no-map {
  grid-template-columns: minmax(0, 1fr);
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}

.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-field,
.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-field--lg,
.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-field--sm {
  width: 100%;
  min-width: 0;
  flex: 0 0 auto;
}

.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-field--from {
  grid-column: 1 / 3;
}

.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-field--to {
  grid-column: 3 / 5;
}

.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-field--date {
  grid-column: 1 / 2;
}

.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-field--time {
  grid-column: 2 / 3;
}

.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-field--passenger {
  grid-column: 3 / 4;
}

.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-field--currency {
  grid-column: 4 / 5;
}

.reservation-step-1 .step1-route-split.is-no-map .step1-search-card .hsf-submit {
  grid-column: 1 / -1;
  width: 100%;
}

.reservation-step-1 .step1-route-map--split {
  margin-top: 0;
  height: 100%;
}

.reservation-step-1 .step1-route-map--split .step1-route-map-wrap,
.reservation-step-1 .step1-route-map--split .step1-route-map-wrap iframe {
  min-height: 332px;
  height: 100%;
}

.reservation-step-1 .step1-route-form-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 10px;
  text-align: left;
  position: relative;
  z-index: 30;
}

.reservation-step-1 .step1-route-form-head h3 {
  margin: 0;
  color: #ffffff; 
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.reservation-step-1 .step1-search-card {
  margin-top: 0;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: none;
  background: rgba(255, 255, 255, 0.96);
  padding: 14px;
  text-align: left;
  position: relative;
  z-index: 31;
  overflow: visible;
}

.reservation-step-1 .step1-search-card .hero-search-form,
.reservation-step-1 .step1-search-card .hero-search-form--lux,
.reservation-step-1 .step1-search-card .hsf-row,
.reservation-step-1 .step1-search-card .hsf-field,
.reservation-step-1 .step1-search-card .hsf-input-wrap,
.reservation-step-1 .step1-search-card .hsf-input-inner,
.reservation-step-1 .step1-search-card .hsf-label,
.reservation-step-1 .step1-search-card .hsf-input,
.reservation-step-1 .step1-search-card #passenger-text,
.reservation-step-1 .step1-search-card #kur-text {
  text-align: left;
}

.reservation-step-1 .step1-search-card .hsf-row {
  flex-wrap: wrap;
  gap: 8px;
}

.reservation-step-1 .step1-search-card .hsf-divider {
  display: none;
}

.reservation-step-1 .step1-search-card .hsf-field--from,
.reservation-step-1 .step1-search-card .hsf-field--to {
  flex: 1 1 100%;
  width: 100%;
}

.reservation-step-1 .step1-search-card .hsf-field--sm {
  flex: 1 1 calc(50% - 4px);
  width: calc(50% - 4px);
}

.reservation-step-1 .step1-search-card .hsf-submit {
  flex: 1 1 100%;
  width: 100%;
}

.reservation-step-1 .step1-search-card .hsf-btn {
  width: 100%;
  justify-content: center;
  min-height: 54px;
}

.reservation-step-1 .step1-search-card .hsf-input-wrap {
  min-height: 54px;
}

.reservation-step-1 .step1-search-card .paxs {
  left: 0;
  transform: none;
  z-index: 22000;
}

.reservation-step-1 .step1-search-card .hsf-field--currency,
.reservation-step-1 .step1-search-card .hsf-field--passenger {
  position: relative;
  z-index: 22010;
}

.reservation-step-1 .step1-search-card .kurs.paxs {
  z-index: 22050 !important;
}

body.reservation-step-1 .live-result.live-result-floating {
  z-index: 13050 !important;
  border: 1px solid #d8deea;
  border-radius: 12px;
  box-shadow: 0 14px 28px rgba(12, 24, 46, 0.24);
  background: #ffffff;
}

/* Step1 Flatpickr: match homepage date/time look */
.reservation-step-1 .flatpickr-calendar {
  z-index: 12000 !important;
  overflow: visible !important;
  background: #ffffff !important;
  border: 1px solid #d8deea !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 30px rgba(12, 24, 46, 0.24) !important;
  color: #1e2a42 !important;
}

.reservation-step-1 .flatpickr-calendar:not(.noCalendar) {
  width: 278px !important;
  min-width: 278px !important;
  max-width: 278px !important;
  padding: 8px !important;
}

.reservation-step-1 .flatpickr-calendar:not(.noCalendar) .flatpickr-days,
.reservation-step-1 .flatpickr-calendar:not(.noCalendar) .dayContainer {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.reservation-step-1 .flatpickr-calendar::before,
.reservation-step-1 .flatpickr-calendar::after {
  border-bottom-color: #ffffff !important;
}

.reservation-step-1 .flatpickr-months .flatpickr-month,
.reservation-step-1 .flatpickr-current-month,
.reservation-step-1 .flatpickr-current-month .flatpickr-monthDropdown-months,
.reservation-step-1 .flatpickr-current-month input.cur-year {
  color: #1e2a42 !important;
  fill: #1e2a42 !important;
  font-weight: 700 !important;
}

.reservation-step-1 .flatpickr-months .flatpickr-prev-month:hover svg,
.reservation-step-1 .flatpickr-months .flatpickr-next-month:hover svg {
  fill: #0d1b35 !important;
}

.reservation-step-1 .flatpickr-weekday {
  color: #5e6880 !important;
  font-weight: 700 !important;
}

.reservation-step-1 .flatpickr-day {
  color: #2a334a !important;
  border-radius: 8px !important;
  border-color: transparent !important;
}

.reservation-step-1 .flatpickr-day.prevMonthDay,
.reservation-step-1 .flatpickr-day.nextMonthDay {
  color: #6f7a91 !important;
}

.reservation-step-1 .flatpickr-day.flatpickr-disabled,
.reservation-step-1 .flatpickr-day.flatpickr-disabled:hover,
.reservation-step-1 .flatpickr-day.prevMonthDay.flatpickr-disabled,
.reservation-step-1 .flatpickr-day.nextMonthDay.flatpickr-disabled,
.reservation-step-1 .flatpickr-day.notAllowed,
.reservation-step-1 .flatpickr-day.notAllowed:hover {
  color: #a8b1c1 !important;
  opacity: 0.42 !important;
  background: transparent !important;
  border-color: transparent !important;
  cursor: not-allowed !important;
}

.reservation-step-1 .flatpickr-day:hover {
  background: #edf2fb !important;
  border-color: #edf2fb !important;
}

.reservation-step-1 .flatpickr-day.today {
  border-color: #c9a84c !important;
  color: #1f2b44 !important;
}

.reservation-step-1 .flatpickr-day.selected,
.reservation-step-1 .flatpickr-day.startRange,
.reservation-step-1 .flatpickr-day.endRange {
  background: #0d1b35 !important;
  border-color: #0d1b35 !important;
  color: #ffffff !important;
}

.reservation-step-1 .flatpickr-calendar.noCalendar.hasTime {
  background: #ffffff !important;
  border: 1px solid #d4d9e2 !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2) !important;
  padding: 0 !important;
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
}

.reservation-step-1 .flatpickr-calendar.noCalendar.hasTime::before,
.reservation-step-1 .flatpickr-calendar.noCalendar.hasTime::after {
  display: none !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-innerContainer {
  overflow: visible !important;
  display: block !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time,
.reservation-step-1 .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  padding: 0 !important;
  margin-bottom: 0 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  width: 100% !important;
  background: transparent !important;
  border-top: 0 !important;
  line-height: 1 !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper {
  display: block !important;
  width: 58px !important;
  height: 78px !important;
  flex: 0 0 58px !important;
  float: none !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: none !important;
  background: transparent !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp,
.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  opacity: 1 !important;
  visibility: visible !important;
  line-height: 1 !important;
  overflow: visible !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp {
  top: 2px !important;
  bottom: auto !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown {
  bottom: 2px !important;
  top: auto !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp:hover,
.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown:hover {
  background: transparent !important;
  opacity: 0.75 !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp::after,
.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown::after {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #0f1d37 !important;
  border: none !important;
  background: none !important;
  position: static !important;
  line-height: 1 !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp::after {
  content: "\25B4" !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown::after {
  content: "\25BE" !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time input.numInput {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 46px !important;
  height: 40px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0f1d37 !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  line-height: 1 !important;
}

.reservation-step-1 .flatpickr-calendar .flatpickr-time .flatpickr-time-separator {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #0f1d37 !important;
  padding: 0 4px !important;
  margin: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}

.reservation-step-1 .ece-flatpickr-confirm {
  display: none !important;
}

/* Vehicle Selection Cards */
.reservation-step-1 .car-selection-section {
  padding: 0 0 80px;
}

.reservation-step-1 .car-selection {
  border-radius: 20px;
  border: 1px solid #dfe6f1;
  background: #ffffff;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
  margin-bottom: 32px !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  position: relative;
  overflow: hidden;
}

.reservation-step-1 .car-selection:hover {
  border-color: #cfd8e6;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.1);
  transform: translateY(-1px);
}

.reservation-step-1 .car-selection > .row {
  align-items: stretch;
  margin: 0;
}

.reservation-step-1 .car-selection > .row > [class*="col-"] {
  padding: 0;
}

.reservation-step-1 .car-image-container {
  border-radius: 20px 0 0 20px;
  overflow: hidden;
  background: #eef3fa;
  position: relative;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
}

.reservation-step-1 .car-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.reservation-step-1 .car-image-container .car-swiper {
  height: 100%;
}

.reservation-step-1 .car-image-container .car-swiper .swiper-wrapper,
.reservation-step-1 .car-image-container .car-swiper .swiper-slide {
  height: 100%;
}

.reservation-step-1 .car-swiper-pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px !important;
  z-index: 3;
}

.reservation-step-1 .car-swiper-pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  background: rgba(255, 255, 255, 0.55);
  opacity: 1;
}

.reservation-step-1 .car-swiper-pagination .swiper-pagination-bullet-active {
  width: 18px;
  border-radius: 999px;
  background: #ffffff;
}

.reservation-step-1 .car-selection:hover .car-image-container img {
  transform: scale(1.03);
}

.reservation-step-1 .car-main-content {
  padding: 14px 18px 14px 18px;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #ffffff;
}

.reservation-step-1 .car-info-block {
  flex: 1 1 auto;
  min-width: 0;
}

.reservation-step-1 .car-head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.reservation-step-1 .car-rating-stars {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.reservation-step-1 .car-rating-stars i {
  color: #f3b52b;
  font-size: 16px;
}

.reservation-step-1 .car-card-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.reservation-step-1 .car-action-btn {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid #e1e8f2;
  background: #f3f7fc;
  color: #394a65;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.reservation-step-1 .car-action-btn:hover {
  background: #eef4ff;
  border-color: #d7e1ef;
  color: #0f2242;
}

.reservation-step-1 .car-action-btn i {
  font-size: 16px;
}

.reservation-step-1 .car-name {
  color: #0f172a;
  font-size: clamp(1.35rem, 1.72vw, 1.7rem);
  font-weight: 800;
  margin-bottom: 6px;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.reservation-step-1 .car-capacity-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.reservation-step-1 .car-capacity-line span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #2f3c52;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
  white-space: nowrap;
}

.reservation-step-1 .car-capacity-line i {
  color: #f2b3a3;
  font-style: normal;
  font-size: 13px;
  line-height: 1;
}

.reservation-step-1 .car-capacity-line span svg {
  width: 14px;
  height: 14px;
  fill: #f04a24;
  flex: 0 0 14px;
}

.reservation-step-1 .car-amenity-line {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.reservation-step-1 .car-amenity-line span {
  display: inline-flex;
  align-items: center;
  color: #3f4d63;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
}

.reservation-step-1 .car-amenity-line i {
  color: #f2b3a3;
  font-style: normal;
  font-size: 14px;
  line-height: 1;
}

.reservation-step-1 .car-policy-stack {
  margin-bottom: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.reservation-step-1 .car-policy-line {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #10a56a;
  font-size: 13.5px;
  font-weight: 600;
}

.reservation-step-1 .car-policy-line i {
  font-size: 16px;
}

.reservation-step-1 .car-policy-line-note {
  color: #10a56a;
  font-size: 13px;
  font-weight: 500;
}

.reservation-step-1 .car-policy-line-note i {
  font-size: 15px;
  opacity: 0.92;
}

.reservation-step-1 .car-footer-row {
  flex: 0 0 210px;
  width: 210px;
  max-width: 100%;
  margin-top: 0;
  padding-top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.reservation-step-1 .car-price-block {
  min-width: 176px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.reservation-step-1 .car-price-block .price-from-label {
  color: #7a879b;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 500;
  margin-bottom: 2px;
}

.reservation-step-1 .features-toggle-btn {
  border-radius: 999px;
  background: #f8fbff;
  border: 1px solid #dce4f0;
  color: #4c5c73;
  padding: 7px 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 12px;
  transition: all 0.2s ease;
  cursor: pointer;
  margin-bottom: 8px;
  width: fit-content;
}

.reservation-step-1 .features-toggle-btn:hover {
  background: #eef4ff;
  border-color: #cfd9e7;
  color: #24344f;
}

.reservation-step-1 .features-content {
  margin-top: 0;
  margin-bottom: 4px;
  padding: 12px;
  background: #f8fbff;
  border-radius: 12px;
  border: 1px solid #e6edf7;
}

.reservation-step-1 .features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 8px 12px;
}

.reservation-step-1 .feature-item {
  color: #556378;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.reservation-step-1 .feature-item i {
  color: #20406f;
  font-size: 14px;
}

.reservation-step-1 .car-price-block .price {
  color: #f04a24;
  font-size: clamp(2rem, 2.6vw, 2.35rem);
  font-weight: 800;
  display: block;
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-align: center;
}

.reservation-step-1 .car-price-block .price-label {
  margin-top: 4px;
  font-size: 12px;
  color: #8a98ad;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  text-align: right;
}

.reservation-step-1 .main-btn-2 {
  width: auto;
  min-width: 190px;
  min-height: 44px;
  background: #102f5d;
  color: #ffffff;
  border-radius: 12px;
  font-weight: 800;
  font-size: 14px;
  border: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  box-shadow: 0 8px 18px rgba(16, 47, 93, 0.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  white-space: nowrap;
  text-transform: none;
  letter-spacing: 0.2px;
  text-decoration: none;
}

.reservation-step-1 .main-btn-2 i {
  font-size: 16px;
  color: #ffffff;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.reservation-step-1 .main-btn-2:hover {
  background: #0d274c;
  box-shadow: 0 10px 22px rgba(16, 47, 93, 0.32);
  color: #ffffff;
  text-decoration: none;
}

.reservation-step-1 .main-btn-2:hover i {
  transform: translateX(4px);
}

.reservation-step-1 .reservation-help-alert {
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #64748b;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
}

.reservation-step-1 .reservation-help-alert i.mdi-alert {
  font-size: 32px;
  margin-bottom: 0px;
}

.reservation-step-1 .reservation-help-btn {
  border-radius: 999px;
  font-weight: 700;
  padding: 12px 24px;
  background: #10b981;
  border: none;
  color: #fff;
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.25);
  transition: transform 0.2s;
}

.reservation-step-1 .reservation-help-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(16, 185, 129, 0.35);
}

.reservation-step-2 .step2-main-section {
  padding-top: 32px !important;
  padding-bottom: 88px !important;
}

.reservation-step-2 .checkout-box {
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  background: #ffffff;
  backdrop-filter: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  padding: 28px;
  margin-bottom: 24px;
}

.reservation-step-2 .checkout-title {
  color: #1e293b !important;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f1f5f9;
}

.reservation-step-2 .input-groups {
  position: relative;
  margin-bottom: 20px;
  min-height: 64px;
  height: auto;
  padding: 12px 18px;
  background: #f8fafc;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px;
  cursor: text;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: all 0.3s ease;
}

.reservation-step-2 .input-groups:has(input:focus) {
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1) !important;
  background: #fff !important;
}

.reservation-step-2 .input-groups:has(.time-picker:focus),
.reservation-step-2 .input-groups:has(.date-picker:focus) {
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1) !important;
}

.reservation-step-2 .input-groups>label,
.reservation-step-2 .input-groups label.trip-title {
  margin-bottom: 6px !important;
  font-size: 12px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 700;
  z-index: 1;
  text-align: left !important;
}

.reservation-step-2 .checkout-input,
.reservation-step-2 .input-groups>input {
  height: 28px;
  border: none !important;
  background: transparent !important;
  color: #1e293b;
  padding: 0;
  font-size: 16px;
  font-weight: 600;
  box-shadow: none !important;
  width: 100%;
}

.reservation-step-2 .checkout-input:focus,
.reservation-step-2 .input-groups>input:focus {
  outline: none;
}

.reservation-step-2 .checkout-input::placeholder,
.reservation-step-2 .input-groups>input::placeholder {
  color: #94a3b8;
  font-weight: 500;
}

.reservation-step-2 .input-groups:has(.date-picker) {
  padding-left: 54px;
}

.reservation-step-2 .input-groups:has(.date-picker)::before {
  content: '\F00ED';
  font-family: "Material Design Icons";
  font-weight: 400;
  position: absolute;
  left: 0;
  top: 0;
  width: 54px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #6366f1;
  line-height: 1;
  pointer-events: none;
}

.reservation-step-2 .input-groups:has(.time-picker) {
  padding-left: 54px;
}

.reservation-step-2 .input-groups:has(.time-picker)::before {
  content: '\F0150';
  font-family: "Material Design Icons";
  font-weight: 400;
  position: absolute;
  left: 0;
  top: 0;
  width: 54px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #6366f1;
  line-height: 1;
  pointer-events: none;
}

/* Return-transfer date/time inputs have their own label icons — hide ::before there */
.reservation-step-2 .return-transfer-body .input-groups:has(.date-picker),
.reservation-step-2 .return-transfer-body .input-groups:has(.time-picker) {
  padding-left: 0 !important;
}
.reservation-step-2 .return-transfer-body .input-groups:has(.date-picker)::before,
.reservation-step-2 .return-transfer-body .input-groups:has(.time-picker)::before {
  display: none !important;
}

/* ── Desktop submit + policy bar ────────────────────── */
.reservation-step-2 .step2-submit-bar {
  position: relative;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  padding: 24px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  align-items: stretch !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
}

.reservation-step-2 .step2-submit-bar::before {
  display: none;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 0;
  border-radius: 0;
  border: none;
  background: transparent;
  backdrop-filter: none;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy input[type=checkbox] {
  width: 20px;
  height: 20px;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid #cbd5e1;
  border-radius: 6px;
  background: transparent;
  margin: 0;
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy input[type=checkbox]::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0.9);
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy input[type=checkbox]:checked {
  background: #101b31;
  border-color: #101b31;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy input[type=checkbox]:checked::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy input[type=checkbox]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(16, 27, 49, 0.15);
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy label {
  font-size: 13px;
  line-height: 1.55;
  color: #64748b !important;
  cursor: pointer;
  margin: 0;
  flex: 1;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy label a {
  color: #6366f1 !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(99, 102, 241, 0.3);
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy label a:hover {
  color: #4f46e5 !important;
  text-decoration-color: rgba(79, 70, 229, 0.5);
}

.reservation-step-2 .step2-submit-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.reservation-step-2 .step2-submit-actions .total-payment {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.reservation-step-2 .step2-submit-actions .total-payment > span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #64748b !important;
  font-weight: 700;
}

.reservation-step-2 .step2-submit-actions .total-payment h4 {
  font-size: 1.85rem;
  font-weight: 800;
  color: #101b31 !important;
  margin: 0;
  line-height: 1.15;
}

/* ── Dönüş Transfer Toggle Kutusu ─────────────────────────── */
.reservation-step-2 .return-transfer-box {
  padding: 0 !important;
  overflow: visible;
  border: 1px solid #dfe7f2 !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  backdrop-filter: none;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.reservation-step-2 .return-toggle-header {
  padding: 0;
}

.reservation-step-2 .return-toggle-label {
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  margin: 0;
  padding: 18px 20px;
  border: none;
  border-radius: 18px;
  background: transparent;
  transition: all 0.2s ease;
  user-select: none;
}

.reservation-step-2 .return-toggle-check {
  width: 28px;
  height: 28px;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid #cad6e6;
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
  position: relative;
  margin: 0;
  flex-shrink: 0;
  transition: all 0.2s ease;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.reservation-step-2 .return-toggle-check::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 4px;
  width: 6px;
  height: 12px;
  border: solid #fff;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg) scale(0.9);
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.reservation-step-2 .return-toggle-check:checked {
  background: linear-gradient(180deg, #13345f 0%, #0d274c 100%);
  border-color: #102f5d;
  box-shadow: 0 0 0 4px rgba(16, 47, 93, 0.12);
}

.reservation-step-2 .return-toggle-check:checked::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

.reservation-step-2 .return-toggle-check:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(198, 162, 75, 0.18);
}

.reservation-step-2 .return-toggle-label:hover {
  background: #f8fafc;
}

.reservation-step-2 .return-toggle-text {
  font-size: 19px;
  font-weight: 800;
  color: #10213f;
  transition: color 0.2s ease;
  line-height: 1.2;
}

.reservation-step-2 .return-toggle-copy {
  display: flex;
  align-items: center;
  min-width: 0;
}

.reservation-step-2 .return-transfer-body {
  padding: 20px 24px;
  border-top: 1px solid #f1f5f9;
  border-radius: 0;
  background: transparent;
  margin-top: 0;
}

/* Neutralise the stray Bootstrap col-12 wrapper inside return-transfer-body
   so the return-row negative margins work correctly against the body padding */
.reservation-step-2 .return-transfer-body>.col-12 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.reservation-step-2 .return-transfer-body.d-none {
  display: none !important;
}

/* Bootstrap 4 doesn't have g-2; emulate column gutter with mb */
.reservation-step-2 .return-transfer-body .return-row {
  margin-left: -8px;
  margin-right: -8px;
}

.reservation-step-2 .return-row>[class*="col-"] {
  margin-bottom: 16px;
  padding-left: 8px;
  padding-right: 8px;
}

.reservation-step-2 .return-row>[class*="col-"]:last-child {
  margin-bottom: 0;
}

.reservation-step-2 .return-transfer-body .checkout-title {
  margin-top: 0;
  border-bottom: 1px solid #f1f5f9;
  padding-bottom: 14px;
  margin-bottom: 18px;
}

/* ── Return Transfer Input Fields – Enhanced Padding ─────────────── */
.reservation-step-2 .return-transfer-body .input-groups {
  position: relative !important;
  margin-bottom: 20px !important;
  min-height: 64px !important;
  height: auto !important;
  padding: 12px 18px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  cursor: text !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
}

.reservation-step-2 .return-transfer-body .input-groups>label {
  margin-bottom: 6px !important;
  font-size: 12px !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  color: #64748b !important;
  font-weight: 700 !important;
  z-index: 1 !important;
  text-align: left !important;
}

.reservation-step-2 .return-transfer-body .input-groups>input,
.reservation-step-2 .return-transfer-body .checkout-input {
  height: 28px !important;
  border: none !important;
  background: transparent !important;
  color: #1e293b !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  width: 100% !important;
}

.reservation-step-2 .return-transfer-body .input-groups:has(input:focus) {
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1) !important;
  background: #fff !important;
}

.reservation-step-2 .return-transfer-body .input-groups:has(.date-picker) {
  padding-left: 56px !important;
}

.reservation-step-2 .return-transfer-body .input-groups:has(.time-picker) {
  padding-left: 56px !important;
}

/* Return Transfer Extras Section – Enhanced Spacing */
.reservation-step-2 .return-transfer-body .extra-select,
.reservation-step-2 .return-transfer-body .select-nosrch {
  height: 56px !important;
  padding: 14px 18px !important;
  padding-right: 42px !important;
}

.reservation-step-2 .return-transfer-body .checkout-title:not(:first-child) {
  margin-top: 28px;
}

.reservation-step-2 .voucher-submit {
  border: 0;
  height: 46px;
  padding: 0 20px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #fff;
  background: #101b31;
  box-shadow: 0 2px 8px rgba(16, 27, 49, 0.15);
  transition: all 0.25s ease;
}

.reservation-step-2 .voucher-submit:hover {
  background: #1e3a5f;
  box-shadow: 0 4px 14px rgba(16, 27, 49, 0.25);
}

.reservation-step-2 .step2-summary-card,
.reservation-step-2 .step2-price-card {
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  background: #ffffff;
  backdrop-filter: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  padding: 24px;
  transition: box-shadow 0.3s ease;
}

/* Clip the full-bleed car image to the card's rounded corners */
.reservation-step-2 .step2-summary-card {
  overflow: hidden;
}

.reservation-step-2 .step2-summary-card:hover,
.reservation-step-2 .step2-price-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.reservation-step-2 .step2-summary-card .f-white,
.reservation-step-2 .step2-summary-card .csg,
.reservation-step-2 .step2-summary-card .csp,
.reservation-step-2 .step2-price-card .f-white,
.reservation-step-2 .step2-price-card .csg,
.reservation-step-2 .step2-price-card .csp {
  color: #475569 !important;
}

.reservation-step-2 .step2-summary-card i.mdi,
.reservation-step-2 .step2-price-card i.mdi {
  color: #101b31 !important;
}

.reservation-step-2 .step-2-car-name {
  color: #1e293b;
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 14px;
}

/* Full-bleed car image inside summary card */
.reservation-step-2 .summary-car-image {
  margin: 0 -24px 16px;
  overflow: hidden;
  border-top: 1px solid #f1f5f9;
  border-bottom: 1px solid #f1f5f9;
}

.reservation-step-2 .summary-car-image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

/* Specs row (bagaj + kisi) */
.reservation-step-2 .summary-specs {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-bottom: 12px;
}

/* Vehicle features list */
.reservation-step-2 .summary-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0 6px;
}

.reservation-step-2 .summary-feature-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  color: #475569;
  font-size: 13px;
}

.reservation-step-2 .summary-feature-item i {
  color: #0d1b35 !important;
  font-size: 12px;
}

/* Route info (from / to) */
.reservation-step-2 .summary-route {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #f1f5f9;
  display: flex;
  flex-direction: column;
}

.reservation-step-2 .summary-route-meta {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.reservation-step-2 .summary-route-stat {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e5eaf2;
  color: #334155;
  font-size: 13px;
  font-weight: 600;
}

.reservation-step-2 .summary-route-stat i {
  color: #0d1b35;
  font-size: 15px;
}

.reservation-step-2 .leftf.dotted-gradient {
  height: 20px;
  margin: 10px 0 6px 10px;
  border-left: 2px dashed #cbd5e1;
}

/* Override f-white inside light checkout-box */
.reservation-step-2 .checkout-box .f-white,
.reservation-step-2 .checkout-box label.f-white {
  color: #1e293b !important;
}

.reservation-step-2 .extra-list ul {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}

.reservation-step-2 .rextra-items {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  font-size: 14px;
  color: #64748b;
  border-bottom: 1px dashed #e2e8f0;
}

.reservation-step-2 .rextra-items b {
  color: #1e293b;
  font-weight: 700;
}

.reservation-step-2 .extra-items {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  font-size: 14px;
  color: #64748b;
  border-bottom: 1px dashed #e2e8f0;
}

.reservation-step-2 .extra-items b {
  color: #1e293b;
  font-weight: 700;
}

.reservation-step-2 .new-hr {
  border-color: #e2e8f0;
  margin: 20px 0;
}

/* Total Price Display */
.reservation-step-2 .step2-price-card h4.bold {
  font-size: 1.35rem;
  font-weight: 800;
  color: #1e293b;
}

.reservation-step-2 .step2-price-primary {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 0 6px;
  border-bottom: 1px dashed #f1f5f9;
}

.reservation-step-2 .step2-price-value {
  font-size: 2rem;
  font-weight: 800;
  color: #0d1b35;
  letter-spacing: -0.02em;
}

.reservation-step-2 .step2-price-sub {
  font-size: 12px;
  font-weight: 700;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.reservation-step-2 .step2-price-card .total-price {
  font-size: 1.6rem;
  font-weight: 800;
  color: #101b31;
}

/* Price row items inside price card */
.reservation-step-2 .step2-price-card > .col-12.d-flex > div[style] {
  padding: 6px 0;
  border-bottom: 1px dashed #f1f5f9;
  font-size: 14.5px;
}

.reservation-step-2 .step2-price-card > .col-12.d-flex > div[style] .f-white {
  color: #64748b !important;
}

.reservation-step-2 .step2-price-card > .col-12.d-flex > div[style] .bold {
  color: #1e293b !important;
  font-weight: 700;
}

/* Price card title bar */
.reservation-step-2 .step2-price-card-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #94a3b8;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f1f5f9;
}

/* Return Transfer Section */
.reservation-step-2 #return-transfer {
  width: 100%;
  padding: 0;
  margin-top: 20px;
}

.reservation-step-2 #return-transfer>.col-12 {
  padding: 0;
}

.reservation-step-2 .step2-price-card .policy label {
  color: #64748b;
}

.reservation-step-2 .step2-price-card .policy a {
  color: #101b31;
  text-decoration: underline;
}

.reservation-step-2 .msg-box {
  background: rgba(99, 102, 241, 0.06);
  border: 1px solid rgba(99, 102, 241, 0.2);
  border-radius: 12px;
  padding: 12px 16px;
  backdrop-filter: none;
}

/* Select Dropdown Styling */
.reservation-step-2 .select-nosrch,
.reservation-step-2 .extra-select {
  width: 100%;
  height: 52px;
  padding: 12px 16px;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  font-size: 15px;
  font-weight: 600;
  color: #1e293b !important;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 40px !important;
}

.reservation-step-2 .select-nosrch:focus,
.reservation-step-2 .extra-select:focus {
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1) !important;
  outline: none;
}

.reservation-step-2 .select-nosrch:hover,
.reservation-step-2 .extra-select:hover {
  border-color: #94a3b8 !important;
}

.reservation-step-2 .select-nosrch option,
.reservation-step-2 .extra-select option {
  padding: 10px;
  font-weight: 500;
  background: #fff;
  color: #1e293b;
}

/* Checkbox Styling */
.reservation-step-2 .chk {
  display: flex;
  align-items: center;
  gap: 12px;
}

.reservation-step-2 .chk input[type="checkbox"] {
  width: 22px;
  height: 22px;
  accent-color: #101b31;
  cursor: pointer;
}

.reservation-step-2 .chk label {
  cursor: pointer;
  user-select: none;
  color: #475569;
}

/* Policy Checkbox */
.reservation-step-2 .policy {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.reservation-step-2 .policy input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: #101b31;
  cursor: pointer;
  flex-shrink: 0;
}

.reservation-step-2 .policy label {
  font-size: 14px;
  line-height: 1.6;
  color: #64748b;
  cursor: pointer;
}

.reservation-step-2 .policy a {
  color: #101b31;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

.reservation-step-2 .policy a:hover {
  color: #1e3a5f;
  text-decoration: underline;
}

.reservation-step-2 .msg-box i {
  color: #6366f1;
}

.reservation-step-2 .msg-box span {
  color: #1e293b;
}

/* ── Phone (intlTelInput) – input-groups integrated ─────────────── */
.reservation-step-2 .phone-input-group {
  overflow: visible !important;
  cursor: pointer;
}

.reservation-step-2 .phone-input-group .iti {
  display: block !important;
  width: 100% !important;
  height: 28px !important;
  position: relative;
}

.reservation-step-2 .phone-input-group .iti input[type=tel] {
  height: 28px !important;
  border: none !important;
  background: transparent !important;
  color: #1e293b !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100% !important;
  padding: 0 0 0 90px !important;
  border-radius: 0 !important;
  line-height: 28px !important;
}

.reservation-step-2 .phone-input-group .iti input[type=tel]::placeholder {
  color: #94a3b8;
  font-weight: 500;
}

.reservation-step-2 .phone-input-group .iti--separate-dial-code .iti__selected-flag {
  background-color: transparent !important;
  border-right: 1px solid #e2e8f0 !important;
  border-radius: 0;
  padding: 0 10px 0 0;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  top: 0;
  bottom: auto;
}

.reservation-step-2 .phone-input-group .iti__selected-dial-code {
  color: #334155;
  font-size: 14px;
  font-weight: 600;
  margin-left: 6px;
}

.reservation-step-2 .phone-input-group .iti__flag-container {
  height: 28px !important;
}

.reservation-step-2 .phone-input-group .iti__country-list {
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  border: 1px solid #e2e8f0;
  margin-top: 6px;
  z-index: 99999;
  background: #fff;
  position: fixed;
  max-height: 260px;
  overflow-y: auto;
}

.reservation-step-2 .phone-input-group .iti__country-list .iti__country {
  padding: 8px 14px;
}

.reservation-step-2 .phone-input-group .iti__country.iti__highlight {
  background-color: #f1f5f9;
}

.reservation-step-2 .phone-input-group .iti__country-name {
  color: #1e293b;
}

.reservation-step-2 .phone-input-group .iti__dial-code {
  color: #64748b;
}

.reservation-step-2 .phone-input-group .iti__arrow {
  border-top-color: #64748b;
}

.reservation-step-2 .phone-input-group .iti__arrow--up {
  border-bottom-color: #6366f1;
  border-top-color: transparent;
}

.reservation-step-2 .phone-input-group .iti__search-input {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #1e293b;
  border-radius: 8px;
  padding: 8px 12px;
  width: calc(100% - 24px);
  margin: 8px 12px;
  font-size: 14px;
}

/* ── Geliştirilmiş submit bar (masaüstü) — light override ─────── */
/* (primary rules live in the "Desktop submit + policy bar" block above) */
.reservation-step-2 .step2-submit-bar .step2-submit-policy input[type=checkbox] {
  width: 20px;
  height: 20px;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid #cbd5e1;
  border-radius: 6px;
  background: transparent;
  margin-top: 1px;
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy input[type=checkbox]::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0.9);
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy input[type=checkbox]:checked {
  background: #101b31;
  border-color: #101b31;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy input[type=checkbox]:checked::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy input[type=checkbox]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(16, 27, 49, 0.15);
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy label {
  font-size: 14px;
  line-height: 1.5;
  color: #64748b !important;
  cursor: pointer;
  margin: 0;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy label a {
  color: #6366f1 !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(99, 102, 241, 0.3);
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.reservation-step-2 .step2-submit-bar .step2-submit-policy label a:hover {
  color: #4f46e5 !important;
  text-decoration-color: rgba(79, 70, 229, 0.5);
}

.reservation-step-2 .step2-submit-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.reservation-step-2 .step2-submit-actions .total-payment {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.reservation-step-2 .step2-submit-actions .total-payment>span {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #64748b !important;
  font-weight: 700;
}

.reservation-step-2 .step2-submit-actions .total-payment h4 {
  font-size: 1.7rem;
  font-weight: 800;
  color: #101b31 !important;
  margin: 0;
}

/* ── Unified submit alanı (fiyat kartının içinde, her zaman görünür) ─── */
.reservation-step-2 .step2-unified-submit {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.reservation-step-2 .step2-unified-submit .step2-submit-policy {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 0;
  border-radius: 0;
  border: none;
  background: transparent;
}

.reservation-step-2 .step2-unified-submit .step2-submit-policy input[type=checkbox] {
  width: 20px;
  height: 20px;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid #cbd5e1;
  border-radius: 6px;
  background: transparent;
  margin-top: 1px;
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.reservation-step-2 .step2-unified-submit .step2-submit-policy input[type=checkbox]::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0.9);
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.reservation-step-2 .step2-unified-submit .step2-submit-policy input[type=checkbox]:checked {
  background: #101b31;
  border-color: #101b31;
}

.reservation-step-2 .step2-unified-submit .step2-submit-policy input[type=checkbox]:checked::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

.reservation-step-2 .step2-unified-submit .step2-submit-policy input[type=checkbox]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(16, 27, 49, 0.15);
}

.reservation-step-2 .step2-unified-submit .step2-submit-policy label {
  font-size: 13px;
  line-height: 1.55;
  color: #64748b;
  cursor: pointer;
  margin: 0;
}

.reservation-step-2 .step2-unified-submit .step2-submit-policy label a {
  color: #6366f1;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(99, 102, 241, 0.3);
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.reservation-step-2 .step2-unified-submit .step2-submit-policy label a:hover {
  color: #4f46e5;
  text-decoration-color: rgba(79, 70, 229, 0.5);
}

.reservation-step-2 .step2-unified-submit .voucher-submit {
  width: 100%;
  height: 52px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.reservation-step-3 .rez-complete-section {
  padding: 74px 0 96px;
}

.reservation-step-3 .rez-complete-box {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  padding: 42px 32px;
}

.reservation-step-3 .rez-complete-box::after {
  content: "";
  position: absolute;
  top: -80px;
  right: -80px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(243, 192, 75, 0.08), transparent 70%);
}

.reservation-step-3 .rez-complete-box .head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.reservation-step-3 .rez-complete-box .head i {
  font-size: 72px;
  color: #10a36f;
  filter: drop-shadow(0 0 16px rgba(16, 163, 111, 0.4));
}

.reservation-step-3 .rez-complete-box .head i.mdi-close {
  color: #ef4444 !important;
  filter: drop-shadow(0 0 16px rgba(239, 68, 68, 0.4));
}

.reservation-step-3 .rez-complete-box .message {
  font-size: clamp(1.45rem, 3vw, 2rem);
  color: #1e293b;
  font-weight: 800;
  text-align: center;
}

.reservation-step-3 .rez-complete-info {
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.04);
  margin-top: 18px;
  padding: 24px;
}

.reservation-step-3 .rez-complete-info .form-note {
  color: #475569 !important;
  font-size: 15px;
  line-height: 1.7;
}

.reservation-step-3 .rez-number-box {
  margin-top: 16px;
  background: linear-gradient(135deg, rgba(243, 192, 75, 0.08) 0%, rgba(243, 192, 75, 0.02) 100%);
  border: 1px solid rgba(243, 192, 75, 0.2);
  border-radius: 16px;
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.reservation-step-3 .rez-number-box span:first-child {
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #fff;
}

.reservation-step-3 .rez-number-box span:last-child {
  font-family: var(--font-display, "Manrope", sans-serif);
  font-size: 34px;
  letter-spacing: 2px;
  color: #101b31;
  font-weight: 800;
}

.reservation-step-3 .main-btn.add-border {
  border: 0;
  border-radius: 10px;
  padding: 14px 32px;
  font-size: 14px;
  font-weight: 700;
  background: #101b31;
  color: #fff;
  box-shadow: 0 2px 8px rgba(16, 27, 49, 0.15);
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.reservation-step-3 .main-btn.add-border:hover {
  background: #1e3a5f;
  box-shadow: 0 4px 14px rgba(16, 27, 49, 0.25);
}

/* ---------------------------------------------------- */
/* OVERRIDE FOR RESPONSIVE.CSS CONFLICT */
/* ---------------------------------------------------- */
/* The global style in responsive.css:60 (.input-groups { height: 50px; margin-bottom: 5px !important; }) */
/* was forcing all inputs to be small and cramped. */
/* We override it here with MAXIMUM specificity for Step 2. */

/* Force ALL input-groups to have proper height (fixes özel not and other inputs) */
body.reservation-flow.reservation-step-2 .checkout-box .input-groups,
body.reservation-flow.reservation-step-2 .input-groups {
    height: auto !important; /* Override fixed 50px */
    min-height: 56px !important; /* Adequate height for all inputs including text fields */
    margin-bottom: 16px !important; /* Override 5px !important */
}

/* Specifically target the Return Transfer (Dönüş Bilgileri) inputs with horizontal flexbox design */
body.reservation-flow.reservation-step-2 .return-transfer-body .input-groups {
    min-height: 68px !important;
    height: auto !important;
    padding: 14px 20px !important;
    margin-bottom: 16px !important;
    display: flex !important;
    align-items: center !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
}

/* Ensure the inputs inside return-transfer don't get double padding or wrong height */
body.reservation-flow.reservation-step-2 .return-transfer-body .input-groups input,
body.reservation-flow.reservation-step-2 .return-transfer-body .input-groups select {
    height: auto !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Fix return transfer toggle checkbox background - prevent any pattern background */
body.reservation-flow.reservation-step-2 .return-toggle-header,
body.reservation-flow.reservation-step-2 .return-toggle-label {
    background: transparent !important;
    background-image: none !important;
}


/* ================================================================
   Bundled from step2-flatpickr.css
   ================================================================ */
/**
 * Step2 Flatpickr Time Picker — tek yetkili kaynak
 * Yüklenme: flatpickr.min.css'ten sonra. body.reservation-step-2 ile sadece step2'de geçerli.
 */
body.reservation-step-2 .flatpickr-calendar {
    overflow: visible !important;
}
body.reservation-step-2 .flatpickr-calendar.noCalendar.hasTime {
    padding-bottom: 0 !important;
    width: 188px !important;
    min-width: 188px !important;
    max-width: 188px !important;
}
body.reservation-step-2 .flatpickr-calendar .flatpickr-innerContainer {
    overflow: visible !important;
}

body.reservation-step-2 .flatpickr-calendar .flatpickr-time,
body.reservation-step-2 .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
    border-top: 1px solid #e2e8f0 !important;
    padding: 8px 8px 10px !important;
    margin-bottom: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4px !important;
    background: #fff !important;
}

body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    width: 44px !important;
    height: auto !important;
    min-height: auto !important;
    float: none !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: none !important;
    background: transparent !important;
}

/* Reorder: ▲ (top) → sayı (middle) → ▼ (bottom) */
body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp {
    order: 1 !important;
}
body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper input.numInput {
    order: 2 !important;
}
body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown {
    order: 3 !important;
}

body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp,
body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    border-radius: 50% !important;
    background: #e2e8f0 !important;
    border: 1px solid #cbd5e1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp:hover,
body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown:hover {
    background: #cbd5e1 !important;
    border-color: #94a3b8 !important;
}

body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp::after,
body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown::after {
    font-size: 9px !important;
    color: #334155 !important;
    border: none !important;
    background: none !important;
    position: static !important;
}
body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp::after {
    content: "\25B2" !important;
}
body.reservation-step-2 .flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown::after {
    content: "\25BC" !important;
}

body.reservation-step-2 .flatpickr-calendar .flatpickr-time input.numInput {
    width: 40px !important;
    height: 30px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    text-align: center !important;
    background: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
}

body.reservation-step-2 .flatpickr-calendar .flatpickr-time .flatpickr-time-separator {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    padding: 0 4px !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
}

body.reservation-step-2 .flatpickr-custom-confirm {
    display: block !important;
    width: auto !important;
    min-width: 92px !important;
    margin: 8px auto 0 !important;
    padding: 8px 12px !important;
    background: #1a73e8 !important;
    color: #fff !important;
    border-radius: 7px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    border: none !important;
    box-sizing: border-box !important;
}
body.reservation-step-2 .flatpickr-custom-confirm:hover {
    background: #1557b0 !important;
}


/* ================================================================
   Bundled from step2-oscar.css
   ================================================================ */
.reservation-step-2.step2-oscar {
    background: #f4f6fa;
    --brand-navy: #0d1b35;
    --brand-navy-soft: #edf2fb;
}

.reservation-step-2.step2-oscar .step2-main-section {
    padding-top: 10px;
    padding-bottom: 28px;
}

.reservation-step-2.step2-oscar .step2-left-column > .checkout-box,
.reservation-step-2.step2-oscar .step2-right-column > .checkout-box {
    border: 1px solid #e5ebf3 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(16, 24, 40, 0.04) !important;
}

.reservation-step-2.step2-oscar .step2-left-column > .checkout-box {
    margin-bottom: 14px;
}

.reservation-step-2.step2-oscar .checkout-title.section-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #2d3a4f !important;
}

.reservation-step-2.step2-oscar .checkout-title.section-heading.section-heading-muted {
    font-size: 14px !important;
    color: #6f7d8f !important;
    margin-bottom: 10px !important;
}

.reservation-step-2.step2-oscar .section-title-icon {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-navy);
    font-size: 13px;
    flex-shrink: 0;
}

.reservation-step-2.step2-oscar .trip-route-strip {
    margin-bottom: 12px;
    border: 1px solid #e7edf5;
    background: #f8fafd;
    border-radius: 10px;
    min-height: 44px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.reservation-step-2.step2-oscar .trip-route-point {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #43556f;
    font-size: 13px;
    font-weight: 600;
}

.reservation-step-2.step2-oscar .trip-route-point i {
    color: var(--brand-navy);
    font-size: 12px;
}

.reservation-step-2.step2-oscar .trip-route-point span {
    display: inline-block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reservation-step-2.step2-oscar .trip-route-divider {
    flex: 1;
    min-width: 26px;
    height: 1px;
    background-image: linear-gradient(to right, #cdd5e3 60%, rgba(255, 255, 255, 0) 0%);
    background-size: 10px 1px;
    background-repeat: repeat-x;
}

.reservation-step-2.step2-oscar .input-groups {
    border: 1px solid #e3e9f1 !important;
    border-radius: 10px !important;
    background: #f8fafd !important;
    min-height: 52px !important;
    padding: 8px 11px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 2px;
    text-align: left !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.reservation-step-2.step2-oscar .input-groups.is-focused,
.reservation-step-2.step2-oscar .input-groups:focus-within {
    border-color: #7db2ff !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(52, 131, 250, 0.12) !important;
}

.reservation-step-2.step2-oscar .input-groups label,
.reservation-step-2.step2-oscar .input-groups .trip-title,
.reservation-step-2.step2-oscar .input-groups .checkout-label {
    font-size: 10px !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8a97aa !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
}

.reservation-step-2.step2-oscar .checkout-input,
.reservation-step-2.step2-oscar .input-groups input,
.reservation-step-2.step2-oscar .input-groups select,
.reservation-step-2.step2-oscar .input-groups textarea {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #202f44 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    padding: 0 !important;
}

.reservation-step-2.step2-oscar .contact-card .contact-grid {
    row-gap: 8px;
}

.reservation-step-2.step2-oscar .contact-card .input-groups {
    min-height: auto !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    gap: 6px !important;
}

.reservation-step-2.step2-oscar .contact-card .input-groups label,
.reservation-step-2.step2-oscar .contact-card .input-groups .checkout-label {
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #3e4f68 !important;
    margin-bottom: 0 !important;
}

.reservation-step-2.step2-oscar .contact-card .checkout-input,
.reservation-step-2.step2-oscar .contact-card .input-groups input {
    height: 44px !important;
    min-height: 44px !important;
    border: 1px solid #cfd9e8 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    padding: 0 12px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    color: #3f4f66 !important;
}

.reservation-step-2.step2-oscar .contact-card .input-groups:focus-within .checkout-input,
.reservation-step-2.step2-oscar .contact-card .input-groups:focus-within input {
    border-color: #8fb6ef !important;
    box-shadow: 0 0 0 3px rgba(47, 130, 247, 0.12) !important;
}

.reservation-step-2.step2-oscar .contact-card .input-groups input::placeholder {
    color: #8696ad !important;
}

.reservation-step-2.step2-oscar .contact-card .phone-input-group .phone-composer {
    display: flex;
    align-items: center;
    width: 100%;
    height: 44px;
    border: 1px solid #cfd9e8;
    border-radius: 10px;
    background: #ffffff;
    overflow: hidden;
}

.reservation-step-2.step2-oscar .contact-card .phone-input-group .phone-code-select {
    height: 100%;
    flex: 0 0 auto;
    width: auto !important;
    min-width: 84px;
    max-width: 108px;
    box-sizing: border-box;
    margin: 0 !important;
    border: none !important;
    border-right: 1px solid #dce5f2 !important;
    border-radius: 0 !important;
    background: #f9fbff !important;
    color: #22344f !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 0 16px 0 10px !important;
    outline: none !important;
    text-align: left !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235c6f8b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 10px 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.reservation-step-2.step2-oscar .contact-card .phone-input-group .phone-composer>.select2-container {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 84px;
    max-width: 108px;
    height: 100% !important;
    background: #f9fbff !important;
    border-right: 1px solid #dce5f2 !important;
}

.reservation-step-2.step2-oscar .contact-card .phone-input-group .phone-composer>.select2-container .select2-selection--single {
    height: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.reservation-step-2.step2-oscar .contact-card .phone-input-group .phone-composer>.select2-container .select2-selection--single .select2-selection__rendered {
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 0 22px 0 10px !important;
    line-height: 1 !important;
    color: #22344f !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.reservation-step-2.step2-oscar .contact-card .phone-input-group .phone-composer>.select2-container .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    width: 18px !important;
    right: 5px !important;
    top: 0 !important;
}

.reservation-step-2.step2-oscar .contact-card .phone-input-group .phone-composer>.select2-container .select2-selection--single .select2-selection__arrow b {
    border-color: #5c6f8b transparent transparent transparent !important;
    border-width: 5px 4px 0 4px !important;
    margin-top: -2px !important;
}

.reservation-step-2.step2-oscar .phone-flag-option {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.reservation-step-2.step2-oscar .phone-flag-option .flag-icon {
    width: 16px;
    height: 12px;
    border-radius: 2px;
    flex: 0 0 16px;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
}

.reservation-step-2.step2-oscar .phone-flag-option .phone-flag-code {
    color: #22344f;
    font-weight: 700;
    font-size: 13px;
    line-height: 1;
}

.reservation-step-2.step2-oscar .phone-flag-option .phone-flag-name {
    color: #5d6f89;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.reservation-step-2.step2-oscar .phone-country-dropdown {
    border: 1px solid #d7e3f3 !important;
    border-radius: 10px !important;
    overflow: hidden;
    z-index: 99999 !important;
    min-width: 250px !important;
}

.reservation-step-2.step2-oscar .phone-country-dropdown .select2-search--dropdown {
    padding: 8px;
    border-bottom: 1px solid #eef3fb;
    background: #f9fbff;
}

.reservation-step-2.step2-oscar .phone-country-dropdown .select2-search--dropdown .select2-search__field {
    height: 34px;
    border: 1px solid #d3deef !important;
    border-radius: 8px;
    padding: 0 10px;
    font-size: 13px;
    color: #22344f;
}

.reservation-step-2.step2-oscar .phone-country-dropdown .select2-results__option {
    padding: 8px 10px;
}

.reservation-step-2.step2-oscar .phone-country-dropdown .select2-results__option--highlighted.select2-results__option--selectable {
    background: #ecf4ff !important;
    color: #1d2f4c !important;
}

.reservation-step-2.step2-oscar .contact-card .phone-input-group .phone-composer #phone {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    height: 100% !important;
    min-height: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 10px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    text-align: left !important;
    direction: ltr !important;
    text-indent: 0 !important;
    letter-spacing: 0 !important;
}

.reservation-step-2.step2-oscar .contact-card .phone-input-group .phone-composer #phone::placeholder {
    text-align: left !important;
    color: #8696ad !important;
    letter-spacing: 0 !important;
}

.reservation-step-2.step2-oscar .contact-card .phone-input-group .phone-composer:focus-within {
    border-color: #8fb6ef !important;
    box-shadow: 0 0 0 3px rgba(47, 130, 247, 0.12) !important;
}

.reservation-step-2.step2-oscar .passenger-card .input-groups,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups,
.reservation-step-2.step2-oscar .return-transfer-card .return-transfer-body .input-groups {
    min-height: auto !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    gap: 6px !important;
}

.reservation-step-2.step2-oscar .passenger-card .input-groups label,
.reservation-step-2.step2-oscar .passenger-card .input-groups .trip-title,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups label,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups .trip-title,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups label,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups .trip-title {
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #3e4f68 !important;
    margin-bottom: 0 !important;
}

.reservation-step-2.step2-oscar .passenger-card .checkout-input,
.reservation-step-2.step2-oscar .passenger-card .input-groups input,
.reservation-step-2.step2-oscar .outbound-transfer-card .checkout-input,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups input,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups textarea,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups select,
.reservation-step-2.step2-oscar .return-transfer-card .checkout-input,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups input,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups textarea,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups select {
    height: 44px !important;
    min-height: 44px !important;
    border: 1px solid #cfd9e8 !important;
    border-radius: 10px !important;
    background-color: #ffffff !important;
    padding: 0 12px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: #3f4f66 !important;
}

.reservation-step-2.step2-oscar .passenger-card .input-groups:focus-within .checkout-input,
.reservation-step-2.step2-oscar .passenger-card .input-groups:focus-within input,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups:focus-within .checkout-input,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups:focus-within input,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups:focus-within textarea,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups:focus-within select,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups:focus-within .checkout-input,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups:focus-within input,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups:focus-within textarea,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups:focus-within select {
    border-color: #8fb6ef !important;
    box-shadow: 0 0 0 3px rgba(47, 130, 247, 0.12) !important;
}

.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups .date-picker,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups .date-picker {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
}

.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups .time-picker,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups .time-picker {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='12 7 12 12 15 15'/%3E%3C/svg%3E") !important;
}

.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups .date-picker,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups .time-picker,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups .date-picker,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups .time-picker {
    background-repeat: no-repeat !important;
    background-position: 10px 50% !important;
    background-size: 15px 15px !important;
    padding-left: 34px !important;
}

.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups {
    margin-bottom: 8px !important;
}

.reservation-step-2.step2-oscar .return-transfer-body .input-groups {
    margin-bottom: 8px !important;
}

.reservation-step-2.step2-oscar .input-groups:has(.date-picker),
.reservation-step-2.step2-oscar .input-groups:has(.time-picker) {
    min-height: 48px !important;
    padding: 7px 10px !important;
}

.reservation-step-2.step2-oscar .input-groups input::placeholder,
.reservation-step-2.step2-oscar .input-groups textarea::placeholder {
    color: #a2aec0 !important;
}

.reservation-step-2.step2-oscar .input-groups .date-picker,
.reservation-step-2.step2-oscar .input-groups .time-picker {
    background-position: 0 50% !important;
    background-size: 15px 15px !important;
    padding-left: 22px !important;
    font-size: 13px !important;
}

.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups:has(.date-picker),
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups:has(.time-picker),
.reservation-step-2.step2-oscar .return-transfer-card .input-groups:has(.date-picker),
.reservation-step-2.step2-oscar .return-transfer-card .input-groups:has(.time-picker) {
    min-height: auto !important;
    padding: 0 !important;
}

.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups:has(.date-picker)::before,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups:has(.time-picker)::before,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups:has(.date-picker)::before,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups:has(.time-picker)::before {
    content: none !important;
    display: none !important;
}

.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups .date-picker,
.reservation-step-2.step2-oscar .outbound-transfer-card .input-groups .time-picker,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups .date-picker,
.reservation-step-2.step2-oscar .return-transfer-card .input-groups .time-picker {
    background-position: 10px 50% !important;
    background-size: 15px 15px !important;
    padding-left: 34px !important;
}

.reservation-step-2.step2-oscar .contact-card .use-booker-details {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 2px 2px 0 2px !important;
}

.reservation-step-2.step2-oscar .contact-card .use-booker-details input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    accent-color: #2f82f7 !important;
}

.reservation-step-2.step2-oscar .contact-card .use-booker-details label {
    color: #556987 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups {
    min-height: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin-bottom: 8px !important;
    display: block !important;
    align-items: initial !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups:has(.date-picker),
body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups:has(.time-picker) {
    padding: 0 !important;
}

body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups>label {
    margin-bottom: 6px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #3e4f68 !important;
}

body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups>input,
body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups .checkout-input,
body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups select,
body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups textarea {
    height: 44px !important;
    min-height: 44px !important;
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 12px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: #3f4f66 !important;
    border: 1px solid #cfd9e8 !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups .date-picker {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
}

body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups .time-picker {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='12 7 12 12 15 15'/%3E%3C/svg%3E") !important;
}

body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups .date-picker,
body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups .time-picker {
    background-repeat: no-repeat !important;
    background-position: 10px 50% !important;
    background-size: 15px 15px !important;
    padding-left: 34px !important;
}

body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups .time-picker.time-compact {
    height: 40px !important;
    min-height: 40px !important;
    max-width: 100%;
    font-size: 14px !important;
    padding-left: 32px !important;
}

body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups:focus-within>input,
body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups:focus-within .checkout-input,
body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups:focus-within select,
body.reservation-flow.reservation-step-2.step2-oscar .return-transfer-body .input-groups:focus-within textarea {
    border-color: #8fb6ef !important;
    box-shadow: 0 0 0 3px rgba(47, 130, 247, 0.12) !important;
}

.reservation-step-2.step2-oscar .return-toggle-box {
    padding: 0 !important;
}

.reservation-step-2.step2-oscar .return-toggle-header {
    padding: 0 !important;
}

.reservation-step-2.step2-oscar .return-toggle-label {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100%;
    margin: 0 !important;
    cursor: pointer;
    padding: 18px 20px !important;
    border-radius: 18px !important;
}

.reservation-step-2.step2-oscar .return-toggle-check {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 9px !important;
    border: 2px solid #cad6e6 !important;
    background: #ffffff !important;
    margin: 0 !important;
    position: relative !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

.reservation-step-2.step2-oscar .return-toggle-check::after {
    content: "";
    position: absolute;
    left: 9px;
    top: 4px;
    width: 6px;
    height: 12px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg) scale(0.9);
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.reservation-step-2.step2-oscar .return-toggle-check:checked {
    background: linear-gradient(180deg, #13345f 0%, #0d274c 100%) !important;
    border-color: #102f5d !important;
    box-shadow: 0 0 0 4px rgba(16, 47, 93, 0.12) !important;
}

.reservation-step-2.step2-oscar .return-toggle-check:checked::after {
    opacity: 1;
    transform: rotate(45deg) scale(1);
}

.reservation-step-2.step2-oscar .return-toggle-check:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(198, 162, 75, 0.18) !important;
}

.reservation-step-2.step2-oscar .return-toggle-copy {
    display: flex;
    align-items: center;
    min-width: 0;
}

.reservation-step-2.step2-oscar .return-toggle-text {
    font-size: 19px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #10213f !important;
}

.reservation-step-2.step2-oscar .return-transfer-card {
    padding-top: 2px;
}

.reservation-step-2.step2-oscar .extras-grid {
    row-gap: 8px;
}

.reservation-step-2.step2-oscar .extras-grid .extra-card {
    border: 1px solid #e4ebf4 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    padding: 8px 10px !important;
    min-height: 52px !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    gap: 8px;
}

.reservation-step-2.step2-oscar .extras-grid .extra-card label {
    margin: 0 !important;
    min-width: 0;
    flex: 1;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    color: #2d3a4f !important;
}

.reservation-step-2.step2-oscar .extra-meta {
    display: inline-flex;
    flex-direction: column;
    min-width: 0;
    gap: 2px;
}

.reservation-step-2.step2-oscar .extra-icon {
    width: 20px !important;
    height: 20px !important;
    border-radius: 6px !important;
    background: var(--brand-navy-soft) !important;
    color: var(--brand-navy) !important;
    font-size: 10px !important;
}

.reservation-step-2.step2-oscar .extra-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #35465d !important;
    text-align: left !important;
    text-transform: none !important;
}

.reservation-step-2.step2-oscar .extra-unit-price {
    font-size: 11px !important;
    line-height: 1.2 !important;
    color: #5e6f86 !important;
    font-weight: 600 !important;
    text-transform: none !important;
}

.reservation-step-2.step2-oscar .extra-stepper-wrap {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.reservation-step-2.step2-oscar .extras-unified-grid .extra-route-controls {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.reservation-step-2.step2-oscar .extras-unified-grid .extra-card {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
}

.reservation-step-2.step2-oscar .extras-unified-grid .extra-card > label {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin: 0 !important;
    gap: 10px !important;
    flex: 1 1 auto !important;
}

.reservation-step-2.step2-oscar .extras-unified-grid .extra-route-controls {
    margin-left: auto !important;
    justify-content: flex-end !important;
    flex-shrink: 0 !important;
}

.reservation-step-2.step2-oscar .extras-unified-grid .extra-meta {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
}

.reservation-step-2.step2-oscar .extras-unified-grid .extra-route-col {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding-left: 8px;
    border-left: 1px solid #e9eef6;
}

.reservation-step-2.step2-oscar .extras-unified-grid .extra-route-col:first-child {
    padding-left: 0;
    border-left: none;
}

.reservation-step-2.step2-oscar .extra-direction-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8e9db2;
    font-weight: 700;
}

.reservation-step-2.step2-oscar .extra-stepper {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.reservation-step-2.step2-oscar .extra-btn {
    width: 24px !important;
    height: 24px !important;
    border-radius: 6px !important;
    border: 1px solid #b7d0f7 !important;
    background: #f3f8ff !important;
    color: #2f82f7 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

.reservation-step-2.step2-oscar .extra-stepper-input {
    width: 30px !important;
    height: 24px !important;
    border-radius: 6px !important;
    border: 1px solid #b7d0f7 !important;
    background: #ffffff !important;
    color: #2d3a4f !important;
    font-size: 12px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    padding: 0 !important;
}

.reservation-step-2.step2-oscar .step2-summary-card,
.reservation-step-2.step2-oscar .step2-price-card {
    border: 1px solid #e5ebf3 !important;
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(16, 24, 40, 0.04) !important;
}

.reservation-step-2.step2-oscar .step2-summary-card .f-white,
.reservation-step-2.step2-oscar .step2-summary-card .csg,
.reservation-step-2.step2-oscar .step2-summary-card .csp,
.reservation-step-2.step2-oscar .step2-price-card .f-white,
.reservation-step-2.step2-oscar .step2-price-card .csg,
.reservation-step-2.step2-oscar .step2-price-card .csp {
    color: #2f3d53 !important;
}

.reservation-step-2.step2-oscar .step2-summary-card i.fa-solid,
.reservation-step-2.step2-oscar .step2-price-card i.fa-solid {
    color: #4e6077 !important;
}

.reservation-step-2.step2-oscar .step2-price-value {
    color: #2f82f7 !important;
}

.reservation-step-2.step2-oscar .step2-price-sub {
    color: #7f8ca0 !important;
}

.reservation-step-2.step2-oscar .step2-unified-submit {
    margin-top: 14px;
    border-top: 1px solid #edf1f7;
    padding-top: 12px;
}

.reservation-step-2.step2-oscar .step2-unified-submit .step2-submit-policy label,
.reservation-step-2.step2-oscar .step2-unified-submit .step2-submit-policy label a {
    color: #5f6f85 !important;
}

.reservation-step-2.step2-oscar .voucher-submit {
    border-radius: 10px !important;
    border: none !important;
    background: linear-gradient(135deg, #2f82f7 0%, #1d65d6 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    min-height: 44px;
}

.reservation-step-2.step2-oscar .step2-unified-submit .step2-submit-policy input[type=checkbox] {
    accent-color: #2f82f7;
}

.reservation-step-2.step2-oscar span.error-label {
    color: #d93b3b !important;
    font-size: 11px !important;
    margin-top: 4px !important;
}

.reservation-step-2.step2-oscar input.error-label,
.reservation-step-2.step2-oscar select.error-label,
.reservation-step-2.step2-oscar textarea.error-label {
    border: 1px solid #f5a6a6 !important;
    box-shadow: 0 0 0 2px rgba(223, 79, 79, 0.14) !important;
    border-radius: 8px !important;
}
