body:not(.admin-layout) .sticky-booking,
body:not(.admin-layout) .sticky-search,
body:not(.admin-layout) .booking-sidebar,
body:not(.admin-layout) .tour-detail-booking,
body:not(.admin-layout) .hotel-detail__booking {
    scroll-margin-top: 96px;
}

@media (min-width: 992px) {
    body:not(.admin-layout) .sticky-booking,
    body:not(.admin-layout) .sticky-search,
    body:not(.admin-layout) .booking-sidebar,
    body:not(.admin-layout) .tour-detail-booking,
    body:not(.admin-layout) .hotel-detail__booking {
        position: sticky;
        top: 92px;
        z-index: 20;
    }
}

body:not(.admin-layout) .cbe-card,
body:not(.admin-layout) .tour-card,
body:not(.admin-layout) .hotel-detail__room,
body:not(.admin-layout) .news-card,
body:not(.admin-layout) .booking-panel,
body:not(.admin-layout) .reservation-box {
    border: 1px solid var(--cbe-line, #deebf4);
    border-radius: 16px;
    background: var(--cbe-surface, #fff);
    box-shadow: 0 12px 28px rgba(17, 49, 78, .08);
}

body:not(.admin-layout) .cbe-section,
body:not(.admin-layout) .home-section,
body:not(.admin-layout) .detail-section {
    padding-block: clamp(28px, 4vw, 52px);
}

body:not(.admin-layout) .btn,
body:not(.admin-layout) button:not(.site-button),
body:not(.admin-layout) input[type="submit"],
body:not(.admin-layout) .cbe-btn {
    min-height: 40px;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: 0;
}

body:not(.admin-layout) .btn-primary,
body:not(.admin-layout) .btn-success,
body:not(.admin-layout) .cbe-btn--primary {
    border-color: var(--cbe-primary, #16324f);
    background: var(--cbe-primary, #16324f);
    color: #fff;
}

body:not(.admin-layout) .btn-primary:hover,
body:not(.admin-layout) .btn-primary:focus,
body:not(.admin-layout) .btn-success:hover,
body:not(.admin-layout) .btn-success:focus,
body:not(.admin-layout) .cbe-btn--primary:hover,
body:not(.admin-layout) .cbe-btn--primary:focus {
    border-color: var(--cbe-primary-hover, #102842);
    background: var(--cbe-primary-hover, #102842);
    color: #fff;
}

body:not(.admin-layout) :where(
    .form-control,
    select,
    textarea,
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="date"]
):not(.site-form-field *) {
    border-color: var(--cbe-control-border, #cfe0f2);
    border-radius: 12px;
    color: var(--cbe-ink, #17324d);
    box-shadow: none;
}

body:not(.admin-layout) :where(
    .form-control,
    select,
    textarea,
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="date"]
):not(.site-form-field *):focus {
    border-color: var(--cbe-control-focus, #7fb1df);
    box-shadow: 0 0 0 3px rgba(127, 177, 223, .18);
    outline: 0;
}

@media (max-width: 767px) {
    body:not(.admin-layout) .btn,
    body:not(.admin-layout) button:not(.site-button),
    body:not(.admin-layout) .cbe-btn {
        min-height: 44px;
        white-space: normal;
    }
}
