/* ELNOZAMY V2 — R9 FINAL VISUAL / MOBILE / SEO PRESENTATION PASS
   Presentation-only overrides. No database or schema dependency. */

html,body{max-width:100%;overflow-x:hidden}

/* ---------- Header / mobile navigation ---------- */
.site-header{isolation:isolate}
.menu-toggle{position:relative;z-index:1004;cursor:pointer}
.site-header .brand{position:relative;z-index:1004}

@media (max-width:1180px){
  .site-header{min-height:66px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:10px;padding-inline:max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right));background:rgba(8,9,10,.985)!important;backdrop-filter:blur(18px)}
  .site-header .main-nav{top:66px!important;bottom:0!important;height:calc(100dvh - 66px)!important;inset-inline:0!important;padding:26px max(22px,env(safe-area-inset-right)) calc(38px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))!important;background:#08090a!important;z-index:1003;opacity:0;visibility:hidden;pointer-events:none;overscroll-behavior:contain;transform:translateX(102%)!important;transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .2s ease,visibility 0s linear .32s!important}
  .site-header .main-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none!important;transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .2s ease,visibility 0s!important}
  .main-nav>a{display:flex!important;align-items:center;width:100%;min-height:48px;padding:7px 0!important;border-bottom:1px solid rgba(255,255,255,.075);font-size:clamp(22px,5.8vw,32px)!important;line-height:1.08!important}
  .main-nav .lang-switch{width:auto!important;align-self:flex-start;border:1px solid rgba(255,255,255,.24);padding:8px 12px!important;margin-top:18px!important;min-height:40px}
  .menu-toggle{display:block!important;flex:0 0 44px;width:44px;height:44px;margin:0!important}
  .brand-name{display:flex!important}
  body.r9-menu-open{overflow:hidden}
  html[dir=rtl] .site-header .main-nav{transform:translateX(-102%)!important;align-items:flex-end!important;text-align:right!important;padding-left:max(22px,env(safe-area-inset-left))!important;padding-right:max(22px,env(safe-area-inset-right))!important}
  html[dir=rtl] .site-header .main-nav.open{transform:none!important}
  html[dir=rtl] .main-nav>a{justify-content:flex-end}
  html[dir=rtl] .main-nav .lang-switch{align-self:flex-end}
}
@media (max-width:520px){
  .site-header{padding-inline:15px!important}
  .brand{gap:9px!important}.brand-mark{width:36px!important;height:36px!important}
  .brand-name b{font-size:8px!important;letter-spacing:.08em!important}.brand-name small{display:none!important}
  .site-header .main-nav{padding-top:20px!important}
  .main-nav>a{font-size:24px!important;min-height:44px}
  html[dir=rtl] .main-nav>a{font-size:23px!important;line-height:1.45!important}
}

/* ---------- Image discipline across laptop/desktop ---------- */
.hero-r6-portrait,.inner-hero-r6-media,.editorial-photo,.global-photo,.media-wide,.story-media,.visual-story-frame{overflow:hidden}
.inner-hero-r6-media img,.editorial-photo img,.global-photo img,.media-wide img,.story-media img,.visual-story-frame img{display:block;max-width:100%;object-fit:contain!important;object-position:center center!important}
@media (min-width:761px) and (max-width:1440px){
  .editorial-grid{grid-template-columns:54px minmax(300px,.92fr) minmax(390px,1.08fr)!important;gap:3.25vw!important}
  .editorial-photo img{max-height:620px;margin-inline:auto}
  .global-grid{grid-template-columns:minmax(360px,.9fr) minmax(380px,1.1fr)!important;gap:5vw!important}
  .global-photo img{max-height:650px!important}
  .media-grid-r6{grid-template-columns:minmax(300px,.72fr) minmax(480px,1.28fr)!important;gap:4vw!important}
  .media-wide img{max-height:600px!important}
  .story-grid.with-media{grid-template-columns:54px minmax(300px,.95fr) minmax(340px,1.05fr)!important;gap:3.2vw!important}
  .story-media img{max-height:620px!important}
}

/* ---------- Home gallery: balanced editorial grid, no giant portrait ---------- */
.home-gallery-grid{display:grid!important;columns:auto!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.home-gallery-tile,.home-gallery-tile:nth-child(n){display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;margin:0!important;break-inside:auto!important;grid-column:auto!important;grid-row:auto!important;background:#0d0e10!important;border:1px solid rgba(0,0,0,.12);overflow:hidden!important}
.home-gallery-tile img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#101113;transform:none!important}
.home-gallery-tile:hover img{transform:scale(1.008)!important}
.home-gallery-tile span{display:none!important}
@media (min-width:1450px){.home-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}}
@media (max-width:900px){.home-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}}
@media (max-width:520px){.home-gallery-grid{grid-template-columns:1fr!important;gap:10px!important}.home-gallery-tile{aspect-ratio:16/11!important}}

/* ---------- Full Photo Library: museum-style, consistent cards, full image visible ---------- */
.photo-editorial-wall{display:grid!important;columns:auto!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;align-items:start}
.photo-editorial-card{display:grid!important;grid-template-rows:auto 1fr;width:100%!important;margin:0!important;break-inside:auto!important;background:#f5f0e8!important;border:1px solid rgba(25,21,16,.11)!important;box-shadow:0 12px 34px rgba(38,29,16,.045)!important;overflow:hidden!important}
.photo-lightbox-trigger{display:grid!important;place-items:center;width:100%;aspect-ratio:4/3;border:0;padding:0;background:#0d0e10!important;cursor:zoom-in;overflow:hidden}
.photo-lightbox-trigger img{display:block;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center center!important;background:#0d0e10;transform:none!important;filter:none!important}
.photo-editorial-card:hover .photo-lightbox-trigger img{transform:scale(1.006)!important;filter:none!important}
.photo-editorial-card figcaption{min-height:74px;align-items:flex-start!important;background:#f5f0e8}
.photo-editorial-card figcaption>div:first-child:empty{display:none}
.photo-editorial-card figcaption>div:last-child{margin-inline-start:auto;text-align:right}
html[dir=rtl] .photo-editorial-card figcaption>div:last-child{margin-inline-start:0;margin-inline-end:auto;text-align:left}
@media (max-width:1440px){.photo-editorial-wall{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:15px!important}}
@media (max-width:900px){.photo-editorial-wall{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}.photo-editorial-card figcaption{min-height:66px}}
@media (max-width:520px){.photo-editorial-wall{grid-template-columns:1fr!important;gap:11px!important}.photo-lightbox-trigger{aspect-ratio:16/11}.photo-editorial-card figcaption{min-height:0}}

/* ---------- Lightbox quality ---------- */
.lightbox{background:rgba(5,6,7,.975)!important;backdrop-filter:blur(10px)}
.lightbox img{max-width:min(94vw,1500px)!important;max-height:88dvh!important;width:auto!important;height:auto!important;object-fit:contain!important;box-shadow:0 30px 90px rgba(0,0,0,.5)}

/* ---------- Visual hierarchy / pagination ---------- */
.pagination{justify-content:center!important;margin-inline:auto!important}
.pagination a,.pagination-gap{font-weight:700}

/* ---------- Prevent awkward laptop image oversizing ---------- */
@media (min-width:901px) and (max-width:1366px){
  .home-gallery{padding-block:88px!important}.photo-library-r6{padding-block:88px 105px!important}
  .home-section-head h2{font-size:clamp(38px,4.1vw,58px)!important}
  .library-heading h2{font-size:clamp(40px,4.3vw,62px)!important}
}
