/* ========================================
   SINPROESEMMA — Responsive
   ======================================== */

/* Desktop L */
@media (max-width: 1260px) {
    :root {
        --container: min(1180px, calc(100vw - 40px));
    }
    
    .header-main { height: 102px; }
    .brand { width: 520px; }
    .main-menu > li > a { padding: 0 9px; font-size: .82rem; }
    .nav-region { display: none; }
    
}

/* Tablet */
@media (max-width: 980px) {
    :root {
        --container: calc(100vw - 34px);
    }
    
    .header-main { height: 90px; }
    .brand { width: min(520px, 67%); max-width: none; }
    .header-icon span, .theme-button { display: none; }
    .member-button span { display: none; }
    .member-button { width: 48px; padding: 0; justify-content: center; }
    .menu-toggle { display: flex; }
    
    /* Mobile Menu */
    .main-nav {
        position: fixed;
        z-index: 2500;
        inset: 0 auto 0 0;
        width: min(390px, 92vw);
        background: #0b123e;
        display: block;
        overflow: auto;
        visibility: hidden;
        transform: translateX(-104%);
        transition: transform .22s ease, visibility .22s;
        box-shadow: 22px 0 60px rgba(0,0,0,.28);
    }
    
    .menu-open .main-nav { visibility: visible; transform: translateX(0); }
    body.menu-open { overflow: hidden; }
    
    .nav-inner { min-height: 100%; height: auto; display: block; width: 100%; padding: 0 20px 90px; }
    .mobile-menu-header { position: sticky; z-index: 3; top: 0; min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 -20px 10px; padding: 12px 20px; background: #03045e; border-bottom: 1px solid rgba(255,255,255,.2); }
    .mobile-menu-header strong { color: #fff; font-size: 1.05rem; }
    .mobile-menu-close { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; }
    .menu-backdrop { position: fixed; z-index: 2490; inset: 0; display: block; border: 0; background: rgba(0,0,36,.58); opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s; }
    .menu-open .menu-backdrop { opacity: 1; visibility: visible; }
    .menu-open .mobile-dock { opacity: 0; visibility: hidden; pointer-events: none; }
    .main-menu { width: 100%; height: auto; display: grid; justify-content: stretch; gap: 0; }
    .main-menu > li { position: relative; height: auto; display: block; border-bottom: 1px solid rgba(255,255,255,.14); }
    .main-menu > li > a { min-height: 52px; padding: 14px 54px 14px 4px; height: auto; font-size: 1rem; white-space: normal; }
    .main-menu > li > a::after { display: none; }
    .submenu-toggle { position: absolute; z-index: 2; right: 0; top: 4px; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 10px; background: rgba(255,255,255,.08); color: #fff; font-size: 1.3rem; }
    .submenu-toggle span { transition: transform .18s ease; }
    .submenu-toggle .icon { width: 22px; height: 22px; }
    .submenu-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
    .main-menu .sub-menu { display: none !important; position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: transparent; color: #dfe5ff; border: 0; border-radius: 0; padding: 0 0 10px 15px; }
    .main-menu > li.submenu-open > .sub-menu { display: grid !important; }
    .sub-menu a { padding: 8px 4px; }
    
    .site-header.is-sticky .main-nav { display: block; inset: 0 auto 0 0; }
    
    .event-strip { grid-template-columns: 1fr 1fr; }
    .news-grid { grid-template-columns: 1fr 1fr; }
    
    .secretary-grid,
    .services-matrix { grid-template-columns: 1fr 1fr; }
    .services-group .services-matrix { grid-template-columns: 1fr 1fr; }
    
    .associate-dashboard { grid-template-columns: 1fr; }
    .associate-nav { display: none; }
    
    .multi-step-card,
    .contact-layout { grid-template-columns: 1fr; }
    .multi-step-card aside { order: -1; }
    
    .regional-grid,
    .benefits-grid { grid-template-columns: 1fr 1fr; }
    
    .campaign-grid,
    .media-archive-grid,
    .document-grid { grid-template-columns: 1fr 1fr; }
    
    .profile-layout { grid-template-columns: 200px 1fr; }
    .profile-avatar { width: 190px; height: 240px; }
    
    .feature-hero-grid { grid-template-columns: 1fr; }
    .feature-number { display: none; }
    .archive-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-filter-form .primary-button,.archive-filter-form .secondary-button{width:100%}
    
    .mobile-dock { display: flex; }
}

@media (prefers-reduced-motion: reduce) and (max-width: 980px) {
    .main-nav,.menu-backdrop,.submenu-toggle span { transition: none; }
}

/* Mobile */
@media (max-width: 580px) {
    :root {
        --container: calc(100vw - 34px);
    }
    
    .header-main { height: 70px; }
    .brand { width: 70vw; }
    
    .event-strip { grid-template-columns: 1fr; }
    .news-grid { grid-template-columns: 1fr; gap: 14px; }
    
    .post-card{ border-radius: 16px; }
    .post-card-body{ padding: 16px 15px; gap: 7px; }
    .post-card-title{ font-size: 1.15rem; line-height: 1.28; }
    .post-card-excerpt{ font-size: .92rem; line-height: 1.55; }
    .post-card-meta{ font-size: .7rem; }
    
    .secretary-grid,
    .services-matrix,
    .services-group .services-matrix,
    .regional-grid,
    .benefits-grid,
    .document-grid,
    .campaign-grid,
    .media-archive-grid { grid-template-columns: 1fr; }
    
    .filter-bar--benefits { flex-direction: column; align-items: stretch; gap: 10px; }
    .filter-bar--benefits .filter-search,
    .filter-bar--benefits .filter-select { min-width: 0; width: 100%; }
    .filter-bar--benefits .filter-select select { width: 100%; min-width: 0; }
    
    .section-pad { padding: 60px 0; }
    
    .page-hero h1 { font-size: clamp(2.5rem, 8vw, 4rem); }
    
    .breadcrumbs { font-size: .7rem; }
    .archive-filter-form,.archive-filter-form--search{grid-template-columns:1fr}.archive-filter-form>label:first-child{grid-column:auto}.related-news .news-grid{grid-template-columns:1fr}.post-share>span{width:100%}
    
    .mobile-dock { display: flex; }
    
    /* Hide elements on mobile */
    .desktop-only { display: none !important; }
}

/* Mobile S */
@media (max-width: 380px) {
    .header-main { height: 60px; }
    .brand { width: 65vw; }
    
    .mobile-dock { display: flex; }
}

/* Print */
@media print {
    .utility-bar,
    .site-header,
    .main-nav,
    .mobile-dock,
    .site-footer,
    .footer-newsletter,
    .post-share,
    .post-navigation,
    .related-news { display: none; }
    .news-grid { grid-template-columns: 1fr 1fr; }
    
    body { font-size: 12pt; color:#000; background:#fff; }
    .post-single{max-width:none}.post-content{font-size:12pt}.post-featured{max-height:420px}.post-featured img{max-height:420px;object-fit:contain}.post-content a::after{content:" (" attr(href) ")";font-size:9pt}
    a { text-decoration: underline; }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    
    .reveal {
        opacity: 1;
        transform: none;
    }
}
