/* Raviyan Aseman 3.3 — responsive decisions */
@media (max-width:1180px) {
  .shell,.site-shell,.container { width:min(100% - 40px,1120px); }
  .header-search,.site-search { width:230px; }
  .home-hero { min-height:460px; padding:64px 52px; }
  .hero-card { grid-template-columns:minmax(290px,38%) minmax(0,1fr); }
  .people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .content-row { grid-template-columns:235px minmax(0,1fr); gap:28px; }
  .profile-hero__layout { grid-template-columns:minmax(280px,380px) minmax(0,1fr); gap:55px; }
  .biography-layout { grid-template-columns:minmax(0,1fr) 280px; gap:42px; }
  .shared-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:980px) {
  .header-search,.site-search { display:none; }
  .mobile-search-toggle,.site-mobile-search-toggle { display:grid; }
  .home-hero { min-height:430px; }
  .home-hero:has(> .home-hero__mark) { flex-wrap:wrap; }
  .home-hero__mark { --ra-stat-motif-size:190px; flex-basis:100%; min-height:220px; }
  .home-hero__mark span { font-size:56px; }
  .home-hero__mark small { font-size:14px; }
  .home-introduction { padding-inline:3%; }
  .hero-card { grid-template-columns:minmax(270px,42%) minmax(0,1fr); }
  .portrait-panel { padding:28px; }
  .hero-copy { padding-inline:6%; }
  .content-row { grid-template-columns:1fr; }
  .sidebar { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-hero__layout { grid-template-columns:minmax(260px,340px) minmax(0,1fr); }
  .biography-layout { grid-template-columns:1fr; }
  .biography-aside { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
  .gallery-panel { grid-column:1/-1; }
  .related-stories__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px) {
  html { scroll-padding-top:92px; }
  .shell,.site-shell,.container { width:calc(100% - 28px); }
  .user-avatar,.notice,.site-avatar,.site-notice { display:none; }

  .banner-slider { padding-bottom:48px; }
  .hero-slider { padding-bottom:56px; }
  .banner-slide { aspect-ratio:auto; min-height:0; border-radius:14px; background:transparent; }
  .banner-slide-link,.banner-slide-content,.banner-slide-picture { height:auto; }
  .banner-slide-image,.banner-slide img { height:auto; object-fit:contain; object-position:center center; background:transparent; }
  .banner-slider .hero-slider-controls { bottom:0; }
  .home-introduction { margin:38px 0 62px; padding:0 7px; }
  .home-introduction__layout { grid-template-columns:1fr; gap:8px; }
  .home-introduction h2 { font-size:31px; }
  .home-introduction p { font-size:14px; }
  .hero-card { min-height:0; grid-template-columns:1fr; grid-template-rows:auto auto auto; border-radius:18px; }
  .portrait-panel { grid-column:1; grid-row:1; min-height:auto; padding:18px 18px 0; background:linear-gradient(160deg,#e4ebe4,#efeee6); }
  .portrait-frame { width:min(100%,310px); border-radius:16px 16px 5px 5px; }
  .quote { right:28px; bottom:16px; left:28px; }
  .hero-copy { grid-column:1; grid-row:2; padding:28px 22px 22px; align-items:center; text-align:center; }
  .hero-person-name { font-size:29px; }
  .hero-bio { font-size:12px; }
  .hero-actions { justify-content:center; flex-wrap:wrap; }
  .life-panel { grid-column:1; grid-row:3; margin:0 14px 22px; padding:18px 4px 4px; overflow-x:auto; }
  .timeline { min-width:520px; }
  .content-row { margin-top:70px; }
  .sidebar { grid-template-columns:1fr; }
  .section-header { min-height:0; align-items:flex-start; flex-direction:column; }
  .archive-tools { width:100%; justify-content:space-between; }
  .archive-filter__panel { grid-template-columns:1fr; }
  .archive-filter__search,.archive-filter__actions { grid-column:1; }
  .section-header h2,.visual-archive h2,.home-closing h2 { font-size:28px; }
  .people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .martyr-card__media { aspect-ratio:3/4; }
  .bookmark { top:8px; left:8px; width:30px; height:30px; }
  .bookmark,.person-tag { backdrop-filter:none; }
  .martyr-card__badges { right:8px; bottom:8px; }
  .person-tag { max-width:100%; overflow:hidden; padding:5px 7px; text-overflow:ellipsis; white-space:nowrap; }
  .photo-zoom-hint { display:none; }
  .martyr-card { border-radius:14px; box-shadow:0 6px 18px rgba(13,48,34,.055); }
  .martyr-card:active { transform:scale(.992); }
  .martyr-card__body { min-height:130px; padding:13px 11px 15px; }
  .martyr-card__body h3 { min-height:47px; font-size:13px; line-height:1.8; }
  .martyr-card__body p { display:none; }
  .details { margin-top:10px; font-size:9.5px; }
  .visual-archive { margin-top:78px; padding-block:48px; }
  .visual-archive__strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .visual-archive__item:nth-child(even) { transform:none; }
  .home-closing { margin-top:62px; padding:44px 24px; align-items:flex-start; flex-direction:column; }
  .home-closing .primary-button { width:100%; }

  .profile-hero { padding:35px 0 46px; }
  .profile-hero::after { width:170px; left:-55px; top:auto; bottom:-55px; transform:none; }
  .profile-hero__layout { grid-template-columns:1fr; gap:32px; }
  body.single-shahid .martyr-portrait-card { width:100%; max-width:360px; padding:5px; border-radius:20px; box-shadow:0 10px 26px rgba(13,48,34,.07),0 2px 6px rgba(13,48,34,.03); }
  .profile-hero__copy { text-align:center; }
  .profile-hero h1 { width:100%; max-width:100%; margin-inline:auto; justify-content:center; font-size:clamp(30px,8.75vw,35px); }
  .profile-hero__subtitle { font-size:15px; }
  .profile-hero__quote { margin-inline:auto; text-align:right; }
  .profile-facts { grid-template-columns:1fr 1fr; text-align:right; }
  .profile-facts>div { grid-template-columns:1fr; gap:3px; padding-inline:8px; }
  .profile-hero__action { width:100%; }
  .memorial-story-nav { top:112px; }
  .memorial-story-nav__inner { min-height:54px; justify-content:flex-start; }
  .memorial-story-nav a { padding-inline:10px; }
  .story-chapter { scroll-margin-top:176px; }
  .profile-introduction { padding-bottom:38px; }
  .profile-introduction h2 { font-size:27px; }
  .life-journey-section { margin:0; }
  .journey-card { margin-inline:-14px; padding:26px 22px 30px; border-radius:12px; }
  .journey-heading { align-items:flex-start; flex-direction:column; }
  .journey-track { display:grid; grid-template-columns:1fr; gap:0; padding:22px 0 0; }
  .journey-track::before { content:""; position:absolute; display:block; top:50px; right:27px; bottom:52px; left:auto; width:1px; height:auto; background:var(--ra-border-warm); }
  .journey-event { min-height:116px; display:grid; grid-template-columns:56px minmax(0,1fr); align-items:start; gap:17px; padding:0 0 26px; text-align:right; }
  .journey-event:not(:last-child)::before,.journey-event:not(:last-child)::after { display:none; }
  .journey-icon { width:56px; height:56px; margin:0; border-radius:10px; }
  .journey-copy { min-width:0; padding:3px 0 0; }
  .journey-copy h4 { margin:0 0 3px; font-size:15px; }
  .journey-copy p { max-width:none; margin:7px 0 0; font-size:11px; }
  .journey-event:hover .journey-icon,.journey-event:focus-within .journey-icon { transform:none; box-shadow:none; }
  .biography-layout { padding-block:46px 60px; }
  .biography-narrative { gap:54px; }
  .chapter-heading h2,.testament-section h2 { font-size:28px; }
  .raviyan-content { font-size:14.5px; line-height:2.25; text-align:right; }
  .life-story,.life-story.has-archival-image { grid-template-columns:1fr; gap:26px; padding-bottom:48px; }
  .life-story__media { position:static; }
  .life-story__media img { max-height:72vh; }
  .raviyan-content.is-collapsed { max-height:31rem; }
  .memory-entry { padding-right:33px; }
  .memory-entry::before { font-size:58px; }
  .testament-section { margin-inline:-14px; padding:50px 24px; border-radius:12px; }
  .testament-text { font-size:17px; line-height:2.25; }
  .archive-item { grid-template-columns:44px minmax(0,1fr); gap:13px; }
  .archive-item__icon { width:42px; height:42px; }
  .biography-aside { grid-template-columns:1fr; }
  .gallery-panel { grid-column:auto; }
  .gallery-panel--story { margin-inline:-14px; padding:36px 14px 40px; border-radius:12px; }
  .gallery-panel--story .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .related-stories { padding-top:44px; }
  .related-stories__head { align-items:flex-start; flex-direction:column; }
  .related-stories__grid { grid-template-columns:1fr; gap:26px; }
  .related-story { grid-template-columns:minmax(96px,34%) minmax(0,1fr); }
  .shared-footer { margin-top:56px; }
  .shared-footer-grid { grid-template-columns:1fr; gap:32px; }
  .shared-footer-inner { padding-top:52px; }
  .footer-bottom { align-items:flex-start; flex-direction:column; }
  .footer-back-top { margin-right:0; }
  .raviyan-gallery-prev { right:8px; }
  .raviyan-gallery-next { left:8px; }
}

@media (max-width:380px) {
  .shell,.site-shell,.container { width:calc(100% - 20px); }
  .people-grid { gap:7px; }
  .martyr-card__body { min-height:122px; padding-inline:9px; }
  .martyr-card__body h3 { font-size:12px; }
  .details { font-size:9px; }
  .profile-facts { grid-template-columns:1fr; }
  .memorial-story-nav { top:108px; }
  .journey-card { padding-inline:18px; }
  .journey-event { gap:13px; }
  .memory-entry { padding-right:29px; }
  .testament-section { padding-inline:20px; }
  .archive-filter__panel { grid-template-columns:1fr; }
  .archive-filter__search,.archive-filter__actions { grid-column:1; }
  .archive-filter__actions { align-items:stretch; flex-direction:column; }
  .raviyan-pagination { margin-top:30px; }
  .raviyan-pagination .page-numbers { gap:7px; }
  .raviyan-pagination .page-numbers li > a,
  .raviyan-pagination .page-numbers li > span { min-width:38px; height:38px; padding-inline:10px; }
}


/* Raviyan Aseman 3.3.1 responsive polish overrides */

/* Visual Stories desktop: aligned archive grid */
.visual-archive__strip {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
.visual-archive__item {
  aspect-ratio:3 / 4;
  overflow:hidden;
  border-radius:16px;
  position:relative;
  isolation:isolate;
  transform:translateY(0);
  transition:transform .38s cubic-bezier(.22,.61,.36,1), box-shadow .38s ease;
}
.visual-archive__item img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform .38s ease, filter .38s ease;
}
.visual-archive__item:hover {
  transform:translateY(-5px);
  box-shadow:0 18px 36px rgba(18,63,49,.12);
}
.visual-archive__item:hover img {
  transform:scale(1.025);
  filter:brightness(1.02);
}
.visual-archive__item span {
  transform:translateY(0);
  transition:transform .35s ease, background .35s ease;
}
.visual-archive__item:hover span {
  transform:translateY(-4px);
}

/* Tablet */
@media (max-width:1024px) and (min-width:681px){
  .visual-archive__strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Mobile composition */
@media (max-width:680px){
  .visual-archive__strip {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:16px;
    padding-inline:6px;
    scrollbar-width:none;
  }
  .visual-archive__strip::-webkit-scrollbar{display:none;}
  .visual-archive__item {
    flex:0 0 84vw;
    scroll-snap-align:start;
  }
  .site-header,.raviyan-elementor-header {
    min-height:58px;
    backdrop-filter:blur(10px);
  }
  .header-inner,.site-header-inner,.raviyan-elementor-shell {
    min-height:58px;
  }
  .visual-archive__item:hover {
    transform:none;
  }
}
@media (max-width:390px){
  .people-grid {
    grid-template-columns:1fr;
  }
}

/* respect reduced motion */
@media (prefers-reduced-motion:reduce){
  .visual-archive__item,
  .visual-archive__item img,
  .visual-archive__item span{
    transition:none!important;
    transform:none!important;
  }
}

/* 3.3.3 Visual archive desktop composition polish */
@media (min-width:1024px){
 .visual-archive__strip{max-width:1180px;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-inline:auto;}
 .visual-archive__item{aspect-ratio:3/4;transform:none!important;}
}

/* 3.3.5 Banner mobile composition polish */
@media (max-width: 767px){
  .raviyan-home > #main-content.shell {
    width:calc(100% - 28px);
  }
  .raviyan-home .hero-row,
  .raviyan-home .banner-slider {
    width:100%;
    max-width:none;
    min-width:0;
  }
  .banner-slide {
    aspect-ratio: auto;
    min-height: 0;
  }
  .banner-slide-link,
  .banner-slide-content,
  .banner-slide-picture {
    height: auto;
  }
  .banner-slide-image,
  .banner-slide img {
    height: auto;
    object-fit: contain;
    object-position: center center;
    background: transparent;
  }
  .banner-slider {
    padding-bottom: 48px;
  }
  .hero-row--banner-only .banner-slider:not(.banner-slider--has-controls) {
    padding-bottom:0;
  }
  .hero-row--banner-only + .content-row {
    margin-top:20px;
  }
}

/* 3.3.18 Mobile header and single-story sticky navigation */
@media (max-width:760px){
  :root {
    --raviyan-active-header-height:var(--raviyan-mobile-header-height,58px);
  }
  html {
    scroll-padding-top:calc(var(--raviyan-active-header-height,58px) + 54px);
  }
  .site-header,
  .raviyan-elementor-header {
    min-height:var(--raviyan-mobile-header-height,58px);
  }
  .memorial-story-nav {
    top:var(--raviyan-active-header-height,58px);
    z-index:8800;
  }
  .memorial-story-nav__inner {
    min-height:50px;
    justify-content:flex-start;
  }
  .story-chapter {
    scroll-margin-top:calc(var(--raviyan-active-header-height,58px) + 58px);
  }
}

@media (max-width:380px){
  .memorial-story-nav {
    top:var(--raviyan-active-header-height,58px);
  }
}

/* 3.3.45: mobile-only native header and compact homepage hero. */
@media (max-width:767px) {
  .site-header,.raviyan-elementor-header { min-height:58px; }
  .header-inner,.site-header-inner,.raviyan-elementor-shell,
  .site-header.is-scrolled :is(.header-inner,.site-header-inner),
  .raviyan-elementor-header.is-scrolled .raviyan-elementor-shell {
    display:flex; flex-wrap:nowrap; align-items:center; min-height:58px;
    gap:clamp(6px,1.5vw,8px); overflow:visible;
  }
  .brand,.site-brand { order:0; flex:0 0 auto; min-width:0; gap:0; }
  .brand > span:last-child,.site-brand > span:last-child { display:none; }
  .brand-mark,.site-brand-mark { width:28px; height:28px; border-radius:9px; }
  .brand-mark :is(img,svg),.site-brand-mark :is(img,svg) { width:22px; height:22px; }
  .raviyan-elementor-shell .raviyan-elementor-brand { display:none; }
  .nav.ra-primary-nav,.site-nav.ra-primary-nav,.raviyan-elementor-nav.ra-primary-nav {
    order:1; display:flex; flex:0 1 auto; flex-wrap:nowrap; align-items:center;
    justify-content:flex-start; width:auto; min-width:0; padding:0; overflow:visible;
    gap:clamp(3px,1vw,6px);
  }
  .ra-primary-nav > a,
  .ra-primary-nav .raviyan-martyr-mega-menu > .ra-mega-trigger {
    display:flex; align-items:center; justify-content:center; min-height:40px;
    padding-inline:clamp(3px,.9vw,6px); border:1px solid rgba(34,91,68,.11);
    border-radius:9px; background:rgba(255,254,250,.62);
    font-size:clamp(11.5px,3.1vw,12.75px); line-height:1.35; white-space:nowrap;
  }
  .ra-primary-nav > a { flex:0 1 auto; }
  .ra-primary-nav .raviyan-martyr-mega-menu > .ra-mega-trigger:hover,
  .ra-primary-nav .raviyan-martyr-mega-menu > .ra-mega-trigger[aria-expanded="true"],
  .ra-primary-nav > a:hover,
  .ra-primary-nav > a:focus-visible {
    border-color:rgba(34,91,68,.2); background:var(--ra-green-050);
  }
  .ra-primary-nav .raviyan-martyr-mega-menu { order:0; }
  .ra-primary-nav > a::before,.ra-primary-nav > a::after { content:none; }
  .ra-primary-nav .ra-poster-label-full { display:none; }
  .ra-primary-nav .ra-poster-label-short { display:inline; }
  .header-tools,.site-tools { order:2; flex:0 0 auto; min-width:0; gap:0; margin:0; margin-inline-start:auto; direction:rtl; }
  .mobile-search-toggle,.site-mobile-search-toggle {
    display:grid; place-items:center; width:clamp(36px,10vw,42px); height:clamp(36px,10vw,42px);
    flex:0 0 auto; aspect-ratio:1; padding:0; border-radius:50%; line-height:1;
  }
  .mobile-search-toggle > i,.site-mobile-search-toggle > i { display:none; }
  .mobile-search-toggle > .ra-mobile-search-icon,.site-mobile-search-toggle > .ra-mobile-search-icon {
    display:block; width:20px; height:20px; flex:none;
  }
  .mobile-search-panel,.site-mobile-search-panel { top:100%; }

  .home-hero,.home-hero:has(> .home-hero__mark) {
    display:grid; grid-template-columns:minmax(0,1fr) clamp(126px,35vw,154px);
    align-items:center; gap:10px 12px; min-height:0;
    margin:14px 0 20px; padding:clamp(18px,4.8vw,26px);
    border-radius:18px; background:linear-gradient(160deg,var(--ra-ivory-050) 0 58%,#e5ede5);
  }
  .home-hero > .archive-masthead__copy { display:contents; }
  .home-hero h1,.home-hero__lead,.home-hero__description { grid-column:1 / -1; }
  .home-hero h1 { margin:0; font-size:clamp(30px,8vw,40px); line-height:1.3; }
  .home-hero__lead { margin:0; max-width:none; font-size:clamp(21px,5.5vw,26px); line-height:1.55; }
  .home-hero__description { margin:0; max-width:62ch; font-size:13px; line-height:1.8; }
  .home-hero__actions { grid-column:1; grid-row:4; margin:0; gap:8px; flex-direction:column; align-items:flex-start; min-width:0; }
  .home-hero__actions .archive-masthead__link { width:auto; max-width:100%; min-height:44px; padding:9px 12px; gap:8px; font-size:12px; }
  .home-hero__secondary { align-self:flex-start; font-size:12px; }
  .home-hero__mark { grid-column:2; grid-row:4; --ra-stat-motif-size:clamp(120px,33vw,146px);
    min-height:calc(var(--ra-stat-motif-size) + 10px); gap:3px; flex-basis:auto; }
  .home-hero__mark span { font-size:clamp(40px,11vw,50px); line-height:1.15; }
  .home-hero__mark small { font-size:12px; line-height:1.5; padding-inline:4px; }
  .home-hero::before { width:140px; left:-44px; top:auto; bottom:-48px; transform:none; opacity:.1; }
  .home-hero::after { right:8px; top:20px; bottom:20px; opacity:.35; }

  .home-mobile-notice-slot:not(:empty) {
    width:100%; margin-block:32px 0;
  }
  .home-mobile-notice-slot > .rmc-daily-notice { width:100%; max-width:none; margin:0; }
}
/* Narrow phones retain readable menu text: use a second row only below 360px. */
@media (max-width:359px) {
  :root { --raviyan-mobile-header-height:104px; }
  .header-inner,.site-header-inner,.raviyan-elementor-shell,
  .site-header.is-scrolled :is(.header-inner,.site-header-inner),
  .raviyan-elementor-header.is-scrolled .raviyan-elementor-shell {
    display:grid; grid-template-columns:1fr auto; grid-template-rows:40px auto; gap:0 8px; padding-block:4px;
  }
  .brand,.site-brand { grid-column:1; grid-row:1; justify-self:start; }
  .header-tools,.site-tools { grid-column:2; grid-row:1; margin:0; }
  .nav.ra-primary-nav,.site-nav.ra-primary-nav,.raviyan-elementor-nav.ra-primary-nav {
    grid-column:1 / -1; grid-row:2; display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
    justify-content:stretch; width:100%; gap:4px;
  }
  .ra-primary-nav > a,
  .ra-primary-nav > .raviyan-martyr-mega-menu,
  .ra-primary-nav .raviyan-martyr-mega-menu > .ra-mega-trigger { width:100%; min-width:0; }
  .ra-primary-nav > a,
  .ra-primary-nav .raviyan-martyr-mega-menu > .ra-mega-trigger {
    min-height:38px; padding-inline:2px; font-size:10.5px; overflow:hidden; text-overflow:ellipsis;
  }
  .raviyan-elementor-shell { grid-template-rows:auto; }
  .raviyan-elementor-nav.ra-primary-nav { grid-row:1; }
}

