/* Catalog CSS — vorota-kyivshchyny green theme */

/* Page hero */
.page-hero{background:linear-gradient(135deg,var(--g-dark) 0%,var(--g-deep) 40%,var(--g) 100%);color:#fff;padding:3rem 0 2.5rem;min-height:280px;display:flex;align-items:center;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-50%;right:-10%;width:400px;height:400px;border:60px solid rgba(255,255,255,.06);border-radius:50%;pointer-events:none}
.page-hero::after{content:'';position:absolute;bottom:-40%;left:-8%;width:300px;height:300px;border:45px solid rgba(255,255,255,.04);border-radius:50%;pointer-events:none}
.page-hero h1{font-family:'Montserrat',sans-serif;font-size:2.2rem;font-weight:800;margin-bottom:.75rem;line-height:1.2}
.page-hero h1 span{color:rgba(255,255,255,.85)}
.page-hero p{font-size:1.05rem;opacity:.88;max-width:700px;line-height:1.6}
.page-hero-breadcrumb .breadcrumb{font-size:.82rem}
.page-hero-breadcrumb .breadcrumb-item a{color:rgba(255,255,255,.7);text-decoration:none}
.page-hero-breadcrumb .breadcrumb-item a:hover{color:#fff}
.page-hero-breadcrumb .breadcrumb-item.active{color:rgba(255,255,255,.5)}
.page-hero-breadcrumb .breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.4)}

/* Section padding */
.section-padding{padding:4rem 0}
.section-bg{background:var(--off-white)}

/* Section title */
.section-title{font-family:'Montserrat',sans-serif;font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:1rem}

/* Catalog card */
.catalog-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:0;text-decoration:none;color:var(--text);box-shadow:0 2px 15px rgba(0,0,0,.06);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;border:1px solid var(--border);position:relative;overflow:hidden;height:100%}
.catalog-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.12);border-color:var(--g);color:var(--text)}
.catalog-card__media{position:relative;height:230px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(145deg,var(--region-c-f8fbfa,#f8fbfa) 0%,var(--region-c-eef6f2,#eef6f2) 100%);border-bottom:1px solid var(--border)}
.catalog-card__media img{width:100%;height:100%;object-fit:contain;padding:1.25rem;transition:transform .35s ease}
.catalog-card:hover .catalog-card__media img{transform:scale(1.06)}
.catalog-card__media-placeholder{font-size:4rem;color:var(--region-accent-ink,var(--g));opacity:.45}
.catalog-card__icon{position:absolute;left:1rem;bottom:1rem;width:48px;height:48px;background:rgba(255,255,255,.94);border:1px solid rgba(var(--region-rgb-0d8a52,13,138,82),.18);border-radius:13px;display:flex;align-items:center;justify-content:center;margin:0;font-size:1.2rem;color:var(--region-accent-ink,var(--g));box-shadow:0 5px 18px rgba(15,23,42,.1);transition:all .3s}
.catalog-card:hover .catalog-card__icon{background:var(--g);color:var(--region-on-primary,#fff)}
.catalog-card__body{position:relative;display:flex;flex:1;flex-direction:column;justify-content:center;min-height:132px;padding:1.25rem 4.25rem 1.35rem 1.35rem}
.catalog-card__title{font-family:'Montserrat',sans-serif;font-size:1.05rem;font-weight:750;color:var(--text);margin-bottom:.55rem;line-height:1.35}
.catalog-card__count{font-size:.85rem;color:var(--text-light);margin:0}
.catalog-card__subcats{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}
.catalog-card__subcat{background:var(--off-white);color:var(--text-light);font-size:.78rem;padding:.25rem .65rem;border-radius:20px;font-weight:500}
.catalog-card__arrow{position:absolute;top:50%;right:1.25rem;width:38px;height:38px;margin-top:-19px;border-radius:50%;background:var(--off-white);display:flex;align-items:center;justify-content:center;transition:all .3s;color:var(--region-accent-ink,var(--g))}
.catalog-card:hover .catalog-card__arrow{background:var(--g);color:var(--region-on-primary,#fff)}

/* Product card */
.product-card{display:block;background:#fff;border-radius:14px;overflow:hidden;text-decoration:none;color:var(--text);box-shadow:0 2px 12px rgba(0,0,0,.05);transition:all .3s;border:1px solid var(--border);height:100%}
.product-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,.1);border-color:var(--g);color:var(--text)}
.product-card__image{height:220px;overflow:hidden;background:var(--off-white);display:flex;align-items:center;justify-content:center}
.product-card__image img{width:100%;height:100%;object-fit:contain;padding:.5rem;transition:transform .3s}
.product-card:hover .product-card__image img{transform:scale(1.05)}
.product-card__no-image{display:flex;align-items:center;justify-content:center;height:100%;font-size:3rem;color:var(--border)}
.product-card__body{padding:1.15rem}
.product-card__meta{display:flex;flex-wrap:wrap;gap:.25rem .85rem;margin-bottom:.45rem;font-size:.72rem;line-height:1.35}
.product-card__meta-row{display:inline-flex;align-items:baseline;gap:.25rem;min-width:0;color:var(--text-light)}
.product-card__meta-row strong{color:var(--region-accent-ink,var(--g));font-weight:600;white-space:nowrap}
.product-card__title{font-family:'Montserrat',sans-serif;font-size:.95rem;font-weight:500;color:var(--text);margin-bottom:.6rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card__price{font-size:1.15rem;font-weight:650;color:var(--region-accent-ink,var(--g))}
.product-card__availability{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;padding:.3rem .55rem;border-radius:20px;background:#fff4df;color:#9a6200;font-size:.7rem;font-weight:600;line-height:1}
.product-card__action{display:none}

/* Catalog filtering, sorting and view */
.catalog-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:1.5rem;align-items:start}
.catalog-content{position:relative;min-width:0}
.catalog-content #products{transition:opacity .2s ease}
.catalog-content.is-loading #products{opacity:.38;pointer-events:none}
.catalog-pagination-host{margin-left:calc(250px + 1.5rem)}
.catalog-content.is-loading::after{content:'';position:absolute;z-index:25;top:88px;left:50%;width:38px;height:38px;margin-left:-19px;border:3px solid var(--g-glow);border-top-color:var(--g);border-radius:50%;animation:catalogFilterSpin .7s linear infinite}
@keyframes catalogFilterSpin{to{transform:rotate(360deg)}}
.catalog-brand-sidebar{position:sticky;top:100px;padding:1.1rem;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 5px 22px rgba(15,23,42,.06);max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(var(--region-rgb-0d8a52,13,138,82),.35) transparent}
.catalog-brand-sidebar__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.2rem .2rem 1rem;border-bottom:1px solid var(--border)}
.catalog-brand-sidebar__eyebrow{display:block;margin-bottom:.2rem;color:var(--region-accent-ink,var(--g));font-size:.88rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}
.catalog-brand-sidebar__header h2{margin:0;color:var(--text);font-family:'Montserrat',sans-serif;font-size:1.3rem;font-weight:500}
.catalog-brand-sidebar__close{display:none;width:38px;height:38px;align-items:center;justify-content:center;flex:0 0 auto;border:0;border-radius:10px;background:var(--off-white);color:var(--text);cursor:pointer}
.catalog-price-filter{padding:1rem .1rem 1.15rem;border-bottom:1px solid var(--border)}
.catalog-price-filter__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}
.catalog-price-filter__heading h3{margin:0;color:var(--text);font-size:1.05rem;font-weight:500}
.catalog-price-filter__reset{padding:0;border:0;background:transparent;color:var(--region-accent-ink,var(--g));font-size:.78rem;font-weight:550;cursor:pointer}
.catalog-price-filter__fields{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.catalog-price-filter__fields input{width:100%;height:44px;padding:0 .7rem;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--text);font-size:.95rem;font-weight:500;outline:0;transition:border-color .2s ease,box-shadow .2s ease}
.catalog-price-filter__fields input:focus{border-color:var(--g);box-shadow:0 0 0 3px var(--g-glow)}
.catalog-price-filter__fields input::-webkit-outer-spin-button,.catalog-price-filter__fields input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.catalog-price-filter__range{position:relative;height:38px;margin:.65rem 2px .3rem}
.catalog-price-filter__track{position:absolute;top:17px;left:0;right:0;height:4px;border-radius:10px;background:linear-gradient(to right,var(--border) 0%,var(--g) 0%,var(--g) 100%,var(--border) 100%)}
.catalog-price-filter__range input[type=range]{position:absolute;inset:0;width:100%;height:38px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none;outline:0}
.catalog-price-filter__range input[type=range]::-webkit-slider-runnable-track{height:4px;background:transparent}
.catalog-price-filter__range input[type=range]::-moz-range-track{height:4px;background:transparent}
.catalog-price-filter__range input[type=range]::-webkit-slider-thumb{width:25px;height:25px;margin-top:-10px;-webkit-appearance:none;border:2px solid var(--g);border-radius:50%;background:#fff;box-shadow:0 3px 10px rgba(var(--region-rgb-0d8a52,13,138,82),.2);cursor:pointer;pointer-events:auto}
.catalog-price-filter__range input[type=range]::-moz-range-thumb{width:22px;height:22px;border:2px solid var(--g);border-radius:50%;background:#fff;box-shadow:0 3px 10px rgba(var(--region-rgb-0d8a52,13,138,82),.2);cursor:pointer;pointer-events:auto}
.catalog-brand-filter{padding-top:1rem}
.catalog-brand-list__item{text-decoration:none}
.catalog-facet-groups{margin-top:0;border-top:0}
.catalog-facet{padding:1rem .1rem;border-bottom:1px solid var(--border)}
.catalog-facet:last-child{border-bottom:0;padding-bottom:.25rem}
.catalog-facet__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.65rem}
.catalog-facet__heading h3{margin:0;color:var(--text);font-size:1.02rem;font-weight:500;line-height:1.35}
.catalog-facet__reset{flex:0 0 auto;padding:.12rem 0;border:0;background:transparent;color:var(--region-accent-ink,var(--g));font-size:.72rem;font-weight:550;cursor:pointer}
.catalog-facet__options{display:flex;flex-direction:column;gap:.25rem}
.catalog-facet__option{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:38px;padding:.35rem .45rem;border-radius:10px;color:var(--text);font-size:.86rem;font-weight:400;cursor:pointer;transition:background-color .18s ease,color .18s ease}
.catalog-facet__option:hover{background:var(--g-glow);color:var(--g-deep)}
.catalog-facet__option.is-active{background:rgba(var(--region-rgb-0d8a52,13,138,82),.1);color:var(--g-deep)}
.catalog-facet__option.is-disabled{opacity:.42;cursor:default}
.catalog-facet__option.is-active.is-zero{background:#f1f3f5;color:#6c7687}
.catalog-facet__option.is-active.is-zero:hover{background:#e9ecef;color:#596273}
.catalog-facet__option input{position:absolute;opacity:0;pointer-events:none}
.catalog-facet__checkbox{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(19,33,58,.25);border-radius:6px;background:#fff;color:transparent;font-size:.72rem;transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}
.catalog-facet__option.is-active .catalog-facet__checkbox{border-color:var(--g);background:var(--g);color:var(--region-on-primary,#fff);box-shadow:0 3px 9px rgba(var(--region-rgb-0d8a52,13,138,82),.2)}
.catalog-facet__option.is-active.is-zero .catalog-facet__checkbox{border-color:#929baa;background:#929baa;box-shadow:none}
.catalog-facet__value{min-width:0;line-height:1.3}
.catalog-facet__count{min-width:25px;padding:.16rem .4rem;border-radius:20px;background:var(--off-white);color:var(--text-light);font-size:.72rem;font-weight:500;text-align:center}
.catalog-facet__option.is-active .catalog-facet__count{background:#fff;color:var(--region-accent-ink,var(--g))}
.catalog-facet__option.is-active.is-zero .catalog-facet__count{color:#7a8391}
.catalog-empty-results{display:flex;min-height:330px;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border:1px dashed var(--border);border-radius:18px;background:var(--off-white);text-align:center}
.catalog-empty-results>i{margin-bottom:.8rem;color:var(--region-accent-ink,var(--g));font-size:2rem}
.catalog-empty-results h2{margin:0 0 .4rem;color:var(--text);font-size:1.25rem;font-weight:600}
.catalog-empty-results p{margin:0 0 1rem;color:var(--text-light);font-size:.9rem}
.catalog-empty-results a{display:inline-flex;padding:.65rem 1rem;border-radius:10px;background:var(--g);color:var(--region-on-primary,#fff);font-size:.84rem;font-weight:600;text-decoration:none}
.catalog-filter-overlay,.catalog-mobile-filter-button,.catalog-floating-filter{display:none}
.catalog-toolbar{container:catalog-toolbar / inline-size;display:flex;justify-content:flex-start;align-items:center;gap:.85rem;flex-wrap:wrap;margin-bottom:1.5rem}
.catalog-toolbar:has(.catalog-sort.is-open){position:relative;z-index:1041}
.catalog-sort{max-width:100%;min-width:0;position:relative;display:flex;align-items:center;gap:.75rem;z-index:20;order:1}
.catalog-sort__label{font-size:.82rem;font-weight:650;color:var(--text-light);text-transform:uppercase;letter-spacing:.7px}
.catalog-sort__trigger{width:290px;min-height:48px;display:flex;align-items:center;gap:.7rem;padding:.45rem .75rem .45rem .5rem;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);font-size:.9rem;font-weight:400;text-align:left;cursor:pointer;box-shadow:0 4px 16px rgba(15,23,42,.06);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.catalog-sort__trigger:hover{border-color:rgba(var(--region-rgb-0d8a52,13,138,82),.45);box-shadow:0 7px 22px rgba(var(--region-rgb-0d8a52,13,138,82),.1)}
.catalog-sort__trigger:focus-visible{outline:0;border-color:var(--g);box-shadow:0 0 0 3px var(--g-glow),0 7px 22px rgba(var(--region-rgb-0d8a52,13,138,82),.12)}
.catalog-sort__icon,.catalog-sort__option-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:10px;background:var(--g-glow);color:var(--region-accent-ink,var(--g));font-size:1rem}
.catalog-sort__alpha{display:inline-flex;align-items:center;justify-content:center;gap:1px;font-size:.62rem;font-weight:650;line-height:.82;text-align:center}
.catalog-sort__alpha .bi{font-size:.8rem;line-height:1}
.catalog-sort__value{flex:1;min-width:0;white-space:normal;overflow-wrap:normal}
.catalog-sort__chevron{flex:0 0 auto;color:var(--text-light);font-size:.78rem;transition:transform .25s ease,color .25s ease}
.catalog-sort.is-open .catalog-sort__trigger{border-color:var(--g);box-shadow:0 0 0 3px var(--g-glow),0 10px 28px rgba(var(--region-rgb-0d8a52,13,138,82),.13)}
.catalog-sort.is-open .catalog-sort__chevron{transform:rotate(180deg);color:var(--region-accent-ink,var(--g))}
.catalog-sort__menu{position:absolute;top:calc(100% + 10px);right:0;width:290px;display:flex;flex-direction:column;gap:.3rem;padding:.5rem;border:1px solid rgba(var(--region-rgb-0d8a52,13,138,82),.18);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(15,23,42,.16);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .2s ease,visibility .2s ease,transform .2s ease}
.catalog-sort.is-open .catalog-sort__menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.catalog-sort__option{display:flex;align-items:center;gap:.7rem;min-height:48px;padding:.45rem .65rem;border-radius:11px;color:var(--text);font-size:.88rem;font-weight:450;text-decoration:none;transition:background-color .18s ease,color .18s ease}
.catalog-sort__option:hover,.catalog-sort__option:focus-visible{background:var(--g-glow);color:var(--g-deep);outline:0}
.catalog-sort__option.is-active{background:rgba(var(--region-rgb-0d8a52,13,138,82),.1);color:var(--g-deep)}
.catalog-sort__option.is-active .catalog-sort__option-icon{background:var(--g);color:var(--region-on-primary,#fff)}
.catalog-sort__check{margin-left:auto;color:var(--region-accent-ink,var(--g));opacity:0;transform:scale(.7);transition:opacity .18s ease,transform .18s ease}
.catalog-sort__option.is-active .catalog-sort__check{opacity:1;transform:scale(1)}
.catalog-view-switch{display:flex;align-items:center;gap:.75rem;order:3;margin-left:auto}
.catalog-view-switch__buttons{display:flex;gap:.3rem;padding:.3rem;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:0 4px 16px rgba(15,23,42,.06)}
.catalog-view-switch__button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:transparent;color:var(--text-light);font-size:1rem;cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.catalog-view-switch__button:hover{background:var(--g-glow);color:var(--region-accent-ink,var(--g))}
.catalog-view-switch__button:focus-visible{outline:0;box-shadow:0 0 0 3px var(--g-glow)}
.catalog-view-switch__button.is-active{background:var(--g);color:var(--region-on-primary,#fff);box-shadow:0 4px 12px rgba(var(--region-rgb-0d8a52,13,138,82),.25)}
.catalog-toolbar__count{order:2;color:var(--text);font-size:.95rem;font-weight:500;white-space:nowrap}
.catalog-products.is-list>.catalog-product-column{width:100%;flex:0 0 100%;max-width:100%}
.catalog-products.is-list .product-card{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:180px}
.catalog-products.is-list .product-card__image{height:180px;border-right:1px solid var(--border)}
.catalog-products.is-list .product-card__body{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 1.75rem}
.catalog-products.is-list .product-card__info{align-self:flex-start;min-width:0;flex:1}
.catalog-products.is-list .product-card__purchase{display:flex;flex:0 0 auto;min-width:185px;flex-direction:column;align-items:flex-end;gap:.8rem;padding-left:1.5rem;border-left:1px solid var(--border)}
.catalog-products.is-list .product-card__title{font-size:1.05rem;-webkit-line-clamp:3}
.catalog-products.is-list .product-card__price{margin:0;font-size:1.25rem;white-space:nowrap}
.catalog-products.is-list .product-card__availability{margin:0}
.catalog-products.is-list .product-card__action{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-width:150px;padding:.7rem 1rem;border-radius:11px;background:var(--g);color:var(--region-on-primary,#fff);font-size:.82rem;font-weight:600;transition:background .2s ease,transform .2s ease}
.catalog-products.is-list .product-card:hover .product-card__action{background:var(--g-deep);transform:translateX(2px)}
@media(min-width:1200px){
    .catalog-products:not(.is-list)>.catalog-product-column{width:33.333333%;flex:0 0 auto}
}

/* Related products slider */
.related-products-section{margin-top:3rem;margin-bottom:4rem;padding-bottom:.5rem}
.related-products-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.related-products-header .section-title{margin-bottom:0}
.related-products-controls{display:none;align-items:center;gap:.55rem;flex:0 0 auto}
.related-products-section.is-scrollable .related-products-controls{display:flex}
.related-products-btn{width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--region-accent-ink,var(--g));display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;transition:all .25s;box-shadow:0 4px 15px rgba(0,0,0,.06)}
.related-products-btn:hover:not(:disabled){background:var(--g);border-color:var(--g);color:var(--region-on-primary,#fff);box-shadow:0 7px 20px rgba(var(--region-rgb-0d8a52,13,138,82),.22)}
.related-products-btn:disabled{opacity:.4;cursor:default;box-shadow:none}
.related-products-viewport{overflow:hidden;margin:0 -.25rem;padding:.25rem .25rem 1.1rem}
.related-products-track{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:.25rem}
.related-products-track::-webkit-scrollbar{display:none}
.related-products__slide{flex:0 0 calc((100% - 3rem)/3);min-width:0;scroll-snap-align:start}
.related-products__slide .product-card{height:100%}
.related-products__slide .product-card:hover{transform:none;box-shadow:0 8px 25px rgba(0,0,0,.1);border-color:var(--g)}

/* Product gallery */
.product-gallery{margin-top:1rem}
.product-gallery__main{border-radius:14px;overflow:hidden;background:var(--off-white);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.product-gallery__main img{max-width:100%;max-height:100%;object-fit:contain}
.product-gallery__placeholder{display:flex;align-items:center;justify-content:center}
.product-gallery__thumbs{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}
.product-gallery__thumb{display:block;appearance:none;padding:0;width:70px;height:70px;border-radius:10px;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:all .2s;background:var(--off-white)}
.product-gallery__thumb.active,.product-gallery__thumb:hover{border-color:var(--g)}
.product-gallery__thumb:focus-visible{outline:2px solid var(--g);outline-offset:3px}
.product-gallery__thumb img{width:100%;height:100%;object-fit:contain}

/* Product detail */
.product-title{font-family:'Montserrat',sans-serif;font-size:1.8rem;font-weight:800;color:var(--text);margin-bottom:.75rem;line-height:1.25;padding-top:1rem}
.product-identifiers{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.product-identifier{display:inline-flex;align-items:baseline;gap:.35rem;font-size:.9rem}
.product-identifier span{color:var(--text-light)}
.product-identifier strong{color:var(--text);font-weight:750}
.product-price-block{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.product-price{font-size:2rem;font-weight:800;color:var(--region-accent-ink,var(--g))}
.product-stock{font-size:.85rem;font-weight:600;padding:.35rem .85rem;border-radius:50px}
.product-stock--in{background:rgba(40,167,69,.1);color:#28a745}
.product-stock--out{background:#fff4df;color:#9a6200}

/* Order form */
.product-order-form{background:var(--off-white);border-radius:14px;padding:1.5rem;border:1px solid var(--border)}
.product-order-form__title{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:700;color:var(--text);margin-bottom:1rem}
.product-order-form .form-control{border-radius:10px;padding:.6rem 1rem;border:1px solid var(--border);font-size:.9rem}
.product-order-form .form-control:focus{border-color:var(--g);box-shadow:0 0 0 .2rem var(--g-glow)}

/* Green button */
.btn-green{background:linear-gradient(135deg,var(--g),var(--g-bright));color:var(--region-on-primary,#fff);border:none;border-radius:10px;padding:.7rem 1.5rem;font-weight:700;font-size:.95rem;transition:all .3s}
.btn-green:hover{background:linear-gradient(135deg,var(--g-deep),var(--g));color:var(--region-on-primary,#fff);transform:translateY(-1px);box-shadow:0 4px 15px rgba(var(--region-rgb-0d8a52,13,138,82),.35)}

/* Product files */
.product-files{border-top:1px solid var(--border);padding-top:1rem}
.product-file-link{display:inline-flex;align-items:center;color:var(--region-accent-ink,var(--g));text-decoration:none;font-weight:500;font-size:.9rem;padding:.4rem 0;transition:color .2s}
.product-file-link:hover{color:var(--g-deep)}
.product-section-title{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.75rem}

/* Product tabs */
.product-tabs{container-type:inline-size;background:#fff;border-radius:16px;box-shadow:0 2px 15px rgba(0,0,0,.06);border:1px solid var(--border);overflow:hidden}
.product-tabs__nav{display:flex;flex-wrap:wrap;background:var(--off-white);border-bottom:1px solid var(--border);padding:0}
.product-tabs__btn{background:transparent;border:none;color:var(--text-light);font-weight:600;font-size:.95rem;padding:1rem 1.75rem;cursor:pointer;transition:all .25s;display:inline-flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:center;max-width:100%;overflow-wrap:normal;word-break:normal;gap:.4rem;position:relative;border-bottom:3px solid transparent;margin-bottom:-1px}
.product-tabs__btn:hover{color:var(--text);background:rgba(255,255,255,.6)}
.product-tabs__btn.active{color:var(--region-accent-ink,var(--g));background:#fff;border-bottom-color:var(--g)}
.product-tabs__btn i{font-size:1.05rem}
@media(max-width:575.98px){
    /* Preserve room for complete labels at 200% root text. */
    .product-tabs{margin-inline:min(0px,calc(12px - .75rem))}
    .product-tabs__btn{padding-inline:8px}
}
.product-tabs__content{padding:1.75rem}
.product-tabs__pane{display:none}
.product-tabs__pane.active{display:block}
.product-description{font-size:.95rem;line-height:1.7;color:var(--text-light)}
.product-description ul{padding-left:1.25rem;margin-bottom:1rem}
.product-description li{margin-bottom:.4rem}
.product-specs-table{width:100%;border-collapse:collapse}
.product-specs-table tr{border-bottom:1px solid var(--border)}
.product-specs-table tr:last-child{border-bottom:none}
.product-specs-table td{padding:.7rem .5rem;font-size:.9rem;vertical-align:top}
.product-specs-table__name{color:var(--text-light);font-weight:500;width:45%}
.product-specs-table__value{color:var(--text);font-weight:600}
@container(max-width:32em){
    /* Reflow relative to the panel width and its enlarged text, not the viewport. */
    .product-tabs__content{padding:min(1.75rem,24px) 12px}
    .product-specs-table tbody{display:block}
    .product-specs-table tr{display:grid;grid-template-columns:minmax(0,1fr);padding-block:.5rem}
    .product-specs-table td{display:block;width:auto;padding:.2rem 0;overflow-wrap:normal;word-break:normal}
}

/* Pagination */
.catalog-pagination-wrap{display:flex;flex-direction:column;align-items:center;gap:.75rem}
.catalog-pagination{display:flex;align-items:center;gap:.35rem;list-style:none;margin:0;padding:0}
.cp-link{display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:12px;font-weight:600;font-size:.92rem;color:var(--text);background:#fff;border:1px solid var(--border);text-decoration:none;transition:all .25s;cursor:pointer;padding:0 .5rem}
.cp-link:hover{background:var(--g-deep);color:#fff;border-color:var(--g-deep);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--region-rgb-0d8a52,13,138,82),.2)}
.cp-active .cp-link{background:var(--g);color:var(--region-on-primary,#fff);border-color:var(--g);box-shadow:0 4px 15px rgba(var(--region-rgb-0d8a52,13,138,82),.35);font-weight:700}
.cp-active .cp-link:hover{background:var(--g-dark);border-color:var(--g-dark)}
.cp-disabled .cp-link{color:var(--border);background:var(--off-white);border-color:var(--border);cursor:default;pointer-events:none;box-shadow:none;transform:none}
.cp-dots .cp-link{border:none;background:transparent;color:var(--text-light);cursor:default;min-width:32px;font-size:1.1rem;letter-spacing:2px}
.cp-dots .cp-link:hover{background:transparent;color:var(--text-light);transform:none;box-shadow:none}
.cp-prev .cp-link,.cp-next .cp-link{font-size:1rem;padding:0 .65rem}
.cp-info{font-size:.82rem;color:var(--text-light);font-weight:500;letter-spacing:.3px}

/* SEO text */
.catalog-seo-text{max-width:900px;margin:0 auto}
.catalog-seo-text h2{font-family:'Montserrat',sans-serif;font-size:1.4rem;font-weight:700;color:var(--text);margin-bottom:1rem}
.catalog-seo-text p{color:var(--text-light);font-size:.95rem;line-height:1.8}

/* AJAX form success */
.ajax-form .alert-success{background:rgba(13,138,82,.1);border:1px solid var(--g);color:var(--g-deep);border-radius:10px;padding:.75rem 1rem;margin-top:.75rem;font-size:.9rem}

/* Responsive */
@media(max-width:1199px){
    .catalog-layout{grid-template-columns:220px minmax(0,1fr);gap:1.1rem}
    .catalog-pagination-host{margin-left:calc(220px + 1.1rem)}
    .catalog-sort__trigger{width:260px}
}
@media(max-width:991px){
    .catalog-layout{display:block}
    .catalog-pagination-host{margin-left:0}
    .catalog-brand-sidebar{position:fixed;inset:0 auto 0 0;z-index:1060;width:min(86vw,340px);max-height:none;padding:1.25rem;border:0;border-radius:0;box-shadow:none;transform:translateX(-105%);transition:transform .32s cubic-bezier(.22,.75,.25,1),box-shadow .2s ease;overflow-y:auto}
    .catalog-brand-sidebar.is-open{box-shadow:18px 0 45px rgba(15,23,42,.22);transform:translateX(0)}
    .catalog-brand-sidebar__close{display:inline-flex}
    .catalog-filter-overlay{display:block;position:fixed;inset:0;z-index:1050;width:100%;height:100%;border:0;background:rgba(var(--region-rgb-051911,5,25,17),.45);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}
    body.catalog-filter-open{overflow:hidden}
    body.catalog-filter-open .catalog-filter-overlay{opacity:1;visibility:visible;pointer-events:auto}
    body.catalog-filter-open .grecaptcha-badge{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
    .catalog-mobile-filter-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;margin-right:auto;padding:.65rem 1rem;border:1px solid rgba(var(--region-rgb-0d8a52,13,138,82),.25);border-radius:13px;background:#fff;color:var(--g-deep);font-size:.88rem;font-weight:600;box-shadow:0 4px 16px rgba(15,23,42,.06)}
    .catalog-mobile-filter-button__badge,.catalog-floating-filter__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .35rem;border-radius:20px;background:var(--g);color:var(--region-on-primary,#fff);font-size:.68rem}
    .catalog-floating-filter{position:fixed;left:14px;top:50vh;bottom:auto;z-index:1040;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:50px;min-height:62px;padding:.7rem .45rem;border:1px solid rgba(255,255,255,.45);border-radius:0;background:linear-gradient(180deg,var(--g-deep),var(--g));color:var(--region-on-primary,#fff);font-size:.82rem;font-weight:600;box-shadow:0 10px 30px rgba(var(--region-rgb-054e30,5,78,48),.3);opacity:0;visibility:hidden;transform:translate(calc(-100% - 20px),-50%);transition:transform .35s cubic-bezier(.22,.75,.25,1),opacity .25s ease,visibility .25s ease}
    .catalog-floating-filter.has-label{min-height:132px}
    .catalog-floating-filter>span:not(.catalog-floating-filter__badge){writing-mode:vertical-rl;transform:rotate(180deg)}
    .catalog-floating-filter.is-visible{opacity:1;visibility:visible;transform:translate(-14px,-50%)}
    .related-products__slide{flex-basis:calc((100% - 1.5rem)/2)}
}
@media(max-width:767px){
    .product-gallery{margin-top:.75rem}
    .page-hero{padding:3.5rem 0 2.5rem;min-height:200px}
    .page-hero h1{font-size:1.6rem}
    .page-hero::before{width:180px;height:180px;border-width:25px;top:-30%;right:-15%}
    .page-hero::after{width:140px;height:140px;border-width:20px;bottom:-25%;left:-12%}
    .product-title{font-size:1.4rem}
    .product-price{font-size:1.6rem}
    .product-card__image{height:180px}
    .catalog-card{padding:1.5rem}
    .product-gallery__thumb{width:55px;height:55px}
    .cp-link{min-width:36px;height:36px;font-size:.82rem;border-radius:10px}
    .catalog-pagination{gap:.25rem}
    .catalog-products.is-list .product-card{grid-template-columns:150px minmax(0,1fr);min-height:145px}
    .catalog-products.is-list .product-card__image{height:145px}
    .catalog-products.is-list .product-card__body{gap:1rem;padding:1rem}
    .catalog-products.is-list .product-card__purchase{min-width:155px;padding-left:1rem}
    .catalog-products.is-list .product-card__action{min-width:132px;padding:.6rem .75rem}
}

@media(max-width:575px){
    .catalog-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:.75rem}
    .catalog-mobile-filter-button{grid-column:1/-1;width:100%;margin:0}
    .catalog-view-switch{order:1;margin:0;align-items:flex-end}
    .catalog-sort{order:2;width:100%;display:block}
    .catalog-toolbar__count{order:3;grid-column:1/-1;font-size:.82rem;color:var(--text-light)}
    .catalog-sort__trigger,.catalog-sort__menu{width:100%}
    .catalog-sort__menu{left:auto;right:0;transform-origin:top right}
    .related-products-section{margin-bottom:3rem}
    .related-products-header{align-items:flex-start}
    .related-products-btn{width:40px;height:40px;border-radius:11px}
    .related-products__slide{flex-basis:100%}
    .catalog-products.is-list .product-card{grid-template-columns:112px minmax(0,1fr);min-height:122px}
    .catalog-products.is-list .product-card__image{height:122px}
    .catalog-products.is-list .product-card__body{display:block;padding:.8rem}
    .catalog-products.is-list .product-card__purchase{display:block;min-width:0;padding:0;border:0}
    .catalog-products.is-list .product-card__title{font-size:.88rem;margin-bottom:.4rem;-webkit-line-clamp:3}
    .catalog-products.is-list .product-card__price{font-size:1rem}
    .catalog-products.is-list .product-card__action{display:none}
}
/* Reflow sorting controls with their available width and the requested text size. */
@container catalog-toolbar (max-width:32em){
    .catalog-sort{grid-column:1/-1;flex-basis:100%;width:100%}
    .catalog-sort__trigger,.catalog-sort__menu{width:100%;max-width:100%}
    .catalog-sort__option>span:nth-child(2){min-width:0;overflow-wrap:normal}
}
@container catalog-toolbar (max-width:18em){
    .catalog-sort__trigger,.catalog-sort__option{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.4rem;padding-inline:8px}
    .catalog-sort__value,.catalog-sort__option>span:nth-child(2){grid-column:1/-1;grid-row:2}
    .catalog-sort__chevron,.catalog-sort__check{grid-column:2;grid-row:1;justify-self:end}
    .catalog-sort__menu{padding:4px}
}
.product-shopping-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.product-shopping-benefit{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.8rem;color:var(--dark,#13213a);text-decoration:none;border:1px solid var(--border,#dce5ee);border-radius:12px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.product-shopping-benefit:hover{color:var(--dark,#13213a);border-color:var(--g,var(--region-c-079455,#079455));box-shadow:0 8px 20px rgba(var(--region-rgb-079455,7,148,85),.08)}
.product-shopping-benefit>i{flex:0 0 auto;color:var(--g,var(--region-c-079455,#079455));font-size:1.15rem}
.product-shopping-benefit span,.product-shopping-benefit small{display:block}
.product-shopping-benefit strong{font-size:.9rem;font-weight:600}
.product-shopping-benefit small{margin-top:.1rem;color:#748197;font-size:.75rem;line-height:1.25}
@media(max-width:575.98px){.product-shopping-benefits{grid-template-columns:1fr;gap:.5rem}}
