/* Breadcrumbs */
.breadcrumbs{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-soft);flex-wrap:wrap}
.breadcrumbs a:hover{color:var(--brand-dark);text-decoration:underline}
.breadcrumbs i{font-size:11px;color:var(--text-muted)}

/* Title */
.page-top{padding-top:calc(var(--header) + 18px)}
.prop-head{display:flex;align-items:center;gap:18px;margin:14px 0 10px}
.prop-title-block{margin:0;flex:1;min-width:0}
.prop-title-block h1{font-size:clamp(22px,3vw,30px);font-weight:900;margin:0 0 12px;color:var(--text)}
.prop-meta-info{display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:10px 12px;font-size:13px;color:var(--text-soft);text-align:right}
.prop-meta-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;justify-content:flex-start}
.prop-rating{display:flex;align-items:center;gap:4px;font-weight:900;color:var(--text)}
.prop-rating i{color:#f59e0b}
.prop-meta-left-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:2px 0 0;width:100%;align-self:flex-start;direction:rtl}
.meta-action-btn{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:12.5px;color:var(--text-soft);padding:7px 13px;border-radius:10px;border:1.5px solid var(--border);background:#fff;transition:all .2s}
.meta-action-btn:hover{border-color:var(--text);background:var(--bg-soft);color:var(--text)}
.meta-action-btn.active i{color:var(--brand);font-weight:900}
.meta-action-btn.danger:hover{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}
.prop-host-line{display:flex;align-items:center;gap:12px;margin:0;flex-wrap:wrap;flex-shrink:0}
.prop-host-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--brand-light);flex-shrink:0}
.prop-host-meta{display:flex;flex-direction:column;line-height:1.5}
.ph-name{font-size:13px;font-weight:900;color:var(--text)}
.ph-code{font-size:12px;color:var(--text-soft)}
.ph-code strong{color:var(--brand-dark)}

/* Quick nav (جایگزین باکس‌های تراست) */
.quick-nav{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 10px;margin-bottom:6px}
.quick-nav::-webkit-scrollbar{display:none}
.quick-nav button{flex-shrink:0;padding:9px 16px;border-radius:999px;background:var(--bg-soft);border:1.5px solid var(--border);font-weight:800;font-size:12.5px;color:var(--text-soft);transition:.2s;white-space:nowrap}
.quick-nav button:hover{border-color:var(--brand);color:var(--brand-dark);background:var(--brand-light)}
.quick-nav button:active{transform:scale(.96)}

/* Gallery */
.top-gallery{width:100%;max-width:1280px;margin:0 auto;padding:0 8px}
.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;border-radius:24px;overflow:hidden;margin-bottom:20px;position:relative;height:clamp(360px,56vh,560px)}
.gallery-item{position:relative;width:100%;height:100%;cursor:pointer;background:var(--bg-soft);overflow:hidden}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,filter .3s}
.gallery-item:hover img{transform:scale(1.04);filter:brightness(.95)}
.gallery-item.main{grid-row:span 2}
.show-all-photos{position:absolute;bottom:16px;left:16px;background:#fff;color:var(--text);padding:9px 16px;border-radius:12px;font-weight:800;font-size:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border);display:flex;align-items:center;gap:6px;z-index:10}
.show-all-photos:hover{background:var(--bg-soft)}
.mobile-gallery{display:none;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-soft);margin-bottom:14px;border-radius:16px}
.mobile-gallery-track{display:flex;height:100%;transition:transform .3s ease;touch-action:pan-y;direction:rtl}
.mobile-gallery-slide{flex:0 0 100%;height:100%;direction:rtl}
.mobile-gallery-slide img{width:100%;height:100%;object-fit:cover}
.mobile-gallery-badge{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.6);color:#fff;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:800;z-index:10}
.mob-gallery-actions{position:absolute;top:12px;left:12px;display:none;gap:8px;z-index:15}
.mob-gallery-btn{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text);box-shadow:0 4px 12px rgba(0,0,0,.1);font-size:17px;transition:.2s}
.mob-gallery-btn:hover{background:#fff}
.mob-gallery-btn.active i{color:var(--brand)}
.gallery-actions{position:absolute;top:14px;left:14px;display:flex;gap:8px;z-index:12}
.gallery-actions .g-btn{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text);box-shadow:0 4px 12px rgba(0,0,0,.12);font-size:18px;transition:.2s}
.gallery-actions .g-btn:hover{background:#fff}
.gallery-actions .g-btn.active i{color:var(--brand)}
.mob-gallery-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:none;gap:7px;z-index:15;direction:rtl}
.mob-gallery-dots .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.55);border:0;padding:0;cursor:pointer;transition:.25s;flex-shrink:0}
.mob-gallery-dots .dot.active{background:#fff;width:22px;border-radius:5px}

/* Layout */
.details-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:32px;align-items:start;padding:8px 0 40px}
.details-content{display:flex;flex-direction:column;gap:22px;min-width:0}
.detail-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow-sm);scroll-margin-top:90px}
.detail-title{font-size:17px;font-weight:900;margin:0 0 16px;color:var(--text);display:flex;align-items:center;gap:8px}
.detail-title i{color:var(--brand);font-size:20px}

/* Host summary */
.host-summary{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.host-summary img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--brand-light);flex-shrink:0}
.host-summary .hs-meta{flex:1;min-width:160px}
.host-summary .hs-meta h4{margin:0 0 4px;font-size:16px;font-weight:900}
.host-summary .hs-meta>span{font-size:12px;color:var(--text-soft)}
.host-summary .hs-stats{display:flex;gap:18px;margin-top:8px}
.host-summary .hs-stats div b{display:block;font-size:15px;color:var(--brand-dark)}
.host-summary .hs-stats div span{font-size:10.5px;color:var(--text-soft)}

/* Specs */
.specs-bar{display:flex;flex-wrap:wrap;gap:10px}
.spec-tag{display:inline-flex;align-items:center;gap:7px;background:var(--bg-soft);border:1px solid var(--border);padding:9px 14px;border-radius:12px;font-weight:800;font-size:12.5px;color:var(--text)}
.spec-tag i{color:var(--brand);font-size:17px}
.spec-list{display:flex;flex-direction:column}
.spec-row{display:flex;align-items:flex-start;gap:12px;padding:13px 0}
.spec-row + .spec-row{border-top:1px dashed var(--border)}
.spec-ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--brand);background:var(--brand-light);flex-shrink:0}
.spec-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.spec-title{font-size:13.5px;font-weight:900;color:var(--text)}
.spec-sub{font-size:12px;color:var(--text-soft);line-height:1.7}

/* About + show more */
.about-text{max-height:92px;overflow:hidden;transition:max-height .45s ease;position:relative}
.about-text.expanded{max-height:700px}
.about-text:not(.expanded)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:38px;background:linear-gradient(transparent,#fff)}
.about-text p{font-size:13.5px;line-height:2.1;color:var(--text-soft);margin:0}
.show-more-btn{margin-top:10px;font-weight:800;font-size:12.5px;color:var(--brand-dark);display:inline-flex;align-items:center;gap:4px}
.show-more-btn:hover{text-decoration:underline}
.show-more-btn i{transition:transform .3s}
.show-more-btn.expanded i{transform:rotate(180deg)}

/* Amenities */
.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 16px}
.amenity-item{display:flex;align-items:center;gap:10px;font-weight:700;font-size:13px;color:var(--text-soft)}
.amenity-item i{font-size:20px;color:var(--text);width:24px;text-align:center;flex-shrink:0}
.show-more-amenities{margin-top:16px;border-top:1px dashed var(--border);padding-top:14px;display:flex;justify-content:center}
.show-more-amenities button{font-weight:800;font-size:13px;color:var(--brand-dark);display:flex;align-items:center;gap:6px}
.show-more-amenities button:hover{text-decoration:underline}

/* Map */
#map{height:340px;width:100%;border-radius:20px;border:1px solid var(--border);z-index:1}

/* Distances (استایل جدید) */
.distances-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dist-col{background:var(--bg-soft);border:1px solid var(--border);border-radius:20px;padding:18px}
.dist-col-title{font-size:14px;font-weight:900;margin:0 0 12px;color:var(--text);display:flex;align-items:center;gap:8px}
.dist-col-title i{color:var(--brand);font-size:20px}
.dist-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px dashed var(--border)}
.dist-row:last-child{border-bottom:none}
.dist-row .d-left{display:flex;align-items:center;gap:11px;min-width:0}
.dist-row .d-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--brand);background:#fff;border:1px solid var(--border);flex-shrink:0}
.dist-row .d-name{font-weight:800;font-size:12.5px;color:var(--text)}
.dist-row .d-val{font-weight:900;font-size:11.5px;padding:6px 11px;border-radius:999px;white-space:nowrap;flex-shrink:0}
.d-val.good{color:#16a34a;background:#dcfce7}
.d-val.bad{color:var(--brand);background:var(--brand-light)}
.d-val.neutral{color:var(--text);background:var(--bg-muted)}

/* Check-in/out (ساده و مینیمال) */
.checkin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checkin-box{display:flex;align-items:center;gap:10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:14px;padding:14px 16px;transition:.2s}
.checkin-box::before{display:none}
.checkin-box:hover{border-color:var(--border-strong)}
.checkin-box .ci-icon{width:auto;height:auto;border-radius:0;background:transparent;color:var(--brand);font-size:20px;flex-shrink:0;line-height:1}
.checkin-box.out .ci-icon{color:var(--brand-dark)}
.checkin-box .ci-txt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:right}
.checkin-box .ci-txt span{font-size:11px;color:var(--text-soft);font-weight:700}
.checkin-box .ci-txt b{font-size:15px;color:var(--text);font-weight:800}

/* Rules */
.rules-list{display:flex;flex-direction:column;gap:2px}
.rule-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:13px;font-weight:700}
.rule-row + .rule-row{border-top:1px dashed var(--border)}
.rule-row span{color:var(--text-soft)}
.rule-row b{color:var(--text);text-align:left}
.sub-note{font-size:12px;color:var(--text-soft);margin:-4px 0 14px}

/* Ratings + reviews (مینیمال) */
.ratings-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;padding-bottom:20px;border-bottom:1px dashed var(--border);margin-bottom:22px}
.rate-item-bar{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:12.5px;color:var(--text-soft)}
.rate-bar-bg{flex:1;max-width:150px;height:6px;background:var(--bg-muted);border-radius:3px;margin:0 10px;position:relative}
.rate-bar-fill{position:absolute;top:0;right:0;height:100%;background:var(--brand);border-radius:3px}
.rate-item-bar b{color:var(--text);font-weight:900;min-width:30px;text-align:left}
.review-list-detailed{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.review-detail-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}
.review-user-block{display:flex;align-items:center;gap:10px}
.review-user-block img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.review-user-meta h4{margin:0;font-size:13px;font-weight:900}
.review-user-meta span{font-size:10.5px;color:var(--text-muted);display:block}
.review-body-text{font-size:12.5px;line-height:1.9;color:var(--text-soft);margin:0}

/* Booking widget */
.booking-sidebar{position:sticky;top:calc(var(--header) + 16px);z-index:40;align-self:start}
.booking-widget{background:#fff;border:1.5px solid var(--border-strong);border-radius:28px;padding:22px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:14px}
.price-block{display:flex;justify-content:space-between;align-items:flex-end;gap:8px}
.price-tag{font-size:22px;font-weight:900;color:var(--text);display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.price-tag small{font-size:12px;color:var(--text-soft);font-weight:700}
.b-rating{font-size:13px;font-weight:900;color:var(--text);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.b-rating i{color:#f59e0b}
.b-rating span{font-weight:700}
.b-fields{display:flex;flex-direction:column;border:1.5px solid var(--border-strong);border-radius:16px;position:relative}
.b-field-row{display:flex}
.b-field-row + .b-field-row{border-top:1.5px solid var(--border-strong)}
.b-field-row:first-child{border-radius:16px 16px 0 0;overflow:hidden}
.b-field-row:last-child{border-radius:0 0 16px 16px;overflow:hidden}
.b-field{flex:1;padding:11px 14px;cursor:pointer;transition:background .2s;display:flex;flex-direction:column;justify-content:center;position:relative}
.b-field + .b-field{border-right:1.5px solid var(--border-strong)}
.b-field:hover{background:var(--bg-soft)}
.b-field span{font-size:10.5px;font-weight:900;color:var(--text-soft);margin-bottom:3px}
.b-field b{font-size:13px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-guest-inline{display:flex;align-items:center;gap:10px;margin-top:3px}
.b-guest-inline button{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border-strong);background:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--text);transition:.2s;flex-shrink:0}
.b-guest-inline button:hover{border-color:var(--brand);background:var(--brand-light);color:var(--brand)}
.b-guest-inline b{font-size:13px;font-weight:800;color:var(--text);min-width:56px;text-align:center;margin:0}
/* سقف ظرفیت اقامتگاه: راهنما + غیرفعال شدن دکمه‌ها در کرانه‌ها */
.b-field .guest-cap{font-size:10px;font-weight:800;color:var(--brand);margin-bottom:2px}
.b-guest-inline button:disabled,.counter button:disabled{opacity:.4;cursor:not-allowed;border-color:var(--border);background:var(--bg-soft);color:var(--text-soft)}
.b-guest-inline button:disabled:hover,.counter button:disabled:hover{border-color:var(--border);background:var(--bg-soft);color:var(--text-soft)}
.billing-calc{display:flex;flex-direction:column;gap:10px}
.billing-row{display:flex;justify-content:space-between;font-size:13px;font-weight:700;color:var(--text-soft)}
.billing-row.total{border-top:1px dashed var(--border-strong);padding-top:14px;font-size:16px;font-weight:900;color:var(--text)}
.billing-row.total b{color:var(--brand);font-size:18px}
.b-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.b-actions button{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:800;font-size:12px;padding:11px 8px;border-radius:12px;border:1.5px solid var(--border);background:#fff;color:var(--text-soft);transition:.2s}
.b-actions button:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}
.b-actions button i{font-size:16px}
.sidebar-calendar-popup{position:absolute;top:calc(100% + 10px);left:0;width:330px;background:#fff;border:1.5px solid var(--border-strong);border-radius:20px;box-shadow:var(--shadow-lg);padding:16px;z-index:100;display:none}
.sidebar-guest-popup{position:absolute;top:calc(100% + 10px);left:0;right:0;background:#fff;border:1.5px solid var(--border-strong);border-radius:20px;box-shadow:var(--shadow-lg);padding:16px;z-index:100;display:none}
.sidebar-calendar-popup .cal-month{max-width:100%}
.sidebar-calendar-popup .cal-grid{gap:3px}
.sidebar-calendar-popup .cal-day{height:34px;font-size:12px}

/* Inline calendar + day tags */
.inline-cal-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:var(--shadow-sm)}
.inline-cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px;flex-wrap:wrap}
.inline-cal-header h3{margin:0;font-size:16px;font-weight:900;display:flex;align-items:center;gap:8px}
.inline-cal-header h3 i{color:var(--brand);font-size:20px}
.inline-nav{display:flex;align-items:center;gap:10px}
.inline-nav .inline-label{font-size:12.5px;color:var(--brand);font-weight:900;white-space:nowrap}
.cal-nav-btn{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--border-strong);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;transition:.2s;font-size:16px}
.cal-nav-btn:hover:not(:disabled){background:var(--text);color:#fff;border-color:var(--text)}
.cal-nav-btn:disabled{opacity:.35;cursor:not-allowed}
.inline-cal-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:24px}

/* Calendar */
.cal-container{display:flex;gap:24px;flex-wrap:wrap}
.d-cal .cal-month{width:100%;max-width:300px;margin:0 auto}
.d-cal .cal-header{font-weight:900;font-size:14.5px;text-align:center;margin-bottom:12px;color:var(--text)}
.d-cal .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.d-cal .cal-weekday{font-size:11px;font-weight:800;color:var(--text-soft);padding:4px 0}
.d-cal .cal-day{height:54px;border-radius:12px;cursor:pointer;transition:.15s;color:var(--text);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.d-cal .cal-day:hover{background:var(--bg-soft)}
.d-cal .cal-day.empty{cursor:default}
.d-cal .cal-day.empty:hover{background:none}
.d-cal .cal-day .d-num{font-size:13px;font-weight:800;line-height:1}
.d-cal .cal-day .d-tag{font-size:8.5px;font-weight:900;line-height:1}
.d-cal .d-tag.tag-disc{color:var(--brand)}
.d-cal .d-tag.tag-instant{color:var(--success)}
.d-cal .d-tag.tag-holiday{color:var(--text-muted)}
.d-cal .cal-day .d-price{font-size:7px;font-weight:800;color:var(--text-muted);line-height:1.1;margin-top:1px;white-space:nowrap}
.d-cal .cal-day.today .d-price{color:var(--brand-dark)}
.d-cal .cal-day.selected .d-price{color:#fff!important}
.d-cal .cal-day.in-range .d-price{color:var(--brand-dark)!important}
.d-cal .d-price.disc{color:var(--brand)}
.sidebar-calendar-popup .d-price{display:none}
.d-cal .cal-day.today{border:1.5px solid var(--brand);color:var(--brand-dark);font-weight:900}
.d-cal .cal-day.selected{background:var(--brand)!important;color:#fff!important;font-weight:900}
.d-cal .cal-day.selected .d-tag{color:#fff}
.d-cal .cal-day.in-range{background:var(--brand-light);color:var(--brand-dark)}
.d-cal .cal-day.in-range .d-tag{color:var(--brand-dark)}
.d-cal .cal-day.disabled{color:var(--text-muted);opacity:.35;cursor:not-allowed}
.d-cal .cal-day.disabled:hover{background:none}
.cal-guest-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;color:var(--text)}
.cal-guest-row b{font-size:14px;display:block}
.cal-guest-row span{font-size:11px;color:var(--text-soft)}
.counter{display:flex;align-items:center;gap:14px}
.counter button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--border-strong);background:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;transition:.2s;color:var(--text)}
.counter button:hover{border-color:var(--text);background:var(--bg-soft)}
.counter b{font-size:15px;min-width:18px;text-align:center}

/* Similar + tags */
.sec{padding:36px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(20px,2.5vw,26px);font-weight:900;letter-spacing:-.03em;margin:0}
.sec-head p{color:var(--text-soft);font-size:13.5px;margin:6px 0 0;max-width:560px}
.pcard{border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--border);transition:border-color .24s,box-shadow .24s;cursor:pointer}
.pcard{text-decoration:none!important;color:inherit}
.pcard:hover{border-color:var(--border-strong);box-shadow:0 12px 36px rgba(0,0,0,.08)}
.pcard .media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-soft)}
.pcard .media img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .35s}
.pcard:hover .media img{transform:scale(1.06);filter:brightness(1.02)}
.pcard .media .overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.15) 100%);opacity:0;transition:opacity .3s}
.pcard:hover .media .overlay{opacity:1}
.pcard .top{position:absolute;top:10px;right:10px;left:10px;display:flex;justify-content:space-between;z-index:2;align-items:flex-start}
.pcard .fav{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:var(--text-soft);box-shadow:0 4px 12px rgba(0,0,0,.08);transition:.2s}
.pcard .fav:hover{background:#fff;color:var(--brand)}
.pcard .fav.active{color:var(--brand)}
.pcard .price{position:absolute;bottom:10px;right:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);padding:6px 12px;border-radius:12px;font-weight:900;font-size:13px;box-shadow:0 4px 16px rgba(0,0,0,.1);transition:all .32s}
.pcard:hover .price{transform:translateY(-2px);background:#fff}
.pcard .price-orig{font-size:11px;text-decoration:line-through;color:var(--text-muted);margin-left:4px;font-weight:500}
.pcard .body{padding:14px}
.pcard .title{font-weight:900;font-size:14px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.pcard .loc{font-size:11.5px;color:var(--text-soft);display:flex;align-items:center;gap:4px;margin-top:3px}
.pcard .loc i{font-size:13px;color:var(--text-muted)}
.pcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding-top:11px;border-top:1px dashed var(--border)}
.pcard .rate{font-weight:900;display:flex;gap:4px;font-size:12.5px}
.pcard .rate i{color:#f59e0b}
.property-label.inactive{background:rgba(71,85,105,.92);color:#fff;border:1px solid rgba(255,255,255,.2)}
.badge.muted{background:#eef2f7;color:#475569;border:1px solid #d7dee8}

.search-tags-grid{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:8px 2px 14px}
.search-tags-grid::-webkit-scrollbar{display:none}
.search-tag-chip{padding:10px 18px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);font-weight:800;font-size:12.5px;color:var(--text-soft);white-space:nowrap;transition:all .2s}
.search-tag-chip:hover{border-color:var(--brand);color:var(--brand-dark);background:var(--brand-light)}
.slider-container{position:relative;width:100%}
.slider-track{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:8px 4px 18px}
.slider-track::-webkit-scrollbar{display:none}
.slider-track .pcard{flex:0 0 calc(25% - 12px);min-width:260px}
.slider-btn{position:absolute;top:42%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid var(--border-strong);color:var(--text);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);z-index:10;transition:all .2s;opacity:0;pointer-events:none;font-size:18px}
.slider-container:hover .slider-btn{opacity:1;pointer-events:auto}
.slider-btn:hover{background:var(--text);color:#fff;border-color:var(--text);box-shadow:var(--shadow)}
.slider-btn.prev{right:-22px}
.slider-btn.next{left:-22px}

/* Mobile purchase bar */
.mobile-purchase-bar{position:fixed;bottom:0;right:0;left:0;height:calc(var(--bottom) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1.5px solid var(--border);box-shadow:0 -8px 24px rgba(0,0,0,.06);z-index:60;display:none;align-items:center;justify-content:space-between;padding-right:16px;padding-left:16px}
.mob-bar-price{display:flex;flex-direction:column}
.mob-bar-price span{font-size:11px;color:var(--text-soft);font-weight:700}
.mob-bar-price b{font-size:16px;font-weight:900;color:var(--brand)}

/* Lightbox (استایل جدید: عنوان بالا-راست، بستن بالا-چپ، تامنیل چسبیده پایین) */
.lightbox-modal{position:fixed;inset:0;background:rgba(15,23,42,.98);z-index:220;display:none}
.lightbox-modal.show{display:flex}
.lightbox-inner{width:100%;max-width:1000px;height:100%;margin:0 auto;display:flex;flex-direction:column}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:12px}
.lightbox-close{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;flex-shrink:0;transition:.2s}
.lightbox-close:hover{background:var(--brand);border-color:var(--brand)}
.lightbox-title{color:#fff;font-weight:900;font-size:15px;text-align:right;flex:1}
.lightbox-counter{color:rgba(255,255,255,.8);font-size:13px;font-weight:800;flex-shrink:0}
.lightbox-stage{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:6px 16px;min-height:0}
.lightbox-img-wrapper{width:100%;max-width:860px;max-height:100%;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:transparent}
.lightbox-img-wrapper img{width:100%;height:100%;object-fit:contain}
.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;z-index:5;transition:.2s}
.lightbox-arrow:hover{background:rgba(255,255,255,.28)}
.lightbox-arrow.next{right:16px}
.lightbox-arrow.prev{left:16px}
.lightbox-thumbs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:14px 16px 18px;background:transparent;border:0;box-shadow:none}
.lightbox-thumb{width:96px;height:66px;border-radius:12px;overflow:hidden;border:2px solid transparent;cursor:pointer;opacity:.55;transition:.2s;flex-shrink:0}
.lightbox-thumb img{width:100%;height:100%;object-fit:cover}
.lightbox-thumb.active{border-color:#fff;opacity:1;transform:scale(1.04)}

/* Center modal (guarantee) */
.modal-center{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);z-index:230;display:none;align-items:center;justify-content:center;padding:16px}
.modal-center.show{display:flex}
.modal-center-card{background:#fff;width:100%;max-width:480px;border-radius:24px;padding:28px;box-shadow:var(--shadow-lg);position:relative}
.modal-close{position:absolute;top:18px;left:18px;width:36px;height:36px;border-radius:50%;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;cursor:pointer}
.modal-close:hover{background:var(--border)}
.modal-center-card h3{font-size:18px;font-weight:900;margin:0 0 14px;color:var(--text)}
.modal-center-card p{font-size:13px;line-height:2;color:var(--text-soft);margin:0}
.report-modal-card{max-width:520px}.report-desc{margin-bottom:14px!important}.space-report-form{display:flex;flex-direction:column;gap:12px;margin-top:14px}.report-field{display:flex;flex-direction:column;gap:6px}.report-field label{font-size:12.5px;font-weight:900;color:var(--text)}.report-field input,.report-field textarea{width:100%;border:1.5px solid var(--border);border-radius:12px;padding:11px 12px;font:inherit;font-size:13px;color:var(--text);background:#fff;resize:vertical}.report-field input:focus,.report-field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(229,2,65,.08)}.report-submit{width:100%;min-height:44px;border-radius:12px;font-weight:900}
.date-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);z-index:235;display:none;align-items:center;justify-content:center;padding:16px}
.date-modal.show{display:flex}
.date-modal-card{background:#fff;width:100%;max-width:680px;border-radius:24px;padding:24px;box-shadow:var(--shadow-lg);position:relative;max-height:90vh;overflow:auto}
.date-modal-close{position:absolute;top:18px;left:18px;width:36px;height:36px;border-radius:50%;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;cursor:pointer}
.date-modal-close:hover{background:var(--border)}
.date-modal-card h3{font-size:17px;font-weight:900;margin:0 0 16px;color:var(--text);display:flex;align-items:center;gap:8px}

/* FAQ drawer (از راست) */
.faq-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:239;opacity:0;visibility:hidden;transition:.3s}
.faq-drawer-overlay.open{opacity:1;visibility:visible}
.faq-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:#fff;z-index:240;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
.faq-drawer.open{transform:translateX(0)}
.faq-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}
.faq-drawer-head h3{margin:0;font-size:17px;font-weight:900}
.faq-drawer-head button{width:36px;height:36px;border-radius:50%;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;cursor:pointer}
.faq-drawer-head button:hover{background:var(--border)}
.faq-drawer-body{flex:1;overflow:auto;padding:16px 20px 28px}
.faq-item{border:1px solid var(--border);border-radius:14px;margin-bottom:12px;overflow:hidden}
.faq-item button{width:100%;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:13.5px;text-align:right;gap:10px}
.faq-item button i{transition:transform .2s;flex-shrink:0}
.faq-item.open button i{transform:rotate(180deg)}
.faq-item .ans{padding:0 16px 14px;font-size:12.5px;color:var(--text-soft);line-height:1.9;display:none}
.faq-item.open .ans{display:block}

/* Reviews fullscreen modal */
.reviews-modal{position:fixed;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:250;display:none;align-items:center;justify-content:center;padding:24px}
.reviews-modal.show{display:flex}
.reviews-modal-inner{width:100%;max-width:1080px;max-height:88vh;height:auto;display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg)}
.reviews-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);gap:12px}
.reviews-modal-head h3{margin:0;font-size:17px;font-weight:900}
.reviews-modal-body{flex:1;overflow:auto;display:grid;grid-template-columns:minmax(300px,340px) 1fr;gap:28px;padding:28px;align-items:start}
.reviews-close{width:42px;height:42px;border-radius:50%;background:var(--bg-soft);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex-shrink:0;transition:.2s}
.reviews-close:hover{background:var(--border)}
/* Sidebar (ستون راست: خلاصه امتیازها) */
.reviews-sidebar{background:var(--bg-soft);border:1px solid var(--border);border-radius:20px;padding:24px;position:sticky;top:0;align-self:start}
.rs-title{font-size:18px;font-weight:900;margin:0 0 18px;color:var(--text)}
.rs-overall{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px dashed var(--border);margin-bottom:18px}
.rs-score{font-size:44px;font-weight:900;color:var(--brand);line-height:1;display:flex;align-items:baseline;gap:2px}
.rs-score span{font-size:18px;color:var(--text-soft);font-weight:800}
.rs-overall-label{font-size:13px;font-weight:800;color:var(--text)}
.rs-sub{font-size:12px;color:var(--text-soft);margin-top:3px}
.rs-sub b{color:var(--text);font-weight:900}
.rs-breakdown{display:flex;flex-direction:column;gap:11px;padding-bottom:18px;border-bottom:1px dashed var(--border);margin-bottom:18px}
.rs-bar-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}
.rs-stars{display:flex;gap:1px;flex-shrink:0}
.rs-track{height:8px;background:var(--bg-muted);border-radius:4px;overflow:hidden}
.rs-fill{height:100%;background:var(--brand);border-radius:4px}
.rs-count{font-size:11.5px;color:var(--text-soft);font-weight:800;white-space:nowrap;min-width:50px;text-align:left}
.rs-items{display:flex;flex-direction:column;gap:13px}
.rs-item{display:flex;align-items:center;justify-content:space-between;font-size:13px}
.rs-item span{color:var(--text-soft);font-weight:700}
.rs-item b{color:var(--text);font-weight:900;font-size:13px}
/* Main (ستون چپ: مرتب‌سازی + لیست نظرات) */
.reviews-main{display:flex;flex-direction:column;min-width:0}
.reviews-sort{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.rs-label{font-size:13px;font-weight:800;color:var(--text-soft)}
.rs-select{direction:rtl;border:1.5px solid var(--border-strong);border-radius:10px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:800;color:var(--text);background:#fff;cursor:pointer;outline:0;transition:.2s}
.rs-select:focus{border-color:var(--brand)}
.rv-list{display:flex;flex-direction:column;gap:14px}
.rv-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px}
.rv-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.rv-head img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.rv-head h4{margin:0;font-size:13px;font-weight:900}
.rv-head span{font-size:10.5px;color:var(--text-muted);display:block}
.rv-text{font-size:12.5px;line-height:1.9;color:var(--text-soft);margin:0}
.rv-reply{margin-top:10px;padding:10px 12px;background:var(--brand-light);border-right:3px solid var(--brand);border-radius:10px;font-size:12px;color:var(--text);line-height:1.8}
.rv-reply b{color:var(--brand-dark)}

/* Amenities / Host modals */
.amenities-modal,.host-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);z-index:150;display:none;align-items:center;justify-content:center;padding:16px}
.amenities-modal.show,.host-modal.show{display:flex}
.amenities-modal-card{background:#fff;width:100%;max-width:640px;border-radius:24px;padding:28px;box-shadow:var(--shadow-lg);position:relative;max-height:86vh;overflow-y:auto}
.am-modal-close,.host-modal-close{position:absolute;top:18px;left:18px;width:36px;height:36px;border-radius:50%;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;cursor:pointer}
.am-modal-close:hover,.host-modal-close:hover{background:var(--border)}
.am-modal-cat + .am-modal-cat{margin-top:22px;border-top:1px solid var(--border);padding-top:18px}
.am-modal-cat-title{font-size:14.5px;font-weight:900;color:var(--text);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.am-modal-cat-title i{color:var(--brand);font-size:18px}
.host-modal-card{background:#fff;width:100%;max-width:480px;border-radius:24px;padding:30px;box-shadow:var(--shadow-lg);position:relative;text-align:center}
.host-modal-card h3{font-size:18px;font-weight:900;margin:0 0 4px;color:var(--text)}
.host-modal-card .hm-sub{font-size:12px;color:var(--text-soft);margin:0 0 16px}
.host-stats{display:flex;justify-content:space-around;background:var(--bg-soft);border-radius:16px;padding:12px;margin-bottom:18px;border:1px solid var(--border)}
.host-stats div b{display:block;font-size:15px;color:var(--brand-dark)}
.host-stats div span{font-size:10.5px;color:var(--text-soft)}

/* Responsive */
@media(max-width:990px){.details-grid{grid-template-columns:1fr;gap:24px}.booking-sidebar{display:none}.mobile-purchase-bar{display:flex}body.page-detail{padding-bottom:calc(var(--bottom) + env(safe-area-inset-bottom) + 16px)}.reviews-modal-body{grid-template-columns:1fr;gap:18px;padding:18px}.reviews-sidebar{position:static;top:auto}}
@media(max-width:768px){
    .container{padding:0 16px}
    .hdr-mobile-search{display:flex!important;flex:1!important;margin:0 10px!important;height:42px!important;align-items:center;background:#f3f4f6!important;border:1px solid var(--border-strong)!important;border-radius:999px!important;padding:0 14px!important;box-shadow:none!important}
    .page-top{padding-top:var(--header-m) !important}
    .gallery-grid{display:none}
    .mobile-gallery{display:block}
    .detail-card{padding:16px}
    #map{height:250px}
    .amenities-grid{grid-template-columns:repeat(2,1fr)}
    .ratings-breakdown{grid-template-columns:1fr;gap:12px}
    .inline-cal-wrapper{grid-template-columns:1fr;gap:16px}
    .distances-wrap{grid-template-columns:1fr;gap:14px}
    .checkin-grid{grid-template-columns:1fr 1fr;gap:10px}
    .review-list-detailed{grid-template-columns:1fr;gap:14px;display:flex;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;scrollbar-width:none}
    .review-list-detailed::-webkit-scrollbar{display:none}
    .review-list-detailed .review-detail-card{flex:0 0 84%;scroll-snap-align:start;max-width:300px}
    .slider-track .pcard{flex:0 0 270px!important}
    .slider-btn{display:none!important}
    .mob-gallery-actions{display:flex}
    .mob-gallery-dots{display:flex}
    .prop-meta-left-actions{display:none}
    .prop-head{gap:12px;flex-wrap:wrap}
    .prop-host-line{flex-direction:column;align-items:center;gap:6px;flex-shrink:0}
    .prop-host-meta{align-items:center;text-align:center;gap:2px}
    .ph-name{display:none}
    .prop-host-avatar{width:46px;height:46px}
    .ph-code{font-size:11px}
    .sec{padding:28px 0}
    .amenities-modal{padding:0;background:#fff;align-items:stretch;justify-content:flex-start}
    .amenities-modal-card{max-width:100%;width:100%;height:100%;border-radius:0;max-height:none;padding:22px 16px 28px;box-shadow:none}
    .amenities-modal .am-modal-close{position:fixed;top:14px;left:14px;z-index:5;background:var(--bg-muted)}
    .rs-items{flex-direction:row;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;padding-bottom:2px}
    .rs-items::-webkit-scrollbar{display:none}
    .rs-item{flex:0 0 auto;min-width:135px;flex-direction:column;align-items:flex-start;gap:5px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 14px}
}
@media(max-width:480px){.slider-track .pcard{flex:0 0 84%!important;min-width:0}.amenities-grid{grid-template-columns:1fr 1fr}.host-summary{flex-direction:column;text-align:center}.host-summary .hs-stats{justify-content:center}.lightbox-thumb{width:72px;height:50px}.prop-head{gap:10px}.prop-host-avatar{width:42px;height:42px}}

/* ===== detail13: RTL + modals + gallery + booking ===== */
html,body{direction:rtl;text-align:right}
.detail-card,.booking-widget,.modal-center-card,.date-modal-card,
.amenities-modal-card,.host-modal-card,.reviews-modal-inner,
.faq-drawer{direction:rtl;text-align:right}

/* Gallery hover: others blur/darken */
.gallery-grid.is-hovering .gallery-item:not(:hover) img{
    filter:blur(2.5px) brightness(.55) saturate(.9);
    transform:scale(1.01);
}
.gallery-grid.is-hovering .gallery-item:hover img{
    filter:brightness(1.02) saturate(1.05);
    transform:scale(1.05);
    z-index:2;
}
.gallery-item{transition:none}
.gallery-item img{transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .35s ease}

/* Gallery caption chip on desktop thumbs */
.gallery-item .g-cap{
    position:absolute;right:10px;bottom:10px;z-index:3;
    background:rgba(15,18,26,.62);color:#fff;
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;
    pointer-events:none;opacity:.95;
}
.gallery-item.main .g-cap{right:14px;bottom:14px;font-size:12px}

/* Check-in/out compact pretty blocks (not heavy 2-col cards) */
.checkin-grid{
    display:flex;gap:10px;flex-wrap:wrap;
}
.checkin-box{
    flex:1 1 140px;min-width:140px;
    display:flex;align-items:center;gap:12px;
    background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
    border:1px solid var(--border);
    border-radius:14px;padding:12px 14px;
    box-shadow:var(--shadow-sm);
}
.checkin-box .ci-icon{
    width:40px;height:40px;border-radius:12px;
    background:var(--brand-light);color:var(--brand);
    display:flex;align-items:center;justify-content:center;
    font-size:18px;flex-shrink:0;
}
.checkin-box.out .ci-icon{background:#fff0f3;color:var(--brand-dark)}
.checkin-box .ci-txt span{font-size:11px;color:var(--text-soft);font-weight:700}
.checkin-box .ci-txt b{font-size:14px;color:var(--text);font-weight:900}

/* Features section */
.features-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
}
.feature-item{
    display:flex;align-items:flex-start;gap:10px;
    padding:12px 12px;border:1px solid var(--border);border-radius:14px;
    background:var(--bg-soft);transition:border-color .2s,background .2s;
}
.feature-item:hover{border-color:#f8bbd0;background:#fff}
.feature-item .f-ic{
    width:38px;height:38px;border-radius:11px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    background:#fff;border:1px solid var(--border);color:var(--brand);font-size:18px;
}
.feature-item .f-txt b{display:block;font-size:13px;font-weight:900;color:var(--text);margin-bottom:2px}
.feature-item .f-txt span{display:block;font-size:11.5px;color:var(--text-soft);line-height:1.7;font-weight:600}

/* Booking widget: check-in | check-out split */
.b-date-split{
    display:grid;grid-template-columns:1fr 1px 1fr;align-items:stretch;
    border:1.5px solid var(--border-strong);border-radius:16px;overflow:hidden;
    background:#fff;
}
.b-date-split .b-field{
    border:0 !important;padding:12px 14px;cursor:pointer;transition:background .2s;
    display:flex;flex-direction:column;justify-content:center;min-width:0;
}
.b-date-split .b-field:hover{background:var(--bg-soft)}
.b-date-split .b-field.active{background:var(--brand-light)}
.b-date-split .b-field span{font-size:10.5px;font-weight:900;color:var(--text-soft);margin-bottom:3px}
.b-date-split .b-field b{font-size:13px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-date-split .b-sep{background:var(--border-strong);width:1px;align-self:stretch}
.b-fields{border:0;gap:10px}
.b-fields .b-field-row{
    border:1.5px solid var(--border-strong);border-radius:16px;overflow:hidden;
}
.b-fields .b-field-row + .b-field-row{border-top:1.5px solid var(--border-strong)}
.b-fields .b-field-row:first-child{border:0;border-radius:0;overflow:visible}
.b-fields .b-field-row.guest-row{border:1.5px solid var(--border-strong);border-radius:16px}
.b-fields .b-field-row.guest-row .b-field{border:0}

/* Modal heads: title right, close left */
.modal-head-rtl{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    direction:rtl;text-align:right;margin-bottom:14px;
}
.modal-head-rtl h3,.modal-head-rtl .mh-title{
    margin:0;flex:1;text-align:right;font-size:17px;font-weight:900;color:var(--text);
}
.modal-head-rtl .mh-close{
    order:3;width:36px;height:36px;border-radius:50%;background:var(--bg-soft);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;
    color:var(--text-soft);border:1px solid var(--border);transition:.2s;
}
.modal-head-rtl .mh-close:hover{background:var(--border);color:var(--text)}

/* Lightbox pro compact redesign */
.lightbox-modal{
    background:rgba(10,12,18,.94) !important;
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.lightbox-inner{max-width:920px !important}
.lightbox-top{
    padding:12px 16px !important;
    border-bottom:1px solid rgba(255,255,255,.08);
    direction:rtl;
}
.lightbox-title{
    text-align:right !important;flex:1;order:1;
    font-size:14px !important;font-weight:900;
    display:flex;flex-direction:column;align-items:flex-start;gap:2px;
}
.lightbox-title .lb-room{
    font-size:12px;font-weight:800;color:rgba(255,255,255,.72);
}
.lightbox-close{
    order:3 !important;margin-right:auto;
    width:38px !important;height:38px !important;
    background:rgba(255,255,255,.1) !important;
    border:1px solid rgba(255,255,255,.16) !important;
}
.lightbox-counter{
    order:2;margin-left:10px;
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);
    padding:4px 10px;border-radius:999px;font-size:12px !important;
}
.lightbox-stage{padding:10px 14px !important}
.lightbox-img-wrapper{
    max-width:820px !important;aspect-ratio:16/10;
    border-radius:14px !important;background:#0b0d12 !important;
    box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.lightbox-arrow{
    width:40px !important;height:40px !important;border-radius:12px !important;
    background:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.16) !important;
}
.lightbox-thumbs{
    gap:8px !important;padding:10px 14px 16px !important;
    justify-content:center;overflow-x:auto;flex-wrap:nowrap !important;
    scrollbar-width:none;
}
.lightbox-thumbs::-webkit-scrollbar{display:none}
.lightbox-thumb{
    width:78px !important;height:54px !important;border-radius:10px !important;
    opacity:.5 !important;border:2px solid transparent !important;position:relative;
    flex:0 0 auto !important;
}
.lightbox-thumb.active{opacity:1 !important;border-color:#fff !important;transform:none !important}
.lightbox-thumb .t-cap{
    position:absolute;inset:auto 0 0 0;padding:3px 4px;
    background:linear-gradient(transparent,rgba(0,0,0,.75));
    color:#fff;font-size:9px;font-weight:800;text-align:center;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* Mobile bottom-sheet for non-fullscreen modals */
@media(max-width:768px){
    .modal-center,.date-modal,.host-modal{
        align-items:flex-end !important;
        justify-content:center !important;
        padding:0 !important;
    }
    .modal-center-card,.date-modal-card,.host-modal-card{
        max-width:100% !important;width:100% !important;
        border-radius:20px 20px 0 0 !important;
        max-height:min(90vh,720px) !important;
        overflow:auto !important;
        animation:d13SheetUp .34s cubic-bezier(.22,.82,.24,1);
        padding-bottom:calc(18px + env(safe-area-inset-bottom)) !important;
    }
    .amenities-modal{
        /* keep fullscreen as designed */
    }
    /* detail25: reviews mobile fullscreen handled below */
    .reviews-modal{padding:0 !important;align-items:stretch !important;justify-content:stretch !important}
    .reviews-modal-inner{
        max-width:100% !important;max-height:100% !important;height:100% !important;
        border-radius:0 !important;animation:none !important;
    }
    .features-grid{grid-template-columns:1fr}
    .checkin-grid{display:flex}
}
@keyframes d13SheetUp{
    from{transform:translateY(28px);opacity:.55}
    to{transform:none;opacity:1}
}

/* Modal close positions: left side */
.modal-close,.date-modal-close,.am-modal-close,.host-modal-close,
.reviews-close{
    left:14px !important;right:auto !important;
}
.faq-drawer-head{direction:rtl}
.faq-drawer-head h3{flex:1;text-align:right}
.faq-drawer-head button{order:3}
.reviews-modal-head{direction:rtl}
.reviews-modal-head h3{flex:1;text-align:right;order:1}
.reviews-close{order:3}


/* detail14 lightbox: no dark plate under image + caption under photo */
.lightbox-img-wrapper{
    background:transparent !important;
    box-shadow:none !important;
    aspect-ratio:auto !important;
    max-height:min(62vh,560px) !important;
    width:auto !important;
    max-width:min(860px,92vw) !important;
    border-radius:14px !important;
    overflow:visible !important;
    display:flex;flex-direction:column;align-items:center;
}
.lightbox-img-wrapper img{
    width:auto !important;max-width:100% !important;
    height:auto !important;max-height:min(58vh,520px) !important;
    object-fit:contain !important;
    border-radius:14px;
    background:transparent !important;
    display:block;
}
.lightbox-stage{
    flex-direction:column !important;
    gap:10px;
    padding:8px 16px 4px !important;
}
.lightbox-caption{
    width:100%;
    max-width:min(860px,92vw);
    text-align:center;
    color:#fff;
    font-weight:900;
    font-size:14px;
    letter-spacing:-.01em;
    padding:2px 8px 0;
}
.lightbox-caption small{
    display:block;margin-top:2px;
    font-size:11.5px;font-weight:700;color:rgba(255,255,255,.65);
}
.lightbox-top .lightbox-title .lb-room{display:none !important} /* room title moves under image */


/* detail14 map approximate popup */
.jk-map-popup .leaflet-popup-content-wrapper{
    border-radius:14px !important;
    box-shadow:0 12px 32px rgba(15,18,26,.14) !important;
    border:1px solid rgba(0,0,0,.06) !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
}
.jk-map-popup .leaflet-popup-content{
    margin:0 !important;
    min-width:210px !important;
    direction:rtl !important;
    text-align:right !important;
    font-family:'IRANYekanXFaNum',Tahoma,sans-serif !important;
}
.jk-map-popup .leaflet-popup-tip{background:#fff !important;box-shadow:none !important}
.jk-map-popup a.leaflet-popup-close-button{
    left:8px !important;right:auto !important;top:8px !important;
    width:26px !important;height:26px !important;padding:0 !important;
    border-radius:50% !important;background:#f3f4f6 !important;color:#666 !important;
    font:700 16px/26px Tahoma,sans-serif !important;text-align:center !important;
}
.map-approx-popup{padding:12px 14px 12px;direction:rtl;text-align:right}
.map-approx-title{
    display:flex;align-items:center;gap:6px;
    font-weight:900;font-size:13px;color:#222;margin:0 0 6px;padding-left:24px;
}
.map-approx-title i{color:var(--brand);font-size:16px}
.map-approx-text{
    margin:0;font-size:12px;line-height:1.9;color:#666;font-weight:600;
}


/* detail14 counters: − left , + right (logical) */
.b-guest-inline,.counter{direction:ltr !important}
.b-guest-inline b,.counter b{direction:rtl;unicode-bidi:plaintext}


/* detail14 check-in/out redesign */
.checkin-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    width:100%;
}
.checkin-box{
    flex:none !important;
    min-width:0 !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    background:#fff !important;
    border:1.5px solid var(--border) !important;
    border-radius:16px !important;
    padding:14px 12px !important;
    box-shadow:none !important;
    position:relative;
    overflow:hidden;
}
.checkin-box::after{
    content:"";position:absolute;top:0;right:0;width:3px;height:100%;
    background:var(--brand);opacity:.85;
}
.checkin-box.out::after{background:var(--brand-dark)}
.checkin-box .ci-icon{
    width:36px !important;height:36px !important;border-radius:10px !important;
    background:var(--bg-soft) !important;color:var(--brand) !important;
    display:flex !important;align-items:center;justify-content:center;
    font-size:17px !important;flex-shrink:0 !important;
}
.checkin-box.out .ci-icon{color:var(--brand-dark) !important}
.checkin-box .ci-txt{min-width:0}
.checkin-box .ci-txt span{
    display:block;font-size:11px !important;color:var(--text-soft) !important;
    font-weight:700 !important;margin-bottom:2px;
}
.checkin-box .ci-txt b{
    display:block;font-size:14px !important;color:var(--text) !important;
    font-weight:900 !important;white-space:nowrap;
}
@media(max-width:480px){
    .checkin-box{padding:12px 10px !important}
    .checkin-box .ci-txt b{font-size:13px !important}
}


/* detail14: all modals title right + close left */
.modal-head-rtl{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    direction:rtl !important;
    text-align:right !important;
    gap:12px !important;
    width:100%;
}
.modal-head-rtl .mh-title,
.modal-head-rtl h3{
    order:1 !important;
    flex:1 1 auto !important;
    text-align:right !important;
    margin:0 !important;
}
.modal-head-rtl .mh-close{
    order:2 !important;
    margin-right:auto !important;
    margin-left:0 !important;
    flex-shrink:0 !important;
}
/* absolute close buttons → left */
.modal-close,
.date-modal-close,
.am-modal-close,
.host-modal-close,
.reviews-close,
.lightbox-close{
    left:14px !important;
    right:auto !important;
}
/* reviews head */
.reviews-modal-head{
    direction:rtl !important;
    display:flex !important;
    align-items:center !important;
}
.reviews-modal-head h3{
    order:1 !important;flex:1 !important;text-align:right !important;margin:0 !important;
}
.reviews-close{order:2 !important;margin-right:auto !important;position:relative !important;left:auto !important;right:auto !important}
/* faq drawer head */
.faq-drawer-head{
    direction:rtl !important;
    display:flex !important;
    align-items:center !important;
}
.faq-drawer-head h3{order:1 !important;flex:1 !important;text-align:right !important}
.faq-drawer-head button{order:2 !important;margin-right:auto !important}
/* lightbox top already title right close left via order */
.lightbox-top{direction:rtl !important}
.lightbox-title{order:1 !important;text-align:right !important}
.lightbox-counter{order:2 !important}
.lightbox-close{order:3 !important;position:relative !important;left:auto !important;right:auto !important;margin-right:auto}


/* ===== detail15: compact jajiga-like layout ===== */
.details-content{gap:14px !important}
.detail-card{
    border-radius:16px !important;
    padding:18px 18px !important;
    box-shadow:none !important;
    border:1px solid var(--border) !important;
    scroll-margin-top:88px;
}
.detail-title{
    font-size:15.5px !important;
    margin:0 0 12px !important;
    gap:6px !important;
}
.detail-title i{font-size:18px !important}
.detail-sub{
    font-size:12px;color:var(--text-soft);font-weight:700;margin:-6px 0 12px;
}

/* Overview chips like Jajiga summary */
.overview-chips{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
}
.ov-chip{
    display:flex;align-items:flex-start;gap:10px;
    padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff;
}
.ov-chip i{
    width:34px;height:34px;border-radius:10px;background:var(--bg-soft);
    display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:17px;flex-shrink:0;
}
.ov-chip b{display:block;font-size:12.5px;font-weight:900;color:var(--text);line-height:1.4}
.ov-chip span{display:block;font-size:11px;color:var(--text-soft);font-weight:600;margin-top:2px;line-height:1.6}

/* Sleeping space */
.sleep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sleep-card{
    border:1px solid var(--border);border-radius:14px;padding:14px;
    background:linear-gradient(180deg,#fff,#fafbfc);
}
.sleep-card .sc-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.sleep-card .sc-ic{
    width:40px;height:40px;border-radius:12px;background:var(--brand-light);color:var(--brand);
    display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;
}
.sleep-card h4{margin:0;font-size:13px;font-weight:900}
.sleep-card .sc-sub{font-size:11.5px;color:var(--text-soft);font-weight:600}
.sleep-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.sleep-list li{
    display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--text);
}
.sleep-list li i{color:var(--text-muted);font-size:15px}

/* Discounts */
.discount-list{display:flex;flex-direction:column;gap:8px}
.discount-row{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;
}
.discount-row .d-left{display:flex;align-items:center;gap:10px;min-width:0}
.discount-row .d-badge{
    flex-shrink:0;font-size:11px;font-weight:900;color:var(--brand);
    background:var(--brand-light);border:1px solid #f8bbd0;border-radius:999px;padding:5px 10px;
}
.discount-row .d-info b{display:block;font-size:12.5px;font-weight:900;color:var(--text)}
.discount-row .d-info span{display:block;font-size:11px;color:var(--text-soft);font-weight:600;margin-top:1px}
.discount-row .d-off{
    font-size:13px;font-weight:900;color:var(--brand);white-space:nowrap;
}

/* Rules: check-in first, then other rules */
.rules-checkin{
    display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;
}
.rules-checkin .rc-box{
    border:1px solid var(--border);border-radius:12px;padding:12px;
    background:var(--bg-soft);
}
.rules-checkin .rc-box span{display:block;font-size:11px;color:var(--text-soft);font-weight:700;margin-bottom:2px}
.rules-checkin .rc-box b{display:block;font-size:13.5px;font-weight:900;color:var(--text)}
.rules-subtitle{
    font-size:12.5px;font-weight:900;color:var(--text);margin:4px 0 8px;
    padding-top:4px;
}
.rules-list .rule-row{padding:10px 0;font-size:12.5px}
.rules-list .rule-row b{font-size:12.5px}

/* Spec list tighter */
.spec-row{padding:10px 0 !important}
.spec-ic{width:38px !important;height:38px !important;border-radius:10px !important;font-size:17px !important}
.spec-title{font-size:13px !important}
.spec-sub{font-size:11.5px !important}

/* Amenities tighter */
.amenities-grid{gap:10px 12px !important}
.amenity-item{font-size:12.5px !important}
.amenity-item i{font-size:18px !important}

/* Distances as clean rows already - tighten */
.rule-row .d-val{font-size:11px !important;padding:4px 9px !important}

/* Host/reviews cards tighter */
.review-detail-card{border-radius:14px !important;padding:14px !important}
.host-summary img{width:64px !important;height:64px !important}

/* Booking widget cleaner */
.booking-widget{border-radius:20px !important;padding:18px !important;gap:12px !important}
.price-tag{font-size:20px !important}

/* Quick nav cleaner */
.quick-nav{gap:8px !important;margin-bottom:2px !important}
.quick-nav button{padding:8px 13px !important;font-size:12px !important;border-radius:999px !important}

/* Prop head compact */
.prop-title-block h1{font-size:clamp(20px,2.8vw,26px) !important;margin:0 0 8px !important}
.prop-meta-info{font-size:12.5px !important}

@media(max-width:768px){
    .overview-chips{grid-template-columns:1fr 1fr}
    .sleep-grid{grid-template-columns:1fr}
    .rules-checkin{grid-template-columns:1fr 1fr}
    .detail-card{padding:14px !important;border-radius:14px !important}
}
@media(max-width:400px){
    .overview-chips{grid-template-columns:1fr}
}


/* ===== detail16: coupons, cal actions, cancel more ===== */

.discount-list{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px !important;
}
.coupon{
    position:relative;
    display:flex;
    flex-direction:column;
    border-radius:16px;
    overflow:visible;
    background:#fff;
    border:1.5px dashed #f8bbd0;
    box-shadow:0 6px 18px rgba(229,2,65,.06);
    min-height:0;
}
/* ticket notches on left & right edges of coupon */
.coupon::before,
.coupon::after{
    content:"";
    position:absolute;
    top:50%;
    width:16px;height:16px;
    border-radius:50%;
    background:var(--bg, #fff);
    transform:translateY(-50%);
    z-index:3;
    pointer-events:none;
    box-shadow:none;
    border:none;
    clip-path:none;
    margin:0;
}
.coupon::before{
    right:-9px;
    box-shadow: inset 1.5px 0 0 #f8bbd0;
    border:1.5px solid #f8bbd0;
    background:var(--bg-soft, #f7f8fa);
}
.coupon::after{
    left:-9px;
    border:1.5px solid #f8bbd0;
    background:var(--bg-soft, #f7f8fa);
}
.coupon-side{
    background:linear-gradient(160deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    display:flex;flex-direction:row;align-items:center;justify-content:center;
    gap:8px;padding:12px 12px 10px;
    border-radius:14px 14px 0 0;
    position:relative;
}
.coupon-side .off{
    font-size:22px;font-weight:900;line-height:1;letter-spacing:-.02em;
}
.coupon-side .off small{font-size:12px;font-weight:800}
.coupon-side .lbl{
    font-size:11px;font-weight:800;opacity:.95;text-align:center;
}
.coupon-body{
    padding:12px 14px 14px;
    display:flex;flex-direction:column;justify-content:flex-start;gap:4px;
    background:linear-gradient(180deg, #fff7f9 0%, #fff 70%);
    border-radius:0 0 14px 14px;
    flex:1;
}
.coupon-body b{font-size:13px;font-weight:900;color:var(--text)}
.coupon-body span{font-size:11.5px;color:var(--text-soft);font-weight:600;line-height:1.7}
.coupon-body .coupon-tag{
    display:inline-flex;align-self:flex-start;
    margin-top:6px;font-size:10.5px;font-weight:900;
    color:var(--brand);background:var(--brand-light);
    border:1px solid #f8bbd0;border-radius:999px;padding:3px 9px;
}
.coupon.long{border-color:#99f6e4;box-shadow:0 6px 18px rgba(15,118,110,.08)}
.coupon.long .coupon-side{background:linear-gradient(160deg,#0f766e,#115e59)}
.coupon.long .coupon-body{background:linear-gradient(180deg,#f0fdfa 0%,#fff 70%)}
.coupon.long .coupon-tag{color:#0f766e;background:#ccfbf1;border-color:#99f6e4}
.coupon.long::before,.coupon.long::after{border-color:#99f6e4}
.coupon.mid{border-color:#fcd34d;box-shadow:0 6px 18px rgba(180,83,9,.08)}
.coupon.mid .coupon-side{background:linear-gradient(160deg,#b45309,#92400e)}
.coupon.mid .coupon-body{background:linear-gradient(180deg,#fffbeb 0%,#fff 70%)}
.coupon.mid .coupon-tag{color:#b45309;background:#fef3c7;border-color:#fcd34d}
.coupon.mid::before,.coupon.mid::after{border-color:#fcd34d}
@media(max-width:990px){
    .discount-list{grid-template-columns:1fr !important}
}

.cal-actions{
    display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
    margin-top:14px;padding-top:12px;border-top:1px dashed var(--border);
}
.cal-actions .cal-act{
    display:inline-flex;align-items:center;gap:6px;
    height:38px;padding:0 14px;border-radius:10px;
    font-weight:800;font-size:12.5px;cursor:pointer;transition:.2s;
    border:1.5px solid var(--border-strong);background:#fff;color:var(--text);
}
.cal-actions .cal-act:hover{border-color:var(--text);background:var(--bg-soft)}
.cal-actions .cal-act.ghost{
    border-color:transparent;background:transparent;color:var(--text-soft);
}
.cal-actions .cal-act.ghost:hover{color:var(--brand);background:var(--brand-light)}
.cal-actions .cal-act.brand{
    background:var(--brand-light);border-color:#f8bbd0;color:var(--brand);
}
.cal-actions .cal-act.brand:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.cal-actions .left-acts{display:flex;gap:8px;flex-wrap:wrap}
.cal-actions .right-acts{display:flex;gap:8px;margin-right:auto}

/* Cancel more link */
.cancel-more-btn{
    margin-top:12px;display:inline-flex;align-items:center;gap:6px;
    font-weight:800;font-size:12.5px;color:var(--brand-dark);cursor:pointer;
    background:none;border:0;padding:0;
}
.cancel-more-btn:hover{text-decoration:underline}

/* Policy modal content */
.policy-list{display:flex;flex-direction:column;gap:12px}
.policy-item{
    border:1px solid var(--border);border-radius:14px;padding:14px;
    background:var(--bg-soft);
}
.policy-item h4{
    margin:0 0 6px;font-size:13.5px;font-weight:900;color:var(--text);
    display:flex;align-items:center;gap:8px;
}
.policy-item h4 .p-badge{
    font-size:10.5px;font-weight:900;padding:3px 8px;border-radius:999px;
    background:#fff;border:1px solid var(--border);color:var(--text-soft);
}
.policy-item.active-policy{
    border-color:#f8bbd0;background:#fff7f9;
}
.policy-item.active-policy h4 .p-badge{
    background:var(--brand-light);border-color:#f8bbd0;color:var(--brand);
}
.policy-item p{margin:0;font-size:12.5px;line-height:2;color:var(--text-soft);font-weight:600}

/* Guide modal rows */
.guide-row{
    display:flex;align-items:flex-start;gap:12px;padding:12px 0;
    border-bottom:1px dashed var(--border);
}
.guide-row:last-child{border-bottom:0}
.guide-swatch{
    width:42px;height:42px;border-radius:12px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px;
    border:1.5px solid var(--border);
}
.guide-row b{display:block;font-size:13px;margin-bottom:2px}
.guide-row span{font-size:12px;color:var(--text-soft);line-height:1.8;font-weight:600}


/* detail17 clear button dotted */
.cal-act.cal-clear-btn,
.cal-act.ghost[data-cal-clear]{
    border:1.5px dashed var(--border-strong) !important;
    background:#fff !important;
    color:var(--text-soft) !important;
    border-radius:10px !important;
}
.cal-act.cal-clear-btn:hover,
.cal-act.ghost[data-cal-clear]:hover{
    border-color:var(--brand) !important;
    color:var(--brand) !important;
    background:var(--brand-light) !important;
}
/* cal actions layout after swap */
.cal-actions .right-acts{margin-right:auto;margin-left:0}
.cal-actions .left-acts{margin-left:0}


/* detail17 guest counter — superseded by detail34 single-line */
.b-guest-inline{direction:ltr !important}



/* ===== detail18: tabs, compact discounts/sleep, shimmer lazy, overview rows ===== */

/* Overview chips → single row items, no borders */
.overview-chips{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
}
.ov-chip{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:12px 4px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    border-bottom:1px dashed var(--border) !important;
}
.ov-chip:last-child{border-bottom:0 !important}
.ov-chip i{
    width:36px !important;height:36px !important;border-radius:10px !important;
    background:var(--bg-soft) !important;border:0 !important;
    color:var(--brand) !important;font-size:17px !important;
}
.ov-chip b{font-size:13px !important}
.ov-chip span{font-size:11.5px !important;margin-top:1px !important}

/* Sleep: horizontal row like search tags; mobile roll */
.sleep-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    grid-template-columns:none !important;
}
.sleep-card{
    flex:1 1 calc(25% - 10px);
    min-width:160px;
    max-width:100%;
    border:1px solid var(--border) !important;
    border-radius:14px !important;
    padding:12px !important;
    background:#fff !important;
    box-shadow:none !important;
}
.sleep-card .sc-top{margin-bottom:6px !important;gap:8px !important}
.sleep-card .sc-ic{
    width:34px !important;height:34px !important;border-radius:10px !important;font-size:16px !important;
}
.sleep-card h4{font-size:12.5px !important}
.sleep-card .sc-sub{font-size:11px !important}
.sleep-list{gap:4px !important}
.sleep-list li{font-size:12px !important}
@media(max-width:768px){
    .sleep-grid{
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch;
        padding-bottom:4px;
    }
    .sleep-grid::-webkit-scrollbar{display:none}
    .sleep-card{
        flex:0 0 72% !important;
        min-width:220px !important;
        max-width:260px !important;
    }
}

/* Discounts: side-by-side chips like search-tags; mobile roll; compact */
.discount-list{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    grid-template-columns:none !important;
}
.coupon{
    flex:1 1 calc(33.333% - 10px);
    min-width:180px;
    display:flex !important;
    flex-direction:row !important;
    align-items:stretch !important;
    border-radius:14px !important;
    border:1px solid var(--border) !important;
    border-style:solid !important;
    box-shadow:var(--shadow-sm) !important;
    overflow:hidden !important;
    background:#fff !important;
    min-height:0 !important;
}
.coupon::before,
.coupon::after{display:none !important}
.coupon-side{
    flex:0 0 72px;
    border-radius:0 !important;
    flex-direction:column !important;
    gap:2px !important;
    padding:10px 8px !important;
    justify-content:center !important;
}
.coupon-side .off{font-size:18px !important}
.coupon-side .lbl{font-size:10px !important}
.coupon-body{
    padding:10px 12px !important;
    background:#fff !important;
    border-radius:0 !important;
    gap:2px !important;
    justify-content:center !important;
}
.coupon-body b{font-size:12.5px !important}
.coupon-body span{font-size:11px !important;line-height:1.6 !important}
.coupon-body .coupon-tag{
    margin-top:4px !important;font-size:10px !important;padding:2px 8px !important;
}
.coupon.long,
.coupon.mid{box-shadow:var(--shadow-sm) !important}
@media(max-width:768px){
    .discount-list{
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch;
        padding-bottom:4px;
    }
    .discount-list::-webkit-scrollbar{display:none}
    .coupon{
        flex:0 0 78% !important;
        min-width:240px !important;
        max-width:280px !important;
    }
}

/* Cancel policy horizontal tabs */
.policy-tabs{
    display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;
    margin-bottom:14px;padding-bottom:2px;
}
.policy-tabs::-webkit-scrollbar{display:none}
.policy-tab{
    flex:0 0 auto;
    height:36px;padding:0 14px;border-radius:999px;
    border:1.5px solid var(--border);background:#fff;
    font-weight:800;font-size:12.5px;color:var(--text-soft);
    cursor:pointer;transition:.2s;white-space:nowrap;
}
.policy-tab:hover{border-color:var(--border-strong);color:var(--text)}
.policy-tab.active{
    background:var(--text);border-color:var(--text);color:#fff;
}
.policy-panels .policy-panel{display:none}
.policy-panels .policy-panel.active{display:block}
.policy-panel-card{
    border:1px solid var(--border);border-radius:14px;padding:14px 16px;
    background:var(--bg-soft);
}
.policy-panel-card h4{
    margin:0 0 8px;font-size:14px;font-weight:900;color:var(--text);
    display:flex;align-items:center;gap:8px;
}
.policy-panel-card h4 .p-badge{
    font-size:10.5px;font-weight:900;padding:3px 8px;border-radius:999px;
    background:#fff;border:1px solid var(--border);color:var(--text-soft);
}
.policy-panel-card.active-policy{
    border-color:#f8bbd0;background:#fff7f9;
}
.policy-panel-card.active-policy h4 .p-badge{
    background:var(--brand-light);border-color:#f8bbd0;color:var(--brand);
}
.policy-panel-card p{
    margin:0;font-size:12.5px;line-height:2;color:var(--text-soft);font-weight:600;
}

/* Shimmer lazy-load — sweeping light bar */
@keyframes d18Shimmer{
    0%{transform:translateX(100%)}
    100%{transform:translateX(-100%)}
}
.lazy{
    position:relative;overflow:hidden;background:#eceef2 !important;
}
.lazy::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(
            105deg,
            transparent 0%,
            transparent 40%,
            rgba(255,255,255,.55) 50%,
            transparent 60%,
            transparent 100%
    );
    transform:translateX(100%);
    animation:d18Shimmer 1.25s ease-in-out infinite;
    pointer-events:none;
    z-index:2;
}
.lazy.loaded::after{
    animation:none;
    opacity:0;
    transition:opacity .35s ease;
}
.lazy img{
    position:relative;z-index:1;
}
/* also for gallery items without .lazy class — skeleton feel on first paint */
.gallery-item{
    background:linear-gradient(90deg,#eceef2 25%,#f6f7f9 50%,#eceef2 75%);
    background-size:200% 100%;
}
.gallery-item img{background:#e8eaee}


/* ===== detail19: full-bleed gallery, discount chips, rules icons, sleep stacked ===== */

/* 2) Full-width gallery */
.page-top{padding-top:var(--header) !important}
.top-gallery{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}
.gallery-grid{
    border-radius:0 !important;
    margin-bottom:0 !important;
    height:clamp(380px,58vh,620px) !important;
    gap:8px !important;
}
.mobile-gallery{
    border-radius:0 !important;
    margin-bottom:0 !important;
}
/* content spacing after full-bleed gallery */
.page-top > .container{padding-top:18px}

/* 1) Discounts like search-tag chips, side by side, mobile roll */
.discount-list{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    overflow:visible !important;
    padding:2px 0 4px !important;
}
.discount-list .coupon,
.discount-list .disc-chip{
    all:unset;
}
.disc-chip{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    padding:10px 16px !important;
    border-radius:999px !important;
    background:var(--bg-soft) !important;
    border:1px solid var(--border) !important;
    font-weight:800 !important;
    font-size:12.5px !important;
    color:var(--text) !important;
    white-space:nowrap !important;
    transition:all .2s !important;
    cursor:default !important;
    box-sizing:border-box !important;
}
.disc-chip:hover{
    border-color:var(--brand) !important;
    color:var(--brand-dark) !important;
    background:var(--brand-light) !important;
}
.disc-chip .dc-off{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:40px;height:26px;padding:0 8px;border-radius:999px;
    background:var(--brand);color:#fff;font-size:12px;font-weight:900;
}
.disc-chip.long .dc-off{background:#0f766e}
.disc-chip.mid .dc-off{background:#b45309}
.disc-chip .dc-txt{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1.35}
.disc-chip .dc-txt b{font-size:12.5px;font-weight:900}
.disc-chip .dc-txt span{font-size:10.5px;font-weight:700;color:var(--text-soft)}
.disc-chip:hover .dc-txt span{color:var(--brand-dark)}
@media(max-width:768px){
    .discount-list{
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch;
        padding-bottom:6px !important;
    }
    .discount-list::-webkit-scrollbar{display:none}
    .disc-chip{flex:0 0 auto !important}
}

/* 3) Rules as icon + text rows */
.rules-icon-list{display:flex;flex-direction:column;gap:0}
.rule-icon-row{
    display:flex;align-items:flex-start;gap:12px;
    padding:12px 0;border-bottom:1px dashed var(--border);
}
.rule-icon-row:last-child{border-bottom:0}
.rule-icon-row .ri{
    width:38px;height:38px;border-radius:11px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-size:18px;background:var(--bg-soft);color:var(--text);
    border:1px solid var(--border);
}
.rule-icon-row.ok .ri{background:#dcfce7;color:#16a34a;border-color:#bbf7d0}
.rule-icon-row.no .ri{background:var(--brand-light);color:var(--brand);border-color:#f8bbd0}
.rule-icon-row .rt{min-width:0;padding-top:2px}
.rule-icon-row .rt b{display:block;font-size:13px;font-weight:900;color:var(--text);line-height:1.5}
.rule-icon-row .rt span{display:block;font-size:11.5px;color:var(--text-soft);font-weight:600;margin-top:2px;line-height:1.6}

/* 4) Sleep: icon on top, text below, compact row / mobile roll */
.sleep-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
}
.sleep-card{
    flex:1 1 calc(25% - 10px) !important;
    min-width:140px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    padding:14px 12px !important;
    border:1px solid var(--border) !important;
    border-radius:14px !important;
    background:#fff !important;
}
.sleep-card .sc-top{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:8px !important;
    margin-bottom:8px !important;
    width:100%;
}
.sleep-card .sc-ic{
    width:44px !important;height:44px !important;border-radius:14px !important;
    font-size:20px !important;margin:0 auto;
}
.sleep-card h4{font-size:12.5px !important;margin:0 !important}
.sleep-card .sc-sub{font-size:11px !important;color:var(--text-soft)}
.sleep-card .sleep-list{
    width:100%;
    align-items:center !important;
    text-align:center;
}
.sleep-card .sleep-list li{
    justify-content:center !important;
    font-size:11.5px !important;
    color:var(--text-soft) !important;
    font-weight:700 !important;
}
.sleep-card .sleep-list li i{display:none}
@media(max-width:768px){
    .sleep-grid{
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch;
    }
    .sleep-grid::-webkit-scrollbar{display:none}
    .sleep-card{
        flex:0 0 46% !important;
        min-width:150px !important;
        max-width:180px !important;
    }
}
@media(max-width:1100px){
    .gallery-grid{height:clamp(300px,48vh,480px) !important}
}


/* ===== detail20: coupon tickets, compact rules/distances, mini checkin ===== */

/* 1) Coupon-ticket discounts, side-by-side desktop, horizontal roll mobile */
.discount-list{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    align-items:stretch !important;
    padding:4px 2px 6px !important;
}
.disc-chip{
    /* reset chip look → ticket coupon */
    display:flex !important;
    flex-direction:row !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:0 !important;
    border-radius:14px !important;
    border:1.5px dashed #f3a6bc !important;
    background:#fff !important;
    white-space:normal !important;
    min-width:200px !important;
    flex:1 1 calc(33.333% - 12px) !important;
    max-width:100% !important;
    overflow:visible !important;
    position:relative !important;
    box-shadow:0 4px 14px rgba(229,2,65,.06) !important;
    transition:transform .2s, box-shadow .2s !important;
    cursor:default !important;
}
.disc-chip:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(229,2,65,.1) !important;
    border-color:var(--brand) !important;
    background:#fff !important;
    color:inherit !important;
}
/* ticket notches */
.disc-chip::before,
.disc-chip::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:50% !important;
    width:14px !important;
    height:14px !important;
    border-radius:50% !important;
    background:var(--bg-soft, #f7f8fa) !important;
    border:1.5px dashed #f3a6bc !important;
    transform:translateY(-50%) !important;
    z-index:2 !important;
}
.disc-chip::before{right:-8px !important}
.disc-chip::after{left:-8px !important}
.disc-chip .dc-off{
    flex:0 0 64px !important;
    min-width:64px !important;
    height:auto !important;
    border-radius:12px 0 0 12px !important;
    background:linear-gradient(160deg, var(--brand), var(--brand-dark)) !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:900 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:12px 6px !important;
}
.disc-chip.long .dc-off{background:linear-gradient(160deg,#0f766e,#115e59) !important}
.disc-chip.mid .dc-off{background:linear-gradient(160deg,#b45309,#92400e) !important}
.disc-chip.long{border-color:#5eead4 !important;box-shadow:0 4px 14px rgba(15,118,110,.07) !important}
.disc-chip.long::before,.disc-chip.long::after{border-color:#5eead4 !important}
.disc-chip.mid{border-color:#fcd34d !important;box-shadow:0 4px 14px rgba(180,83,9,.07) !important}
.disc-chip.mid::before,.disc-chip.mid::after{border-color:#fcd34d !important}
.disc-chip .dc-txt{
    flex:1 !important;
    padding:10px 14px 10px 12px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:2px !important;
    min-width:0 !important;
    background:linear-gradient(90deg,#fff8fa 0%,#fff 60%) !important;
    border-radius:0 12px 12px 0 !important;
}
.disc-chip.long .dc-txt{background:linear-gradient(90deg,#f0fdfa 0%,#fff 60%) !important}
.disc-chip.mid .dc-txt{background:linear-gradient(90deg,#fffbeb 0%,#fff 60%) !important}
.disc-chip .dc-txt b{font-size:12.5px !important;font-weight:900 !important;color:var(--text) !important;line-height:1.35 !important}
.disc-chip .dc-txt span{font-size:10.5px !important;font-weight:700 !important;color:var(--text-soft) !important}
.disc-chip:hover .dc-txt span{color:var(--text-soft) !important}
@media(max-width:768px){
    .discount-list{
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch !important;
        padding:4px 2px 8px !important;
    }
    .discount-list::-webkit-scrollbar{display:none !important}
    .disc-chip{
        flex:0 0 78% !important;
        min-width:240px !important;
        max-width:280px !important;
    }
}

/* 2) Compact minimal rules */
.rules-checkin{gap:8px !important;margin-bottom:8px !important}
.rules-checkin .rc-box{padding:10px 12px !important;border-radius:12px !important}
.rules-checkin .rc-box span{font-size:10.5px !important;margin-bottom:1px !important}
.rules-checkin .rc-box b{font-size:12.5px !important}
.rules-subtitle{font-size:12px !important;margin:2px 0 4px !important}
.rules-icon-list{gap:0 !important}
.rule-icon-row{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    padding:8px 0 !important;
    border-bottom:1px dashed var(--border) !important;
}
.rule-icon-row:last-child{border-bottom:0 !important}
.rule-icon-row .ri{
    width:30px !important;height:30px !important;border-radius:9px !important;
    font-size:15px !important;border:0 !important;
}
.rule-icon-row .rt{padding-top:0 !important}
.rule-icon-row .rt b{
    font-size:12.5px !important;font-weight:800 !important;line-height:1.45 !important;
}
.rule-icon-row .rt span{display:none !important} /* more compact: title only */

/* 3) Check-in/out: compact side-by-side like chips, icon top */
.rules-checkin,
.checkin-grid{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    width:auto !important;
    max-width:100% !important;
    grid-template-columns:none !important;
}
.rules-checkin .rc-box,
.checkin-box{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:132px !important;
    max-width:180px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:6px !important;
    padding:12px 16px !important;
    border:1px solid var(--border) !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:none !important;
    position:relative !important;
    overflow:visible !important;
}
.rules-checkin .rc-box::after,
.checkin-box::after{display:none !important}
.rules-checkin .rc-box .rc-ic,
.checkin-box .ci-icon{
    width:34px !important;height:34px !important;border-radius:10px !important;
    background:var(--bg-soft) !important;color:var(--brand) !important;
    display:flex !important;align-items:center !important;justify-content:center !important;
    font-size:16px !important;margin:0 auto !important;
}
.rules-checkin .rc-box span,
.checkin-box .ci-txt span{
    display:block !important;
    font-size:11px !important;
    font-weight:800 !important;
    color:var(--text) !important;
    margin:0 !important;
}
.rules-checkin .rc-box b,
.checkin-box .ci-txt b{
    display:block !important;
    font-size:12.5px !important;
    font-weight:900 !important;
    color:var(--text-soft) !important;
    white-space:nowrap !important;
}

/* 4) Distances compact minimal */
#secDistances .rules-list{gap:0}
#secDistances .rule-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    padding:8px 0 !important;
    border-bottom:1px dashed var(--border) !important;
    font-size:12.5px !important;
    font-weight:700 !important;
}
#secDistances .rule-row:last-child{border-bottom:0 !important}
#secDistances .rule-row span{
    color:var(--text) !important;
    font-weight:700 !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
}
#secDistances .rule-row span i{
    width:26px;height:26px;border-radius:8px;
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--bg-soft);color:var(--text-muted);font-size:14px;flex-shrink:0;
}
#secDistances .rule-row b.d-val,
#secDistances .d-val{
    font-size:11px !important;
    font-weight:800 !important;
    padding:4px 9px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
    background:var(--bg-soft) !important;
    color:var(--text-soft) !important;
    border:0 !important;
}
#secDistances .d-val.good{background:#ecfdf5 !important;color:#059669 !important}
#secDistances .d-val.bad{background:#fff1f2 !important;color:var(--brand) !important}
#secDistances .d-val.neutral{background:var(--bg-muted) !important;color:var(--text) !important}

@media(max-width:480px){
    .rules-checkin .rc-box,
    .checkin-box{min-width:120px !important;padding:10px 12px !important}
}




/* detail21: premium compact coupons */
.discount-list{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    align-items:stretch !important;
    padding:2px 0 4px !important;
}
.v-coupon{
    position:relative;
    flex:1 1 calc(33.333% - 12px);
    min-width:200px;
    max-width:100%;
    display:grid;
    grid-template-columns:66px 1fr 12px;
    align-items:stretch;
    background:#fff;
    border:1px solid #f0d0da;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 8px 22px rgba(229,2,65,.07);
    min-height:86px;
    transition:transform .2s ease, box-shadow .2s ease;
}
.v-coupon:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(229,2,65,.12);
}
.v-coupon .vc-stamp{
    display:flex;align-items:center;justify-content:center;
    background:
            radial-gradient(circle at 100% 50%, transparent 9px, var(--brand) 9.5px);
    color:#fff;
    font-size:18px;font-weight:900;letter-spacing:-.02em;
    position:relative;
}
.v-coupon .vc-stamp::after{
    content:"";
    position:absolute;inset:10px 8px;
    border:1.5px dashed rgba(255,255,255,.35);
    border-radius:10px;
    pointer-events:none;
}
.v-coupon .vc-body{
    padding:12px 12px 12px 10px;
    display:flex;flex-direction:column;justify-content:center;gap:2px;
    background:linear-gradient(105deg, #fff7f9 0%, #ffffff 55%);
    min-width:0;
}
.v-coupon .vc-kicker{
    font-size:10.5px;font-weight:900;color:var(--brand);
    letter-spacing:.02em;
}
.v-coupon .vc-title{
    font-size:13px;font-weight:900;color:var(--text);line-height:1.35;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.v-coupon .vc-meta{
    font-size:11px;font-weight:700;color:var(--text-soft);line-height:1.5;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.v-coupon .vc-edge{
    background:
            radial-gradient(circle at 0 50%, transparent 8px, #fff7f9 8.5px);
    border-right:1px dashed #f0d0da;
}
/* long variant */
.v-coupon.is-long{
    border-color:#99f6e4;
    box-shadow:0 8px 22px rgba(15,118,110,.08);
}
.v-coupon.is-long .vc-stamp{
    background:radial-gradient(circle at 100% 50%, transparent 9px, #0f766e 9.5px);
}
.v-coupon.is-long .vc-body{background:linear-gradient(105deg,#f0fdfa 0%,#fff 55%)}
.v-coupon.is-long .vc-kicker{color:#0f766e}
.v-coupon.is-long .vc-edge{
    background:radial-gradient(circle at 0 50%, transparent 8px, #f0fdfa 8.5px);
    border-right-color:#99f6e4;
}
/* midweek variant */
.v-coupon.is-mid{
    border-color:#fcd34d;
    box-shadow:0 8px 22px rgba(180,83,9,.08);
}
.v-coupon.is-mid .vc-stamp{
    background:radial-gradient(circle at 100% 50%, transparent 9px, #b45309 9.5px);
}
.v-coupon.is-mid .vc-body{background:linear-gradient(105deg,#fffbeb 0%,#fff 55%)}
.v-coupon.is-mid .vc-kicker{color:#b45309}
.v-coupon.is-mid .vc-edge{
    background:radial-gradient(circle at 0 50%, transparent 8px, #fffbeb 8.5px);
    border-right-color:#fcd34d;
}
@media(max-width:900px){
    .v-coupon{flex:1 1 calc(50% - 12px);min-width:220px}
}
@media(max-width:768px){
    .discount-list{
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch !important;
        padding-bottom:8px !important;
        gap:10px !important;
    }
    .discount-list::-webkit-scrollbar{display:none !important}
    .v-coupon{
        flex:0 0 78% !important;
        min-width:250px !important;
        max-width:280px !important;
    }
}


/* ========== detail22 FINAL: discounts always side-by-side ========== */
#secDiscounts .discount-list.d22-coupons,
#discountChips.d22-coupons{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:10px !important;
    width:100% !important;
    overflow:visible !important;
    padding:0 !important;
    margin:0 !important;
    grid-template-columns:none !important;
}
#discountChips .d22-coupon{
    flex:1 1 0 !important;
    min-width:0 !important;
    max-width:none !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:10px !important;
    padding:10px 12px !important;
    border-radius:14px !important;
    border:1px solid var(--border) !important;
    background:#fff !important;
    box-shadow:none !important;
    position:relative !important;
    box-sizing:border-box !important;
    transition:border-color .2s, background .2s !important;
    cursor:default !important;
}
#discountChips .d22-coupon:hover{
    border-color:#f8bbd0 !important;
    background:#fffafb !important;
    transform:none !important;
}
#discountChips .d22-pct{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:46px !important;
    height:46px !important;
    padding:0 8px !important;
    border-radius:12px !important;
    background:var(--brand) !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
}
#discountChips .d22-coupon.teal .d22-pct{background:#0f766e !important}
#discountChips .d22-coupon.amber .d22-pct{background:#b45309 !important}
#discountChips .d22-info{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:2px !important;
    min-width:0 !important;
    text-align:right !important;
}
#discountChips .d22-info b{
    display:block !important;
    font-size:12.5px !important;
    font-weight:900 !important;
    color:var(--text) !important;
    line-height:1.3 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:100% !important;
}
#discountChips .d22-info small{
    display:block !important;
    font-size:11px !important;
    font-weight:700 !important;
    color:var(--text-soft) !important;
    line-height:1.3 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:100% !important;
}
/* hide old coupon remnants if any */
#discountChips .v-coupon,
#discountChips .disc-chip,
#discountChips .coupon{display:none !important}

/* Mobile: horizontal roll */
@media(max-width:768px){
    #secDiscounts .discount-list.d22-coupons,
    #discountChips.d22-coupons{
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        -webkit-overflow-scrolling:touch !important;
        scrollbar-width:none !important;
        padding:2px 2px 8px !important;
        gap:8px !important;
    }
    #discountChips.d22-coupons::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important}
    #discountChips .d22-coupon{
        flex:0 0 auto !important;
        width:auto !important;
        min-width:168px !important;
        max-width:none !important;
        padding:10px 12px !important;
    }
}
/* kill the old grid 1fr rule impact */
@media(max-width:990px){
    #secDiscounts .discount-list.d22-coupons,
    #discountChips.d22-coupons{
        display:flex !important;
        grid-template-columns:none !important;
        flex-direction:row !important;
    }
}


/* ========== detail24: clean RTL coupons, side on RIGHT, no cuts ========== */
#secDiscounts .d23-track,
#discountChips.d23-track{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:12px !important;
    width:100% !important;
    margin:0 !important;
    padding:2px 0 4px !important;
    overflow:visible !important;
    direction:rtl !important;
}
#discountChips .d23-coupon{
    position:relative !important;
    flex:1 1 0 !important;
    min-width:0 !important;
    display:grid !important;
    /* RTL: first column appears on the RIGHT → side (percent) on right */
    grid-template-columns:72px 1fr !important;
    direction:rtl !important;
    background:#fff !important;
    border:1px solid #ecdde3 !important;
    border-radius:16px !important;
    overflow:hidden !important;
    min-height:92px !important;
    box-shadow:0 6px 18px rgba(17,18,26,.04) !important;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
#discountChips .d23-coupon:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 12px 28px rgba(17,18,26,.08) !important;
    border-color:#e2c4cf !important;
}
/* remove cuts completely */
#discountChips .d23-cut,
#discountChips .d23-cut-r,
#discountChips .d23-cut-l{
    display:none !important;
}
/* percent side — RIGHT in RTL */
#discountChips .d23-side{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
    padding:12px 6px !important;
    background:linear-gradient(160deg, var(--brand) 0%, var(--brand-dark) 100%) !important;
    color:#fff !important;
    text-align:center !important;
    border-radius:0 16px 16px 0 !important; /* outer right corners in RTL visual */
    order:0 !important;
}
#discountChips .d23-off{
    font-size:22px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:-.03em !important;
    direction:ltr !important;
    unicode-bidi:plaintext !important;
}
#discountChips .d23-off span{
    font-size:12px !important;
    font-weight:800 !important;
    margin-right:1px !important;
    opacity:.95 !important;
}
#discountChips .d23-off-lbl{
    font-size:10px !important;
    font-weight:800 !important;
    opacity:.88 !important;
}
/* main text — LEFT of percent (rest of coupon) */
#discountChips .d23-main{
    padding:12px 12px 12px 14px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:4px !important;
    min-width:0 !important;
    text-align:right !important;
    background:linear-gradient(90deg, #fffafb 0%, #fff 55%) !important;
    border-right:1px dashed #ecdde3 !important; /* seam next to percent side */
    border-left:0 !important;
    border-radius:16px 0 0 16px !important;
}
#discountChips .d23-top{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    margin-bottom:2px !important;
    direction:rtl !important;
}
#discountChips .d23-badge{
    display:inline-flex !important;
    align-items:center !important;
    height:22px !important;
    padding:0 8px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    font-weight:900 !important;
    background:#fce4ec !important;
    color:var(--brand) !important;
    border:1px solid #f8bbd0 !important;
    white-space:nowrap !important;
}
#discountChips .d23-code{
    font-size:10px !important;
    font-weight:800 !important;
    color:var(--text-muted) !important;
    letter-spacing:.04em !important;
    font-variant-numeric:tabular-nums !important;
    direction:ltr !important;
    unicode-bidi:plaintext !important;
}
#discountChips .d23-title{
    font-size:13px !important;
    font-weight:900 !important;
    color:var(--text) !important;
    line-height:1.35 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    text-align:right !important;
}
#discountChips .d23-desc{
    font-size:11px !important;
    font-weight:700 !important;
    color:var(--text-soft) !important;
    line-height:1.45 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    text-align:right !important;
}
/* tones */
#discountChips .d23-coupon[data-tone="teal"]{border-color:#b6ebe3 !important}
#discountChips .d23-coupon[data-tone="teal"] .d23-main{
    background:linear-gradient(90deg,#f2fffc 0%,#fff 55%) !important;
    border-right-color:#b6ebe3 !important;
}
#discountChips .d23-coupon[data-tone="teal"] .d23-badge{
    background:#ccfbf1 !important;color:#0f766e !important;border-color:#99f6e4 !important;
}
#discountChips .d23-coupon[data-tone="teal"] .d23-side{
    background:linear-gradient(160deg,#0f766e,#115e59) !important;
}
#discountChips .d23-coupon[data-tone="amber"]{border-color:#fde68a !important}
#discountChips .d23-coupon[data-tone="amber"] .d23-main{
    background:linear-gradient(90deg,#fffbeb 0%,#fff 55%) !important;
    border-right-color:#fde68a !important;
}
#discountChips .d23-coupon[data-tone="amber"] .d23-badge{
    background:#fef3c7 !important;color:#b45309 !important;border-color:#fcd34d !important;
}
#discountChips .d23-coupon[data-tone="amber"] .d23-side{
    background:linear-gradient(160deg,#d97706,#b45309) !important;
}
/* Mobile roll */
@media(max-width:768px){
    #secDiscounts .d23-track,
    #discountChips.d23-track{
        overflow-x:auto !important;
        overflow-y:hidden !important;
        -webkit-overflow-scrolling:touch !important;
        scrollbar-width:none !important;
        padding:4px 2px 10px !important;
        gap:10px !important;
    }
    #discountChips.d23-track::-webkit-scrollbar{display:none !important}
    #discountChips .d23-coupon{
        flex:0 0 78% !important;
        min-width:250px !important;
        max-width:280px !important;
    }
}

/* ========== detail25: reviews modal mobile FULLSCREEN + visual fixes ========== */
@media(max-width:990px){
    #reviewsModal.reviews-modal,
    .reviews-modal{
        position:fixed !important;
        inset:0 !important;
        padding:0 !important;
        margin:0 !important;
        align-items:stretch !important;
        justify-content:stretch !important;
        background:#fff !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
        z-index:280 !important;
    }
    #reviewsModal .reviews-modal-inner,
    .reviews-modal-inner{
        width:100% !important;
        max-width:100% !important;
        height:100% !important;
        max-height:100% !important;
        min-height:100% !important;
        border-radius:0 !important;
        box-shadow:none !important;
        display:flex !important;
        flex-direction:column !important;
        overflow:hidden !important;
        background:#fff !important;
        animation:none !important;
    }
    /* Head: title right, close left, safe area */
    #reviewsModal .reviews-modal-head,
    .reviews-modal-head{
        position:sticky !important;
        top:0 !important;
        z-index:5 !important;
        flex-shrink:0 !important;
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:10px !important;
        direction:rtl !important;
        padding:12px 14px !important;
        padding-top:calc(12px + env(safe-area-inset-top)) !important;
        border-bottom:1px solid var(--border) !important;
        background:#fff !important;
        min-height:56px !important;
    }
    #reviewsModal .reviews-modal-head h3,
    .reviews-modal-head h3{
        order:1 !important;
        flex:1 1 auto !important;
        margin:0 !important;
        text-align:right !important;
        font-size:15px !important;
        font-weight:900 !important;
        line-height:1.4 !important;
        color:var(--text) !important;
    }
    #reviewsModal .reviews-close,
    .reviews-close{
        order:2 !important;
        position:relative !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        margin:0 !important;
        margin-right:auto !important;
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
        border-radius:12px !important;
        background:var(--bg-soft) !important;
        border:1px solid var(--border) !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        flex-shrink:0 !important;
        box-shadow:none !important;
    }
    /* Body: single column scroll */
    #reviewsModal .reviews-modal-body,
    .reviews-modal-body{
        flex:1 1 auto !important;
        min-height:0 !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        -webkit-overflow-scrolling:touch !important;
        display:flex !important;
        flex-direction:column !important;
        grid-template-columns:1fr !important;
        gap:0 !important;
        padding:0 !important;
        align-items:stretch !important;
    }
    /* Sidebar summary becomes top compact card */
    #reviewsModal .reviews-sidebar,
    .reviews-sidebar{
        position:static !important;
        top:auto !important;
        align-self:stretch !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        border-radius:0 !important;
        border:0 !important;
        border-bottom:1px solid var(--border) !important;
        background:#fafbfc !important;
        padding:14px 14px 12px !important;
        box-sizing:border-box !important;
    }
    #reviewsModal .rs-title{font-size:14px !important;margin:0 0 10px !important}
    #reviewsModal .rs-overall{
        gap:10px !important;
        padding-bottom:12px !important;
        margin-bottom:12px !important;
    }
    #reviewsModal .rs-score{font-size:34px !important}
    #reviewsModal .rs-score span{font-size:14px !important}
    #reviewsModal .rs-overall-label{font-size:12.5px !important}
    #reviewsModal .rs-sub{font-size:11.5px !important}
    #reviewsModal .rs-breakdown{
        gap:8px !important;
        padding-bottom:12px !important;
        margin-bottom:12px !important;
    }
    #reviewsModal .rs-bar-row{gap:8px !important}
    #reviewsModal .rs-count{min-width:44px !important;font-size:11px !important}
    /* rating items: horizontal chips roll */
    #reviewsModal .rs-items{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        gap:8px !important;
        overflow-x:auto !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch !important;
        padding:0 0 2px !important;
    }
    #reviewsModal .rs-items::-webkit-scrollbar{display:none !important}
    #reviewsModal .rs-item{
        flex:0 0 auto !important;
        min-width:120px !important;
        max-width:150px !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        gap:4px !important;
        background:#fff !important;
        border:1px solid var(--border) !important;
        border-radius:12px !important;
        padding:10px 12px !important;
    }
    #reviewsModal .rs-item span{font-size:11.5px !important}
    #reviewsModal .rs-item b{font-size:12.5px !important}
    /* Main list */
    #reviewsModal .reviews-main{
        display:flex !important;
        flex-direction:column !important;
        min-width:0 !important;
        width:100% !important;
        padding:12px 14px calc(16px + env(safe-area-inset-bottom)) !important;
        box-sizing:border-box !important;
    }
    #reviewsModal .reviews-sort{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:10px !important;
        margin:0 0 12px !important;
        padding:0 0 12px !important;
        border-bottom:1px solid var(--border) !important;
        direction:rtl !important;
    }
    #reviewsModal .rs-label{
        font-size:12.5px !important;
        font-weight:800 !important;
        color:var(--text-soft) !important;
        white-space:nowrap !important;
    }
    #reviewsModal .rs-select{
        flex:1 1 auto !important;
        max-width:180px !important;
        margin-right:auto !important;
        height:40px !important;
        padding:0 12px !important;
        border-radius:10px !important;
        font-size:12.5px !important;
    }
    #reviewsModal .rv-list{
        display:flex !important;
        flex-direction:column !important;
        gap:10px !important;
    }
    #reviewsModal .rv-card{
        border-radius:14px !important;
        padding:12px !important;
        border:1px solid var(--border) !important;
        background:#fff !important;
    }
    #reviewsModal .rv-head{
        gap:8px !important;
        margin-bottom:6px !important;
        flex-wrap:wrap !important;
    }
    #reviewsModal .rv-head img{
        width:36px !important;height:36px !important;
    }
    #reviewsModal .rv-head h4{font-size:12.5px !important}
    #reviewsModal .rv-head span{font-size:10px !important}
    #reviewsModal .rv-text{
        font-size:12px !important;
        line-height:1.85 !important;
    }
    #reviewsModal .rv-reply{
        margin-top:8px !important;
        padding:8px 10px !important;
        font-size:11.5px !important;
        border-radius:10px !important;
    }
    #reviewsModal .badge{
        font-size:10px !important;
        padding:4px 8px !important;
    }
}
/* also cover max-width 768 if separate */
@media(max-width:768px){
    #reviewsModal.reviews-modal{padding:0 !important;align-items:stretch !important}
    #reviewsModal .reviews-modal-inner{
        height:100% !important;max-height:100% !important;border-radius:0 !important;
    }
}


/* ========== detail32: based on detail29 — keep rules, remove gray box CONTENT only ========== */
/* Based on: Lazy Load Content Beautifully — content placeholders + opacity pulse */
@keyframes hintloading {
    0% { opacity: 0.45; }
    50% { opacity: 1; }
    100% { opacity: 0.45; }
}
@-webkit-keyframes hintloading {
    0% { opacity: 0.45; }
    50% { opacity: 1; }
    100% { opacity: 0.45; }
}
@keyframes d29Reveal {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: none; }
}

/* ---- Image box placeholder (gallery, cards, lightbox) ---- */
.img-skel:not(.loaded),
.lazy:not(.loaded),
.gallery-item:not(.loaded),
.mobile-gallery-slide:not(.loaded),
.lightbox-img-wrapper:not(.loaded),
.ph-card.loading .ph-img {
    position: relative !important;
    overflow: hidden !important;
    background: #f6f7f9 !important; /* soft base only; no inner gray box */
}
.img-skel:not(.loaded)::before,
.lazy:not(.loaded)::before,
.gallery-item:not(.loaded)::before,
.mobile-gallery-slide:not(.loaded)::before,
.lightbox-img-wrapper:not(.loaded)::before {
    /* keep rule; remove gray inset box content — full-area soft pulse only */
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    z-index: 2 !important;
    pointer-events: none !important;
    animation: hintloading 2s ease-in-out 0s infinite reverse !important;
    -webkit-animation: hintloading 2s ease-in-out 0s infinite reverse !important;
    /* soft pulse tint without solid gray box */
    box-shadow: inset 0 0 0 9999px rgba(228, 230, 235, 0.35) !important;
}
/* hide real image until loaded */
.img-skel:not(.loaded) > img,
.lazy:not(.loaded) img,
.gallery-item:not(.loaded) > img,
.mobile-gallery-slide:not(.loaded) > img,
.lightbox-img-wrapper:not(.loaded) > img {
    opacity: 0 !important;
}
/* stop placeholder after load + soft reveal */
.img-skel.loaded::before,
.lazy.loaded::before,
.gallery-item.loaded::before,
.mobile-gallery-slide.loaded::before,
.lightbox-img-wrapper.loaded::before,
.img-skel.loaded::after,
.lazy.loaded::after,
.gallery-item.loaded::after,
.mobile-gallery-slide.loaded::after,
.lightbox-img-wrapper.loaded::after {
    content: none !important;
    animation: none !important;
    opacity: 0 !important;
}
.img-skel.loaded,
.lazy.loaded,
.gallery-item.loaded,
.mobile-gallery-slide.loaded,
.lightbox-img-wrapper.loaded {
    background: transparent !important;
}
.img-skel.loaded > img,
.lazy.loaded img,
.gallery-item.loaded > img,
.mobile-gallery-slide.loaded > img,
.lightbox-img-wrapper.loaded > img {
    opacity: 1 !important;
    animation: d29Reveal .45s ease both !important;
}

/* Keep overlays above placeholder */
.gallery-item .g-cap,
.gallery-item .show-all-photos,
.gallery-actions,
.mob-gallery-actions,
.mob-gallery-dots,
.mobile-gallery-badge { z-index: 5 !important; }

/* ---- Facebook-style content placeholder card (for similar listings) ---- */
.ph-card {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: #fff;
    overflow: hidden;
    min-width: 260px;
    flex: 0 0 calc(25% - 12px);
}
.ph-card .ph-img {
    aspect-ratio: 4/3;
    width: 100%;
    background: #f0f2f5;
    position: relative;
    overflow: hidden;
}
.ph-card .ph-img::before {
    /* keep rule; remove solid gray inset box content */
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: inset 0 0 0 9999px rgba(228, 230, 235, 0.35);
}
.ph-card.loading .ph-img::before,
.ph-card.loading .ph-stripe {
    animation: hintloading 2s ease-in-out 0s infinite reverse;
    -webkit-animation: hintloading 2s ease-in-out 0s infinite reverse;
}
.ph-card .ph-body {
    padding: 12px 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ph-card .ph-stripe {
    height: 12px;
    border-radius: 8px;
    background: #e4e6eb;
}
.ph-card .ph-stripe.s { width: 42%; }
.ph-card .ph-stripe.m { width: 68%; }
.ph-card .ph-stripe.l { width: 100%; }
.ph-card .ph-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.ph-card .ph-chip {
    width: 54px;
    height: 18px;
    border-radius: 999px;
    background: #e4e6eb;
}

/* When real cards are still loading images, keep media placeholder feel */
.pcard .media.lazy:not(.loaded) {
    background: #f0f2f5 !important;
}
.pcard .media.lazy:not(.loaded)::before {
    /* keep selector; remove gray inset box content */
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    z-index: 2 !important;
    animation: hintloading 2s ease-in-out 0s infinite reverse !important;
    -webkit-animation: hintloading 2s ease-in-out 0s infinite reverse !important;
    box-shadow: inset 0 0 0 9999px rgba(228, 230, 235, 0.35) !important;
}
.pcard .media.lazy.loaded::before {
    content: none !important;
    animation: none !important;
}

/* review avatar soft placeholder while loading */
.rv-card img,
.review-user-block img,
.prop-host-avatar,
.host-summary img {
    background: #e4e6eb;
}

@media (max-width: 1100px) {
    .ph-card { flex: 0 0 calc(33.333% - 11px); min-width: 250px; }
}
@media (max-width: 768px) {
    .ph-card { flex: 0 0 270px !important; min-width: 270px; }
}
@media (prefers-reduced-motion: reduce) {
    .img-skel:not(.loaded)::before,
    .lazy:not(.loaded)::before,
    .gallery-item:not(.loaded)::before,
    .mobile-gallery-slide:not(.loaded)::before,
    .lightbox-img-wrapper:not(.loaded)::before,
    .ph-card.loading .ph-img::before,
    .ph-card.loading .ph-stripe,
    .pcard .media.lazy:not(.loaded)::before {
        animation: none !important;
        opacity: 0.7 !important;
    }
}


/* detail34: guest selector single-line (title right, counters left) */
#sideGuestField.b-field,
#sideGuestField{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    direction:rtl !important;
    text-align:right !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
}
#sideGuestField > span{
    width:auto !important;
    flex:0 0 auto !important;
    margin:0 !important;
    order:1 !important;
    text-align:right !important;
    white-space:nowrap !important;
    font-size:12.5px !important;
    font-weight:800 !important;
    color:var(--text) !important;
}
#sideGuestField .b-guest-inline{
    order:2 !important;
    margin:0 !important;
    margin-right:auto !important; /* push controls to the left in RTL */
    margin-left:0 !important;
    width:auto !important;
    direction:ltr !important; /* − left , + right */
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    flex:0 0 auto !important;
}
#sideGuestField .b-guest-inline button{
    width:30px !important;
    height:30px !important;
    flex-shrink:0 !important;
}
#sideGuestText{
    min-width:52px !important;
    text-align:center !important;
    font-size:13px !important;
    margin:0 !important;
}


/* ===== detail dynamic fixes ===== */
.booking-sidebar{position:sticky!important;top:calc(var(--header) + 16px)!important;align-self:start!important;height:max-content!important}
.date-modal-card .cal-months,#dateModalCal .cal-months{display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:center!important;gap:24px!important;flex-wrap:nowrap!important;width:100%}
.date-modal-card .cal-month,#dateModalCal .cal-month{flex:1 1 0!important;min-width:260px!important;max-width:300px!important;margin:0!important}
@media(max-width:768px){.date-modal-card .cal-months,#dateModalCal .cal-months{flex-direction:column!important;align-items:center!important}.date-modal-card .cal-month,#dateModalCal .cal-month{width:100%!important;max-width:100%!important}}
#dateModalCal.inline-cal-wrapper{display:block!important}

/* Calendar holiday/friday visual state (no holiday text label) */
.d-cal .cal-day.is-friday:not(.empty),
.d-cal .cal-day.is-holiday:not(.empty){
    background:#fff5f5!important;
    border:1px solid rgba(239,68,68,.28)!important;
}
.d-cal .cal-day.is-friday:not(.empty)::after,
.d-cal .cal-day.is-holiday:not(.empty)::after{
    content:"";
    position:absolute;
    top:7px;
    left:7px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#ef4444;
    box-shadow:0 0 0 3px rgba(239,68,68,.10);
}
.d-cal .cal-day.is-friday .d-num,
.d-cal .cal-day.is-holiday .d-num{color:#dc2626!important}
.d-cal .cal-day.is-friday .d-price,
.d-cal .cal-day.is-holiday .d-price{color:#b91c1c!important}
.d-cal .cal-day.selected.is-friday,
.d-cal .cal-day.selected.is-holiday{background:var(--brand)!important;border-color:var(--brand)!important}
.d-cal .cal-day.selected.is-friday::after,
.d-cal .cal-day.selected.is-holiday::after{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.22)}
.d-cal .cal-day.selected.is-friday .d-num,
.d-cal .cal-day.selected.is-holiday .d-num,
.d-cal .cal-day.selected.is-friday .d-price,
.d-cal .cal-day.selected.is-holiday .d-price{color:#fff!important}
.d-cal .cal-day.disabled.is-booked{background:var(--bg-muted)!important;border-color:var(--border)!important;opacity:.72}
.d-cal .cal-day.disabled.is-booked::after{background:#9ca3af;box-shadow:none}

/* Booking date modal calendar header */
.date-modal-card .cal-nav,
#dateModalCal .cal-nav{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin:0 0 16px!important;
    padding:0 2px!important;
    direction:rtl!important;
}
.date-modal-card .cal-nav-label,
#dateModalCal .cal-nav-label{
    flex:1 1 auto!important;
    min-width:0!important;
    text-align:center!important;
    font-size:13px!important;
    font-weight:900!important;
    color:var(--text)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.date-modal-card .cal-nav .cal-nav-btn,
#dateModalCal .cal-nav .cal-nav-btn{
    position:static!important;
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    margin:0!important;
    transform:none!important;
    border-radius:12px!important;
    border:1.5px solid var(--border-strong)!important;
    background:#fff!important;
    box-shadow:var(--shadow-sm)!important;
    color:var(--text)!important;
}
.date-modal-card .cal-nav .cal-nav-btn:not(:disabled):hover,
#dateModalCal .cal-nav .cal-nav-btn:not(:disabled):hover{background:var(--text)!important;color:#fff!important;border-color:var(--text)!important}
.date-modal-card .cal-nav .cal-nav-btn:disabled,
#dateModalCal .cal-nav .cal-nav-btn:disabled{opacity:.35!important;box-shadow:none!important}

/* Holiday/friday calendar days: simple red text only */
.d-cal .cal-day.is-friday:not(.selected):not(.disabled),
.d-cal .cal-day.is-holiday:not(.selected):not(.disabled){
    background:transparent!important;
    border-color:transparent!important;
}
.d-cal .cal-day.is-friday::after,
.d-cal .cal-day.is-holiday::after{display:none!important}
.d-cal .cal-day.is-friday:not(.selected):not(.disabled) .d-num,
.d-cal .cal-day.is-holiday:not(.selected):not(.disabled) .d-num,
.d-cal .cal-day.is-friday:not(.selected):not(.disabled) .d-price,
.d-cal .cal-day.is-holiday:not(.selected):not(.disabled) .d-price{color:#dc2626!important}


/* Booking widget sticky: same static behavior */
@media(min-width:991px){
    .details-grid{align-items:start!important;overflow:visible!important}
    .booking-sidebar{
        position:-webkit-sticky!important;
        position:sticky!important;
        top:calc(var(--header) + 16px)!important;
        z-index:40!important;
        align-self:start!important;
        height:max-content!important;
    }
    .booking-sidebar #bravo_space_book_app{position:relative!important;width:100%!important}
}

/* Final sticky booking widget fix */
@media(min-width:991px){
    body.page-detail,.page-detail .bravo_wrap,.page-detail .page-top,.page-detail .container,.page-detail .details-grid{overflow:visible!important}
    .page-detail .details-grid{align-items:start!important}
    .page-detail .booking-sidebar{position:sticky!important;top:calc(var(--header) + 16px)!important;align-self:start!important;height:max-content!important;z-index:60!important}
    .page-detail .booking-sidebar .booking-widget{position:sticky!important;top:calc(var(--header) + 16px)!important}
}


/* Map controls/font polish */
#map,.leaflet-container,.leaflet-control,.leaflet-popup{font-family:'IRANYekanXFaNum',Tahoma,sans-serif!important}
#map .leaflet-top.leaflet-right{right:12px!important;left:auto!important;top:12px!important}
#map .leaflet-top.leaflet-left{right:12px!important;left:auto!important}
#map .leaflet-control-zoom{border:1px solid var(--border)!important;border-radius:12px!important;overflow:hidden!important;box-shadow:var(--shadow-sm)!important}
#map .leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:34px!important;font-family:'IRANYekanXFaNum',Tahoma,sans-serif!important;color:var(--text)!important}
#map .leaflet-control-zoom a:hover{color:var(--brand)!important;background:#fff!important}

/* keep transparent PNGs/logos transparent after lazy load */
.lazy.loaded,img.lazy.loaded,.lazy.loaded img,.pcard .media.lazy.loaded{background:transparent!important}
.lazy.loaded::before,.lazy.loaded::after{content:none!important;display:none!important;opacity:0!important;animation:none!important}