.hero-booking-starter {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.hero-booking-starter__field-group,
.hero-booking-starter__field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.hero-section__form-card .hero-booking-starter__field-group,
.hero-section__form-card .hero-booking-starter__field {
    display: flex;
    margin: 0;
}

.hero-section__form-card .hero-booking-starter__segment,
.hero-section__form-card .hero-booking-starter__checkbox {
    margin: 0;
}

.hero-section__form-card .hero-booking-starter__checkbox {
    display: inline-flex;
}

.hero-booking-starter [hidden] {
    display: none !important;
}

.hero-booking-starter__label {
    color: var(--Color-Ink, #03070c);
    font-family: "Encode Sans", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    margin: 0;
}

.hero-booking-starter__segment-control {
    border: 1px solid var(--Color-Pencil, #173e67);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 1px;
}

.hero-booking-starter__segment + .hero-booking-starter__segment {
    border-top: 1px solid var(--Color-Ink, #03070c);
}

.hero-booking-starter__segment input {
    height: 0;
    opacity: 0;
    position: absolute;
    width: 0;
}

.hero-booking-starter__segment span {
    align-items: center;
    color: var(--Color-Pencil, #173e67);
    cursor: pointer;
    display: flex;
    font-size: 18px;
    font-weight: 500;
    gap: 8px;
    line-height: 1.6;
    padding: 8px 16px;
}

.hero-booking-starter__segment span::before {
    border: 2px solid currentColor;
    border-radius: 50%;
    box-sizing: border-box;
    content: "";
    display: inline-block;
    flex: 0 0 20px;
    height: 20px;
    width: 20px;
}

.hero-booking-starter__segment input:checked + span {
    background: var(--Color-Canvas, #ffffff);
    color: var(--Color-Ink, #03070c);
}

.hero-booking-starter__segment input:checked + span::before {
    border-width: 6px;
}

.hero-booking-starter__control {
    align-items: center;
    background: var(--Color-White, #ffffff);
    border: 1px solid var(--Color-Pencil, #173e67);
    border-radius: 4px;
    display: block;
    min-height: 43px;
    padding: 0;
    position: relative;
}

.hero-booking-starter__control input,
.hero-booking-starter__control select {
    background: transparent;
    border: 0;
    color: var(--Color-Ink, #03070c);
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    min-width: 0;
    min-height: 41px;
    padding: 8px 48px 8px 16px;
    width: 100%;
}

.hero-booking-starter__control input {
    appearance: none;
    -webkit-appearance: none;
}

.hero-booking-starter__control select {
    appearance: none;
    -webkit-appearance: none;
    background: #fff;
}

.hero-booking-starter__control input:focus,
.hero-booking-starter__control select:focus {
    outline: none;
}

.hero-booking-starter__control:focus-within {
    box-shadow: 0 0 0 2px rgba(47, 125, 208, 0.12);
}

.hero-booking-starter__control .material-icons {
    color: var(--Color-Pencil, #173e67);
    font-size: 24px;
    line-height: 1;
    pointer-events: none;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
}

.hero-booking-starter__control input[type='date']::-webkit-calendar-picker-indicator,
.hero-booking-starter__control input[type='time']::-webkit-calendar-picker-indicator {
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.hero-booking-starter__row {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hero-booking-starter__checkbox {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    gap: 12px;
    width: fit-content;
}

.hero-booking-starter__checkbox input {
    height: 0;
    opacity: 0;
    position: absolute;
    width: 0;
}

.hero-booking-starter__checkbox-box {
    align-items: center;
    background: #fff;
    border: 3px solid #1c1b1f;
    border-radius: 6px;
    display: inline-flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    position: relative;
    width: 34px;
}

.hero-booking-starter__checkbox input:checked + .hero-booking-starter__checkbox-box::after {
    border-bottom: 4px solid #1c1b1f;
    border-right: 4px solid #1c1b1f;
    content: '';
    height: 16px;
    left: 10px;
    position: absolute;
    top: 3px;
    transform: rotate(45deg);
    width: 9px;
}

.hero-booking-starter__checkbox-label {
    color: var(--Color-Ink, #03070c);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
}

.hero-booking-starter__submit {
    align-items: center;
    background: var(--Color-Accent-400, #f7c94a);
    border: 1px solid var(--Color-Accent-500, #f5b60a);
    border-radius: 4px;
    color: var(--Color-Pencil, #173e67);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 18px;
    font-weight: 500;
    justify-content: center;
    line-height: 1.6;
    min-height: 49px;
    padding: 10px 20px;
    width: 100%;
}

.public-transfer-page {
    align-items: center;
    background: var(--Color-Brand-50, #f7fafd);
    display: flex;
    flex-direction: column;
}

.public-transfer-page > * {
    width: min(100%, 1280px);
}

.public-transfer-page__hero {
    display: flex;
    flex-direction: column;
    position: relative;
}

.public-transfer-page__image-wrap {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.public-transfer-page__image {
    display: block;
    height: 307px;
    object-fit: cover;
    width: 100%;
}

.public-transfer-page__image-overlay {
    background: linear-gradient(to bottom, rgba(47, 125, 208, 0.6), rgba(47, 125, 208, 0.1));
    inset: 0;
    mix-blend-mode: color;
    pointer-events: none;
    position: absolute;
}

.public-transfer-page__card-col {
    margin-top: -27px;
    padding: 0 16px;
    position: relative;
    z-index: 1;
}

.public-transfer-page__card {
    background: var(--Color-Brand-100, #eef4fb);
    border: 1px solid var(--Color-Pencil, #173e67);
    border-radius: 4px;
    padding: 24px 16px;
}

.public-transfer-page__title-wrap {
    padding: 24px 16px 56px;
}

.public-transfer-page__title {
    color: var(--Color-Pencil, #173e67);
    font-family: var(--ct-font-ui);
    font-size: 4rem;
    font-weight: 300;
    letter-spacing: -1.28px;
    line-height: 1.1;
    margin: 0;
    max-width: 410px;
}

.public-transfer-page__content {
    width: 100%;
}

.public-transfer-page__content > * {
    margin: 0;
}

.public-booking-page {
    align-items: center;
    background: var(--Color-Brand-50, #f7fafd);
    display: flex;
    flex-direction: column;
}

.public-booking-page > section {
    width: min(100%, 1280px);
}

.public-booking-hero {
    display: grid;
    gap: 40px;
    padding: 40px var(--ct-side-padding-mobile) 56px;
}

.public-booking-hero__title-col,
.public-booking-hero__points-col {
    display: flex;
    flex-direction: column;
}

.public-booking-hero__title-col {
    gap: 24px;
}

.public-booking-hero__title {
    color: var(--Color-Pencil, #173e67);
    font-family: var(--ct-font-ui);
    font-size: 4rem;
    font-weight: 300;
    letter-spacing: -1.28px;
    line-height: 1.1;
    margin: 0;
}

.public-booking-hero__text {
    color: var(--Color-Ink, #03070c);
    font-family: var(--ct-font-ui);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
}

.public-booking-hero__text > *:first-child {
    margin-top: 0;
}

.public-booking-hero__text > *:last-child {
    margin-bottom: 0;
}

.public-booking-hero__points {
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0 25px 0 0;
}

.public-booking-hero__point {
    align-items: flex-start;
    display: flex;
    gap: 12px;
}

.public-booking-hero__point-icon {
    display: flex;
    justify-content: center;
    padding: 4px 7px;
    width: 48px;
}

.public-booking-hero__point-icon .material-icons {
    color: var(--Color-Brand-500, #2f7dd0);
    font-size: 39px;
}

.public-booking-hero__point-separator {
    border-left: 1px dotted var(--Color-Pencil, #173e67);
    flex-shrink: 0;
    height: 50px;
    opacity: 0.3;
    width: 0;
}

.public-booking-hero__point-text {
    color: var(--Color-Pencil, #173e67);
    font-family: var(--ct-font-ui);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
}

.public-booking-hero__point-text strong,
.public-booking-hero__point-text b {
    font-weight: 700;
}

.public-booking-hero__card {
    background: var(--Color-Brand-100, #eef4fb);
    border: 1px solid var(--Color-Pencil, #173e67);
    border-radius: 4px;
    padding: 24px 16px;
}

.public-booking-cf7__empty p {
    color: var(--Color-Pencil, #173e67);
    margin: 0;
}

.public-booking-cf7 .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.public-booking-cf7 .wpcf7-form p {
    margin: 0;
}

.public-booking-cf7 .booking-form-section {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.public-booking-cf7 .booking-form-section__heading {
    align-items: center;
    color: var(--Color-Pencil, #173e67);
    display: flex;
    font-family: var(--ct-font-ui);
    font-size: 28px;
    font-weight: 600;
    gap: 10px;
    line-height: 1.2;
    margin: 0;
}

.public-booking-cf7 .booking-form-section__heading::before {
    border-left: 2px solid var(--Color-Accent-400, #f7c94a);
    content: "";
    display: block;
    height: 34px;
    width: 0;
}

.public-booking-cf7 .booking-form-section__content {
    display: flex;
    flex-direction: column;
    gap: 31px;
}

.public-booking-cf7 .booking-form-label,
.public-booking-cf7 .booking-form-field > label,
.public-booking-cf7 .booking-form-radio > label {
    color: var(--Color-Ink, #03070c);
    display: block;
    font-family: var(--ct-font-ui);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    margin: 0 0 7px;
}

.public-booking-cf7 .booking-form-field,
.public-booking-cf7 .booking-form-radio {
    position: relative;
}

.public-booking-cf7 .wpcf7-form-control-wrap {
    display: block;
    position: relative;
}

.public-booking-cf7 .booking-form-field .wpcf7-form-control:not(.wpcf7-radio):not(.wpcf7-checkbox):not(.wpcf7-submit) {
    background: #fff;
    border: 1px solid var(--Color-Pencil, #173e67);
    border-radius: 4px;
    color: var(--Color-Ink, #03070c);
    display: block;
    font: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    min-height: 43px;
    padding: 8px 16px;
    width: 100%;
}

.public-booking-cf7 .booking-form-field select.wpcf7-form-control,
.public-booking-cf7 .booking-form-field select.wpcf7-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.public-booking-cf7 .booking-form-field--icon .wpcf7-form-control:not(.wpcf7-radio):not(.wpcf7-checkbox):not(.wpcf7-submit) {
    padding-right: 48px;
}

.public-booking-cf7 .booking-form-field .wpcf7-form-control[type='number'] {
    appearance: textfield;
    -moz-appearance: textfield;
}

.public-booking-cf7 .booking-form-field .wpcf7-form-control[type='number']::-webkit-inner-spin-button,
.public-booking-cf7 .booking-form-field .wpcf7-form-control[type='number']::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.public-booking-cf7 .booking-form-field--icon .wpcf7-form-control-wrap::after {
    color: var(--Color-Pencil, #173e67);
    font-family: "Material Symbols Outlined";
    font-size: 24px;
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
    line-height: 1;
    pointer-events: none;
    position: absolute;
    right: 12px;
    top: 21.5px;
    transform: translateY(-50%);
}

.public-booking-cf7 .booking-form-field--airport .wpcf7-form-control-wrap::after {
    content: "flight_land";
}

.public-booking-cf7 .booking-form-field--pickup .wpcf7-form-control-wrap::after,
.public-booking-cf7 .booking-form-field--destination .wpcf7-form-control-wrap::after,
.public-booking-cf7 .booking-form-field--return-pickup .wpcf7-form-control-wrap::after,
.public-booking-cf7 .booking-form-field--return-destination .wpcf7-form-control-wrap::after {
    content: "location_on";
}

.public-booking-cf7 .booking-form-field--date .wpcf7-form-control-wrap::after,
.public-booking-cf7 .booking-form-field--return-date .wpcf7-form-control-wrap::after {
    content: "calendar_month";
}

.public-booking-cf7 .booking-form-field--time .wpcf7-form-control-wrap::after,
.public-booking-cf7 .booking-form-field--return-time .wpcf7-form-control-wrap::after {
    content: "alarm";
}

.public-booking-cf7 .booking-form-field--flight .wpcf7-form-control-wrap::after {
    content: "flight";
}

.public-booking-cf7 .booking-form-field--adults .wpcf7-form-control-wrap::after {
    content: "emoji_people";
}

.public-booking-cf7 .booking-form-field--children .wpcf7-form-control-wrap::after {
    content: "child_care";
}

.public-booking-cf7 .booking-form-field--name .wpcf7-form-control-wrap::after {
    content: "badge";
}

.public-booking-cf7 .booking-form-field--phone .wpcf7-form-control-wrap::after {
    content: "call";
}

.public-booking-cf7 .booking-form-field--email .wpcf7-form-control-wrap::after {
    content: "mail";
}

.public-booking-cf7 .booking-form-field--baby .wpcf7-form-control-wrap::after,
.public-booking-cf7 .booking-form-field--booster .wpcf7-form-control-wrap::after {
    content: "unfold_more";
}

.public-booking-cf7 .booking-form-field .wpcf7-form-control[type='date']::-webkit-calendar-picker-indicator,
.public-booking-cf7 .booking-form-field .wpcf7-form-control[type='time']::-webkit-calendar-picker-indicator {
    cursor: pointer;
    inset: 0;
    opacity: 0;
    position: absolute;
    width: 100%;
}

.public-booking-cf7 .booking-form-row {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-booking-cf7 .booking-form-row > * {
    min-width: 0;
}

.public-booking-cf7 .booking-form-radio .wpcf7-radio {
    border: 1px solid var(--Color-Pencil, #173e67);
    border-radius: 4px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
}

.public-booking-cf7 .booking-form-radio .wpcf7-list-item {
    margin: 0;
}

.public-booking-cf7 .booking-form-radio .wpcf7-list-item + .wpcf7-list-item {
    border-left: 1px solid var(--Color-Ink, #03070c);
}

.public-booking-cf7 .booking-form-radio .wpcf7-list-item label {
    align-items: center;
    background: transparent;
    color: var(--Color-Ink, #03070c);
    cursor: pointer;
    display: flex;
    font-size: 18px;
    font-weight: 500;
    gap: 8px;
    line-height: 1.6;
    margin: 0;
    padding: 8px 16px;
    transition: background-color 0.2s ease, color 0.2s ease;
    width: 100%;
}

.public-booking-cf7 .booking-form-radio input[type="radio"] {
    accent-color: var(--Color-Pencil, #173e67);
    flex-shrink: 0;
    height: 20px;
    width: 20px;
}

.public-booking-cf7 .booking-form-radio .wpcf7-list-item label:has(input[type="radio"]:checked) {
    background: #fff;
    color: var(--Color-Pencil, #173e67);
}

.public-booking-cf7 .booking-form-checkbox .wpcf7-checkbox {
    display: inline-flex;
}

.public-booking-cf7 .booking-form-checkbox .wpcf7-list-item {
    margin: 0;
}

.public-booking-cf7 .booking-form-checkbox .wpcf7-list-item-label {
    color: var(--Color-Ink, #03070c);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
}

.public-booking-cf7 .booking-form-checkbox input[type="checkbox"] {
    accent-color: var(--Color-Pencil, #173e67);
    height: 34px;
    margin-right: 12px;
    vertical-align: middle;
    width: 34px;
}

.public-booking-cf7 .booking-form-return-fields[hidden],
.public-booking-cf7 [data-booking-page-airport-field][hidden],
.public-booking-cf7 [data-booking-page-custom-pickup-field][hidden] {
    display: none !important;
}

.public-booking-cf7 .booking-form-return-fields {
    display: flex;
    flex-direction: column;
    gap: 31px;
}

.public-booking-cf7 .wpcf7-submit {
    align-items: center;
    background: var(--Color-Accent-400, #f7c94a);
    border: 1px solid var(--Color-Accent-500, #f5b60a);
    border-radius: 4px;
    color: var(--Color-Pencil, #173e67);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 18px;
    font-weight: 500;
    justify-content: center;
    line-height: 1.6;
    min-height: 49px;
    padding: 10px 20px;
    width: 100%;
}

.public-booking-cf7 .wpcf7-response-output {
    border-radius: 4px;
    font-size: 14px;
    margin: 16px 0 0;
    padding: 12px 16px;
}

.public-booking-cf7 .wpcf7-not-valid-tip {
    color: #bf1e1e !important;
    font-size: 13px;
    margin-top: 4px;
}

@media (max-width: 479px) {
    .hero-booking-starter__row {
        grid-template-columns: minmax(0, 1fr);
    }

    .public-booking-cf7 .booking-form-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .public-booking-cf7 .booking-form-radio .wpcf7-radio {
        grid-template-columns: minmax(0, 1fr);
    }

    .public-booking-cf7 .booking-form-radio .wpcf7-list-item + .wpcf7-list-item {
        border-left: 0;
        border-top: 1px solid var(--Color-Ink, #03070c);
    }
}

@media (min-width: 768px) {
    .hero-booking-starter__segment-control {
        flex-direction: row;
    }

    .hero-booking-starter__segment + .hero-booking-starter__segment {
        border-left: 1px solid var(--Color-Ink, #03070c);
        border-top: 0;
    }

    .public-booking-cf7 .booking-form-radio .wpcf7-radio {
        flex-direction: row;
    }

    .public-booking-cf7 .booking-form-radio .wpcf7-list-item {
        flex: 1 1 0;
    }

    .public-booking-cf7 .booking-form-radio .wpcf7-list-item + .wpcf7-list-item {
        border-left: 1px solid var(--Color-Ink, #03070c);
        border-top: 0;
    }
}

@media (min-width: 1024px) {
    .hero-booking-starter {
        gap: 31px;
    }

    .public-transfer-page__hero {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(22rem, 36.5rem);
        grid-template-rows: 343.75px auto;
        align-items: start;
    }

    .public-transfer-page__image-wrap {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .public-transfer-page__image {
        height: 343.75px;
    }

    .public-transfer-page__card-col {
        align-items: flex-start;
        display: flex;
        grid-column: 2;
        grid-row: 1 / span 2;
        justify-content: flex-start;
        margin-top: 0;
        padding: 20px 48px 0 0;
        z-index: 1;
    }

    .public-transfer-page__card {
        padding: 48px;
        width: 584px;
    }

    .public-transfer-page__title-wrap {
        align-items: center;
        align-self: start;
        display: flex;
        grid-column: 1;
        grid-row: 2;
        padding: 0 48px 184px;
        z-index: 1;
    }

    .public-transfer-page__title {
        font-size: 80px;
        letter-spacing: -1.6px;
    }

    .public-booking-hero {
        gap: 48px;
        grid-template-columns: 410px minmax(0, 706px);
        padding: 56px 48px;
    }

    .public-booking-hero__title-col {
        grid-column: 1;
        grid-row: 1;
        gap: 40px;
    }

    .public-booking-hero__card {
        grid-column: 2;
        grid-row: 1 / span 2;
        padding: 48px;
    }

    .public-booking-hero__points-col {
        grid-column: 1;
        grid-row: 2;
    }

    .public-booking-hero__title {
        font-size: 80px;
        letter-spacing: -1.6px;
    }
}
