/* Safeguards loaded after page styles. Approved page palettes retain their cascade. */
:root {
    --container-max:1200px; --space-1:.25rem; --space-2:.5rem; --space-3:.75rem;
    --space-4:1rem; --space-6:1.5rem; --space-8:2rem; --radius-card:22px;
    --duration-fast:.2s; --duration-normal:.3s; --shadow-card:0 10px 32px #102d3b07;
    --font-arabic:'Tajawal',sans-serif;
}
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.site-skip { position:fixed; inset-block-start:12px; inset-inline-start:16px; z-index:100000; transform:translateY(-200%); background:#fff; color:#111; padding:12px 20px; border-radius:8px; }
.site-skip:focus { transform:none; }
:is(a,button,input,select,textarea,[tabindex]):focus-visible { outline:3px solid #b99761; outline-offset:4px; }
html { scroll-padding-block-start:100px; }
main { min-width:0; }
.rating-header h1 { font-size:1.6rem; font-weight:800; margin-bottom:5px; }
.header-content h1 { font-size:1.6rem; font-weight:800; margin-bottom:5px; }
.rating-card { width:100%; }
.logos-track img { width:auto; }
.airline-logo { width:auto; max-width:120px; }
.voyage-home .why-card h3 { color:#10232b; }
.voyage-home .why-card p { color:#536168; }
.voyage-home .testi-card :is(p,strong) { color:#10232b; opacity:1; }
.voyage-home .testi-card .user-info span { color:#536168; }
[data-aos]:not(.aos-init) { opacity:1; transform:none; }
.menu-toggle { background:transparent; border:0; font:inherit; font-size:1.5rem; min-width:44px; min-height:44px; }
.nav-menu a { min-height:44px; }
.nav-menu li { min-width:0; }
.stars-input [role=button],.stars-container [role=button] { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.stars-container { flex-wrap:wrap; }
.rating-status { margin-block:16px; line-height:1.8; }
.rating-status a { text-decoration:underline; }
.room-chip,.child-chip { position:relative; }
.room-chip input,.child-chip input { display:block; position:absolute; opacity:0; width:1px; height:1px; }
.room-chip input:focus-visible + .room-chip-ui,.child-chip input:focus-visible + .child-chip-ui { outline:3px solid #b99761; outline-offset:3px; }
.modal-close-btn { width:44px; height:44px; }
.modal-img-thumbs img { width:44px; height:44px; }
.main-nav-toggle { min-width:44px; min-height:44px; }
.partners-section .logos-track { animation-play-state:paused; }
.partners-section:has([data-logos-motion="true"]) .logos-track { animation-play-state:running; }
.logos-motion { margin-block:16px; background:transparent; border:1px solid currentColor; border-radius:24px; padding:8px 20px; color:inherit; font:inherit; min-height:44px; cursor:pointer; }
@media(max-width:900px) { .nav-menu.mobile-active { max-height:min(450px,calc(100svh - 90px)); overflow-y:auto; } }
@media(max-width:768px) {
    .main-nav { position:relative; }
    .main-nav-links.mobile-active { display:flex; position:absolute; top:100%; inset-inline:0; z-index:2000; background:#102d3b; padding:20px; flex-direction:column; gap:12px; }
    .main-nav-links a { min-height:44px; display:flex; align-items:center; }
}
@media(max-width:430px) {
    .navbar { gap:8px; padding-inline:16px; }
    .nav-menu { padding-inline:16px; }
    .mobile-only-btn { margin-inline:0; white-space:nowrap; }
    .voyage-home .navbar { padding-inline:12px; }
    .voyage-home .logo-img { width:110px; }
    .voyage-home .mobile-only-btn { padding-inline:8px; }
    .pkg-price-row { flex-wrap:wrap; }
    .branches-grid,.hotel-grid { grid-template-columns:minmax(0,1fr); }
    .contact-info-card,.contact-form-card { padding:24px 20px; }
    .vip-footer div { flex-wrap:wrap; justify-content:center; }
    .vip-section-nav { overflow-x:auto; justify-content:flex-start; }
}
@media(prefers-reduced-motion:reduce) {
    html,body { scroll-behavior:auto; }
    *,*::before,*::after { animation:none!important; transition:none!important; }
    [data-aos] { opacity:1!important; transform:none!important; }
}

:root { --site-hero-photo:url('../images/optimized/kaaba2-1536.webp?v=82b4774619df'); }
@media(max-width:600px) { :root { --site-hero-photo:url('../images/optimized/kaaba2-600.webp?v=2636cd429f44'); } }
