.japi-hu-shell{position:relative;z-index:1000;font-family:inherit;color:var(--japi-hu-menu-color,var(--japi-hu-accent));}
.japi-hu-shell *{box-sizing:border-box}
.japi-hu-container{width:min(var(--japi-hu-container-width,1740px),calc(100% - var(--japi-hu-side-space,64px)));margin:0 auto}

/* Topbar */
.japi-hu-topbar{background:var(--japi-hu-topbar-bg,#fbf4f8);color:var(--japi-hu-topbar-text,#7f7079);font-family:var(--japi-hu-topbar-font-family,inherit);font-size:var(--japi-hu-topbar-font-size,13px);font-weight:var(--japi-hu-topbar-font-weight,700);font-style:var(--japi-hu-topbar-font-style,normal);letter-spacing:.015em;border-bottom:1px solid rgba(0,0,0,.04)}
.japi-hu-topbar a{color:inherit;text-decoration:none}
.japi-hu-topbar__inner{min-height:var(--japi-hu-topbar-height,38px);display:flex;align-items:center;justify-content:space-between;gap:22px}
.japi-hu-topbar__left,.japi-hu-topbar__right,.japi-hu-topbar__item{display:flex;align-items:center;gap:10px}
.japi-hu-topbar__left,.japi-hu-topbar__right{gap:var(--japi-hu-topbar-items-gap,24px);min-width:0}
.japi-hu-topbar__item{white-space:nowrap;line-height:1.2}
.japi-hu-topbar svg{width:var(--japi-hu-topbar-icon-size,15px);height:var(--japi-hu-topbar-icon-size,15px);fill:currentColor;flex:none;color:var(--japi-hu-topbar-icon,var(--japi-hu-accent))}
.japi-hu-topbar__social{display:flex;align-items:center;gap:8px;flex:none}
.japi-hu-topbar__social a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--japi-hu-topbar-icon,var(--japi-hu-accent));background:color-mix(in srgb,var(--japi-hu-topbar-icon,var(--japi-hu-accent)) 9%,transparent);transition:color .18s ease,background-color .18s ease,transform .18s ease}
.japi-hu-topbar__social a:hover{color:#fff;background:var(--japi-hu-topbar-icon,var(--japi-hu-accent));transform:translateY(-1px)}
.japi-hu-topbar__social svg{width:14px;height:14px;color:currentColor;fill:currentColor}

/* Header główny */
.japi-hu-header{height:var(--japi-hu-height,108px);background:var(--japi-hu-bg,#fff);color:var(--japi-hu-menu-color,#4e3f49);border-bottom:var(--japi-hu-header-border-width,1px) solid var(--japi-hu-header-border-color,#eee7eb);box-shadow:var(--japi-hu-header-shadow,0 7px 18px rgba(44,30,40,.05));transition:height .22s ease,box-shadow .22s ease,background-color .22s ease}
.japi-hu-header.is-sticky{position:fixed;left:0;right:0;top:0;height:68px;box-shadow:0 12px 28px rgba(34,25,32,.12)}
.japi-hu-header__inner{height:100%;display:grid;grid-template-columns:minmax(120px,var(--japi-hu-logo-max-width,320px)) minmax(0,1fr) auto;align-items:center;gap:var(--japi-hu-header-columns-gap,24px)}

/* Logo */
.japi-hu-logo{display:flex;align-items:center;text-decoration:none;color:inherit;min-width:0}
.japi-hu-logo img{display:block;height:var(--japi-hu-logo-height,70px);width:auto;max-width:var(--japi-hu-logo-max-width,320px);max-height:calc(var(--japi-hu-height,108px) - 16px);object-fit:contain}
.japi-hu-logo img[hidden],.japi-hu-drawer__logo img[hidden]{display:none!important}
.japi-hu-header.is-sticky .japi-hu-logo img{height:min(var(--japi-hu-logo-height,70px),48px);max-height:48px}
.japi-hu-logo__mobile{display:none!important}
.japi-hu-logo__text{font-weight:500;font-size:22px;letter-spacing:.01em;color:var(--japi-hu-menu-color,#4e3f49)}

/* Menu */
.japi-hu-nav{min-width:0;align-self:stretch;display:flex;align-items:center;justify-content:center}
.japi-hu-menu,.japi-hu-submenu,.japi-hu-mobile-nav ul{list-style:none;margin:0;padding:0}
.japi-hu-menu{display:flex;align-items:center;justify-content:center;gap:var(--japi-hu-menu-gap,26px);height:100%}
.japi-hu-menu__item{position:relative;height:100%;display:flex;align-items:center}
.japi-hu-menu__item>a{position:relative;display:flex;align-items:center;min-height:46px;color:var(--japi-hu-menu-color,#4e3f49);text-decoration:none;font-family:var(--japi-hu-menu-font-family,inherit);font-weight:var(--japi-hu-menu-font-weight,800);font-size:var(--japi-hu-menu-font-size,14px);font-style:var(--japi-hu-menu-font-style,normal);line-height:1.15;letter-spacing:var(--japi-hu-menu-letter-spacing,.006em);text-transform:var(--japi-hu-menu-transform,uppercase);white-space:nowrap;transition:color .18s ease}
.japi-hu-menu__item>a:hover{color:var(--japi-hu-menu-hover-color,var(--japi-hu-accent))}
.japi-hu-menu__item.is-active>a{color:var(--japi-hu-menu-active-color,var(--japi-hu-accent))}
.japi-hu-menu>.japi-hu-menu__item>a:before{content:"";position:absolute;left:0;right:0;bottom:calc(var(--japi-hu-menu-underline-offset,15px) * -1);height:var(--japi-hu-menu-underline-height,3px);border-radius:999px;background:var(--japi-hu-menu-active-color,var(--japi-hu-accent));opacity:0;transform:scaleX(.45);transition:opacity .18s ease,transform .18s ease}
.japi-hu-menu>.japi-hu-menu__item>a:hover:before,.japi-hu-menu>.japi-hu-menu__item.is-active>a:before{opacity:1;transform:scaleX(1)}
.japi-hu-menu__item.has-children>a:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:9px;margin-top:-5px}
/* Dropdown desktop: automatyczny kontrast zgodny z paletą headera. */
.japi-hu-nav .japi-hu-submenu{position:absolute;top:calc(100% - 2px);left:0;min-width:280px;max-width:min(360px,90vw);padding:12px;background:var(--japi-hu-drawer-bg,#fff);color:var(--japi-hu-drawer-text,#202636);border:1px solid var(--japi-hu-drawer-border,rgba(32,38,54,.11));border-radius:16px;box-shadow:0 24px 60px var(--japi-hu-drawer-shadow,rgba(15,23,42,.20));opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease;z-index:1000;isolation:isolate}
.japi-hu-nav .japi-hu-submenu:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.japi-hu-menu__item:hover>.japi-hu-submenu,.japi-hu-menu__item:focus-within>.japi-hu-submenu{opacity:1;visibility:visible;transform:none}
.japi-hu-nav .japi-hu-submenu .japi-hu-menu__item{height:auto;display:block}
.japi-hu-nav .japi-hu-submenu .japi-hu-menu__item+ .japi-hu-menu__item{margin-top:3px}
.japi-hu-nav .japi-hu-submenu .japi-hu-menu__item>a{min-height:44px;padding:10px 14px;border-radius:10px;color:var(--japi-hu-drawer-text,#202636)!important;font-size:calc(var(--japi-hu-menu-font-size,14px) - 1px);line-height:1.35;letter-spacing:normal;text-transform:none;font-weight:var(--japi-hu-menu-font-weight,800);white-space:normal;transition:color .18s ease,background-color .18s ease,transform .18s ease}
.japi-hu-nav .japi-hu-submenu .japi-hu-menu__item>a:hover,.japi-hu-nav .japi-hu-submenu .japi-hu-menu__item>a:focus-visible{background:var(--japi-hu-drawer-panel-hover,rgba(32,38,54,.10));color:var(--japi-hu-drawer-accent,var(--japi-hu-accent))!important;transform:translateX(2px);outline:0}
.japi-hu-nav .japi-hu-submenu .japi-hu-menu__item.is-active>a{background:var(--japi-hu-drawer-panel,rgba(32,38,54,.055));color:var(--japi-hu-drawer-accent,var(--japi-hu-accent))!important}
.japi-hu-nav .japi-hu-submenu .japi-hu-menu__item>a:before{display:none}
.japi-hu-nav .japi-hu-submenu .japi-hu-menu__item.has-children>a:after{margin-left:auto;margin-top:0;transform:rotate(-45deg)}
.japi-hu-nav .japi-hu-submenu .japi-hu-submenu{top:-12px;left:calc(100% + 10px)}
.japi-hu-menu>.japi-hu-menu__item:nth-last-child(-n+2)>.japi-hu-submenu{left:auto;right:0}
.japi-hu-menu>.japi-hu-menu__item:nth-last-child(-n+2)>.japi-hu-submenu .japi-hu-submenu{left:auto;right:calc(100% + 10px)}

/* Akcje */
.japi-hu-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--japi-hu-header-actions-gap,14px);min-width:max-content}

/* Burger */
.japi-hu-toggle{order:1;display:flex;align-items:center;justify-content:center;flex-direction:column;width:var(--japi-hu-burger-box-size,44px);height:var(--japi-hu-burger-box-size,44px);border:0;border-radius:var(--japi-hu-burger-radius,0);background:var(--japi-hu-burger-bg,#fff);padding:0;cursor:pointer;color:var(--japi-hu-burger-color,#4e3f49)}
.japi-hu-toggle span{display:block;width:var(--japi-hu-burger-line-width,30px);height:var(--japi-hu-burger-line-height,2px);background:currentColor;margin:var(--japi-hu-burger-line-gap,3px) 0;border-radius:3px;transition:transform .18s ease,opacity .18s ease}
.japi-hu-toggle:hover{color:var(--japi-hu-burger-hover-color,var(--japi-hu-accent))}

/* Telefon */
.japi-hu-phone{order:2;display:flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap}
.japi-hu-phone__icon{display:flex;align-items:center;justify-content:center;width:var(--japi-hu-phone-icon-box-size,46px);height:var(--japi-hu-phone-icon-box-size,46px);border-radius:50%;background:var(--japi-hu-phone-icon-bg,#fff7fb);border:1px solid var(--japi-hu-phone-icon-border-color,#ead3df);color:var(--japi-hu-phone-icon-color,var(--japi-hu-accent));box-shadow:0 8px 18px rgba(160,25,91,.07);flex:none}
.japi-hu-phone__icon svg{display:block;width:var(--japi-hu-phone-icon-size,20px);height:var(--japi-hu-phone-icon-size,20px);fill:currentColor}
.japi-hu-phone__copy{display:flex;flex-direction:column;gap:4px;line-height:1}
.japi-hu-phone__copy small{display:block;color:var(--japi-hu-phone-label-color,#8f7c88);font-family:var(--japi-hu-phone-label-font-family,inherit);font-size:var(--japi-hu-phone-label-font-size,11px);font-weight:var(--japi-hu-phone-label-font-weight,800);font-style:var(--japi-hu-phone-label-font-style,normal);letter-spacing:.08em;text-transform:uppercase}
.japi-hu-phone__copy strong{display:block;color:var(--japi-hu-phone-number-color,var(--japi-hu-accent));font-family:var(--japi-hu-phone-number-font-family,inherit);font-size:var(--japi-hu-phone-number-font-size,18px);font-weight:var(--japi-hu-phone-number-font-weight,900);font-style:var(--japi-hu-phone-number-font-style,normal);line-height:1.05;letter-spacing:.04em}

/* CTA */
.japi-hu-cta{order:3;display:inline-flex;align-items:center;justify-content:center;min-height:var(--japi-hu-cta-height,56px);padding:0 var(--japi-hu-cta-padding-x,24px);border-radius:var(--japi-hu-cta-radius,12px);background:var(--japi-hu-cta-background,var(--japi-hu-cta-bg,var(--japi-hu-accent)));color:var(--japi-hu-cta-text-color,#fff)!important;text-decoration:none;font-family:var(--japi-hu-cta-font-family,inherit);font-weight:var(--japi-hu-cta-font-weight,900);font-size:var(--japi-hu-cta-font-size,14px);font-style:var(--japi-hu-cta-font-style,normal);letter-spacing:.06em;text-transform:var(--japi-hu-cta-transform,uppercase);white-space:nowrap;box-shadow:0 12px 24px rgba(160,25,91,.16);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.japi-hu-cta:hover{transform:translateY(-1px);background:var(--japi-hu-cta-hover-background,var(--japi-hu-cta-hover-bg,#86134c));box-shadow:0 14px 28px rgba(160,25,91,.20)}

/* Automatyczna paleta offcanvasu zależna od tła headera. */
.japi-hu-shell.is-drawer-light{--japi-hu-drawer-text:#202636;--japi-hu-drawer-muted:rgba(32,38,54,.68);--japi-hu-drawer-panel:rgba(32,38,54,.055);--japi-hu-drawer-panel-hover:rgba(32,38,54,.10);--japi-hu-drawer-border:rgba(32,38,54,.11);--japi-hu-drawer-shadow:rgba(15,23,42,.20)}
.japi-hu-shell.is-drawer-dark{--japi-hu-drawer-text:#f8fafc;--japi-hu-drawer-muted:rgba(255,255,255,.72);--japi-hu-drawer-panel:rgba(255,255,255,.08);--japi-hu-drawer-panel-hover:rgba(255,255,255,.15);--japi-hu-drawer-border:rgba(255,255,255,.14);--japi-hu-drawer-shadow:rgba(0,0,0,.42)}

/* Offcanvas */
.japi-hu-overlay{position:fixed;inset:0;background:rgba(8,10,18,.56);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;z-index:10020}
.japi-hu-drawer{position:fixed;top:0;right:0;width:min(430px,92vw);height:100dvh;padding:24px;overflow:auto;overscroll-behavior:contain;background:var(--japi-hu-drawer-bg,var(--japi-hu-bg,#fff));color:var(--japi-hu-drawer-text,#202636);z-index:10030;transform:translateX(105%);transition:transform .25s ease;box-shadow:-22px 0 48px var(--japi-hu-drawer-shadow,rgba(0,0,0,.20))}
body.japi-hu-open{overflow:hidden}
body.japi-hu-open .japi-hu-overlay{opacity:1;visibility:visible}
body.japi-hu-open .japi-hu-drawer{transform:none}
.japi-hu-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--japi-hu-drawer-border,rgba(32,38,54,.11))}
.japi-hu-drawer__logo{display:flex;min-width:0;align-items:center;color:var(--japi-hu-drawer-text,#202636);font-weight:900;text-decoration:none}
.japi-hu-drawer__logo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.japi-hu-drawer__logo img{display:block;max-width:210px;max-height:70px;object-fit:contain}
.japi-hu-close{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border:1px solid var(--japi-hu-drawer-border,rgba(32,38,54,.11));border-radius:12px;background:var(--japi-hu-drawer-panel,rgba(32,38,54,.055));color:var(--japi-hu-drawer-accent,var(--japi-hu-accent));font-size:32px;line-height:1;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.japi-hu-close:hover{background:var(--japi-hu-drawer-panel-hover,rgba(32,38,54,.10));color:var(--japi-hu-drawer-text,#202636)}
.japi-hu-mobile-nav{padding:18px 0}
.japi-hu-mobile-nav .japi-hu-menu__item{display:block;height:auto;border-bottom:1px solid var(--japi-hu-drawer-border,rgba(32,38,54,.11))}
.japi-hu-mobile-nav .japi-hu-menu__item>a{min-height:54px;padding:5px 0;color:var(--japi-hu-drawer-text,#202636);font-size:16px;letter-spacing:.05em}
.japi-hu-mobile-nav .japi-hu-menu__item>a:hover,.japi-hu-mobile-nav .japi-hu-menu__item.is-active>a{color:var(--japi-hu-drawer-accent,var(--japi-hu-accent))}
.japi-hu-mobile-nav .japi-hu-menu__item>a:before{display:none}
.japi-hu-mobile-nav .has-children{display:grid;grid-template-columns:1fr 44px}
.japi-hu-mobile-nav .has-children>a{grid-column:1}
.japi-hu-subtoggle{grid-column:2;grid-row:1;width:40px;height:40px;align-self:center;border:1px solid var(--japi-hu-drawer-border,rgba(32,38,54,.11));border-radius:10px;background:var(--japi-hu-drawer-panel,rgba(32,38,54,.055));color:var(--japi-hu-drawer-accent,var(--japi-hu-accent));font-size:22px;cursor:pointer}
.japi-hu-mobile-nav .japi-hu-submenu{grid-column:1/-1;position:static;display:none;min-width:0;padding:0 0 10px 18px;border:0;border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none}
.japi-hu-mobile-nav .is-open>.japi-hu-submenu{display:block}
.japi-hu-mobile-nav .japi-hu-submenu .japi-hu-menu__item>a{color:var(--japi-hu-drawer-muted,var(--japi-hu-drawer-text,#202636))}
.japi-hu-mobile-nav .japi-hu-submenu .japi-hu-menu__item>a:hover{background:var(--japi-hu-drawer-panel,rgba(32,38,54,.055));color:var(--japi-hu-drawer-accent,var(--japi-hu-accent))}
.japi-hu-drawer__contact{display:grid;gap:12px;padding:18px;border:1px solid var(--japi-hu-drawer-border,rgba(32,38,54,.11));border-radius:16px;background:var(--japi-hu-drawer-panel,rgba(32,38,54,.055))}
.japi-hu-drawer__contact a,.japi-hu-drawer__contact span{display:flex;min-width:0;align-items:center;gap:10px;color:var(--japi-hu-drawer-text,#202636);text-decoration:none;font-weight:750}
.japi-hu-drawer__contact a>span,.japi-hu-drawer__contact span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.japi-hu-drawer__contact svg{width:15px;height:15px;flex:none;fill:currentColor;color:var(--japi-hu-drawer-accent,var(--japi-hu-accent))}
.japi-hu-cta--mobile{width:100%;margin-top:16px;min-height:56px}
.japi-hu-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.japi-hu-social a{display:flex;flex:1 1 calc((100% - 20px)/3);min-width:0;align-items:center;justify-content:center;gap:7px;padding:11px 7px;border:1px solid var(--japi-hu-drawer-border,rgba(32,38,54,.11));border-radius:10px;background:var(--japi-hu-drawer-panel,rgba(32,38,54,.055));color:var(--japi-hu-drawer-text,#202636);text-decoration:none;font-size:13px;font-weight:800;line-height:1.15;white-space:nowrap;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.japi-hu-social a[hidden]{display:none!important}
.japi-hu-social a span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.japi-hu-social a:hover{border-color:var(--japi-hu-drawer-accent,var(--japi-hu-accent));background:var(--japi-hu-drawer-accent,var(--japi-hu-accent));color:#fff}
.japi-hu-social svg{width:16px;height:16px;flex:none;fill:currentColor}
@media(max-width:380px){.japi-hu-social{gap:6px}.japi-hu-social a{flex-basis:calc((100% - 12px)/3);gap:5px;padding:10px 4px;font-size:11.5px}.japi-hu-social svg{width:14px;height:14px}}

@media(max-width:1500px){
  .japi-hu-container{width:calc(100% - 48px)}
  .japi-hu-header__inner{grid-template-columns:minmax(160px,var(--japi-hu-logo-max-width,320px)) minmax(0,1fr) auto;gap:min(var(--japi-hu-header-columns-gap,24px),20px)}
}
@media(max-width:1240px){
  .japi-hu-phone__copy{display:none}
  .japi-hu-menu{gap:min(var(--japi-hu-menu-gap,26px),16px)}
  .japi-hu-cta{font-size:min(var(--japi-hu-cta-font-size,14px),12px);min-height:min(var(--japi-hu-cta-height,56px),48px)}
}
@media(max-width:991px){
  .japi-hu-topbar{display:none}
  .japi-hu-header{height:68px}
  .japi-hu-header__inner{grid-template-columns:1fr auto}
  .japi-hu-nav,.japi-hu-phone,.japi-hu-actions>.japi-hu-cta{display:none}
  .japi-hu-actions{display:flex}
  .japi-hu-toggle{display:flex;width:44px;height:44px;background:transparent}
  .japi-hu-toggle span{width:30px;height:2px;margin:3px 0}
  .japi-hu-logo__desktop{display:none!important}
  .japi-hu-logo__mobile{display:block!important}
  .japi-hu-logo img{height:auto;max-height:48px;max-width:220px}
  .japi-hu-container{width:min(100% - 28px,1320px)}
}
@media(max-width:560px){
  .japi-hu-container{width:calc(100% - 24px)}
  .japi-hu-drawer{padding:18px}
  .japi-hu-logo img{max-width:220px}
  .japi-hu-toggle{width:46px;height:46px}
}
