/* Alpha 26 — final responsive, performance and interaction polish. */
:root{--mb26-radius:16px;--mb26-shadow:0 14px 38px rgba(7,34,58,.09);--mb26-touch:44px}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.makkah-theme-v2{overflow-x:hidden}
body.makkah-theme-v2 img{max-width:100%;height:auto}
body.makkah-theme-v2 button,body.makkah-theme-v2 a,body.makkah-theme-v2 input,body.makkah-theme-v2 select{touch-action:manipulation}

/* Consistent section rhythm and headings. */
.mb5-section,.mba-main-section,.mb14-page-content,.mba-about-section{content-visibility:auto;contain-intrinsic-size:700px 1000px}
.mb5-section,.mba-main-section{scroll-margin-top:110px}
.makkah-v2-shell{width:min(1220px,calc(100% - 32px))!important}

/* Reveal animation. */
.mb26-reveal-enabled [data-mb26-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.mb26-reveal-enabled [data-mb26-reveal].is-visible{opacity:1;transform:none}
.mb26-reduce-motion [data-mb26-reveal],@media(prefers-reduced-motion:reduce){[data-mb26-reveal]{opacity:1!important;transform:none!important;transition:none!important}*{scroll-behavior:auto!important}}

/* Archive loading skeletons and pagination. */
.mba-results-column{min-width:0}
.mba-loading{position:relative;min-height:420px;pointer-events:none}
.mb26-skeletons-enabled .mba-loading>*{opacity:.16}
.mb26-skeletons-enabled .mba-loading:after{content:"";position:absolute;inset:0;border-radius:16px;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.85) 40%,transparent 60%) #edf1f5;background-size:220% 100%;animation:mb26Shimmer 1.25s linear infinite}
@keyframes mb26Shimmer{to{background-position:-220% 0}}
.mba-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:34px}
.mba-pagination .page-numbers{min-width:var(--mb26-touch);height:var(--mb26-touch);padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dfe6ec;border-radius:10px;background:#fff;color:var(--makkah-navy)!important;text-decoration:none;font-weight:700;transition:.2s}
.mba-pagination .page-numbers.current,.mba-pagination .page-numbers:hover{background:var(--makkah-navy);border-color:var(--makkah-navy);color:#fff!important}
.mba-empty{border:1px dashed #ccd7e1;border-radius:18px;background:#fff;padding:60px 25px;text-align:center;box-shadow:var(--mb26-shadow)}
.mba-empty>span{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#f8f3e8;color:var(--makkah-gold);font-size:35px}.mba-empty button{min-height:44px;border:0;border-radius:9px;background:var(--makkah-gold);color:var(--makkah-navy);font-weight:800;padding:0 20px}

/* Archive controls and filters. */
.mba-layout-switcher button,.mba-map-toggle,.mba-mobile-filter,.mba-apply,.mba-reset,[data-close-filters]{min-height:var(--mb26-touch)}
.mba-filter-header button{width:44px;height:44px;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:25px!important}
.mba-filter-backdrop{position:fixed!important;inset:0!important;background:rgba(3,20,35,.56)!important;backdrop-filter:blur(3px);z-index:99990!important}
.mba-filters{overscroll-behavior:contain}
.mba-map-panel iframe{display:block;width:100%;min-height:420px;border:0;border-radius:16px}

/* Hotel page finishing layer - works with Hotel Engine markup. */
.mbhm-gallery img,.mbhm-gallery-main,.mbhm-gallery-thumb{border-radius:14px}
.mbhm-lightbox{backdrop-filter:blur(5px)}
.mbhm-lightbox-close,.mbhm-lightbox-nav{min-width:48px;min-height:48px}
.mbhm-section-nav{top:var(--mb26-sticky-offset,84px);z-index:90;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 8px 22px rgba(7,34,58,.06)}
.mbhm-booking-card{position:sticky;top:calc(var(--mb26-sticky-offset,84px) + 18px)}
.mbhm-map iframe,.mbhm-location-map iframe{width:100%!important;max-width:100%!important;border:0!important;border-radius:16px!important;min-height:380px}

/* Engagement pages. */
.mb14-engagement-page [data-engagement-results]{min-height:260px}
.mb14-loader{border:1px dashed #ccd7e1;background:#fff;border-radius:16px;padding:65px;text-align:center;color:#718092}
.mb14-page-toolbar button{min-height:44px;padding:0 18px;border-radius:9px}
.mb14-engagement-page .mba-results-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
.mb14-engagement-page .mba-hotel-card{display:flex!important;flex-direction:column!important;min-width:0!important;border-radius:16px!important;overflow:hidden!important;box-shadow:var(--mb26-shadow)!important}
.mb14-engagement-page .mba-card-media{width:100%!important;min-height:230px!important}
.mb14-engagement-page .mba-card-content{display:flex!important;flex:1!important;flex-direction:column!important;padding:18px!important}
.mb14-engagement-page .mba-card-bottom{margin-top:auto!important}

/* Buttons and focus accessibility. */
.makkah-theme-v2 :where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(217,173,88,.65)!important;outline-offset:3px!important}
.makkah-theme-v2 button,.makkah-theme-v2 .mb5-details,.makkah-theme-v2 .mba-view-hotel{min-height:44px}

/* Tablet. */
@media(max-width:1024px){
 .makkah-v2-shell{width:min(100% - 26px,960px)!important}
 .mb5-section{padding-block:58px!important}
 .mb5-hero{min-height:690px!important}
 .mb5-search{width:calc(100% - 26px)!important}
 .mba-layout{grid-template-columns:1fr!important}
 .mba-filters{position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:min(390px,92vw)!important;max-height:none!important;z-index:99999!important;transform:translateX(105%);transition:transform .28s ease;overflow:auto;background:#fff!important}
 .mba-filters.is-open{transform:none!important}
 .mba-mobile-filter{display:inline-flex!important}
 .mb14-engagement-page .mba-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile typography, spacing and touch targets. */
@media(max-width:767px){
 body,button,input,select,textarea{font-size:14px!important}
 .makkah-v2-shell{width:calc(100% - 20px)!important}
 h1{font-size:clamp(30px,9vw,40px)!important;line-height:1.25!important}
 h2{font-size:clamp(24px,7vw,31px)!important;line-height:1.3!important}
 h3{font-size:clamp(16px,4.8vw,20px)!important;line-height:1.4!important}
 p,li{line-height:1.75!important}
 .mb5-section{padding-block:44px!important}
 .mb5-hero{min-height:650px!important;background-position:center!important}
 .mb5-hero-inner{padding-block:72px 175px!important}
 .mb5-hero-copy h1{font-size:38px!important}
 .mb5-hero-copy p{font-size:13px!important;line-height:1.8!important}
 .mb5-search{grid-template-columns:1fr!important;bottom:-174px!important;border-radius:14px!important}
 .mb5-search label{min-height:56px!important;padding:9px 13px!important}
 .mb5-trust{padding-top:205px!important}
 .mb5-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 .mb5-trust-grid article{padding:12px 7px!important}
 .mb5-destination-grid{grid-template-columns:1fr!important}.mb5-destination-card{min-height:280px!important}
 .mb5-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.mb5-why-grid article{padding:14px 8px!important}
 .mb5-newsletter-inner{grid-template-columns:1fr!important;text-align:center!important}.mb5-newsletter form{width:100%!important}
 .mba-toolbar{align-items:flex-start!important;gap:16px!important}.mba-toolbar-actions{width:100%!important;display:grid!important;grid-template-columns:1fr auto auto!important;gap:8px!important}.mba-sort-control select{width:100%!important;min-height:44px!important}
 .mba-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .mba-hotel-card{min-width:0!important;border-radius:13px!important}.mba-card-media{height:168px!important}.mba-card-content{padding:11px!important}.mba-card-content h3{font-size:14px!important}.mba-card-content p,.mba-card-content small{font-size:10px!important}.mba-amenities,.mba-excerpt{display:none!important}.mba-card-bottom{display:grid!important;gap:8px!important}.mba-view-hotel{width:100%!important;font-size:11px!important}
 .mba-wishlist{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
 .mba-filter-header{position:sticky!important;top:0!important;background:#fff!important;z-index:3!important;padding-top:max(12px,env(safe-area-inset-top))!important}
 .mb14-page-content{padding:28px 0!important}.mb14-page-toolbar{padding:14px!important}
 .mb14-engagement-page .mba-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.mb14-engagement-page .mba-card-media{min-height:165px!important}.mb14-engagement-page .mba-card-content{padding:10px!important}
 .mbhm-section-nav{top:0!important}.admin-bar .mbhm-section-nav{top:46px!important}.mbhm-booking-card{position:static!important}.mbhm-map iframe,.mbhm-location-map iframe{min-height:280px}
 .mbhm-lightbox{padding:10px!important;grid-template-columns:42px minmax(0,1fr) 42px!important}.mbhm-lightbox-close{top:max(10px,env(safe-area-inset-top))!important}
}
@media(max-width:390px){.mba-results-grid,.mb14-engagement-page .mba-results-grid{gap:8px!important}.mba-card-media{height:150px!important}.mb5-trust-grid,.mb5-why-grid{gap:8px!important}}
