/* Logo proportions also remain intact above the mobile navigation breakpoint. */
.page-header.type1 .header-main .logo img {
    object-fit: contain;
}

/* CMS category cards must fit their grid instead of retaining a fixed 300px width. */
.catalog-category-view .category-cms .glaesel-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    max-width: 1200px;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
}
.catalog-category-view .category-cms .glaesel-card {
    width: auto;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.catalog-category-view .category-cms .glaesel-title {
    min-width: 0;
    overflow-wrap: anywhere;
}
@media (min-width:769px) and (max-width:1024px) {
    .catalog-category-view .category-cms .glaesel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:768px) {
    .catalog-category-view .category-cms .glaesel-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Compact mobile header; keep Porto's native navigation, search and minicart. */
@media (max-width:991px) {
 .page-header.type1 { position:relative; margin:0; padding:0; border-bottom:1px solid #e4e9e6; box-shadow:none; background:#fff; }
 .page-header.type1 .main-panel-top { display:none !important; }
 .page-header.type1::after { position:absolute; top:8px; left:16px; right:16px; width:auto; height:auto; margin:0; padding:0; transform:none; text-align:center; font-size:10px; line-height:16px; letter-spacing:1px; color:#345347; pointer-events:none; }
 .page-header.type1 .header-main { padding:28px 0 0; margin:0; }
 .page-header.type1 .header-main .header.content { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 40px 120px; align-items:center; gap:4px; width:100%; max-width:none; min-height:72px; box-sizing:border-box; padding:8px 16px; margin:0; }
 .page-header.type1 .header-main .header.content::before,
 .page-header.type1 .header-main .header.content::after { display:none; }
 .page-header.type1 .header-main .header-left,
 .page-header.type1 .header-main .header-center,
 .page-header.type1 .header-main .header-right { display:flex; align-items:center; min-width:0; width:auto; height:auto; padding:0; margin:0; float:none; }
 .page-header.type1 .header-main .header-left { gap:4px; }
 .page-header.type1 .header-main .nav-toggle { display:flex; align-items:center; justify-content:center; position:static; flex:0 0 44px; width:44px; height:44px; padding:0; margin:0; color:#06402b; }
 .page-header.type1 .header-main .nav-toggle::before { font-size:23px; line-height:1; }
 .page-header.type1 .header-main .logo { position:static; display:block; flex:0 1 72px; min-width:0; width:72px; max-width:72px; margin:0; padding:0; float:none; line-height:1; }
 .page-header.type1 .header-main .logo img { display:block; width:100%; height:45px; max-width:100%; max-height:45px; object-fit:contain; }
 .page-header.type1 .header-main .header-center { position:static; justify-content:center; }
 .page-header.type1 .header-main .search-area { width:40px; height:44px; margin:0; padding:0; position:static; }
 .page-header.type1 .header-main .search-toggle-icon { display:flex; align-items:center; justify-content:center; width:40px; height:44px; margin:0; padding:0; color:#06402b; font-size:23px; line-height:1; }
 .page-header.type1 .header-main .search-area .block-search { top:100%; left:16px; right:16px; width:auto; max-width:none; margin:0; box-sizing:border-box; z-index:1100; }
 .page-header.type1 .header-main .search-area .block-search input { font-size:16px; min-height:44px; }
 .page-header.type1 .header-main .header-right { justify-content:flex-end; gap:0; width:120px; }
 .page-header.type1 .header-main .header-contact { display:flex; align-items:center; gap:0; margin:0; padding:0; height:44px; }
 .page-header.type1 .header-main .header-contact > a { display:flex; align-items:center; justify-content:center; width:40px; height:44px; margin:0 !important; padding:0 !important; color:#06402b; font-size:23px; line-height:1; }
 .page-header.type1 .header-main .header-contact > a i { font-size:23px; line-height:1; }
 .page-header.type1 .header-main .minicart-wrapper { flex:0 0 40px; width:40px; margin:0; padding:0; }
 .page-header.type1 .header-main .minicart-wrapper > .action.showcart { position:relative; display:flex; align-items:center; justify-content:center; width:40px; height:44px; margin:0; padding:0; color:#06402b; }
 .page-header.type1 .header-main .minicart-wrapper > .action.showcart::after { display:none; }
 .page-header.type1 .header-main .minicart-icon { font-size:23px; line-height:1; }
 .page-header.type1 .header-main .minicart-wrapper .counter.qty { top:0; right:0; left:auto; min-width:16px; height:16px; padding:0 3px; border-radius:8px; font-size:10px; line-height:16px; box-sizing:border-box; }
 .page-header.type1 .header-main .minicart-wrapper .counter.qty.empty { display:none; }
}

/* Native filter disclosures expand within the category flow. */
.glaesel-toolbar-with-filters { position:relative; margin-bottom:24px; clear:both; }
.glaesel-toolbar-with-filters > .toolbar.toolbar-products { overflow:visible; box-sizing:border-box; min-height:68px; padding:12px 12px 12px 116px; margin-bottom:0; border-radius:12px; background:#f3f6f4; }
.glaesel-toolbar-with-filters > .glaesel-catalog-filters { display:block; margin:0; text-align:left; }
.glaesel-toolbar-with-filters > .glaesel-catalog-filters > summary { position:absolute; top:12px; left:12px; display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; min-width:88px; box-sizing:border-box; padding:10px 14px; border:1px solid #c9d8cf; border-radius:8px; background:#fff; color:#083c2b; font-size:14px; font-weight:600; line-height:22px; cursor:pointer; list-style:none; }
.glaesel-catalog-filters > summary::-webkit-details-marker,
.glaesel-filter-group > summary::-webkit-details-marker { display:none; }
.glaesel-toolbar-with-filters > .glaesel-catalog-filters > summary::before { content:'+'; font-size:20px; font-weight:400; line-height:1; }
.glaesel-toolbar-with-filters > .glaesel-catalog-filters[open] > summary { background:#0a3c2b; border-color:#0a3c2b; color:#fff; }
.glaesel-toolbar-with-filters > .glaesel-catalog-filters[open] > summary::before { content:'−'; }
.glaesel-toolbar-with-filters .glaesel-filter-panel { position:static; display:block; width:100%; max-height:none; overflow:visible; box-sizing:border-box; margin-top:12px; padding:20px; border:1px solid #dce5df; border-radius:12px; background:#f8faf9; color:#20392c; font-size:15px; line-height:1.5; box-shadow:none; }
.glaesel-filter-panel > h2 { margin:0 0 16px; color:#153f2b; font-family:inherit; font-size:18px; font-weight:600; line-height:1.4; }
.glaesel-filter-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:12px; }
.glaesel-filter-panel .glaesel-filter-group { min-width:0; margin:0; overflow:hidden; border:1px solid #dce5df; border-radius:9px; background:#fff; }
.glaesel-filter-panel .glaesel-filter-group > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; box-sizing:border-box; margin:0; padding:13px 16px; color:#20392c; font-size:15px; font-weight:600; line-height:24px; list-style:none; cursor:pointer; }
.glaesel-filter-group > summary::after { content:'+'; flex:0 0 auto; color:#577363; font-size:20px; font-weight:400; }
.glaesel-filter-group[open] > summary::after { content:'−'; }
.glaesel-filter-panel .glaesel-filter-group > ul { list-style:none; padding:6px; margin:0; border-top:1px solid #e9eeeb; }
.glaesel-filter-panel .glaesel-filter-group li { padding:0; margin:0; }
.glaesel-filter-panel .glaesel-filter-group li a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; box-sizing:border-box; padding:9px 10px; border-radius:6px; color:#244d35; font-size:14px; font-weight:400; line-height:22px; text-decoration:none; }
.glaesel-filter-panel .glaesel-filter-group li a:hover { background:#edf4ef; color:#083c2b; text-decoration:none; }
.glaesel-filter-label { min-width:0; overflow-wrap:anywhere; }
.glaesel-filter-count { display:inline-flex; justify-content:center; flex:0 0 auto; min-width:26px; padding:1px 7px; box-sizing:border-box; border-radius:20px; background:#eff3f0; color:#596e60; font-size:12px; line-height:22px; }
.glaesel-filter-panel .glaesel-active-filter-title { margin:0 0 8px; color:#536b5c; font-size:13px; font-weight:600; }
.glaesel-filter-panel .glaesel-active-filters { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 8px; }
.glaesel-filter-panel .glaesel-active-filters li { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0; padding:8px 12px; border-radius:8px; background:#e8f1eb; font-size:14px; }
.glaesel-filter-panel .glaesel-active-filters a { color:#16452d; font-size:13px; text-decoration:underline; }
.glaesel-filter-panel > p:has(> a) { margin:0 0 16px; }
.glaesel-filter-panel > p > a { display:inline-block; padding:4px 0; color:#355b42; font-size:13px; text-decoration:underline; }
.glaesel-catalog-filters summary:focus-visible,
.glaesel-catalog-filters a:focus-visible { outline:2px solid #0a5a37; outline-offset:3px; }
@media(max-width:1023px) { .glaesel-filter-groups { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
 .glaesel-toolbar-with-filters > .toolbar.toolbar-products { min-height:64px; padding:10px 10px 10px 116px; flex-wrap:wrap; row-gap:8px; }
 .glaesel-toolbar-with-filters > .glaesel-catalog-filters > summary { top:10px; left:10px; min-width:74px; padding:10px; gap:6px; }
 .glaesel-toolbar-with-filters .glaesel-filter-panel { margin-top:10px; padding:14px; }
 .glaesel-filter-panel > h2 { margin-bottom:12px; font-size:17px; }
 .glaesel-filter-groups { grid-template-columns:minmax(0,1fr); gap:8px; }
}

/* Porto's off-canvas navigation ends at 991px, not the legacy 768px desktop rule. */
@media (max-width:991px) {
 .page-header.type1 .nav-sections { width:min(380px,calc(100vw - 56px)); margin-top:0; top:0; bottom:0; height:100%; height:100dvh; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; background:#fff; }
 .page-header.type1 .nav-sections .nav-sections-item-title { width:50%; height:56px; margin:0; padding:0; border:0; border-bottom:1px solid #dce5df; background:#f2f6f3; color:#264a37; }
 .page-header.type1 .nav-sections .nav-sections-item-title.active { background:#06402b; color:#fff; }
 .page-header.type1 .nav-sections .nav-sections-item-title > a { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:56px; padding:0 12px; color:inherit !important; font-size:14px; font-weight:600; line-height:20px; }
 .page-header.type1 .nav-sections .nav-sections-item-content { margin-top:56px; padding:0; }
 /* Respect Magento's inactive tab state despite legacy div#store.menu !important. */
 .page-header.type1 .nav-sections div#store\.menu[aria-hidden="true"],
 .page-header.type1 .nav-sections div#store\.links[aria-hidden="true"] { display:none !important; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu { width:100%; max-width:none; margin:0; padding:0; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu > ul { display:block !important; width:100% !important; max-width:none; margin:0; padding:0; flex:none; justify-content:normal !important; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu > ul > li.level0 { display:block; float:none; width:100%; min-width:0; margin:0; padding:0; border:0; border-bottom:1px solid #e4ebe6; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu > ul > li.level0 > a.level-top { display:block; width:100%; min-height:52px; margin:0; padding:14px 58px 14px 20px; box-sizing:border-box; color:#173e2c; font-size:15px; font-weight:500; line-height:24px; text-transform:none; white-space:normal; overflow-wrap:anywhere; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu .open-children-toggle { right:4px; left:auto; top:4px; width:44px; height:44px; margin:0; line-height:44px; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu .open-children-toggle::before { line-height:44px; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu li.level0 > .submenu { position:relative; width:100%; min-width:0; max-width:100% !important; margin:0 !important; padding:0 !important; border:0; box-shadow:none; overflow:hidden; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu li.level0 > .submenu.opened { overflow:visible; background:#f3f7f4; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu .submenu .container,
 .page-header.type1 .nav-sections .navigation.sw-megamenu .submenu .row,
 .page-header.type1 .nav-sections .navigation.sw-megamenu .submenu .subchildmenu { display:block; float:none; width:100%; max-width:100%; margin:0; padding:0; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu .submenu .subchildmenu > li { display:block; float:none; width:100% !important; margin:0; padding:0; }
 .page-header.type1 .nav-sections .navigation.sw-megamenu .submenu .subchildmenu > li > a { display:block; min-height:46px; padding:11px 20px 11px 30px; color:#355941; font-size:14px; line-height:24px; white-space:normal; overflow-wrap:anywhere; text-transform:none; }
 .page-header.type1 .nav-sections .navigation a:focus-visible,
 .page-header.type1 .nav-sections .nav-sections-item-title > a:focus-visible { outline:2px solid #2b7450; outline-offset:-3px; }
}

/* Related products live below the main product content, never in a narrow sidebar. */
.catalog-product-view .glaesel-related-products { clear:both; width:100%; min-width:0; margin:32px 0; }
.catalog-product-view .glaesel-related-products .block.related { float:none; width:100%; max-width:none; margin:0; padding:24px; box-sizing:border-box; border:1px solid #dce5df; border-radius:16px; background:#f8faf9; }
.catalog-product-view .glaesel-related-products .block-title { margin:0 0 12px; padding:0; border:0; text-align:left; }
.catalog-product-view .glaesel-related-products .block-title > strong { color:#173e2c; font-family:inherit; font-size:24px; font-weight:600; line-height:1.3; text-transform:none; }
.catalog-product-view .glaesel-related-products .block-actions { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; margin:0 0 20px; color:#53665b; font-size:14px; line-height:1.6; }
.catalog-product-view .glaesel-related-products .block-actions .action.select { min-height:44px; padding:8px 12px; border:1px solid #c9d8cf; border-radius:8px; background:#fff; color:#16452f; font:inherit; cursor:pointer; }
.catalog-product-view .glaesel-related-products .products-related { margin:0; }
.catalog-product-view .glaesel-related-products .product-items { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; width:100%; margin:0; padding:0; list-style:none; }
.catalog-product-view .glaesel-related-products .product-item { float:none; width:100% !important; min-width:0; margin:0 !important; padding:0; }
.catalog-product-view .glaesel-related-products .product-item-info { display:flex; flex-direction:column; width:100%; min-width:0; height:100%; padding:16px; box-sizing:border-box; border:1px solid #e0e7e2; border-radius:12px; background:#fff; }
.catalog-product-view .glaesel-related-products .product-item-photo { display:block; width:100%; margin:0 0 14px; padding:0; }
.catalog-product-view .glaesel-related-products .product-image-container { display:block; width:100% !important; max-width:100%; height:180px; aspect-ratio:auto; margin:0; }
.catalog-product-view .glaesel-related-products .product-image-wrapper { display:block; height:180px; padding:0 !important; overflow:hidden; }
.catalog-product-view .glaesel-related-products .product-image-photo { position:static; display:block; width:100%; max-width:100%; height:100%; max-height:180px; margin:0 auto; object-fit:contain; }
.catalog-product-view .glaesel-related-products .product-item-details { display:flex !important; flex:1 1 auto; flex-direction:column; min-width:0; margin:0; padding:0; text-align:left; }
.catalog-product-view .glaesel-related-products .product-item-name { display:block; margin:0 0 10px; color:#173e2c; font-size:16px; font-weight:500; line-height:1.45; white-space:normal; overflow-wrap:anywhere; }
.catalog-product-view .glaesel-related-products .product-item-link { color:inherit; white-space:normal; }
.catalog-product-view .glaesel-related-products .price-box { margin:0 0 12px; }
.catalog-product-view .glaesel-related-products .price { font-size:20px; line-height:1.4; }
.catalog-product-view .glaesel-related-products .field.choice.related { position:static; inset:auto; z-index:auto; display:flex; align-items:center; gap:10px; min-height:44px; margin-top:auto; padding:8px 0 0; }
.catalog-product-view .glaesel-related-products .field.choice.related .checkbox { position:static; flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:#06402b; }
.catalog-product-view .glaesel-related-products .field.choice.related .label { position:static; display:block; width:auto; height:auto; margin:0; padding:0; overflow:visible; clip:auto; white-space:normal; color:#31533e; font-size:14px; line-height:1.5; cursor:pointer; }
.catalog-product-view .glaesel-related-products a:focus-visible,
.catalog-product-view .glaesel-related-products button:focus-visible,
.catalog-product-view .glaesel-related-products input:focus-visible { outline:2px solid #2b7450; outline-offset:3px; }
@media(max-width:1023px) { .catalog-product-view .glaesel-related-products .product-items { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) { .catalog-product-view .glaesel-related-products .block.related { padding:18px; } .catalog-product-view .glaesel-related-products .product-items { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } }
@media(max-width:479px) { .catalog-product-view .glaesel-related-products .product-items { grid-template-columns:minmax(0,1fr); } }
