/* =====================================================
   Resort Life Theme
   Version: 1.0 Stable
   File: /public/css/customer.css

   Philosophy:
   - Safe override only
   - No JS modifications
   - No Smarty modifications
   - No responsive layout modifications
   ===================================================== */

/* =====================================================
   Architecture Map

   00. Tokens
   01. Layout & Typography
   02. Forms & Buttons
   03. Search Controls
   04. Search Results & Tables
   05. Popups & Modals
   06. Header & Navigation
   07. Login & Authorization
   08. Footer
   09. Domain Pages & Booking Widgets
   10. Weather Widget
   99. Final Overrides & Legacy Fixes

   Refactor rule:
   - Preserve selector specificity and cascade order.
   - Keep historical final-fix layers in their winning order.
   - Do not move non-identical overrides without visual QA.
   ===================================================== */


/* =====================================================
   00. Resort Life Design Tokens
   ===================================================== */

:root {
    --main-panel-bgcolor: #bbe4c1;
    --main-button-bgcolor: #416c46;
    --hover-button-bgcolor: #58885d;
    --link-active-color: #416c46;
    --link-hover-color: #5b8b60;
}


/* =====================================================
   01. Layout & Typography
   ===================================================== */

/* =====================================================
   01. Layout Polish
   ===================================================== */

.samo_container .panel {
    border-radius: 12px !important;
    box-shadow: none !important;
}

/* Єдиний вертикальний ритм між панелями */

.samo_container .panel + .panel,
.samo_container table.panel + table.panel,
.samo_container div.panel + div.panel {
    margin-top: 16px !important;
}

/* Перша панель після вкладок не має верхнього відступу */

.samo_container .searchmodes + .panel,
.samo_container .searchmodes + table.panel,
.samo_container .searchmodes + div.panel {
    margin-top: 0 !important;
}

.samo_container .std.container {
    padding-top: 18px;
}

/* =====================================================
   01.5 Resort Life Typography
   Pilot polish for legacy SAMO labels and text

   Goals:
   - Remove old black system-text feeling
   - Keep readability
   - Do not recolor icons, prices or buttons globally
   ===================================================== */

:root {
    --rl-text: #355b3a;
    --rl-heading: #416c46;
    --rl-muted: #5f7464;
}

/* Base SAMO text tone */

.samo_container {
    color: var(--rl-text);
}

/* Common labels and captions */

.samo_container label,
.samo_container .caption,
.samo_container td.caption,
.samo_container th.caption,
.samo_container .field_caption,
.samo_container .filter_caption {
    color: var(--rl-heading) !important;
    font-weight: inherit !important;
}

/* Small helper labels */

.samo_container .small,
.samo_container .hint,
.samo_container .note,
.samo_container .comment,
.samo_container .description {
    color: var(--rl-muted) !important;
}

/* Form text inside legacy filter areas */

.samo_container .panel td,
.samo_container .panel th,
.samo_container .std td,
.samo_container .std th {
    color: var(--rl-text);
}

/* Checkbox / radio adjacent text */

.samo_container input[type="checkbox"] + label,
.samo_container input[type="radio"] + label {
    color: var(--rl-text) !important;
    font-weight: inherit !important;
}

/* Links inside SAMO content */

.samo_container a {
    color: var(--rl-heading);
}

.samo_container a:hover {
    color: var(--link-hover-color);
}

/* Keep important action and price areas untouched */

.samo_container button,
.samo_container .button,
.samo_container .price_button,
.samo_container .td_price,
.samo_container .type_price {
    color: inherit;
}


/* =====================================================
   02. Forms & Buttons
   ===================================================== */

/* =====================================================
   02. Inputs & Selects Polish
   ===================================================== */

.samo_container select,
.samo_container textarea,
.samo_container .textinput,
.samo_container input.frm-value,
.samo_container input.frm-input {
    border: 1px solid rgba(65,108,70,.35) !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    color: #1f2f22;
    box-shadow: 0 1px 2px rgba(0,0,0,.08);
}

.samo_container select:focus,
.samo_container textarea:focus,
.samo_container input.frm-value:focus,
.samo_container input.frm-input:focus {
    border-color: #416c46 !important;
    box-shadow: 0 0 0 2px rgba(65,108,70,.18);
    outline: none;
}


/* =====================================================
   02.1 Resort Life Buttons System
   Pilot polish for legacy SAMO buttons

   Goals:
   - White readable text
   - Premium green buttons
   - No template or JS changes
   - Safe for search/submit actions
   ===================================================== */

.samo_container input[type="submit"],
.samo_container input[type="button"],
.samo_container button.button,
.samo_container .button,
.samo_container .search_button {
    min-height: 36px !important;
    box-sizing: border-box !important;

    background: linear-gradient(180deg, #4d7b52 0%, #416c46 100%) !important;
    color: #ffffff !important;

    border: 1px solid rgba(65,108,70,.35) !important;
    border-radius: 10px !important;

    padding: 8px 18px !important;

    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;

    box-shadow: 0 5px 14px rgba(31,47,34,.16) !important;

    cursor: pointer !important;
}

.samo_container input[type="submit"]:hover,
.samo_container input[type="button"]:hover,
.samo_container button.button:hover,
.samo_container .button:hover,
.samo_container .search_button:hover {
    background: linear-gradient(180deg, #5b8b60 0%, #4d7b52 100%) !important;
    color: #ffffff !important;
    border-color: rgba(65,108,70,.45) !important;
    box-shadow: 0 7px 18px rgba(31,47,34,.22) !important;
}

.samo_container input[type="submit"]:active,
.samo_container input[type="button"]:active,
.samo_container button.button:active,
.samo_container .button:active,
.samo_container .search_button:active {
    background: #416c46 !important;
    color: #ffffff !important;
    box-shadow: 0 3px 8px rgba(31,47,34,.18) !important;
}

/* =====================================================
   03. Search Controls
   ===================================================== */

/* =====================================================
   03. Search Modes Polish
   ===================================================== */

.samo_container .searchmodes {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    margin-bottom: 10px !important;
}

.samo_container .searchmodes .searchmode,
.samo_container .searchmodes .searchmode-custom {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: none !important;
}

.samo_container .searchmodes .searchmode_selected {
    padding: 11px 16px !important;
    background: var(--main-panel-bgcolor);
    color: #1f2f22;
    font-weight: 700;
}

.samo_container .searchmodes .searchmode_button {
    display: block;
    padding: 11px 16px !important;
    background: #eef5ef !important;
    color: #416c46 !important;
    text-decoration: none;
    box-shadow: none !important;
}

.samo_container .searchmodes .searchmode_button:hover {
    background: #dff2e2 !important;
    color: #416c46 !important;
}

/* Панель після вкладок завжди повністю округлена */

.samo_container .searchmodes + .panel,
.samo_container .searchmodes + table.panel,
.samo_container .searchmodes + div.panel {
    margin-top: 0 !important;
    border-top-left-radius: 12px !important;
}
/* =====================================================
   04. Premium Calendar
   ===================================================== */

.samo_container .Zebra_DatePicker {
    border: 1px solid rgba(65,108,70,.28) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(31,47,34,.18) !important;
    padding: 8px !important;
    overflow: hidden;
}

.samo_container .Zebra_DatePicker .dp_header td {
    background: #416c46 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    padding: 7px 4px !important;
}

.samo_container .Zebra_DatePicker .dp_daypicker th {
    background: #eef5ef !important;
    color: #416c46 !important;
    font-weight: 700 !important;
    padding: 6px 0 !important;
}

.samo_container .Zebra_DatePicker td {
    background: #ffffff !important;
    color: #253827 !important;
    border-radius: 7px !important;
}

.samo_container .Zebra_DatePicker td.dp_hover {
    background: #dff2e2 !important;
    color: #416c46 !important;
}

.samo_container .Zebra_DatePicker td.dp_selected {
    background: #416c46 !important;
    color: #ffffff !important;
    font-weight: 700;
}

.samo_container .Zebra_DatePicker td.dp_current:not(.dp_selected) {
    background: #eef8ef !important;
    color: #416c46 !important;
    font-weight: 700;
}

.samo_container .Zebra_DatePicker td.dp_not_in_month,
.samo_container .Zebra_DatePicker td.dp_disabled,
.samo_container .Zebra_DatePicker td.dp_weekend_disabled {
    color: #b7b7b7 !important;
    background: #ffffff !important;
}

.samo_container .Zebra_DatePicker .dp_footer td {
    background: #f4faf5 !important;
    color: #416c46 !important;
    font-weight: 700 !important;
}


/* =====================================================
   05. Calendar Icon Polish
   ===================================================== */

.samo_container button.Zebra_DatePicker_Icon {
    display: block !important;
    position: absolute !important;

    width: 18px !important;
    height: 18px !important;

    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;

    text-indent: -9999px !important;
    opacity: .85;
}

.samo_container button.Zebra_DatePicker_Icon::before {
    content: "\f073";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;

    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 13px;
    line-height: 18px;
    color: #416c46;

    text-indent: 0 !important;
    pointer-events: none !important;
}

.samo_container button.Zebra_DatePicker_Icon:hover {
    opacity: 1;
}
/* =====================================================
   04. Search Results & Tables
   ===================================================== */

/* =====================================================
   08. Premium Result Table
   Search results only
   ===================================================== */

.samo_container #scrollto table.res {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(31,47,34,.10);
}

.samo_container #scrollto table.res thead th,
.samo_container #scrollto table.res thead td {
    background: #416c46 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    padding: 8px 10px !important;
    border: none !important;
}

.samo_container #scrollto table.res tbody td {
    padding: 9px 10px !important;
    border-bottom: 1px solid rgba(65,108,70,.14) !important;
    background: #ffffff !important;
    color: #1f2f22;
}

.samo_container #scrollto table.res tbody tr:nth-child(even) td {
    background: #f5fbf6 !important;
}

.samo_container #scrollto table.res tbody tr:hover td {
    background: #eaf7ec !important;
}

.samo_container #scrollto .price_button {
    background-color: #ffffff !important;
    border: 1px solid rgba(65,108,70,.35) !important;
    border-radius: 8px !important;
    color: #1f2f22 !important;
    box-shadow: none !important;
}

.samo_container #scrollto .price_button:hover {
    border-color: #416c46 !important;
    background-color: #eef8ef !important;
}

/* =====================================================
   08.1 Result Table Polish
   ===================================================== */

.samo_container #scrollto table.res tbody td {
    vertical-align: middle !important;
}

.samo_container #scrollto table.res .transport .name {
    display: inline-block;
    margin-right: 8px;
    color: #1f2f22;
}

.samo_container #scrollto table.res td.transport {
    padding-right: 14px !important;
}

.samo_container #scrollto table.res .td_price {
    white-space: nowrap;
}

.samo_container #scrollto table.res .type_price {
    color: #416c46;
    font-weight: 600;
}

.samo_container #scrollto table.res .tour-nights {
    font-weight: 700;
    color: #416c46;
}

.samo_container #scrollto table.res .link-hotel {
    font-weight: 600;
}

.samo_container #scrollto table.res tbody tr:last-child td {
    border-bottom: none !important;
}

/* =====================================================
   08.1.1 Instant Confirmation
   Resort Life Premium Final
   ===================================================== */

/* -----------------------------------------------------
   Legend: replace old green rectangle with modern badge
   ----------------------------------------------------- */

.samo_container td:has(> span.confirm_now_img.green_row) {
    font-size: 0 !important;
    white-space: nowrap !important;
}

.samo_container td > span.confirm_now_img.green_row {
    display: none !important;
}

.samo_container td:has(> span.confirm_now_img.green_row)::after {
    content: "\f058  Instant confirmation";

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;

    min-height: 28px !important;

    padding: 0 11px !important;

    background: #d7f0db !important;
    color: #416c46 !important;

    border: 1px solid rgba(65,108,70,.20) !important;
    border-radius: 999px !important;

    font-family: "Font Awesome 6 Free", Tahoma, Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.65),
        0 3px 9px rgba(31,47,34,.07) !important;
}


/* -----------------------------------------------------
   Search result row with instant confirmation
   ----------------------------------------------------- */

.samo_container #scrollto table.res tbody tr:has(
    td.hotel-seats span.hotel_availability_Y
) > td {
    background: #f1f8f2 !important;
    border-bottom-color: rgba(65,108,70,.16) !important;

    transition:
        background-color .18s ease,
        box-shadow .18s ease !important;
}

/* Soft corporate accent instead of heavy dark stripe */

.samo_container #scrollto table.res tbody tr:has(
    td.hotel-seats span.hotel_availability_Y
) > td:first-child {
    box-shadow: inset 3px 0 0 #5b8b60 !important;
}

/* Instant badge near availability bars */

.samo_container #scrollto table.res td.hotel-seats:has(
    span.hotel_availability_Y
)::after {
    content: "\f058  Instant";

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 24px !important;

    margin-left: 9px !important;
    padding: 0 8px !important;

    background: #d7f0db !important;
    color: #416c46 !important;

    border: 1px solid rgba(65,108,70,.18) !important;
    border-radius: 999px !important;

    font-family: "Font Awesome 6 Free", Tahoma, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    vertical-align: middle !important;
    white-space: nowrap !important;

    box-shadow: inset 0 1px 0 rgba(255,255,255,.55) !important;
}

/* Premium hover */

.samo_container #scrollto table.res tbody tr:has(
    td.hotel-seats span.hotel_availability_Y
):hover > td {
    background: #e7f3e9 !important;
}


/* -----------------------------------------------------
   Mobile version
   Keep result cards compact
   ----------------------------------------------------- */

@media (max-width: 767px) {

    .samo_container #scrollto table.res tbody tr.price_info:has(
        td.hotel-seats span.hotel_availability_Y
    ) > td {
        background: #f1f8f2 !important;
    }

    .samo_container #scrollto table.res td.hotel-seats:has(
        span.hotel_availability_Y
    )::after {
        content: "\f058";

        width: 24px !important;
        min-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;

        margin-left: 7px !important;
        padding: 0 !important;

        border-radius: 50% !important;

        font-size: 11px !important;
    }
}

/* =====================================================
   Stop Sale Legend
   ===================================================== */

.samo_container td:has(> span.stop_sale_img.red_row) {
    font-size: 0 !important;
    white-space: nowrap !important;
}

.samo_container td > span.stop_sale_img.red_row {
    display: none !important;
}

.samo_container td:has(> span.stop_sale_img.red_row)::after {

    content: "\f05e  Stop sale";

    display: inline-flex;
    align-items: center;
    gap: 7px;

    min-height: 28px;

    padding: 0 11px;

    background: #fdeaea;
    color: #b63d3d;

    border: 1px solid rgba(182,61,61,.22);
    border-radius: 999px;

    font-family: "Font Awesome 6 Free",Tahoma,Arial,sans-serif;
    font-size: 11px;
    font-weight: 700;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.7),
        0 3px 9px rgba(0,0,0,.05);
}

/* =====================================================
   Best Price Legend
   ===================================================== */

.samo_container td:has(> span.best_price_img) {
    font-size: 0 !important;
    white-space: nowrap !important;
}

.samo_container td > span.best_price_img {
    display: none !important;
}

.samo_container td:has(> span.best_price_img)::after {

    content: "\f005  Best price";

    display: inline-flex;
    align-items: center;
    gap: 7px;

    min-height: 28px;

    padding: 0 11px;

    background: #fff6d8;
    color: #a36b00;

    border: 1px solid rgba(163,107,0,.20);
    border-radius: 999px;

    font-family: "Font Awesome 6 Free", Tahoma, Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.75),
        0 3px 9px rgba(0,0,0,.05);
}

/* =====================================================
   08.2 Mobile Result Card Polish
   Search results only
   ===================================================== */

@media (max-width: 767px) {

    .samo_container #scrollto table.res {
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .samo_container #scrollto table.res tbody tr.price_info {
        margin: 10px 6px !important;
        border: 1px solid rgba(65,108,70,.14) !important;
        border-radius: 14px !important;
        box-shadow: 0 6px 18px rgba(31,47,34,.08) !important;
        overflow: hidden;
    }

    .samo_container #scrollto table.res tbody tr.price_info:nth-child(odd) td {
        background: #ffffff !important;
    }

    .samo_container #scrollto table.res tbody tr.price_info:nth-child(even) td {
        background: #f5fbf6 !important;
    }

    .samo_container #scrollto table.res tbody tr.price_info:hover td {
        background: inherit !important;
    }

    .samo_container #scrollto table.res .link-hotel {
        color: #1f2f22 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
    }

    .samo_container #scrollto table.res .hotel-room {
        color: #1f2f22 !important;
        font-weight: 600 !important;
    }

    .samo_container #scrollto table.res .hotel-meals {
        color: #416c46 !important;
        font-weight: 700 !important;
    }

    .samo_container #scrollto .price_button {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 8px 10px 8px 30px !important;
        border: 1px solid rgba(65,108,70,.28) !important;
        border-radius: 10px !important;
        background-color: #ffffff !important;
        color: #1f2f22 !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        text-align: center !important;
    }

    .samo_container #scrollto table.res .type_price .toggle-text {
        display: inline-block;
        padding: 3px 8px;
        border-radius: 999px;
        background: #eef8ef;
        color: #416c46;
        font-weight: 700;
        font-size: 11px;
    }

    .samo_container #scrollto table.res .transport .name {
        margin-right: 7px;
        color: #1f2f22;
        font-weight: 600;
    }
}

/* =====================================================
   08.3 Stop Sale Price Badge
   ===================================================== */

.samo_container #scrollto table.res tbody tr.price_info td.td_price:not(:has(.price_button))::after,
.samo_container #scrollto table.res tbody tr.price_info td.price:not(:has(.price_button))::after {
    content: "Stop sale";

    display: inline-flex;
    align-items: center;

    margin-left: 8px;
    padding: 3px 8px;

    background: #ffe6e6;
    border: 1px solid rgba(185,45,45,.22);
    border-radius: 999px;

    color: #b92d2d;
    font-size: 11px;
    font-weight: 600;
    font-style: normal;
    white-space: nowrap;
}

/* =====================================================
   05. Popups & Modals
   ===================================================== */

/* =====================================================
   09. Premium Packet Content
   ===================================================== */

#basicModalContent fieldset.panel.resultset {
    background: #ffffff !important;
    border: none !important;
    border-radius: 0 0 22px 22px !important;
    box-shadow: none !important;
    padding: 14px 18px 16px !important;
}

#basicModalContent .legend-tag {
    color: #416c46 !important;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
    padding: 0;
}

#basicModalContent .legend-tag::before {
    content: "\f1b3";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 16px;
    color: #416c46;
    margin-right: 9px;
}

#basicModalContent table.std.panel {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
    margin: 0 !important;
}

#basicModalContent table.std.panel td {
    padding: 8px 10px !important;
    border-bottom: 1px solid rgba(65,108,70,.07);
    vertical-align: middle;
}

#basicModalContent table.std.panel tr:nth-child(odd) td {
    background: #ffffff !important;
}

#basicModalContent table.std.panel tr:nth-child(even) td {
    background: #f7fbf8 !important;
}

#basicModalContent table.std.panel tr:hover td {
    background: #eaf7ec !important;
}

#basicModalContent table.std.panel tr:last-child td {
    border-bottom: none !important;
}

#basicModalContent:not(:has(#e_doc)) td.caption {
    width: 170px;
    color: #5f7464;
    font-weight: 500;
    white-space: nowrap;
}

#basicModalContent:not(:has(#e_doc)) td:last-child {
    color: #243526;
    font-weight: 700;
}

#basicModalContent:not(:has(#e_doc)) td img {
    opacity: .55;
    margin-right: 8px;
    vertical-align: middle;
}
/* =====================================================
   09.1 Modal Container
   ===================================================== */

#modalContainer {
    border: none !important;
    border-radius: 22px !important;
    background: transparent !important;
    box-shadow: 0 22px 60px rgba(31,47,34,.24) !important;
    overflow: visible !important;
}

#modalContainer .modalTitle {
    border: none !important;
    background: #bbe4c1 !important;
    height: 18px !important;
    border-radius: 22px 22px 0 0 !important;
}

#modalContainer #basicModalContent {
    padding: 0 !important;
    background: #ffffff !important;
    border-radius: 0 0 22px 22px !important;
    overflow: visible !important;
}

/* Premium Close Button */

#modalContainer a.modalCloseImg,
#logonContainer a.modalCloseImg {
    position: absolute !important;
    top: -10px !important;
    right: -10px !important;
    width: 24px !important;
    height: 24px !important;
    background: #416c46 !important;
    border: 2px solid #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 12px rgba(31,47,34,.25) !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    z-index: 9999 !important;
}

#modalContainer a.modalCloseImg::before,
#logonContainer a.modalCloseImg::before {
    content: "×";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-indent: 0 !important;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

#modalContainer a.modalCloseImg:hover,
#logonContainer a.modalCloseImg:hover {
    background: #58885d !important;
}

/* =====================================================
   10. Mobile Header Space Compact
   ===================================================== */

@media (max-width: 767px) {

    #header {
        margin-bottom: 12px !important;
    }

    .samo_container {
        margin-top: 6px !important;
    }

    .samo_container .std.container {
        padding-top: 6px !important;
    }

    .samo_container .searchmodes {
        margin-bottom: 8px !important;
    }

}

/* =====================================================
   09.3 Premium Statistics Popup
   ===================================================== */

#modalContainer #basicModalContent #search_stat {
    background: #ffffff !important;
    padding: 12px !important;
    border-radius: 0 0 22px 22px !important;
}

#modalContainer #basicModalContent #search_stat table.res {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

#modalContainer #basicModalContent #search_stat table.res thead th {
    background: #416c46 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    padding: 8px 10px !important;
    border: none !important;
}

#modalContainer #basicModalContent #search_stat table.res td {
    background: #ffffff !important;
    color: #1f2f22 !important;
    padding: 8px 10px !important;
    border-bottom: 1px solid rgba(65,108,70,.08) !important;
}

#modalContainer #basicModalContent #search_stat fieldset.panel {
    background: #bbe4c1 !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 14px !important;
    margin: 10px 0 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

#modalContainer #basicModalContent #search_stat .legend-tag {
    color: #416c46 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    margin-bottom: 10px !important;
}

#modalContainer #basicModalContent #search_stat .legend-tag::before {
    content: "\f072" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    color: #416c46 !important;
    margin-right: 9px !important;
}

#modalContainer #basicModalContent #search_stat h3.frplacement {
    color: #1f2f22 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
}

#modalContainer #basicModalContent #search_stat #freights table.res thead th {
    background: #416c46 !important;
    color: #ffffff !important;
}

#modalContainer #basicModalContent #search_stat #freights .transport .name {
    display: inline-block !important;
    min-width: 110px !important;
    padding: 7px 12px !important;
    border-radius: 8px !important;
    background: #bbe4c1 !important;
    color: #1f2f22 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

/* =====================================================
   09.4 Small Info Popup Polish
   ===================================================== */

#modalContainer:not(:has(#search_stat)):not(:has(fieldset.panel.resultset)):not(:has(.pay_claim)):not(:has(#e_doc)) {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    overflow: visible !important;
}

#modalContainer:not(:has(#search_stat)):not(:has(fieldset.panel.resultset)):not(:has(.pay_claim)):not(:has(#e_doc)) .modalTitle {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    height: 0 !important;
    min-height: 0 !important;

    padding: 0 !important;
    overflow: visible !important;

    color: transparent !important;
    font-size: 0 !important;
}

#modalContainer:not(:has(#search_stat)):not(:has(fieldset.panel.resultset)):not(:has(.pay_claim)):not(:has(#e_doc)) #basicModalContent {
    display: flex !important;
    align-items: center !important;

    min-height: 38px !important;

    padding: 0 38px 0 16px !important;

    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.18) !important;
    border-radius: 18px !important;

    box-shadow: 0 10px 26px rgba(31,47,34,.18) !important;

    color: #416c46 !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;

    overflow: hidden !important;
    box-sizing: border-box !important;
}

#modalContainer:not(:has(#search_stat)):not(:has(fieldset.panel.resultset)):not(:has(.pay_claim)):not(:has(#e_doc)) #basicModalContent > * {
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Keep close button visible for small popups */

#modalContainer:not(:has(#search_stat)):not(:has(fieldset.panel.resultset)):not(:has(.pay_claim)):not(:has(#e_doc)) a.modalCloseImg {
    top: -10px !important;
    right: -10px !important;
    z-index: 9999 !important;
}

/* =====================================================
   09.5 Premium Google Price Chart
   Price bars color polish
   ===================================================== */

#googlePriceChart svg rect[fill="#cedfec"] {
    fill: #bbe4c1 !important;
    stroke: rgba(65,108,70,.28) !important;
}

#googlePriceChart svg rect[fill="#00008b"] {
    fill: #416c46 !important;
    stroke: #416c46 !important;
}

/* =====================================================
   06. Header & Navigation
   ===================================================== */

/* =====================================================
   10.1 Resort Life Premium Header Menu
   ===================================================== */

#header .bottom-menu {
    background: #416c46 !important;
    border: none !important;
    box-shadow: 0 8px 22px rgba(31,47,34,.12) !important;
}

#header .bottom-menu .menu,
#header .bottom-menu .nav,
#header .bottom-menu .nav-center {
    background: transparent !important;
}

#header .bottom-menu .nav-center > li > a {
    color: #ffffff !important;
    font-weight: 800 !important;
}

#header .bottom-menu .nav-center > li > a:hover,
#header .bottom-menu .nav-center > li.selected > a {
    color: #ffffff !important;
    background: rgba(255,255,255,.12) !important;
}

#header .bottom-menu .nav-center > li > ul {
    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.16) !important;
    box-shadow: 0 12px 28px rgba(31,47,34,.16) !important;
}

#header .bottom-menu .nav-center > li > ul a {
    color: #416c46 !important;
    font-weight: 700 !important;
}

#header .bottom-menu .nav-center > li > ul a:hover {
    background: #eef8ef !important;
    color: #416c46 !important;
}

/* =====================================================
   10.2 Resort Life Horizontal Dropdown Menus
   ===================================================== */

#header .bottom-menu .nav-center > li {
    position: relative !important;
}

#header .bottom-menu .nav-center > li > ul {
    display: none !important;

    position: absolute !important;
    top: 100% !important;
    right: auto !important;
    left: 0 !important;
    transform: none !important;

    width: max-content !important;
    max-width: 980px !important;

    padding: 10px 12px !important;
    margin: 0 !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    z-index: 9999 !important;
    white-space: nowrap !important;
}

#header .bottom-menu .nav-center > li:hover > ul {

    display: flex !important;

    align-items: center !important;

    justify-content: flex-start !important;

    gap: 8px !important;

}

#header .bottom-menu .nav-center > li > ul > li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

#header .bottom-menu .nav-center > li > ul > li > a {
    display: block !important;

    background: #bbe4c1 !important;
    color: #45714a !important;

    border: 1px solid rgba(69,113,74,.22) !important;
    border-radius: 9px !important;

    padding: 9px 14px !important;

    font-weight: 800 !important;
    white-space: nowrap !important;

    box-shadow: 0 5px 14px rgba(31,47,34,.12) !important;
}

#header .bottom-menu .nav-center > li > ul > li > a:hover,
#header .bottom-menu .nav-center > li > ul > li.selected > a {
    background: #d7f0db !important;
    color: #416c46 !important;
    border-color: rgba(69,113,74,.34) !important;
}
/* =====================================================
   10.4 Resort Life Agent Profile
   Stable premium account menu
   ===================================================== */

/* Profile capsule */

#header .bottom-menu .nav-center > li.profile > a,
#header .bottom-menu .nav-center > li.profile:hover > a,
#header .bottom-menu .nav-center > li.profile > a:hover,
#header .bottom-menu .nav-center > li.profile > a:focus,
#header .bottom-menu .nav-center > li.profile > a:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 220px !important;
    max-width: 360px !important;

    background: linear-gradient(180deg, #5b8b60 0%, #416c46 100%) !important;
    color: #ffffff !important;

    border: 1px solid rgba(255,255,255,.34) !important;
    border-radius: 999px !important;

    padding: 8px 16px !important;

    font-weight: 600 !important;
    text-decoration: none !important;
    text-shadow: none !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;

    outline: none !important;
    outline-offset: 0 !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 5px 14px rgba(31,47,34,.18) !important;
}

/* Prevent inherited menu hover from whitening profile */

#header .bottom-menu .nav-center > li.profile > a *,
#header .bottom-menu .nav-center > li.profile:hover > a *,
#header .bottom-menu .nav-center > li.profile > a:hover *,
#header .bottom-menu .nav-center > li.profile > a:focus *,
#header .bottom-menu .nav-center > li.profile > a:active * {
    color: #ffffff !important;
}

/* Profile dropdown card — no mouse gap */

#header .bottom-menu .nav-center > li.profile > ul {
    top: 100% !important;
    margin-top: 0 !important;

    background: #ffffff !important;

    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 0 0 16px 16px !important;

    padding: 12px 14px !important;

    box-shadow:
        0 16px 34px rgba(31,47,34,.18),
        inset 0 1px 0 rgba(255,255,255,.80) !important;

    gap: 10px !important;
}

/* Dropdown visible layout */

#header .bottom-menu .nav-center > li.profile > ul {

    left: 0 !important;
    right: auto !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;

    box-sizing: border-box !important;

    display: none;

    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;

}

#header .bottom-menu .nav-center > li.profile #logout{

    width:100% !important;

}

#header .bottom-menu .nav-center > li.profile .messages-header{

    display:flex !important;

    align-items:center;

    min-height:34px;

}

/* Dropdown text */

#header .bottom-menu .nav-center > li.profile > ul > li > div,
#header .bottom-menu .nav-center > li.profile > ul > li > span,
#header .bottom-menu .nav-center > li.profile > ul > li > a {
    color: #416c46 !important;
    font-weight: 400 !important;
}

/* Sign out button */

#header .bottom-menu .nav-center > li.profile #logout {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 34px !important;

    background: #bbe4c1 !important;
    color: #416c46 !important;

    border: 1px solid rgba(65,108,70,.22) !important;
    border-radius: 11px !important;

    padding: 8px 15px !important;

    font-weight: 500 !important;
    text-decoration: none !important;

    box-shadow: 0 5px 14px rgba(31,47,34,.12) !important;
}

#header .bottom-menu .nav-center > li.profile #logout:hover {
    background: #d7f0db !important;
    color: #416c46 !important;
}
/* =====================================================
   10.3 Resort Life Dropdown Alignment
   Must be placed AFTER 10.2
   ===================================================== */

#header .bottom-menu .nav-center > li > ul {
    left: 0 !important;
    right: auto !important;
    justify-content: flex-start !important;
}

#header .bottom-menu .nav-center > li:hover > ul {
    justify-content: flex-start !important;
}

/* Right-side menus open to the left */

#header .bottom-menu .nav-center > li:nth-last-child(-n+2) > ul {
    left: auto !important;
    right: 0 !important;
    justify-content: flex-end !important;
}

/* =====================================================
   07. Login & Authorization
   ===================================================== */

/* =====================================================
   11. Resort Life Premium Universal Login Page
   Applies to any SAMO page with #loginbox

   Goals:
   - Same login design on /search_tour, /search_hotel and other pages
   - No template changes
   - No JS changes
   - Safe decorative zones
   - Mobile decorations disabled
   ===================================================== */

body:has(#loginbox) {
    background: #ffffff !important;
}

/* body:has(#loginbox) .button-wrapper.person {
    display: none !important;
}

/* Universal login scene */

body:has(#loginbox) .samo_container {
    position: relative !important;
    min-height: calc(100vh - 150px);
    margin-top: 0 !important;
    padding-top: 0 !important;
    overflow: visible !important;
}

/* =====================================================
   Login Page Coral Bands — Experimental Footer Version
   ===================================================== */

/* Верхні корали на всю ширину viewport */

body:has(#loginbox) .samo_container::before {
    content: "";

    position: absolute;
    left: 50%;
    top: 46px;

    width: 100vw;
    max-width: none;
    height: 96px;

    background:
        url("/public/pict/RLT_corals/cor-3_TM.png")
        center top / 860px auto repeat-x;

    opacity: .045;

    transform:
        translateX(-50%)
        rotate(180deg);

    transform-origin: center top;

    pointer-events: none;
    z-index: 0;
}


/* Нижні корали — над футером */

body:has(#loginbox) .samo_container::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 100vw;
    max-width: none;
    height: 150px;
    background:
        url("/public/pict/RLT_corals/cor-3_TM_flip.png?v=2")
        center top / 860px auto repeat-x;
    opacity: .055;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 0;
}

/* Login content area */

body:has(#loginbox) .samo_container > .container {
    position: relative !important;
    min-height: 720px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 110px;
    padding-bottom: 170px;
    overflow: visible !important;
}

/* Soft lagoon glow */

body:has(#loginbox) .samo_container > .container::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -70px;
    transform: translateX(-50%);
    width: 1500px;
    height: 1180px;
    z-index: 0;
    background:
        radial-gradient(circle at 50% 38%,
            rgba(187,228,193,.22) 0%,
            rgba(187,228,193,.14) 23%,
            rgba(65,108,70,.050) 43%,
            rgba(65,108,70,.016) 64%,
            transparent 84%);
    filter: blur(34px);
    pointer-events: none;
}

/* Safe decorative lagoon zone:
   Icons are intentionally kept away from:
   - top coral
   - bottom coral
   - login card center
*/

/* Safe decorative lagoon zone:
   - fills left, right and upper empty areas
   - keeps login card area clean
   - keeps icons away from coral bands
   - static, lightweight, SAMO-safe
*/

body:has(#loginbox) .samo_container > .container::after{

    content:"";

    position:absolute;
    z-index:1;

    left:0;
    right:0;

    top:136px;          /* 40px нижче верхніх коралів */
    bottom:210px;       /* 40px вище нижніх коралів */

    pointer-events:none;
    opacity:.085;

    background-repeat:no-repeat;

    background-image:
        url("/public/pict/RLT_corals/1_sun.png"),
        url("/public/pict/RLT_corals/2_turtle.png"),
        url("/public/pict/RLT_corals/3_fish.png"),
        url("/public/pict/RLT_corals/4_star.png"),
        url("/public/pict/RLT_corals/5_pop.png"),
        url("/public/pict/RLT_corals/6_bot.png"),
        url("/public/pict/RLT_corals/7_PALM-01.png"),

        url("/public/pict/RLT_corals/1_sun.png"),
        url("/public/pict/RLT_corals/2_turtle.png"),
        url("/public/pict/RLT_corals/3_fish.png"),
        url("/public/pict/RLT_corals/4_star.png"),
        url("/public/pict/RLT_corals/5_pop.png"),
        url("/public/pict/RLT_corals/6_bot.png"),
        url("/public/pict/RLT_corals/7_PALM-01.png"),

        url("/public/pict/RLT_corals/1_sun.png"),
        url("/public/pict/RLT_corals/2_turtle.png"),
        url("/public/pict/RLT_corals/3_fish.png"),
        url("/public/pict/RLT_corals/4_star.png"),
        url("/public/pict/RLT_corals/5_pop.png"),
        url("/public/pict/RLT_corals/6_bot.png"),

        url("/public/pict/RLT_corals/1_sun.png"),
        url("/public/pict/RLT_corals/3_fish.png"),
        url("/public/pict/RLT_corals/4_star.png"),
        url("/public/pict/RLT_corals/5_pop.png"),
        url("/public/pict/RLT_corals/6_bot.png"),
        url("/public/pict/RLT_corals/7_PALM-01.png");

    background-size:
        48px auto,
        76px auto,
        34px auto,
        28px auto,
        38px auto,
        44px auto,
        128px auto,

        44px auto,
        68px auto,
        32px auto,
        26px auto,
        34px auto,
        40px auto,
        116px auto,

        34px auto,
        54px auto,
        28px auto,
        22px auto,
        30px auto,
        34px auto,

        28px auto,
        24px auto,
        20px auto,
        26px auto,
        30px auto,
        96px auto;

    background-position:
7% 16%,
15% 44%,
25% 13%,
33% 10%,
12% 56%,
31% 50%,
4% 64%,

92% 17%,
85% 50%,
74% 27%,
66% 10%,
93% 42%,
70% 56%,
97% 64%,

45% 8%,
55% 10%,
38% 22%,
62% 24%,
41% 52%,
59% 52%,

3% 36%,
21% 48%,
79% 48%,
97% 35%,
51% 54%,
50% 62%;
}

/* Login card wrapper */

body:has(#loginbox) .logon-wrapper {
    position: relative !important;
    z-index: 2 !important;
    width: 440px;
    overflow: visible !important;
}

body:has(#loginbox) .logon-wrapper > .header {
    display: block !important;
    position: relative !important;
    z-index: 3 !important;
    margin-bottom: 0 !important;
}

body:has(#loginbox) .logon-wrapper > .header .legend.panel.agency{

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;

    height:42px !important;
    min-height:42px !important;

    margin:0 !important;

    background:linear-gradient(
        180deg,
        #527d56 0%,
        #416c46 100%
    ) !important;

    color:#ffffff !important;

    border:none !important;
    border-radius:18px 18px 0 0 !important;

    font-size:18px !important;
    font-weight:800 !important;

    letter-spacing:.2px !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 6px 14px rgba(31,47,34,.12) !important;
}

body:has(#loginbox) .logon-wrapper > .header .legend.panel.agency::before {
    content: "\f0b1";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 12px;
    font-size: 18px;
    pointer-events: none;
}

/* Premium desktop login mode selector */

@media (min-width: 768px) {

    body:has(#loginbox) .samo_container > .container .logon-wrapper > .header {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        padding: 0 !important;
        margin: 0 0 10px !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body:has(#loginbox) .samo_container > .container .logon-wrapper > .header > .legend.panel {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        order: initial !important;
        float: none !important;
        clear: none !important;
        flex: 0 0 auto !important;
        flex-grow: 0 !important;
        flex-basis: auto !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 42px !important;
        min-height: 42px !important;

        margin: 0 !important;
        padding: 11px 16px !important;

        background: var(--main-panel-bgcolor) !important;
        color: #416c46 !important;

        border: 1px solid transparent !important;
        border-radius: 12px !important;

        box-sizing: border-box !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        box-shadow: none !important;
    }

    body:has(#loginbox) .samo_container > .container .logon-wrapper > .header > .legend.panel::before,
    body:has(#loginbox) .samo_container > .container .logon-wrapper > .header > .button-wrapper > .button::before {
        content: none !important;
        display: none !important;
    }

    body:has(#loginbox) .samo_container > .container .logon-wrapper > .header > .button-wrapper {
        display: inline-flex !important;
        align-items: center !important;

        order: initial !important;
        float: none !important;
        clear: none !important;
        flex: 0 0 auto !important;
        flex-grow: 0 !important;
        flex-basis: auto !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        align-self: center !important;
    }

    body:has(#loginbox) .samo_container > .container .logon-wrapper > .header > .button-wrapper > .button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        height: 42px !important;
        min-height: 42px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        order: initial !important;
        float: none !important;
        clear: none !important;
        flex: 0 0 auto !important;
        flex-grow: 0 !important;
        flex-basis: auto !important;

        margin: 0 !important;
        padding: 11px 16px !important;

        background: #ffffff !important;
        color: #416c46 !important;

        border: 1px solid rgba(65,108,70,.16) !important;
        border-radius: 12px !important;

        box-sizing: border-box !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
        text-shadow: none !important;
        box-shadow: none !important;
    }

    body:has(#loginbox) .samo_container > .container .logon-wrapper > .header > .button-wrapper > .button:hover {
        background: #f7fbf8 !important;
        border-color: rgba(65,108,70,.28) !important;
        color: #416c46 !important;
        box-shadow: none !important;
    }
}

/* Main login panel */

body:has(#loginbox) .samo_container #loginbox {
    position: relative !important;
    z-index: 2 !important;
    max-width: none !important;
    width: 100% !important;
    background: rgba(187,228,193,.96) !important;
    border: 1px solid rgba(255,255,255,.50) !important;
    border-radius: 0 0 24px 24px !important;
    padding: 34px 36px 32px !important;
    overflow: visible !important;
    box-shadow:
        0 20px 55px rgba(31,47,34,.14),
        0 0 90px rgba(187,228,193,.30),
        inset 0 1px 0 rgba(255,255,255,.55) !important;
}

@media (min-width: 768px) {
    body:has(#loginbox) .samo_container #loginbox {
        border-radius: 24px !important;
    }
}

/* Login content */

body:has(#loginbox) #loginbox > .choose,
body:has(#loginbox) #loginForm .row,
body:has(#loginbox) #loginForm .fixer {
    position: relative !important;
    z-index: 3 !important;
}

body:has(#loginbox) #loginbox > .choose {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 24px !important;
}

body:has(#loginbox) #loginbox .legend {
    color: #416c46 !important;
    font-size: 26px !important;
    font-weight: 900 !important;
}

body:has(#loginbox) #loginbox .choose a {
    color: #416c46 !important;
    font-weight: 800 !important;
    line-height: 1.15;
    text-align: right;
}

body:has(#loginbox) #loginbox .row {
    margin-bottom: 16px !important;
}

body:has(#loginbox) #loginbox label {
    display: block;
    margin-bottom: 8px;
    color: #1f2f22 !important;
    font-weight: 700 !important;
}

body:has(#loginbox) #loginbox input[type="text"],
body:has(#loginbox) #loginbox input[type="password"] {
    width: 100% !important;
    height: 46px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.30) !important;
    border-radius: 13px !important;
    padding: 0 42px 0 13px !important;
    box-shadow: 0 2px 6px rgba(31,47,34,.08) !important;
}

body:has(#loginbox) #loginbox input:focus {
    border-color: #416c46 !important;
    box-shadow: 0 0 0 3px rgba(65,108,70,.18) !important;
    outline: none !important;
}

body:has(#loginbox) #loginbox .input_icon {
    color: #416c46 !important;
    opacity: .8;
}

body:has(#loginbox) #loginbox .row:last-of-type {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 0 !important;
}

body:has(#loginbox) #loginbox .forgot {
    color: #416c46 !important;
    font-weight: 800 !important;
}

body:has(#loginbox) #loginbox button.button {
    min-width: 150px;
    height: 46px !important;
    background: #416c46 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 13px !important;
    font-weight: 900 !important;
    box-shadow: 0 10px 22px rgba(31,47,34,.18) !important;
}

body:has(#loginbox) #loginbox button.button:hover {
    background: #58885d !important;
}

/* Mobile-safe login scene */

@media (hover: none) and (pointer: coarse),
       (max-device-width: 767px),
       (max-width: 767px) {

    body:has(#loginbox) .samo_container {
        min-height: auto !important;
        overflow: visible !important;
    }

    body:has(#loginbox) .samo_container::before,
    body:has(#loginbox) .samo_container::after,
    body:has(#loginbox) .samo_container > .container::before,
    body:has(#loginbox) .samo_container > .container::after,
    body:has(#loginbox) .logon-wrapper::before,
    body:has(#loginbox) .logon-wrapper::after,
    body:has(#loginbox) #loginbox::before,
    body:has(#loginbox) #loginbox::after,
    body:has(#loginbox) .logon-wrapper > .header::before,
    body:has(#loginbox) .logon-wrapper > .header::after,
    body:has(#loginbox) #loginForm::before {
        display: none !important;
        content: none !important;
        background: none !important;
    }

    body:has(#loginbox) .samo_container > .container {
        min-height: auto !important;
        display: block !important;
        padding-top: 28px !important;
        padding-bottom: 70px !important;
        overflow: visible !important;
    }

    body:has(#loginbox) .logon-wrapper {
        width: calc(100% - 34px) !important;
        max-width: 360px !important;
        margin: 0 auto !important;
    }

    body:has(#loginbox) .logon-wrapper > .header .legend.panel.agency {
        min-height: 46px;
        font-size: 16px !important;
        border-radius: 20px 20px 0 0 !important;
    }

    body:has(#loginbox) .samo_container #loginbox {
        padding: 24px 20px 22px !important;
        border-radius: 0 0 22px 22px !important;
    }

    body:has(#loginbox) #loginbox .legend {
        font-size: 22px !important;
    }

    body:has(#loginbox) #loginbox .choose a {
        font-size: 12px !important;
    }

    body:has(#loginbox) #loginbox input[type="text"],
    body:has(#loginbox) #loginbox input[type="password"] {
        height: 42px !important;
    }

    body:has(#loginbox) #loginbox .row:last-of-type {
        gap: 12px;
    }

    body:has(#loginbox) #loginbox button.button {
        min-width: 128px;
        height: 42px !important;
    }
}
/* =====================================================
   99. Final Overrides & Legacy Fixes
   Preserve winning cascade order below this point.
   ===================================================== */

/* =====================================================
   99. Search Tour Mobile Touch Fix
   ===================================================== */

@media (max-width: 767px) {

    #search_tour,
    #search_tour *,
    #scrollto,
    #scrollto *,
    .simplebar-wrapper,
    .simplebar-mask,
    .simplebar-offset,
    .simplebar-content-wrapper,
    .simplebar-content {
        touch-action: pan-y !important;
    }

    #search_tour,
    #scrollto {
        overflow: visible !important;
        height: auto !important;
        min-height: auto !important;
    }

    .simplebar-mask,
    .simplebar-offset,
    .simplebar-content-wrapper {
        overflow: visible !important;
        -webkit-overflow-scrolling: touch;
    }
}

/* =====================================================
   Hide Commission Info Button
   Resort Life doesn't use commissions
   ===================================================== */

span.percent.helpalt.icon-info[data-popup="show commissions"] {
    display: none !important;
}

/* =====================================================
   Hide Tourists Menu
   Resort Life doesn't use tourist personal claims
   ===================================================== */

#header .bottom-menu .nav-center > li:not(.menu-tourists):has(.menu-cl_refer_person) {
    display: none !important;
}

/* =====================================================
   02.2 Resort Life Search Button
   ===================================================== */

.samo_container button.load {

    min-width: 110px !important;
    min-height: 38px !important;

    padding: 8px 18px !important;

    background: linear-gradient(180deg,#4d7b52,#416c46) !important;

    color: #ffffff !important;

    border: none !important;

    border-radius: 10px !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    text-shadow: none !important;

    box-shadow:
        0 6px 14px rgba(31,47,34,.18) !important;

    transition:
        background .18s ease,
        transform .12s ease,
        box-shadow .18s ease;

    cursor: pointer !important;
}

.samo_container button.load:hover {

    background: linear-gradient(180deg,#5b8b60,#4d7b52) !important;

    color:#ffffff !important;

    box-shadow:
        0 8px 18px rgba(31,47,34,.22) !important;

    transform: translateY(-1px);

}

.samo_container button.load:active {

    background:#416c46 !important;

    transform: translateY(0);

    box-shadow:
        0 3px 8px rgba(31,47,34,.18) !important;

}

/* =====================================================
   10.4.9 Agent Profile Final Dropdown Fix
   Must be the LAST header/profile block
   ===================================================== */

/* Hide technical label */

#header .bottom-menu .nav-center > li.profile .partner-type,
#header .bottom-menu .nav-center > li.profile .login-name,
#header .bottom-menu .nav-center > li.profile > ul > li:first-child {
    display:none !important;
}

/* ===========================
   Messages
   =========================== */

#header .bottom-menu .nav-center > li.profile .messages-header{

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:100% !important;
    height:38px !important;

    padding:0 14px !important;

    border-radius:10px !important;

    color:#416c46 !important;
    font-weight:500 !important;

    transition:.18s;
}

#header .bottom-menu .nav-center > li.profile .messages-header::before{

    content:"✉";

    font-size:15px;

    margin-right:10px;

    opacity:.75;

}

#header .bottom-menu .nav-center > li.profile .messages-header:hover{

    background:#eef8ef !important;

}

/* ===========================
   Sign out
   =========================== */

#header .bottom-menu .nav-center > li.profile #logout{

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:100% !important;
    height:38px !important;

    box-sizing:border-box;

    padding:0 14px !important;

    border-radius:10px !important;

    background:#bbe4c1 !important;

    border:1px solid rgba(65,108,70,.20) !important;

    color:#416c46 !important;

    font-weight:500 !important;

    text-decoration:none !important;

    transition:.18s;
}

#header .bottom-menu .nav-center > li.profile #logout::before{

    content:"↩";

    font-size:17px;

    margin-right:10px;

    opacity:.75;

}

#header .bottom-menu .nav-center > li.profile #logout:hover{

    background:#d7f0db !important;

}

/* =====================================================
   10.4.9 Agent Profile Final Dropdown Fix
   Must be the LAST header/profile block
   ===================================================== */

#header .bottom-menu .nav-center > li.profile {
    position: relative !important;
    width: auto !important;
}

/* Capsule stays flexible */

#header .bottom-menu .nav-center > li.profile > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 220px !important;
    width: auto !important;

    white-space: nowrap !important;
}

/* Dropdown strictly under profile capsule */

#header .bottom-menu .nav-center > li.profile > ul {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;

    top: 100% !important;
    margin-top: 0 !important;

    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;

    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;

    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 0 0 16px 16px !important;

    padding: 12px 14px !important;
    gap: 8px !important;

    box-shadow: 0 16px 34px rgba(31,47,34,.18) !important;
}

/* Keep dropdown open */

#header .bottom-menu .nav-center > li.profile:hover > ul {
    display: flex !important;
}

/* Clean rows */

#header .bottom-menu .nav-center > li.profile > ul > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Messages row */

#header .bottom-menu .nav-center > li.profile .messages-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 34px !important;

    color: #416c46 !important;
    font-weight: 400 !important;
}

/* Sign out button */

#header .bottom-menu .nav-center > li.profile #logout {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* =====================================================
   10.4.11 Agent Profile Menu Items Final Polish
   Must be LAST
   ===================================================== */

#header .bottom-menu .nav-center > li.profile > ul {
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    padding: 12px !important;
    gap: 8px !important;
}

/* Hide empty/technical row */
#header .bottom-menu .nav-center > li.profile > ul > li:first-child {
    display: none !important;
}

/* Make every row full width */
#header .bottom-menu .nav-center > li.profile > ul > li {
    width: 100% !important;
    display: block !important;
}

/* Messages as real button */
#header .bottom-menu .nav-center > li.profile .messages-header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    height: 38px !important;
    box-sizing: border-box !important;

    padding: 0 14px !important;

    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 10px !important;

    color: #416c46 !important;
    font-size: 14px !important;
    font-weight: 500 !important;

    cursor: pointer !important;
}

#header .bottom-menu .nav-center > li.profile .messages-header::before {
    content: "✉";
    display: inline-block;
    width: 18px;
    margin-right: 10px;
    color: #416c46;
    opacity: .75;
    text-align: center;
}

#header .bottom-menu .nav-center > li.profile .messages-header:hover {
    background: #eef8ef !important;
}

/* Sign out same style */
#header .bottom-menu .nav-center > li.profile #logout {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    height: 38px !important;
    box-sizing: border-box !important;

    padding: 0 14px !important;

    background: #bbe4c1 !important;
    border: 1px solid rgba(65,108,70,.20) !important;
    border-radius: 10px !important;

    color: #416c46 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

#header .bottom-menu .nav-center > li.profile #logout::before {
    content: "↪";
    display: inline-block;
    width: 18px;
    margin-right: 10px;
    color: #416c46;
    opacity: .75;
    text-align: center;
}

#header .bottom-menu .nav-center > li.profile #logout:hover {
    background: #d7f0db !important;
}
/* =====================================================
   10.5 Resort Life Share Result Button
   Compact Action Button
   ===================================================== */

#header .bottom-menu .nav-center > li:has(> a.link[title="Link to this page"]){

    flex:0 0 auto !important;
    width:auto !important;
    min-width:116px !important;
    overflow:visible !important;

}

#header .bottom-menu a.link[title="Link to this page"]{

    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    gap:7px !important;

    width:116px !important;
    min-width:116px !important;
    height:32px !important;

    padding:0 12px !important;
    margin:4px 10px 0 10px !important;   /* ← опустили на 4 px */

    box-sizing:border-box !important;

    background:#bbe4c1 !important;

    border:1px solid rgba(65,108,70,.18) !important;
    border-radius:10px !important;

    color:transparent !important;
    font-size:0 !important;
    text-decoration:none !important;

    white-space:nowrap !important;
    overflow:hidden !important;

    box-shadow:
        0 4px 10px rgba(31,47,34,.12) !important;

}

/* Icon */

#header .bottom-menu a.link[title="Link to this page"]::before{

    content:"\f1d8";

    font-family:"Font Awesome 5 Free";
    font-weight:900;

    font-size:13px !important;
    line-height:1;

    color:#416c46;

    flex:0 0 auto;

}

/* Text */

#header .bottom-menu a.link[title="Link to this page"]::after{

    content:"Share";

    font-size:11px !important;
    font-weight:600 !important;
    line-height:1;

    letter-spacing:.2px;

    color:#416c46;

    flex:0 0 auto;

}

/* Hover */

#header .bottom-menu a.link[title="Link to this page"]:hover{

    background:#d7f0db !important;

    transform:translateY(-1px);

    box-shadow:
        0 6px 14px rgba(31,47,34,.18) !important;

}/* =====================================================
   09.6 Premium Copy Link Popup
   ===================================================== */

#basicModalContent #copyto {
    width: 100% !important;
    min-width: 360px !important;
    height: 96px !important;

    box-sizing: border-box !important;

    margin-top: 12px !important;
    padding: 12px 14px !important;

    background: #f7fbf8 !important;
    border: 1px solid rgba(65,108,70,.22) !important;
    border-radius: 12px !important;

    color: #355b3a !important;
    font-size: 13px !important;
    line-height: 1.35 !important;

    resize: none !important;
    outline: none !important;

    box-shadow: inset 0 1px 3px rgba(31,47,34,.08) !important;
}

#basicModalContent .copyButton {
    width: 100% !important;
    height: 40px !important;

    margin: 0 !important;

    background: #416c46 !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 12px !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    box-shadow: 0 6px 14px rgba(31,47,34,.18) !important;
    cursor: pointer !important;
}

#basicModalContent .copyButton:hover {
    background: #58885d !important;
}

#basicModalContent:has(#copyto) {
    padding: 18px !important;
    background: #ffffff !important;
    border-radius: 0 0 22px 22px !important;
}

/* =====================================================
   09.7 Preloader Safety Reset
   ===================================================== */

#samo-circle-preloader[style*="display: none"] {
    display: none !important;
    pointer-events: none !important;
}

#samo-circle-preloader[style*="display: block"] {
    pointer-events: auto !important;
}

/* =====================================================
   09.8 Additional Services Polish
   Packet modal
   ===================================================== */

#basicModalContent #ADDITIONAL_SERVICES {
    margin-top: 12px !important;
}

#basicModalContent #ADDITIONAL_SERVICES table.res {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;

    background: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;

    box-shadow: none !important;
}

#basicModalContent #ADDITIONAL_SERVICES table.res thead th {
    background: #416c46 !important;
    color: #ffffff !important;

    padding: 9px 12px !important;

    border: none !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: left !important;
}

#basicModalContent #ADDITIONAL_SERVICES table.res thead th::before {

    content:"\f0ec";

    font-family:"Font Awesome 5 Free";

    font-weight:900;

    margin-right:8px;

    color:#ffffff;

    font-size:14px;

}

#basicModalContent #ADDITIONAL_SERVICES table.res tbody td {
    padding: 9px 12px !important;

    background: #ffffff !important;
    border-bottom: 1px solid rgba(65,108,70,.10) !important;

    color: #355b3a !important;
    font-size: 13px !important;
    vertical-align: middle !important;
}

#basicModalContent #ADDITIONAL_SERVICES table.res tbody tr:nth-child(even) td {
    background: #f7fbf8 !important;
}

#basicModalContent #ADDITIONAL_SERVICES table.res tbody tr:hover td {
    background: #eef8ef !important;
}

#basicModalContent #ADDITIONAL_SERVICES table.res td.caption {
    width: 190px !important;
    color: #416c46 !important;
    white-space: nowrap !important;
}

#basicModalContent #ADDITIONAL_SERVICES table.res td.price {
    width: 130px !important;
    color: #1f2f22 !important;
    font-weight: 700 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

#basicModalContent #ADDITIONAL_SERVICES table.res td img {
    opacity: .55 !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}

#basicModalContent #ADDITIONAL_SERVICES table.res tr.eraser {
    display: none !important;
}

/* =====================================================
   11.2 Password Recovery Page Polish
   ===================================================== */

body:has(#recovery) .samo_container {
    min-height: calc(100vh - 150px);
}

.samo_container #recovery {
    width: 430px !important;
    margin: 64px auto 0 !important;
    padding: 42px 36px 30px !important;

    background: #bbe4c1 !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 22px !important;

    box-shadow:
        0 20px 50px rgba(31,47,34,.14),
        inset 0 1px 0 rgba(255,255,255,.55) !important;
}

.samo_container #recovery .note {
    display: none !important;
}

.samo_container #recovery .legend {
    display: block !important;
    margin-bottom: 26px !important;

    color: #416c46 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
}

.samo_container #recovery .label {
    margin-bottom: 9px !important;
    color: #355b3a !important;
    font-size: 14px !important;
}

.samo_container #recovery input#search {
    width: 100% !important;
    height: 44px !important;

    box-sizing: border-box !important;
    padding: 0 14px !important;

    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.30) !important;
    border-radius: 12px !important;

    color: #1f2f22 !important;
    font-size: 14px !important;

    box-shadow: 0 2px 6px rgba(31,47,34,.08) !important;
}

.samo_container #recovery input#search:focus {
    border-color: #416c46 !important;
    box-shadow: 0 0 0 3px rgba(65,108,70,.18) !important;
    outline: none !important;
}

.samo_container #recovery button.load {
    display: block !important;
    min-width: 130px !important;
    height: 42px !important;

    margin: 20px auto 0 !important;

    background: linear-gradient(180deg,#4d7b52,#416c46) !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 12px !important;

    font-weight: 700 !important;

    box-shadow: 0 8px 18px rgba(31,47,34,.18) !important;
}

.samo_container #recovery .registration-link {
    margin-top: 24px !important;
    text-align: center !important;
}

.samo_container #recovery .registration-link a {
    color: #416c46 !important;
    font-weight: 500 !important;
}

/* =====================================================
   11.3 Session Expired Login Modal Fix
   Applies only to popup authorization form
   ===================================================== */

#logonContainer {
    width: 440px !important;
    max-width: 92vw !important;

    background: transparent !important;
    border: none !important;
    border-radius: 24px !important;

    box-shadow: 0 28px 70px rgba(31,47,34,.28) !important;

    overflow: visible !important;
}

#logonContainer .modalTitle {
    height: 34px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #bbe4c1 !important;
    color: #416c46 !important;

    border: none !important;
    border-radius: 20px 20px 0 0 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

#logonContainer #basicModalContent {
    padding: 0 !important;

    background: #ffffff !important;
    border-radius: 0 0 24px 24px !important;

    overflow: hidden !important;
}

#logonContainer .logon-wrapper {
    width: 100% !important;
    margin: 0 !important;
}

#logonContainer .logon-wrapper > .header .legend.panel.agency {
    border-radius: 0 !important;
}

#logonContainer #loginbox {
    border-radius: 0 0 24px 24px !important;
}

#logonContainer .button-wrapper.person {
    display: none !important;
}

#logonContainer a.modalCloseImg {
    top: -12px !important;
    right: -12px !important;
    z-index: 99999 !important;
}

/* =====================================================
   Resort Life Hotel Category Icons - Final
   ===================================================== */

.samo_container .checklistbox.STARS .c-icon {
    background: none !important;
    position: relative !important;
    display: inline-block !important;
    padding-left: 22px !important;
}

.samo_container .checklistbox.STARS .c-icon input.star {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

.samo_container .checklistbox.STARS .c-icon::before {
    content: "";
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 15px !important;
    height: 15px !important;

    background: url("/public/pict/RLT_corals/hotel_star.png") center / contain no-repeat !important;
}

.samo_container .checklistbox.STARS .c-icon {
    padding-left: 40px !important;
}

.samo_container .checklistbox.STARS .hp.hp_9::before {
    background: url("/public/pict/RLT_corals/guest_star.png") center / contain no-repeat !important;
}

/* =====================================================
   10.6 Resort Life Logo Polish
   ===================================================== */

#header img.logo,
img.logo[src*="samo.png"] {
    transform: scale(.85) !important;
    transform-origin: center center !important;

    display: block !important;

    cursor: pointer !important;

    transition:
        transform .22s ease,
        filter .22s ease,
        opacity .22s ease !important;
}

#header img.logo:hover,
img.logo[src*="samo.png"]:hover {
    transform: scale(.88) translateY(-1px) !important;

    filter:
        drop-shadow(0 8px 14px rgba(31,47,34,.16))
        brightness(1.03) !important;

    opacity: .96 !important;
}

/* =====================================================
   08. Footer
   ===================================================== */

/* =====================================================
   12. Resort Life Footer
   ===================================================== */

.rl-footer {
    margin-top: 34px;
    padding: 26px 32px;
    background: #416c46;
    color: #ffffff;
}

.rl-footer-inner {
    max-width: 1320px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 220px 1fr 420px;
    gap: 28px;
    align-items: start;
}

.rl-footer-title {
    font-weight: 700;
    margin-bottom: 10px;
}

.rl-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rl-socials a,
.rl-footer-menu a,
.rl-address a {
    color: #ffffff !important;
    text-decoration: none !important;
}

.rl-socials a {
    padding: 6px 10px;
    background: rgba(255,255,255,.12);
    border-radius: 999px;
    font-size: 12px;
}

.rl-socials a:hover,
.rl-footer-menu a:hover {
    background: rgba(255,255,255,.18);
}

.rl-footer-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
}

.rl-footer-menu a {
    font-size: 13px;
    opacity: .92;
}

.rl-footer-addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.rl-address {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 13px;
    line-height: 1.35;
}

.rl-address strong {
    font-size: 14px;
    margin-bottom: 4px;
}

.rl-address span {
    opacity: .82;
}

/* Mobile */

@media (max-width: 900px) {
    .rl-footer-inner {
        grid-template-columns: 1fr;
    }

    .rl-footer-addresses {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
   12.1 Resort Life Footer Premium Polish
   ===================================================== */

.rl-footer {
    position: relative;
    margin-top: 42px !important;
    padding: 34px 34px 28px !important;

    background:
        radial-gradient(circle at 12% 20%, rgba(187,228,193,.18), transparent 28%),
        linear-gradient(180deg, #416c46 0%, #365d3b 100%) !important;

    border-top: 1px solid rgba(255,255,255,.18);
    border-radius: 18px 18px 0 0;

    box-shadow:
        0 -10px 30px rgba(31,47,34,.08),
        inset 0 1px 0 rgba(255,255,255,.12);
}

.rl-footer::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;

    width: 100%;
    height: 90px;

    background: url("/public/pict/RLT_corals/cor-3_TM.png") center top / 780px auto repeat-x;
    opacity: .055;

    pointer-events: none;
}

.rl-footer-inner {
    position: relative;
    z-index: 1;

    max-width: 1320px !important;
    gap: 34px !important;
}

.rl-footer-title,
.rl-address strong {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.rl-socials a,
.rl-footer-menu a {
    display: inline-flex;
    align-items: center;

    min-height: 26px;
    padding: 6px 11px !important;

    border-radius: 999px;
    background: rgba(255,255,255,.11);

    font-size: 12px !important;
    font-weight: 600 !important;

    transition: background .18s ease, transform .12s ease;
}

.rl-socials a:hover,
.rl-footer-menu a:hover {
    background: rgba(255,255,255,.20) !important;
    transform: translateY(-1px);
}

.rl-address {
    color: rgba(255,255,255,.88) !important;
}

.rl-address a {
    color: rgba(255,255,255,.92) !important;
    font-weight: 500;
}

.rl-address span {
    color: rgba(255,255,255,.72) !important;
}

.rl-footer-addresses {
    padding-left: 24px;
    border-left: 1px solid rgba(255,255,255,.16);
}

/* =====================================================
   12.2 Footer Social Icons
   ===================================================== */

.rl-socials a {

    font-size: 0 !important;

    width: 42px;
    height: 42px;

    padding: 0 !important;

    justify-content: center;
    align-items: center;

}

.rl-socials a::before {

    font-family: "Font Awesome 6 Brands";

    font-size: 18px;

    color: #ffffff;

}

/* Instagram */

.rl-socials a[href*="instagram"]::before {
    content: "\f16d";
}

/* YouTube */

.rl-socials a[href*="youtube"]::before {
    content: "\f167";
}

/* Telegram */

.rl-socials a[href*="t.me"]::before {
    content: "\f2c6";
}

/* Facebook */

.rl-socials a[href*="facebook"]::before {
    content: "\f39e";
}

.rl-socials a:hover::before{

    transform:scale(1.12);

    transition:.18s;

}


/* =====================================================
   08.6 Premium Information Tables
   Commission / Agency / Reports
   ===================================================== */

.samo_container fieldset.panel {

    border: none !important;
    border-radius: 16px !important;

    background: linear-gradient(180deg,#bbe4c1,#c7ebcb) !important;

    padding: 12px !important;

    box-shadow:
        0 10px 28px rgba(31,47,34,.08);

}

.samo_container fieldset.panel table.res{

    width:100% !important;

    border-collapse:separate !important;
    border-spacing:0 !important;

    overflow:hidden;

    border-radius:12px !important;

    background:#ffffff;

}

/* Header */

.samo_container fieldset.panel table.res thead th{

    background:linear-gradient(180deg,#4d7b52,#416c46) !important;

    color:#ffffff !important;

    font-size:13px !important;
    font-weight:700 !important;

    padding:11px 12px !important;

    border:none !important;

    text-align:left !important;

    white-space:nowrap;

}

/* Body */

.samo_container fieldset.panel table.res tbody td{

    padding:12px !important;

    border-bottom:1px solid rgba(65,108,70,.08) !important;

    color:#355b3a !important;

    background:#ffffff !important;

    vertical-align:middle !important;

}

/* Zebra */

.samo_container fieldset.panel table.res tbody tr:nth-child(even) td{

    background:#f7fbf8 !important;

}

/* Hover */

.samo_container fieldset.panel table.res tbody tr:hover td{

    background:#eef8ef !important;

}

/* Last row */

.samo_container fieldset.panel table.res tbody tr:last-child td{

    border-bottom:none !important;

}

/* Numbers */

.samo_container fieldset.panel table.res td:last-child{

    font-weight:700 !important;

    color:#416c46 !important;

}

/* Dates */

.samo_container fieldset.panel table.res nobr{

    white-space:nowrap;

}

/* Empty dash */

.samo_container fieldset.panel table.res td:has(nobr:only-child){

    color:#708470;

}
/* =====================================================
   08.7 Employees Buttons Polish
   ===================================================== */

/* Edit */

.samo_container .partpass_edit{

    background:#bbe4c1 !important;

    color:#416c46 !important;

    border:1px solid rgba(65,108,70,.22) !important;

    border-radius:10px !important;

    padding:7px 16px !important;

    font-weight:600 !important;

    box-shadow:
        0 4px 10px rgba(31,47,34,.10) !important;

    transition:
        background .18s ease,
        transform .12s ease;

}

.samo_container .partpass_edit:hover{

    background:#d7f0db !important;

    transform:translateY(-1px);

}

/* Create */

.samo_container .partpass_create{

    min-width:120px !important;

}

/* Remove */

.samo_container .partpass_delete{

    background:#ffffff !important;

    color:#b92d2d !important;

    border:1px solid rgba(185,45,45,.22) !important;

    border-radius:10px !important;

    padding:7px 16px !important;

    font-weight:600 !important;

    box-shadow:
        0 4px 10px rgba(31,47,34,.08) !important;

    transition:
        background .18s ease,
        transform .12s ease;

}

.samo_container .partpass_delete:hover{

    background:#fff3f3 !important;

    border-color:#d04b4b !important;

    transform:translateY(-1px);

}
/* =====================================================
   09.9 Employees Edit Popup — Compact Premium Final
   ===================================================== */

#modalContainer:has(.partpass_edit) {
    width: 560px !important;
    max-width: 92vw !important;
    border-radius: 24px !important;
    overflow: visible !important;
}

#modalContainer:has(.partpass_edit) #basicModalContent {
    background: #ffffff !important;
    border-radius: 0 0 24px 24px !important;
    overflow: hidden !important;
}

#modalContainer #basicModalContent .partpass_edit {
    padding: 22px 26px 24px !important;
    background: #ffffff !important;
}

#modalContainer #basicModalContent .partpass_edit form {
    max-width: 500px !important;
    margin: 0 auto !important;
}

/* Panels */

#modalContainer #basicModalContent .partpass_edit fieldset.panel {
    background: linear-gradient(180deg, #f5fbf6 0%, #eef8ef 100%) !important;
    border: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 20px !important;

    padding: 22px 26px !important;
    margin: 0 0 16px !important;

    box-shadow: 0 12px 30px rgba(31,47,34,.08) !important;
}

/* Titles */

#modalContainer #basicModalContent .partpass_edit .legend-tag {
    display: flex !important;
    align-items: center !important;

    margin: 0 0 18px !important;

    color: #416c46 !important;
    font-size: 24px !important;
    font-weight: 800 !important;
}

#modalContainer #basicModalContent .partpass_edit .legend-tag::before {
    content: "\f007" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 36px !important;
    height: 36px !important;

    margin-right: 12px !important;

    background: #dff2e2 !important;
    border-radius: 50% !important;

    color: #416c46 !important;
    font-size: 15px !important;
}

#modalContainer #basicModalContent .partpass_edit fieldset.panel:nth-of-type(2) .legend-tag::before {
    content: "\f013" !important;
}

/* Table layout */

#modalContainer #basicModalContent .partpass_edit table.width100p {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
}

#modalContainer #basicModalContent .partpass_edit table.width100p td {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    vertical-align: middle !important;
}

#modalContainer #basicModalContent .partpass_edit td.left_column {
    width: 190px !important;
    padding-right: 16px !important;
    text-align: right !important;
}

#modalContainer #basicModalContent .partpass_edit label {
    color: #416c46 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

#modalContainer #basicModalContent .partpass_edit label.required::after {
    content: " *";
    color: #c74b4b;
}

/* Inputs */

#modalContainer #basicModalContent .partpass_edit input[type="text"],
#modalContainer #basicModalContent .partpass_edit input.frm-input,
#modalContainer #basicModalContent .partpass_edit select,
#modalContainer #basicModalContent .partpass_edit .chosen-container,
#modalContainer #basicModalContent .partpass_edit .chosen-single {
    width: 230px !important;
    max-width: 230px !important;
    height: 36px !important;
    box-sizing: border-box !important;
}

#modalContainer #basicModalContent .partpass_edit input[type="text"],
#modalContainer #basicModalContent .partpass_edit input.frm-input,
#modalContainer #basicModalContent .partpass_edit select,
#modalContainer #basicModalContent .partpass_edit .chosen-single {
    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.22) !important;
    border-radius: 11px !important;

    color: #1f2f22 !important;
    font-size: 13px !important;

    padding: 0 12px !important;

    box-shadow: 0 3px 10px rgba(31,47,34,.08) !important;
}

#modalContainer #basicModalContent .partpass_edit input:focus,
#modalContainer #basicModalContent .partpass_edit select:focus {
    border-color: #416c46 !important;
    box-shadow: 0 0 0 3px rgba(65,108,70,.16) !important;
    outline: none !important;
}

/* Chosen */

#modalContainer #basicModalContent .partpass_edit .chosen-single {
    display: flex !important;
    align-items: center !important;
}

#modalContainer #basicModalContent .partpass_edit .chosen-single span {
    color: #1f2f22 !important;
    font-weight: 700 !important;
}

/* Checkboxes */

#modalContainer #basicModalContent .partpass_edit input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    accent-color: #416c46 !important;
    margin: 0 !important;
}

/* Calendar icon */

#modalContainer #basicModalContent .partpass_edit button.Zebra_DatePicker_Icon {
    right: 8px !important;
    left: auto !important;
    top: 9px !important;
}

/* Bottom note */

#modalContainer #basicModalContent .partpass_edit > form > .label {
    text-align: center !important;
    color: #416c46 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin: 14px 0 0 !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(65,108,70,.12) !important;
}

/* Save */

#modalContainer #basicModalContent .partpass_edit input[type="submit"] {
    display: block !important;
    min-width: 130px !important;
    height: 42px !important;
    margin: 12px auto 0 !important;

    background: linear-gradient(180deg, #4d7b52, #416c46) !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 13px !important;

    font-size: 14px !important;
    font-weight: 800 !important;

    box-shadow: 0 12px 26px rgba(31,47,34,.20) !important;
}

#modalContainer #basicModalContent .partpass_edit input[type="submit"]:hover {
    background: linear-gradient(180deg, #5b8b60, #4d7b52) !important;
    transform: translateY(-1px);
}
/* =====================================================
   09.9.2 Employees Edit Popup Height Fix
   Must be AFTER 09.9
   ===================================================== */

#modalContainer:has(.partpass_edit) {
    max-height: 88vh !important;
    overflow: visible !important;
}

#modalContainer:has(.partpass_edit) #basicModalContent {
    max-height: 88vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

#modalContainer #basicModalContent .partpass_edit {
    padding-top: 16px !important;
    padding-bottom: 18px !important;
}

#modalContainer #basicModalContent .partpass_edit fieldset.panel {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    margin-bottom: 12px !important;
}

#modalContainer #basicModalContent .partpass_edit .legend-tag {
    margin-bottom: 12px !important;
}

#modalContainer #basicModalContent .partpass_edit table.width100p {
    border-spacing: 0 7px !important;
}

#modalContainer #basicModalContent .partpass_edit input[type="text"],
#modalContainer #basicModalContent .partpass_edit input.frm-input,
#modalContainer #basicModalContent .partpass_edit select,
#modalContainer #basicModalContent .partpass_edit .chosen-single {
    height: 32px !important;
}

#modalContainer #basicModalContent .partpass_edit > form > .label {
    margin-top: 8px !important;
    padding-top: 10px !important;
}

#modalContainer #basicModalContent .partpass_edit input[type="submit"] {
    height: 38px !important;
    margin-top: 8px !important;
}
/* =====================================================
   09.9.3 Employees Edit Popup Viewport Safe Fix
   Must be LAST
   ===================================================== */

#modalContainer:has(.partpass_edit) {
    top: 24px !important;
    bottom: 24px !important;
    height: auto !important;
    max-height: calc(100vh - 48px) !important;
}

#modalContainer:has(.partpass_edit) #basicModalContent {
    height: calc(100vh - 48px) !important;
    max-height: calc(100vh - 48px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 0 0 24px 24px !important;
}

#modalContainer #basicModalContent .partpass_edit {
    padding-bottom: 72px !important;
}

#modalContainer #basicModalContent .partpass_edit input[type="submit"] {
    position: sticky !important;
    bottom: 14px !important;
    z-index: 5 !important;
}
/* =====================================================
   09.10 BRON Add Additional Services Popup — Compact Wide
   ===================================================== */

#modalContainer:has(#additional_services) {
    width: 1040px !important;
    max-width: 94vw !important;
    border-radius: 22px !important;
    overflow: visible !important;
}

#modalContainer:has(#additional_services) #basicModalContent {
    background: #ffffff !important;
    border-radius: 0 0 22px 22px !important;
    overflow: hidden !important;
}

#modalContainer #basicModalContent #additional_services {
    padding: 16px 18px 4px !important;
    background: #ffffff !important;
}

/* cards */

#modalContainer #basicModalContent #additional_services .servtype-container {
    margin: 0 0 10px !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 6px 16px rgba(31,47,34,.06) !important;
}

#modalContainer #basicModalContent #additional_services .servtype-container > input[type="radio"] {
    display: none !important;
}

/* headers */

#modalContainer #basicModalContent #additional_services .servtype-container > label.service {
    display: flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 8px 14px !important;

    background: linear-gradient(180deg, #4d7b52 0%, #416c46 100%) !important;
    color: #ffffff !important;

    border: none !important;

    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

#modalContainer #basicModalContent #additional_services .servtype-container > label.service::before {
    content: "\f0ec";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;

    margin-right: 9px;
    font-size: 12px;
    color: #ffffff;
}

/* Tax icon */

#modalContainer #basicModalContent #additional_services .servtype-container:has(label[for="servtype-2"]) > label.service::before {
    content: "\f571";
}

/* Transfer group icon — arrows */

#modalContainer #basicModalContent #additional_services .servtype-container:has(label[for="servtype-3"]) > label.service::before {
    content: "\f0ec";
}

/* table */

#modalContainer #basicModalContent #additional_services table.res {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

#modalContainer #basicModalContent #additional_services table.res tr td {
    padding: 9px 12px !important;
    border-bottom: 1px solid rgba(65,108,70,.08) !important;
    background: #ffffff !important;
    color: #355b3a !important;
    vertical-align: middle !important;
}

#modalContainer #basicModalContent #additional_services table.res tr:last-child td {
    border-bottom: none !important;
}

#modalContainer #basicModalContent #additional_services table.res tr:hover td {
    background: #f4faf5 !important;
}

/* service name in one comfortable row */

#modalContainer #basicModalContent #additional_services td.service-name {
    width: auto !important;
}

#modalContainer #basicModalContent #additional_services td.service-name label {
    display: grid !important;
    grid-template-columns: 18px 1fr !important;
    column-gap: 9px !important;
    align-items: start !important;

    color: #416c46 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/* checkbox */

#modalContainer #basicModalContent #additional_services input.mainservice {
    width: 15px !important;
    height: 15px !important;
    margin: 1px 0 0 !important;

    accent-color: #416c46 !important;
}

#modalContainer #basicModalContent #additional_services input.mainservice:disabled {
    opacity: .55 !important;
}

/* price */

#modalContainer #basicModalContent #additional_services td.service-price {
    width: 170px !important;
    min-width: 170px !important;

    text-align: right !important;
    white-space: nowrap !important;

    color: #416c46 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

/* dates column if empty */

#modalContainer #basicModalContent #additional_services td.service-dates {
    width: 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Add service button */

#modalContainer #basicModalContent #ADD_ADDITIONAL_SERVICES {
    display: block !important;

    min-width: 150px !important;
    min-height: 38px !important;

    margin: 10px auto 14px !important;
    padding: 0 22px !important;

    background: linear-gradient(180deg, #4d7b52 0%, #416c46 100%) !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 12px !important;

    font-size: 14px !important;
    font-weight: 800 !important;

    box-shadow: 0 10px 22px rgba(31,47,34,.18) !important;

    cursor: pointer !important;
}

#modalContainer #basicModalContent #ADD_ADDITIONAL_SERVICES:hover {
    background: linear-gradient(180deg, #5b8b60 0%, #4d7b52 100%) !important;
    transform: translateY(-1px);
}

/* =====================================================
   09.11 BRON Reservation Result Popup
   ===================================================== */

#modalContainer:has(.CLAIMRESULT) {
    width: 460px !important;
    max-width: 92vw !important;
    border-radius: 22px !important;
    overflow: visible !important;
}

#modalContainer:has(.CLAIMRESULT) #basicModalContent {
    background: #ffffff !important;
    border-radius: 0 0 22px 22px !important;
    overflow: hidden !important;
}

#modalContainer #basicModalContent .CLAIMRESULT {
    position: relative !important;

    padding: 30px 28px 26px !important;

    background:
        radial-gradient(circle at 50% 0%, rgba(187,228,193,.38), transparent 52%),
        linear-gradient(180deg, #ffffff 0%, #f5fbf6 100%) !important;

    color: #416c46 !important;

    text-align: center !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
}

#modalContainer #basicModalContent .CLAIMRESULT::before {
    content: "\f058";

    font-family: "Font Awesome 5 Free";
    font-weight: 900;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    margin: 0 auto 14px;

    background: #bbe4c1;
    border-radius: 50%;

    color: #416c46;
    font-size: 25px;

    box-shadow:
        0 10px 24px rgba(31,47,34,.14),
        inset 0 1px 0 rgba(255,255,255,.55);
}

#modalContainer #basicModalContent .CLAIMRESULT a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 34px !important;

    margin: 14px 5px 0 !important;
    padding: 0 15px !important;

    background: #bbe4c1 !important;
    color: #416c46 !important;

    border: 1px solid rgba(65,108,70,.20) !important;
    border-radius: 999px !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;

    box-shadow: 0 6px 16px rgba(31,47,34,.10) !important;
}

#modalContainer #basicModalContent .CLAIMRESULT a:hover {
    background: #d7f0db !important;
    transform: translateY(-1px);
}

/* =====================================================
   09.11 BRON Reservation Success Card — Final
   ===================================================== */

#modalContainer:has(.CLAIMRESULT.claim-success-card) {
    width: 520px !important;
    max-width: 92vw !important;
    border-radius: 24px !important;
    overflow: visible !important;
}

#modalContainer:has(.CLAIMRESULT.claim-success-card) #basicModalContent {
    background: #ffffff !important;
    border-radius: 0 0 24px 24px !important;
    overflow: hidden !important;
}

#modalContainer #basicModalContent .CLAIMRESULT.claim-success-card {
    padding: 32px 34px 28px !important;
    text-align: center !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(187,228,193,.35), transparent 55%),
        linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%) !important;
    color: #416c46 !important;
}

#modalContainer #basicModalContent .claim-success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #bbe4c1;
    color: #416c46;
    font-size: 42px;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(31,47,34,.15);
}

#modalContainer #basicModalContent .claim-success-title {
    margin-bottom: 6px;
    color: #416c46;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.1;
}

#modalContainer #basicModalContent .claim-success-subtitle {
    margin-bottom: 18px;
    color: #5f7464;
    font-size: 14px;
    font-weight: 600;
}

#modalContainer #basicModalContent .claim-success-details {
    margin: 0 0 20px;
    padding: 16px;
    background: #f5fbf6;
    border: 1px solid rgba(65,108,70,.12);
    border-radius: 16px;
}

#modalContainer #basicModalContent .claim-detail + .claim-detail {
    margin-top: 12px;
}

#modalContainer #basicModalContent .claim-detail span {
    display: block;
    color: #5f7464;
    font-size: 13px;
    font-weight: 700;
}

#modalContainer #basicModalContent .claim-detail strong {
    display: block;
    color: #1f2f22;
    font-size: 24px;
    font-weight: 900;
}

#modalContainer #basicModalContent .claim-detail:first-child strong {
    color: #416c46;
    font-size: 32px;
}

#modalContainer #basicModalContent .claim-success-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
}

#modalContainer #basicModalContent .claim-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 190px;
    min-height: 42px;
    border-radius: 12px;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 800;
    box-sizing: border-box;
}

#modalContainer #basicModalContent .claim-btn-primary {
    background: #416c46 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(31,47,34,.18);
}

#modalContainer #basicModalContent .claim-btn-secondary {
    background: #ffffff !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.22);
}

#modalContainer #basicModalContent .claim-btn:hover {
    transform: translateY(-1px);
}

/* =====================================================
   09.11.1 BRON Success Popup Alignment Fix
   Must be LAST
   ===================================================== */

/* Modal size like approved console version */
#modalContainer:has(.CLAIMRESULT.claim-success-card) {
    width: 500px !important;
    max-width: 92vw !important;
    border-radius: 22px !important;
    overflow: hidden !important;
}

/* Center content */
#modalContainer #basicModalContent .CLAIMRESULT.claim-success-card {
    padding: 22px !important;
    text-align: center !important;
    background: #ffffff !important;
    font-family: Arial, sans-serif !important;
}

/* Main icon */
#modalContainer #basicModalContent .claim-success-icon {
    width: 74px !important;
    height: 74px !important;
    margin: 0 auto 18px !important;

    border-radius: 50% !important;
    background: #bbe4c1 !important;
    color: #416c46 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 42px !important;
    font-weight: 800 !important;

    box-shadow: 0 10px 24px rgba(0,0,0,.15) !important;
}

/* Title */
#modalContainer #basicModalContent .claim-success-title {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #416c46 !important;
    margin-bottom: 6px !important;
}

/* Subtitle */
#modalContainer #basicModalContent .claim-success-subtitle {
    color: #5f7464 !important;
    margin-bottom: 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* Details card */
#modalContainer #basicModalContent .claim-success-details {
    background: #f5fbf6 !important;
    border: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 14px !important;
    padding: 16px !important;
    margin-bottom: 20px !important;
}

#modalContainer #basicModalContent .claim-detail span {
    font-size: 14px !important;
    color: #5f7464 !important;
    font-weight: 700 !important;
}

#modalContainer #basicModalContent .claim-detail strong {
    display: block !important;
    color: #1f2f22 !important;
    font-size: 24px !important;
    font-weight: 800 !important;
}

#modalContainer #basicModalContent .claim-detail:first-child strong {
    color: #416c46 !important;
    font-size: 32px !important;
}

#modalContainer #basicModalContent .claim-detail + .claim-detail {
    margin-top: 12px !important;
}

/* Buttons */
#modalContainer #basicModalContent .claim-success-actions {
    display: flex !important;
    gap: 12px !important;
    justify-content: center !important;
}

#modalContainer #basicModalContent .claim-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 190px !important;
    height: 42px !important;

    border-radius: 12px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}

#modalContainer #basicModalContent .claim-btn-primary {
    background: #416c46 !important;
    color: #ffffff !important;
}

#modalContainer #basicModalContent .claim-btn-secondary {
    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.22) !important;
    color: #416c46 !important;
}

/* =====================================================
   09.11.2 BRON Success Popup Right Padding Fix
   Must be LAST
   ===================================================== */

#modalContainer:has(.CLAIMRESULT.claim-success-card) {
    width: 500px !important;
    max-width: 92vw !important;
    overflow: hidden !important;
}

#modalContainer:has(.CLAIMRESULT.claim-success-card) #basicModalContent {
    display: block !important;

    width: 100% !important;
    min-height: 0 !important;

    padding: 0 !important;
    margin: 0 !important;

    box-sizing: border-box !important;

    background: #ffffff !important;
    border-radius: 22px !important;

    overflow: hidden !important;
}

#modalContainer #basicModalContent .CLAIMRESULT.claim-success-card {
    width: 100% !important;
    box-sizing: border-box !important;

    padding: 22px !important;
    margin: 0 !important;

    border-radius: 22px !important;
}

/* =====================================================
   09.11.3 BRON Success Popup Perfect Center Fix
   Must be LAST
   ===================================================== */

#modalContainer:has(.CLAIMRESULT.claim-success-card) {
    width: 500px !important;
    max-width: 92vw !important;

    border: none !important;
    border-radius: 22px !important;

    background: transparent !important;
    box-shadow: none !important;

    overflow: visible !important;
}

/* Hide technical title */
#modalContainer:has(.CLAIMRESULT.claim-success-card) .modalTitle {
    display: none !important;
}

/* Reset old SAMO basicModalContent spacing */
#modalContainer:has(.CLAIMRESULT.claim-success-card) #basicModalContent {
    display: block !important;

    width: 100% !important;
    min-height: 0 !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: none !important;
    border-radius: 22px !important;

    box-shadow: none !important;

    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Main success card */
#modalContainer #basicModalContent .CLAIMRESULT.claim-success-card {
    width: 100% !important;
    box-sizing: border-box !important;

    margin: 0 !important;
    padding: 34px 32px 30px !important;

    border-radius: 22px !important;

    background: #ffffff !important;

    text-align: center !important;
    font-family: Arial, sans-serif !important;

    box-shadow:
        0 22px 55px rgba(31,47,34,.20),
        inset 0 1px 0 rgba(255,255,255,.80) !important;
}

/* Remove old pseudo icon */
#modalContainer #basicModalContent .CLAIMRESULT.claim-success-card::before {
    display: none !important;
    content: none !important;
}

/* Icon */
#modalContainer #basicModalContent .claim-success-icon {
    width: 74px !important;
    height: 74px !important;

    margin: 0 auto 22px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;

    background: #bbe4c1 !important;
    color: #416c46 !important;

    font-size: 42px !important;
    font-weight: 900 !important;

    box-shadow: 0 10px 24px rgba(31,47,34,.15) !important;
}

/* Text */
#modalContainer #basicModalContent .claim-success-title {
    margin: 0 0 7px !important;

    color: #416c46 !important;

    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
}

#modalContainer #basicModalContent .claim-success-subtitle {
    margin: 0 0 22px !important;

    color: #5f7464 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Details */
#modalContainer #basicModalContent .claim-success-details {
    width: 100% !important;
    box-sizing: border-box !important;

    margin: 0 0 24px !important;
    padding: 18px 16px !important;

    background: #f5fbf6 !important;

    border: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 14px !important;
}

#modalContainer #basicModalContent .claim-detail + .claim-detail {
    margin-top: 14px !important;
}

/* Buttons */
#modalContainer #basicModalContent .claim-success-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;

    width: 100% !important;
}

#modalContainer #basicModalContent .claim-btn {
    width: 100% !important;
    height: 42px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;

    font-size: 13px !important;
    font-weight: 800 !important;

    text-decoration: none !important;
    box-sizing: border-box !important;
}

#modalContainer #basicModalContent .claim-btn-primary {
    background: #bbe4c1 !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.18) !important;
}

#modalContainer #basicModalContent .claim-btn-secondary {
    background: #d7f0db !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.18) !important;
}

/* =====================================================
   09. Domain Pages & Booking Widgets
   ===================================================== */

/* =====================================================
   08.8 CL Refer Reservation Cards Polish
   ===================================================== */

.samo_container .resultset {
    max-width: 1180px !important;
    margin: 0 auto !important;
}

/* Reservation card */

.samo_container table.cl_refer_result {
    width: 100% !important;
    margin: 18px 0 !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 18px !important;

    overflow: hidden !important;

    box-shadow:
        0 10px 26px rgba(31,47,34,.08) !important;
}

/* Header */

.samo_container table.cl_refer_result thead th {
    background: linear-gradient(180deg,#4d7b52,#416c46) !important;
    color: #ffffff !important;

    padding: 14px 16px !important;

    border: none !important;

    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    text-align: left !important;
    vertical-align: middle !important;
}

/* Claim number badge */

.samo_container table.cl_refer_result thead .claim {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 34px !important;
    height: 34px !important;

    margin-right: 8px !important;

    background: #bbe4c1 !important;
    color: #416c46 !important;

    border-radius: 999px !important;

    font-size: 18px !important;
    font-weight: 900 !important;
}

/* Body cells */

.samo_container table.cl_refer_result tbody td {
    padding: 13px 16px !important;

    background: #ffffff !important;
    color: #1f2f22 !important;

    border-bottom: 1px solid rgba(65,108,70,.08) !important;

    vertical-align: top !important;
    line-height: 1.35 !important;
}

/* Soft second row */

.samo_container table.cl_refer_result tbody tr.edit_claim td,
.samo_container table.cl_refer_result tbody tr:last-child td {
    background: #f5fbf6 !important;
}

/* Status badge */

.samo_container table.cl_refer_result .claim-status {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;

    padding: 6px 10px !important;

    background: #fff7e8 !important;
    color: #7a4b00 !important;

    border: 1px solid rgba(180,120,20,.18) !important;
    border-radius: 999px !important;

    font-size: 12px !important;
    font-weight: 800 !important;
}

.samo_container table.cl_refer_result .claim-status img {
    display: none !important;
}

/* Links as chips */

.samo_container table.cl_refer_result .cl_alink .link,
.samo_container table.cl_refer_result .claim-orders__button,
.samo_container table.cl_refer_result .cancel_claim,
.samo_container table.cl_refer_result .dropdown-button {
    display: inline-flex !important;
    align-items: center !important;

    margin: 4px 6px 4px 0 !important;
    padding: 7px 11px !important;

    background: #bbe4c1 !important;
    color: #416c46 !important;

    border: 1px solid rgba(65,108,70,.16) !important;
    border-radius: 999px !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    text-decoration: none !important;
    cursor: pointer !important;
}

.samo_container table.cl_refer_result .cl_alink .link:hover,
.samo_container table.cl_refer_result .claim-orders__button:hover,
.samo_container table.cl_refer_result .dropdown-button:hover {
    background: #d7f0db !important;
}

/* Cancellation */

.samo_container table.cl_refer_result .cancel_claim {
    background: #ffffff !important;
    color: #9b2f2f !important;
    border-color: rgba(155,47,47,.22) !important;
}

.samo_container table.cl_refer_result .cancel_claim:hover {
    background: #fff3f3 !important;
}

/* Show services area */

.samo_container table.cl_refer_result td.orders {
    color: #416c46 !important;
    font-weight: 700 !important;
}

/* Partner comment */

.samo_container table.cl_refer_result .partnercomment {
    display: block !important;

    margin: 0 0 10px !important;
    padding: 10px 12px !important;

    background: #fff8e8 !important;
    color: #6f5420 !important;

    border: 1px solid rgba(180,120,20,.16) !important;
    border-radius: 12px !important;

    font-size: 12px !important;
    font-weight: 600 !important;
}

/* Dropdown */

.samo_container table.cl_refer_result .dropdown-menu {
    display: inline-block !important;
    position: relative !important;
}

.samo_container table.cl_refer_result .dropdown-content {
    border-radius: 12px !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    box-shadow: 0 10px 24px rgba(31,47,34,.16) !important;
    overflow: hidden !important;
}

/* Mobile safe */

@media (max-width: 767px) {
    .samo_container table.cl_refer_result {
        font-size: 12px !important;
    }

    .samo_container table.cl_refer_result thead th,
    .samo_container table.cl_refer_result tbody td {
        padding: 10px !important;
    }

    .samo_container table.cl_refer_result thead .claim {
        min-width: 28px !important;
        height: 28px !important;
        font-size: 15px !important;
    }
}

/* =====================================================
   Reservation Action Center — isolated to td.cl_alink
   ===================================================== */

.samo_container table.cl_refer_result td.cl_alink {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.samo_container table.cl_refer_result td.cl_alink :is(
    .msg-new,
    .cl_price,
    .pay_variant,
    .e_doc,
    .dropdown-button
) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.20) !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 14px rgba(31,47,34,.10) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .12s ease !important;
}

.samo_container table.cl_refer_result td.cl_alink :is(
    .msg-new,
    .cl_price,
    .pay_variant,
    .e_doc,
    .dropdown-button
):hover {
    background: #f1faf2 !important;
    border-color: #416c46 !important;
    box-shadow: 0 8px 18px rgba(31,47,34,.14) !important;
    transform: translateY(-1px) !important;
}

.samo_container table.cl_refer_result td.cl_alink :is(
    .msg-new,
    .cl_price,
    .pay_variant,
    .e_doc,
    .dropdown-button
):active {
    background: #eaf7ec !important;
    box-shadow: 0 3px 8px rgba(31,47,34,.10) !important;
    transform: translateY(0) !important;
}

.samo_container table.cl_refer_result td.cl_alink :is(
    .msg-new,
    .cl_price,
    .pay_variant,
    .e_doc,
    .dropdown-button
):focus-visible {
    outline: 3px solid rgba(88,136,93,.28) !important;
    outline-offset: 2px !important;
}

.samo_container table.cl_refer_result td.cl_alink :is(
    .msg-new,
    .cl_price,
    .pay_variant,
    .e_doc,
    .dropdown-button
)::before {
    display: inline-block !important;
    margin-right: 8px !important;
    color: currentColor !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.samo_container table.cl_refer_result td.cl_alink .msg-new::before {
    content: "\f0e0" !important;
}

.samo_container table.cl_refer_result td.cl_alink .cl_price::before {
    content: "\f02b" !important;
}

.samo_container table.cl_refer_result td.cl_alink .pay_variant::before {
    content: "\f09d" !important;
}

.samo_container table.cl_refer_result td.cl_alink .e_doc::before {
    content: "\f15c" !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-button::before {
    content: "\f013" !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu {
    display: inline-flex !important;
    position: relative !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-content {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    z-index: 1000 !important;
    min-width: 190px !important;
    padding: 6px !important;
    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.16) !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 30px rgba(31,47,34,.18) !important;
    overflow: hidden !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-content :is(
    a,
    button,
    .link
) {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    background: transparent !important;
    color: #416c46 !important;
    border: none !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: left !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-content :is(
    a,
    button,
    .link
):hover {
    background: #eaf7ec !important;
    color: #355b3a !important;
}

/* Keep the dropdown hover path continuous without layout changes. */

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu::after {
    content: "" !important;
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 190px !important;
    height: 8px !important;
    pointer-events: auto !important;
    z-index: 999 !important;
}

/* =====================================================
   Reservation Card — premium two-column action center
   ===================================================== */

.samo_container table.cl_refer_result tbody td.cl_alink {
    width: 25% !important;
    min-width: 220px !important;
    padding: 18px !important;
    box-sizing: border-box !important;
    background: #f5fbf6 !important;
    border-right: 1px solid rgba(65,108,70,.12) !important;
    vertical-align: top !important;
}

.samo_container table.cl_refer_result tbody td.cl_alink + td {
    width: 75% !important;
    padding: 20px 24px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    vertical-align: top !important;
}

.samo_container table.cl_refer_result td.cl_alink :is(
    .msg-new,
    .cl_price,
    .pay_variant,
    .e_doc,
    .dropdown-button
) {
    width: calc(50% - 4px) !important;
    min-width: 0 !important;
    flex: 1 1 calc(50% - 8px) !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu {
    width: calc(50% - 4px) !important;
    min-width: 0 !important;
    flex: 1 1 calc(50% - 8px) !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu .dropdown-button {
    width: 100% !important;
}

/* Orders hierarchy */

.samo_container table.cl_refer_result td.orders {
    padding: 20px 24px !important;
    background: #f9fcf9 !important;
    color: #355b3a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

.samo_container table.cl_refer_result td.orders table.orders-group,
.samo_container table.cl_refer_result td.orders table.tbl_peoples {
    margin: 0 0 16px !important;
}

.samo_container table.cl_refer_result td.orders table.orders-group > thead > tr > th,
.samo_container table.cl_refer_result td.orders table.tbl_peoples > thead > tr > th {
    padding: 14px 16px !important;
    font-size: 14px !important;
    letter-spacing: .01em !important;
}

.samo_container table.cl_refer_result td.orders table.orders-group > tbody > tr > td,
.samo_container table.cl_refer_result td.orders table.tbl_peoples > tbody > tr > td {
    padding: 14px 16px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* Show services belongs to Orders */

.samo_container table.cl_refer_result td.orders .claim-orders__button {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 32px !important;
    margin: 10px 0 0 !important;
    padding: 0 12px !important;
    background: #e4f5e6 !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.16) !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 9px rgba(31,47,34,.07) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.samo_container table.cl_refer_result td.orders .claim-orders__button:hover {
    background: #d7f0db !important;
    box-shadow: 0 6px 14px rgba(31,47,34,.11) !important;
}

/* Service items */

.samo_container table.cl_refer_result td.orders :is(
    .service,
    .service-item,
    .service-name,
    .service-type,
    .services
) {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    margin: 4px 6px 4px 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    background: #eef8ef !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.13) !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/* Tourist grid */

.samo_container table.cl_refer_result td.orders table.tbl_peoples > tbody > tr > td {
    color: #1f2f22 !important;
    font-weight: 600 !important;
}

.samo_container table.cl_refer_result td.orders table.tbl_peoples > tbody > tr > td:first-child {
    color: #416c46 !important;
    font-weight: 800 !important;
}

.samo_container table.cl_refer_result td.orders table.tbl_peoples td:has(.fa-file),
.samo_container table.cl_refer_result td.orders table.tbl_peoples td:has(.fa-file-lines) {
    color: #416c46 !important;
}

@media (max-width: 767px) {
    .samo_container table.cl_refer_result tbody td.cl_alink,
    .samo_container table.cl_refer_result tbody td.cl_alink + td {
        width: 100% !important;
        min-width: 0 !important;
        border-right: none !important;
    }

    .samo_container table.cl_refer_result tbody td.cl_alink + td {
        padding: 14px !important;
    }
}

/* =====================================================
   Action Center — inline expandable reservation menu
   ===================================================== */

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    position: relative !important;
    width: calc(50% - 4px) !important;
    min-width: 0 !important;
    flex: 1 1 calc(50% - 8px) !important;
    margin: 0 !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu::after {
    display: none !important;
    content: none !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu .dropdown-button {
    width: 100% !important;
    flex: 0 0 auto !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-content {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
    border-color: transparent !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transform: translateY(-4px) !important;
    transition: max-height .22s ease, opacity .18s ease, transform .22s ease, margin .22s ease, padding .22s ease, border-color .22s ease !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu:hover .dropdown-content,
.samo_container table.cl_refer_result td.cl_alink .dropdown-menu:focus-within .dropdown-content {
    max-height: 360px !important;
    margin-top: 8px !important;
    padding: 6px !important;
    border-color: rgba(65,108,70,.16) !important;
    box-shadow: 0 10px 24px rgba(31,47,34,.12) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

/* Action Center — single vertical stack */

.samo_container table.cl_refer_result td.cl_alink {
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
}

.samo_container table.cl_refer_result td.cl_alink :is(
    .msg-new,
    .cl_price,
    .pay_variant,
    .e_doc,
    .dropdown-menu
) {
    width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
}

.samo_container table.cl_refer_result td.cl_alink :is(
    .msg-new,
    .cl_price,
    .pay_variant,
    .e_doc,
    .dropdown-button
) {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu {
    order: 99 !important;
    align-items: stretch !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu .dropdown-button {
    flex: 0 0 auto !important;
}

/* =====================================================
   Resort Life Action Center v1.0 — final polish
   ===================================================== */

.samo_container table.cl_refer_result tbody td.cl_alink {
    padding: 18px !important;
    background: #f5fbf6 !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 22px rgba(31,47,34,.08) !important;
}

.samo_container table.cl_refer_result tbody td.cl_alink::before {
    content: "Actions" !important;
    display: block !important;
    order: -1 !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #5f7464 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

.samo_container table.cl_refer_result td.cl_alink :is(
    .msg-new,
    .cl_price,
    .pay_variant,
    .e_doc,
    .dropdown-button
) {
    justify-content: flex-start !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
    text-align: left !important;
}

.samo_container table.cl_refer_result td.cl_alink :is(
    .msg-new,
    .cl_price,
    .pay_variant,
    .e_doc,
    .dropdown-button
)::before {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin-right: 9px !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

/* Expanded Edit Reservation section */

.samo_container table.cl_refer_result td.cl_alink .dropdown-content {
    padding: 0 10px !important;
    border-radius: 16px !important;
    border-color: rgba(65,108,70,.12) !important;
    background: #fbfefb !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-menu:hover .dropdown-content,
.samo_container table.cl_refer_result td.cl_alink .dropdown-menu:focus-within .dropdown-content {
    padding: 10px !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-content :is(
    a,
    button,
    .link
) {
    position: relative !important;
    min-height: 36px !important;
    padding: 0 10px 0 34px !important;
    border-bottom: 1px solid rgba(65,108,70,.08) !important;
    border-radius: 10px !important;
    transition: background-color .16s ease, color .16s ease !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-content :is(
    a,
    button,
    .link
):last-child {
    border-bottom: none !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-content :is(
    a,
    button,
    .link
)::before {
    position: absolute !important;
    left: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    color: #416c46 !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-content :is(
    a,
    button,
    .link
):nth-child(1)::before {
    content: "\f00c" !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-content :is(
    a,
    button,
    .link
):nth-child(2)::before {
    content: "\f56f" !important;
}

.samo_container table.cl_refer_result td.cl_alink .dropdown-content :is(
    a,
    button,
    .link
):hover {
    background: #eaf7ec !important;
    color: #355b3a !important;
}

/* Orders relationship */

.samo_container table.cl_refer_result td.orders {
    padding: 20px 24px !important;
    background: #f9fcf9 !important;
    border-left: 1px solid rgba(65,108,70,.08) !important;
}

.samo_container table.cl_refer_result td.orders .claim-orders__button {
    margin: 14px 0 0 !important;
    box-shadow: 0 3px 9px rgba(31,47,34,.07) !important;
}

.samo_container table.cl_refer_result tbody td.cl_alink + td {
    width: 75% !important;
    padding: 20px 24px !important;
}

/* =====================================================
   Service Cards — scoped to Orders service rows
   ===================================================== */

.samo_container table.cl_refer_result table.orders-group tr.service > td {
    padding: 16px !important;
    box-sizing: border-box !important;
    background: #f5fbf6 !important;
    color: #1f2f22 !important;
    border-top: 1px solid rgba(65,108,70,.12) !important;
    border-bottom: 1px solid rgba(65,108,70,.12) !important;
    background-clip: padding-box !important;
    vertical-align: middle !important;
    transition: background-color .18s ease, box-shadow .18s ease !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service > td:first-child {
    border-left: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 16px 0 0 16px !important;
    box-shadow: -4px 6px 16px rgba(31,47,34,.07) !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service > td:last-child {
    border-right: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 0 16px 16px 0 !important;
    box-shadow: 4px 6px 16px rgba(31,47,34,.07) !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service + tr.service > td {
    border-top-width: 16px !important;
    border-top-color: transparent !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service:hover > td {
    background: #eaf7ec !important;
    box-shadow: 0 8px 20px rgba(31,47,34,.10) !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service .order-block {
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service .service-packet-name {
    display: block !important;
    margin: 0 !important;
    color: #416c46 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service .service-dates {
    display: block !important;
    margin-top: 6px !important;
    color: #5f7464 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service .o_pcount {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 26px !important;
    margin: 8px 0 0 !important;
    padding: 0 9px !important;
    box-sizing: border-box !important;
    background: #e4f5e6 !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service .o_pcount::before {
    content: "\f007" !important;
    margin-right: 6px !important;
    font-family: "Font Awesome 5 Free" !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

/* =====================================================
   09.12 CL Refer Price Popup — Final Clean USD Only
   ===================================================== */

#modalContainer:has(.cl_referer_cost) {
    width: 460px !important;
    max-width: 92vw !important;

    background: transparent !important;
    border: none !important;
    border-radius: 22px !important;

    box-shadow: 0 22px 55px rgba(31,47,34,.22) !important;
    overflow: visible !important;
}

#modalContainer:has(.cl_referer_cost) .modalTitle {
    display: none !important;
}

#modalContainer:has(.cl_referer_cost) #basicModalContent {
    display: block !important;

    width: 100% !important;
    min-height: 0 !important;

    padding: 18px !important;
    margin: 0 !important;

    background: #ffffff !important;
    border: none !important;
    border-radius: 22px !important;

    box-shadow: none !important;
    overflow: hidden !important;

    box-sizing: border-box !important;
}

/* Hide RUB column */

#modalContainer:has(.cl_referer_cost) .pay-currency {
    display: none !important;
}

/* Hide empty note */

#modalContainer:has(.cl_referer_cost) .note {
    display: none !important;
}

/* Owner block as compact card */

#modalContainer #basicModalContent table.cl_referer_cost:first-of-type {
    width: 170px !important;
    margin: 0 0 12px !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    background: #f5fbf6 !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 14px !important;

    overflow: hidden !important;
    box-shadow: 0 6px 16px rgba(31,47,34,.07) !important;
}

#modalContainer #basicModalContent table.cl_referer_cost:first-of-type thead tr {
    display: block !important;
}

#modalContainer #basicModalContent table.cl_referer_cost:first-of-type th {
    display: block !important;

    width: 100% !important;
    box-sizing: border-box !important;

    padding: 8px 12px !important;

    border: none !important;
    text-align: left !important;
    white-space: nowrap !important;
}

#modalContainer #basicModalContent table.cl_referer_cost:first-of-type th:first-child {
    background: #416c46 !important;
    color: #ffffff !important;

    font-size: 12px !important;
    font-weight: 800 !important;
}

#modalContainer #basicModalContent table.cl_referer_cost:first-of-type th:last-child {
    background: #ffffff !important;
    color: #416c46 !important;

    font-size: 13px !important;
    font-weight: 900 !important;
}

/* Main price table */

#modalContainer #basicModalContent table.cl_referer_cost.upper-table {
    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    background: #ffffff !important;
    border-radius: 14px !important;
    overflow: hidden !important;

    box-shadow: 0 6px 16px rgba(31,47,34,.07) !important;
}

/* Header */

#modalContainer #basicModalContent table.cl_referer_cost.upper-table thead th {
    padding: 10px 12px !important;

    background: linear-gradient(180deg, #4d7b52, #416c46) !important;
    color: #ffffff !important;

    border: none !important;

    font-size: 13px !important;
    font-weight: 800 !important;

    text-align: left !important;
    white-space: nowrap !important;
}

#modalContainer #basicModalContent table.cl_referer_cost.upper-table thead th.claim-currency {
    text-align: right !important;
}

/* Cells */

#modalContainer #basicModalContent table.cl_referer_cost.upper-table tbody td {
    padding: 10px 12px !important;

    background: #ffffff !important;
    color: #1f2f22 !important;

    border-bottom: 1px solid rgba(65,108,70,.10) !important;

    font-size: 13px !important;
    font-weight: 800 !important;

    white-space: nowrap !important;
}

#modalContainer #basicModalContent table.cl_referer_cost.upper-table tbody tr:nth-child(even) td {
    background: #f5fbf6 !important;
}

#modalContainer #basicModalContent table.cl_referer_cost.upper-table tbody tr:last-child td {
    border-bottom: none !important;
}

#modalContainer #basicModalContent table.cl_referer_cost.upper-table .claim-currency {
    width: 130px !important;
    text-align: right !important;
}

/* Debt */

#modalContainer #basicModalContent table.cl_referer_cost .red {
    color: #c43b3b !important;
    font-weight: 900 !important;
}

/* =====================================================
   09.12.3 Price Popup Restore Close Button
   ===================================================== */

#modalContainer:has(.cl_referer_cost) .modalTitle{

    display:block !important;

    height:0 !important;

    min-height:0 !important;

    padding:0 !important;

    margin:0 !important;

    overflow:visible !important;

    background:transparent !important;

    border:none !important;

    color:transparent !important;

}

#modalContainer:has(.cl_referer_cost) a.modalCloseImg{

    display:block !important;

    top:-12px !important;

    right:-12px !important;

    z-index:99999 !important;

}

#modalContainer:has(.choose-payer) #basicModalContent {
    display: block !important;

    width: 100% !important;
    min-height: 0 !important;

    padding: 22px 24px !important;
    margin: 0 !important;

    background: #ffffff !important;
    border: none !important;
    border-radius: 22px !important;

    box-shadow: none !important;
    overflow: hidden !important;

    color: #416c46 !important;
    box-sizing: border-box !important;
}

#modalContainer #basicModalContent .choose-payer fieldset {
    margin: 0 !important;
    padding: 0 !important;

    border: none !important;
    background: transparent !important;
}

#modalContainer #basicModalContent .choose-payer legend {
    display: flex !important;
    align-items: center !important;

    margin: 0 0 16px !important;
    padding: 0 !important;

    color: #416c46 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
}

#modalContainer #basicModalContent .choose-payer legend::before {
    content: "\f4c0";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;

    width: 34px;
    height: 34px;

    margin-right: 10px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #bbe4c1;
    color: #416c46;
    border-radius: 50%;

    font-size: 14px;
}

#modalContainer #basicModalContent .choose-payer .row.radio {
    margin: 10px 0 !important;
}

#modalContainer #basicModalContent .choose-payer .row.radio label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;

    min-height: 38px !important;
    padding: 0 12px !important;

    background: #f5fbf6 !important;
    border: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 12px !important;

    color: #416c46 !important;
    font-size: 14px !important;
    font-weight: 800 !important;

    cursor: pointer !important;
}

#modalContainer #basicModalContent .choose-payer input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: #416c46 !important;
}

#modalContainer #basicModalContent .choose-payer .row:last-child {
    margin-top: 18px !important;
    text-align: center !important;
}

#modalContainer #basicModalContent .choose-payer button.save {
    min-width: 150px !important;
    height: 40px !important;

    background: linear-gradient(180deg, #4d7b52, #416c46) !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 12px !important;

    font-size: 14px !important;
    font-weight: 800 !important;

    box-shadow: 0 10px 22px rgba(31,47,34,.18) !important;

    cursor: pointer !important;
    opacity: 1 !important;
}

#modalContainer #basicModalContent .choose-payer button.save:hover {
    background: linear-gradient(180deg, #5b8b60, #4d7b52) !important;
}
/* =====================================================
   09.15 Resort Life Messages Popup
   ===================================================== */

#messages-popup.open {
    width: 760px !important;
    max-width: 92vw !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 82vh !important;

    left: 50% !important;
    margin-left: 0 !important;
    transform: translateX(-50%) !important;
    top: 9vh !important;

    padding: 0 !important;

    background: #ffffff !important;
    background-image: none !important;

    border: none !important;
    border-radius: 24px !important;

    box-shadow: 0 24px 70px rgba(31,47,34,.24) !important;

    overflow: hidden !important;
}

/* Header */

#messages-popup .messages-caption {
    height: 58px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: linear-gradient(180deg, #4d7b52, #416c46) !important;
    color: #ffffff !important;

    border: none !important;
}

#messages-popup .message-subject {
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

#messages-popup .message-subject::before {
    content: "\f0e0";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}

/* Close */

#messages-popup .messages-close {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;

    width: 30px !important;
    height: 30px !important;

    border-radius: 50% !important;
    background: rgba(255,255,255,.18) !important;

    cursor: pointer !important;
}

#messages-popup .messages-close::before {
    content: "×";
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    color: #ffffff;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
}

/* Content */

#messages-popup .messages-content {
    padding: 22px 26px 28px !important;

    background:
        radial-gradient(circle at 50% 0%, rgba(187,228,193,.32), transparent 55%),
        #ffffff !important;

    max-height: calc(82vh - 58px) !important;
    overflow-y: auto !important;
}

/* New message tab */

#messages-popup .messages-new-wrapper > input[type="radio"] {
    display: none !important;
}

#messages-popup .messages-new-wrapper > label {
    display: inline-flex !important;
    align-items: center !important;

    margin: 0 0 18px !important;
    padding: 9px 16px !important;

    background: #bbe4c1 !important;
    color: #416c46 !important;

    border-radius: 999px !important;

    font-size: 14px !important;
    font-weight: 800 !important;
}

/* Form */

#messages-popup .message-form {
    max-width: 620px !important;
    margin: 0 auto !important;
}

#messages-popup .chosen-container,
#messages-popup textarea.text {
    width: 100% !important;
    max-width: 100% !important;
}

#messages-popup .chosen-single,
#messages-popup textarea.text {
    min-height: 42px !important;

    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.22) !important;
    border-radius: 12px !important;

    box-shadow: 0 3px 10px rgba(31,47,34,.08) !important;

    color: #1f2f22 !important;
    font-size: 14px !important;
}

#messages-popup .chosen-single {
    display: flex !important;
    align-items: center !important;

    padding: 0 36px 0 14px !important;
    line-height: 42px !important;
}

#messages-popup .chosen-single span {
    color: #1f2f22 !important;
    font-weight: 600 !important;
}

#messages-popup textarea.text {
    min-height: 92px !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
    resize: vertical !important;
}

/* Spacing */

#messages-popup .chosen-container {
    margin-bottom: 12px !important;
}

#messages-popup .messagecategory-note {
    display: none !important;
}

/* Attach */

#messages-popup .attach {
    margin: 14px 0 18px !important;
    padding: 14px 16px !important;

    background: #f5fbf6 !important;
    border: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 14px !important;

    color: #416c46 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

#messages-popup .attach input[type="file"] {
    margin-bottom: 8px !important;
}

/* Send */

#messages-popup button.message-sent {
    display: block !important;

    min-width: 160px !important;
    height: 42px !important;

    margin: 0 auto !important;

    background: linear-gradient(180deg, #4d7b52, #416c46) !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 13px !important;

    font-size: 14px !important;
    font-weight: 900 !important;

    box-shadow: 0 10px 22px rgba(31,47,34,.18) !important;

    opacity: 1 !important;
}

#messages-popup button.message-sent:disabled {
    background: #dfe8e1 !important;
    color: #7f927f !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
}

/* =====================================================
   09.16 Session Expired Login Popup — Resort Life Final
   ===================================================== */

#logonContainer:has(#loginbox) {
    width: 440px !important;
    max-width: 92vw !important;

    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;

    background: transparent !important;
    border: none !important;
    border-radius: 24px !important;

    box-shadow: 0 28px 70px rgba(31,47,34,.28) !important;
    overflow: visible !important;
}

/* Hide technical title but keep close button */

#logonContainer:has(#loginbox) .modalTitle {
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;

    background: transparent !important;
    border: none !important;
    color: transparent !important;
}

/* Close */

#logonContainer:has(#loginbox) a.modalCloseImg {
    display: block !important;
    top: -13px !important;
    right: -13px !important;
    z-index: 99999 !important;
}

/* Content wrapper */

#logonContainer:has(#loginbox) #basicModalContent {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: none !important;
    border-radius: 24px !important;

    overflow: hidden !important;
    box-shadow: none !important;
}

/* Remove giant empty modal height */

#logonContainer:has(#loginbox) .logon-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 24px !important;
}

/* Top agency header */

#logonContainer:has(#loginbox) .logon-wrapper > .header {
    margin: 0 !important;
}

#logonContainer:has(#loginbox) .logon-wrapper > .header .legend.panel.agency {
    min-height: 56px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: linear-gradient(180deg, #4d7b52, #416c46) !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 24px 24px 0 0 !important;

    font-size: 21px !important;
    font-weight: 900 !important;

    box-shadow: none !important;
}

/* Hide individuals button */

#logonContainer:has(#loginbox) .button-wrapper.person {
    display: none !important;
}

/* Login card */

#logonContainer:has(#loginbox) #loginbox {
    width: 100% !important;
    max-width: none !important;

    padding: 34px 36px 32px !important;

    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.36), transparent 55%),
        linear-gradient(180deg, #bbe4c1 0%, #c8edcc 100%) !important;

    border: none !important;
    border-radius: 0 0 24px 24px !important;

    box-shadow: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Choose row */

#logonContainer:has(#loginbox) #loginbox .choose {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    gap: 18px !important;
    margin: 0 0 24px !important;
}

#logonContainer:has(#loginbox) #loginbox .legend {
    color: #416c46 !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

#logonContainer:has(#loginbox) #loginbox .choose a {
    color: #416c46 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: right !important;
    text-decoration: none !important;
}

/* Rows */

#logonContainer:has(#loginbox) #loginbox .row {
    margin: 0 0 17px !important;
}

#logonContainer:has(#loginbox) #loginbox label {
    display: block !important;
    margin: 0 0 8px !important;

    color: #1f2f22 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

/* Inputs */

#logonContainer:has(#loginbox) #loginbox input[type="text"],
#logonContainer:has(#loginbox) #loginbox input[type="password"] {
    width: 100% !important;
    height: 46px !important;

    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.28) !important;
    border-radius: 13px !important;

    padding: 0 44px 0 14px !important;

    color: #1f2f22 !important;
    font-size: 15px !important;

    box-shadow: 0 6px 16px rgba(31,47,34,.10) !important;
    box-sizing: border-box !important;
}

#logonContainer:has(#loginbox) #loginbox input:focus {
    border-color: #416c46 !important;
    box-shadow:
        0 0 0 3px rgba(65,108,70,.18),
        0 6px 16px rgba(31,47,34,.10) !important;
    outline: none !important;
}

/* Eye icon */

#logonContainer:has(#loginbox) #loginbox .input_icon {
    color: #416c46 !important;
    opacity: .75 !important;
}

/* Bottom row */

#logonContainer:has(#loginbox) #loginbox .row:last-of-type {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: center !important;
    gap: 14px !important;

    margin-bottom: 0 !important;
}

#logonContainer:has(#loginbox) #loginbox .forgot {
    color: #416c46 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

/* Sign in */

#logonContainer:has(#loginbox) #loginbox button.button {
    width: 100% !important;
    height: 46px !important;

    background: linear-gradient(180deg, #4d7b52, #416c46) !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 13px !important;

    font-size: 15px !important;
    font-weight: 900 !important;

    box-shadow: 0 12px 26px rgba(31,47,34,.20) !important;
}

#logonContainer:has(#loginbox) #loginbox button.button:hover {
    background: linear-gradient(180deg, #5b8b60, #4d7b52) !important;
}

/* Remove excess technical spacing */

#logonContainer:has(#loginbox) .fixer {
    display: none !important;
}

/* Mobile */

@media (max-width: 767px) {
    #logonContainer:has(#loginbox) {
        width: calc(100vw - 34px) !important;
    }

    #logonContainer:has(#loginbox) #loginbox {
        padding: 26px 22px 24px !important;
    }

    #logonContainer:has(#loginbox) #loginbox .row:last-of-type {
        grid-template-columns: 1fr !important;
    }
}

/* =====================================================
   09.17 Favorites Page — Resort Life Polish
   ===================================================== */

/* Scope only for the Favorites results page */
body:has(.resultset table.res td.favorites) > .samo_container {
    width: min(1200px, calc(100% - 32px)) !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Main green wrapper */
body:has(.resultset table.res td.favorites)
.container.panel {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 12px !important;

    background: #bbe4c1 !important;
    border: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 18px !important;

    box-sizing: border-box !important;

    box-shadow:
        0 12px 30px rgba(31,47,34,.08),
        inset 0 1px 0 rgba(255,255,255,.45) !important;
}

/* Resultset fills the card */
body:has(.resultset table.res td.favorites)
.container.panel > .resultset {
    width: 100% !important;
    margin: 0 !important;
}

/* Favorites table */
body:has(.resultset table.res td.favorites)
.resultset > table.res {
    width: 100% !important;

    margin: 0 !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 14px !important;

    overflow: hidden !important;

    box-shadow: 0 8px 22px rgba(31,47,34,.08) !important;
}

/* Header */
body:has(.resultset table.res td.favorites)
.resultset > table.res thead th {
    padding: 11px 12px !important;

    background: linear-gradient(
        180deg,
        #4d7b52 0%,
        #416c46 100%
    ) !important;

    color: #ffffff !important;

    border: none !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    text-align: left !important;
    vertical-align: middle !important;

    white-space: normal !important;
}

/* Rounded outer header corners */
body:has(.resultset table.res td.favorites)
.resultset > table.res thead th:first-child {
    border-top-left-radius: 13px !important;
}

body:has(.resultset table.res td.favorites)
.resultset > table.res thead th:last-child {
    border-top-right-radius: 13px !important;
}

/* Result rows */
body:has(.resultset table.res td.favorites)
.resultset > table.res tbody td {
    padding: 13px 12px !important;

    background: #ffffff !important;
    color: #1f2f22 !important;

    border: none !important;
    border-bottom: 1px solid rgba(65,108,70,.09) !important;

    font-size: 12px !important;
    line-height: 1.35 !important;

    vertical-align: middle !important;
}

/* Soft alternating background */
body:has(.resultset table.res td.favorites)
.resultset > table.res tbody tr:nth-child(even) td {
    background: #f5fbf6 !important;
}

body:has(.resultset table.res td.favorites)
.resultset > table.res tbody tr:last-child td {
    border-bottom: none !important;
}

/* Hotel name */
body:has(.resultset table.res td.favorites)
.resultset td.link-hotel {
    color: #416c46 !important;
    font-weight: 800 !important;
}

/* Nights */
body:has(.resultset table.res td.favorites)
.resultset td.c {
    color: #416c46 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

/* Price button */
body:has(.resultset table.res td.favorites)
.resultset td.td_price a {
    text-decoration: none !important;
}

body:has(.resultset table.res td.favorites)
.resultset .price_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 34px !important;

    padding: 0 13px !important;

    background: #ffffff !important;
    color: #416c46 !important;

    border: 1px solid rgba(65,108,70,.24) !important;
    border-radius: 10px !important;

    font-size: 13px !important;
    font-weight: 900 !important;

    white-space: nowrap !important;

    box-shadow: 0 4px 12px rgba(31,47,34,.08) !important;
}

body:has(.resultset table.res td.favorites)
.resultset .price_button:hover {
    background: #d7f0db !important;
    border-color: #416c46 !important;
    transform: translateY(-1px);
}

/* Remove / notification cells */
body:has(.resultset table.res td.favorites)
.resultset td.favorites {
    width: 38px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;

    text-align: center !important;
}

/* Slightly larger click area */
body:has(.resultset table.res td.favorites)
.resultset td.favorites > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 28px !important;
    height: 28px !important;

    border-radius: 50% !important;

    cursor: pointer !important;
}

body:has(.resultset table.res td.favorites)
.resultset td.favorites > span:hover {
    background: rgba(65,108,70,.10) !important;
}

/* Mobile: preserve horizontal table scroll */
@media (max-width: 767px) {
    body:has(.resultset table.res td.favorites)
    > .samo_container {
        width: calc(100% - 16px) !important;
    }

    body:has(.resultset table.res td.favorites)
    .container.panel {
        padding: 8px !important;
    }

    body:has(.resultset table.res td.favorites)
    .container.panel > .resultset {
        overflow-x: auto !important;
        overflow-y: visible !important;
        touch-action: pan-x pan-y !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body:has(.resultset table.res td.favorites)
    .resultset > table.res {
        min-width: 940px !important;
    }
}

/* =====================================================
   09.18 Favorites Page Footer Placement — FINAL
   Do not style footer content here
   ===================================================== */

/* Only the Favorites page */
body:has(.samo_container.favorites) {
    min-height: 100vh !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

/* Favorites content occupies all free vertical space */
body:has(.samo_container.favorites) > .samo_container.favorites {
    flex: 1 0 auto !important;

    width: var(--main-container-width, 1200px) !important;
    max-width: calc(100% - 32px) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}

/*
   Footer:
   only positioning and viewport width.
   Typography, grid, padding and height come from the original footer CSS.
*/
body:has(.samo_container.favorites) > footer.rl-footer {
    flex: 0 0 auto !important;
    align-self: stretch !important;

    position: relative !important;
    inset: auto !important;
    transform: none !important;

    width: 100vw !important;
    max-width: none !important;

    margin-top: auto !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: calc(50% - 50vw) !important;

    box-sizing: border-box !important;
}

/* Do not override the original footer component */
body:has(.samo_container.favorites)
> footer.rl-footer
> .rl-footer-inner {
    /* intentionally empty */
}

@media (max-width: 767px) {
    body:has(.samo_container.favorites)
    > .samo_container.favorites {
        width: calc(100% - 16px) !important;
        max-width: none !important;
    }
}

/* =====================================================
   Favorites Page — Footer Placement
   Footer design comes from global .rl-footer styles
   ===================================================== */

body:has(#search_tour.favorites) {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
}

body:has(#search_tour.favorites) > .samo_container.favorites {
    flex: 1 0 auto !important;
}

body:has(#search_tour.favorites) > footer.rl-footer {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: auto !important;
}
/* =====================================================
   09.17.1 Favorites Results Width Fix
   Must be LAST
   ===================================================== */

/* Main favorites content width */

.samo_container.favorites {
    width: min(1200px, calc(100% - 32px)) !important;
    max-width: 1200px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

/* Green outer panel follows page width exactly */

.samo_container.favorites > .container.panel {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 12px !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Resultset must fill the whole green panel */

.samo_container.favorites
> .container.panel
> .resultset {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow-x: auto !important;
    overflow-y: visible !important;

    box-sizing: border-box !important;
}

/* Table fills resultset */

.samo_container.favorites
> .container.panel
> .resultset
> table.res {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    table-layout: fixed !important;

    margin: 0 !important;

    box-sizing: border-box !important;
}

/* Better column balance */

.samo_container.favorites table.res th:nth-child(1),
.samo_container.favorites table.res td:nth-child(1) {
    width: 10% !important;
}

.samo_container.favorites table.res th:nth-child(2),
.samo_container.favorites table.res td:nth-child(2) {
    width: 29% !important;
}

.samo_container.favorites table.res th:nth-child(3),
.samo_container.favorites table.res td:nth-child(3) {
    width: 6% !important;
    text-align: center !important;
}

.samo_container.favorites table.res th:nth-child(4),
.samo_container.favorites table.res td:nth-child(4) {
    width: 17% !important;
}

.samo_container.favorites table.res th:nth-child(5),
.samo_container.favorites table.res td:nth-child(5) {
    width: 6% !important;
    text-align: center !important;
}

.samo_container.favorites table.res th:nth-child(6),
.samo_container.favorites table.res td:nth-child(6) {
    width: 16% !important;
}

.samo_container.favorites table.res th:nth-child(7),
.samo_container.favorites table.res td:nth-child(7) {
    width: 10% !important;
}

.samo_container.favorites table.res th:nth-child(8),
.samo_container.favorites table.res td:nth-child(8),
.samo_container.favorites table.res th:nth-child(9),
.samo_container.favorites table.res td:nth-child(9) {
    width: 3% !important;
    text-align: center !important;
}

/* Prevent content from stretching columns */

.samo_container.favorites table.res th,
.samo_container.favorites table.res td {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

/* Keep price compact */

.samo_container.favorites .td_price,
.samo_container.favorites .price_button {
    white-space: nowrap !important;
}

/* Mobile horizontal scroll */

@media (max-width: 767px) {
    .samo_container.favorites {
        width: calc(100% - 16px) !important;
    }

    .samo_container.favorites
    > .container.panel
    > .resultset
    > table.res {
        min-width: 920px !important;
        table-layout: auto !important;
    }
}

/* =====================================================
   09.21 Additional Services Button
   Resort Life Style
   ===================================================== */

button.additional_services{

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:10px !important;

    min-width:290px !important;
    min-height:44px !important;

    margin:18px auto !important;

    padding:0 24px !important;

    position:relative !important;
    z-index:2 !important;

    background:linear-gradient(
        180deg,
        #4d7b52 0%,
        #416c46 100%
    ) !important;

    color:#ffffff !important;

    border:none !important;
    border-radius:12px !important;

    font-family:var(--main-font-family) !important;
    font-size:14px !important;
    font-weight:700 !important;
    letter-spacing:.2px !important;

    cursor:pointer !important;

    box-shadow:
        0 10px 22px rgba(31,47,34,.18),
        inset 0 1px 0 rgba(255,255,255,.10) !important;

    transition:
        background .18s ease,
        transform .18s ease,
        box-shadow .18s ease !important;
}

/* Icon */

button.additional_services::before{

    content:"\f0fe";

    font-family:"Font Awesome 6 Free" !important;
    font-weight:900 !important;

    font-size:15px !important;
    line-height:1 !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    flex:0 0 auto !important;

}

/* Hover */

button.additional_services:hover{

    background:linear-gradient(
        180deg,
        #5b8b60 0%,
        #4d7b52 100%
    ) !important;

    transform:translateY(-1px) !important;

    box-shadow:
        0 14px 28px rgba(31,47,34,.22),
        inset 0 1px 0 rgba(255,255,255,.14) !important;

}

/* Active */

button.additional_services:active{

    transform:translateY(0) !important;

    box-shadow:
        0 8px 18px rgba(31,47,34,.18),
        inset 0 2px 4px rgba(0,0,0,.08) !important;

}

/* Focus */

button.additional_services:focus-visible{

    outline:none !important;

    box-shadow:
        0 0 0 4px rgba(65,108,70,.18),
        0 14px 28px rgba(31,47,34,.22) !important;

}

/* Mobile */

@media (max-width:767px){

    button.additional_services{

        width:100% !important;
        min-width:0 !important;

    }

}

/* =====================================================
   09.22 Final Booking Price Card
   ===================================================== */

/* Main final block */

#search_tour fieldset.panel:has(.PRICE_DETAIL),
#bron_info fieldset.panel:has(.PRICE_DETAIL),
.samo_container fieldset.panel:has(.PRICE_DETAIL) {
    float: none !important;

    width: min(620px, calc(100% - 32px)) !important;
    max-width: 620px !important;

    margin: 24px auto 30px !important;
    padding: 24px !important;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(255,255,255,.54),
            transparent 50%
        ),
        linear-gradient(
            180deg,
            #d7f0db 0%,
            #c3e7c8 100%
        ) !important;

    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 22px !important;

    box-shadow:
        0 18px 44px rgba(31,47,34,.13),
        inset 0 1px 0 rgba(255,255,255,.65) !important;

    color: #355b3a !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Header */

.samo_container fieldset.panel:has(.PRICE_DETAIL) .legend-tag {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    color: #416c46 !important;

    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .4px !important;
    text-transform: uppercase !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) .legend-tag::before {
    content: "\f02b" !important;

    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;

    width: 30px !important;
    height: 30px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: rgba(255,255,255,.55) !important;
    border-radius: 50% !important;

    font-size: 13px !important;
}

/* Remove unnecessary empty tables */

.samo_container fieldset.panel:has(.PRICE_DETAIL) > table.price_details:empty {
    display: none !important;
}

/* Price area */

.samo_container fieldset.panel:has(.PRICE_DETAIL) .PRICE_DETAIL {
    margin: 0 0 18px !important;
    padding: 18px 20px !important;

    background: rgba(255,255,255,.58) !important;

    border: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 16px !important;

    box-shadow:
        0 8px 20px rgba(31,47,34,.07),
        inset 0 1px 0 rgba(255,255,255,.75) !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) .PRICE_DETAIL table {
    width: 100% !important;
    margin: 0 !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) .CLAIMPRICE {
    padding: 0 !important;

    color: #1f2f22 !important;

    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -.4px !important;

    text-align: center !important;
}

/* Contact row */

.samo_container fieldset.panel:has(.PRICE_DETAIL) table.price_details {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) td.buttons {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) table.width100p {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) .bron-contacts {
    padding: 0 !important;
    vertical-align: middle !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) .bron-contacts:first-child {
    width: 190px !important;
    padding-right: 14px !important;

    color: #416c46 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    text-align: right !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) input.contacts {
    width: 100% !important;
    min-height: 42px !important;

    padding: 0 14px !important;

    background: #ffffff !important;

    border: 1px solid rgba(65,108,70,.20) !important;
    border-radius: 12px !important;

    color: #1f2f22 !important;

    font-family: var(--main-font-family) !important;
    font-size: 13px !important;

    box-shadow:
        0 4px 12px rgba(31,47,34,.07),
        inset 0 1px 0 rgba(255,255,255,.8) !important;

    outline: none !important;
    box-sizing: border-box !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) input.contacts:focus {
    border-color: #416c46 !important;

    box-shadow:
        0 0 0 3px rgba(65,108,70,.14),
        0 5px 14px rgba(31,47,34,.08) !important;
}

/* Notice */

.samo_container fieldset.panel:has(.PRICE_DETAIL) .CLAIMPRICE_NOTICE {
    display: block !important;

    margin: 14px 0 0 !important;
    padding: 10px 12px !important;

    background: #fff8e8 !important;

    border: 1px solid rgba(180,120,20,.16) !important;
    border-radius: 11px !important;

    color: #6f5420 !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    text-align: center !important;
}

/* Button row */

.samo_container fieldset.panel:has(.PRICE_DETAIL)
table.price_details > tbody > tr:last-child > td.buttons {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;

    margin-top: 18px !important;
}

/* Recalculate */

.samo_container fieldset.panel:has(.PRICE_DETAIL) button.calc {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    min-width: 160px !important;
    min-height: 44px !important;

    padding: 0 20px !important;

    background: #ffffff !important;
    color: #416c46 !important;

    border: 1px solid rgba(65,108,70,.22) !important;
    border-radius: 13px !important;

    font-family: var(--main-font-family) !important;
    font-size: 14px !important;
    font-weight: 800 !important;

    box-shadow: 0 8px 18px rgba(31,47,34,.08) !important;

    cursor: pointer !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) button.calc::before {
    content: "\f021" !important;

    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;

    font-size: 14px !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) button.calc:hover {
    background: #f5fbf6 !important;
    border-color: rgba(65,108,70,.34) !important;

    transform: translateY(-1px) !important;
}

/* Booking */

.samo_container fieldset.panel:has(.PRICE_DETAIL) button.bron {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    min-width: 180px !important;
    min-height: 44px !important;

    padding: 0 22px !important;

    background: linear-gradient(
        180deg,
        #4d7b52 0%,
        #416c46 100%
    ) !important;

    color: #ffffff !important;

    border: none !important;
    border-radius: 13px !important;

    font-family: var(--main-font-family) !important;
    font-size: 14px !important;
    font-weight: 900 !important;

    box-shadow:
        0 11px 24px rgba(31,47,34,.20),
        inset 0 1px 0 rgba(255,255,255,.14) !important;

    cursor: pointer !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) button.bron::before {
    content: "\f058" !important;

    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;

    font-size: 15px !important;
}

.samo_container fieldset.panel:has(.PRICE_DETAIL) button.bron:hover:not(:disabled) {
    background: linear-gradient(
        180deg,
        #5b8b60 0%,
        #4d7b52 100%
    ) !important;

    transform: translateY(-1px) !important;

    box-shadow:
        0 15px 30px rgba(31,47,34,.23),
        inset 0 1px 0 rgba(255,255,255,.16) !important;
}

/* Disabled booking */

.samo_container fieldset.panel:has(.PRICE_DETAIL) button.bron:disabled {
    background: #dfe7e0 !important;
    color: #8b998d !important;

    box-shadow: none !important;

    cursor: not-allowed !important;
    opacity: 1 !important;
}

/* Mobile */

@media (max-width: 767px) {
    .samo_container fieldset.panel:has(.PRICE_DETAIL) {
        width: calc(100% - 16px) !important;
        padding: 18px !important;
    }

    .samo_container fieldset.panel:has(.PRICE_DETAIL) .bron-contacts,
    .samo_container fieldset.panel:has(.PRICE_DETAIL) .bron-contacts:first-child {
        display: block !important;
        width: 100% !important;

        padding: 0 !important;
        text-align: left !important;
    }

    .samo_container fieldset.panel:has(.PRICE_DETAIL) .bron-contacts:first-child {
        margin-bottom: 7px !important;
    }

    .samo_container fieldset.panel:has(.PRICE_DETAIL)
    table.price_details > tbody > tr:last-child > td.buttons {
        flex-direction: column !important;
    }

    .samo_container fieldset.panel:has(.PRICE_DETAIL) button.calc,
    .samo_container fieldset.panel:has(.PRICE_DETAIL) button.bron {
        width: 100% !important;
    }
}
/* =====================================================
   10. Weather Widget
   ===================================================== */

/* Resort Life: corporate weather widget */

@media screen and (min-width: 761px) {
    .samo_container:has(#rlt-weather-widget) {
        width: var(--main-container-width, 1200px) !important;
        max-width: calc(100% - 32px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }
}

#rlt-weather-widget.rlt-weather-widget {
    width: auto;
    box-sizing: border-box;
    margin: 18px 10px 14px;
    padding: 15px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    background:
        linear-gradient(
            135deg,
            #f4faf5 0%,
            #edf7ef 100%
        );

    border: 1px solid rgba(63, 112, 72, 0.22);
    border-left: 5px solid #3f7048;
    border-radius: 13px;

    box-shadow:
        0 8px 24px rgba(43, 79, 50, 0.09);

    color: #314537;
    font-family: Arial, sans-serif;
}

#rlt-weather-widget .rlt-weather-main {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 14px;
}

#rlt-weather-widget .rlt-weather-icon {
    flex: 0 0 auto;

    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;

    border: 1px solid rgba(63, 112, 72, 0.18);
    border-radius: 11px;

    box-shadow:
        0 4px 12px rgba(43, 79, 50, 0.08);

    font-size: 24px;
    line-height: 1;
}

#rlt-weather-widget .rlt-weather-copy {
    min-width: 0;
}

#rlt-weather-widget .rlt-weather-label {
    margin-bottom: 3px;

    color: #67806d;

    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;

    letter-spacing: 0.55px;
    text-transform: uppercase;
}

#rlt-weather-widget .rlt-weather-title {
    color: #294c31;

    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
}

#rlt-weather-widget .rlt-weather-subtitle {
    margin-top: 3px;

    color: #718277;

    font-size: 12px;
    line-height: 1.3;
}

#rlt-weather-widget .rlt-weather-details {
    flex: 0 0 auto;

    display: flex;
    align-items: stretch;
    gap: 8px;
}

#rlt-weather-widget .rlt-weather-detail {
    min-width: 80px;
    padding: 8px 12px;

    background: rgba(255, 255, 255, 0.82);

    border: 1px solid rgba(63, 112, 72, 0.15);
    border-radius: 9px;

    box-shadow:
        0 2px 8px rgba(43, 79, 50, 0.04);

    text-align: center;
}

#rlt-weather-widget .rlt-weather-detail span,
#rlt-weather-widget .rlt-weather-detail strong {
    display: block;
}

#rlt-weather-widget .rlt-weather-detail span {
    margin-bottom: 3px;

    color: #7a8b7e;

    font-size: 10px;
    line-height: 1.2;
}

#rlt-weather-widget .rlt-weather-detail strong {
    color: #3f7048;

    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

#rlt-weather-widget .rlt-weather-status {
    color: #718277;

    font-size: 12px;
}

/* Soft corporate hover */

#rlt-weather-widget.rlt-weather-widget {
    transition:
        box-shadow 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

#rlt-weather-widget.rlt-weather-widget:hover {
    border-color: rgba(63, 112, 72, 0.34);

    box-shadow:
        0 10px 28px rgba(43, 79, 50, 0.13);

    transform: translateY(-1px);
}

/* Tablet and mobile */

@media screen and (max-width: 760px) {
    #rlt-weather-widget.rlt-weather-widget {
        margin: 12px 5px;
        padding: 13px;

        display: block;

        border-left-width: 4px;

        touch-action: pan-y;
    }

    #rlt-weather-widget .rlt-weather-details {
        width: 100%;
        margin-top: 12px;

        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    #rlt-weather-widget .rlt-weather-detail {
        min-width: 0;
        padding: 8px 5px;
    }

    #rlt-weather-widget.rlt-weather-widget:hover {
        transform: none;
    }
}

@media screen and (max-width: 430px) {
    #rlt-weather-widget .rlt-weather-icon {
        width: 41px;
        height: 41px;

        font-size: 22px;
    }

    #rlt-weather-widget .rlt-weather-title {
        font-size: 15px;
    }

    #rlt-weather-widget .rlt-weather-label {
        font-size: 9px;
    }

    #rlt-weather-widget .rlt-weather-detail-location {
        display: none;
    }

    #rlt-weather-widget .rlt-weather-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* =====================================================
   Book ID Button — Final Footer Safe Fix
   Must be placed at the END of customer.css
   ===================================================== */

a.external[title="Book ID"] {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;

    float: right !important;
    clear: both !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;

    width: auto !important;
    min-width: 156px !important;
    height: 44px !important;

    margin: 18px 26px 20px 0 !important;
    padding: 0 22px !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            180deg,
            #5b8b60 0%,
            #416c46 100%
        ) !important;

    background-image:
        linear-gradient(
            180deg,
            #5b8b60 0%,
            #416c46 100%
        ) !important;

    color: #ffffff !important;

    border: 1px solid rgba(65,108,70,.24) !important;
    border-radius: 999px !important;

    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    text-indent: 0 !important;
    text-align: center !important;
    text-decoration: none !important;

    white-space: nowrap !important;
    overflow: visible !important;

    opacity: 1 !important;

    box-shadow:
        0 12px 26px rgba(31,47,34,.22),
        inset 0 1px 0 rgba(255,255,255,.16) !important;

    cursor: pointer !important;

    z-index: 20 !important;

    transition:
        background .18s ease,
        transform .18s ease,
        box-shadow .18s ease !important;
}

/* Book ID icon */

a.external[title="Book ID"]::before {
    content: "\f02b" !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;

    width: 18px !important;

    margin: 0 !important;

    font-family: "Font Awesome 6 Free" !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    color: #ffffff !important;

    text-indent: 0 !important;
}

/* Hover */

a.external[title="Book ID"]:hover {
    background:
        linear-gradient(
            180deg,
            #67996c 0%,
            #4d7b52 100%
        ) !important;

    color: #ffffff !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 16px 32px rgba(31,47,34,.27),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* Active */

a.external[title="Book ID"]:active {
    transform: translateY(0) !important;

    background: #416c46 !important;

    box-shadow:
        0 7px 16px rgba(31,47,34,.18) !important;
}

/* Ensure footer cannot cover the button */

.rl-footer {
    clear: both !important;
}

a.external[title="Book ID"] + .rl-footer,
a.external[title="Book ID"] ~ .rl-footer {
    clear: both !important;
}

/* =====================================================
   99.1 Instant Confirmation Row — Final Override
   Must remain at the END of customer.css
   ===================================================== */

.samo_container #scrollto table.res tbody tr:has(
    td.hotel-seats span.hotel_availability_Y
) > td {
    background: #edf6ee !important;
    border-bottom-color: #c3d8c6 !important;
}

.samo_container #scrollto table.res tbody tr:has(
    td.hotel-seats span.hotel_availability_Y
) > td:first-child {
    box-shadow: inset 4px 0 0 #416c46 !important;
}

.samo_container #scrollto table.res tbody tr:has(
    td.hotel-seats span.hotel_availability_Y
):hover > td {
    background: #e2f0e5 !important;
}

/* Mobile */

@media (max-width: 767px) {
    a.external[title="Book ID"] {
        float: none !important;

        width: calc(100% - 32px) !important;
        max-width: 260px !important;

        margin: 16px auto 20px !important;
    }
}

@media (max-width: 767px) {

    .samo_container #scrollto table.res tbody tr.price_info:has(
        td.hotel-seats span.hotel_availability_Y
    ) > td {
        background: #edf6ee !important;
    }

    .samo_container #scrollto table.res tbody tr.price_info:has(
        td.hotel-seats span.hotel_availability_Y
    ):hover > td {
        background: #edf6ee !important;
    }
}
/* =====================================================
   Login Page Viewport Fit
   ===================================================== */

@media (min-width:768px){

html:has(#loginbox),
body:has(#loginbox){
    height:100vh !important;
    overflow:hidden !important;
}

body:has(#loginbox){
    display:flex !important;
    flex-direction:column !important;
}

body:has(#loginbox) .samo_container{
    flex:1 1 auto !important;
    min-height:0 !important;
}

body:has(#loginbox) .samo_container>.container{

    height:100% !important;

    display:flex !important;
    justify-content:center !important;
    align-items:flex-start !important;

    padding-top:24px !important;
    padding-bottom:18px !important;

    box-sizing:border-box !important;
}

body:has(#loginbox) .logon-wrapper{
    transform:scale(.92);
    transform-origin:top center;
}

body:has(#loginbox) #loginbox{
    padding:24px 30px 22px !important;
}

body:has(#loginbox) .rl-footer{
    flex:0 0 auto !important;
    margin-top:0 !important;
}

}

/* =====================================================
   Global Application Shell — Sticky Footer
   Excludes the dedicated login layout
   ===================================================== */

html:not(:has(#loginbox)) {
    min-height: 100% !important;
}

body:not(:has(#loginbox)) {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
}

body:not(:has(#loginbox)) > #header {
    flex: 0 0 auto !important;
}

body:not(:has(#loginbox)) > .samo_container {
    flex: 1 0 auto !important;
}

body:not(:has(#loginbox)) > footer.rl-footer {
    flex: 0 0 auto !important;
}

/* =====================================================
   CL Refer Inner Reservation Tables
   Orders and Tourists as independent premium cards
   ===================================================== */

.samo_container table.cl_refer_result table.orders-group,
.samo_container table.cl_refer_result table.tbl_peoples {
    display: table !important;
    width: 100% !important;
    margin: 12px 0 !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 16px !important;

    overflow: hidden !important;
    box-shadow: 0 8px 22px rgba(31,47,34,.08) !important;
}

.samo_container table.cl_refer_result table.orders-group > thead > tr > th,
.samo_container table.cl_refer_result table.tbl_peoples > thead > tr > th {
    background: linear-gradient(180deg, #4d7b52, #416c46) !important;
    color: #ffffff !important;

    border: none !important;

    font-weight: 800 !important;
    vertical-align: middle !important;
}

.samo_container table.cl_refer_result table.orders-group > thead > tr > th:first-child,
.samo_container table.cl_refer_result table.tbl_peoples > thead > tr > th:first-child {
    border-top-left-radius: 15px !important;
}

.samo_container table.cl_refer_result table.orders-group > thead > tr > th:last-child,
.samo_container table.cl_refer_result table.tbl_peoples > thead > tr > th:last-child {
    border-top-right-radius: 15px !important;
}

.samo_container table.cl_refer_result table.orders-group > tbody > tr > td,
.samo_container table.cl_refer_result table.tbl_peoples > tbody > tr > td {
    background: #ffffff !important;
    color: #1f2f22 !important;

    border-bottom: 1px solid rgba(65,108,70,.08) !important;
    vertical-align: middle !important;
}

.samo_container table.cl_refer_result table.orders-group > tbody > tr:nth-child(even) > td,
.samo_container table.cl_refer_result table.tbl_peoples > tbody > tr:nth-child(even) > td {
    background: #f5fbf6 !important;
}

.samo_container table.cl_refer_result table.orders-group > tbody > tr:hover > td,
.samo_container table.cl_refer_result table.tbl_peoples > tbody > tr:hover > td {
    background: #eaf7ec !important;
}

.samo_container table.cl_refer_result table.orders-group > tbody > tr:last-child > td,
.samo_container table.cl_refer_result table.tbl_peoples > tbody > tr:last-child > td {
    border-bottom: none !important;
}

/* =====================================================
   Edit Tourist Popup — Resort Life Information Cards
   Actual component: #edit_tourist form.edit_tourist
   ===================================================== */

#edit_tourist {
    background: #ffffff !important;
}

#edit_tourist form.edit_tourist {
    padding: 22px 26px 24px !important;
    background: #ffffff !important;
    color: #1f2f22 !important;
}

#edit_tourist form.edit_tourist fieldset.panel {
    margin: 0 0 16px !important;
    padding: 20px 22px !important;

    background: linear-gradient(180deg, #f8fcf8 0%, #eef8ef 100%) !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 18px !important;

    box-shadow:
        0 10px 24px rgba(31,47,34,.07),
        inset 0 1px 0 rgba(255,255,255,.72) !important;
}

#edit_tourist form.edit_tourist .legend-tag {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;

    margin: 0 0 16px !important;
    padding: 0 0 12px !important;

    color: #416c46 !important;
    font-size: 0 !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    border-bottom: 1px solid rgba(65,108,70,.14) !important;
}

#edit_tourist form.edit_tourist .legend-tag::before {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;

    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;

    background: rgba(187,228,193,.72) !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.12) !important;
    border-radius: 10px !important;

    font-family: "Font Awesome 5 Free" !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

#edit_tourist form.edit_tourist .legend-tag::after {
    display: inline-block !important;
    color: #416c46 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

#edit_tourist form.edit_tourist fieldset.panel:first-of-type .legend-tag::before {
    content: "\f2c2" !important;
}

#edit_tourist form.edit_tourist fieldset.panel:first-of-type .legend-tag::after {
    content: "Personal Information" !important;
}

#edit_tourist form.edit_tourist fieldset.panel:nth-of-type(2) .legend-tag::before {
    content: "\f5ab" !important;
}

#edit_tourist form.edit_tourist fieldset.panel:nth-of-type(2) .legend-tag::after {
    content: "Passport & Documents" !important;
}

#edit_tourist form.edit_tourist .width100p {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

#edit_tourist form.edit_tourist .left_column {
    color: #416c46 !important;
    font-weight: 700 !important;
    text-align: right !important;
    vertical-align: middle !important;
}

#edit_tourist form.edit_tourist .frm-input {
    box-sizing: border-box !important;
    background: #ffffff !important;
    color: #1f2f22 !important;
    border: 1px solid rgba(65,108,70,.22) !important;
    border-radius: 11px !important;
    box-shadow: 0 3px 10px rgba(31,47,34,.08) !important;
}

#edit_tourist form.edit_tourist .frm-input:focus {
    border-color: #416c46 !important;
    box-shadow: 0 0 0 3px rgba(65,108,70,.16) !important;
    outline: none !important;
}

#edit_tourist form.edit_tourist .chosen-container {
    border-radius: 11px !important;
    box-shadow: 0 3px 10px rgba(31,47,34,.08) !important;
}

#edit_tourist form.edit_tourist .chosen-container .chosen-single {
    background: #ffffff !important;
    color: #1f2f22 !important;
    border: 1px solid rgba(65,108,70,.22) !important;
    border-radius: 11px !important;
    box-shadow: none !important;
}

#edit_tourist form.edit_tourist input[type="submit"] {
    display: block !important;
    min-width: 150px !important;
    height: 42px !important;
    margin: 14px auto 0 !important;

    background: linear-gradient(180deg, #4d7b52 0%, #416c46 100%) !important;
    color: #ffffff !important;

    border: 1px solid rgba(65,108,70,.34) !important;
    border-radius: 12px !important;

    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .1px !important;

    box-shadow:
        0 10px 22px rgba(31,47,34,.17),
        inset 0 1px 0 rgba(255,255,255,.14) !important;
}

#edit_tourist form.edit_tourist input[type="submit"]:hover {
    background: linear-gradient(180deg, #5b8b60 0%, #4d7b52 100%) !important;
    box-shadow:
        0 13px 26px rgba(31,47,34,.20),
        inset 0 1px 0 rgba(255,255,255,.16) !important;
    transform: translateY(-1px) !important;
}

/* =====================================================
   Global Modal Positioning System
   Centered viewport shell with internal scrolling
   ===================================================== */

#modalContainer:has(#basicModalContent),
#logonContainer:has(#basicModalContent) {
    position: fixed !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;

    margin: 0 !important;
    transform: translate(-50%, -50%) !important;

    max-height: calc(100vh - 32px) !important;
    box-sizing: border-box !important;

    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: visible !important;
}

#modalContainer:has(#basicModalContent) #basicModalContent,
#logonContainer:has(#basicModalContent) #basicModalContent {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scroll-padding-block: 24px !important;
    box-sizing: border-box !important;
}

#messages-popup.open {
    position: fixed !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;

    margin: 0 !important;
    transform: translate(-50%, -50%) !important;

    display: flex !important;
    flex-direction: column !important;
    max-height: calc(100vh - 32px) !important;
    box-sizing: border-box !important;
}

#messages-popup.open .messages-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scroll-padding-block: 24px !important;
}

/* =====================================================
   Popup Pay Action
   Actual modal control: <button class="pay_claim">
   ===================================================== */

#basicModalContent .pay_claim {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 42px !important;
    width: max-content !important;
    max-width: 100% !important;
    padding: 0 28px !important;
    margin: 18px auto 4px !important;
    box-sizing: border-box !important;

    background: #416c46 !important;
    color: #ffffff !important;

    border: 1px solid #416c46 !important;
    border-radius: 14px !important;

    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;

    box-shadow: 0 9px 20px rgba(31,47,34,.18) !important;
    cursor: pointer !important;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .12s ease !important;
}

#basicModalContent .pay_claim:hover {
    background: #58885d !important;
    border-color: #58885d !important;
    box-shadow: 0 12px 24px rgba(31,47,34,.22) !important;
    transform: translateY(-1px) !important;
}

#basicModalContent .pay_claim:active {
    background: #416c46 !important;
    border-color: #416c46 !important;
    box-shadow: 0 4px 10px rgba(31,47,34,.16) !important;
    transform: translateY(0) !important;
}

#basicModalContent .pay_claim:focus-visible {
    outline: 3px solid rgba(88,136,93,.42) !important;
    outline-offset: 3px !important;
}

#basicModalContent .pay_claim:disabled,
#basicModalContent .pay_claim[disabled],
#basicModalContent .pay_claim.disabled,
#basicModalContent .pay_claim[aria-disabled="true"] {
    background: #aab9ac !important;
    border-color: #aab9ac !important;
    color: #ffffff !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    opacity: .72 !important;
    transform: none !important;
}

/* =====================================================
   09.13 Electronic Documents Popup — authoritative section
   ===================================================== */

#modalContainer:has(#e_doc) {
    width: 520px !important;
    max-width: calc(100vw - 32px) !important;
    background: transparent !important;
    border: none !important;
    border-radius: 28px !important;
    box-shadow: 0 22px 55px rgba(31,47,34,.22) !important;
    overflow: hidden !important;
}

#modalContainer:has(#e_doc) .modalTitle {
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: none !important;
    color: transparent !important;
}

#modalContainer:has(#e_doc) a.modalCloseImg {
    display: block !important;
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: 40px !important;
    height: 40px !important;
    z-index: 100000 !important;
}

#modalContainer:has(#e_doc) a.modalCloseImg::before {
    font-size: 28px !important;
}

#modalContainer:has(#e_doc) #basicModalContent {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 110px 34px 38px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: none !important;
    border-radius: 28px !important;
    box-shadow: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

#modalContainer:has(#e_doc) #basicModalContent::before {
    content: none !important;
    display: none !important;
}

#modalContainer:has(#e_doc) #basicModalContent::after {
    content: "Electronic Documents" !important;
    display: block !important;
    position: absolute !important;
    top: 31px !important;
    right: 34px !important;
    left: 34px !important;
    margin: 0 !important;
    padding: 0 0 22px !important;
    border-bottom: 1px solid rgba(65,108,70,.20) !important;
    color: #416c46 !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

#modalContainer #basicModalContent #e_doc {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: #1f2f22 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: left !important;
}

#modalContainer #basicModalContent #e_doc::before {
    content: none !important;
    display: none !important;
}

/* Mode tabs */

#modalContainer #basicModalContent #e_doc_tabs {
    display: block !important;
    margin: 0 0 42px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 0 !important;
    white-space: nowrap !important;
}

#modalContainer #basicModalContent #e_doc_tabs .e_doc_tab {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(50% - 6px) !important;
    height: 64px !important;
    margin: 0 12px 0 0 !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.10) !important;
    border-radius: 18px !important;
    box-shadow: 0 5px 16px rgba(31,47,34,.08) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    vertical-align: top !important;
    cursor: pointer !important;
}

#modalContainer #basicModalContent #e_doc_tabs .e_doc_tab:last-child {
    margin-right: 0 !important;
}

#modalContainer #basicModalContent #e_doc_tabs .e_doc_tab:hover:not(:disabled):not(.e_doc_tab_selected) {
    background: #f5fbf6 !important;
}

#modalContainer #basicModalContent #e_doc_tabs .e_doc_tab.e_doc_tab_selected {
    background: #e4f5e6 !important;
    border-color: rgba(65,108,70,.16) !important;
    color: #416c46 !important;
    box-shadow: 0 5px 16px rgba(65,108,70,.12) !important;
}

#modalContainer #basicModalContent #e_doc_tabs .e_doc_tab:active:not(:disabled) {
    transform: translateY(1px) !important;
}

#modalContainer #basicModalContent #e_doc_tabs .e_doc_tab:disabled {
    opacity: .5 !important;
    cursor: not-allowed !important;
}

/* Document table */

#modalContainer #basicModalContent #e_doc table.res {
    width: 100% !important;
    margin: 0 !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    border-collapse: separate !important;
    border-spacing: 0 12px !important;
    background: #f5fbf6 !important;
    border: 1px solid rgba(65,108,70,.14) !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 24px rgba(31,47,34,.08) !important;
}

#modalContainer #basicModalContent #e_doc table.res thead th {
    padding: 16px 18px !important;
    background: linear-gradient(180deg, #4d7b52, #416c46) !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    vertical-align: middle !important;
}

#modalContainer #basicModalContent #e_doc table.res thead th:first-child {
    border-top-left-radius: 10px !important;
}

#modalContainer #basicModalContent #e_doc table.res thead th:last-child {
    min-width: 190px !important;
    border-top-right-radius: 10px !important;
    white-space: nowrap !important;
}

#modalContainer #basicModalContent #e_doc table.res tbody td {
    padding: 18px !important;
    background: #ffffff !important;
    color: #1f2f22 !important;
    border-top: 1px solid rgba(65,108,70,.10) !important;
    border-bottom: 1px solid rgba(65,108,70,.10) !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    vertical-align: middle !important;
}

#modalContainer #basicModalContent #e_doc table.res tbody tr:nth-child(even) td {
    background: #f7fbf8 !important;
}

#modalContainer #basicModalContent #e_doc table.res tbody tr:hover td {
    background: #eaf7ec !important;
}

#modalContainer #basicModalContent #e_doc table.res tbody tr td:first-child {
    border-left: 1px solid rgba(65,108,70,.10) !important;
    border-radius: 12px 0 0 12px !important;
}

#modalContainer #basicModalContent #e_doc table.res tbody tr td:last-child {
    min-width: 190px !important;
    border-right: 1px solid rgba(65,108,70,.10) !important;
    border-radius: 0 12px 12px 0 !important;
    white-space: nowrap !important;
}

#modalContainer #basicModalContent #e_doc table.res tbody tr td:last-child br {
    display: none !important;
}

/* Header selection control */

#modalContainer #basicModalContent #e_doc table.res thead input.multiCheck {
    margin: 0 !important;
    vertical-align: middle !important;
}

/* Print action */

#modalContainer #basicModalContent #e_doc .document {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 20px !important;
    background: #ffffff !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.24) !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 12px rgba(31,47,34,.08) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

#modalContainer #basicModalContent #e_doc .document:hover {
    background: #f5fbf6 !important;
    border-color: #416c46 !important;
    box-shadow: 0 7px 16px rgba(31,47,34,.12) !important;
}

#modalContainer #basicModalContent #e_doc .document:active {
    background: #eef8ef !important;
    box-shadow: 0 3px 8px rgba(31,47,34,.10) !important;
}

/* Download action */

#modalContainer #basicModalContent #e_doc #multiDownload {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    min-width: 430px !important;
    max-width: 100% !important;
    min-height: 62px !important;
    margin: 34px auto 10px !important;
    padding: 0 32px !important;
    background: linear-gradient(180deg, #4d7b52, #416c46) !important;
    color: #ffffff !important;
    border: 1px solid rgba(65,108,70,.34) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 22px rgba(31,47,34,.18) !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}

#modalContainer #basicModalContent #e_doc #multiDownload:hover {
    background: linear-gradient(180deg, #5b8b60, #4d7b52) !important;
    box-shadow: 0 13px 26px rgba(31,47,34,.22) !important;
}

#modalContainer #basicModalContent #e_doc #multiDownload:active {
    background: #416c46 !important;
    box-shadow: 0 4px 10px rgba(31,47,34,.16) !important;
}

#modalContainer #basicModalContent #e_doc #multiDownload:disabled,
#modalContainer #basicModalContent #e_doc #multiDownload[disabled] {
    background: #aab9ac !important;
    border-color: #aab9ac !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    opacity: .7 !important;
}

/* Row checkboxes */

#modalContainer #basicModalContent #e_doc input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 8px 0 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(65,108,70,.32) !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 6px rgba(31,47,34,.08) !important;
    cursor: pointer !important;
}

#modalContainer #basicModalContent #e_doc input[type="checkbox"]:checked {
    background: #416c46 !important;
    border-color: #416c46 !important;
}

#modalContainer #basicModalContent #e_doc input[type="checkbox"]:checked::after {
    content: "" !important;
    width: 5px !important;
    height: 9px !important;
    border: solid #ffffff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) translate(-1px, -1px) !important;
}

#modalContainer #basicModalContent #e_doc input[type="checkbox"]:focus-visible {
    outline: 3px solid rgba(88,136,93,.30) !important;
    outline-offset: 2px !important;
}

#modalContainer #basicModalContent #e_doc input[type="checkbox"]:disabled {
    background: #eef2ee !important;
    border-color: rgba(65,108,70,.16) !important;
    cursor: not-allowed !important;
    opacity: .65 !important;
}

/* Replacement loader */

#modalContainer #basicModalContent #e_doc .counter::before {
    content: none !important;
    animation: none !important;
}

#modalContainer #basicModalContent #e_doc .rl-doc-spinner,
#modalContainer #basicModalContent #e_doc .counter::after {
    width: 20px !important;
    height: 20px !important;
    box-sizing: border-box !important;
    border: 3px solid rgba(65,108,70,.18) !important;
    border-top-color: #416c46 !important;
    border-radius: 50% !important;
    animation: rlSpinnerRotate .8s linear infinite !important;
}

#modalContainer #basicModalContent #e_doc .rl-doc-spinner {
    display: inline-block !important;
    margin-left: 8px !important;
    vertical-align: middle !important;
}

#modalContainer #basicModalContent #e_doc .counter {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    margin-left: 36px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: #416c46 !important;
    color: #ffffff !important;
    border: 1px solid rgba(65,108,70,.28) !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 10px rgba(31,47,34,.16) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    animation: none !important;
}

#modalContainer #basicModalContent #e_doc .rl-doc-spinner + .counter {
    margin-left: 8px !important;
}

#modalContainer #basicModalContent #e_doc .counter::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: calc(100% + 8px) !important;
    display: block !important;
    margin-top: -10px !important;
}

@keyframes rlSpinnerRotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@media (min-width: 768px) {
    #modalContainer:has(#e_doc) {
        width: 680px !important;
        max-width: calc(100vw - 48px) !important;
    }

    #modalContainer #basicModalContent #e_doc_tabs .e_doc_tab {
        height: 64px !important;
        font-size: 20px !important;
    }
}

@media (max-width: 767px) {
    #modalContainer:has(#e_doc) #basicModalContent {
        padding: 16px !important;
    }

    #modalContainer #basicModalContent #e_doc table.res {
        padding: 4px !important;
        border-spacing: 0 6px !important;
    }

    #modalContainer #basicModalContent #e_doc table.res tbody td {
        padding: 10px 8px !important;
        font-size: 12px !important;
    }
}

/* =====================================================
   Reservation Card — final layout polish
   ===================================================== */

@media (min-width: 768px) {
    .samo_container table.cl_refer_result tbody td.cl_alink {
        width: 28% !important;
        min-width: 240px !important;
        padding: 22px !important;
        gap: 10px !important;
    }

    .samo_container table.cl_refer_result tbody td.cl_alink + td {
        width: 72% !important;
    }

    .samo_container table.cl_refer_result td.cl_alink :is(
        .msg-new,
        .cl_price,
        .pay_variant,
        .e_doc,
        .dropdown-button
    ) {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }
}

.samo_container table.cl_refer_result td.cl_alink .cl_price {
    text-transform: capitalize !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service > td {
    padding: 14px 16px !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-bottom: 1px solid rgba(65,108,70,.08) !important;
    background: #f5fbf6 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service {
    display: table-row !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    vertical-align: middle !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service + tr.service > td {
    border-top: 0 !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service > td.o_pcount {
    display: table-cell !important;
    float: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    background: #f5fbf6 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(65,108,70,.08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #416c46 !important;
    text-align: right !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service:hover > td {
    background: #f1faf2 !important;
    box-shadow: none !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service .service-packet-name {
    font-weight: 600 !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service .service-dates {
    color: #6d8071 !important;
    font-weight: 500 !important;
}

.samo_container table.cl_refer_result table.orders-group tr.service .o_pcount {
    font-size: 11px !important;
}

.samo_container table.cl_refer_result td.orders .claim-orders__button {
    position: relative !important;
    top: -12px !important;
    z-index: 1 !important;
}

input.frm-input.date,
input.frm-input.CHECKINBEG,
input.frm-input.CHECKINEND,
input.frm-input.CREATEBEG,
input.frm-input.CREATEEND {
    padding-right: 18px !important;
}

#header .bottom-menu .nav-center > li.profile {
    width: 240px !important;
}

#header .bottom-menu .nav-center > li.profile > a.menu-caret {
    display: inline-flex !important;
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    box-sizing: border-box !important;
    justify-content: center !important;
}

#header .bottom-menu .nav-center > li.profile > ul {
    left: 0 !important;
    right: auto !important;
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    box-sizing: border-box !important;
    transform: none !important;
}

/* =====================================================
   Login Mode Switch — premium segmented control
   ===================================================== */

body:has(#loginbox) .logon-wrapper > .header {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 auto 16px !important;
    padding: 6px !important;
    box-sizing: border-box !important;
    background: #f5fbf6 !important;
    border: 1px solid rgba(65,108,70,.16) !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 16px rgba(31,47,34,.10) !important;
}

body:has(#loginbox) .logon-wrapper > .header > .legend.panel,
body:has(#loginbox) .logon-wrapper > .header > .button-wrapper {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    order: initial !important;
}

body:has(#loginbox) .logon-wrapper > .header > .legend.panel {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #416c46 !important;
    color: #ffffff !important;
    border: 1px solid #416c46 !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 12px rgba(65,108,70,.18) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

body:has(#loginbox) .logon-wrapper > .header > .button-wrapper > .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    color: #416c46 !important;
    border: 1px solid rgba(65,108,70,.20) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body:has(#loginbox) .logon-wrapper > .header > .button-wrapper > .button:hover,
body:has(#loginbox) .logon-wrapper > .header > .button-wrapper > .button:focus-visible {
    background: #eaf7ec !important;
    border-color: rgba(65,108,70,.30) !important;
    color: #416c46 !important;
}

body:has(#loginbox) .logon-wrapper > .header > .legend.panel::before,
body:has(#loginbox) .logon-wrapper > .header > .button-wrapper > .button::before {
    content: none !important;
    display: none !important;
}
