/*
Plugin Name: Booking Tool plugin stylesheet
Author: Twinscroll

Plugin requires Unyson
*/

/* ==========================================================================
   Global CSS Variables
   ========================================================================== */
:root {
    --ltb-brand-primary: #111111;
    --ltb-brand-secondary: #32363A;
    --ltb-brand-accent: #ffffff;
    --ltb-brand-highlight: #ffc107;
    --ltb-brand-text: #1d2733;
    --ltb-brand-text-strong: #1d2733;
    --ltb-primary: var(--ltb-brand-primary, var(--e-global-color-primary, #111111));
    --ltb-secondary: var(--ltb-brand-secondary, var(--e-global-color-secondary, #32363A));
    --ltb-accent: var(--ltb-brand-accent, var(--e-global-color-accent, #ffffff));
    --ltb-highlight: var(--ltb-brand-highlight, #ffc107);
    --ltb-text: var(--ltb-brand-text, var(--e-global-color-text, #1d2733));
    --ltb-text-strong: var(--ltb-brand-text-strong, #1d2733);
    --ltb-text-secondary: #4b525a;
    --ltb-text-muted: #6b6f76;
    --ltb-text-soft: #7f868f;
    --ltb-text-disabled: rgba(var(--ltb-ink-rgb), 0.4);
    --ltb-contrast-text: #ffffff;
    --ltb-contrast-rgb: 255, 255, 255;
    --ltb-ink-rgb: 0, 0, 0;
    --ltb-surface: #ffffff;
    --ltb-surface-subtle: #fffdfd;
    --ltb-surface-alt: #f4f4f4;
    --ltb-surface-muted: #e9e9e9;
    --ltb-surface-disabled: #dddddd;
    --ltb-surface-contrast: #020304;
    --ltb-surface-contrast-alt: #333333;
    --ltb-border-subtle: #e5e5e5;
    --ltb-border-muted: #999999;
    --ltb-border-strong: #444444;
    --ltb-success: #28a745;
    --ltb-success-surface: #e9f7ef;
    --ltb-warning: #f5c26b;
    --ltb-warning-surface: #fff7e6;
    --ltb-warning-text: #8a6d3b;
    --ltb-error: #ff4d4f;
    --ltb-radius-card: 8px;
    --ltb-radius-surface: 4px;
    --ltb-radius-button: 32px;
    --ltb-radius-input: 8px;
    --ltb-car-title-color: var(--ltb-text);
    --ltb-car-title-active-color: var(--ltb-primary);
    --ltb-button-bg: var(--ltb-primary);
    --ltb-button-text: var(--ltb-accent);
    --ltb-button-hover-bg: var(--ltb-secondary);
    --ltb-button-hover-text: var(--ltb-accent);
    --ltb-control-bg: var(--ltb-button-bg);
    --ltb-control-text: var(--ltb-button-text);
    --ltb-control-hover-bg: var(--ltb-button-hover-bg);
    --ltb-control-hover-text: var(--ltb-button-hover-text);
    --car-image-max-width: 80%;
    --ltb-light-bg: var(--ltb-surface);
    --ltb-dark-bg: var(--ltb-surface-contrast);
    --ltb-light-text: var(--ltb-contrast-text);
    --ltb-dark-text: var(--ltb-text);
    --ltb-heading-size-desktop: 36px;
    --ltb-heading-size-mobile: 28px;
    --ltb-subheader-size-desktop: 16px;
    --ltb-subheader-size-mobile: 14px;
    --ltb-description-size-desktop: 16px;
    --ltb-description-size-mobile: 15px;
    --ltb-heading-weight: 700;
    --ltb-subheader-weight: 600;
    --ltb-description-weight: 400;
    --ltb-card-bg-light: var(--ltb-light-bg);
    --ltb-card-text-light: var(--ltb-dark-text);
    --ltb-card-title-light: var(--ltb-primary);
    --ltb-card-price-light: var(--ltb-dark-text);
    --ltb-card-price-before-light: var(--ltb-secondary);
    --ltb-card-savings-light: var(--ltb-primary);
    --ltb-card-offer-bg-light: var(--ltb-primary);
    --ltb-card-offer-text-light: var(--ltb-light-text);
    --ltb-card-note-light: var(--ltb-dark-text);
    --ltb-card-bg-dark: var(--ltb-dark-bg);
    --ltb-card-text-dark: var(--ltb-light-text);
    --ltb-card-title-dark: var(--ltb-primary);
    --ltb-card-price-dark: var(--ltb-light-text);
    --ltb-card-price-before-dark: var(--ltb-secondary);
    --ltb-card-savings-dark: var(--ltb-primary);
    --ltb-card-offer-bg-dark: var(--ltb-primary);
    --ltb-card-offer-text-dark: var(--ltb-light-text);
    --ltb-card-note-dark: var(--ltb-light-text);
    --ltb-card-bg: var(--ltb-card-bg-dark);
    --ltb-card-text: var(--ltb-card-text-dark);
    --ltb-card-title: var(--ltb-card-title-dark);
    --ltb-card-price: var(--ltb-card-price-dark);
    --ltb-card-price-before: var(--ltb-card-price-before-dark);
    --ltb-card-savings: var(--ltb-card-savings-dark);
    --ltb-card-offer-bg: var(--ltb-card-offer-bg-dark);
    --ltb-card-offer-text: var(--ltb-card-offer-text-dark);
    --ltb-card-note: var(--ltb-card-note-dark);
    --ltb-card-title-bg-rgb: var(--ltb-ink-rgb);
    --ltb-card-title-bg-opacity: 0.6;
    --ltb-card-title-bg: rgba(var(--ltb-card-title-bg-rgb), var(--ltb-card-title-bg-opacity));
    --ltb-card-price-bg-rgb: var(--ltb-ink-rgb);
    --ltb-card-price-bg-opacity: 0.6;
    --ltb-card-price-bg: rgba(var(--ltb-card-price-bg-rgb), var(--ltb-card-price-bg-opacity));
    --ltb-tariff-title-bg: var(--ltb-card-title-bg);
    --ltb-service-title-bg: var(--ltb-card-title-bg);
    --ltb-tariff-price-bg: var(--ltb-card-price-bg);
    --ltb-service-price-bg: var(--ltb-card-price-bg);
    --ltb-tariff-card-bg: var(--ltb-card-bg);
    --ltb-tariff-card-text: var(--ltb-card-text);
    --ltb-tariff-title-color: var(--ltb-card-title);
    --ltb-tariff-price-color: var(--ltb-card-price);
    --ltb-tariff-price-before-color: var(--ltb-card-price-before);
    --ltb-tariff-savings-color: var(--ltb-card-savings);
    --ltb-tariff-offer-bg: var(--ltb-card-offer-bg);
    --ltb-tariff-offer-text-color: var(--ltb-card-offer-text);
    --ltb-tariff-note-color: var(--ltb-card-note);
    --ltb-service-card-bg: var(--ltb-card-bg);
    --ltb-service-card-text: var(--ltb-card-text);
    --ltb-service-title-color: var(--ltb-card-title);
    --ltb-service-price-color: var(--ltb-card-price);
    --ltb-service-price-before-color: var(--ltb-card-price-before);
    --ltb-service-savings-color: var(--ltb-card-savings);
    --ltb-service-offer-bg: var(--ltb-card-offer-bg);
    --ltb-service-offer-text-color: var(--ltb-card-offer-text);
    --ltb-service-note-color: var(--ltb-card-note);
    --ltb-service-icon-color: var(--ltb-card-text);
    --ltb-section-light-bg: var(--ltb-light-bg);
    --ltb-section-light-text: var(--ltb-dark-text);
    --ltb-section-light-header: var(--ltb-dark-text);
    --ltb-section-light-subheader: var(--ltb-dark-text);
    --ltb-section-light-description: var(--ltb-text-muted);
    --ltb-section-dark-bg: var(--ltb-dark-bg);
    --ltb-section-dark-text: var(--ltb-light-text);
    --ltb-section-dark-header: var(--ltb-light-text);
    --ltb-section-dark-subheader: var(--ltb-light-text);
    --ltb-section-dark-description: var(--ltb-text-muted);

    /* Fonts
    --ltb-font-family: var(--e-global-typography-text-font-family, "Barlow Condensed", sans-serif);
    --ltb-font-headers: var(--e-global-typography-primary-font-family, "Barlow Condensed", sans-serif);
    --ltb-font-main: var(--e-global-typography-text-font-family, "Ubuntu", sans-serif);
    */
}

.ltb-theme-light {
    --ltb-surface: #ffffff;
    --ltb-surface-alt: #f4f4f4;
    --ltb-surface-muted: #e9e9e9;
    --ltb-text: var(--ltb-text-strong);
    --ltb-text-muted: #6b6f76;
    --ltb-border-subtle: #e5e5e5;
    --ltb-border-strong: #444444;
}

.ltb-theme-dark,
.ltb-section.dark {
    --ltb-surface: #020304;
    --ltb-surface-alt: #19191B;
    --ltb-surface-muted: #2A2A2C;
    --ltb-text: #f4f4f5;
    --ltb-text-muted: #cfd3db;
    --ltb-contrast-text: #ffffff;
    --ltb-border-subtle: #2f3136;
    --ltb-border-strong: #f4f4f4;
}

/* ==========================================================================
   General Styles
   ========================================================================== */
.ltb-section {
    min-height: 200px;
    position: relative;
    padding: 40px 0;
}

.ltb-section .heading {
    margin: 20px 0;
    font-family: var(--ltb-font-headers);
    font-size: var(--ltb-heading-size-desktop, 36px);
    font-weight: var(--ltb-heading-weight, 700);
    text-align: center;
}

.ltb-section .heading .header {
    font-size: var(--ltb-heading-size-desktop, 36px);
    font-weight: var(--ltb-heading-weight, 700);
    text-transform: var(--ltb-header-transform, none);
}

.ltb-section .heading .subheader {
    font-size: var(--ltb-subheader-size-desktop, 16px);
    font-weight: var(--ltb-subheader-weight, 600);
    text-transform: var(--ltb-subheader-transform, none);
}

.ltb-section .ltb-header-descr {
    font-family: var(--ltb-font-main);
    font-weight: var(--ltb-description-weight, 400);
    text-align: center;
    max-width: 400px;
    margin: 10px auto 15px;
    line-height: 1.6em;
    opacity: 1;
    font-size: var(--ltb-description-size-desktop, 16px);
}

@media (max-width: 991px) {
    .ltb-section .heading,
    .ltb-section .heading .header {
        font-size: var(--ltb-heading-size-mobile, var(--ltb-heading-size-desktop, 36px));
    }

    .ltb-section .heading .subheader {
        font-size: var(--ltb-subheader-size-mobile, var(--ltb-subheader-size-desktop, 16px));
    }

    .ltb-section .ltb-header-descr {
        font-size: var(--ltb-description-size-mobile, var(--ltb-description-size-desktop, 16px));
    }
}

@media (max-width: 767px) {
    .ltb-section > .container,
    .ltb-section > .container-none {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.ltb-section.light,
.ltb-section.ltb-theme-light {
    background-color: var(--ltb-section-light-bg, var(--ltb-light-bg));
    color: var(--ltb-section-light-text, var(--ltb-dark-text));
    --ltb-card-bg: var(--ltb-card-bg-light);
    --ltb-card-text: var(--ltb-card-text-light);
    --ltb-card-title: var(--ltb-card-title-light);
    --ltb-card-price: var(--ltb-card-price-light);
    --ltb-card-price-before: var(--ltb-card-price-before-light);
    --ltb-card-savings: var(--ltb-card-savings-light);
    --ltb-card-offer-bg: var(--ltb-card-offer-bg-light);
    --ltb-card-offer-text: var(--ltb-card-offer-text-light);
    --ltb-card-note: var(--ltb-card-note-light);
}

.ltb-section.light .heading .header,
.ltb-section.ltb-theme-light .heading .header {
    color: var(--ltb-section-light-header, var(--ltb-section-light-text, var(--ltb-dark-text)));
}

.ltb-section.light .heading .subheader,
.ltb-section.ltb-theme-light .heading .subheader {
    color: var(--ltb-section-light-subheader, var(--ltb-section-light-text, var(--ltb-dark-text)));
}

.ltb-section.light .ltb-header-descr,
.ltb-section.ltb-theme-light .ltb-header-descr {
    color: var(--ltb-section-light-description, var(--ltb-section-light-text, var(--ltb-dark-text)));
}

.ltb-section.dark,
.ltb-section.ltb-theme-dark {
    background-color: var(--ltb-section-dark-bg, var(--ltb-dark-bg));
    color: var(--ltb-section-dark-text, var(--ltb-light-text));
    --ltb-card-bg: var(--ltb-card-bg-dark);
    --ltb-card-text: var(--ltb-card-text-dark);
    --ltb-card-title: var(--ltb-card-title-dark);
    --ltb-card-price: var(--ltb-card-price-dark);
    --ltb-card-price-before: var(--ltb-card-price-before-dark);
    --ltb-card-savings: var(--ltb-card-savings-dark);
    --ltb-card-offer-bg: var(--ltb-card-offer-bg-dark);
    --ltb-card-offer-text: var(--ltb-card-offer-text-dark);
    --ltb-card-note: var(--ltb-card-note-dark);
}

.ltb-section.dark .heading .header {
    color: var(--ltb-section-dark-header, var(--ltb-section-dark-text, var(--ltb-light-text)));
}

.ltb-section.dark .heading .subheader {
    color: var(--ltb-section-dark-subheader, var(--ltb-section-dark-text, var(--ltb-light-text)));
}

.ltb-section.dark .ltb-header-descr {
    color: var(--ltb-section-dark-description, var(--ltb-section-dark-text, var(--ltb-light-text)));
}

.ltb-section-bg-black .header {
    color: var(--ltb-primary);
    font-size: 2.5rem;
    font-weight: 700;
    font-family: var(--ltb-font-headers);
}

.ltb-currency-after {
    margin-left: 10px;
}

@media (max-width: 768px) {
    .ltb-section {
        padding: 15px 0;
    }

    .ltb-section .heading {
        font-size: 24px;
    }

    .ltb-section-bg-black .header {
        font-size: 1.8rem;
    }
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.button, .btn, input[type="button"], input[type="submit"],
.woocommerce button[name="update_cart"], .woocommerce input[name="update_cart"],
.woocommerce #respond input#submit, .woocommerce a.button,
.woocommerce button.button, .woocommerce input.button {
    border-radius: var(--ltb-radius-button);
    font-family: var(--ltb-font-family);
    font-weight: 700;
    font-size: 16px;
    padding: 16px 38px 17px;
    min-width: 145px;
    position: relative;
    overflow: hidden;
    display: inline-block;
    transition: color 0.15s, border 0.25s, background-color 0.3s ease;
    color: var(--ltb-button-text, var(--ltb-accent));
    border: 0 solid var(--ltb-button-bg, var(--ltb-primary));
    background-color: var(--ltb-button-bg, var(--ltb-primary));
}

.button .ltx-btn-inner, .btn .ltx-btn-inner,
input[type="button"] .ltx-btn-inner, input[type="submit"] .ltx-btn-inner {
    display: flex;
    align-items: center;
    justify-content: center;
}

.button .ltx-btn-after, .btn .ltx-btn-after,
input[type="button"] .ltx-btn-after, input[type="submit"] .ltx-btn-after,
.ltb-service .ltx-btn-after, .my-tariff-select .btn .ltx-btn-after,
.service-item .ltx-btn-after, .tariff-item .ltx-btn-after {
    position: relative;
    font-size: 16px;
    width: 20px;
    height: 20px;
    line-height: 16px;
    display: inline-block;
    margin-left: 10px;
    border-radius: 50%;
    border: 2px solid var(--ltb-button-text, var(--ltb-accent));
    color: var(--ltb-button-text, var(--ltb-accent));
}

.button .ltx-btn-after:after, .btn .ltx-btn-after:after,
input[type="button"] .ltx-btn-after:after, input[type="submit"] .ltx-btn-after:after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f054";
    font-size: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.button .ltx-btn-overlay, .btn .ltx-btn-overlay,
input[type="button"] .ltx-btn-overlay, input[type="submit"] .ltx-btn-overlay {
    position: absolute;
    background-color: var(--ltb-button-hover-bg, var(--ltb-secondary));
    border-radius: var(--ltb-radius-card);
    transition: width 0.25s ease-out, background-color 0.5s;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 0;
    z-index: -1;
}

.button .ltx-btn-overlay.ltx-btn-overlay-top,
.btn .ltx-btn-overlay.ltx-btn-overlay-top,
input[type="button"] .ltx-btn-overlay.ltx-btn-overlay-top,
input[type="submit"] .ltx-btn-overlay.ltx-btn-overlay-top {
    display: none;
}

.button:hover, .btn:hover, input[type="button"]:hover, input[type="submit"]:hover {
    color: var(--ltb-button-hover-text, var(--ltb-button-text, var(--ltb-accent)));
    background-color: var(--ltb-button-hover-bg, var(--ltb-secondary));
    border-color: var(--ltb-button-hover-bg, var(--ltb-secondary));
}

.button:hover .ltx-btn-overlay, .btn:hover .ltx-btn-overlay,
input[type="button"]:hover .ltx-btn-overlay, input[type="submit"]:hover .ltx-btn-overlay {
    width: 100%;
}

.ltb-service.btn.active .ltx-btn-overlay,
.my-tariff-select .btn.tariff-active .ltx-btn-overlay {
    display: none;
}

.ltb-service .ltx-btn-inner .ltx-txt,
.my-tariff-select .btn .ltx-btn-inner .ltx-txt,
.service-item .ltx-txt, .tariff-item .ltx-txt {
    color: var(--ltb-button-text, var(--ltb-accent));
}

.ltx-btn-wrap {
    margin: 0;
}

/* ==========================================================================
   Overlays
   ========================================================================== */
.my-tariff-overlay, .service-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--ltb-ink-rgb), 0.85);
    display: none;
    justify-content: flex-start;
    align-items: stretch;
    z-index: 10;
    overflow-y: auto;
	text-align:center;
}

.my-tariff-overlay.open, .service-overlay.open {
    display: flex;
	padding:20px;
}

.my-tariff-overlay-content, .service-overlay-content {
    width: 100%;
    padding: 50px 15px 15px 15px;
    color: var(--ltb-accent);
    font-family: var(--ltb-font-main);
    background-color: var(--ltb-dark-bg);
    border: 2px solid var(--ltb-primary) !important;
    border-radius: var(--ltb-radius-card);
    max-height: 100%;
    overflow-y: auto;
}

.my-tariff-overlay-close, .service-overlay-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: var(--ltb-primary)!important;
    border-width: 2px!important;
	border-color: var(--ltb-primary)!important;
    color: var(--ltb-dark-bg)!important;
    font-size: 28px;
    cursor: pointer;
    line-height: 1;
}

.my-tariff-list, .ltx-service-list {
    list-style: none;
    padding: 0;
    margin: 0 0 10px 0;
    text-align: center;
}

.my-tariff-list li, .ltx-service-list li {
    margin-bottom: 10px;
    color: var(--ltb-accent);
    font-family: var(--ltb-font-main);
    text-transform: var(--ltb-card-description-transform, none);
}

.my-tariff-icons, .ltx-service-icons {
    list-style: none;
    margin: 0;
    padding: 0;
}

.my-tariff-icons li, .ltx-service-icons li {
    display: inline-block;
    margin-right: 10px;
    color: var(--ltb-accent);
    font-family: var(--ltb-font-main);
}

.my-tariff-overlay-title {
    font-size: 28px!important;
    font-weight: 700;
    color: var(--ltb-primary)!important;
    margin-bottom: 15px;
    font-family: var(--ltb-font-headers);
    text-align: center;
}

@media (max-width: 767px) {
    .my-tariff-overlay-title {
        font-size: 24px;
    }
}

/* ==========================================================================
   Step 01: Car Selection
   ========================================================================== */
.ltb-step-01.ltb-section .heading {
    margin-bottom: 60px;
}

.ltb-step-01 {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.ltb-step-01 .container-none:before,
.ltb-step-01 .container-none:after {
    content: " ";
    display: table;
    clear: both;
}

/* Swiper Layout */
.ltb-cars-swiper {
    max-width: 100%;
    margin: 0 auto;
    padding: 20px 0;
    position: relative;
    min-height: var(--ltb-car-swiper-height, auto);
}

.ltb-cars-swiper.ltb-cars-swiper-legacy {
    overflow: visible;
    padding-bottom: 80px;
    isolation: isolate;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 55%,
        var(--ltb-slider-floor-color, #ffffff) 55%
    );
}

.ltb-cars-swiper.ltb-cars-swiper-legacy::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 45%;
    background: var(--ltb-slider-floor-color, #ffffff);
    z-index: 1;
    pointer-events: none;
}

.ltb-cars-swiper.ltb-cars-swiper-legacy .ltb-car-swiper,
.ltb-cars-swiper.ltb-cars-swiper-legacy .ltb-car-tabs,
.ltb-cars-swiper.ltb-cars-swiper-legacy .ltb-nav-arrows {
    position: relative;
    z-index: 2;
}

.ltb-car-swiper {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: var(--ltb-car-swiper-height, auto);
    min-height: var(--ltb-car-swiper-height, auto);
}

.ltb-car-swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 100%;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.ltb-car-swiper .swiper-slide-active {
    opacity: 1;
}

.ltb-car-swiper .ltb-car-image {
    width: 100%;
    height: auto;
    object-fit: contain;
    position: static;
    transform: none;
    z-index: auto;
    max-width: var(--car-image-max-width, 80%);
    max-height: var(--ltb-car-swiper-height, none);
}

.ltb-cars-swiper.ltb-cars-swiper-legacy .ltb-car-swiper .ltb-car-image {
    position: relative;
    z-index: 3;
    transform: translateY(12%);
}

.ltb-car-swiper .ltb-car-placeholder {
    font-size: 16px;
    color: var(--ltb-text);
    text-align: center;
    padding: 20px;
    font-family: var(--ltb-font-main);
}

.ltb-nav-arrows {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    justify-content: space-between;
    z-index: 10;
    transform: translate(-50%, -50%);
    width: min(1200px, 100%);
    padding: 0 32px;
}

.ltb-arrow-left,
.ltb-arrow-right {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: var(--ltb-control-bg, var(--ltb-primary));
    color: var(--ltb-control-text, var(--ltb-accent));
    font-size: 20px;
    cursor: pointer;
    border-radius: 50%;
    transition: background-color 0.3s ease, color 0.3s ease;
    z-index: 10;
}

.ltb-arrow-left::before {
    content: '←';
}

.ltb-arrow-right::before {
    content: '→';
}

.ltb-arrow-left:hover,
.ltb-arrow-right:hover {
    background-color: var(--ltb-control-hover-bg, var(--ltb-button-hover-bg, var(--ltb-secondary)));
    color: var(--ltb-control-hover-text, var(--ltb-button-hover-text, var(--ltb-accent)));
}

.ltb-arrow-left.swiper-button-disabled,
.ltb-arrow-right.swiper-button-disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.ltb-arrow-left {
    left: 50px;
}

.ltb-arrow-right {
    right: 50px;
}

@media (max-width: 768px) {
    .ltb-arrow-left {
        left: 15px;
    }

    .ltb-arrow-right {
        right: 15px;
    }
}

.ltb-car-swiper .swiper-button-prev,
.ltb-car-swiper .swiper-button-next {
    color: var(--ltb-control-text, var(--ltb-button-text, var(--ltb-accent)));
    background: var(--ltb-control-bg, var(--ltb-button-bg, var(--ltb-primary)));
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
    position: absolute;
    z-index: 10;
    font-weight: bold;
}

.ltb-car-swiper .swiper-button-prev:hover,
.ltb-car-swiper .swiper-button-next:hover {
    background: var(--ltb-control-hover-bg, var(--ltb-button-hover-bg, var(--ltb-secondary)));
    color: var(--ltb-control-hover-text, var(--ltb-button-hover-text, var(--ltb-accent)));
}

.ltb-car-swiper .swiper-button-prev {
    left: 100px;
}

.ltb-car-swiper .swiper-button-next {
    right: 100px;
}

.ltb-car-swiper .swiper-button-prev:after,
.ltb-car-swiper .swiper-button-next:after {
    font-size: 20px;
}

.ltb-car-tabs {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
    margin-bottom: 12px;
    flex-wrap: wrap;
    padding-bottom: 4px;
}

.ltb-car-tab {
    cursor: pointer;
    padding: 8px 16px;
    font-size: 16px;
    color: var(--ltb-car-title-color, var(--ltb-text));
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
    font-family: var(--ltb-font-family);
    font-weight: 600;
}

.ltb-car-tab.active {
    color: var(--ltb-car-title-active-color, var(--ltb-primary));
    border-bottom: 2px solid var(--ltb-car-title-active-color, var(--ltb-primary));
}

.ltb-car-tab:hover {
    color: var(--ltb-car-title-active-color, var(--ltb-primary));
}

/* Car Accordion */
.ltb-cars-accordion {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: stretch;
    margin-top: 20px;
    width: 100%;
    height: auto;
    min-height: var(--ltb-car-swiper-height, auto);
}

.ltb-cars-accordion .ltb-car-item {
    flex: 1;
    transition: flex 0.2s ease-in-out;
    border: 4px solid transparent;
    cursor: pointer;
    text-align: center;
    border-radius: var(--ltb-radius-surface);
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: var(--ltb-car-swiper-height, 500px);
    min-height: var(--ltb-car-swiper-height, 500px);
    background-color: var(--ltb-surface-alt);
}

.ltb-step-01.dark .ltb-cars-accordion .ltb-car-item {
    background-color: var(--ltb-surface-contrast-alt);
}

.ltb-cars-accordion .ltb-car-item:hover,
.ltb-cars-accordion .ltb-car-item.active {
    flex: 2.2;
    border-color: var(--ltb-primary);
}

.ltb-cars-accordion .ltb-car-item:not(:hover):not(.active) {
    flex: 1;
}

.ltb-cars-accordion .ltb-car-content {
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
}

.ltb-cars-accordion .ltb-car-image {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.ltb-cars-accordion .ltb-car-title {
    font-size: 18px;
    font-weight: bold;
    background-color: var(--ltb-accent);
    margin-top: auto;
    margin-bottom: 10px;
    text-align: center;
    position: relative;
    z-index: 2;
    padding: 5px 10px;
    border-radius: var(--ltb-radius-surface);
    font-family: var(--ltb-font-headers);
    color: var(--ltb-car-title-color, var(--ltb-text));
}

.ltb-cars-accordion .ltb-car-item:hover .ltb-car-title,
.ltb-cars-accordion .ltb-car-item.active .ltb-car-title {
    color: var(--ltb-car-title-active-color, var(--ltb-primary));
}

.ltb-step-01.light .ltb-cars-accordion .ltb-car-item {
    background-color: var(--ltb-surface-alt);
}

.ltb-step-01.dark .ltb-cars-accordion .ltb-car-item {
    background-color: var(--ltb-surface-contrast-alt);
}

.ltb-step-01 .ltb-cars-accordion .ltb-car-item:hover,
.ltb-step-01 .ltb-cars-accordion .ltb-car-item.active {
    border-color: var(--ltb-primary);
}

.ltb-step-01 .ltb-cars-accordion .ltb-car-item.active {
    background-color: var(--ltb-accent);
}

.ltb-step-01 .ltb-car-title {
    color: var(--ltb-car-title-color, var(--ltb-text));
}

.ltb-step-01 .ltb-cars-accordion .ltb-car-item.active .ltb-car-title,
.ltb-step-01 .ltb-cars-accordion .ltb-car-item:hover .ltb-car-title {
    color: var(--ltb-car-title-active-color, var(--ltb-primary));
}

.ltb-cars-swiper .ltb-car-item {
    background: transparent;
    border: 0;
    box-shadow: none;
}

@media (max-width: 768px) {
    .ltb-cars-swiper {
        padding: 10px 0;
    }

    .ltb-car-swiper .ltb-car-image {
        max-height: 300px;
    }

    .ltb-car-swiper .swiper-button-prev {
        left: 25px;
    }

    .ltb-car-swiper .swiper-button-next {
        right: 25px;
    }

    .ltb-car-tab {
        font-size: 14px;
        padding: 6px 12px;
    }

    .ltb-cars-accordion .ltb-car-item {
        height: 200px;
    }
}

/* ==========================================================================
   Step 02: Tariffs
   ========================================================================== */
.ltb-step-02.ltb-section {
    padding: 40px 0;
}

.ltb-step-02 .ltb-hidden-via-deeplink {
    display: none !important;
}

.ltb-step-02 .ltb-tariff-wrapper.ltb-deeplink-hidden {
    display: none !important;
}

.ltb-step-hidden-via-deeplink {
    display: none !important;
}

.ltb-deeplink-hidden {
    display: none !important;
}

#ltb-tariff-list, .ltb-step-02 .row.row-center {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    justify-content: center !important;
    padding: 20px 0 !important;
    /*background-color: var(--ltb-dark-bg) !important;*/
    color: var(--ltb-tariff-card-text, var(--ltb-light-text)) !important;
}

.ltb-tariff-wrapper {
    flex: 0 0 25% !important;
    max-width: 25% !important;
    transition: all 0.3s ease !important;
}

.ltb-step-02 .my-tariff-card {
    background-color: var(--ltb-tariff-card-bg, var(--ltb-dark-bg)) !important;
    border-radius: var(--ltb-radius-card) !important;
    overflow: hidden !important;
    color: var(--ltb-tariff-card-text, var(--ltb-light-text)) !important;
    box-shadow: 0 5px 15px rgba(var(--ltb-ink-rgb), 0.3) !important;
}

.my-tariff-card .my-tariff-image-wrapper {
    height: 300px !important;
    position: relative !important;
    overflow: hidden !important;
}

.my-tariff-card.full-image .my-tariff-image-wrapper {
    height: 100% !important;
}

.my-tariff-card .my-tariff-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.ltb-image-hidden {
    display: none !important;
}

.my-tariff-card.full-image .my-tariff-image {
    height: 100%;
}

.my-tariff-title-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: var(--ltb-tariff-title-bg, var(--ltb-card-title-bg)) !important;
    padding: 10px !important;
    text-align: center;
    color: var(--ltb-tariff-card-text, var(--ltb-light-text)) !important;
}

.my-tariff-title-overlay .header {
    font-size: 1.5rem !important;
    margin: 0 !important;
    color: var(--ltb-tariff-title-color, var(--ltb-primary)) !important;
    font-weight: 700 !important;
    font-family: var(--ltb-font-headers);
    text-transform: var(--ltb-card-title-transform, none);
}

.my-tariff-card.tariff-active .my-tariff-title-overlay .header,
.my-tariff-card:hover .my-tariff-title-overlay .header {
    color: var(--ltb-primary);
}

.my-tariff-details {
    padding: 20px 0 0 !important;
    text-align: center !important;
}

.my-tariff-price {
    display: inline-block;
    padding: 12px 16px !important;
    margin-bottom: 10px !important;
    border-radius: var(--ltb-radius-card) !important;
    background-color: var(--ltb-tariff-price-bg, var(--ltb-card-price-bg));
}

.my-tariff-price .current-price {
    font-size: 1.5rem !important;
    font-weight: bold !important;
    color: var(--ltb-tariff-price-color, var(--ltb-light-text)) !important;
    font-family: var(--ltb-font-headers);
    text-transform: var(--ltb-card-price-transform, none);
}

.my-tariff-price .ltb-price-note {
    display: block;
    margin-top: 6px;
    font-size: 0.875rem !important;
    color: var(--ltb-tariff-note-color, var(--ltb-light-text)) !important;
    opacity: 0.85;
    font-family: var(--ltb-font-family);
    text-transform: var(--ltb-card-price-transform, none);
}

.my-tariff-select {
    padding: 10px;
}

.my-tariff-select .btn {
    background-color: var(--ltb-primary) !important;
    color: var(--ltb-light-text) !important;
    border: none !important;
    border-radius: var(--ltb-radius-card) !important;
    padding: 12px 24px !important;
    font-weight: bold !important;
    transition: background-color 0.3s ease !important;
    width: 100% !important;
    margin: 10px 0 !important;
    text-align: center !important;
}

.my-tariff-select .btn:hover {
    background-color: var(--ltb-secondary) !important;
    color: var(--ltb-light-text) !important;
}

.my-tariff-select .btn.tariff-active {
    background-color: var(--ltb-secondary) !important;
    color: var(--ltb-light-text) !important;
}

.my-tariff-select .btn.tariff-active .ltx-btn-after {
    border-color: var(--ltb-light-text) !important;
}

.my-tariff-card.full-image .my-tariff-select {
    margin-top: 10px;
}

.my-tariff-more-block {
    background-color: var(--ltb-primary) !important;
    color: var(--ltb-light-text) !important;
    border: none !important;
    padding: 10px 0 !important;
    font-weight: 700 !important;
    text-align: center !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 0 var(--ltb-radius-card) var(--ltb-radius-card) !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    font-family: var(--ltb-font-family);
}

.my-tariff-card .my-tariff-more-block {
    border-top: 1px solid rgba(var(--ltb-contrast-rgb), 0.1) !important;
}

.my-tariff-more-block:hover {
    background-color: var(--ltb-secondary) !important;
}

.ltb-step-02 .tariff-item {
    padding: 0;
    border-radius: var(--ltb-radius-card);
    background-color: transparent;
    box-shadow: none;
    border-color: transparent;
}

.ltb-step-02 .tariff-item .ltb-price-val {
    font-size: 64px;
}

.ltb-step-02 .tariff-item .ltb-dec {
    font-size: 32px;
}

.ltb-step-02 .tariff-item .price span:not(.ltb-dec):not(.ltb-currency-before) {
    vertical-align: middle;
}

.ltb-step-02 .row > div {
    align-self: flex-start;
}

.ltb-step-02 .btn.tariff-active {
    background-color: var(--ltb-primary);
    color: var(--ltb-light-text);
}

.ltb-step-02 .btn.tariff-active .ltx-btn-after:after {
    content: "\f00c";
}

.ltb-step-02 .btn.tariff-active:hover {
    cursor: pointer;
}

.tariff-item .btn {
    background-color: var(--ltb-primary);
    color: var(--ltb-dark-text);
    font-family: var(--ltb-font-family);
}

.tariff-item .btn:hover {
    background-color: var(--ltb-secondary);
    color: var(--ltb-dark-text);
}

.tariff-item .ltx-btn-after {
    border-color: var(--ltb-dark-text);
}

.tariff-active .ltx-btn-after {
    border-color: var(--ltb-light-text) !important;
}

.tariff-image-wrapper {
    position: relative;
    width: 100%;
    height: 240px;
    overflow: hidden;
    border-radius: var(--ltb-radius-card) var(--ltb-radius-card) 0 0;
}

.tariff-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--ltb-radius-card) var(--ltb-radius-card) 0 0;
}

.tariff-title-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(var(--ltb-ink-rgb), 0.6);
    color: var(--ltb-tariff-card-text, var(--ltb-light-text));
    text-align: center;
    padding: 10px;
    font-family: var(--ltb-font-headers);
}

.tariff-title-overlay h5 {
    font-size: 1.4rem !important;
    font-family: var(--ltb-font-headers);
    color: var(--ltb-tariff-title-color, var(--ltb-primary));
}

.tariff-price {
    font-size: 1.2em;
    font-weight: 700;
    color: var(--ltb-tariff-price-color, var(--ltb-light-text));
    text-align: center;
    margin: 10px 0;
    font-family: var(--ltb-font-headers);
}

.tariff-details {
    padding: 15px;
    background: var(--ltb-tariff-card-bg, var(--ltb-dark-bg));
    text-align: center;
    border-radius: 0 0 var(--ltb-radius-card) var(--ltb-radius-card);
    color: var(--ltb-tariff-card-text, var(--ltb-light-text));
}

.tariff-select .btn {
    width: 100%;
    font-weight: 700;
    text-align: center;
    font-family: var(--ltb-font-family);
}

.ltb-tariffs {
    margin-top: 40px;
}

.tariff-item.vip:before {
    background-color: var(--ltb-dark-bg);
}

.ltx-tariff-list, .ltb-total-time {
    display: none !important;
}

@media (max-width: 991px) {
    .ltb-tariff-wrapper {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

@media (max-width: 768px) {
    .ltb-step-02.ltb-section {
        padding: 15px 0;
    }

    .ltb-tariff-wrapper {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}





/* Tariff Card Special Offer Styling */
.my-tariff-card {
    border-radius: var(--ltb-radius-card); /* Updated to 8px */
}

.my-tariff-card.special-offer {
    border: 2px solid var(--ltb-primary); /* Primary Yellow border for special offers */
    position: relative;
    box-shadow: 0 0 10px color-mix(in srgb, var(--ltb-primary) 50%, transparent);
    transition: box-shadow 0.3s ease;
}

.my-tariff-card.outlined {
    background-color: var(--ltb-tariff-card-bg, var(--ltb-dark-bg)) !important;
    border: 2px solid rgba(var(--ltb-contrast-rgb), 0.2) !important;
    box-shadow: none !important;
}

.my-tariff-card.minimal {
    background-color: var(--ltb-tariff-card-bg, var(--ltb-dark-bg)) !important;
    border: 1px solid rgba(var(--ltb-contrast-rgb), 0.1) !important;
    box-shadow: 0 5px 15px rgba(var(--ltb-ink-rgb), 0.2) !important;
    padding: 20px !important;
}

.my-tariff-card.minimal .my-tariff-title-overlay {
    position: relative !important;
    background: transparent !important;
    padding: 0 !important;
    text-align: center !important;
}

.my-tariff-card.minimal .my-tariff-list {
    margin: 12px 0 !important;
}

.my-tariff-card.image-description .my-tariff-details {
    padding: 20px 10px 0 !important;
}

.my-tariff-card.image-description .my-tariff-list {
    margin: 12px 20px 0 !important;
}

.my-tariff-card.special-offer:hover {
    box-shadow: 0 0 15px color-mix(in srgb, var(--ltb-primary) 70%, transparent);
}

.special-offer-banner {
    background-color: var(--ltb-tariff-offer-bg, var(--ltb-primary));
    color: var(--ltb-tariff-offer-text-color, var(--ltb-light-text));
    padding: 5px;
    text-align: center;
    font-weight: bold;
    position: absolute;
    top: 0;
    width: 100%;
    border-top-left-radius: var(--ltb-radius-card);
    border-top-right-radius: var(--ltb-radius-card);
    z-index: 10;
}

.discount-badge {
    position: absolute;
    top: 40px;
    right: 10px;
    background-color: var(--ltb-tariff-offer-bg, var(--ltb-primary));
    color: var(--ltb-tariff-offer-text-color, var(--ltb-light-text));
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    z-index: 9;
    box-shadow: 0 2px 4px rgba(var(--ltb-ink-rgb), 0.3); /* Added for visual lift */
}

.original-price {
    text-decoration: line-through;
    color: var(--ltb-tariff-price-before-color, var(--ltb-secondary));
    margin-right: 10px;
    text-transform: var(--ltb-card-price-transform, none);
}

.current-price {
    font-weight: bold;
    color: var(--ltb-tariff-price-color, var(--ltb-text));
    text-transform: var(--ltb-card-price-transform, none);
}

.savings {
    color: var(--ltb-tariff-savings-color, var(--ltb-primary));
    font-weight: bold;
    margin-top: 5px;
}

.ltb-step-03 .original-price {
    color: var(--ltb-service-price-before-color, var(--ltb-tariff-price-before-color, var(--ltb-secondary)));
}

.ltb-step-03 .current-price {
    color: var(--ltb-service-price-color, var(--ltb-tariff-price-color, var(--ltb-text)));
}

.ltb-step-03 .savings {
    color: var(--ltb-service-savings-color, var(--ltb-tariff-savings-color, var(--ltb-primary)));
}

/* Overlay Title (removing inline styles) */
.my-tariff-overlay-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--ltb-tariff-title-color, var(--ltb-text));
}

/* More Info Button */
.my-tariff-more-block {
    border-bottom-left-radius: var(--ltb-radius-card);
    border-bottom-right-radius: var(--ltb-radius-card);
}

/* Responsive Glow Adjustment */
@media (max-width: 768px) {
    .my-tariff-card.special-offer {
        box-shadow: 0 0 5px color-mix(in srgb, var(--ltb-primary) 30%, transparent);
    }
    .my-tariff-card.special-offer:hover {
        box-shadow: 0 0 8px color-mix(in srgb, var(--ltb-primary) 50%, transparent);
    }
}





/* ==========================================================================
   Step 03: Services
   ========================================================================== */
.ltb-step-03.ltb-section {
    padding: 40px 0;
}

.ltb-step-03.light .row.row-center,
.ltb-step-03.light .service-item,
.ltb-step-03.light .ltb-service:not(.btn) {
    background-color: var(--ltb-light-bg);
    color: var(--ltb-dark-text);
}

.ltb-step-03.dark .row.row-center,
.ltb-step-03.dark .service-item,
.ltb-step-03.dark .ltb-service:not(.btn) {
    background-color: var(--ltb-dark-bg);
    color: var(--ltb-light-text);
}

#ltb-service-list, .ltb-step-03 .row.row-center {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    justify-content: center !important;
    padding: 20px 0 !important;
    color: var(--ltb-service-card-text, var(--ltb-light-text)) !important;
}

.ltb-service-wrapper {
    flex: 0 0 25% !important;
    max-width: 25% !important;
    transition: all 0.3s ease !important;
}

.ltb-step-03 .service-item {
    background-color: var(--ltb-service-card-bg, var(--ltb-dark-bg)) !important;
    border-radius: var(--ltb-radius-card) !important;
    overflow: hidden !important;
    color: var(--ltb-service-card-text, var(--ltb-light-text)) !important;
    box-shadow: 0 5px 15px rgba(var(--ltb-ink-rgb), 0.3) !important;
    border: 0px solid transparent;
}

.ltb-step-03 .service-item.full-image .service-image-wrapper {
    height: 100% !important;
}

.ltb-step-03 .service-item.special-offer {
    border: 2px solid var(--ltb-service-offer-bg, var(--ltb-primary)) !important;
    box-shadow: 0 0 10px color-mix(in srgb, var(--ltb-service-offer-bg, var(--ltb-primary)) 50%, transparent) !important;
    color: var(--ltb-service-offer-text-color, var(--ltb-service-card-text, var(--ltb-light-text))) !important;
}

.ltb-step-03 .service-item.special-offer:hover {
    box-shadow: 0 0 15px color-mix(in srgb, var(--ltb-service-offer-bg, var(--ltb-primary)) 70%, transparent) !important;
}

.ltb-step-03 .service-item.outlined {
    background-color: var(--ltb-service-card-bg, var(--ltb-dark-bg)) !important;
    border: 2px solid rgba(var(--ltb-contrast-rgb), 0.2) !important;
    box-shadow: none !important;
}

.ltb-step-03 .service-item.minimal {
    background-color: var(--ltb-service-card-bg, var(--ltb-dark-bg)) !important;
    border: 1px solid rgba(var(--ltb-contrast-rgb), 0.1) !important;
    box-shadow: 0 5px 15px rgba(var(--ltb-ink-rgb), 0.2) !important;
    padding: 20px !important;
}

.ltb-step-03 .service-item.minimal .service-title-overlay {
    position: relative !important;
    background: transparent !important;
    padding: 0 !important;
    text-align: center !important;
    color: var(--ltb-service-card-text, var(--ltb-light-text)) !important;
}

.ltb-step-03 .service-item.minimal .ltx-service-list {
    margin: 12px 0 !important;
}

.ltb-step-03 .service-item.image-description .service-details {
    padding: 20px 10px 0 !important;
}

.ltb-step-03 .service-item:hover,
.ltb-step-03 .ltb-service:not(.btn):hover {
    border-color: var(--ltb-primary);
    cursor: pointer;
}

.ltb-step-03 .service-item.active,
.ltb-step-03 .ltb-service:not(.btn).active {
    background-color: var(--ltb-accent);
    border-color: var(--ltb-primary);
}

.service-image-wrapper {
    position: relative !important;
    height: 300px !important;
    overflow: hidden !important;
    border-radius: var(--ltb-radius-card) var(--ltb-radius-card) 0 0;
}

.service-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: var(--ltb-radius-card) var(--ltb-radius-card) 0 0;
}

.service-icon-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    color: var(--ltb-service-icon-color, var(--ltb-light-text));
}

.service-icon-overlay.no-image {
    background-color: var(--ltb-service-card-bg, var(--ltb-dark-bg));
}

.service-icon-image {
    max-width: 80px;
    max-height: 80px;
    object-fit: contain;
}

.service-icon-font {
    font-size: 48px;
    color: var(--ltb-service-icon-color, var(--ltb-light-text));
    text-shadow: 0 4px 12px rgba(var(--ltb-ink-rgb), 0.35);
}

.service-title-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: var(--ltb-service-title-bg, var(--ltb-card-title-bg)) !important;
    padding: 10px !important;
    text-align: center;
    color: var(--ltb-service-card-text, var(--ltb-light-text)) !important;
}

.service-title-overlay .header {
    font-size: 1.5rem !important;
    margin: 0 !important;
    color: var(--ltb-service-title-color, var(--ltb-primary)) !important;
    font-weight: 700 !important;
    font-family: var(--ltb-font-headers);
}

.service-item.active .service-title-overlay .header,
.service-item:hover .service-title-overlay .header {
    color: var(--ltb-primary);
}

.service-details {
    padding: 20px 0 0 !important;
    text-align: center !important;
}

.service-price {
    display: inline-block;
    padding: 12px 16px !important;
    margin-bottom: 10px !important;
    border-radius: var(--ltb-radius-card) !important;
    background-color: var(--ltb-service-price-bg, var(--ltb-card-price-bg));
}

.service-price .service-price-value {
    font-size: 1.5rem !important;
    font-weight: bold !important;
    color: var(--ltb-service-price-color, var(--ltb-light-text)) !important;
    font-family: var(--ltb-font-headers);
}

.service-price .ltb-price-note {
    display: block;
    margin-top: 6px;
    font-size: 0.875rem !important;
    color: var(--ltb-service-note-color, var(--ltb-light-text)) !important;
    opacity: 0.85;
    font-family: var(--ltb-font-family);
}

.service-select {
    padding: 10px;
}

.ltb-service {
    background-color: var(--ltb-primary) !important;
    color: var(--ltb-light-text) !important;
    border: none !important;
    border-radius: var(--ltb-radius-card) !important;
    padding: 12px 24px !important;
    font-weight: bold !important;
    transition: background-color 0.3s ease !important;
    width: 100% !important;
    margin: 10px 0 !important;
    text-align: center !important;
    font-family: var(--ltb-font-family);
}

.ltb-service:hover {
    background-color: var(--ltb-secondary) !important;
    color: var(--ltb-light-text) !important;
}

.ltb-service.active, .ltb-service.tariff-active {
    background-color: var(--ltb-secondary) !important;
    color: var(--ltb-light-text) !important;
}

.ltb-service.active .ltx-btn-after,
.ltb-service.tariff-active .ltx-btn-after {
    border-color: var(--ltb-light-text) !important;
}

.service-more-block {
    background-color: var(--ltb-primary) !important;
    color: var(--ltb-light-text) !important;
    border: none !important;
    padding: 10px 0 !important;
    font-weight: 700 !important;
    text-align: center !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 0 var(--ltb-radius-card) var(--ltb-radius-card) !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    font-family: var(--ltb-font-family);
}

.service-item .service-more-block {
    border-top: 1px solid rgba(var(--ltb-contrast-rgb), 0.1) !important;
}

.service-more-block:hover {
    background-color: var(--ltb-secondary) !important;
}

.ltb-step-03 .row.row-center {
    align-items: flex-start;
}

.ltb-step-03 .row.row-center .ltx-btn-wrap {
    display: block;
    text-align: center;
}

.ltb-step-03 .ltb-service:not(.btn) {
    transition: all 0.3s ease;
    color: var(--ltb-light-text);
    border-radius: var(--ltb-radius-card);
    border: 4px solid transparent;
    padding: 40px 40px 50px;
    margin-bottom: 60px;
    position: relative;
    background-color: var(--ltb-dark-bg);
}

.ltb-step-03 .ltb-service:not(.btn):after {
    content: "+";
    width: 36px;
    height: 36px;
    font-size: 24px;
    line-height: 32px;
    text-align: center;
    display: block;
    position: absolute;
    border-radius: 50%;
    transition: background-color 0.25s;
    color: var(--ltb-light-text);
    background-color: var(--ltb-primary);
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}

.ltb-step-03 .ltb-service:not(.btn).active:after {
    background: var(--ltb-primary);
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f00c";
    font-size: 12px;
    line-height: 36px;
}

.ltb-step-03 .ltb-service:not(.btn) .ltb-service-icon {
    position: absolute;
}

.ltb-step-03 .ltb-service:not(.btn) .ltb-service-icon span {
    font-size: 64px;
    color: var(--ltb-primary);
}

.ltb-step-03 .ltb-service:not(.btn) .ltb-service-icon + .ltb-descr {
    padding-left: 90px;
}

.ltb-step-03 .ltb-service:not(.btn) .ltb-descr .header {
    color: var(--ltb-light-text);
    font-family: var(--ltb-font-headers);
}

.ltb-step-03 .ltb-service:not(.btn).active .ltb-descr .header,
.ltb-step-03 .ltb-service:not(.btn):hover .ltb-descr .header {
    color: var(--ltb-primary);
}

.ltb-step-03 .ltb-service:not(.btn) .ltb-descr p {
    font-size: 14px;
    margin-bottom: 0;
    font-family: var(--ltb-font-main);
}

.ltb-step-03 .ltb-service:not(.btn) .ltb-descr .ltb-service-icons {
    list-style: none;
    padding: 20px 0 0;
    margin: 0;
}

.ltb-step-03 .ltb-service:not(.btn) .ltb-descr .ltb-service-icons li {
    display: inline-block;
    margin-right: 30px;
    font-family: var(--ltb-font-headers);
    font-weight: 700;
    font-size: 18px;
}

.ltb-step-03 .ltb-service:not(.btn) .ltb-descr .ltb-service-icons li span {
    margin-right: 6px;
    color: var(--ltb-primary);
}

.ltb-step-03 .ltb-service:not(.btn) .ltb-descr .ltb-service-icons li .ltb-price-val,
.ltb-step-03 .ltb-service:not(.btn) .ltb-descr .ltb-service-icons li .ltb-currency {
    color: var(--ltb-light-text);
}

/* Service Count */
.service-count {
    max-width: 3em;
    border: 2px solid var(--ltb-light-text);
    padding: 5px;
    margin-top: 10px;
    text-align: center;
    font-family: var(--ltb-font-headers);
    font-weight: 700;
}

.ltb-service-count-wrap:before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f469";
    margin-right: 5px;
    color: var(--ltb-primary);
}

@media (max-width: 991px) {
    .ltb-service-wrapper {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

@media (max-width: 768px) {
    .ltb-step-03.ltb-section {
        padding: 15px 0;
    }

    .ltb-service-wrapper {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================================
   Step 04: Calendar
   ========================================================================== */
.ltb-step-04.ltb-section {
    padding: 40px 0;
}

.ltb-calendar-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0;
}

.ltb-date-picker {
    flex: 1 1 50%;
    padding: 0;
    border-radius: var(--ltb-radius-surface);
    box-sizing: border-box;
    margin-bottom: 20px;
}

.ltb-step-04.light .ltb-date-picker,
.ltb-step-04.light .ltb-calendar-date th,
.ltb-step-04.light .ltb-calendar-date td {
    background-color: var(--ltb-light-bg);
    color: var(--ltb-dark-text);
}

.ltb-step-04.dark .ltb-date-picker,
.ltb-step-04.dark .ltb-calendar-date th,
.ltb-step-04.dark .ltb-calendar-date td {
    background-color: var(--ltb-dark-bg);
    color: var(--ltb-light-text);
}

.ltb-date-picker .ltb-calendar-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    text-align: center;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
    font-family: var(--ltb-font-headers);
    font-weight: 700;
    font-size: 24px;
    padding: 26px;
    position: relative;
    display: none;
}

.ltb-step-04.light .ltb-calendar-nav {
    background-color: var(--ltb-primary);
    color: var(--ltb-light-text);
}

.ltb-step-04.dark .ltb-calendar-nav {
    background-color: var(--ltb-secondary);
    color: var(--ltb-light-text);
}

.ltb-date-picker .ltb-current-month {
    font-size: 20px;
    font-weight: bold;
    font-family: var(--ltb-font-headers);
}

.ltb-step-04 .ltb-calendar-nav.visible {
    display: block;
}

.ltb-step-04 .ltb-calendar-nav a,
.ltb-date-picker .ltb-calendar-nav a {
    display: inline-block;
    color: var(--ltb-light-text);
    font-size: 12px;
    width: 37px;
    height: 37px;
    line-height: 31px;
    border: 2px solid var(--ltb-light-text);
    border-radius: 50%;
    background-clip: border-box;
    top: -1px;
    position: relative;
    margin: 0 15px;
    text-decoration: none;
}

/* Put this *after* the original FontAwesome rule */
.ltb-step-04 .ltb-calendar-nav a:before {
  content: none !important;
}

/* 1. Highlight the active time slot */
#calander_show_id .ltb-time.active {
  background-color: var(--ltb-primary);
  border-color: var(--ltb-primary);
}


.ltb-step-04 .ltb-calendar-nav a.ltb-calendar-left {
    margin-left: 0;
}

.ltb-step-04 .ltb-calendar-nav a.ltb-calendar-left:before {
    transform: scaleX(-1);
    margin-left: -1px;
}

.ltb-step-04 .ltb-calendar-nav a.ltb-calendar-right {
    margin-right: 0;
}

.ltb-step-04 .ltb-calendar-nav a.ltb-calendar-right:before {
    margin-right: -1px;
}

.ltb-step-04 .ltb-calendar-nav a:hover {
    color: var(--ltb-primary);
    background-color: var(--ltb-accent);
}

.ltb-step-04 .ltb-calendar-nav a.disabled {
    opacity: 0.5;
}

.ltb-calendar-date {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}



.ltb-calendar-date th,
.ltb-calendar-date td {
    border: 1px solid var(--ltb-border-strong);
    padding: 8px;
    text-align: center;
    font-size: 12px;
}

.ltb-step-04 .ltb-calendar th {
    font-family: var(--ltb-font-headers);
    font-weight: 700;
    font-size: 30px;
    border-right: 1px solid rgba(var(--ltb-ink-rgb), 0.08);
    border-radius: 0;
    width: 14.3%;
    padding: 45px 0;
    position: relative;
}

.ltb-step-04 .ltb-calendar th span.ltb-day {
    display: block;
    font-size: 16px;
    position: relative;
    z-index: 1;
}

.ltb-step-04 .ltb-calendar th > span {
    position: relative;
    z-index: 1;
}

.ltb-step-04 .ltb-calendar th.ltb-day-current {
    color: var(--ltb-primary);
}

.ltb-step-04 .ltb-calendar th.ltb-day-current:after {
    content: "";
    display: block;
    width: 80px;
    height: 80px;
    background-color: var(--ltb-accent);
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    z-index: 0;
}

.ltb-step-04 .ltb-calendar th.ltb-weekend {
    color: var(--ltb-primary);
}

.ltb-step-04 .ltb-calendar tbody td {
    vertical-align: top;
    padding: 36px 0;
}

.ltb-step-04 .ltb-calendar tbody td > span {
    border-radius: var(--ltb-radius-button);
    border: 2px solid transparent;
    display: inline-block;
    padding: 0 34px 1px;
    margin: 6px;
    transition: all 0.3s ease;
    cursor: pointer;
    background-color: var(--ltb-light-bg);
    color: var(--ltb-dark-text);
}

.ltb-step-04 .ltb-calendar tbody td > span:not(.disabled):hover {
    background-color: var(--ltb-secondary);
    color: var(--ltb-light-text);
    border-color: var(--ltb-primary);
}

.ltb-step-04 .ltb-calendar tbody td > span:not(.disabled):hover .ltb-slots-left {
    display: none;
}

.ltb-step-04 .ltb-calendar tbody td > span.active {
    background-color: var(--ltb-primary);
    color: var(--ltb-light-text);
}

.ltb-step-04 .ltb-calendar tbody td > span.active .ltb-slots-left {
    display: none;
}

.ltb-step-04 .ltb-calendar tbody td > span.active:after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f00c";
    font-size: 10px;
    margin-left: 8px;
    margin-top: 1px;
    position: absolute;
}

.ltb-step-04 .ltb-calendar tbody td > span.disabled {
    background-color: var(--ltb-surface-alt);
    color: rgba(var(--ltb-ink-rgb), 0.25);
    cursor: default;
}

.ltb-step-04 .ltb-calendar tbody td > span.disabled .ltb-slots-left {
    display: none;
}

.ltb-step-04 .ltb-calendar tbody td.ltb-closed {
    vertical-align: middle;
    font-family: var(--ltb-font-headers);
    font-weight: 700;
    font-size: 30px;
    color: rgba(var(--ltb-ink-rgb), 0.1);
    padding-left: 25px;
    padding-right: 25px;
}

.ltb-step-04 .ltb-calendar tbody tr:last-child td {
    border-bottom: 1px solid rgba(var(--ltb-ink-rgb), 0.08);
}

.ltb-step-04 .ltb-calendar tbody tr:last-child td:first-child {
    border-bottom-left-radius: var(--ltb-radius-card);
}

.ltb-step-04 .ltb-calendar tbody tr:last-child td:last-child {
    border-bottom-right-radius: var(--ltb-radius-card);
}

.ltb-time-picker {
    flex: 1 1 50%;
    padding: 15px;
    border-radius: var(--ltb-radius-card);
    box-sizing: border-box;
    margin-bottom: 20px;
    height: 100%;
}

.ltb-step-04.light .ltb-time-picker {
    background-color: var(--ltb-light-bg);
    color: var(--ltb-dark-text);
}

.ltb-step-04.dark .ltb-time-picker {
    background-color: var(--ltb-dark-bg);
    color: var(--ltb-light-text);
}

.ltb-time-container {
    position: relative;
    height: 100%;
    min-height: 100px;
    text-align: center;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 10px;
    padding: 10px;
}

.ltb-time-container button {
    background-color: var(--ltb-accent);
    border: 1px solid var(--ltb-border-subtle);
    border-radius: var(--ltb-radius-input);
    padding: 10px;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    font-family: var(--ltb-font-main);
}

.ltb-time-container button:hover {
    background-color: var(--ltb-surface-muted);
    border-color: var(--ltb-border-muted);
}

.ltb-time-container button.disabled,
.ltb-time-container button.disabled:hover {
    background-color: var(--ltb-surface-disabled);
    border-color: var(--ltb-border-subtle);
    cursor: not-allowed;
}

.ltb-time-container .ltb-time {
    display: inline-block;
    margin: 5px;
}

.ltb-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 10px;
    color: var(--ltb-secondary);
    font-style: italic;
    width: 100%;
    text-align: center;
    font-family: var(--ltb-font-main);
}

.ltb-loading::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid var(--ltb-border-subtle);
    border-top: 2px solid var(--ltb-secondary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-right: 8px;
    vertical-align: middle;
}

.ltb-slots-left {
    display: block;
    position: absolute;
    margin-top: -16px;
    margin-bottom: 4px;
    pointer-events: none;
    left: 50%;
    transform: translateX(-50%);
}

.ltb-slots-left .ltb-total,
.ltb-slots-left .ltb-free {
    display: block;
    margin-left: -3px;
}

.ltb-slots-left .ltb-total > span,
.ltb-slots-left .ltb-free > span {
    background-color: var(--ltb-primary);
    display: inline-block;
    width: 3px;
    height: 3px;
    margin-left: 3px;
}

.ltb-slots-left .ltb-total > span.disabled,
.ltb-slots-left .ltb-free > span.disabled {
    background-color: var(--ltb-surface-alt);
}

.ltb-slots-left-descr {
    margin-right: 6px;
    position: relative;
    top: -2px;
}

.ltb-slots-left-descr > span {
    background-color: var(--ltb-primary);
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 4px;
}

.ltb-slots-left-descr > span:last-child {
    background-color: var(--ltb-surface-alt);
}

.ltb-calendar-note {
    display: none;
    margin: 20px 0 0;
    padding: 12px 16px;
    border-left: 3px solid var(--ltb-primary);
    background-color: rgba(var(--ltb-ink-rgb), 0.08);
    color: var(--ltb-contrast-text);
    font-size: 14px;
    line-height: 1.5;
    font-family: var(--ltb-font-main);
}

.ltb-calendar-note.is-visible {
    display: block;
}

.ltb-step-04 .ltb-calendar-descr {
    font-size: 14px;
    color: var(--ltb-text);
    text-align: center;
    margin: 40px 0 -30px;
    font-family: var(--ltb-font-main);
}

.ltb-step-04 .ltb-calendar-descr span {
    color: var(--ltb-primary);
}

@media (min-width: 992px) {
    .ltb-step-04 .ltb-calendar-nav a {
        top: -4px;
    }
}

@media (max-width: 1599px) {
    .ltb-step-04 .ltb-calendar tbody td {
        padding-left: 5px;
        padding-right: 5px;
    }
}

@media (max-width: 1199px) {
    .ltb-step-04 .ltb-calendar th {
        width: 33.3%;
        padding-left: 5px;
        padding-right: 5px;
    }

    .ltb-step-04 .ltb-calendar tbody td.visible {
        border-left: 1px solid rgba(var(--ltb-ink-rgb), 0.08);
    }

    .ltb-step-04 .ltb-calendar tbody td.visible + td {
        border-left: 0;
    }
}

@media (max-width: 991px) {
    .ltb-step-04 .ltb-calendar-nav {
        padding-left: 5px;
        padding-right: 5px;
        font-size: 18px;
        display: block;
    }

    .ltb-step-04 .ltb-calendar tbody td > span {
        margin-left: 50px;
        margin-right: 50px;
    }
}

@media (max-width: 768px) {
    .ltb-step-04.ltb-section {
        padding: 15px 0;
    }

    .ltb-date-picker,
    .ltb-time-picker {
        flex: 1 1 100%;
        height: auto;
    }

    .ltb-step-04 .ltb-calendar tbody td > span {
        padding: 0 14px 1px;
        font-size: 16px;
        margin-left: 30px;
        margin-right: 30px;
    }

    .ltb-step-04 .ltb-calendar tbody td > span.active:after {
        display: none;
    }

    .ltb-step-04 .ltb-calendar tbody td.ltb-closed {
        font-size: 18px;
    }
}

@media (max-width: 479px) {
    .ltb-step-04 .ltb-calendar tbody td > span {
        margin-left: 10px;
        margin-right: 10px;
    }
}


/* 1. Highlight the active time‐slot button */
#calander_show_id .ltb-time.active {
  background-color: var(--ltb-primary) !important;
  color: var(--ltb-light-text)   !important;
  border-color: var(--ltb-primary) !important;
}

/* 2. Remove the CSS-injected arrows so only your inline <i> remains */
.ltb-step-04 .ltb-calendar-nav a:before,
.ltb-step-04 .ltb-calendar-nav a::before {
  content: none    !important;
  display: none    !important;
}

/* (Just in case) clear any leftover transform/margins on the pseudo‐elements */
.ltb-step-04 .ltb-calendar-nav a.ltb-calendar-left:before,
.ltb-step-04 .ltb-calendar-nav a.ltb-calendar-right:before {
  transform: none !important;
  margin:    0    !important;
}


/* ==========================================================================
   Step 05: Form and Totals
   ========================================================================== */
.ltb-step-05.ltb-section {
    padding: 40px 0;
}

.ltb-step-05 .row > div {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}

.ltb-step-05 .row.row-centered {
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    line-height: 28.8px;
    margin-left: -15px;
    margin-right: -15px;
    text-align: start;
    justify-content: space-between;
}

.ltb-step-05 .row.row-centered > * {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 15px;
}

.ltb-step-05 .ltb-grid {
    display: grid;
    width: 100%;
    grid-gap: 30px;
    grid-template-columns: 2fr 2fr;
}

.ltb-step-05 .ltb-grid .ltb-grid-item {
    width: 100%;
    display: flex;
}

.ltb-step-05 .ltb-grid .ltb-grid-item.ltb-placeholder {
    border: 2px solid var(--ltb-primary);
    border-radius: var(--ltb-radius-card);
}

.ltb-step-05 .ltb-grid .ltb-grid-item.ltb-placeholder .ltb-grid-content {
    background-color: var(--ltb-surface-subtle);
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content {
    background-color: var(--ltb-surface-subtle);
    border-radius: var(--ltb-radius-card);
    padding: 30px;
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-header {
    color: var(--ltb-primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 4px;
    display: block;
    margin-bottom: 4px;
    font-size: 1rem;
    font-family: var(--ltb-font-headers);
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-value {
    color: var(--ltb-secondary);
    font-weight: 700;
    font-size: 30px;
    display: block;
    font-family: var(--ltb-font-headers);
}

.ltb-step-05 .ltb-grid .ltb-grid-item.ltb-placeholder .ltb-value {
    color: var(--ltb-primary);
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-total-price .ltb-value .ltb-price-original {
    font-size: 0.95em;
    font-weight: 600;
    color: var(--ltb-text-muted);
    display: block;
    font-family: var(--ltb-font-headers);
}

.ltb-price-final {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ltb-text-strong);
    display: block;
    font-family: var(--ltb-font-headers);
}

.ltb-vat {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ltb-text-soft);
    display: inline-block;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ltb-discount {
    color: var(--ltb-success);
    font-size: 0.875rem;
    font-style: italic;
    background: var(--ltb-success-surface);
    padding: 2px 6px;
    border-radius: var(--ltb-radius-surface);
    display: block;
    margin: 6px 0 0;
    font-family: var(--ltb-font-main);
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-total-price .ltb-value .ltb-price-final {
    font-weight: 700;
    font-size: 1.35em;
    color: var(--ltb-text-strong);
    display: block;
    font-family: var(--ltb-font-headers);
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-total-price .ltb-value .ltb-price-with-vat {
    font-size: 0.95em;
    font-weight: 600;
    color: var(--ltb-text-secondary);
    display: block;
    font-family: var(--ltb-font-headers);
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-total-price .ltb-value .ltb-vat {
    font-size: 0.75em;
    font-weight: 500;
    color: var(--ltb-text-soft);
    display: inline-block;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-icon {
    display: block;
    margin-bottom: 15px;
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-icon:before {
    color: var(--ltb-primary);
    font-size: 30px;
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional {
    margin-top: 20px;
    position: relative;
    display: none;
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-plus {
    font-size: 30px;
    font-weight: bold;
    position: relative;
    top: -5px;
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-icon {
    margin-bottom: 0;
    position: relative;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    background-color: var(--ltb-primary);
    border-radius: 50%;
    display: inline-block;
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-icon:before {
    color: var(--ltb-accent);
    font-size: 16px;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-icon:hover + .ltb-floating {
    opacity: 1;
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .header {
    margin: 0 0 14px;
    font-family: var(--ltb-font-headers);
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-list-wrapper {
    text-align: left;
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-list {
    margin: 0;
    padding-left: 40px;
}

.ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-floating {
    transition: all 0.3s ease;
    opacity: 0;
    margin-top: 10px;
    padding: 30px 35px;
    width: 260px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--ltb-accent);
    border-radius: var(--ltb-radius-card);
    box-shadow: 0 0 20px rgba(var(--ltb-ink-rgb), 0.1);
}

.ltb-step-05 .ltb-form {
    padding: 0;
}

.ltb-step-05 .ltb-form.done {
    padding: 10px;
}

.ltb-step-05 .ltb-form.done .ltb-header-descr {
    max-width: initial;
}

.ltb-step-05 .ltb-form.done .header {
    text-align: center;
}

.ltb-step-05 .ltb-form.done .ltb-header-descr {
    text-align: center;
    color: var(--ltb-light-text);
    font-family: var(--ltb-font-main);
}

.ltb-step-05 .ltb-form.done .ltb-header-descr h6 {
    color: var(--ltb-text);
    font-family: var(--ltb-font-headers);
    margin-top: 20px;
    margin-bottom: 10px;
}

.ltb-step-05 .ltb-form.done .ltb-header-descr p {
    color: var(--ltb-light-text);
    font-family: var(--ltb-font-main);
    margin-bottom: 8px;
}

.ltb-step-05 .ltb-form.done .ltb-total-price {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
}

.ltb-step-05 .ltb-form.done .ltb-total-price .ltb-value {
    color: var(--ltb-primary);
    font-weight: 700;
}

.ltb-step-05 .ltb-form .header {
    color: var(--ltb-text);
    font-size: 36px;
    font-family: var(--ltb-font-headers);
}

.ltb-step-05 .ltb-form .header span {
    color: var(--ltb-primary);
}

.ltb-step-05 .ltb-form .ltb-header-descr {
    color: var(--ltb-light-text);
    margin-top: 10px;
    margin-bottom: 0;
    font-family: var(--ltb-font-main);
}

.ltb-step-05 .ltb-form label.lte-checkbox {
    font-weight: normal;
    font-size: 16px;
    font-family: var(--ltb-font-main);
}

.ltb-step-05 .ltb-form label.lte-checkbox input {
    margin-right: 6px;
}

.ltb-step-05 .ltb-form input[type="text"],
.ltb-step-05 .ltb-form textarea {
    border: 3px solid transparent;
    font-family: var(--ltb-font-main);
}

.ltb-step-05 .ltb-form input[type="text"].validate,
.ltb-step-05 .ltb-form textarea.validate {
    border-color: var(--ltb-primary);
}

.ltb-step-05 .ltb-form .ltb-div-submit {
    margin-top: 15px;
    justify-content: center;
}

.ltb-step-05 .ltb-form .ltb-div-submit .btn {
    background-color: var(--ltb-primary);
    color: var(--ltb-light-text);
}

.ltb-step-05 .ltb-form .ltb-div-submit .btn:hover {
    background-color: var(--ltb-secondary);
    color: var(--ltb-light-text);
}

.ltb-step-05 .ltb-form .ltb-div-submit .btn.disabled {
    background-color: var(--ltb-surface-alt);
    color: var(--ltb-text-disabled);
}

.ltb-step-05 .ltb-form .ltb-div-submit.loading:after,
.ltb-step-05 .ltb-payment-btn-wrapper.loading:after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f110";
    position: absolute;
    bottom: -50px;
    animation: ltbSpin 1s linear infinite;
}

.ltb-step-05 .ltb-payment-btn-wrapper {
    display: none;
}

.ltb-step-05 #ltb-payment-submit {
    margin-top: 30px;
}

@media (max-width: 1599px) {
    .ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-total-price .ltb-value .ltb-price-original,
    .ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-total-price .ltb-value .ltb-price-with-vat {
        font-size: 0.9em;
    }

    .ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-total-price .ltb-value .ltb-discount {
        font-size: 0.85em;
    }

    .ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-total-price .ltb-value .ltb-price-final {
        font-size: 1.25em;
    }

    .ltb-step-05 .ltb-grid .ltb-grid-item .ltb-grid-content .ltb-total-price .ltb-value .ltb-vat {
        font-size: 0.7em;
    }
}

@media (max-width: 991px) {
    .ltb-step-05 .ltb-grid {
        margin-bottom: 30px;
    }
}

@media (max-width: 768px) {
    .ltb-step-05.ltb-section {
        padding: 15px 0;
    }

    .ltb-step-05 .ltb-grid {
        display: block;
    }

    .ltb-step-05 .ltb-grid .ltb-grid-item {
        margin-bottom: 15px;
    }

    .ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-icon {
        display: none;
    }

    .ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-floating {
        opacity: 1;
        position: relative;
        box-shadow: none;
        padding-top: 0;
        padding-bottom: 0;
    }

    .ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-floating .header {
        display: none;
    }

    .ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-floating .ltb-list {
        margin-left: -30px;
    }

    .ltb-step-05 .ltb-grid .ltb-grid-item .ltb-additional .ltb-floating .ltb-list-wrapper {
        text-align: center;
    }

    .ltb-step-05 .row.row-centered > * {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .ltb-step-05 .ltb-form .header {
        font-size: 24px;
    }

    .ltb-step-05 .ltb-form .ltb-header-descr {
        font-size: 14px;
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* ==========================================================================
   Category and Subcategory Sections
   ========================================================================== */
.ltb-category-list, .ltb-subcat-block {
    list-style: none;
    margin: 0;
    padding: 10px;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    gap: 20px;
    scroll-padding-left: 10px;
    flex: 1 1 auto;
}

.ltb-category-item, .ltb-subcategory-item {
    flex: 0 0 auto;
    background-color: var(--ltb-dark-bg);
    border: 2px solid transparent;
    border-radius: var(--ltb-radius-card);
    padding: var(--ltb-category-padding-desktop, 20px 30px);
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    color: var(--ltb-light-text);
    font-size: var(--ltb-category-title-size-desktop, 18px);
    font-weight: bold;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ltb-category-item.no-title,
.ltb-subcategory-item.no-title {
    justify-content: center;
}

.ltb-category-description-panel {
    margin: 12px 10px 0;
    text-align: center;
    color: inherit;
    font-family: var(--ltb-font-main);
    line-height: 1.6;
}

.ltb-category-description-panel.is-empty {
    min-height: 0;
}

.ltb-category-item:hover, .ltb-subcategory-item:hover {
    background-color: var(--ltb-dark-bg);
    border-color: var(--ltb-primary);
    color: var(--ltb-primary);
}

.ltb-category-item.active, .ltb-subcategory-item.active {
    background-color: var(--ltb-dark-bg);
    border-color: var(--ltb-primary);
    color: var(--ltb-dark-text);
}

.ltb-category-item.active .ltb-category-link,
.ltb-subcategory-item.active .ltb-subcategory-link {
    color: var(--ltb-primary);
}

.ltb-category-icon {
    width: var(--ltb-category-icon-size-desktop, 70px);
    height: var(--ltb-category-icon-size-desktop, 70px);
    object-fit: contain;
    margin-bottom: 5px;
    transition: transform 0.3s ease;
}

.ltb-category-item.no-title .ltb-category-icon,
.ltb-subcategory-item.no-title .ltb-category-icon {
    margin-bottom: 0;
}

.ltb-category-item:hover .ltb-category-icon,
.ltb-subcategory-item:hover .ltb-category-icon {
    transform: scale(1.1);
}

.ltb-subcategory-list {
    margin-top: 20px;
    list-style: none;
    display: none;
}

@media (max-width: 768px) {
    .ltb-category-icon {
        width: var(--ltb-category-icon-size-mobile, var(--ltb-category-icon-size-desktop, 70px));
        height: var(--ltb-category-icon-size-mobile, var(--ltb-category-icon-size-desktop, 70px));
    }

    .ltb-category-item, .ltb-subcategory-item {
        padding: var(--ltb-category-padding-mobile, var(--ltb-category-padding-desktop, 20px 30px));
        font-size: var(--ltb-category-title-size-mobile, var(--ltb-category-title-size-desktop, 18px));
    }
}

@media (min-width: 769px) {
    .ltb-category-list, .ltb-subcat-block {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .ltb-category-list {
        justify-content: flex-start;
    }

    .ltb-subcat-block {
        justify-content: center;
    }
}

/* ==========================================================================
   Slider Progress (Mobile Only)
   ========================================================================== */
.slider-progress {
    display: none;
}

    @media (max-width: 768px) {
        .slider-progress {
            display: block;
            position: relative;
            height: 4px;
            background-color: var(--ltb-surface-alt);
            margin-top: 10px;
            border-radius: calc(var(--ltb-radius-surface) / 2);
            overflow: hidden;
        }

        .slider-progress-bar {
            position: absolute;
            height: 100%;
            width: 20%;
            background-color: var(--ltb-primary);
            transition: width 0.3s ease;
            border-radius: calc(var(--ltb-radius-surface) / 2);
        }

    .ltb-categories .slider-progress-text {
        display: block;
        width: 100%;
        text-align: center;
        font-size: 14px;
        color: var(--ltb-accent);
        font-family: var(--ltb-font-main);
    }
}

/* ==========================================================================
   Service Steps
   ========================================================================== */
.service-step {
    display: inline-block;
    font-size: 14px;
    padding: 4px 8px;
    background-color: var(--ltb-surface-alt);
    border-radius: var(--ltb-radius-surface);
    margin-right: 10px;
    font-family: var(--ltb-font-main);
}

.service-step:not(:last-child)::after {
    content: "\2193";
    margin-left: 5px;
    color: var(--ltb-text);
}

/* ==========================================================================
   Headings
   ========================================================================== */
.heading.subcolor-main .subheader {
    color: var(--ltb-primary);
    font-family: var(--ltb-font-headers);
}

.heading.header-subheader.align-center.subcolor-main.has-subheader.heading-tag-h4 {
    color: var(--ltb-accent);
    font-family: var(--ltb-font-headers);
    --ltb-subheader-divider-color: var(--ltb-accent);
    --ltb-subheader-divider-thickness: 4px;
}

.heading.header-subheader.align-center.subcolor-main.has-subheader.heading-tag-h4 > :first-child {
    display: flex;
    align-items: center;
    justify-content: center;
}

.heading.header-subheader.align-center.subcolor-main.has-subheader.heading-tag-h4 > :first-child::before,
.heading.header-subheader.align-center.subcolor-main.has-subheader.heading-tag-h4 > :first-child::after {
    content: "";
    flex: 1;
    height: var(--ltb-subheader-divider-thickness, 4px);
    background-color: var(--ltb-subheader-divider-color, var(--ltb-accent));
    display: var(--ltb-subheader-divider-display, block);
}

.heading.header-subheader.align-center.subcolor-main.has-subheader.heading-tag-h4 > :first-child::before {
    margin-right: 10px;
}

.heading.header-subheader.align-center.subcolor-main.has-subheader.heading-tag-h4 > :first-child::after {
    margin-left: 10px;
}

.heading.header-subheader.align-center.subcolor-main.has-subheader.heading-tag-h4.ltb-divider-hidden > :first-child::before,
.heading.header-subheader.align-center.subcolor-main.has-subheader.heading-tag-h4.ltb-divider-hidden > :first-child::after {
    display: none;
}

/* ==========================================================================
   Form Styling
   ========================================================================== */
.ltb-form form {
    text-align: center;
    padding: 0;
    border-radius: var(--ltb-radius-card);
    background-clip: border-box;
    position: relative;
    width: 100%;
    max-width: 80%;
    margin: 0 auto;
}

form, .form-row {
    font-size: 16px;
    border-radius: var(--ltb-radius-card);
    background-clip: border-box;
    font-family: var(--ltb-font-main);
}

form select, .form-row select {
    max-width: 100%;
    color: var(--ltb-secondary);
    font-family: var(--ltb-font-main);
}

form textarea,
.form-row textarea,
form input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
.form-row input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]) {
    width: 100%;
    display: block;
    margin: 0 auto;
    color: rgba(var(--ltb-ink-rgb), 0.8);
    padding: 10px 15px;
    border: 1px solid rgba(var(--ltb-ink-rgb), 0.5);
    background-clip: padding-box;
    box-shadow: none;
    border-radius: var(--ltb-radius-input);
    font-family: var(--ltb-font-main);
    font-weight: 400;
    transition: all 0.3s ease;
}

form textarea.wpcf7-not-valid,
.form-row textarea.wpcf7-not-valid,
form input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]).wpcf7-not-valid,
.form-row input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]).wpcf7-not-valid {
    border-color: var(--ltb-error);
}

form.comment-form textarea,
.form-row.comment-form textarea,
form.comment-form input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
.form-row.comment-form input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]) {
    border: 0 solid transparent;
}

form input[type="number"],
.form-row input[type="number"] {
    padding: 0;
    padding-left: 20px;
    font-size: 16px;
    font-family: var(--ltb-font-main);
    font-weight: 400;
    border-radius: var(--ltb-radius-input);
    background-clip: border-box;
}

form .date:not(.wpcf7-form-control-wrap),
.form-row .date:not(.wpcf7-form-control-wrap) {
    margin: 0;
}

.select-wrap {
    width: 100%;
    position: relative;
    border-radius: var(--ltb-radius-input);
    background-color: var(--ltb-accent);
    border: 1px solid rgba(var(--ltb-ink-rgb), 0.5);
    outline: 0;
    transition: all 0.3s ease;
    color: rgba(var(--ltb-ink-rgb), 0.5);
    font-family: var(--ltb-font-main);
}

.form-control:focus, input:focus {
    outline: none;
    box-shadow: none;
}

input[type="search"] {
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .ltb-form form {
        padding: 45px 0 0;
    }
}




/* ==========================================================================
   Booking Confirmation Styling
   ========================================================================== */

.ltb-header-descr {
    color: var(--ltb-light-text);
}

.ltb-header-descr h6 {
    color: var(--ltb-primary)!important;
}

#ltb-booking-done.header {
    color: var(--ltb-primary)!important;
}

/* ==========================================================================
   Payment Options
   ========================================================================== */
.ltb-payment-options {
    margin: 20px 0;
    text-align: center;
}

.ltb-payment-radio {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 10px;
}

.ltb-payment-radio label {
    display: flex;
    align-items: center;
    font-size: 16px;
    color: var(--ltb-text);
    cursor: pointer;
    font-family: var(--ltb-font-main);
}

.ltb-payment-radio input[type="radio"] {
    margin-right: 5px;
}

.ltb-deposit-options {
    margin-top: 10px;
}

.ltb-deposit-select {
    padding: 10px;
    font-size: 16px;
    font-family: var(--ltb-font-headers);
    font-weight: 700;
    background-color: var(--ltb-accent);
    border: 1px solid rgba(var(--ltb-ink-rgb), 0.5);
    border-radius: var(--ltb-radius-button);
    color: var(--ltb-secondary);
    width: 100%;
    cursor: pointer;
    text-align: center;
}

.ltb-amount-due {
    font-size: 18px;
    font-weight: 700;
    color: var(--ltb-text);
    margin-top: 10px;
    font-family: var(--ltb-font-headers);
}

.ltb-amount-due span {
    color: var(--ltb-primary);
}

/* ==========================================================================
   Payment Buttons
   ========================================================================== */
.ltb-header-descr .ltb-payment-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    width: 100%;
}

.ltb-header-descr .ltb-payment-buttons #hyperpay-pay-btn {
    flex: 1;
    border-radius: var(--ltb-radius-surface);
    width: auto;
    box-sizing: border-box;
}

.ltb-header-descr .ltb-payment-buttons #woocommerce-checkout-form.customize-unpreviewable {
    flex: 1;
    padding: 0;
    margin: 0;
    width: auto;
    display: flex;
}

.ltb-header-descr .ltb-payment-buttons #woocommerce-checkout-form .btn {
    flex: 1;
    border-radius: var(--ltb-radius-surface);
    width: 100%;
    box-sizing: border-box;
}

.ltb-header-descr .ltb-payment-buttons #woocommerce-checkout-form input[type="hidden"] {
    display: none;
}

.ltb-header-descr .ltb-payment-buttons #hyperpay-widget {
    display: none;
}

.wpwl-button {
    width: 100%;
    background-color: var(--ltb-primary);
    color: var(--ltb-secondary);
    padding: 16px 38px;
    font-size: 16px;
    font-weight: 700;
    font-family: var(--ltb-font-headers);
    border: none;
    border-radius: var(--ltb-radius-button);
    transition: background-color 0.3s ease;
    text-align: center;
    display: inline-block;
    cursor: pointer;
}

.wpwl-button:hover {
    background-color: var(--ltb-secondary);
    color: var(--ltb-accent);
}

.wpwl-container-card {
    padding: 20px 0;
    margin: 50px 0;
}

/* ==========================================================================
   Tint Simulator Button
   ========================================================================== */
#tint-simulator-button {
    background-color: var(--ltb-primary);
    color: var(--ltb-secondary);
    padding: 16px 38px;
    font-size: 16px;
    font-weight: 700;
    border: 2px solid var(--ltb-primary);
    border-radius: var(--ltb-radius-button);
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(var(--ltb-ink-rgb), 0.2);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: var(--ltb-font-headers);
}

#tint-simulator-button:hover {
    background-color: var(--ltb-secondary);
    color: var(--ltb-accent);
    border-color: var(--ltb-secondary);
    transform: scale(1.05);
    box-shadow: 0 6px 15px rgba(var(--ltb-ink-rgb), 0.3);
}

/* ==========================================================================
   Animations
   ========================================================================== */
@keyframes ltbSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
