
/* ============================================================
   CANIVERSUM HEADER CLEAN
   Loaded AFTER the page stylesheet.
   This file owns the header on all breakpoints.
   ============================================================ */

.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:100 !important;
  width:100% !important;
  background:#fff !important;
  border-bottom:1px solid rgba(23,50,74,.08) !important;
  overflow:visible !important;
}

.site-header .nav-wrap{
  position:relative !important;
  width:min(1320px,calc(100% - 40px)) !important;
  height:118px !important;
  min-height:118px !important;
  margin:0 auto !important;
  padding:0 20px !important;
  display:grid !important;
  grid-template-columns:190px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:22px !important;
}

/* One identical logo viewport everywhere */
.site-header .brand{
  width:170px !important;
  height:82px !important;
  min-width:170px !important;
  max-width:170px !important;
  min-height:82px !important;
  max-height:82px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* Home and Kraków use the same padded source file */
.page-home .site-header .brand img,
.page-krakow .site-header .brand img{
  width:170px !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  object-fit:contain !important;
  transform:scale(2.10) !important;
  transform-origin:center !important;
}

/* Trójmiasto file is already tightly cropped / transparent */
.page-trojmiasto .site-header .brand img{
  width:auto !important;
  height:78px !important;
  max-width:166px !important;
  max-height:78px !important;
  margin:0 !important;
  object-fit:contain !important;
  transform:none !important;
}

.site-header .desktop-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:24px !important;
  min-width:0 !important;
  white-space:nowrap !important;
}

.site-header .desktop-nav a,
.site-header .desktop-nav button{
  flex:0 0 auto !important;
}

.site-header .header-actions,
.site-header .socials{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  min-width:0 !important;
}

.site-header .menu-btn{
  display:none !important;
}

.site-header .mobile-nav{
  display:none !important;
}

/* Slightly tighter desktop */
@media (max-width:1180px) and (min-width:901px){
  .site-header .nav-wrap{
    grid-template-columns:175px minmax(0,1fr) auto !important;
    gap:14px !important;
    padding:0 14px !important;
  }

  .site-header .brand{
    width:158px !important;
    min-width:158px !important;
    max-width:158px !important;
  }

  .page-home .site-header .brand img,
  .page-krakow .site-header .brand img{
    width:158px !important;
  }

  .page-trojmiasto .site-header .brand img{
    height:72px !important;
    max-height:72px !important;
    max-width:154px !important;
  }

  .site-header .desktop-nav{
    gap:16px !important;
  }

  .site-header .desktop-nav a,
  .site-header .desktop-nav button{
    font-size:10px !important;
    letter-spacing:.09em !important;
  }
}

/* Mobile/tablet */
@media (max-width:900px){
  .site-header .nav-wrap{
    width:100% !important;
    height:88px !important;
    min-height:88px !important;
    margin:0 !important;
    padding:0 14px !important;
    display:block !important;
  }

  .site-header .brand{
    position:absolute !important;
    left:14px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:138px !important;
    min-width:138px !important;
    max-width:138px !important;
    height:66px !important;
    min-height:66px !important;
    max-height:66px !important;
    overflow:hidden !important;
  }

  .page-home .site-header .brand img,
  .page-krakow .site-header .brand img{
    width:138px !important;
    max-width:none !important;
    max-height:none !important;
    transform:scale(2.05) !important;
  }

  .page-trojmiasto .site-header .brand img{
    width:auto !important;
    height:62px !important;
    max-height:62px !important;
    max-width:134px !important;
    transform:none !important;
  }

  .site-header .desktop-nav,
  .site-header .header-socials,
  .site-header .socials,
  .site-header .book-btn{
    display:none !important;
  }

  .site-header .header-actions{
    position:static !important;
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* Always pinned to the REAL right edge of the header */
  .site-header .menu-btn{
    display:block !important;
    position:absolute !important;
    right:14px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#17324a !important;
    font-size:30px !important;
    line-height:46px !important;
    text-align:center !important;
    cursor:pointer !important;
  }

  .site-header .mobile-nav.open{
    display:flex !important;
    width:100% !important;
    flex-direction:column !important;
    gap:0 !important;
    padding:8px 18px 18px !important;
    background:#fff !important;
    border-top:1px solid rgba(23,50,74,.07) !important;
  }

  .site-header .mobile-nav a,
  .site-header .mobile-nav button{
    width:100% !important;
    padding:11px 0 !important;
    margin:0 !important;
    text-align:left !important;
  }
}

@media (max-width:420px){
  .site-header .nav-wrap{
    height:84px !important;
    min-height:84px !important;
    padding:0 12px !important;
  }

  .site-header .brand{
    left:12px !important;
    width:128px !important;
    min-width:128px !important;
    max-width:128px !important;
    height:62px !important;
    min-height:62px !important;
    max-height:62px !important;
  }

  .page-home .site-header .brand img,
  .page-krakow .site-header .brand img{
    width:128px !important;
    transform:scale(2.02) !important;
  }

  .page-trojmiasto .site-header .brand img{
    height:58px !important;
    max-height:58px !important;
    max-width:124px !important;
  }

  .site-header .menu-btn{
    right:12px !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    font-size:28px !important;
    line-height:44px !important;
  }
}


/* FIXED CANIVERSUM LOGO - local transparent asset */
.page-home .site-header .brand,
.page-krakow .site-header .brand{
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  height:82px !important;
  min-height:82px !important;
  max-height:82px !important;
  overflow:visible !important;
  justify-content:flex-start !important;
}

.page-home .site-header .brand img,
.page-krakow .site-header .brand img{
  width:auto !important;
  height:78px !important;
  max-width:166px !important;
  max-height:78px !important;
  object-fit:contain !important;
  transform:none !important;
  display:block !important;
  margin:0 !important;
}

@media (max-width:900px){
  .page-home .site-header .brand,
  .page-krakow .site-header .brand{
    width:138px !important;
    min-width:138px !important;
    max-width:138px !important;
    height:66px !important;
    min-height:66px !important;
    max-height:66px !important;
  }

  .page-home .site-header .brand img,
  .page-krakow .site-header .brand img{
    width:auto !important;
    height:62px !important;
    max-width:134px !important;
    max-height:62px !important;
    transform:none !important;
  }
}

@media (max-width:420px){
  .page-home .site-header .brand,
  .page-krakow .site-header .brand{
    width:128px !important;
    min-width:128px !important;
    max-width:128px !important;
    height:62px !important;
    min-height:62px !important;
    max-height:62px !important;
  }

  .page-home .site-header .brand img,
  .page-krakow .site-header .brand img{
    height:58px !important;
    max-height:58px !important;
    max-width:124px !important;
  }
}


/* SMALLER CANIVERSUM LOGO */
.page-home .site-header .brand,
.page-krakow .site-header .brand{
  width:150px !important;
  min-width:150px !important;
  max-width:150px !important;
  height:74px !important;
  min-height:74px !important;
  max-height:74px !important;
}

.page-home .site-header .brand img,
.page-krakow .site-header .brand img{
  width:auto !important;
  height:68px !important;
  max-width:146px !important;
  max-height:68px !important;
  transform:none !important;
  object-fit:contain !important;
}

@media (max-width:900px){
  .page-home .site-header .brand,
  .page-krakow .site-header .brand{
    width:122px !important;
    min-width:122px !important;
    max-width:122px !important;
    height:60px !important;
    min-height:60px !important;
    max-height:60px !important;
  }

  .page-home .site-header .brand img,
  .page-krakow .site-header .brand img{
    height:54px !important;
    max-height:54px !important;
    max-width:118px !important;
  }
}

@media (max-width:420px){
  .page-home .site-header .brand,
  .page-krakow .site-header .brand{
    width:112px !important;
    min-width:112px !important;
    max-width:112px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
  }

  .page-home .site-header .brand img,
  .page-krakow .site-header .brand img{
    height:50px !important;
    max-height:50px !important;
    max-width:108px !important;
  }
}
