/* =========================================================
   V03 Details Popup
   جميع كلاسات التصميم الجديد تبدأ بـ abv3d-
========================================================= */

html.abv3d-open,
body.abv3d-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

.abv3d-overlay,
.abv3d-overlay * {
    box-sizing: border-box;
}

.abv3d-overlay {
    --abv3d-blue: #39a8e6;
    --abv3d-blue-dark: #0d7fb8;
    --abv3d-green: #44c600;
    --abv3d-purple: #7658d6;
    --abv3d-orange: #ff9800;
    --abv3d-red: #eb5a74;
    --abv3d-ink: #213244;
    --abv3d-muted: #68798a;
    --abv3d-line: #d8eefc;
    --abv3d-soft: #f5faff;
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    direction: rtl;
    background:
        radial-gradient(circle at 85% 12%, rgba(57, 168, 230, .22), transparent 32%),
        radial-gradient(circle at 12% 90%, rgba(68, 198, 0, .10), transparent 28%),
        rgba(8, 18, 28, .84);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    animation: abv3d-overlay-in .18s ease-out both;
}

.abv3d-overlay.is-closing {
    animation: abv3d-overlay-out .15s ease-in both;
}

.abv3d-dialog {
    position: relative;
    display: flex;
    flex-direction: column;
    width: min(100%, 980px);
    height: min(95dvh, 1000px);
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(216, 238, 252, .95);
    border-radius: 25px;
    background: #fff;
    box-shadow: 0 34px 110px rgba(0, 0, 0, .42);
    animation: abv3d-dialog-in .25s cubic-bezier(.22, .9, .31, 1.12) both;
}

.abv3d-overlay.is-closing .abv3d-dialog {
    animation: abv3d-dialog-out .15s ease-in both;
}

.abv3d-topbar {
    position: relative;
    z-index: 30;
    flex: 0 0 auto;
    height: 46px;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 30px;
    align-items: center;
    gap: 8px;
    padding: max(9px, env(safe-area-inset-top)) 13px 9px;
    border-bottom: 1px solid var(--abv3d-line);
background: linear-gradient(145deg, #e7f6ff, #ffffff);
    box-shadow: 0 6px 22px rgba(57, 168, 230, .12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    direction: ltr;
}

.abv3d-title-wrap {
    min-width: 0;
    text-align: center;
}

.abv3d-title {
    margin: 0;
    overflow: hidden;
    color: var(--abv3d-ink);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.abv3d-subtitle {
    display: block;
    margin-top: 1px;
    color: var(--abv3d-muted);
    font-size: 8px;
    font-weight: 700;
}

.abv3d-close, .abv3d-topbar-mark {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--abv3d-line);
    border-radius: 50%;
    background: linear-gradient(145deg, #e7f6ff, #fff);
    color: var(--abv3d-blue-dark);
    box-shadow: 0 6px 17px rgba(57, 168, 230, .17);
    margin-top: -4px;
}

.abv3d-close {
    color: #222;
    font-size: 17px;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease;
    -webkit-tap-highlight-color: transparent;
}

.abv3d-close:active {
    transform: scale(.92);
}
.abv3d-close {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 99999 !important;
    flex: 0 0 30px !important;
    min-width: 30px !important;
}

.abv3d-close i {
    display: inline-block !important;
    pointer-events: none !important;
    line-height: 1 !important;
}

.abv3d-topbar {
    position: relative !important;
    z-index: 9999 !important;
        direction: rtl;
}
.abv3d-topbar-mark {
    justify-self: end;
    border-radius: 12px;
    font-size: 14px;
}

.abv3d-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 15px calc(12px + env(safe-area-inset-bottom));
    background: #ffffff;
    scrollbar-width: thin;
    scrollbar-color: #2196F3 transparent;
}

.abv3d-scroll::-webkit-scrollbar {
    width: 6px;
}

.abv3d-scroll::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #a7d6f1;
}

.abv3d-content {
    width: min(100%, 920px);
    margin: 0 auto;
}

.abv3d-card,
.abv3d-booking,
.abv3d-alert,
.abv3d-rental-terms {
    position: relative;
    margin: 0 0 14px;
    overflow: hidden;
    border-top: 3px solid #2196F3;
    border-radius: 19px;
    background: #ffffff;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}



.abv3d-card-head {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 52px;
    border-bottom: 1px solid var(--abv3d-line);
    background: rgba(255, 255, 255, .85);
    color: var(--abv3d-ink);
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}


.abv3d-card-head {
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-bottom: 1px solid var(--abv3d-line);
    background: linear-gradient(145deg, #e7f6ff, #ffffff);
    color: var(--abv3d-ink);
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}

.abv3d-card-head--hero {
    position: relative;
    min-height: 34px;
    font-size: 15px;
}

.abv3d-card-body {
    padding: 6px;
}

.abv3d-card-body--flush {
    padding: 0;
}

.abv3d-feedback-link {
    position: absolute;
    left: 11px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border: 1px solid #cfe8f7;
    border-radius: 20px;
    background: #fff;
    color: #9C27B0;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(57, 168, 230, .11);
}
.abv3d-feedback-link span
{
    font-size: 14px;
}
.abv3d-embed {
    margin: 0 0 14px;
}

.abv3d-legacy {
    width: 100%;
    min-width: 0;
    direction: ltr;
}

.abv3d-legacy video,
.abv3d-legacy iframe,
.abv3d-legacy table {
    max-width: 100%;
}

.abv3d-legacy form {
    margin: 0;
}

/* =========================================================
   تفاصيل الحجز — مطابق لطابع كرت الحجز في الصفحة الرئيسية
========================================================= */

.abv3d-booking {
    padding: 12px;
}

.abv3d-booking-kicker {
    width: max-content;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 auto 7px;
    padding: 5px 10px;
    border: 1px solid #cce9d0;
    border-radius: 999px;
    background: #f3fff4;
    color: #258231;
    font-size: 8px;
    font-weight: 900;
}

.abv3d-booking-title {
    margin: 0;
    color: var(--abv3d-ink);
    font-size: 13px;
    font-weight: 900;
    text-align: center;
}

.abv3d-section-title {
    margin: 10px 0 7px;
    color: var(--abv3d-ink);
    font-size: 9px;
    font-weight: 900;
    text-align: center;
}

.abv3d-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 10px;
}

.abv3d-choice-grid.is-single {
    grid-template-columns: 1fr;
}
.abv3d-choice {
    position: relative;
}

.abv3d-choice > span {
    width: 100%;
    text-align: center;
}

.abv3d-choice-check {
    position: absolute !important;
    right: 10px;
    left: auto;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}
.abv3d-choice {
    position: relative;
    isolation: isolate;
    height: 34px;
    overflow: visible;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #cfe6f4;
    border-radius: 50px;
    background: linear-gradient(145deg,#e7f6ff,#ffffff);
    color: #263c50;
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 5px 16px rgba(57, 168, 230, .10);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
    -webkit-tap-highlight-color: transparent;
}
.abv3d-choice-mune {
    position: relative;
    isolation: isolate;
    min-height: 42px;
    overflow: visible;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px;
    border: 1px solid #cfe6f4;
    border-radius: 10px;
    background: linear-gradient(145deg,#e7f6ff,#ffffff);
    color: #263c50;
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 5px 16px rgba(57, 168, 230, .10);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
    -webkit-tap-highlight-color: transparent;
}

.abv3d-choice > span,
.abv3d-choice-check {
    position: relative;
    z-index: 10;
}

.abv3d-choice-check {
    display: none;
    color: #2196F3;
    font-size: 20px;
}

.abv3d-choice.is-selected {
    border-color: var(--abv3d-blue);
    background: linear-gradient(145deg, #b1dcff, #fff);
    color: #0878b2;
    transform: translateY(-1px);
    box-shadow: 0 0 0 2px rgba(57, 168, 230, .13), 0 10px 25px rgba(57, 168, 230, .22);
	    border: 1px solid #2196F3 !important;
    border-right: 4px solid #2196F3 !important;
}

.abv3d-choice.is-selected .abv3d-choice-check {
    display: inline-flex;
}

.abv3d-booking-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    margin: 2px 0 8px;
    padding: 6px 10px;
    border: 1px solid var(--abv3d-line);
    border-radius: 50px;
    background: linear-gradient(145deg, #e7f6ff, #fff);
    color: var(--abv3d-blue-dark);
    font-size: 9px;
    font-weight: 900;
    text-align: center;
}

.abv3d-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-bottom: 8px;
}

.abv3d-summary-box {
    padding: 8px 7px;
    border: 1px solid var(--abv3d-line);
    border-radius: 13px;
    background: rgba(255, 255, 255, .94);
    text-align: center;
    box-shadow: 0 4px 12px rgba(57, 168, 230, .08);
}

.abv3d-summary-box span {
    display: block;
    margin-bottom: 2px;
    font-size: 8px;
    font-weight: 900;
}

.abv3d-summary-box strong {
    display: block;
    color: var(--abv3d-ink);
    font-size: 10px;
    font-weight: 900;
    direction: ltr;
}

.abv3d-summary-box.is-in span { color: #2da83b; }
.abv3d-summary-box.is-out span { color: #e54158; }

.abv3d-price-panel {
    display: grid;
    gap: 1px;
    margin-bottom: 10px;
    overflow: hidden;
    border: 1px solid var(--abv3d-line);
    border-radius: 14px;
    background: var(--abv3d-line);
}

.abv3d-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 32px;
    padding: 6px 10px;
    background: #fff;
    color: #333;
    font-size: 9px;
    font-weight: 800;
}

.abv3d-price-row strong {
    color: var(--abv3d-blue-dark);
    font-size: 11px;
    font-weight: 900;
    direction: ltr;
    white-space: nowrap;
}

.abv3d-price-row.is-rent {
    background: linear-gradient(90deg, #39a8e6, #4f8fea);
    color: #fff;
}

.abv3d-price-row.is-rent strong {
    color: #fff;
}

.abv3d-price-row.is-discount {
    background: #fff4d8;
    color: #a16600;
}

.abv3d-price-row.is-discount strong {
    color: #f19100;
}

.abv3d-price-row.is-final {
    background: #f2ecff;
    color: #6348bd;
}

.abv3d-price-row.is-final strong {
    color: #7658d6;
}

.abv3d-price-row.is-deposit {
    background: #effbea;
    color: #287b20;
}

.abv3d-price-row.is-deposit strong {
    color: #32952a;
}

.abv3d-price-row.is-insurance {
    background: #fff8ef;
    color: #a75c10;
}

.abv3d-price-row.is-insurance strong {
    color: #e67813;
}

.abv3d-price-row.is-pay-total {
    background: #eaf8ff;
}

.abv3d-price-row.is-pay-total strong {
    color: #0d95e1;
}

.abv3d-price-row.is-remaining {
    background: #fff2f5;
}

.abv3d-price-row.is-remaining strong {
    color: #eb5a74;
}

.abv3d-payment-content[hidden] {
    display: none !important;
}

.abv3d-method-note {
    margin: 0;
    padding: 7px 10px;
    border-top: 1px solid var(--abv3d-line);
    background: #f8fcff;
    color: #52616b;
    font-size: 8px;
    font-weight: 800;
    text-align: center;
}

.abv3d-method-note.is-deadline {
    background: #fff7f8;
    color: #8c2437;
}

.abv3d-method-note strong {
    color: #b10622;
    direction: ltr;
    white-space: nowrap;
}

/* =========================================================
   معلومات العميل والدفع المباشر
========================================================= */

.abv3d-customer-form {
    margin-top: 9px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.abv3d-customer-form[hidden] {
    display: none !important;
}

.abv3d-customer-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    padding: 8px 10px;
    border: 1px solid var(--abv3d-line);
    border-radius: 13px;
    background: linear-gradient(90deg, #30aaf2, #8b68f0);
    color: #fff;
}

.abv3d-customer-head-icon {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, .18);
    color: #fff;
    font-size: 13px;
}

.abv3d-customer-head strong,
.abv3d-customer-head small {
    display: block;
    color: #fff;
}

.abv3d-customer-head strong {
    font-size: 10px;
    font-weight: 900;
}

.abv3d-customer-head small {
    margin-top: 1px;
    font-size: 7px;
    font-weight: 700;
    line-height: 1.6;
}

/* =========================================================
   تنبيه البطاقة المدنية — مطابق لتصميم تنبيه سداد الباقي
========================================================= */
.abv3d-id-note {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 3px;
    overflow: hidden;
    border: 1px solid #b10622;
    border-radius: 13px;
    background: linear-gradient(135deg, #ff5d79 0%, #d81f45 55%, #9f1029 100%);
    color: #fff;
}

.abv3d-id-note[hidden] {
    display: none !important;
}

.abv3d-id-note::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, rgba(255,255,255,.18), transparent 38%);
}

.abv3d-id-note img {
    position: relative;
    z-index: 1;
    width: 46px;
    height: 46px;
    object-fit: cover;
    padding: 3px;
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 12px;
    background: rgba(255,255,255,.15);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

.abv3d-id-note > div {
    position: relative;
    z-index: 1;
    min-width: 0;
    width: 100%;
}

.abv3d-id-note strong,
.abv3d-id-note span {
    display: flex;
    color: #fff;
}

.abv3d-id-note strong {
    margin-bottom: 2px;
    font-size: 9.5px;
    font-weight: 500;
    line-height: 1.6;
}

.abv3d-id-note span {
	padding: 0px 2px;
    font-size: 9.5px;
    font-weight: 500;
    line-height: 1.65;
}

.abv3d-id-note b {
    display: inline-block;
    padding: 0px 4px;
    border: 1px solid rgba(255,255,255,.46);
    border-radius: 3px;
    background: rgb(92 0 18 / 50%);
    color: #fff5a7;
    font-size: 9.5px;
    font-weight: 600;
    vertical-align: middle;
    white-space: nowrap;
    margin: -1px 2px 0 0;
}

.abv3d-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--abv3d-line);
    border-radius: 13px;
    background: linear-gradient(270deg, #ffedf3, #fffde8);
}

.abv3d-fields {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    gap: 10px !important;
    width: 100%;
    direction: rtl;
}

.abv3d-fields > .abv3d-id-note,
.abv3d-fields > .abv3d-field {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
}

.abv3d-field > span {
    display: block;
    margin: 0 4px 4px;
    color: #31383d;
    font-size: 10px;
    font-weight: 900;
}

.abv3d-field > span b {
    color: #e53955;
}

.abv3d-input-wrap {
        background: #ffffff;
    height: 34px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 9px;
    border: 1px solid #cae3f2;
    border-radius: 12px;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.abv3d-input-wrap:focus-within {
    border-color: var(--abv3d-blue);
    background: #fff;
    box-shadow: 0 0 0 2px rgba(57, 168, 230, .10);
}

.abv3d-input-wrap-user i {
    flex: 0 0 auto;
    color: #2196f3;
    font-size: 15px;
}
.abv3d-input-wrap-whatsapp i {
    flex: 0 0 auto;
    color: #4CAF50;
    font-size: 22px;
}

.abv3d-overlay .abv3d-input-wrap input {
    width: 100% !important;
    min-width: 0 !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #20272c !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    appearance: none;
    -webkit-appearance: none;
}

.abv3d-overlay .abv3d-input-wrap input::placeholder {
    color: #9aa7af;
    font-weight: 600;
}

.abv3d-terms {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 9px;
    padding: 4px 8px;
    border: 1px solid #f0dfac;
    border-radius: 22px;
    background: #fff9e8;
    color: #333;
    font-size: 10px;
    font-weight: 800;
}
.abv3d-terms a,
.abv3d-terms button,
.abv3d-terms-link {
    text-decoration: none !important;
}


.abv3d-terms-link span {
color: #2196F3;
}
.abv3d-terms-option {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    cursor: pointer;
    user-select: none;
}

.abv3d-terms-option input {
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    width: 21px;
    height: 21px;
    margin: 0;
    transform: translateY(-50%);
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.abv3d-terms-check {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #b5b5b5;
    border-radius: 20px;
    background: #dedede;
    color: transparent;
}

.abv3d-terms-option input:checked + .abv3d-terms-check {
    border-color: var(--abv3d-green);
    background: var(--abv3d-green);
    color: #fff;
}

.abv3d-terms-link {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    color: #087fc0;
    font-family: inherit;
    font-size: inherit;
    font-weight: 900;
    text-decoration: underline;
    cursor: pointer;
}

.abv3d-form-status {
    margin-top: 8px;
    padding: 7px 9px;
    border: 1px solid #cfe7f5;
    border-radius: 10px;
    background: #f2fbff;
    color: #247aa7;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}
.abv3d-form-status:empty {
    display: none;
}
.abv3d-form-status[hidden] { display: none !important; }
.abv3d-form-status.is-error { border-color: #ffd0d8; background: #fff3f5; color: #b10622; }
.abv3d-form-status.is-loading { border-color: #cde7fa; background: #eef9ff; color: #0d7fb8; }

.abv3d-pay-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 9px;
    direction: ltr;
}

.abv3d-pay-btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #fff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
    transition: transform .16s ease, opacity .16s ease, filter .16s ease, box-shadow .16s ease;
        direction: ltr;
}

.abv3d-pay-btn.is-apple { border-color: linear-gradient(145deg, #000000 0%, #5e5e5e 100%); background: #000; }
.abv3d-pay-btn.is-knet { border-color: #379d0d; background: linear-gradient(145deg, #379d0d 0%, #71e037 100%); box-shadow: 0 7px 17px rgba(68, 198, 0, .22); }
.abv3d-pay-btn img { width: auto; height: 19px; object-fit: contain; }
.abv3d-pay-btn i { font-size: 20px; }
.abv3d-pay-btn:not(:disabled):active { transform: scale(.97); }

.abv3d-pay-btn:disabled {
    border-color: #c5c8ca;
    background: #dedede;
    color: #85898c;
    cursor: not-allowed;
    box-shadow: none;
    filter: grayscale(1);
    opacity: .78;
}

.abv3d-pay-btn span 
{
  font-size: 14px !important;  
}
.abv3d-pay-btn.is-loading { filter: none; opacity: 1; }

.abv3d-mini-spinner {
    width: 17px;
    height: 17px;
    display: inline-block;
    border: 2px solid rgba(255, 255, 255, .42);
    border-top-color: #fff;
    border-radius: 50%;
    animation: abv3d-spin .7s linear infinite;
}

/* =========================================================
   الصور والفيديو
========================================================= */

.abv3d-gallery {
    width: 100%;
}

.abv3d-gallery-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    margin-bottom: 8px;
}

.abv3d-gallery-tab {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px 7px;
    border: 1px solid #cfe5f3;
    border-radius: 9px;
    background: #fff;
    color: #3f5365;
    font-family: inherit;
    font-size: 8px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(31, 98, 143, .07);
}

.abv3d-gallery-tab.is-active {
    border-color: #168fd0;
    background: linear-gradient(90deg, #39a8e6, #4d8dea);
    color: #fff;
    box-shadow: 0 6px 15px rgba(57, 168, 230, .22);
}

.abv3d-gallery-tab.is-video i {
    font-size: 7px;
}

.abv3d-gallery-stage {
    position: relative;
    min-height: 260px;
    overflow: hidden;
    border: 1px solid var(--abv3d-line);
    border-radius: 15px;
    background: #dceaf2;
    box-shadow: 0 8px 22px rgba(28, 87, 130, .13);
}

.abv3d-gallery-slide {
    display: none;
    width: 100%;
    height: min(58vw, 500px);
    min-height: 260px;
    object-fit: cover;
}

.abv3d-gallery-slide.is-active {
    display: block;
}

.abv3d-gallery-slide[hidden] {
    display: none !important;
}

.abv3d-gallery-watermark,
.abv3d-video-popup-watermark {
    position: absolute;
    right: 10px;
    bottom: 8px;
    z-index: 8;
    color: rgba(255, 255, 255, .84);
    font-size: 16px;
    font-weight: 900;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .36);
    pointer-events: none;
}

.abv3d-gallery-arrow {
    position: absolute;
    top: 50%;
    z-index: 12;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 50%;
    background: rgba(14, 38, 56, .44);
    color: #fff;
    font-size: 12px;
    cursor: pointer;
    backdrop-filter: blur(8px);
}

.abv3d-gallery-arrow.is-prev { right: 9px; }
.abv3d-gallery-arrow.is-next { left: 9px; }

.abv3d-gallery-counter {
    position: absolute;
    left: 10px;
    bottom: 9px;
    z-index: 12;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 4px 8px;
    border-radius: 50px;
    background: rgba(10, 28, 40, .58);
    color: #fff;
    font-size: 8px;
    font-weight: 900;
    direction: ltr;
    backdrop-filter: blur(8px);
}

.abv3d-gallery-360 {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 6px;
    padding: 6px 10px;
    border: 1px solid #d94868;
    border-radius: 12px;
    background: linear-gradient(90deg, #eb5a74, #e84b68);
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 6px 15px rgba(235, 90, 116, .18);
}

.abv3d-gallery-360 img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.abv3d-gallery-thumbs {
    display: flex;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
    margin-top: 7px;
    padding: 6px;
    border: 1px solid var(--abv3d-line);
    border-radius: 12px;
    background: #eaf6fd;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.abv3d-gallery-thumbs::-webkit-scrollbar { display: none; }

.abv3d-gallery-thumb {
    width: 62px;
    height: 46px;
    flex: 0 0 62px;
    overflow: hidden;
    padding: 0;
    border: 1px solid #bcd6e6;
    border-radius: 9px;
    background: #fff;
    opacity: .68;
    filter: brightness(.72);
    cursor: pointer;
}

.abv3d-gallery-thumb.is-active {
    border: 2px solid var(--abv3d-blue);
    opacity: 1;
    filter: brightness(1);
}

.abv3d-gallery-thumb[hidden] { display: none !important; }
.abv3d-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }

.abv3d-gallery-videos[hidden],
.abv3d-gallery-images[hidden] {
    display: none !important;
}

.abv3d-video-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.abv3d-video-card {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 7px;
    border: 1px solid var(--abv3d-line);
    border-radius: 13px;
    background: linear-gradient(145deg, #edf8ff, #fff);
    color: #35495a;
    font-family: inherit;
    cursor: pointer;
    box-shadow: 0 5px 14px rgba(57, 168, 230, .11);
}

.abv3d-video-number {
    position: absolute;
    right: 3px;
    top: 3px;
    z-index: 4;
    width: 19px;
    height: 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #c8dbe8;
    border-radius: 6px;
    background: #fff;
    color: #486072;
    font-size: 8px;
    font-weight: 900;
}

.abv3d-video-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 10px;
    background: #dceaf2;
}

.abv3d-video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.abv3d-video-thumb i {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 34px;
    text-shadow: 0 4px 13px rgba(0, 0, 0, .42);
}

.abv3d-video-card > strong {
    width: 100%;
    overflow: hidden;
    font-size: 8px;
    font-weight: 900;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* =========================================================
   المميزات والتفاصيل
========================================================= */

.abv3d-features-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.abv3d-feature-item {
    min-width: 0;
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 7px;
    border: 1px solid #d9edf9;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 4px 11px rgba(57, 168, 230, .07);
}

.abv3d-feature-icon {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #eaf7ff;
}

.abv3d-feature-icon img {
    width: 17px;
    height: 17px;
    object-fit: contain;
}

.abv3d-feature-label {
    min-width: 0;
    color: #2f4354;
    font-size: 8px;
    font-weight: 800;
    line-height: 1.45;
}

.abv3d-details-list-wrap {
    margin-top: 9px;
    padding: 8px 10px;
    border: 1px solid var(--abv3d-line);
    border-radius: 13px;
    background: rgba(255, 255, 255, .92);
}

.abv3d-details-list {
    margin: 0;
    padding: 0 17px 0 0;
    color: #34495a;
}

.abv3d-details-list li {
    margin: 0;
    padding: 5px 1px;
    border-bottom: 1px dashed #e1edf4;
    font-size: 8.5px;
    font-weight: 700;
    line-height: 1.65;
}

.abv3d-details-list li:last-child {
    border-bottom: 0;
}

.abv3d-nearest-wrap {
    margin-top: 9px;
}

/* =========================================================
   الغرف
========================================================= */

.abv3d-rooms {
    display: grid;
    gap: 8px;
}

.abv3d-floor {
    overflow: hidden;
    border: 1px solid var(--abv3d-line);
    border-radius: 13px;
    background: #fff;
}

.abv3d-floor-head {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 9px;
    border-bottom: 1px solid var(--abv3d-line);
    background: linear-gradient(90deg, #e8f7ff, #fff);
}

.abv3d-floor-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border: 2px solid #1f92cf;
    border-radius: 50%;
    background: #fff;
}

.abv3d-floor-head strong {
    color: #273c4d;
    font-size: 9px;
    font-weight: 900;
}

.abv3d-floor-head small {
    min-width: 20px;
    margin-inline-start: auto;
    padding: 2px 6px;
    border-radius: 50px;
    background: #39a8e6;
    color: #fff;
    font-size: 7px;
    font-weight: 900;
    text-align: center;
}

.abv3d-floor-empty {
    padding: 10px;
    color: #a2adb5;
    font-size: 8px;
    font-weight: 800;
}

.abv3d-room-list {
    display: grid;
}

.abv3d-room-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 9px;
    border-bottom: 1px solid #edf3f7;
}

.abv3d-room-item:last-child {
    border-bottom: 0;
}

.abv3d-room-title {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}

.abv3d-room-number {
    width: 21px;
    height: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #39a8e6;
    color: #fff;
    font-size: 8px;
    font-weight: 900;
}

.abv3d-room-title strong {
    color: #283e50;
    font-size: 9px;
    font-weight: 900;
}

.abv3d-room-master {
    padding: 2px 6px;
    border-radius: 50px;
    background: #f1ebff;
    color: #7155c7;
    font-size: 7px;
    font-weight: 900;
}

.abv3d-room-beds-text {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    color: #5a6873;
    font-size: 8px;
    font-weight: 700;
}

.abv3d-room-beds-text b {
    color: #eb5a74;
    font-weight: 900;
}

.abv3d-child-bed {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.abv3d-child-bed img {
    width: 15px;
    height: 17px;
    object-fit: contain;
}

.abv3d-room-bed-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 3px;
    max-width: 140px;
}

.abv3d-room-bed-icons img {
    width: auto;
    height: 24px;
    object-fit: contain;
}

.abv3d-rooms-note {
    padding: 8px 10px;
    border: 1px solid #f1e3a6;
    border-radius: 11px;
    background: #fffddd;
    color: #5c572f;
    font-size: 7.5px;
    font-weight: 800;
    text-align: center;
}

.abv3d-rooms-total {
    padding: 9px 10px;
    border-radius: 11px;
    background: linear-gradient(90deg, #39a8e6, #7658d6);
    color: #fff;
    font-size: 8.5px;
    font-weight: 800;
    text-align: center;
}

.abv3d-rooms-total strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 22px;
    margin: 0 3px;
    padding: 0 6px;
    border-radius: 50px;
    background: rgba(255, 255, 255, .20);
    color: #fff;
    font-size: 9px;
    font-weight: 900;
}

/* =========================================================
   شروط التأجير
========================================================= */

.abv3d-rental-terms {
    padding: 11px;
}

.abv3d-rental-terms-head {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 9px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--abv3d-line);
}

.abv3d-rental-terms-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(145deg, #e8f8ff, #fff);
    color: #158bc4;
    font-size: 15px;
    box-shadow: 0 4px 12px rgba(57, 168, 230, .10);
}

.abv3d-rental-terms-head strong,
.abv3d-rental-terms-head small {
    display: block;
}

.abv3d-rental-terms-head strong {
    color: #263b4d;
    font-size: 10px;
    font-weight: 900;
}

.abv3d-rental-terms-head small {
    margin-top: 2px;
    color: #758592;
    font-size: 7px;
    font-weight: 700;
}

.abv3d-rental-terms-list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    counter-reset: abv3d-term;
    list-style: none;
}

.abv3d-rental-terms-list li {
    position: relative;
    min-height: 32px;
    padding: 7px 35px 7px 8px;
    border: 1px solid #e4eef5;
    border-radius: 10px;
    background: #fff;
    color: #40515f;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.7;
    counter-increment: abv3d-term;
}

.abv3d-rental-terms-list li::before {
    content: counter(abv3d-term);
    position: absolute;
    right: 8px;
    top: 7px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #eaf7ff;
    color: #158bc4;
    font-size: 7px;
    font-weight: 900;
}

/* =========================================================
   الأخطاء والتحميل وSweetAlert
========================================================= */

.abv3d-alert {
    padding: 12px 5px;
    border-top: 3px #eb5a74 solid;
    background: linear-gradient(145deg, #fff2f4, #fff);
    color: #5d1a26;
    text-align: center;
    box-shadow: 0px 0px 3px rgb(235 90 116 / 20%), rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

.abv3d-alert-icon {
    width: 50px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    border: 1px solid #ffd0d8;
    border-radius: 50%;
    background: #fff;
    color: var(--abv3d-red);
    font-size: 22px;
    box-shadow: 0 6px 17px rgba(235, 90, 116, .16);
}

.abv3d-alert-title {
    display: block;
    color: #b10622;
    font-size: 13px;
    font-weight: 900;
}

.abv3d-alert-range {
    display: block;
    margin-top: 5px;
    color: #222;
    font-size: 10px;
    font-weight: 900;
    direction: ltr;
}

.abv3d-empty-note {
    padding: 18px 12px;
    border: 1px dashed #cfe3ef;
    border-radius: 12px;
    background: #f8fcff;
    color: #788792;
    font-size: 8.5px;
    font-weight: 800;
    text-align: center;
}

.abv3d-loader {
    position: fixed;
    inset: 0;
    z-index: 2147482999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    direction: rtl;
    background: rgba(6, 14, 22, .78);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}

.abv3d-loader-box {
    min-width: 210px;
    padding: 22px 24px;
    border: 1px solid #d8eefc;
    border-radius: 20px;
    background: linear-gradient(145deg, #e7f6ff, #fff);
    color: #222;
    text-align: center;
    box-shadow: 0 24px 75px rgba(0, 0, 0, .34);
}

.abv3d-loader-box strong,
.abv3d-loader-box small {
    display: block;
}

.abv3d-loader-box strong {
    margin-top: 12px;
    font-size: 11px;
    font-weight: 900;
}

.abv3d-loader-box small {
    margin-top: 4px;
    color: #66737b;
    font-size: 8px;
    font-weight: 700;
}

.abv3d-loader-ring {
    width: 42px;
    height: 42px;
    display: inline-block;
    border: 3px solid rgba(57, 168, 230, .18);
    border-top-color: #39a8e6;
    border-radius: 50%;
    animation: abv3d-spin .75s linear infinite;
}

.abv3d-swal-container {
    z-index: 2147483647 !important;
}

.abv3d-terms-popup {
    padding-bottom: 10px !important;
}

.abv3d-terms-frame {
    width: 100%;
    height: min(72vh, 760px);
    border: 0;
    border-radius: 12px;
    background: #fff;
}

.abv3d-video-popup {
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #fff !important;
}

.abv3d-video-popup-inner {
    position: relative;
}

.abv3d-video-popup video {
    width: 100%;
    max-height: 76vh;
    display: block;
    border-radius: 12px;
    background: #000;
}

.abv3d-video-popup-title {
    display: block;
    padding: 8px 4px 2px;
    color: #2f4354;
    font-size: 10px;
    font-weight: 900;
    text-align: center;
}

@keyframes abv3d-spin { to { transform: rotate(360deg); } }
@keyframes abv3d-overlay-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes abv3d-overlay-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes abv3d-dialog-in { from { opacity: 0; transform: translateY(18px) scale(.982); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes abv3d-dialog-out { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(10px) scale(.986); } }

@media (max-width: 700px) {
    .abv3d-overlay {
        min-height: 100dvh;
        height: 100dvh;
        padding:
            calc(12px + env(safe-area-inset-top))
            12px
            calc(12px + env(safe-area-inset-bottom));
        box-sizing: border-box;

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

        overflow-x: hidden;
        overflow-y: auto;
    }

    .abv3d-dialog {
        width: 100%;
        height: calc(100dvh - 10px);
        max-height: none;
        border-radius: 20px;
    }

    .abv3d-topbar {
        min-height: 46px;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        padding-inline: 10px;
    }

    .abv3d-scroll {
        padding: 12px calc(12px + env(safe-area-inset-bottom));
    }

    .abv3d-card,
    .abv3d-booking,
    .abv3d-alert,
    .abv3d-rental-terms {
        border-radius: 16px;
    }

    .abv3d-card-head {
        padding-inline: 34px;
    }

    .abv3d-fields {
        grid-template-columns: 1fr;
    }

    .abv3d-gallery-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .abv3d-video-grid,
    .abv3d-features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .abv3d-gallery-stage,
    .abv3d-gallery-slide {
        min-height: 235px;
    }

    .abv3d-gallery-slide {
        height: 64vw;
    }

    .abv3d-room-item {
        grid-template-columns: 1fr;
    }

    .abv3d-room-bed-icons {
        justify-content: flex-start;
        max-width: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .abv3d-overlay,
    .abv3d-dialog,
    .abv3d-loader-ring {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}



/* =========================================================
   تفاصيل الحجز داخل البوب أب
   كلاسات مستقلة بالكامل عن ab15-footer لمنع overflow:hidden
========================================================= */
.abv3d-booking-summary {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    margin: 8px 0 10px;
    padding: 8px;
    box-sizing: border-box;
    border-top: 3px solid #44c600;
    border-radius: 15px;
    background: linear-gradient(145deg, #8cdc665e 0%, #ffffff 100%);
    overflow: visible !important;
    opacity: 1;
    visibility: visible;
box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

.abv3d-booking-summary-main {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow: visible !important;
}

.abv3d-booking-summary-days {
    position: relative;
    display: block;
    width: 100%;
    min-height: 29px;
    margin: 0 0 6px;
    padding: 0;
    box-sizing: border-box;
    border: 1px solid #cfe8f4;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .06);
    overflow: visible;
    isolation: isolate;
}

.abv3d-booking-summary-days .glow-container {
    border-radius: inherit;
}

.abv3d-booking-summary-head {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    width: 100%;
    min-height: 27px;
    padding: 4px 10px;
    box-sizing: border-box;
    direction: rtl;
    color: #30343b;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
}

.abv3d-booking-summary-title {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    color: #454b55;
    white-space: nowrap;
    text-align: right;
        font-size: 10px;
}

.abv3d-booking-summary-separator {
    display: none;
}

.abv3d-booking-summary-range {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
    direction: rtl;
    white-space: nowrap;
}

.abv3d-booking-summary-start {
    color: #39a858;
    font-size: 11px;
    font-weight: 900;
}

.abv3d-booking-summary-end {
    color: #ef5571;
    font-size: 11px;
    font-weight: 900;
}

.abv3d-booking-summary-arrow {
    color: #755be9;
    font-size: 11px;
    line-height: 1;
}

.abv3d-booking-summary-prices {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: 1px solid #dce9f1;
    border-radius: 9px;
    background: #ffffff;
    overflow: hidden;
}

.abv3d-booking-summary-prices[hidden] {
    display: none !important;
}

.abv3d-booking-summary-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 24px;
    padding: 0px 9px;
    box-sizing: border-box;
    direction: rtl;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.25;
    border-bottom: 1px solid rgba(207, 224, 235, .8);
    height: 30px;
        color: #444444;
}

.abv3d-booking-summary-line:last-child {
    border-bottom: 0;
}

.abv3d-booking-summary-line > span,
.abv3d-booking-summary-line > strong {
    font-size: 10.5px;
    line-height: inherit;
}

.abv3d-booking-summary-line > strong {
    direction: ltr;
    unicode-bidi: isolate;
    white-space: nowrap;
    font-weight: 900;
}

.abv3d-booking-summary-rent {
    color: #ffffff;
    background: linear-gradient(90deg, #39a8e6 0%, #477ce7 55%, #7664ea 100%);
}

.abv3d-booking-summary-rent-value {
    color: #ffffff;
}

.abv3d-booking-summary-discount {
    color: #4caf50;
    background: linear-gradient(270deg, #8cdc665e 0%, #ffffff 100%);
}

.abv3d-booking-summary-line.abv3d-booking-summary-discount > span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.abv3d-booking-summary-line.abv3d-booking-summary-discount > span::before {
    content: "";
    display: inline-block;
    width: 16px;
    aspect-ratio: 1 / 1;
    flex: 0 0 16px;
    background-image: url("/01/img/mark.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.abv3d-booking-summary-discount-value {
    color: #39a858;
}

.abv3d-booking-summary-after-discount {
    color: #8873ff;
    background: linear-gradient(270deg, #e6ddff 0%, #ffffff 100%);
}

.abv3d-booking-summary-after-discount-value {
    color: #8873ff;
}

.abv3d-booking-summary-deposit {
    color: #FF9800;
    background: linear-gradient(270deg, #fff4e5, #ffffff);
}
.abv3d-booking-summary-deposit span {
    color: #FF9800;
}

.abv3d-booking-summary-deposit-value {
    color: #FF9800;
}


.abv3d-booking-summary-remaining {
    color: #35404a;
    background: #f4fbff;
}

.abv3d-booking-summary-remaining > span {
    color: #35404a;
}

.abv3d-booking-summary-remaining-value {
    color: #1687d3;
}


.abv3d-booking-summary-insurance {
    color: #FF9800;
    background: linear-gradient(317deg, #fff3d0 0%, #ffffff 100%);
}

.abv3d-booking-summary-insurance-value {
    color: #FF9800;
}

.abv3d-booking-summary-insurance-role10 {
    color: #F44336;
    background: linear-gradient(317deg, #ffe9f1 0%, #ffffff 100%);
}

.abv3d-booking-summary-insurance-value-role10 {
    color: #F44336;
}

.abv3d-booking-summary-total {
    color: #03A9F4;
    background: linear-gradient(270deg, #cce8ff 0%, #ffffff 100%);
}

.abv3d-booking-summary-total-value {
    color: #333333;
}

/* =========================================================
   الحجز من التطبيق فقط
========================================================= */
.abv3d-app-download {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin: 12px 0;
    padding: 16px 12px;
    box-sizing: border-box;
    border: 1px solid #d7eaf5;
    border-radius: 16px;
    background: linear-gradient(145deg, #eef9ff 0%, #ffffff 100%);
    box-shadow: 0 7px 20px rgba(57, 168, 230, .13);
    text-align: center;
}

.abv3d-app-download-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(135deg, #39a8e6, #7763ec);
    box-shadow: 0 6px 14px rgba(57, 168, 230, .24);
    font-size: 18px;
}

.abv3d-app-download-title {
    color: #ef3d69;
    font-size: 12px;
    font-weight: 900;
}

.abv3d-app-download-text {
    max-width: 320px;
    color: #5c6670;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.65;
}

.abv3d-app-download-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: min(100%, 340px);
    margin-top: 4px;
}

.abv3d-app-download-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 3px;
    border-radius: 10px;
    background: #ffffff;
    transition: transform .18s ease, box-shadow .18s ease;
}

.abv3d-app-download-link:active {
    transform: scale(.98);
}

.abv3d-app-download-link img {
    display: block;
    width: 100%;
    max-width: 145px;
    height: auto;
}

@media (max-width: 420px) {
    .abv3d-booking-summary {
        padding: 7px;
        border-radius: 14px;
    }

    .abv3d-booking-summary-head {
        gap: 5px;
        padding-inline: 8px;
        font-size: 8.5px;
    }

    .abv3d-booking-summary-start,
    .abv3d-booking-summary-end {
        font-size: 11px;
    }

    .abv3d-booking-summary-line {
        min-height: 23px;
        padding-inline: 8px;
        font-size: 11px;
    }
}


/* =========================================================
   وميض تفاصيل الحجز
   منقول بنفس طريقة v03.css المستخدمة في اختيار الفترات.
========================================================= */
.abv3d-glow-defs {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.abv3d-choice.glow, .abv3d-booking-summary-days.glow {
    --glow-line-thickness: 1.6px;
    --glow-line-length: 18;
    --glow-blur-size: 5px;
    --animation-speed: 1120ms;
    --container-offset: 100px;
    position: relative;
    isolation: isolate;
    overflow: visible !important;
}

/* نفس ضبط إطار أيام الفوتر. */
.abv3d-booking-summary-days.glow {
    --container-offset: 0px;
}

.abv3d-choice.glow > .glow-container,
.abv3d-booking-summary-days.glow > .glow-container {
    pointer-events: none;
    position: absolute;
    z-index: 8;
    inset: calc(var(--container-offset) / -2);
    width: calc(100% + var(--container-offset));
    height: calc(100% + var(--container-offset));
    opacity: 0;
    overflow: visible;
}

.abv3d-choice.glow .glow-blur,
.abv3d-choice.glow .glow-line,
.abv3d-booking-summary-days.glow .glow-blur,
.abv3d-booking-summary-days.glow .glow-line {
    width: calc(100% - var(--container-offset));
    height: calc(100% - var(--container-offset));
    x: calc(var(--container-offset) / 2);
    y: calc(var(--container-offset) / 2);
    fill: transparent;
    stroke-width: 5px;
    stroke-dasharray:
        var(--glow-line-length)
        calc(50 - var(--glow-line-length));
    stroke-dashoffset: 0;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.abv3d-choice.glow .glow-line,
.abv3d-booking-summary-days.glow .glow-line {
    stroke: url(#ab15GlowGradient);
    stroke-width: var(--glow-line-thickness);
    opacity: .84;
}

.abv3d-choice.glow .glow-blur,
.abv3d-booking-summary-days.glow .glow-blur {
    filter: blur(var(--glow-blur-size));
    stroke: url(#ab15GlowGradient);
    stroke-width: var(--glow-blur-size);
    opacity: .28;
}

.abv3d-choice.glow.is-animating .glow-blur,
.abv3d-choice.glow.is-animating .glow-line,
.abv3d-booking-summary-days.glow.is-animating .glow-blur,
.abv3d-booking-summary-days.glow.is-animating .glow-line {
    animation: abv3dGlowRun var(--animation-speed) ease-in 1 forwards;
}

.abv3d-choice.glow.is-animating > .glow-container,
.abv3d-booking-summary-days.glow.is-animating > .glow-container {
    animation: abv3dGlowVisibility var(--animation-speed) ease-in 1 forwards;
}

@keyframes abv3dGlowRun {
    from {
        stroke-dashoffset: 0;
    }

    to {
        stroke-dashoffset: -80px;
    }
}

@keyframes abv3dGlowVisibility {
    0%,
    100% {
        opacity: 0;
    }

    25%,
    75% {
        opacity: 1;
    }
}

/* إبقاء محتوى الزر والتاريخ فوق خط الوميض. */
.abv3d-choice > :not(.glow-container),
.abv3d-booking-summary-days > :not(.glow-container) {
    position: relative;
    z-index: 9;
}

.abv3d-choice-check[hidden] {
    display: none !important;
}

.abv3d-choice.is-selected .abv3d-choice-check:not([hidden]) {
    display: inline-flex;
}

/* =========================================================
   إخفاء صفوف نوع الدفع فعلياً
   مهم: display:flex على السطر كان يلغي تأثير hidden في بعض المتصفحات.
========================================================= */
.abv3d-booking-summary-line[hidden],
.abv3d-booking-summary-deposit[hidden],
.abv3d-booking-summary-remaining[hidden],
.abv3d-booking-summary-insurance[hidden],
.abv3d-booking-summary-total[hidden] {
    display: none !important;
}



		
		.filter-card {
    text-decoration: none;
    background: #ffffff;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    cursor: pointer;
    display: flex;
	font-weight: 400;
    align-items: center;        /* ✔ توسيط عمودي */
    justify-content: center;    /* ✔ توسيط أفقي */
    border: 1px solid #cacaca;
    text-align: center;
    font-size: 10px;
    line-height: 1.4;           /* ✔ توازن السطر */
    min-height: 22px;           /* ✔ يمنع التفاوت */
}
		

.filter-card input[type="radio"] {
    accent-color:#03a9f4;
	  display: none;
}

.filter-card:has(input[type="radio"]:checked) {
    background:#03a9f4 !important;
    color:#ffffff !important;
    border:1px solid #008dcc !important;
    font-weight:700 !important;
    box-shadow:0 4px 14px rgba(45,125,255,.25);
}
.features-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
  direction:rtl;
  margin-bottom: 0px;
}
@media (max-width: 420px){
  .features-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}
	
/* ✅ الكلاس الرئيسي يوسّط كل المحتوى داخله */
.feature-box{
  border:1px solid #ddd;
  border-radius:8px;
  background:#edf7ff;
  position:relative;
  margin-top:5px;

  padding: 6px 0px 4px 0px;

  display:flex;
  flex-direction:column;
  align-items:center;     /* توسيط الصورة + النص */
  justify-content:flex-start;
  text-align:center;
}

/* ✅ الصورة تتوسط تلقائياً */
.img{
  width: 85px;
  height:105px;
  border-radius:10px;
  display:block;
  margin:0 auto;
  margin-top: -22px;
	  margin:0 !important;
}

/* ✅ العنوان يتوسط بدون left/transform */
.title{
    width: 100%;
    text-align: center;
    margin: -10px 0px 0px 0px;
    font-size: 8.5px !important;
    color: #444444;
    font-weight: 600;
}

	
	.video-thumb{
  position:relative;
  width:95px;
  height:120px;
  
  border-radius:10px;
  overflow:hidden;
  margin: 0px 0px 0px 0px;
}


.play-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    pointer-events: none;
    top: -10px;
}

.play-overlay .blink-icon {
    margin: 0 !important;
    color: #fff;
    font-size: 40px;
    text-shadow: 0 6px 18px rgba(0,0,0,.35);
    border: 3px #d658eb solid;
    border-radius: 100px;
}
.video-thumb .blink-icon{
  animation: none !important;
  transition: none !important;
}

.video-no {
    display: block;
    text-align: center;
    color: #444;
    background: #ffffff;
    border-radius: 4px;
    border: 1px solid #cacaca;
    width: 18px;
    height: 18px;
    font-size: 10px !important;
    line-height: 20px;
    position: absolute;
    top: -5px;
    right: -5px;
    left: auto;
    transform: none;
    z-index: 10;
}
/* =========================
   Thumbnails (صور صغيرة)
========================= */
.thumbs-row{
  width: 100%;
  display: block;
  margin: 5px 0px -5px 0px;;
}

.thumbs-bar{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  padding: 5px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #e3f3ff;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}

.thumbs-bar::-webkit-scrollbar{
  display: none;
}

.slider-thumb{
  width:75px;
  height:60px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid #cfcfcf;
  cursor:pointer;
  flex:0 0 auto;
  opacity:.85;
  background:#fff;
  display:block;

  filter: brightness(.7);
}

.slider-thumb.active{
  filter: brightness(1);
  opacity: 1;
  border: 2px solid #2196f3;
}


.slider-thumb:active{
  transform: scale(.98);
}
.chalet-watermark {
    position: absolute;
    bottom: 5px;
    right: 10px;
    font-size: 18px;
    font-weight: 900;
    color: rgb(255 255 255 / 80%);
    white-space: nowrap;
    z-index: 100;
    pointer-events: none;
    user-select: none;
    direction: rtl;
}


.slider-thumb-gallery{
    width: 55px;
    height: 40px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid #cfcfcf;
  cursor:pointer;
  flex:0 0 auto;
  opacity:.85;
  background:#fff;
  display:block;

  filter: brightness(.7);
}

.slider-thumb-gallery.active {
    filter: brightness(1);
    opacity: 1;
    border: 1px solid #d6d6d6;
    margin: 5px 0px 5px 5px;
}

.slider-thumb-gallery:active{
  transform: scale(.98);
}
.chalet-watermark {
    position: absolute;
    bottom: 5px;
    right: 10px;
    font-size: 18px;
    font-weight: 900;
    color: rgb(255 255 255 / 80%);
    white-space: nowrap;
    z-index: 100;
    pointer-events: none;
    user-select: none;
    direction: rtl;
}

 .filter-card-video{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.filter-card-video .video-tab-text{
    display:block;
    width:100%;
    text-align:center;
}

.filter-card-video .video-tab-icon-wrap {
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 0px 6px 6px 0px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ef6b86;
    border: 1px solid #d94b68;
    box-sizing: border-box;
}

.filter-card-video .video-tab-icon{
    font-size:8px;
    color:#fff;
    line-height:1;
    margin-left:1px;
}


/* =========================================================
   أدوات صورة الشاليه داخل التفاصيل فقط
   جميع الأسماء مستقلة عن v03.css
========================================================= */
.ab15-price-panel-details {
    position: absolute;
    left: 47%;
    bottom: 35px;
    width: 90%;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    z-index: 103;
    pointer-events: none;
}

.ab15-price-count-1-details {
    grid-template-columns: 1fr;
}

.ab15-price-panel-tools-details {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 10px;
    width: 100%;
	    direction: rtl;
}

.ab15-price-tool-right-details {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-width: 0;
}

.ab15-price-tool-center-details {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
}

.ab15-price-tool-left-details {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    direction: ltr;
    min-width: 0;
    pointer-events: auto;
}

.ab15-special-offer-badge-details {
    min-height: 22px;
    padding: 0 5px 0 14px;
    border-right: 3px solid #FF9800;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 3px;
    direction: rtl;
    text-align: right;
    background: linear-gradient(
        90deg,
        #ffffff00 0%,
        #ffc10795 100%
    ) !important;
    color: #ffffff;
    line-height: 1;
    white-space: nowrap;
    font-size: 10px !important;
    font-weight: 700;
    width: 100%;
    box-sizing: border-box;
    pointer-events: auto;
}

.ab15-special-offer-default-details {
    display: inline-flex;
}

.ab15-special-offer-image-details {
    display: block;
    width: 14px;
    height: 14px;
    min-width: 14px;
    object-fit: contain;
}

.ab15-special-offer-text-details {
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.ab15-share-btn-details,
.ab15-video-360-btn-details {
    position: relative;
    inset: auto;
    flex: 0 0 20px;
    margin: 0 !important;
    padding: 0;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    text-decoration: none !important;
    pointer-events: auto;
}

.ab15-share-btn-details {
    order: 1;
    width: 22px;
    height: 22px;
    background: #03a9f4;
    color: #ffffff !important;
    box-shadow: 0 7px 17px rgba(0, 0, 0, .18);
    border: 1px solid #ffffff;
}

.ab15-share-icon-details {
    position: static !important;
    inset: auto !important;
    padding: 2px 5px 0 2px;
    font-size: 12px;
    line-height: 1;
    color: #ffffff;
}

.ab15-video-360-btn-details {
    order: 2;
    width: 32px;
    height: 22px;
    border: 0;
    background: transparent;
}

.ab15-video-360-btn-details[hidden] {
    display: none !important;
}

.ab15-video-360-image-details {
    display: block;
    width: 32px;
    height: auto;
    margin: 0;
    object-fit: contain;
    transform-origin: center;
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
}

.ab15-video-360-image-details.ab15-video-360-spin-details {
    animation: ab15Video360SpinDetails 2s linear 1;
    -webkit-animation: ab15Video360SpinDetails 2s linear 1;
}

@keyframes ab15Video360SpinDetails {
    from {
        transform: rotateY(0deg);
    }

    to {
        transform: rotateY(360deg);
    }
}

@-webkit-keyframes ab15Video360SpinDetails {
    from {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
    }

    to {
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg);
    }
}

@media (max-width: 380px) {
    .ab15-price-panel-details {
        width: calc(100% - 16px);
    }
}



.ab15-features-details {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 5px 10px;
    border-radius: 13px;
    border: 1px solid #bde5ff;
    margin: 5px 0px;
    padding: 6px;
    background: linear-gradient(145deg, #e7f6ff, #ffffff);
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}


.t100 {
    background-color: #FFFFFF;
    border: 1px #f1fafe solid;
    font-size: 12px;
    font-weight: 400;
    height: 32px;
    text-align: center;
    border-radius: 0px 0px 10px 10px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px -4px 6px -1px, rgba(0, 0, 0, 0.06) 0px -2px 4px -1px;
    padding: 5px;
    color: #B84749;
    z-index: 100;
}


.abv3d-booking-summary-remaining {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    direction: rtl;
    padding: 4px 8px;
    background: linear-gradient(145deg, #fdf0f3 0%, #ffffff 100%);
}

.abv3d-booking-summary-remaining[hidden] {
    display: none !important;
}

.abv3d-remaining-formula {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #141414;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.abv3d-remaining-box {
    min-width: 25px;
    padding: 1px 4px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    color: #28a745;
    font-size: 11px;
    line-height: 16px;
    text-align: center;
}

.abv3d-remaining-plus {
    color: #141414;
    font-weight: 900;
}

.abv3d-remaining-insurance {
    color: #2196f3;
    font-size: 11px;
    font-weight: 900;
}

.abv3d-remaining-total {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    direction: ltr;
    color: #141414;
    font-size: 10px;
    white-space: nowrap;
}

.abv3d-remaining-total b {
    color: #ff3b30;
    font-size: 11px;
}

/* =========================================================
   مميزات الشاليه داخل التفاصيل
   نفس طريقة عرض الرئيسية بكلاسات مستقلة
========================================================= */
.abv3d-features-details-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px 10px;
    margin: 5px 0;
    padding: 6px;
    box-sizing: border-box;
    direction: rtl;
    border: 1px solid #d8eefc;
    border-radius: 13px;
    background: linear-gradient(145deg, #f4fbff, #ffffff);
    box-shadow: 0 0 10px rgba(57, 168, 230, .16);
}

.abv3d-feature-details-item {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.abv3d-feature-details-icon {
    width: 18px;
    height: 18px;
    min-width: 18px;
    flex: 0 0 18px;
    display: block;
    object-fit: contain;
}

.abv3d-feature-details-label {
    display: block;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: #17355f;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.35;
    white-space: nowrap;
    text-overflow: ellipsis;
}


.abv3d-chalet-details-list-Room {
    margin: 7px 0 0;
    padding: 8px;

}

/* تفاصيل الشاليه النصية */
.abv3d-chalet-details-list {
    margin: 7px 0 0;
    padding: 8px 20px 8px 8px;
    box-sizing: border-box;
    direction: rtl;
    color: #2b2b2b;
    border: 1px solid #d8eefc;
    border-radius: 13px;
    background: linear-gradient(145deg, #f4fbff, #ffffff);
    box-shadow: 0 0 10px rgba(57, 168, 230, .10);
}

.abv3d-chalet-details-list li {
    margin: 3px 0;
    padding-bottom: 3px;
    color: #2b2b2b;
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.55;
}

.abv3d-chalet-details-empty {
    margin: 7px 0 0;
    padding: 12px;
    border: 1px solid #e3ebf5;
    border-radius: 12px;
    background: #f8fafc;
    color: #8090a4;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 380px) {
    .abv3d-features-details-grid {
        gap: 5px 7px;
    }

    .abv3d-feature-details-label,
    .abv3d-chalet-details-list li {
        font-size: 10px;
    }
}

@media (max-width: 340px) {
    .abv3d-features-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


.nearby-box{
    background:#EEF8FD;
    border-radius:14px;
    box-shadow: 0px 5px 18px rgb(0 0 0 / 22%);
    padding: 10px;
    border: #e3e3e3 1px solid;
    margin-top: 15px;
}
.nearby-title{
    font-size:10px;
    font-weight:700;
    color:#333333;
    margin-bottom:10px;
    display:flex;
    align-items:center;
    gap:6px
}
.nearby-name{
    font-size:10px;
    color:#333;
}
.nearby-name strong {
    font-size:10px;
    color:#333;
	    font-size: 9px !important;
}
.nearby-distance{
    margin: 7px 0 0;
    padding: 8px 8px 8px 8px;
    box-sizing: border-box;
    direction: rtl;
    color: #2b2b2b;
    border: 1px solid #d8eefc;
    border-radius: 13px;
    background: linear-gradient(145deg, #f4fbff, #ffffff);
    box-shadow: 0 0 10px rgba(57, 168, 230, .10);
}
.nearby-icon-location{
    padding-left:0px;
    color:#b10606;
    font-size:16px;
}
.nearby-icon{
    padding-left:4px;
    color:#46658d;
    font-size:14px;
}

.nearby-chalet-row{
    padding: 0 0 12px 0;
    line-height: 1.9;
}
.nearby-chalet-row:last-child{
    padding-bottom: 0;
}
.nearby-chalet-link{
    color:#006FD7;
    font-weight:700;
    text-decoration:none;
}
.nearby-chalet-link:hover{
    text-decoration:underline;
}


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


/* =========================================================
   MyFatoorah داخل نافذة التفاصيل
========================================================= */
.abv3d-topbar-actions {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
}

.abv3d-topbar-actions .abv3d-feedback-link {
    position: static;
    inset: auto;
    transform: none;
    white-space: nowrap;
}

.abv3d-feedback-link[hidden],
.abv3d-overlay.abv3d-payment-active .abv3d-feedback-link {
    display: none !important;
}

.abv3d-payment-back {
    min-width: 64px;
    height: 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0 9px;
    border: 1px solid #cfe8f7;
    border-radius: 20px;
    background: #fff;
    color: #0d7fb8;
    font-family: inherit;
    font-size: 9px;
    font-weight: 900;
    box-shadow: 0 4px 12px rgba(57, 168, 230, .11);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.abv3d-payment-back[hidden] {
    display: none !important;
}

.abv3d-payment-back:active {
    transform: scale(.96);
}

.abv3d-pay-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.abv3d-pay-btn.is-card {
    border-color: #1476d4;
    background: linear-gradient(135deg, #1889ed, #5f5ad9);
    box-shadow: 0 7px 17px rgba(24, 137, 237, .22);
}

.abv3d-pay-btn.is-card i {
    font-size: 17px;
}

.abv3d-payment-stage {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 14px 12px calc(16px + env(safe-area-inset-bottom));
    background:
        radial-gradient(circle at 88% 4%, rgba(57, 168, 230, .15), transparent 30%),
        linear-gradient(145deg, #f4fbff, #fff);
}

.abv3d-payment-stage[hidden] {
    display: none !important;
}

.abv3d-payment-shell {
    width: min(100%, 640px);
    margin: 0 auto;
}

.abv3d-payment-shell-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    padding: 11px 12px;
    border: 1px solid var(--abv3d-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(57, 168, 230, .11);
	direction: rtl;
}

.abv3d-payment-shell-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: linear-gradient(145deg, #e7f6ff, #fff);
    color: #148fd2;
    border: 1px solid #cfe8f7;
    font-size: 19px;
}

.abv3d-payment-shell-copy {
    min-width: 0;
}

.abv3d-payment-shell-copy strong,
.abv3d-payment-shell-copy span {
    display: block;
}

.abv3d-payment-shell-copy strong {
    color: var(--abv3d-ink);
    font-size: 12px;
    font-weight: 900;
}

.abv3d-payment-shell-copy span {
    margin-top: 2px;
    color: var(--abv3d-muted);
    font-size: 9px;
    font-weight: 700;
}

.abv3d-mf-container {
    min-height: 120px;
    padding: 12px;
    border: 1px solid var(--abv3d-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(33, 50, 68, .10);
    direction: ltr;
}

.abv3d-mf-container iframe {
    max-width: 100% !important;
}

.abv3d-mf-loader {
    min-height: 140px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #247aa7;
    font-size: 10px;
    font-weight: 900;
}

.abv3d-mf-loader[hidden] {
    display: none !important;
}

.abv3d-mf-loader-ring {
    width: 31px;
    height: 31px;
    border: 3px solid #d9edf9;
    border-top-color: #2196f3;
    border-radius: 50%;
    animation: abv3d-spin .7s linear infinite;
}

.abv3d-mf-error {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #ffd0d8;
    border-radius: 13px;
    background: #fff3f5;
    color: #b10622;
    font-size: 10px;
    font-weight: 800;
    text-align: center;
}

.abv3d-mf-error[hidden] {
    display: none !important;
}

@media (max-width: 430px) {
    .abv3d-pay-btn {
        min-height: 40px;
        gap: 4px;
        padding-inline: 5px;
                direction: ltr;
    }

    .abv3d-pay-btn span {
        font-size: 13px !important;
    }

    .abv3d-pay-btn img {
        height: 18px;
    }

    .abv3d-pay-btn i {
        font-size: 20px;
    }
}


/*comment*/

.owner-wrapper {
    display: flex;
    align-items: flex-start;
    margin: 0px -10px 15px 5px;
}
.owner-img {
    background: #FFFFFF;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    margin: 0 10px;
    padding: 2px;
    border: 1px solid #c1d9e7;
    box-shadow: 0px 3px 5px -2px rgba(0, 0, 0, .15);
}
.owner-box_feedback {
    position: relative;
    border-radius: 6px;
    padding: 2px 8px;
    max-width: 100%;
    border: 1px solid #0A78A5;
    box-shadow: 0px 3px 5px -2px rgba(0, 0, 0, .15);
    font-size: 10px;
    line-height: 1.8;
    background-color: #0A78A5;
    direction: rtl;
    text-align: right;
    min-height: 45px;
    width: 100%;
    color: #FFFFFF;
}

.comment-wrapper {
    display: flex;
    align-items: flex-start;
    margin: 0px 0px 8px 0px;
}
.right_feedback {
    flex-direction: row-reverse;
    justify-content: flex-start;
}
.left_feedback {
    flex-direction: row;
    justify-content: flex-start;
}
.comment-img {
    background: #FFFFFF;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    margin: 0 10px;
    padding: 2px;
    border: 1px solid #D7D7D7;
    box-shadow: 0px 3px 5px -2px rgba(0, 0, 0, .15);
}
.comment-box_feedback {
    position: relative;
    border-radius: 8px;
    padding: 2px 8px;
    max-width: 100%;
    border: 1px solid #D7D7D7;
    box-shadow: 0px 3px 5px -2px rgba(0, 0, 0, .15);
    font-size: 10px;
    line-height: 1.8;
    background: linear-gradient(145deg, #fffce3 0%, #ffffff 100%);
    direction: rtl;
    text-align: right;
    min-height: 45px;
    width: 100%;
	color: #333333;
}
.right_feedback .comment-box_feedback {
    background: linear-gradient(145deg, #e8f6ff 0%, #ffffff 100%);
}
@keyframes spinX {
  from { transform: rotateY(0deg); }
  to { transform: rotateY(360deg); }
}
.spin-animation {
  animation: spinX 2s linear 2;
}
@keyframes blink-pulse {
  0%   { opacity: 1; transform: scale(1); }
  50%  { opacity: 0.7; transform: scale(1.1); }
  100% { opacity: 1; transform: scale(1); }
}

.blink-icon {
  animation: blink-pulse 1.5s infinite ease-in-out;
}
/* ==== Ø§Ù„Ø£Ø³Ù‡Ù… - Ø§Ù„Ø¹Ù…Ù„Ø§Ø¡ ==== */
.comment-box_feedback::before,
.comment-box_feedback::after {
    content: "";
    position: absolute;
    top: 10px;
    width: 0;
    height: 0;
    border: 8px solid transparent;
    z-index: 2;
}
.comment-box_feedback::after {
    border: 9px solid transparent;
    z-index: 1;
}
.right_feedback .comment-box_feedback::before {
    right: -16px;
    border-left-color: #ffffff;
}
.right_feedback .comment-box_feedback::after {
    right: -19px;
    border-left-color: #D7D7D7;
}
.left_feedback .comment-box_feedback::before {
    left: -16px;
    border-right-color: #fdfce8;
}
.left_feedback .comment-box_feedback::after {
    left: -19px;
    border-right-color: #D7D7D7;
}



/* =========================================================
   تنبيه آخر موعد لسداد باقي المبلغ عند اختيار العربون
========================================================= */
.abv3d-deposit-deadline {
    border-radius: 14px 14px 0px 0px;
    background: linear-gradient(135deg, #ff5d79 0%, #d81f45 55%, #9f1029 100%);
    color: #FFFFFF;
    height: 26px;
    padding-top: 4px;
    font-size: 10px;
    border: 1px solid #eb5a74;
    text-align: center;
}

.abv3d-deposit-deadline[hidden] {
    display: none !important;
}

.abv3d-deposit-deadline::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, rgba(255,255,255,.18), transparent 38%);
}

.abv3d-deposit-deadline-icon {
    background: #fdf0f3;
    padding: 5px 12px;
    border-radius: 25px;
    font-weight: 600;
    border: 1px #eb5a74 solid;
    color: #eb5a74;
    font-size: 8.5px;
}

.abv3d-deposit-deadline-copy {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.abv3d-deposit-deadline-copy > strong,
.abv3d-deposit-deadline-copy > span,
.abv3d-deposit-deadline-copy > small {
    display: block;
}

.abv3d-deposit-deadline-copy > strong {
    margin-bottom: 2px;
    font-size: 10px;
    font-weight: 700;
}

.abv3d-deposit-deadline-copy > span {
    font-size: 9px;
    font-weight: 700;
    line-height: 1.65;
}

.abv3d-deposit-deadline-copy > span b {
    color: #fff5a7;
    font-weight: 900;
}

.abv3d-deposit-deadline-date {
    width: max-content;
    max-width: 100%;
    margin-top: 1px;
    padding: 2px 5px;
    border: 1px solid rgba(255,255,255,.46);
    border-radius: 4px;
    background: rgb(92 0 18 / 52%);
    white-space: nowrap;
}

.abv3d-deposit-deadline-date em {
    padding: 0 3px;
    font-style: normal;
    opacity: .75;
}

.abv3d-deposit-deadline-copy > small {
    color: #fff;
    font-size: 9px;
    font-weight: 500;
    line-height: 1.6;
}

.abv3d-deposit-deadline-copy > small b {
    color: #fff5a7;
    font-weight: 700;
}

/* =========================================================
   V76 — تفاصيل التصميم المستقل للمناسبة والفترة القصيرة
   نفس روح التصميم الحالي مع أسماء مستقلة وألوان مميزة
========================================================= */

/* =========================
   داخل نافذة التفاصيل: كروت الفترات
========================= */
.abv3d-overlay .ab15-package-list .ab15-period.ab15-period-holiday,
.abv3d-overlay .ab15-package-list .ab15-period.ab15-period--holiday,
.abv3d-overlay .ab15-package-list .ab15-period.is-holiday,
.abv3d-overlay .ab15-package-list .ab15-period[data-ab15-period-kind="holiday"],
.abv3d-overlay .ab15-package-list .ab15-period[data-period-kind="holiday"] {
    background: linear-gradient(160deg, #f3efff 0%, #e4f5ff 100%) !important;
    border: 1px solid #cfc5ff !important;
    border-right: 3px solid #7b61ff !important;
    box-shadow: 0 0 10px rgba(123, 97, 255, .20) !important;
}

.abv3d-overlay .ab15-package-list .ab15-period.ab15-period-short,
.abv3d-overlay .ab15-package-list .ab15-period.ab15-period--short,
.abv3d-overlay .ab15-package-list .ab15-period.is-short,
.abv3d-overlay .ab15-package-list .ab15-period[data-ab15-period-kind="short"],
.abv3d-overlay .ab15-package-list .ab15-period[data-period-kind="short"] {
    background: linear-gradient(160deg, #fff7df 0%, #ffffff 100%) !important;
    border: 1px solid #f0d7a1 !important;
    border-right: 3px solid #ff9800 !important;
    box-shadow: 0 0 10px rgba(255, 152, 0, .17) !important;
}

.abv3d-overlay .ab15-period-holiday .ab15-period-name strong,
.abv3d-overlay .ab15-period--holiday .ab15-period-name strong,
.abv3d-overlay .ab15-period.is-holiday .ab15-period-name strong,
.abv3d-overlay .ab15-period[data-ab15-period-kind="holiday"] .ab15-period-name strong,
.abv3d-overlay .ab15-period[data-period-kind="holiday"] .ab15-period-name strong {
    color: #6b4bd8 !important;
}

.abv3d-overlay .ab15-period-short .ab15-period-name strong,
.abv3d-overlay .ab15-period--short .ab15-period-name strong,
.abv3d-overlay .ab15-period.is-short .ab15-period-name strong,
.abv3d-overlay .ab15-period[data-ab15-period-kind="short"] .ab15-period-name strong,
.abv3d-overlay .ab15-period[data-period-kind="short"] .ab15-period-name strong {
    color: #a65d00 !important;
}

.abv3d-overlay .ab15-period-holiday .ab15-period-days,
.abv3d-overlay .ab15-period--holiday .ab15-period-days,
.abv3d-overlay .ab15-period.is-holiday .ab15-period-days,
.abv3d-overlay .ab15-period[data-ab15-period-kind="holiday"] .ab15-period-days,
.abv3d-overlay .ab15-period[data-period-kind="holiday"] .ab15-period-days {
    color: #8a38b8 !important;
    font-weight: 700 !important;
}

.abv3d-overlay .ab15-period-short .ab15-period-days,
.abv3d-overlay .ab15-period--short .ab15-period-days,
.abv3d-overlay .ab15-period.is-short .ab15-period-days,
.abv3d-overlay .ab15-period[data-ab15-period-kind="short"] .ab15-period-days,
.abv3d-overlay .ab15-period[data-period-kind="short"] .ab15-period-days {
    color: #7a6a52 !important;
    font-weight: 700 !important;
}

/* اختيار داخل التفاصيل */
.abv3d-overlay .ab15-package-list .ab15-period.ab15-period-holiday.is-selected,
.abv3d-overlay .ab15-package-list .ab15-period.ab15-period--holiday.is-selected,
.abv3d-overlay .ab15-package-list .ab15-period.is-holiday.is-selected,
.abv3d-overlay .ab15-package-list .ab15-period[data-ab15-period-kind="holiday"].is-selected,
.abv3d-overlay .ab15-package-list .ab15-period[data-period-kind="holiday"].is-selected {
    background: linear-gradient(160deg, #ede7ff 0%, #ffffff 100%) !important;
    border: 1px solid #7b61ff !important;
    border-right: 3px solid #7b61ff !important;
    box-shadow: inset 0 0 0 1px rgba(123,97,255,.26), 0 7px 16px rgba(123,97,255,.14) !important;
}

.abv3d-overlay .ab15-package-list .ab15-period.ab15-period-short.is-selected,
.abv3d-overlay .ab15-package-list .ab15-period.ab15-period--short.is-selected,
.abv3d-overlay .ab15-package-list .ab15-period.is-short.is-selected,
.abv3d-overlay .ab15-package-list .ab15-period[data-ab15-period-kind="short"].is-selected,
.abv3d-overlay .ab15-package-list .ab15-period[data-period-kind="short"].is-selected {
    background: linear-gradient(160deg, #fff0c8 0%, #ffffff 100%) !important;
    border: 1px solid #ff9800 !important;
    border-right: 3px solid #ff9800 !important;
    box-shadow: inset 0 0 0 1px rgba(255,152,0,.22), 0 7px 16px rgba(255,152,0,.12) !important;
}

/* =========================
   ملخص الحجز داخل التفاصيل
   يمكن تفعيلها بإضافة كلاس:
   .abv3d-booking-summary-holiday
   .abv3d-booking-summary-short
========================= */
.abv3d-booking-summary-holiday,
.abv3d-booking-summary.is-holiday {
    border-top-color: #7b61ff !important;
    background: linear-gradient(145deg, #f3efff 0%, #ffffff 100%) !important;
}

.abv3d-booking-summary-short,
.abv3d-booking-summary.is-short {
    border-top-color: #ff9800 !important;
    background: linear-gradient(145deg, #fff7df 0%, #ffffff 100%) !important;
}

.abv3d-booking-summary-holiday .abv3d-booking-summary-days,
.abv3d-booking-summary.is-holiday .abv3d-booking-summary-days {
    border-color: #d9d0ff !important;
    background: #ffffff !important;
}

.abv3d-booking-summary-short .abv3d-booking-summary-days,
.abv3d-booking-summary.is-short .abv3d-booking-summary-days {
    border-color: #efd6a0 !important;
    background: #ffffff !important;
}

.abv3d-booking-summary-holiday .abv3d-booking-summary-title,
.abv3d-booking-summary.is-holiday .abv3d-booking-summary-title,
.abv3d-booking-summary-title-holiday {
    color: #6b4bd8 !important;
}

.abv3d-booking-summary-short .abv3d-booking-summary-title,
.abv3d-booking-summary.is-short .abv3d-booking-summary-title,
.abv3d-booking-summary-title-short {
    color: #a65d00 !important;
}

/* صف سعر الإيجار للمناسبة أو الفترة القصيرة إذا احتجنا تمييزه */
.abv3d-booking-summary-rent.is-holiday,
.abv3d-booking-summary-holiday .abv3d-booking-summary-rent {
    background: linear-gradient(90deg, #7b61ff 0%, #39a8e6 100%) !important;
}

.abv3d-booking-summary-rent.is-short,
.abv3d-booking-summary-short .abv3d-booking-summary-rent {
    background: linear-gradient(90deg, #ff9800 0%, #ffc45d 100%) !important;
}

/* أسماء مستقلة اختيارية */
.abv3d-period-holiday-frame {
    border: 1px solid #cfc5ff !important;
    border-right: 3px solid #7b61ff !important;
    background: linear-gradient(160deg, #f3efff 0%, #e4f5ff 100%) !important;
}

.abv3d-period-short-frame {
    border: 1px solid #f0d7a1 !important;
    border-right: 3px solid #ff9800 !important;
    background: linear-gradient(160deg, #fff7df 0%, #ffffff 100%) !important;
}


/* ===============================
   بوب أب الشروط داخل تفاصيل الشاليه
================================ */
.abv3d-terms-popup{
    width:min(96vw,460px) !important;
    height:min(92vh,780px) !important;
    padding:0 !important;
    border-radius:22px !important;
    overflow:hidden !important;
    background:#ffffff !important;
}

.abv3d-terms-popup .swal2-html-container{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
}

.abv3d-terms-wrap{
    --abv3d-line:#d8eefc;
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:#ffffff;
    direction:rtl;
}

.abv3d-terms-wrap .abv3d-topbar{
    flex:0 0 auto;
    height:46px;
}

.abv3d-title{
    grid-column:2;
    min-width:0;
    text-align:center;
    color:#142b49;
    font-size:12px;
    font-weight:900;
    line-height:1.2;
}

.abv3d-title span{
    display:block;
    margin-top:2px;
    color:#8090a4;
    font-size:8px;
    font-weight:800;
}

.abv3d-contract-frame{
    width:100%;
    flex:1 1 auto;
    min-height:0;
    border:0;
    display:block;
    background:#ffffff;
}



.abv3d-pay-grid.abv3d-pay-grid-split {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.abv3d-pay-grid-split .abv3d-pay-btn-deema {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 40px !important;
        padding: 0px 12px;
}

.abv3d-pay-grid-split .abv3d-pay-btn-deema:not([hidden]) {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 8px !important;
    direction: rtl !important;
    text-align: right !important;
}

.abv3d-deema-logo-part {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: start !important;
    min-width: 76px !important;
}

.abv3d-deema-logo-part img {
    height: 24px !important;
    width: auto !important;
    display: block !important;
    margin: 0 !important;
}

.abv3d-deema-text-part {
    display: inline-flex !important;
    align-items: center !important;
    justify-self: start !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

.abv3d-deema-first-payment {
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    justify-self: end !important;
    gap: 3px !important;
    direction: rtl !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

.abv3d-deema-first-label {
    font-size: 10px !important;
    font-weight: 800 !important;
}

.abv3d-deema-first-amount {
    font-size: 14px !important;
    font-weight: 900 !important;
}

.abv3d-deema-first-currency {
    font-size: 9px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.abv3d-pay-btn-deema:not(:disabled) {
    border-color: #c5798d !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(197, 121, 141, .28) !important;
    background: linear-gradient(145deg, #b3576c 0%, #d17789 100%);
}

.abv3d-pay-btn-deema:not(:disabled):hover,
.abv3d-pay-btn-deema:not(:disabled):focus {
    background: #bd7186 !important;
    border-color: #bd7186 !important;
}

.abv3d-pay-btn-deema:not(:disabled) .abv3d-deema-text-part,
.abv3d-pay-btn-deema:not(:disabled) .abv3d-deema-first-payment {
    color: #ffffff !important;
}

.abv3d-pay-btn-deema .abv3d-deema-logo-part {
    font-size: initial !important;
}

.abv3d-pay-btn-deema .abv3d-deema-text-part {
    font-size: 11px !important;
    font-weight: 900 !important;
}

.abv3d-pay-btn-deema .abv3d-deema-first-payment {
    font-size: initial !important;
}

.abv3d-pay-btn-deema .abv3d-deema-first-label {
    font-size: 9px !important;
    font-weight: 800 !important;
}
.abv3d-pay-btn-deema:disabled .abv3d-deema-first-amount,
.abv3d-pay-btn-deema[aria-disabled="true"] .abv3d-deema-first-amount {
    color: #333333 !important;
}
.abv3d-pay-btn-deema .abv3d-deema-first-amount {
    font-size: 15px !important;
    font-weight: 900 !important;
    color: #FFEB3B;
}

.abv3d-pay-btn-deema .abv3d-deema-first-currency {
    font-size: 9px !important;
    font-weight: 900 !important;
    color: #333333;
}

/* تصنيفات مميزات الغرف للرول 10 — كلاسات مستقلة عن توزيع الغرف. */
.ab15-feature-category-distribution {
    width: 100%;
    padding: 0 2px;
    font-family: inherit;
}

.ab15-feature-category-card {
    --ab15-feature-category-accent: #2196f3;
    --ab15-feature-category-bg: #f3f9ff;
    --ab15-feature-category-bg-2: #ffffff;
    position: relative;
    overflow: hidden;
    margin: 0px 0 14px;
    border-radius: 18px;
    background: linear-gradient(135deg,var(--ab15-feature-category-bg) 0%,var(--ab15-feature-category-bg-2) 78%);
    box-shadow: 0 4px 12px rgb(15 23 42 / 8%);
}

.ab15-feature-category-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    background: var(--ab15-feature-category-accent);
}

.ab15-feature-category-card::after {
    content: "";
    position: absolute;
    top: -38px;
    left: -28px;
    width: 130px;
    height: 110px;
    border-radius: 0 90px 150px 0;
    background: var(--ab15-feature-category-accent);
    opacity: .07;
}

.ab15-feature-category-1 {
    --ab15-feature-category-accent: #2196f3;
    --ab15-feature-category-bg: #f3f9ff;
        border: 1px #cce6ff solid;
}

.ab15-feature-category-2 {
    --ab15-feature-category-accent: #f59e0b;
    --ab15-feature-category-bg: #fff8ed;
    border: 1px #ffdba3 solid;
}

.ab15-feature-category-3 {
    --ab15-feature-category-accent: #8b5cf6;
    --ab15-feature-category-bg: #f8f5ff;
        border: 1px #ddceff solid;
}

.ab15-feature-category-4 {
    --ab15-feature-category-accent: #10b981;
    --ab15-feature-category-bg: #f2fff9;
}

.ab15-hotel-details-card {
    --ab15-feature-category-accent: #10b981;
    --ab15-feature-category-bg: #f2fff9;
        border: 1px #c8e2c9 solid;
}







/* غرف الفنادق — Role 10 */
.ab15-room-role10-list {
    --ab15-floor-accent: #ec4899;
    --ab15-floor-bg: #fff5fb;

    display: grid;
    gap: 7px;
    width: 100%;
    margin: 0 0 10px;
}

.ab15-room-role10-item {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid rgb(226 226 226 / 95%);
    border-right: 4px solid var(--ab15-floor-accent);
    border-radius: 14px;
    background: linear-gradient(
        135deg,
        var(--ab15-floor-bg) 0%,
        #ffffff 78%
    );
    box-shadow: 0 4px 12px rgb(15 23 42 / 8%);
}


.ab15-room-role10-info {
    min-width: 0;
    color: #4e4e4e;
    font-size: 10px;
    line-height: 1.9;
    text-align: right;
}

.ab15-room-role10-bed-line {
    display: flex;
    align-items: center;
    gap: 3px;
    white-space: nowrap;
}

.ab15-room-role10-bed-line strong {
    color: var(--ab15-floor-accent);
    font-weight: 900;
}

.ab15-room-role10-icons {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3px;
    min-height: 28px;
}

.ab15-room-role10-icons img {
    width: auto;
    height: 25px;
    margin: 0 1px;
    object-fit: contain;
}

@media (max-width: 420px) {
    .ab15-room-role10-item {
        min-height: 44px;
        gap: 7px;
        padding: 7px 8px;
    }

    .ab15-room-role10-info {
        font-size: 9.5px;
    }

    .ab15-room-role10-icons img {
        height: 23px;
    }
}








.ab15-hotel-details-list {
    margin: 0;
    padding: 0px 20px 0px 0px;
    box-sizing: border-box;
    color: #2b2b2b;
}

.ab15-hotel-details-list li {
    margin: 3px 0;
    padding-bottom: 3px;
    color: #2b2b2b;
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.55;
}

.ab15-feature-category-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 16px 9px 12px;
}

.ab15-feature-category-title-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ab15-feature-category-dot {
    flex: 0 0 auto;
    width: 11px;
    height: 11px;
    border-radius: 999px;
    background: var(--ab15-feature-category-accent);
    box-shadow: 0 0 0 4px rgba(255,255,255,.78),0 3px 10px rgba(15,23,42,.12);
}

.ab15-feature-category-title {
    color: #111827;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
}

.ab15-feature-category-sub {
    margin-top: 1px;
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
}

.ab15-feature-category-pill {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 75px;
    min-height: 24px;
    padding: 4px 10px;
    border: 1px solid rgb(226 226 226 / 95%);
    border-radius: 999px;
    background: #fff;
    color: var(--ab15-feature-category-accent);
    box-shadow: 0 4px 12px rgb(15 23 42 / 8%);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.ab15-feature-category-body {
    position: relative;
    z-index: 1;
    padding: 0 12px 10px 4px;
}

.ab15-feature-category-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 4px;
}

.ab15-feature-category-item {
    display: flex;
    min-width: 0;
    min-height: 29px;
    align-items: center;
    gap: 6px;
    padding: 0px 3px 0px 0px;
    border: 1px solid rgb(226 226 226 / 95%);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgb(15 23 42 / 8%);
}

.ab15-feature-category-icon {
    flex: 0 0 16px;
    width: 16px;
    min-width: 16px;
    color: var(--ab15-feature-category-accent);
    font-size: 14px;
    text-align: center;
}

.ab15-feature-category-label {
    min-width: 0;
    overflow: hidden;
    color: #17355f;
    font-size: 9px;
    font-weight: 600;
    line-height: 1.35;
}

@media (max-width: 420px) {
    .ab15-feature-category-head {
        padding: 11px 14px 8px 10px;
    }

    .ab15-feature-category-pill {
        padding: 4px 8px;
        font-size: 8.8px;
    }

    .ab15-feature-category-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 6px;
    }

    .ab15-feature-category-item {
        padding: 4px;
    }
}
.ab15-room-role10-card {
    --ab15-feature-category-accent: #ec4899;
    --ab15-feature-category-bg: #fff5fb;
        border: 1px #ffe2f3 solid;
}
.ab15-room-role10-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
}
.ab15-room-role10-grid-item {
    display: flex;
    min-width: 0;
    min-height: 29px;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding: 0px 5px 0px 5px;
    border: 1px solid rgb(226 226 226 / 95%);
    border-radius: 8px;
    background: #ffffff;
    color: #17355f;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.35;
    box-shadow: 0 4px 12px rgb(15 23 42 / 8%);
}
.ab15-room-role10-grid-icon {
    flex: 0 0 18px;
    width: 18px;
    min-width: 18px;
    color: #ec4899;
    font-size: 16px;
    text-align: center;
}
.ab15-room-role10-grid-label {
    min-width: 0;
    overflow-wrap: anywhere;
    min-width: 0;
    overflow: hidden;
    color: #17355f;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.35;
}
.ab15-room-role10-grid-label strong {
    color: #ec4899;
    font-weight: 900;
}
.ab15-room-role10-grid-bed-icons {
    display: flex;
    flex: 0 1 auto;
    min-width: 18px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2px;
}
.ab15-room-role10-grid-bed-icons img {
    width: auto;
    height: 10px;
    object-fit: contain;
}
@media (max-width: 420px) {
    .ab15-room-role10-grid {
        gap: 4px;
    }
    .ab15-room-role10-grid-item {
        gap: 4px;
        padding: 0px 5px 0px 5px;
        font-size: 9px;
    }
    .ab15-room-role10-grid-bed-icons img {
        height: 10px;
    }
}
.abv3d-dialog-gallery {
    position: relative;
    display: flex;
    flex-direction: column;
    width: min(100%, 980px);
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(216, 238, 252, .95);
    border-radius: 25px;
    background: #fff;
    box-shadow: 0 34px 110px rgba(0, 0, 0, .42);
    animation: abv3d-dialog-in .25s cubic-bezier(.22, .9, .31, 1.12) both;
}