/*
 * JAPI Helix Ultimate Header - Layout Family Engine
 * Structural variants are selected with data-japi-layout on .japi-hu-shell.
 * Presets only choose a trusted family; executable code is never imported.
 */
.japi-hu-header__inner{
  --japi-hu-layout-row-gap:var(--japi-hu-header-columns-gap,24px);
  --japi-hu-layout-radius:0px;
  --japi-hu-layout-outer-margin:0px;
}
.japi-hu-zone{min-width:0}
.japi-hu-zone--brand{display:flex;align-items:center;min-width:0}
.japi-hu-nav--left,.japi-hu-nav--right,.japi-hu-zone--search,.japi-hu-zone--utility,.japi-hu-zone--phone{display:none}
.japi-hu-nav--left .japi-hu-menu,.japi-hu-nav--right .japi-hu-menu{width:100%}
.japi-hu-nav--left .japi-hu-menu{justify-content:flex-end}
.japi-hu-nav--right .japi-hu-menu{justify-content:flex-start}

.japi-hu-search form{display:flex;align-items:center;width:100%;min-width:220px;height:46px;border:1px solid color-mix(in srgb,var(--japi-hu-menu-color,#4e3f49) 18%,transparent);border-radius:12px;background:color-mix(in srgb,var(--japi-hu-bg,#fff) 92%,var(--japi-hu-menu-color,#4e3f49) 8%);overflow:hidden}
.japi-hu-search input{width:100%;height:100%;min-width:0;padding:0 14px;border:0;outline:0;background:transparent;color:var(--japi-hu-menu-color,#4e3f49);font:600 14px/1.2 inherit}
.japi-hu-search input::placeholder{color:color-mix(in srgb,var(--japi-hu-menu-color,#4e3f49) 56%,transparent)}
.japi-hu-search button{display:grid;place-items:center;width:48px;height:100%;flex:0 0 48px;border:0;background:var(--japi-hu-accent,#a0195b);color:#fff;cursor:pointer}
.japi-hu-search button svg{width:18px;height:18px;fill:currentColor}

/* 0.6.14: czytelne, pełne kolory marek w headerze */
.japi-hu-header-social{align-items:center;justify-content:center;gap:8px}
.japi-hu-header-social a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid color-mix(in srgb,var(--japi-hu-social-base,var(--japi-hu-menu-color,#4e3f49)) 82%,#fff 18%);background:var(--japi-hu-social-base,var(--japi-hu-menu-color,#4e3f49));color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--japi-hu-social-base,var(--japi-hu-menu-color,#4e3f49)) 22%,transparent);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.japi-hu-header-social a:hover{background:var(--japi-hu-social-hover,var(--japi-hu-accent,#a0195b));border-color:var(--japi-hu-social-hover,var(--japi-hu-accent,#a0195b));color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--japi-hu-social-hover,var(--japi-hu-accent,#a0195b)) 30%,transparent);transform:translateY(-1px)}
.japi-hu-header-social svg{width:15px;height:15px;fill:currentColor}

/* 01. Standard + topbar */
.japi-hu-shell[data-japi-layout="standard-topbar"] .japi-hu-header__inner{
  grid-template-columns:minmax(120px,var(--japi-hu-logo-max-width,320px)) minmax(0,1fr) auto;
  grid-template-areas:"brand nav actions";
}
.japi-hu-shell[data-japi-layout="standard-topbar"] .japi-hu-zone--brand{grid-area:brand}
.japi-hu-shell[data-japi-layout="standard-topbar"] .japi-hu-zone--nav-full{grid-area:nav}
.japi-hu-shell[data-japi-layout="standard-topbar"] .japi-hu-zone--actions{grid-area:actions}

/* 02. Compact single row */
.japi-hu-shell[data-japi-layout="single-row"] .japi-hu-topbar{display:none}
.japi-hu-shell[data-japi-layout="single-row"] .japi-hu-header{height:min(var(--japi-hu-height,82px),92px)}
.japi-hu-shell[data-japi-layout="single-row"] .japi-hu-header__inner{
  grid-template-columns:minmax(110px,var(--japi-hu-logo-max-width,260px)) minmax(0,1fr) auto;
  grid-template-areas:"brand nav actions";
  gap:min(var(--japi-hu-header-columns-gap,20px),24px);
}
.japi-hu-shell[data-japi-layout="single-row"] .japi-hu-zone--brand{grid-area:brand}
.japi-hu-shell[data-japi-layout="single-row"] .japi-hu-zone--nav-full{grid-area:nav}
.japi-hu-shell[data-japi-layout="single-row"] .japi-hu-zone--actions{grid-area:actions}
.japi-hu-shell[data-japi-layout="single-row"] .japi-hu-logo img{max-height:calc(min(var(--japi-hu-height,82px),92px) - 18px)}

/* 03. Centered logo - premium symmetric composition
   Left: phone, center: logo, right: burger + CTA, navigation below.

   The navigation row is deliberately self-contained. Its text is centred
   between the upper divider and the lower edge of the header, while the
   underline lives in the edge space below the link. This prevents the former
   optical shift caused by adding extra padding only under the navigation. */
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-header:not(.is-sticky){
  height:auto;
  min-height:max(var(--japi-hu-height,118px),108px);
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-header:not(.is-sticky) .japi-hu-header__inner{
  --japi-hu-centered-menu-link-height:clamp(36px,calc(var(--japi-hu-menu-font-size,14px) + 24px),44px);
  --japi-hu-centered-menu-edge-space:clamp(4px,var(--japi-hu-menu-underline-offset,4px),8px);
  --japi-hu-centered-menu-row-height:calc(var(--japi-hu-centered-menu-link-height) + var(--japi-hu-centered-menu-edge-space) + var(--japi-hu-centered-menu-edge-space));
  display:grid;
  grid-template-columns:minmax(250px,1fr) minmax(180px,var(--japi-hu-logo-max-width,320px)) minmax(250px,1fr);
  grid-template-rows:minmax(60px,1fr) var(--japi-hu-centered-menu-row-height);
  grid-template-areas:"phone brand actions" "nav nav nav";
  align-items:center;
  column-gap:clamp(18px,var(--japi-hu-header-columns-gap,26px),38px);
  row-gap:min(var(--japi-hu-layout-row-gap,4px),8px);
  padding:7px 0 0;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--phone{
  grid-area:phone;
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:flex-start;
  padding-right:12px;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--phone .japi-hu-phone{
  order:initial;
  min-width:0;
  max-width:100%;
  justify-content:flex-start;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--phone .japi-hu-phone__copy{
  min-width:0;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--phone .japi-hu-phone__copy small,
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--phone .japi-hu-phone__copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--phone .japi-hu-phone__icon{
  box-shadow:0 9px 24px color-mix(in srgb,var(--japi-hu-phone-icon-color,var(--japi-hu-accent)) 13%,transparent);
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--brand{
  grid-area:brand;
  min-width:0;
  justify-content:center;
  text-align:center;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-logo{
  width:100%;
  justify-content:center;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-logo img{
  margin-inline:auto;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-logo__text{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:center;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-header:not(.is-sticky) .japi-hu-zone--nav-full{
  grid-area:nav;
  min-width:0;
  width:100%;
  height:var(--japi-hu-centered-menu-row-height);
  min-height:var(--japi-hu-centered-menu-row-height);
  align-self:stretch;
  align-items:stretch;
  border-top:1px solid color-mix(in srgb,var(--japi-hu-menu-color,#4e3f49) 9%,transparent);
  padding:0;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--actions{
  grid-area:actions;
  min-width:0;
  justify-content:flex-end;
  padding-left:12px;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--actions>.japi-hu-phone{display:none!important}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--actions>.japi-hu-toggle{order:1;flex:none}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--actions>.japi-hu-cta{order:2;flex:none}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--utility{display:none}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-header:not(.is-sticky) .japi-hu-zone--nav-full>.japi-hu-menu,
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-header:not(.is-sticky) .japi-hu-zone--nav-full>.japi-hu-menu>.japi-hu-menu__item{
  height:100%;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-header:not(.is-sticky) .japi-hu-zone--nav-full>.japi-hu-menu>.japi-hu-menu__item>a,
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-header:not(.is-sticky) .japi-hu-zone--nav-full>.japi-hu-menu>.japi-hu-menu__item>.japi-hu-menu__label{
  min-height:var(--japi-hu-centered-menu-link-height);
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-header:not(.is-sticky) .japi-hu-zone--nav-full>.japi-hu-menu>.japi-hu-menu__item>a:before{
  bottom:calc(clamp(0px,var(--japi-hu-menu-underline-offset,4px),8px) * -1);
}

/* 04. Split navigation */
.japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-header__inner{
  grid-template-columns:minmax(0,1fr) minmax(130px,var(--japi-hu-logo-max-width,260px)) minmax(0,1fr) auto;
  grid-template-areas:"navleft brand navright actions";
  gap:min(var(--japi-hu-header-columns-gap,20px),28px);
}
.japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-zone--brand{grid-area:brand;justify-content:center}
.japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-logo{justify-content:center}
.japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-zone--nav-full{display:none}
.japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-zone--nav-left{display:flex;grid-area:navleft}
.japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-zone--nav-right{display:flex;grid-area:navright}
.japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-zone--actions{grid-area:actions}
.japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-phone__copy{display:none}

/* 05. Double row */
.japi-hu-shell[data-japi-layout="double-row"] .japi-hu-header{height:auto;min-height:max(var(--japi-hu-height,132px),118px)}
.japi-hu-shell[data-japi-layout="double-row"] .japi-hu-header__inner{
  grid-template-columns:minmax(160px,var(--japi-hu-logo-max-width,340px)) 1fr auto;
  grid-template-rows:minmax(64px,1fr) auto;
  grid-template-areas:"brand utility actions" "nav nav nav";
  row-gap:var(--japi-hu-layout-row-gap,10px);
  padding:10px 0 12px;
}
.japi-hu-shell[data-japi-layout="double-row"] .japi-hu-zone--brand{grid-area:brand}
.japi-hu-shell[data-japi-layout="double-row"] .japi-hu-zone--nav-full{grid-area:nav;border-top:1px solid color-mix(in srgb,var(--japi-hu-menu-color,#4e3f49) 10%,transparent)}
.japi-hu-shell[data-japi-layout="double-row"] .japi-hu-zone--actions{grid-area:actions}
.japi-hu-shell[data-japi-layout="double-row"] .japi-hu-zone--utility{grid-area:utility;display:flex;justify-content:flex-end}
.japi-hu-shell[data-japi-layout="double-row"] .japi-hu-menu>.japi-hu-menu__item>a:before{bottom:-7px}

/* 06. Ecommerce */
.japi-hu-shell[data-japi-layout="ecommerce-search"] .japi-hu-header{height:auto;min-height:max(var(--japi-hu-height,142px),126px)}
.japi-hu-shell[data-japi-layout="ecommerce-search"] .japi-hu-header__inner{
  grid-template-columns:minmax(150px,var(--japi-hu-logo-max-width,300px)) minmax(280px,1fr) auto;
  grid-template-rows:minmax(68px,1fr) auto;
  grid-template-areas:"brand search actions" "nav nav nav";
  row-gap:var(--japi-hu-layout-row-gap,10px);
  padding:10px 0 12px;
}
.japi-hu-shell[data-japi-layout="ecommerce-search"] .japi-hu-zone--brand{grid-area:brand}
.japi-hu-shell[data-japi-layout="ecommerce-search"] .japi-hu-zone--search{grid-area:search;display:flex;align-items:center}
.japi-hu-shell[data-japi-layout="ecommerce-search"] .japi-hu-zone--nav-full{grid-area:nav;border-top:1px solid color-mix(in srgb,var(--japi-hu-menu-color,#4e3f49) 10%,transparent)}
.japi-hu-shell[data-japi-layout="ecommerce-search"] .japi-hu-zone--actions{grid-area:actions}
.japi-hu-shell[data-japi-layout="ecommerce-search"] .japi-hu-phone__copy{display:none}
.japi-hu-shell[data-japi-layout="ecommerce-search"] .japi-hu-menu>.japi-hu-menu__item>a:before{bottom:-7px}

/* 07. Utility icons */
.japi-hu-shell[data-japi-layout="utility-icons"] .japi-hu-header__inner{
  grid-template-columns:minmax(120px,var(--japi-hu-logo-max-width,280px)) minmax(0,1fr) auto auto;
  grid-template-areas:"brand nav utility actions";
  gap:min(var(--japi-hu-header-columns-gap,18px),24px);
}
.japi-hu-shell[data-japi-layout="utility-icons"] .japi-hu-zone--brand{grid-area:brand}
.japi-hu-shell[data-japi-layout="utility-icons"] .japi-hu-zone--nav-full{grid-area:nav}
.japi-hu-shell[data-japi-layout="utility-icons"] .japi-hu-zone--utility{grid-area:utility;display:flex}
.japi-hu-shell[data-japi-layout="utility-icons"] .japi-hu-zone--actions{grid-area:actions}
.japi-hu-shell[data-japi-layout="utility-icons"] .japi-hu-phone__copy{display:none}

/* 08. Asymmetric brand */
.japi-hu-shell[data-japi-layout="asymmetric-brand"] .japi-hu-header{height:auto;min-height:max(var(--japi-hu-height,128px),116px)}
.japi-hu-shell[data-japi-layout="asymmetric-brand"] .japi-hu-header__inner{
  grid-template-columns:minmax(220px,var(--japi-hu-logo-max-width,380px)) minmax(0,1fr) auto;
  grid-template-rows:1fr 1fr;
  grid-template-areas:"brand nav actions" "brand utility actions";
  gap:0 var(--japi-hu-header-columns-gap,28px);
  padding:12px 0;
}
.japi-hu-shell[data-japi-layout="asymmetric-brand"] .japi-hu-zone--brand{grid-area:brand;align-self:stretch;padding-right:28px;border-right:1px solid color-mix(in srgb,var(--japi-hu-menu-color,#4e3f49) 12%,transparent)}
.japi-hu-shell[data-japi-layout="asymmetric-brand"] .japi-hu-logo{height:100%}
.japi-hu-shell[data-japi-layout="asymmetric-brand"] .japi-hu-zone--nav-full{grid-area:nav;justify-content:flex-start}
.japi-hu-shell[data-japi-layout="asymmetric-brand"] .japi-hu-menu{justify-content:flex-start}
.japi-hu-shell[data-japi-layout="asymmetric-brand"] .japi-hu-zone--utility{grid-area:utility;display:flex;justify-content:flex-start}
.japi-hu-shell[data-japi-layout="asymmetric-brand"] .japi-hu-zone--actions{grid-area:actions;align-self:center}

/* 09. Floating card */
.japi-hu-shell[data-japi-layout="floating-card"]{padding-top:var(--japi-hu-layout-outer-margin,18px)}
.japi-hu-shell[data-japi-layout="floating-card"] .japi-hu-header{height:auto;min-height:var(--japi-hu-height,94px);background:transparent;border:0;box-shadow:none;padding:0 var(--japi-hu-layout-outer-margin,18px)}
.japi-hu-shell[data-japi-layout="floating-card"] .japi-hu-header__inner{
  min-height:var(--japi-hu-height,94px);
  grid-template-columns:minmax(120px,var(--japi-hu-logo-max-width,300px)) minmax(0,1fr) auto;
  grid-template-areas:"brand nav actions";
  padding:0 28px;
  border:var(--japi-hu-header-border-width,1px) solid var(--japi-hu-header-border-color,#eee7eb);
  border-radius:var(--japi-hu-layout-radius,24px);
  background:var(--japi-hu-bg,#fff);
  box-shadow:var(--japi-hu-header-shadow,0 14px 34px rgba(44,30,40,.12));
}
.japi-hu-shell[data-japi-layout="floating-card"] .japi-hu-zone--brand{grid-area:brand}
.japi-hu-shell[data-japi-layout="floating-card"] .japi-hu-zone--nav-full{grid-area:nav}
.japi-hu-shell[data-japi-layout="floating-card"] .japi-hu-zone--actions{grid-area:actions}
.japi-hu-shell[data-japi-layout="floating-card"] .japi-hu-header.is-sticky{padding-top:10px;background:transparent}

/* 10. Transparent overlay */
.japi-hu-shell[data-japi-layout="transparent-overlay"]{position:absolute;left:0;right:0;top:0;z-index:1000}
.japi-hu-shell[data-japi-layout="transparent-overlay"] .japi-hu-topbar{background:var(--japi-hu-topbar-bg,rgba(17,24,39,.72));backdrop-filter:saturate(140%) blur(8px)}
.japi-hu-shell[data-japi-layout="transparent-overlay"] .japi-hu-header{background:var(--japi-hu-bg,rgba(15,23,42,.72));backdrop-filter:saturate(140%) blur(10px);border-color:color-mix(in srgb,var(--japi-hu-header-border-color,#fff) 35%,transparent)}
.japi-hu-shell[data-japi-layout="transparent-overlay"] .japi-hu-header__inner{
  grid-template-columns:minmax(120px,var(--japi-hu-logo-max-width,320px)) minmax(0,1fr) auto;
  grid-template-areas:"brand nav actions";
}
.japi-hu-shell[data-japi-layout="transparent-overlay"] .japi-hu-zone--brand{grid-area:brand}
.japi-hu-shell[data-japi-layout="transparent-overlay"] .japi-hu-zone--nav-full{grid-area:nav}
.japi-hu-shell[data-japi-layout="transparent-overlay"] .japi-hu-zone--actions{grid-area:actions}

/* Sticky normalisation: każda rodzina przechodzi w kontrolowany, kompaktowy układ. */
.japi-hu-header.is-sticky .japi-hu-header__inner{
  min-height:var(--japi-hu-sticky-height,68px);
  height:100%;
  padding-top:0;
  padding-bottom:0;
  grid-template-columns:minmax(100px,var(--japi-hu-sticky-logo-max-width,260px)) minmax(0,1fr) auto!important;
  grid-template-rows:1fr!important;
  grid-template-areas:"brand nav actions"!important;
  column-gap:var(--japi-hu-sticky-columns-gap,18px)!important;
  row-gap:0!important;
}
.japi-hu-header.is-sticky .japi-hu-zone--phone,
.japi-hu-header.is-sticky .japi-hu-zone--nav-left,
.japi-hu-header.is-sticky .japi-hu-zone--nav-right,
.japi-hu-header.is-sticky .japi-hu-zone--search,
.japi-hu-header.is-sticky .japi-hu-zone--utility{display:none!important}
.japi-hu-header.is-sticky .japi-hu-zone--brand{grid-area:brand!important;border:0!important;padding:0!important;justify-content:flex-start!important}
.japi-hu-header.is-sticky .japi-hu-zone--nav-full{grid-area:nav!important;border-top:0!important;padding-top:0!important}
.japi-hu-header.is-sticky .japi-hu-zone--actions{grid-area:actions!important;padding:0!important;justify-content:flex-end!important}
.japi-hu-header.is-sticky .japi-hu-logo{justify-content:flex-start!important}
.japi-hu-header.is-sticky .japi-hu-logo img{margin-inline:0!important}
.japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-phone{order:1}
.japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-toggle{order:2}
.japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-cta{order:3}
.japi-hu-shell[data-japi-layout="floating-card"] .japi-hu-header.is-sticky{padding:0;background:var(--japi-hu-sticky-bg,var(--japi-hu-bg,#fff))}
.japi-hu-shell[data-japi-layout="floating-card"] .japi-hu-header.is-sticky .japi-hu-header__inner{border-radius:0;border-left:0;border-right:0;background:transparent;box-shadow:none}
.japi-hu-shell[data-japi-layout="transparent-overlay"] .japi-hu-header.is-sticky{background:var(--japi-hu-sticky-bg,var(--japi-hu-bg,rgba(15,23,42,.72)));backdrop-filter:saturate(140%) blur(10px)}

@media(max-width:1500px){
  .japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-phone{display:none}
  .japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--utility{display:none}
}
@media (min-width:992px) and (max-width:1260px){
  .japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-header__inner{
    grid-template-columns:minmax(210px,1fr) minmax(160px,min(var(--japi-hu-logo-max-width,280px),280px)) minmax(210px,1fr);
    column-gap:18px;
  }
  .japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--phone .japi-hu-phone__copy{display:flex}
  .japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--phone .japi-hu-phone__copy small{font-size:min(var(--japi-hu-phone-label-font-size,11px),10px)}
  .japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--phone .japi-hu-phone__copy strong{font-size:min(var(--japi-hu-phone-number-font-size,18px),16px)}
  .japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--actions{gap:min(var(--japi-hu-header-actions-gap,14px),10px)}
  .japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-zone--actions>.japi-hu-cta{
    min-height:min(var(--japi-hu-cta-height,56px),48px);
    padding-inline:min(var(--japi-hu-cta-padding-x,24px),18px);
    font-size:min(var(--japi-hu-cta-font-size,14px),12px);
  }
}
@media(max-width:1240px){
  .japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-zone--actions>.japi-hu-cta{display:none}
  .japi-hu-shell[data-japi-layout="utility-icons"] .japi-hu-zone--utility{display:none}
  .japi-hu-shell[data-japi-layout="ecommerce-search"] .japi-hu-header__inner{grid-template-columns:minmax(140px,220px) minmax(220px,1fr) auto}
}
@media(max-width:991px){
  .japi-hu-shell[data-japi-layout]{position:relative;left:auto;right:auto;top:auto;padding-top:0}
  /* 0.6.10: transparent-overlay musi nadal leżeć nad pierwszą sekcją także
     na tablecie i smartfonie. W przeciwnym razie przezroczystość pokazywała
     jedynie tło dokumentu, a nie treść strony znajdującą się pod headerem. */
  .japi-hu-shell[data-japi-layout="transparent-overlay"]{position:absolute;left:0;right:0;top:0;z-index:1000;padding-top:0}
  .japi-hu-shell[data-japi-layout] .japi-hu-header{height:68px;min-height:68px;padding:0;background:var(--japi-hu-bg,#fff);backdrop-filter:none}
  .japi-hu-shell[data-japi-layout] .japi-hu-header__inner{
    min-height:68px;height:68px;padding:0;
    grid-template-columns:1fr auto!important;
    grid-template-rows:1fr!important;
    grid-template-areas:"brand actions"!important;
    gap:14px!important;
    border-radius:0!important;
    border-left:0!important;border-right:0!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--brand{grid-area:brand!important;border:0!important;padding:0!important;justify-content:flex-start!important}
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--actions{grid-area:actions!important;align-self:center!important}
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--nav-full,
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--nav-left,
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--nav-right,
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--search,
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--utility,
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--phone{display:none!important}
}

/* =========================================================
   JAPI STICKY FINAL OVERRIDES
   Muszą pozostać na końcu pliku, aby ustawienia sticky miały
   pierwszeństwo przed rodzinami układów i breakpointami.
   ========================================================= */
.japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--brand{
  display:var(--japi-hu-sticky-logo-display,flex)!important;
}
.japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--nav-full{
  display:var(--japi-hu-sticky-menu-display,flex)!important;
}
.japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-phone--actions:not([hidden]){
  display:var(--japi-hu-sticky-phone-display,flex)!important;
}
.japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-cta:not(.japi-hu-cta--mobile):not([hidden]){
  display:var(--japi-hu-sticky-cta-display,inline-flex)!important;
}
.japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-toggle{
  display:var(--japi-hu-sticky-burger-display,flex)!important;
}
.japi-hu-shell[data-japi-layout="centered-logo"] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-phone--actions:not([hidden]),
.japi-hu-shell[data-japi-layout="split-navigation"] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-phone--actions:not([hidden]),
.japi-hu-shell[data-japi-layout="ecommerce-search"] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-phone--actions:not([hidden]),
.japi-hu-shell[data-japi-layout="utility-icons"] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-phone--actions:not([hidden]){
  display:var(--japi-hu-sticky-phone-display,flex)!important;
}


/* 0.6.5/0.6.6: spójny header normalny i sticky na tablecie oraz smartfonie.
   Desktop powyżej 1180 px pozostaje bez zmian.
   Tablet / telefon poziomo: logo po lewej, telefon, burger i CTA po prawej.
   Telefon pionowo: logo po lewej, telefon i burger po prawej, bez CTA. */
@media(max-width:1180px){
  .japi-hu-shell[data-japi-layout] .japi-hu-topbar{display:none!important}
  .japi-hu-shell[data-japi-layout] .japi-hu-header,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky{
    height:clamp(68px,var(--japi-hu-sticky-height,68px),84px)!important;
    min-height:clamp(68px,var(--japi-hu-sticky-height,68px),84px)!important;
    max-height:clamp(68px,var(--japi-hu-sticky-height,68px),84px)!important;
    padding:0!important;
    backdrop-filter:none;
  }
  /* 0.6.10: stan bazowy i sticky korzystają z własnych zmiennych tła.
     W 0.6.5-0.6.9 wspólna reguła wymuszała sticky_bg również przed
     przewinięciem, przez co suwak krycia normalnego headera nie działał. */
  .japi-hu-shell[data-japi-layout] .japi-hu-header:not(.is-sticky){
    background:var(--japi-hu-bg,#fff);
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky{
    background:var(--japi-hu-sticky-bg,var(--japi-hu-bg,#fff));
  }
  .japi-hu-shell[data-japi-layout="transparent-overlay"] .japi-hu-header:not(.is-sticky),
  .japi-hu-shell[data-japi-layout="transparent-overlay"] .japi-hu-header.is-sticky{
    backdrop-filter:saturate(140%) blur(10px);
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-header__inner,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-header__inner{
    min-height:100%!important;
    height:100%!important;
    padding:0!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:1fr!important;
    grid-template-areas:"brand actions"!important;
    column-gap:clamp(10px,var(--japi-hu-sticky-columns-gap,18px),18px)!important;
    row-gap:0!important;
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-container{
    width:min(calc(100% - 32px),1320px);
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--brand,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--brand{
    grid-area:brand!important;
    display:flex!important;
    min-width:0!important;
    border:0!important;
    padding:0!important;
    justify-content:flex-start!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-logo,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-logo{
    width:100%;
    min-width:0;
    justify-content:flex-start!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-logo img,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-logo img{
    width:auto;
    height:auto!important;
    max-height:min(var(--japi-hu-sticky-logo-height,48px),calc(clamp(68px,var(--japi-hu-sticky-height,68px),84px) - 14px))!important;
    max-width:min(100%,var(--japi-hu-sticky-logo-max-width,260px));
    margin-inline:0!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--actions,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--actions{
    grid-area:actions!important;
    display:flex!important;
    min-width:max-content;
    align-self:center!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:clamp(8px,var(--japi-hu-sticky-actions-gap,10px),12px)!important;
    padding:0!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--nav-full,
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--nav-left,
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--nav-right,
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--search,
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--utility,
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--phone,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--nav-full,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--phone{
    display:none!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-header:not(.is-sticky) .japi-hu-zone--actions>.japi-hu-phone--actions:not([hidden]){
    display:var(--japi-hu-header-phone-display,flex)!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-phone--actions:not([hidden]){
    display:var(--japi-hu-sticky-phone-display,flex)!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--actions>.japi-hu-phone{order:1!important}
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--actions>.japi-hu-phone .japi-hu-phone__copy{display:none!important}
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--actions>.japi-hu-phone .japi-hu-phone__icon{
    width:clamp(38px,var(--japi-hu-sticky-phone-icon-box-size,40px),46px);
    height:clamp(38px,var(--japi-hu-sticky-phone-icon-box-size,40px),46px);
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--actions>.japi-hu-phone .japi-hu-phone__icon svg{
    width:clamp(15px,var(--japi-hu-sticky-phone-icon-size,17px),20px);
    height:clamp(15px,var(--japi-hu-sticky-phone-icon-size,17px),20px);
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--actions>.japi-hu-toggle,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-toggle{
    order:2!important;
    display:flex!important;
    width:clamp(38px,var(--japi-hu-sticky-burger-box-size,40px),46px)!important;
    height:clamp(38px,var(--japi-hu-sticky-burger-box-size,40px),46px)!important;
    border-radius:var(--japi-hu-burger-radius,0)!important;
    background:var(--japi-hu-burger-bg,#fff)!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--actions>.japi-hu-toggle span,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-toggle span{
    width:clamp(22px,var(--japi-hu-sticky-burger-line-width,26px),30px)!important;
    height:var(--japi-hu-burger-line-height,2px)!important;
    margin:var(--japi-hu-burger-line-gap,3px) 0!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-header:not(.is-sticky) .japi-hu-zone--actions>.japi-hu-cta:not(.japi-hu-cta--mobile):not([hidden]){
    display:inline-flex!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--actions>.japi-hu-cta:not(.japi-hu-cta--mobile):not([hidden]){
    display:var(--japi-hu-sticky-cta-display,inline-flex)!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--actions>.japi-hu-cta:not(.japi-hu-cta--mobile){
    order:3!important;
    min-height:clamp(42px,var(--japi-hu-sticky-cta-height,44px),48px)!important;
    height:clamp(42px,var(--japi-hu-sticky-cta-height,44px),48px)!important;
    padding-inline:clamp(16px,var(--japi-hu-sticky-cta-padding-x,18px),24px)!important;
    font-size:clamp(12px,var(--japi-hu-sticky-cta-font-size,13px),14px)!important;
  }
}

@media(max-width:767px){
  .japi-hu-shell[data-japi-layout] .japi-hu-header,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky{
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-container{
    width:calc(100% - 24px);
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-header__inner,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-header__inner{
    column-gap:10px!important;
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-logo img,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-logo img{
    max-height:48px!important;
    max-width:min(100%,220px);
  }
  .japi-hu-shell[data-japi-layout] .japi-hu-zone--actions,
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone--actions{
    gap:8px!important;
  }
  /* 0.6.6: twarda blokada CTA w belce telefonu pionowego.
     Selektory celowo mają wyższą specyficzność niż reguły tabletowe,
     które pokazują CTA normalne i sticky z użyciem !important. */
  .japi-hu-shell[data-japi-layout] .japi-hu-header:not(.is-sticky) .japi-hu-zone.japi-hu-zone--actions>.japi-hu-cta.japi-hu-cta--header:not(.japi-hu-cta--mobile):not([hidden]),
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone.japi-hu-zone--actions>.japi-hu-cta.japi-hu-cta--header:not(.japi-hu-cta--mobile):not([hidden]){
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

/* Firefox Responsive Design Mode oraz urządzenia raportujące osobno device-width. */
@media(max-device-width:767px){
  .japi-hu-shell[data-japi-layout] .japi-hu-header:not(.is-sticky) .japi-hu-zone.japi-hu-zone--actions>.japi-hu-cta.japi-hu-cta--header:not(.japi-hu-cta--mobile):not([hidden]),
  .japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky .japi-hu-zone.japi-hu-zone--actions>.japi-hu-cta.japi-hu-cta--header:not(.japi-hu-cta--mobile):not([hidden]){
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}



/* 0.6.11: niezależna widoczność telefonu w normalnym i sticky headerze. */
.japi-hu-shell[data-japi-layout] .japi-hu-header:not(.is-sticky)[data-japi-phone-normal-visible="0"] .japi-hu-phone,
.japi-hu-shell[data-japi-layout] .japi-hu-header.is-sticky[data-japi-phone-sticky-visible="0"] .japi-hu-phone{
  display:none!important;
}
