:root{--primary-color:#1f2d3d;--secondary-color:#3186c7;--success-color:#1f9d68;--danger-color:#dc4c64;--warning-color:#d99500;--surface:#fff;--surface-soft:#f3f6f9;--text:#253443;--muted:#6c7a89}
html,body{min-height:100%}body{margin:0;background:#eef2f6;color:var(--text);font-family:"Segoe UI",Tahoma,Verdana,sans-serif}.frontend-navbar{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));box-shadow:0 2px 10px rgba(0,0,0,.15)}.navbar-brand{font-weight:700;letter-spacing:.3px}.frontend-navbar .nav-link{color:rgba(255,255,255,.86)!important;margin:0 .2rem}.frontend-navbar .nav-link:hover,.frontend-navbar .nav-link.active{color:#fff!important}.frontend-logout{margin:.35rem 0}.container-main{min-height:calc(100vh - 200px);padding:2rem 0}.card{border:0;border-radius:12px;box-shadow:0 4px 18px rgba(24,39,75,.08)}.card-header{border-radius:12px 12px 0 0!important}.btn{border-radius:7px;font-weight:600}.btn-primary{border:0;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color))}.form-control,.form-select{border-radius:7px}.form-control:focus,.form-select:focus{border-color:var(--secondary-color);box-shadow:0 0 0 .2rem rgba(49,134,199,.17)}.form-label{font-weight:600;color:var(--primary-color)}.alert{border:0;border-radius:9px}.breadcrumb{background:transparent}.frontend-footer{background:var(--primary-color);color:#fff;padding:2.5rem 0;margin-top:4rem}.frontend-footer p{color:rgba(255,255,255,.7)}.frontend-footer a{color:#fff;text-decoration:none}.frontend-footer a:hover{text-decoration:underline}.nav-tree{max-height:600px;overflow-y:auto}.nav-level{display:flex;flex-direction:column}.nav-level .nav-link{display:flex;align-items:center;gap:.5rem;margin-left:0;border-left:3px solid transparent;color:#1e2933!important}.nav-level .nav-link:hover{background:rgba(49,134,199,.08);border-left-color:var(--secondary-color)}.nav-level .nav-link.active{color:var(--secondary-color)!important;font-weight:700}.nav-level .nav-label{word-break:break-word}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.gallery-card{overflow:hidden;border:1px solid #e3e8ee;border-radius:12px;background:var(--surface);box-shadow:0 3px 12px rgba(20,30,50,.07)}.gallery-card img{width:100%;height:220px;object-fit:contain;display:block;background:#f5f7fa}.gallery-thumb{display:block}.gallery-meta{padding:.65rem .8rem}.gallery-download{display:flex;align-items:center;gap:.55rem;padding:1rem;min-height:180px;background:#f5f7fa;color:var(--text);text-decoration:none}.gallery-download:hover{background:#e9eef4}.gallery-empty{padding:1.5rem;border:1px dashed #cbd5df;border-radius:12px;color:var(--muted)}.gallery-plugin-note{font-size:.82rem;color:var(--muted)}.pswp--touch .pswp__button--arrow{visibility:visible!important}
/* Frontend primary navigation */
.frontend-main-menu{display:flex;align-items:center;gap:.15rem}
.frontend-main-menu>.nav-item{position:relative}
.frontend-main-menu .frontend-nav-item-wrap{display:flex;align-items:stretch;position:relative}
.frontend-main-menu .nav-link{display:flex;align-items:center;gap:.35rem;color:rgba(255,255,255,.88)!important;padding:.72rem .8rem;border-radius:7px;text-decoration:none;font-weight:600;transition:background-color .15s ease,color .15s ease}
.frontend-main-menu .nav-link:hover,.frontend-main-menu .nav-link:focus-visible,.frontend-main-menu .nav-link.active,.frontend-main-menu .nav-link.active-parent{background:rgba(255,255,255,.14);color:#fff!important;outline:none}
.frontend-main-menu .frontend-nav-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2rem;min-width:2rem;padding:0;border:0;background:transparent;color:rgba(255,255,255,.82);border-radius:7px;cursor:pointer}
.frontend-main-menu .frontend-nav-toggle::after{content:"";width:.48rem;height:.48rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease,color .15s ease;margin-top:0}
.frontend-main-menu .frontend-nav-toggle[aria-expanded="true"]::after{transform:rotate(45deg);margin-top:-.18rem}
.frontend-main-menu .frontend-nav-toggle:hover,.frontend-main-menu .frontend-nav-toggle:focus-visible{background:rgba(255,255,255,.14);color:#fff;outline:none}
.frontend-main-menu .dropdown-menu{margin-top:0;min-width:230px;padding:.4rem;background:var(--surface);border:1px solid #dfe6ed;border-radius:9px;box-shadow:0 10px 28px rgba(24,39,75,.14)}
.frontend-main-menu .dropdown-item{padding:.62rem .75rem;border-radius:7px;color:var(--text);font-weight:600}
.frontend-main-menu .dropdown-item:hover,.frontend-main-menu .dropdown-item:focus{background:#eef5fb;color:var(--secondary-color)}
.frontend-main-menu .dropdown-item.active{background:#eef5fb;color:var(--secondary-color);font-weight:700}
.frontend-main-menu .dropdown-menu .nav-item{position:relative}
.frontend-main-menu .dropdown-menu .frontend-nav-item-wrap{display:flex;align-items:stretch;position:relative}
.frontend-main-menu .dropdown-menu .nav-link{display:flex;flex:1;color:var(--text)!important;padding:.62rem .75rem;border-radius:7px;white-space:normal}
.frontend-main-menu .dropdown-menu .nav-link:hover,.frontend-main-menu .dropdown-menu .nav-link:focus,.frontend-main-menu .dropdown-menu .nav-link.active,.frontend-main-menu .dropdown-menu .nav-link.active-parent{background:#eef5fb;color:var(--secondary-color)!important}
.frontend-main-menu .dropdown-menu .frontend-nav-toggle{width:2.1rem;min-width:2.1rem;color:var(--text);border-radius:7px}
.frontend-main-menu .dropdown-menu .frontend-nav-toggle:hover,.frontend-main-menu .dropdown-menu .frontend-nav-toggle:focus-visible{background:#eef5fb;color:var(--secondary-color)}
.frontend-main-menu .dropdown-menu .dropdown-menu{top:0;left:100%;margin-top:0;margin-left:0}
@media (min-width:992px){
    .frontend-main-menu>.nav-item.dropdown:hover>.dropdown-menu,
    .frontend-main-menu .dropdown-menu>.nav-item.dropdown:hover>.dropdown-menu{display:block}
}
.frontend-main-menu .dropdown-menu>.nav-item.dropdown>.dropdown-menu{position:absolute}
@media(max-width:991.98px){
    .frontend-main-menu{align-items:stretch}
    .frontend-main-menu .frontend-nav-item-wrap{width:100%}
    .frontend-main-menu .nav-link{flex:1}
    .frontend-main-menu .frontend-nav-toggle{width:2.5rem;min-width:2.5rem}
    .frontend-main-menu .dropdown-menu{border:0;box-shadow:none;margin:0;padding:.2rem .6rem;background:rgba(255,255,255,.04)}
    .frontend-main-menu .dropdown-menu .nav-link{color:rgba(255,255,255,.85)!important}
    .frontend-main-menu .dropdown-menu .nav-link:hover,.frontend-main-menu .dropdown-menu .nav-link:focus,.frontend-main-menu .dropdown-menu .nav-link.active,.frontend-main-menu .dropdown-menu .nav-link.active-parent{background:rgba(255,255,255,.08);color:#fff!important}
    .frontend-main-menu .dropdown-menu .frontend-nav-toggle{color:rgba(255,255,255,.85)}
    .frontend-main-menu .dropdown-menu .frontend-nav-toggle:hover,.frontend-main-menu .dropdown-menu .frontend-nav-toggle:focus-visible{background:rgba(255,255,255,.08);color:#fff}
}
.content-body{line-height:1.8}
.content-gallery{background:#fff;padding:1.25rem;border-radius:12px;border:1px solid #e1e7ed}
.frontend-breadcrumbs{padding-top:1rem;padding-bottom:0}.frontend-breadcrumbs .breadcrumb{margin:0;padding:.55rem .75rem;background:rgba(255,255,255,.92);border:1px solid #dfe6ed;border-radius:8px;box-shadow:0 2px 8px rgba(24,39,75,.05)}.frontend-breadcrumbs .breadcrumb a{color:var(--secondary-color);text-decoration:none}.frontend-breadcrumbs .breadcrumb a:hover{text-decoration:underline}.frontend-breadcrumbs .breadcrumb-item.active{font-weight:600;color:var(--text)}

@media(max-width:991.98px){
    .frontend-main-menu .dropdown-menu.show{display:block}
    .frontend-main-menu .dropdown-menu:not(.show){display:none}
}

/* Mobile nested navigation: keep every submenu inside the viewport. */
@media(max-width:991.98px){
    .frontend-main-menu .dropdown-menu,
    .frontend-main-menu .dropdown-menu .dropdown-menu,
    .frontend-main-menu .dropdown-menu>.nav-item.dropdown>.dropdown-menu{
        position:static!important;
        inset:auto!important;
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
        overflow:visible;
    }
    .frontend-main-menu .dropdown-menu .dropdown-menu{
        padding-left:1rem;
        padding-right:0;
    }
}


/* Navigation 30 catalog presentation and search */
.catalog-featured-hero{aspect-ratio:16/7;overflow:hidden;background:#f1f3f5}.catalog-featured-hero img{width:100%;height:100%;object-fit:cover;display:block}.catalog-eyebrow{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:#6c757d;margin-bottom:.45rem}.catalog-list-card{transition:transform .18s ease,box-shadow .18s ease}.catalog-list-card:hover{transform:translateY(-3px)}.catalog-card-image{width:100%;height:210px;object-fit:cover;display:block;background:#f1f3f5}.frontend-search-form{max-width:320px}.frontend-search-form .form-control{min-width:180px}.search-result-image{width:100%;height:150px;object-fit:cover;display:block}.search-result h2 a:hover{text-decoration:underline!important}
@media(max-width:991.98px){.frontend-search-form{max-width:none;width:100%;padding:0 .5rem}.frontend-search-form .form-control{flex:1}.catalog-featured-hero{aspect-ratio:16/9}.search-result-image{height:180px}}

/* Navigation 34: masonry media without captions. */
.content-gallery{background:transparent;padding:0;border:0}.gallery-masonry{column-count:4;column-gap:1rem}.gallery-masonry-item{display:block;break-inside:avoid;margin:0 0 1rem;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 3px 14px rgba(20,30,50,.08);text-decoration:none}.gallery-masonry-item img{display:block;width:100%;height:auto;object-fit:cover}.gallery-file{min-height:150px;padding:1.25rem;display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--text)}.gallery-file:hover{color:var(--secondary-color)}
@media(max-width:1199.98px){.gallery-masonry{column-count:3}}@media(max-width:767.98px){.gallery-masonry{column-count:2;column-gap:.7rem}.gallery-masonry-item{margin-bottom:.7rem}}@media(max-width:480px){.gallery-masonry{column-count:1}}

.frontend-brand{display:inline-flex;align-items:center;gap:.55rem}.frontend-site-logo{display:block;width:auto;max-width:150px;max-height:42px;object-fit:contain}@media(max-width:575px){.frontend-site-logo{max-width:115px;max-height:36px}}

/* Active-product counters. Hidden automatically when count is zero. */
.nav-label{display:inline-flex;align-items:center;gap:.42rem}.nav-count-badge,.catalog-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .42rem;border-radius:999px;background:rgba(49,134,199,.12);color:var(--secondary-color);font-size:.68rem;font-weight:800;line-height:1}.frontend-main-menu>.nav-item>.frontend-nav-item-wrap .nav-count-badge{background:rgba(255,255,255,.18);color:#fff}.frontend-main-menu .dropdown-menu .nav-count-badge{background:#eef5fb;color:var(--secondary-color)}.catalog-title-with-count{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.catalog-count-badge{background:#eaf4fb;color:var(--secondary-color);font-size:.72rem}.catalog-count-badge-sm{min-width:1.45rem;height:1.45rem;font-size:.64rem}

/* Lokalny Katalog 40: built-in home page masonry presentation. */
.home-category-masonry{columns:1 280px;column-gap:1rem}
.home-category-card{display:block;break-inside:avoid;margin:0 0 1rem;background:#fff;border:1px solid #e5e9ed;border-radius:14px;overflow:hidden;box-shadow:0 5px 20px rgba(20,35,50,.07);color:inherit;transition:transform .18s ease,box-shadow .18s ease}
.home-category-card:hover{transform:translateY(-2px);box-shadow:0 9px 28px rgba(20,35,50,.12)}
.home-category-card img{display:block;width:100%;height:auto;min-height:170px;max-height:360px;object-fit:cover}
.home-category-card-body{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem}
.home-category-card-body h3{margin:0;font-size:1.05rem;font-weight:750}
.home-hero{background:linear-gradient(135deg,#fff,#f4f8fb)}

/* Lokalny Katalog 40.2: professional masonry product presentation on the home page. */
.home-product-masonry{width:100%;max-width:none;margin:0;columns:4 250px;column-gap:1.35rem}
.home-product-card{display:block;break-inside:avoid;margin:0 0 1.35rem;background:#fff;border:1px solid #e5e9ed;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(20,35,50,.07);color:inherit;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
.home-product-card:hover{transform:translateY(-6px);box-shadow:0 16px 38px rgba(20,35,50,.16);border-color:#d2dce5}
.home-product-image-wrap{position:relative;width:100%;min-height:190px;max-height:360px;overflow:hidden;background:#f3f6f8}
.home-product-image-wrap img{display:block;width:100%;height:auto;min-height:190px;max-height:360px;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.home-product-card:hover .home-product-image-wrap img{transform:scale(1.045);filter:saturate(1.04)}
.home-product-image-empty{display:flex;align-items:center;justify-content:center;color:#9aa6b2}
.home-product-card-body{padding:1.05rem 1.15rem 1.2rem}
.home-product-card-body h3{margin:0 0 .55rem;font-size:1.08rem;font-weight:750;line-height:1.3}
.home-product-card-body p{margin:0 0 .9rem;color:#687684;font-size:.92rem;line-height:1.55}
.home-product-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid #edf0f2;padding-top:.8rem;font-size:.84rem;color:#687684}
.home-product-meta strong{font-size:1.08rem;color:#202a33;white-space:nowrap}
.home-product-meta span{white-space:nowrap;text-align:right}
@media (max-width:991.98px){.home-product-masonry{columns:2}}
@media (max-width:575.98px){.home-product-masonry{columns:1}.home-product-image-wrap,.home-product-image-wrap img{max-height:none}.home-product-card-body{padding:.95rem}.home-product-meta{align-items:flex-start;flex-direction:column;gap:.25rem}.home-product-meta span{text-align:left}}

.frontend-edit-fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1080;display:inline-flex;align-items:center;gap:.45rem;padding:.65rem .85rem;border-radius:999px;background:#212529;color:#fff;text-decoration:none;box-shadow:0 .35rem 1rem rgba(0,0,0,.22);transition:transform .15s ease,box-shadow .15s ease}.frontend-edit-fab:hover{color:#fff;transform:translateY(-2px);box-shadow:0 .5rem 1.25rem rgba(0,0,0,.28)}
.frontend-inline-edit{position:absolute;top:.65rem;right:.65rem;z-index:5;width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#212529;color:#fff;text-decoration:none;box-shadow:0 .25rem .75rem rgba(0,0,0,.2)}.frontend-inline-edit:hover{color:#fff;transform:scale(1.05)}
.frontend-inline-edit{position:absolute;top:.65rem;right:.65rem;z-index:5;width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#212529;color:#fff;text-decoration:none;box-shadow:0 .25rem .75rem rgba(0,0,0,.2)}.frontend-inline-edit:hover{color:#fff;transform:scale(1.05)}

/* 50.0.19: stable product detail layout. Keep purchase controls and gallery inside the responsive content flow. */
.product-page{width:100%;max-width:1320px;min-width:0}.product-detail{width:100%;min-width:0}.product-detail-body{width:100%;min-width:0}.product-detail-header{min-width:0}.product-price-badge{white-space:nowrap}.product-logistics{min-width:0}.product-purchase-wrap{width:100%;clear:both}.product-purchase-form{width:100%;margin:0}.product-gallery-section{width:100%;max-width:100%;min-width:0;clear:both}.product-gallery-section .content-gallery{width:100%;max-width:100%;min-width:0}.product-gallery-section .gallery-masonry{width:100%;max-width:100%;min-width:0}.product-gallery-section .gallery-masonry-item{min-width:0}.product-gallery-section img{max-width:100%}@media(max-width:575.98px){.product-price-badge{font-size:1rem!important}.product-purchase-form .btn{flex:1 1 220px}.product-purchase-form input{width:100%!important}.product-gallery-section .gallery-masonry{column-count:1}}

.cookie-notice{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1080}.cookie-notice-inner{max-width:980px;margin:0 auto;display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;background:rgba(255,255,255,.98);border:1px solid rgba(20,45,70,.14);border-radius:12px;box-shadow:0 10px 30px rgba(20,45,70,.18)}.cookie-notice-icon{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3f6f9;color:#b67b21}.cookie-notice-accept{min-width:74px}@media(max-width:575px){.cookie-notice{left:.5rem;right:.5rem;bottom:.5rem}.cookie-notice-inner{align-items:flex-start;gap:.75rem}.cookie-notice-accept{align-self:center}}
