/**
 * Infology Header Frontend — Responsive + WCAG 2.1 AA
 *
 * Breakpoints:
 *   Desktop: >1024px
 *   Tablet:  768–1024px
 *   Mobile:  <768px
 *
 * WCAG: skip link, focus rings, contrast, reduced motion,
 *       touch targets ≥44px, aria attributes
 */

/* ═══ SKIP LINK ═══ */
.ifh-skip{
    position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:100010;
    padding:12px 24px;background:var(--ifh-primary,#2563eb);color:#fff;font-weight:600;font-size:14px;text-decoration:none;border-radius:0 0 8px 0;
}
.ifh-skip:focus{left:0;top:0;width:auto;height:auto;overflow:visible;outline:3px solid var(--ifh-primary,#2563eb);outline-offset:2px;}

/* ═══ HEADER SHELL ═══ */
.ifh{position:relative;z-index:1000;background:var(--ifh-bg,#fff);color:var(--ifh-text,#1e293b);font-family:system-ui,-apple-system,sans-serif;line-height:1.5;}
.ifh--sticky{position:sticky;top:0;}
.ifh--sticky.ifh--scrolled{box-shadow:0 2px 12px rgba(0,0,0,.08);}

/* ═══ CONTAINER ═══ */
.ifh-container{max-width:1320px;margin:0 auto;padding:0 24px;}

/* ═══ TOPBAR ═══ */
.ifh-topbar{background:var(--ifh-topbar-bg,#1e293b);color:#fff;font-size:13px;padding:6px 0;}
.ifh-topbar__items{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;}
.ifh-topbar__text{opacity:.92;}

/* ═══ MAIN ═══ */
.ifh-main{padding:0;border-bottom:1px solid rgba(0,0,0,.06);}
.ifh-nav{display:flex;align-items:center;min-height:var(--ifh-height,80px);}

/* ═══ COLUMNS ═══ */
.ifh-cols{display:flex;align-items:center;gap:16px;width:100%;flex-wrap:nowrap;}
.ifh-col{display:flex;align-items:center;gap:12px;flex:1 1 0%;min-width:0;overflow:visible;}
.ifh-col--center{justify-content:center;}
.ifh-col--end{justify-content:flex-end;}
.ifh-col--grow{flex:1 1 0%;min-width:0;}

/* ═══ STACK ═══ */
.ifh-stack{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:14px;}

/* ═══ LOGO ═══ */
.ifh-logo{display:inline-flex;align-items:center;text-decoration:none;color:inherit;flex-shrink:1;min-width:0;max-width:100%;transition:opacity .2s;}
.ifh-logo:hover{opacity:.8;}
.ifh-logo:focus-visible{outline:3px solid var(--ifh-primary,#2563eb);outline-offset:4px;border-radius:4px;}
.ifh-logo img{display:block;max-width:100%;}
.ifh-logo__text{font-size:20px;font-weight:700;letter-spacing:-.02em;}

/* ═══ DESKTOP MENU ═══ */
.ifh-menu-wrap{flex:1;min-width:0;}
.ifh-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px;}
.ifh-menu--center{justify-content:center;}
.ifh-menu--right{justify-content:flex-end;}
.ifh-menu li{position:relative;}
.ifh-menu>li>a{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;font-size:15px;font-weight:600;color:var(--ifh-text,#1e293b);text-decoration:none;border-radius:6px;transition:background .15s,color .15s;min-height:44px;}
.ifh-menu--light>li>a{font-weight:400;}
.ifh-menu>li>a:hover,.ifh-menu>li>a:focus-visible{background:rgba(0,0,0,.05);color:var(--ifh-primary,#2563eb);}
.ifh-menu>li>a:focus-visible{outline:3px solid var(--ifh-primary,#2563eb);outline-offset:-2px;}
.ifh-menu>li.current-menu-item>a,.ifh-menu>li.current-menu-ancestor>a{color:var(--ifh-primary,#2563eb);}

/* Dropdown */
.ifh-menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.1);padding:8px 0;min-width:220px;z-index:100;list-style:none;margin:0;}
.ifh-menu li:hover>.sub-menu,.ifh-menu li:focus-within>.sub-menu{display:block;animation:ifh-dd .2s ease;}
.ifh-menu .sub-menu a{display:block;padding:10px 20px;font-size:14px;font-weight:400;color:var(--ifh-text,#1e293b);text-decoration:none;transition:background .15s,color .15s;}
.ifh-menu .sub-menu a:hover,.ifh-menu .sub-menu a:focus-visible{background:rgba(0,0,0,.04);color:var(--ifh-primary,#2563eb);}
.ifh-menu .sub-menu a:focus-visible{outline:2px solid var(--ifh-primary,#2563eb);outline-offset:-2px;}
.ifh-menu .sub-menu .sub-menu{top:0;left:100%;border-radius:10px;}

/* Pills style */
.ifh-menu-wrap[data-style="pills"] .ifh-menu>li>a{border-radius:100px;padding:6px 16px;}
.ifh-menu-wrap[data-style="pills"] .ifh-menu>li.current-menu-item>a{background:var(--ifh-primary,#2563eb);color:#fff;}

/* Underline style */
.ifh-menu-wrap[data-style="underline"] .ifh-menu>li>a{border-radius:0;border-bottom:2px solid transparent;padding:8px 14px 6px;}
.ifh-menu-wrap[data-style="underline"] .ifh-menu>li>a:hover,.ifh-menu-wrap[data-style="underline"] .ifh-menu>li.current-menu-item>a{border-bottom-color:var(--ifh-primary,#2563eb);}

@keyframes ifh-dd{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

/* ═══ SEARCH ═══ */
.ifh-search{position:relative;display:flex;align-items:center;width:100%;min-width:0;max-width:100%;}
.ifh-search__form{display:flex;align-items:center;background:#f1f5f9;border-radius:100px;overflow:hidden;transition:width .3s;min-width:0;max-width:100%;}
.ifh-search__form--hidden{width:0;overflow:hidden;opacity:0;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);}
.ifh-search__form--hidden.ifh-search--open{width:min(280px,60vw);opacity:1;pointer-events:auto;}
.ifh-search__input{border:none;background:transparent;padding:10px 16px;font-size:14px;outline:none;width:100%;min-width:0;color:var(--ifh-text,#1e293b);}
.ifh-search__input::placeholder{color:#94a3b8;}
.ifh-search__input:focus{box-shadow:inset 0 0 0 2px var(--ifh-primary,#2563eb);border-radius:100px;}
.ifh-search__btn{border:none;background:transparent;cursor:pointer;padding:10px 14px;color:#64748b;display:flex;align-items:center;min-width:44px;min-height:44px;justify-content:center;}
.ifh-search__btn:hover{color:var(--ifh-primary,#2563eb);}
.ifh-search__btn:focus-visible{outline:3px solid var(--ifh-primary,#2563eb);outline-offset:-2px;border-radius:100px;}
.ifh-search__toggle{border:none;background:transparent;cursor:pointer;padding:8px;color:var(--ifh-text,#1e293b);display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:50%;transition:background .15s;}
.ifh-search__toggle:hover{background:rgba(0,0,0,.05);}
.ifh-search__toggle:focus-visible{outline:3px solid var(--ifh-primary,#2563eb);outline-offset:2px;}

/* ═══ ICONS (cart, account, wishlist) ═══ */
.ifh-icon{display:inline-flex;align-items:center;gap:6px;padding:8px;color:var(--ifh-text,#1e293b);text-decoration:none;border-radius:50%;transition:background .15s,color .15s;position:relative;min-width:44px;min-height:44px;justify-content:center;}
.ifh-icon:hover{background:rgba(0,0,0,.05);color:var(--ifh-primary,#2563eb);}
.ifh-icon:focus-visible{outline:3px solid var(--ifh-primary,#2563eb);outline-offset:2px;}
.ifh-icon__label{font-size:13px;font-weight:500;}
.ifh-badge{position:absolute;top:2px;right:2px;background:var(--ifh-primary,#2563eb);color:#fff;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;}

/* ═══ BUTTON ═══ */
.ifh-text{font-size:14px;white-space:nowrap;}
.ifh-text__icon{display:inline-flex;flex-shrink:0;}
.ifh-text[data-anim="typewriter"] .ifh-text__content::after{content:'|';animation:ifh-blink .8s step-end infinite;margin-left:1px;}
.ifh-text[data-anim="marquee"]{overflow:hidden;max-width:100%;}
.ifh-text[data-anim="marquee"] .ifh-text__content{display:inline-block;white-space:nowrap;}
@keyframes ifh-blink{0%,100%{opacity:1}50%{opacity:0}}
.ifh-btn{display:inline-flex;align-items:center;padding:10px 24px;font-size:14px;font-weight:600;text-decoration:none;border-radius:8px;transition:opacity .15s,transform .1s;min-height:44px;white-space:nowrap;cursor:pointer;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.ifh-btn:active{transform:scale(.97);}
.ifh-btn:focus-visible{outline:3px solid var(--ifh-primary,#2563eb);outline-offset:3px;}
.ifh-btn--primary{background:var(--btn-bg,var(--ifh-primary,#2563eb));color:var(--btn-color,#fff);}
.ifh-btn--primary:hover{opacity:.9;}
.ifh-btn--outline{background:transparent;color:var(--btn-color,var(--ifh-primary,#2563eb));border:2px solid currentColor;}
.ifh-btn--outline:hover{background:var(--ifh-primary,#2563eb);color:#fff;border-color:var(--ifh-primary,#2563eb);}
.ifh-btn--ghost{background:transparent;color:var(--btn-color,var(--ifh-primary,#2563eb));}
.ifh-btn--ghost:hover{background:rgba(0,0,0,.04);}

/* ═══ TEXT, LINK, PHONE, ADDRESS ═══ */
.ifh-text{font-size:14px;}
.ifh-link{font-size:14px;color:var(--ifh-primary,#2563eb);text-decoration:none;transition:opacity .15s;}
.ifh-link:hover{text-decoration:underline;}
.ifh-link:focus-visible{outline:3px solid var(--ifh-primary);outline-offset:2px;border-radius:2px;}
.ifh-phone,.ifh-address{display:inline-flex;align-items:center;gap:6px;font-size:14px;text-decoration:none;color:inherit;white-space:nowrap;}
.ifh-phone:hover{color:var(--ifh-primary,#2563eb);}
.ifh-phone:focus-visible,.ifh-address:focus-visible{outline:3px solid var(--ifh-primary);outline-offset:2px;border-radius:2px;}
.ifh-divider{display:inline-block;width:1px;flex-shrink:0;}
.ifh-spacer{display:inline-block;flex-shrink:0;}

/* ═══ SOCIAL ═══ */
.ifh-social{display:flex;align-items:center;gap:4px;}
.ifh-social__link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:inherit;text-decoration:none;transition:background .15s,color .15s;}
.ifh-social__link:hover{background:rgba(0,0,0,.06);color:var(--ifh-primary,#2563eb);}
.ifh-social__link:focus-visible{outline:3px solid var(--ifh-primary);outline-offset:2px;}
.ifh-social--filled .ifh-social__link{background:var(--ifh-primary,#2563eb);color:#fff;}
.ifh-social--filled .ifh-social__link:hover{opacity:.85;}
.ifh-social--outline .ifh-social__link{border:1.5px solid currentColor;}

/* ═══ CATEGORIES WIDGET ═══ */
.ifh-categories{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.ifh-categories__item{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--ifh-cat-bg,#f1f5f9);color:var(--ifh-cat-color,var(--ifh-text,#1e293b));border-radius:100px;font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s;}
.ifh-categories__item:hover,.ifh-categories__item:focus-visible{background:var(--ifh-cat-hover-bg,rgba(0,0,0,.08));color:var(--ifh-cat-hover-color,var(--ifh-primary,#2563eb));}
.ifh-categories__item:focus-visible{outline:3px solid var(--ifh-primary,#2563eb);outline-offset:2px;}
.ifh-categories__item--active{background:var(--ifh-cat-active-bg,var(--ifh-primary,#2563eb));color:var(--ifh-cat-active-color,#fff);}
.ifh-categories__item--active:hover{opacity:.9;}
.ifh-categories__icon{display:inline-flex;align-items:center;flex-shrink:0;color:var(--ifh-cat-icon,currentColor);}
.ifh-categories__icon svg{display:block;}
.ifh-categories__count{font-size:11px;opacity:.6;}
.ifh-categories__desc{font-size:11px;opacity:.7;white-space:normal;text-align:center;}
/* ── Horizontal ── */
.ifh-categories--horizontal{flex-wrap:wrap;}
.ifh-categories--bar .ifh-categories__item{border-radius:0;border-bottom:2px solid transparent;background:transparent;}
.ifh-categories--bar .ifh-categories__item:hover,.ifh-categories--bar .ifh-categories__item--active{background:transparent;border-bottom-color:var(--ifh-cat-active-bg,var(--ifh-primary,#2563eb));color:var(--ifh-cat-active-bg,var(--ifh-primary,#2563eb));}
.ifh-categories--underline .ifh-categories__item{background:transparent;padding:6px 10px;border-bottom:2px solid transparent;border-radius:0;}
.ifh-categories--underline .ifh-categories__item:hover,.ifh-categories--underline .ifh-categories__item--active{background:transparent;border-bottom-color:var(--ifh-cat-active-bg,var(--ifh-primary,#2563eb));color:var(--ifh-cat-active-bg,var(--ifh-primary,#2563eb));}
.ifh-categories--boxed .ifh-categories__item{border-radius:6px;border:1.5px solid var(--ifh-cat-border,rgba(0,0,0,.12));}
.ifh-categories--boxed .ifh-categories__item--active{border-color:var(--ifh-cat-active-bg,var(--ifh-primary,#2563eb));}
.ifh-categories__cell{position:relative;}
.ifh-categories__arrow{margin-left:2px;opacity:.5;}
.ifh-categories__sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.1);padding:8px 0;min-width:200px;z-index:9999;list-style:none;margin:0;}
.ifh-categories__cell--has-sub:hover .ifh-categories__sub-menu,.ifh-categories__cell--has-sub:focus-within .ifh-categories__sub-menu{display:block;animation:ifh-dd .2s ease;}
.ifh-categories__sub-menu .ifh-categories__item{border-radius:0;padding:9px 18px;background:transparent;white-space:nowrap;width:100%;}
.ifh-categories__sub-menu .ifh-categories__item:hover{background:rgba(0,0,0,.04);}
/* ── Dropdown ── */
.ifh-categories--dropdown{position:relative;}
/* Gdy kolumna zawiera full-height — zrób łańcuch stretch (musi być !important bo PHP generuje inline align-items:center!important) */
.ifh-nav:has(.ifh-categories--full-height) .ifh-cols{align-items:stretch!important;}
.ifh-col:has(.ifh-categories--full-height){align-self:stretch!important;align-items:stretch!important;}
.ifh-categories--full-height{align-self:stretch!important;display:flex!important;align-items:stretch!important;}
.ifh-categories--full-height .ifh-categories__toggle{flex:1;min-height:unset!important;height:100%;border-radius:0;}
.ifh-categories__toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 16px;background:var(--ifh-cat-bg,#f1f5f9);color:var(--ifh-cat-btn-color,var(--ifh-cat-color,var(--ifh-text,#1e293b)));border:1px solid var(--ifh-cat-border,rgba(0,0,0,.08));border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s;min-height:44px;white-space:nowrap;}
.ifh-categories__btn-icon{flex-shrink:0;display:block;}
.ifh-categories__btn-label{flex-shrink:0;}
.ifh-categories__arrow-icon{flex-shrink:0;opacity:.6;transition:transform .2s;}
.ifh-categories--dropdown[data-open="true"] .ifh-categories__arrow-icon,.ifh-categories--mega-dropdown[data-open="true"] .ifh-categories__arrow-icon{transform:rotate(180deg);}
.ifh-categories--dropdown .ifh-categories__toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:var(--ifh-cat-bg,#f1f5f9);color:var(--ifh-cat-btn-color,var(--ifh-cat-color,var(--ifh-text,#1e293b)));border:1px solid var(--ifh-cat-border,rgba(0,0,0,.08));border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;min-height:44px;}
.ifh-categories--dropdown .ifh-categories__toggle:hover{background:var(--ifh-cat-hover-bg,rgba(0,0,0,.06));}
.ifh-categories--dropdown .ifh-categories__toggle:focus-visible{outline:3px solid var(--ifh-primary,#2563eb);outline-offset:2px;}
.ifh-categories--dropdown .ifh-categories__dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.1);padding:8px 0;min-width:220px;z-index:9999;list-style:none;margin:0;}
.ifh-categories--dropdown[data-open="true"] .ifh-categories__dropdown{display:block;animation:ifh-dd .2s ease;}
.ifh-categories--dropdown .ifh-categories__item{border-radius:0;padding:10px 20px;background:transparent;font-size:14px;display:flex;width:100%;}
.ifh-categories--dropdown .ifh-categories__item:hover{background:var(--ifh-cat-hover-bg,rgba(0,0,0,.04));color:var(--ifh-cat-hover-color,var(--ifh-primary,#2563eb));}
.ifh-categories--dropdown .ifh-categories__item--active{background:rgba(0,0,0,.04);color:var(--ifh-cat-active-bg,var(--ifh-primary,#2563eb));font-weight:600;}
.ifh-categories--dropdown .ifh-categories__dropdown>li{position:relative;}
.ifh-categories--dropdown .ifh-categories__item--has-sub{justify-content:space-between;}
.ifh-categories__dropdown-sub{display:none;position:absolute;top:0;left:100%;list-style:none;margin:0;padding:8px 0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.1);min-width:200px;z-index:10000;}
.ifh-categories--dropdown .ifh-categories__dropdown>li:hover>.ifh-categories__dropdown-sub,.ifh-categories--dropdown .ifh-categories__dropdown>li:focus-within>.ifh-categories__dropdown-sub{display:block;animation:ifh-dd .15s ease;}
.ifh-categories__dropdown-sub .ifh-categories__item{padding:9px 20px;font-size:13px;width:100%;border-radius:0;background:transparent;white-space:nowrap;}
.ifh-categories__dropdown-sub .ifh-categories__item:hover{background:var(--ifh-cat-hover-bg,rgba(0,0,0,.04));color:var(--ifh-cat-hover-color,var(--ifh-primary,#2563eb));}
/* ── Mega menu ── */
.ifh-categories--mega{position:relative;}
/* Panel — wspólne */
.ifh-categories__mega-panel{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.12);padding:var(--ifh-mega-pad,28px);}
.ifh-categories__mega-grid{display:grid;grid-template-columns:repeat(var(--ifh-mega-cols,4),1fr);gap:var(--ifh-mega-gap,32px);}
/* Divider między kolumnami */
.ifh-categories--mega-divider .ifh-categories__mega-col{border-right:1px solid rgba(0,0,0,.07);padding-right:var(--ifh-mega-gap,32px);}
.ifh-categories--mega-divider .ifh-categories__mega-col:last-child{border-right:none;padding-right:0;}
/* Nagłówek kategorii */
.ifh-categories__mega-header{display:flex;align-items:center;gap:8px;font-size:var(--ifh-mega-hdr-size,13px);font-weight:700;color:var(--ifh-cat-color,#1e293b);text-decoration:none;letter-spacing:.03em;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--ifh-cat-accent,var(--ifh-primary,#16a34a));transition:color .15s;}
.ifh-categories__mega-header:hover{color:var(--ifh-cat-hover-color,var(--ifh-primary,#16a34a));}
.ifh-categories__mega-header .ifh-categories__icon{flex-shrink:0;color:var(--ifh-cat-accent,var(--ifh-primary,#16a34a));}
.ifh-categories__mega-header .ifh-categories__icon svg{color:inherit;stroke:currentColor;}
/* Lista podkategorii */
.ifh-categories__mega-subs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.ifh-categories__mega-sub{display:flex;align-items:center;gap:6px;font-size:var(--ifh-mega-sub-size,13px);color:var(--ifh-cat-color,#475569);text-decoration:none;padding:5px 0;transition:color .15s;}
.ifh-categories__mega-sub:hover{color:var(--ifh-cat-hover-color,var(--ifh-primary,#16a34a));}
.ifh-categories__mega-sub.ifh-categories__item--active{color:var(--ifh-cat-active-color,var(--ifh-primary,#16a34a));font-weight:600;}
.ifh-categories__mega-sub .ifh-categories__count{font-size:.85em;opacity:.55;margin-left:auto;}
/* Tryb inline — panel zawsze widoczny */
.ifh-categories--mega-inline .ifh-categories__mega-panel{box-shadow:none;border-radius:0;border:none;}
/* Tryb dropdown — panel (top/width/left ustawiany przez JS) */
.ifh-categories--mega-dropdown .ifh-categories__mega-panel{display:none;position:fixed;left:0;width:100vw;z-index:9998;border-radius:0;border-left:none;border-right:none;border-top:none;}
.ifh-categories--mega-dropdown[data-open="true"] .ifh-categories__mega-panel{display:block;animation:ifh-dd .2s ease;}
/* Konkretna szerokość — zaokrąglone rogi, cień */
.ifh-categories--mega-fixed-w .ifh-categories__mega-panel{border-radius:12px!important;border:1px solid rgba(0,0,0,.08)!important;}
/* Wewnętrzny kontener — padding, bez max-width (szerokość kontrolowana przez JS) */
.ifh-categories__mega-panel-inner{padding:0;}
/* ── Mega split layout ── */
.ifh-categories__mega-split{display:grid;gap:var(--ifh-mega-gap,32px);align-items:stretch;}
/* Siatka kategorii wewnątrz splitu używa swoich kolumn */
.ifh-categories__mega-split .ifh-categories__mega-grid{grid-template-columns:repeat(var(--ifh-mega-cols,3),1fr);}
/* ── Banner boczny — karta produktu ── */
.ifh-categories__mega-banner{
    display:flex;flex-direction:column;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
    border:1px solid rgba(0,0,0,.06);
    min-height:0;
    align-self:stretch;
}

/* Zdjęcie — pełna szerokość, proporcje 4:3 */
.ifh-categories__mega-banner-product-link{
    display:block;overflow:hidden;flex-shrink:0;
    aspect-ratio:4/3;
    background:#f8fafc;
}
.ifh-categories__mega-banner-product-link img{
    width:100%;height:100%;object-fit:contain;
    object-position:center;
    display:block;
    padding:12px;
    box-sizing:border-box;
    transition:transform .35s ease;
}
.ifh-categories__mega-banner-product-link:hover img{transform:scale(1.04);}

/* Zdjęcie (typ image) */
.ifh-categories__mega-banner-img--full{
    width:100%;height:100%;object-fit:cover;display:block;
}
.ifh-categories__mega-banner-img-link{
    display:block;overflow:hidden;aspect-ratio:4/3;background:#f8fafc;
}
.ifh-categories__mega-banner-img-link img{
    width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s;
}
.ifh-categories__mega-banner-img-link:hover img{transform:scale(1.04);}

/* Body — info o produkcie */
.ifh-categories__mega-banner-body{
    padding:14px 16px;
    display:flex;flex-direction:column;gap:8px;flex:1;
}
.ifh-categories__mega-banner-title{
    font-size:14px;font-weight:700;
    color:#1e293b;
    text-decoration:none;line-height:1.4;display:block;
}
.ifh-categories__mega-banner-title:hover{color:var(--ifh-primary,#16a34a);}
.ifh-categories__mega-banner-price{margin:0;}
.ifh-categories__mega-banner-price .woocommerce-Price-amount{
    font-size:22px;font-weight:800;
    color:var(--ifh-primary,#16a34a);
    letter-spacing:-.02em;
}

/* Przycisk Do koszyka */
.ifh-categories__mega-banner-btn{
    display:flex;align-items:center;justify-content:center;gap:6px;
    padding:10px 16px;margin-top:auto;
    border-radius:8px;font-size:13px;font-weight:600;
    text-decoration:none;
    background:var(--ifh-primary,#16a34a);
    color:#fff;
    transition:filter .15s,transform .1s;
    border:none;cursor:pointer;
    width:100%;box-sizing:border-box;
    text-align:center;
}
.ifh-categories__mega-banner-btn:hover{
    filter:brightness(.9);transform:translateY(-1px);color:#fff;
}
.ifh-categories__mega-banner-btn:active{transform:translateY(0);}

/* ── Zegar odliczający ── */
.ifh-mega-countdown{
    margin:0 0 4px;
    padding:10px 12px;
    background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);
    border:1px solid #bbf7d0;
    border-radius:8px;
    display:flex;flex-direction:column;gap:6px;
}
.ifh-mega-countdown__label{
    font-size:10px;font-weight:700;
    text-transform:uppercase;letter-spacing:.08em;
    color:#166534;
}
.ifh-mega-countdown__digits{
    display:flex;align-items:flex-start;gap:2px;
}
.ifh-mega-countdown__unit{
    display:flex;flex-direction:column;align-items:center;
    background:#fff;border-radius:6px;
    padding:4px 6px;min-width:38px;
    box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.ifh-mega-countdown__unit b{
    font-size:22px;font-weight:800;line-height:1;
    color:var(--ifh-primary,#16a34a);
    font-variant-numeric:tabular-nums;
    letter-spacing:-.02em;
}
.ifh-mega-countdown__unit small{
    font-size:8px;font-weight:600;
    text-transform:uppercase;letter-spacing:.06em;
    color:#6b7280;margin-top:2px;
}
.ifh-mega-countdown__sep{
    font-size:20px;font-weight:700;
    color:var(--ifh-primary,#16a34a);
    line-height:1;padding:5px 1px 0;
    align-self:flex-start;
}
.ifh-mega-countdown--expired .ifh-mega-countdown__unit b{color:#9ca3af;}
.ifh-mega-countdown--expired .ifh-mega-countdown__sep{color:#9ca3af;}

/* ── Banner dolny — układ poziomy ── */
.ifh-categories__mega-banner--bottom{
    flex-direction:row!important;
    min-height:auto!important;
    align-items:center;gap:16px;
    padding:12px 20px;
}
.ifh-categories__mega-banner--bottom .ifh-categories__mega-banner-img-link{
    flex:0 0 auto;width:100px;height:64px;border-radius:8px;
}
.ifh-categories__mega-banner--bottom .ifh-categories__mega-banner-product-link img{
    width:100px;height:64px;object-fit:cover;border-radius:8px;
}
.ifh-categories__mega-banner--bottom .ifh-categories__mega-banner-img--full{
    width:100px;height:64px;border-radius:8px;object-fit:cover;
}
.ifh-categories__mega-banner--bottom .ifh-categories__mega-banner-body{flex:1;min-width:0;padding:0 12px;}
.ifh-categories__mega-banner--bottom .ifh-categories__mega-banner-title{font-size:13px;}
.ifh-categories__mega-banner--bottom .ifh-categories__mega-banner-price .woocommerce-Price-amount{font-size:14px;}
.ifh-categories__mega-banner--bottom .ifh-categories__mega-banner-btn{margin-top:0;margin-left:auto;flex-shrink:0;}
.ifh-categories__mega-banner--bottom .ifh-mega-countdown{margin-top:0;margin-left:auto;flex-shrink:0;background:none;padding:0;}
.ifh-categories__mega-banner--bottom .ifh-mega-countdown__unit b{font-size:16px;}
.ifh-categories__mega-banner--bottom .ifh-mega-countdown__label{display:none;}

/* Responsywność */
@media(max-width:900px){
    .ifh-categories__mega-grid{grid-template-columns:repeat(2,1fr)!important;}
    .ifh-categories__mega-split{grid-template-columns:1fr!important;}
    .ifh-categories__mega-banner{min-height:auto;}
    .ifh-categories__mega-bottom-banner{flex-wrap:wrap;gap:12px;}
    .ifh-categories__mega-bottom-banner__btn{margin-left:0;}
}
@media(max-width:580px){.ifh-categories__mega-grid{grid-template-columns:1fr!important;}}
/* ── Grid ── */
.ifh-categories--grid{display:grid;grid-template-columns:repeat(var(--ifh-cat-cols,3),1fr);gap:var(--ifh-cat-gap,12px);}
.ifh-categories--grid .ifh-categories__item{flex-direction:column;padding:12px 8px;gap:6px;text-align:center;justify-content:center;border-radius:var(--ifh-cat-radius,12px);white-space:normal;}
.ifh-categories--grid[data-grid-style="icon-left"] .ifh-categories__item{flex-direction:row;text-align:left;justify-content:flex-start;padding:10px 14px;}
.ifh-categories--grid[data-grid-style="minimal"] .ifh-categories__item{background:transparent;border:none;padding:6px;font-size:12px;}
.ifh-categories--grid[data-grid-style="minimal"] .ifh-categories__icon{display:none;}
/* ── Vertical ── */
.ifh-categories--vertical{flex-direction:column;align-items:stretch;gap:2px;}
.ifh-categories--vertical .ifh-categories__item{border-radius:8px;padding:10px 14px;white-space:normal;}
.ifh-categories--vert-filled .ifh-categories__item{background:var(--ifh-cat-bg,#f8fafc);}
.ifh-categories--vert-bordered .ifh-categories__item{border:1px solid var(--ifh-cat-border,#e2e8f0);border-radius:6px;}
.ifh-categories--vert-minimal .ifh-categories__item{background:transparent;border-bottom:1px solid var(--ifh-cat-border,#f1f5f9);border-radius:0;padding:9px 4px;}
.ifh-categories__sub{padding-left:20px;display:flex;flex-direction:column;gap:2px;margin-top:2px;}
.ifh-categories__item--sub{font-size:12px;padding:6px 10px;}

/* ═══ HAMBURGER ═══ */
.ifh-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:none;background:transparent;cursor:pointer;border-radius:8px;margin-left:auto;transition:background .15s;}
.ifh-burger:hover{background:rgba(0,0,0,.05);}
.ifh-burger:focus-visible{outline:3px solid var(--ifh-primary,#2563eb);outline-offset:2px;}
.ifh-burger__bar{width:22px;height:2px;background:var(--ifh-text,#1e293b);border-radius:2px;transition:transform .25s,opacity .25s;}
.ifh-burger[aria-expanded="true"] .ifh-burger__bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.ifh-burger[aria-expanded="true"] .ifh-burger__bar:nth-child(2){opacity:0;}
.ifh-burger[aria-expanded="true"] .ifh-burger__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ═══ MOBILE PANEL ═══ */
.ifh-mobile{position:fixed;top:0;right:0;width:100%;max-width:380px;height:100vh;height:100dvh;background:var(--ifh-mm-bg,#fff);color:var(--ifh-mm-text,var(--ifh-text,#1e293b));z-index:100001;overflow-y:auto;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 24px rgba(0,0,0,.1);}
.ifh-mobile[hidden]{display:block;pointer-events:none;visibility:hidden;}
.ifh-mobile:not([hidden]){transform:translateX(0);pointer-events:auto;visibility:visible;}
.ifh-mobile__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.08);}
.ifh-mobile__logo{height:36px;max-height:40px;max-width:60%;width:auto;object-fit:contain;}
.ifh-mobile__name{font-size:18px;font-weight:700;}
.ifh-mobile__close{border:none;background:transparent;font-size:28px;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s;color:var(--ifh-mm-text,var(--ifh-text,#1e293b));}
.ifh-mobile__close:hover{background:rgba(0,0,0,.06);}
.ifh-mobile__close:focus-visible{outline:3px solid var(--ifh-mm-active,var(--ifh-primary,#2563eb));outline-offset:2px;}
.ifh-mobile__body{padding:12px 0;}

/* Mobile menu */
.ifh-mobile-menu{list-style:none;margin:0;padding:0;}
.ifh-mobile-menu li a{display:flex;align-items:center;padding:14px 24px;font-size:16px;color:var(--ifh-mm-text,var(--ifh-text,#1e293b));text-decoration:none;border-bottom:1px solid rgba(0,0,0,.04);transition:background .15s;min-height:48px;}
.ifh-mobile-menu li a:hover,.ifh-mobile-menu li a:focus-visible{background:var(--ifh-mm-hover-bg,rgba(0,0,0,.03));color:var(--ifh-mm-active,var(--ifh-primary,#2563eb));}
.ifh-mobile-menu li a:focus-visible{outline:3px solid var(--ifh-mm-active,var(--ifh-primary,#2563eb));outline-offset:-3px;}
.ifh-mobile-menu li.current-menu-item>a,.ifh-mobile-menu li.current-menu-ancestor>a{color:var(--ifh-mm-active,var(--ifh-primary,#2563eb));font-weight:600;}
.ifh-mobile-menu .sub-menu{list-style:none;margin:0;padding:0;}
.ifh-mobile-menu .sub-menu a{padding-left:40px;font-size:15px;font-weight:400;}
.ifh-mobile-menu .sub-menu .sub-menu a{padding-left:56px;font-size:14px;}

/* Mobile search */
.ifh-mobile-search{display:flex;margin:12px 20px;background:#f1f5f9;border-radius:10px;overflow:hidden;}
.ifh-mobile-search__input{flex:1;border:none;background:transparent;padding:12px 16px;font-size:15px;outline:none;color:var(--ifh-mm-text,var(--ifh-text));}
.ifh-mobile-search__input:focus{box-shadow:inset 0 0 0 2px var(--ifh-mm-active,var(--ifh-primary));}
.ifh-mobile-search__btn{border:none;background:transparent;padding:12px 16px;cursor:pointer;color:#64748b;display:flex;align-items:center;min-width:44px;min-height:44px;}

/* Mobile links */
.ifh-mobile-link{display:flex;align-items:center;gap:12px;padding:14px 24px;font-size:15px;color:var(--ifh-mm-text,var(--ifh-text,#1e293b));text-decoration:none;border-top:1px solid rgba(0,0,0,.04);min-height:48px;}
.ifh-mobile-link:hover,.ifh-mobile-link:focus-visible{background:var(--ifh-mm-hover-bg,rgba(0,0,0,.03));color:var(--ifh-mm-active,var(--ifh-primary,#2563eb));}
.ifh-mobile-link:focus-visible{outline:3px solid var(--ifh-mm-active,var(--ifh-primary,#2563eb));outline-offset:-3px;}

/* Overlay */
.ifh-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:100000;backdrop-filter:blur(2px);opacity:0;transition:opacity .3s;}
.ifh-overlay[hidden]{display:block;pointer-events:none;visibility:hidden;}
.ifh-overlay:not([hidden]){opacity:1;pointer-events:auto;visibility:visible;}

/* ═══ RESPONSIVE ═══ */

/* Tablet: ≤1024px */
@media(max-width:1024px){
    .ifh-menu-wrap{display:none;}
    .ifh-burger{display:flex;}
    .ifh-col--hide-mob{display:none;}
    .ifh-cols{gap:8px;}
}

/* Mobile: ≤768px */
@media(max-width:768px){
    .ifh-container{padding:0 16px;}
    .ifh-topbar{font-size:12px;padding:4px 0;}
    .ifh-topbar__items{gap:12px;}
    .ifh-nav{min-height:60px;}
    .ifh-icon__label{display:none;}
    .ifh-text,.ifh-phone,.ifh-address,.ifh-link{font-size:12px;}
    .ifh-social__link{width:32px;height:32px;}
    .ifh-stack{display:none;}
    .ifh-btn{padding:8px 16px;font-size:13px;}
    .ifh-divider,.ifh-spacer{display:none;}
}

/* Small mobile: ≤480px */
@media(max-width:480px){
    .ifh-mobile{max-width:100%;}
}

/* ═══ REDUCED MOTION ═══ */
@media(prefers-reduced-motion:reduce){
    .ifh-mobile,.ifh-overlay,.ifh-menu .sub-menu,.ifh-burger__bar,.ifh-search__form{transition:none !important;animation:none !important;}
}

/* ═══ LANDSCAPE PHONES ═══ */
@media(max-height:500px) and (orientation:landscape){
    .ifh-mobile-only .ifh-nav{min-height:44px;}
    .ifh-mobile-only .ifh-logo img{height:28px;max-height:32px;}
    .ifh-topbar{padding:2px 0;}
}

/* ═══ HIGH CONTRAST ═══ */
@media(forced-colors:active){
    .ifh-burger__bar{background:ButtonText;}
    .ifh-icon,.ifh-menu>li>a,.ifh-mobile-menu li a{forced-color-adjust:auto;}
    .ifh-badge{border:2px solid ButtonText;}
}

/* ═══ PRINT ═══ */
@media print{
    .ifh-topbar,.ifh-burger,.ifh-mobile,.ifh-overlay,.ifh-search,.ifh-cart,.ifh-account,.ifh-wishlist{display:none !important;}
    .ifh{position:static;box-shadow:none;border-bottom:1px solid #000;}
}

/* Search: button solid style */
.ifh-search__btn--solid{background:var(--ifh-primary,#2563eb);color:#fff!important;padding:10px 20px;font-weight:600;font-size:14px;letter-spacing:.02em;transition:background .15s;border-radius:0 100px 100px 0;}
.ifh-search__btn--solid:hover{background:var(--ifh-primary-hover,#1d4ed8);color:#fff!important;}
.ifh-search__btn--solid svg{display:none;}

/* Search: suggest dropdown */
.ifh-suggest{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);z-index:9999;margin-top:6px;overflow:hidden;max-height:400px;overflow-y:auto;}
.ifh-suggest[hidden]{display:none;}
.ifh-suggest__loading{display:flex;align-items:center;gap:10px;padding:16px 20px;color:#64748b;font-size:14px;}
.ifh-suggest__spinner{display:inline-block;width:18px;height:18px;border:2px solid #e2e8f0;border-top-color:var(--ifh-primary,#2563eb);border-radius:50%;animation:ifh-spin .6s linear infinite;}
@keyframes ifh-spin{to{transform:rotate(360deg)}}
.ifh-suggest__empty{padding:20px;text-align:center;color:#94a3b8;font-size:14px;}
.ifh-suggest__fallback-label{padding:10px 16px 4px;font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;}
.ifh-suggest__item{display:flex;align-items:center;gap:12px;padding:10px 16px;text-decoration:none;color:#1e293b;transition:background .12s;border-bottom:1px solid #f1f5f9;}
.ifh-suggest__item:last-child{border-bottom:none;}
.ifh-suggest__item:hover{background:#f8fafc;}
.ifh-suggest__img{width:48px;height:48px;object-fit:cover;border-radius:8px;flex-shrink:0;background:#f1f5f9;}
.ifh-suggest__info{flex:1;min-width:0;}
.ifh-suggest__name{font-size:14px;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ifh-suggest__price{font-size:16px;color:var(--ifh-primary,#2563eb);font-weight:700;margin-left:auto;flex-shrink:0;text-align:right;padding-left:12px;white-space:nowrap;}
.ifh-suggest__price del{color:#94a3b8;font-weight:400;font-size:12px;display:block;}
.ifh-suggest__price ins{text-decoration:none;}

/* Search: minimal style override */
.ifh-search--minimal .ifh-search__form{background:transparent!important;border:none!important;border-radius:0!important;}
.ifh-search--minimal .ifh-search__input:focus{box-shadow:none;}

@media(max-width:600px){
    .ifh-suggest{border-radius:0;margin-top:0;position:fixed;left:0;right:0;top:auto;max-height:60vh;}
    .ifh-suggest__img{width:40px;height:40px;}
}

/* Search suggest: badges */
/* Search suggest: badges */
.ifh-suggest__badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px;}
[class*="ifh-badge--"]{display:inline-block;font-size:10px;font-weight:700;line-height:1;padding:3px 6px;border-radius:4px;white-space:nowrap;}
.ifh-badge--sale{background:#fee2e2;color:#dc2626;}
.ifh-badge--low_stock{background:#fef3c7;color:#d97706;}
.ifh-badge--new{background:#dcfce7;color:#16a34a;}
.ifh-badge--free_ship{background:#e0e7ff;color:#4f46e5;}

/* Search suggest: rating stars */
.ifh-suggest__rating{font-size:12px;color:#f59e0b;line-height:1;margin-top:1px;display:flex;align-items:center;gap:2px;}
.ifh-star--empty{opacity:.25;}
.ifh-suggest__reviews{font-size:11px;color:#94a3b8;font-weight:400;margin-left:2px;}

@media(max-width:600px){
    [class*="ifh-badge--"]{font-size:9px;padding:2px 5px;}
}

/* ═══════════════════════════════════════
   WISHLIST DRAWER
═══════════════════════════════════════ */
.ifh-wl-overlay{
    position:fixed;inset:0;z-index:9998;
    background:rgba(0,0,0,.35);
    opacity:0;pointer-events:none;transition:opacity .3s;
}
.ifh-wl-overlay.ifh-wl-overlay--on{opacity:1;pointer-events:all;}

.ifh-wl-drawer{
    position:fixed;top:0;right:0;bottom:0;z-index:9999;
    width:380px;max-width:100vw;
    background:#fff;
    box-shadow:-4px 0 24px rgba(0,0,0,.12);
    display:flex;flex-direction:column;
    transform:translateX(100%);
    transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.ifh-wl-drawer.ifh-wl-drawer--open{transform:translateX(0);}

.ifh-wl-drawer__head{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 20px;border-bottom:1px solid #f1f5f9;
    font-size:16px;font-weight:700;color:#1e293b;
}
.ifh-wl-drawer__close{
    background:none;border:none;cursor:pointer;
    color:#64748b;padding:4px;line-height:1;
    border-radius:50%;transition:background .15s;
}
.ifh-wl-drawer__close:hover{background:#f1f5f9;}

.ifh-wl-drawer__body{flex:1;overflow-y:auto;padding:16px 20px;}

.ifh-wl-empty{
    text-align:center;padding:48px 20px;
    color:#94a3b8;font-size:14px;
}
.ifh-wl-empty svg{display:block;margin:0 auto 12px;opacity:.3;}

.ifh-wl-item{
    display:flex;align-items:center;gap:12px;
    padding:12px 0;border-bottom:1px solid #f1f5f9;
}
.ifh-wl-item:last-child{border-bottom:none;}
.ifh-wl-item__img{
    width:64px;height:64px;flex-shrink:0;
    border-radius:8px;overflow:hidden;background:#f8fafc;
    border:1px solid #f1f5f9;
}
.ifh-wl-item__img img{width:100%;height:100%;object-fit:cover;}
.ifh-wl-item__info{flex:1;min-width:0;}
.ifh-wl-item__name{
    font-size:13px;font-weight:600;color:#1e293b;
    text-decoration:none;display:block;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ifh-wl-item__name:hover{color:var(--sp,#2563eb);}
.ifh-wl-item__price{font-size:13px;color:#64748b;margin-top:2px;}
.ifh-wl-item__price .woocommerce-Price-amount{color:#1e293b;font-weight:600;}
.ifh-wl-item__actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;}
.ifh-wl-item__cart{
    font-size:11px;font-weight:600;
    background:var(--sp,#2563eb);color:#fff;
    border:none;border-radius:6px;cursor:pointer;
    padding:5px 10px;text-decoration:none;
    display:inline-block;text-align:center;
    transition:opacity .15s;
}
.ifh-wl-item__cart:hover{opacity:.85;color:#fff;}
.ifh-wl-item__remove{
    background:none;border:none;cursor:pointer;
    font-size:11px;color:#94a3b8;padding:0;
    text-align:center;transition:color .15s;
}
.ifh-wl-item__remove:hover{color:#e11d48;}

.ifh-wl-loading{text-align:center;padding:32px;color:#94a3b8;font-size:13px;}
