/* =========================================================
   Moja Warmia — responsive
   Globalne breakpointy dla shell, nagłówka i archiwum.
   Reguły .mw-home-* są utrzymywane wyłącznie w home.css.
   ========================================================= */

@media (max-width:1600px){
  :root{
    --mw-shell:min(1460px,calc(100% - 72px));
  }
  .dwwe-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}

@media (max-width:1280px){
  .dwwe-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .dwwe-hero__inner{
    gap:42px;
  }
}

@media (max-width:1180px){
  .mw-nav-list--primary{
    display:none;
  }
  body.home .mw-nav-actions{
    margin-left:auto;
  }
}

@media (max-width:1000px){
  .dwwe-hero__inner{
    padding-top:calc(var(--mw-header-height) + 20px);
    min-height:680px;
  }
  .dwwe-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .dwwe-events-heading{
    align-items:flex-start;
  }
}

@media (max-width:900px){
  :root{
    --mw-logo-size:min(var(--mw-logo-user-size),84px);
    --mw-header-height:104px;
  }
  body:not(.home){
    --mw-header-height:118px;
  }

  .mw-brand-copy strong{
    font-size:27px;
  }
  .mw-brand-copy small{
    font-size:15px;
  }

  .mw-menu-toggle{
    display:block;
  }
  .mw-nav{
    display:none;
    position:absolute;
    top:calc(100% - 4px);
    left:20px;
    right:20px;
    padding:14px;
    flex-direction:column;
    align-items:stretch;
    border-radius:20px;
    background:rgba(4,45,32,.98);
    box-shadow:0 20px 50px rgba(0,0,0,.28);
  }
  .mw-nav.is-open{
    display:flex;
  }
  .mw-nav-list,
  .mw-nav-list--primary{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
  }
  .mw-nav a{
    color:#fff;
    justify-content:center;
  }
  .mw-nav-list--primary a.is-active::after{
    display:none;
  }
  .mw-nav-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .mw-nav-actions .mw-nav-login{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.24);
    color:#fff;
  }

  .dwwe-hero,
  .dwwe-hero__inner{
    min-height:auto;
  }
  .dwwe-hero__inner{
    padding:calc(var(--mw-header-height) + 20px) 0 86px;
    gap:30px;
  }
  .dwwe-hero h1{
    font-size:clamp(48px,13vw,68px);
  }
  .dwwe-hero::before{
    background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.82) 58%,rgba(255,255,255,.18));
  }

  .dwwe-events-heading{
    display:block;
  }
  .dwwe-sort{
    margin-top:20px;
    justify-content:flex-start;
  }
  .dwwe-archive__content{
    padding-top:62px;
  }
}

@media (max-width:782px){
  :root{
    --mw-shell:calc(100% - 40px);
    --mw-logo-size:min(var(--mw-logo-user-size),82px);
    --mw-header-height:108px;
    --mw-header-padding-y:10px;
  }
  body:not(.home){
    --mw-header-height:116px;
  }
  .admin-bar .mw-site-header--home,
  .admin-bar .mw-site-header--inner{
    top:46px;
  }
  .mw-brand-copy strong{
    font-size:25px;
  }
  .mw-brand-copy small{
    display:none;
  }
  .dwwe-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:600px){
  :root{
    --mw-shell:calc(100% - 24px);
    --mw-logo-size:min(var(--mw-logo-user-size),70px);
    --mw-header-height:90px;
    --mw-header-padding-y:8px;
  }
  body:not(.home){
    --mw-header-height:96px;
  }

  .mw-brand{
    gap:11px;
  }
  .mw-brand-copy strong{
    font-size:22px;
  }
  .mw-brand-copy small{
    display:none;
  }

  .mw-nav-actions{
    grid-template-columns:1fr;
  }

  .dwwe-hero__content{
    padding-left:0;
    width:min(620px,88vw);
  }
  .dwwe-hero__inner{
    padding-top:calc(var(--mw-header-height) + 16px);
    padding-bottom:74px;
  }
  .dwwe-hero__categories{
    gap:13px 18px;
  }
  .dwwe-hero__category{
    font-size:14px;
  }

  .dwwe-grid{
    grid-template-columns:1fr;
  }
  .dwwe-card__title{
    font-size:19px;
  }
  .dwwe-sort{
    display:block;
  }
  .dwwe-sort__label{
    display:block;
    margin-bottom:8px;
  }
  .dwwe-sort-menu{
    width:100%;
    min-width:0;
  }
  .dwwe-sort-menu__list{
    left:0;
    right:auto;
    width:100%;
  }
  .dwwe-events-heading h2{
    font-size:31px;
  }
}

/* v2.1.46 — HOME mobile: logo i nagłówek bez nachodzenia na Hero.
   Na małych ekranach nie przenosimy desktopowych offsetów logo 1:1.
   Wysokość realnego nagłówka jest taka sama jak zmienna używana przez Hero. */
@media (max-width:900px){
  .mw-site-header--home .mw-header-inner{
    height:var(--mw-header-height);
    min-height:var(--mw-header-height);
    padding-block:8px;
  }
  .mw-site-header--home .mw-brand{
    gap:10px;
    transform:none;
  }
  .mw-site-header--home .mw-brand-logo{
    width:var(--mw-logo-size);
    height:var(--mw-logo-size);
    flex:0 0 var(--mw-logo-size);
    padding:0;
    transform:none;
  }
  .mw-site-header--home .mw-brand-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .mw-site-header--home .mw-brand-copy strong{
    font-size:27px;
    line-height:.96;
  }
  .mw-site-header--home .mw-brand-copy small{
    font-size:14px;
    margin-top:4px;
  }
}

@media (max-width:782px){
  .mw-site-header--home .mw-header-inner{
    height:108px;
    min-height:108px;
  }
  .mw-site-header--home .mw-brand-logo{
    width:min(var(--mw-logo-user-size),78px);
    height:min(var(--mw-logo-user-size),78px);
    flex-basis:min(var(--mw-logo-user-size),78px);
  }
  .mw-site-header--home .mw-brand-copy strong{
    font-size:24px;
  }
  .mw-site-header--home .mw-brand-copy small{
    display:none;
  }
}

@media (max-width:600px){
  .mw-site-header--home .mw-header-inner{
    height:90px;
    min-height:90px;
    padding-block:7px;
  }
  .mw-site-header--home .mw-brand{
    gap:8px;
  }
  .mw-site-header--home .mw-brand-logo{
    width:min(var(--mw-logo-user-size),62px);
    height:min(var(--mw-logo-user-size),62px);
    flex-basis:min(var(--mw-logo-user-size),62px);
  }
  .mw-site-header--home .mw-brand-copy strong{
    font-size:20px;
    letter-spacing:-.02em;
  }
}

@media (max-width:390px){
  .mw-site-header--home .mw-brand-logo{
    width:min(var(--mw-logo-user-size),56px);
    height:min(var(--mw-logo-user-size),56px);
    flex-basis:min(var(--mw-logo-user-size),56px);
  }
  .mw-site-header--home .mw-brand-copy strong{
    font-size:18px;
  }
}

/* v2.1.47 — poprawka: rzeczywisty rozmiar logo użytkownika jest dostępny na mobile.
   Dzięki temu min() działa poprawnie i desktopowy rozmiar nie przechodzi na telefon/tablet. */
@media (max-width:900px){
  .mw-site-header--home .mw-brand-logo,
  .mw-site-header--inner .mw-brand-logo{
    max-width:84px;
    max-height:84px;
  }
  .mw-site-header--home .mw-brand-logo img,
  .mw-site-header--inner .mw-brand-logo img{
    max-width:100%;
    max-height:100%;
  }
}
@media (max-width:782px){
  .mw-site-header--home .mw-brand-logo{max-width:78px;max-height:78px;}
}
@media (max-width:600px){
  .mw-site-header--home .mw-brand-logo{max-width:62px;max-height:62px;}
}
@media (max-width:390px){
  .mw-site-header--home .mw-brand-logo{max-width:56px;max-height:56px;}
}

/* v2.1.63 — HOME: dopracowanie widoku na małych telefonach.
   Zmiany wyłącznie <= 600 px; desktop i tablet pozostają bez zmian. */
@media (max-width:600px){
  /* Nagłówek: branding czytelniejszy, ale nadal kompaktowy. */
  .mw-site-header--home .mw-header-inner{
    height:88px;
    min-height:88px;
    padding-block:6px;
    gap:10px;
  }
  .mw-site-header--home .mw-brand{
    gap:9px;
    max-width:calc(100% - 52px);
  }
  .mw-site-header--home .mw-brand-logo{
    width:64px;
    height:64px;
    flex-basis:64px;
    max-width:64px;
    max-height:64px;
  }
  .mw-site-header--home .mw-brand-copy strong{
    font-size:22px;
    line-height:.95;
    white-space:nowrap;
  }

  .mw-menu-toggle{
    width:42px;
    height:42px;
    flex:0 0 42px;
    padding:10px;
    border-radius:12px;
    background:rgba(4,45,32,.16);
    border-color:rgba(255,255,255,.28);
    color:#fff;
    backdrop-filter:blur(5px);
  }

  /* Menu: mniej wysokości i bez ściskania przycisków. */
  .mw-nav{
    top:calc(100% - 2px);
    left:12px;
    right:12px;
    max-height:calc(100vh - 104px);
    padding:10px;
    gap:8px;
    overflow-y:auto;
    border-radius:16px;
  }
  .mw-nav-list,
  .mw-nav-list--primary{
    gap:4px;
  }
  .mw-nav a{
    min-height:40px;
    padding-inline:12px;
    font-size:13px;
  }
  .mw-nav-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .mw-nav-actions a{
    min-height:42px;
    padding-inline:9px;
    font-size:12px;
    text-align:center;
  }
  .mw-nav-actions .mw-nav-add{
    grid-column:1 / -1;
  }
}

@media (max-width:390px){
  .mw-site-header--home .mw-brand-logo{
    width:58px;
    height:58px;
    flex-basis:58px;
    max-width:58px;
    max-height:58px;
  }
  .mw-site-header--home .mw-brand-copy strong{
    font-size:20px;
  }
  .mw-nav-actions{
    grid-template-columns:1fr;
  }
  .mw-nav-actions .mw-nav-add{
    grid-column:auto;
  }
}
