#stay-dialog:has(.booking-journey){width:100vw;height:100dvh;max-width:none;max-height:100dvh;border-radius:0;background:#f7f1e9}
dialog[open]{animation:none}
button:focus,button:focus-visible,a:focus,a:focus-visible,input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible,summary:focus,summary:focus-visible{outline:none!important;outline-offset:0!important}
button:focus-visible,a:focus-visible,summary:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
input:not([type=checkbox]):focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:inset 0 -2px 0 var(--accent);background-color:#fffaf4}
input::selection,textarea::selection{background:#dfc7b5;color:var(--ink)}
.booking-journey .full-btn:hover,.booking-journey .outline-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px #3d2c2318}
.booking-journey .full-btn,.booking-journey .outline-btn{transition:background .25s,transform .25s,box-shadow .25s}
.booking-journey .stay-photo img{transition:transform .6s ease}.booking-journey .stay-photo:hover img{transform:scale(1.025)}
.tax-inclusive{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin:10px 0 2px;padding:6px 10px;border-radius:20px;background:#e8f2e8;color:#27613d;font-size:12px!important;line-height:1.3}.tax-inclusive:before{content:'✓';font-weight:700}.tax-inclusive[hidden]{display:none}
.summary-rate .tax-inclusive{flex-basis:auto}
:root{--iti-path-flags-1x:url('/vendor/intl-tel-input/img/flags.webp');--iti-path-flags-2x:url('/vendor/intl-tel-input/img/flags@2x.webp')}
#login-options,.account-side>.preview-badge{display:none!important}
#guest-form .iti{display:block;width:100%;direction:ltr;margin:7px 0 4px}
#guest-form .iti input{width:100%;direction:ltr;text-align:left;margin:0;padding-inline-start:100px}
#guest-form .iti__country-container{z-index:2}
#guest-form .iti__dropdown-content{z-index:10;max-height:280px;box-shadow:0 15px 35px #3d2c2333}
#guest-form .iti__search-input{margin:0!important;width:100%}
.phone-error{display:block;color:#a44332;font-size:12px;min-height:17px;margin:3px 0 8px}
.occupancy-field{min-width:0;font-size:12px;color:var(--muted);padding-left:12px;border-left:1px solid var(--line)}.occupancy-split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.occupancy-split label{display:block!important;min-width:0;font-size:11px!important;padding:0!important;border:0!important}.occupancy-split select{min-height:30px;width:100%;padding:3px 0;font-size:14px;color:var(--ink)}.occupancy-field>select[hidden]{display:none!important}.detail-occupancy{padding:0;border:0;margin:8px 0 12px;color:var(--ink)}.detail-occupancy>span{font-size:13px;font-weight:600}.detail-occupancy select{background:#fff!important;border:1px solid var(--line)!important;border-radius:7px!important;padding:8px!important;margin:5px 0 0!important}
.reservation-header{background:#fffaf4;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:18px;text-align:start}
.reservation-header h2{font-size:29px;margin:10px 0}.reservation-header p{font-size:14px;line-height:1.7;margin:8px 0}
.reservation-header code{font-family:Arial,sans-serif;display:inline-block;max-width:100%;overflow-wrap:anywhere;font-size:12px;background:#f2e6d9;border-radius:6px;padding:7px 9px;margin-inline-start:7px}
.reservation-status{display:inline-block;border-radius:20px;padding:7px 12px;background:#e8f2e8;color:#27613d;font-size:12px;font-weight:700}
.reservation-check{display:inline-grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#2c7147;color:white;font-size:24px;margin-inline-end:10px}
.reservation-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.reservation-panel{min-width:0;background:#fffaf4;border:1px solid var(--line);border-radius:12px;padding:20px;margin:0}.reservation-panel h3{font-size:18px;margin:0 0 13px}.reservation-panel h4{font-size:19px;margin:0 0 5px}.reservation-panel>p{font-size:13px;color:var(--muted);margin:0 0 12px}.reservation-panel dl{margin:8px 0 16px}.reservation-panel dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.reservation-panel dt{color:var(--muted)}.reservation-panel dd{margin:0;text-align:end;font-weight:600;overflow-wrap:anywhere}.reservation-panel .outline-btn{display:inline-block;font-size:12px}.reservation-total{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;border-top:2px solid var(--ink);padding-top:13px}.reservation-total strong{font-size:20px}.reservation-total small{flex-basis:100%;color:#27613d}.reservation-policy{margin-top:15px}.reservation-policy p{margin:0;color:var(--ink);line-height:1.8}.reservation-view{max-width:300px;display:block;margin:20px auto 0}.success{padding:25px;text-align:start}.success .reservation-header{text-align:start}.success .reservation-details-grid{text-align:start}
@media(max-width:650px){.reservation-details-grid{grid-template-columns:1fr}.reservation-header{padding:18px}.reservation-panel{padding:17px}.success{padding:15px}}
.cancellation-policy{margin:16px 0;padding:19px 20px;background:#fffaf4;border:1px solid var(--line);border-radius:10px}.cancellation-policy h3{margin:0 0 8px;font-size:18px}.cancellation-policy-row{display:flex;align-items:flex-start;gap:10px;border-top:1px solid var(--line);padding:10px 0;font-size:13px;line-height:1.7}.cancellation-policy-row:last-child{padding-bottom:0}.cancellation-policy-row b{color:#2c7147;font-size:16px}.cancellation-policy-row:last-child b{color:#a65c33}.summary-policy{border-top:1px solid var(--line);padding-top:12px;line-height:1.7}
.booking-journey{font-family:'Tajawal',sans-serif;max-width:1240px;min-height:100dvh;margin:auto}
.booking-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:28px 40px 23px;background:#fffaf4;border-bottom:1px solid var(--line)}
.booking-progress span{display:flex;align-items:center;gap:10px;color:#8b7a6d;font-size:13px}
.booking-progress b{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid #cbbbae;font-size:13px;font-weight:600;background:#fff}
.booking-progress .active{color:var(--ink);font-weight:700}.booking-progress .active b{background:var(--ink);border-color:var(--ink);color:#fff}
.booking-progress .done b{background:#dfede3;border-color:#b9d5c2;color:#246640}
.booking-progress small{font-size:12px}
.login-selection{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;background:#f0e4d7;border-bottom:1px solid var(--line);padding:11px 40px;font-size:13px}.login-selection span{color:var(--muted)}.login-selection b{font-size:15px}
.booking-journey .stay-photo{position:relative;margin:26px 40px 0;height:300px;overflow:hidden;border-radius:14px;background:#dfd1c1}
.booking-journey .detail-cover{display:block;width:100%;height:100%;object-fit:cover}
.stay-photo figcaption{position:absolute;bottom:14px;right:14px;background:#fff9;padding:7px 12px;border-radius:20px;font-size:12px;color:#46352b;backdrop-filter:blur(8px)}
.booking-journey .detail-body{padding:25px 40px 40px}.booking-journey .detail-body h2{font-size:34px;margin:4px 0 0;font-weight:600}
.stay-location{display:flex;gap:16px;align-items:center;color:var(--muted);font-size:14px;margin:6px 0 22px}.stay-location a,.checkout-summary a{color:#8b583b;text-decoration:underline;text-underline-offset:3px}
.booking-journey .detail-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:25px}
.stay-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.stay-facts>div{padding:17px 14px;background:#fffaf4;border:1px solid var(--line);border-radius:10px}.stay-facts span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.stay-facts strong{font-size:14px;font-weight:600}
.stay-terms{background:#fffaf4;border:1px solid var(--line);border-radius:10px;padding:21px}.stay-terms h3{margin:0 0 5px;font-size:19px!important}.stay-terms>p{font-size:13px;color:var(--muted);margin:0 0 14px}.stay-term{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #e9ded1;padding:12px 0;font-size:13px;line-height:1.7}.stay-term:last-child{padding-bottom:0}.stay-term b{color:#3d7450;font-weight:700;font-size:16px}
.booking-journey .booking-box{box-shadow:0 14px 35px #3d2c2310;background:#fffaf4;padding:22px;border-radius:12px}.rate-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.rate-panel-title span{font-weight:700;font-size:17px}.rate-panel-title small{font-size:11px;color:var(--muted)}
.booking-journey #detail-price{display:block;font-size:28px;margin:11px 0 14px}.booking-journey .booking-box label{font-size:13px;font-weight:600;margin-top:8px}.booking-journey .booking-box input,.booking-journey .booking-box select{background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px;margin-top:5px}
.booking-journey #price-summary{font-size:13px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:13px;margin-top:14px}.booking-journey .booking-box .demo-note{text-align:start;line-height:1.6;font-size:11px}
.booking-journey .checkout{padding:0}.booking-journey .checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px;padding:28px 40px 40px;align-items:start}
.checkout-main{min-width:0;background:#fffaf4;border:1px solid var(--line);border-radius:12px;padding:27px}.checkout-main h2{font-size:29px;margin:0 0 8px}.checkout-main>p{margin:5px 0 14px}.checkout-main .checkout-guidance{font-size:13px;color:#655146;background:#f0e4d7;border-radius:8px;padding:12px 14px;margin:18px 0}
.checkout-main .back-btn{margin-bottom:14px}.checkout-main .booking-item{background:#f7f1e9}.checkout-main input{background:white}.checkout-main #guest-form .full-btn,.checkout-main #confirm-form .full-btn{font-size:15px;padding:15px}
.checkout-main .review-stay{border-radius:10px;padding:19px}.checkout-main .review-stay h3{font-size:18px}.checkout-main #review-price{font-size:19px;font-weight:700;color:var(--ink);background:#f0e4d7;border-radius:8px;padding:16px;margin:16px 0}.checkout-main .account-note{font-size:13px;line-height:1.8}
.checkout-main .checkout-disclosure{font-size:12px;line-height:1.7;color:#805032;border:1px solid #e4c7af;background:#fff5e9;border-radius:8px;padding:11px 13px}
.checkout-summary{background:#fffaf4;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:sticky;top:15px;box-shadow:0 12px 32px #3d2c2308}.checkout-summary>img{width:100%;height:160px;object-fit:cover;display:block}.checkout-summary-body{padding:18px}.summary-eyebrow{font-size:11px;color:var(--muted)}.checkout-summary h3{margin:6px 0;font-size:19px}.checkout-summary a{font-size:12px}.checkout-summary dl{margin:18px 0 0}.checkout-summary dl>div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:10px 0;font-size:13px}.checkout-summary dt{color:var(--muted)}.checkout-summary dd{margin:0;font-weight:600;text-align:end}.summary-rate{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;border-top:2px solid var(--ink);padding-top:15px;margin-top:5px}.summary-rate span{font-size:14px;font-weight:700}.summary-rate strong{font-size:19px}.summary-rate small{flex-basis:100%;font-size:11px;color:var(--muted)}.checkout-summary p{font-size:11px;color:var(--muted);margin:13px 0 0}
@media(max-width:800px){.booking-journey .detail-grid,.booking-journey .checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static;order:-1}.checkout-summary>img{height:130px}.stay-facts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){#stay-dialog:has(.booking-journey){width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.booking-progress{padding:20px 10px 16px;gap:3px}.booking-progress span{flex-direction:column;text-align:center;gap:5px}.booking-progress small{font-size:9px;line-height:1.2}.booking-progress b{width:26px;height:26px}.login-selection{padding:11px 16px;font-size:11px}.booking-journey .stay-photo{height:240px;margin:16px 16px 0}.stay-photo figcaption{right:8px;bottom:8px;font-size:10px;max-width:90%}.booking-journey .detail-body{padding:20px 16px 30px}.booking-journey .detail-body h2{font-size:26px}.stay-facts{grid-template-columns:1fr 1fr}.stay-facts>div:last-child{grid-column:1/-1}.booking-journey .checkout-layout{padding:18px 15px 30px;gap:16px}.checkout-main{padding:20px 17px}.checkout-summary>img{height:120px}.checkout-summary-body{padding:14px}.checkout-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.checkout-summary dl>div{font-size:12px}}
