/* Shared card body preserves equal card heights at every breakpoint. */
.card-content{display:flex;flex-direction:column;flex:1;min-width:0}
.card-content .card-foot{margin-top:auto}
.add .add-label{display:none}

@media(max-width:760px){
  .hdr-row{gap:8px}
  .hdr-tools{gap:2px;flex:none}
  .hdr-tools .icon-btn{width:44px;height:44px;flex:none}
  .logo{min-width:0}
  main{min-width:0}
  .crumbs{flex-wrap:wrap;overflow-wrap:anywhere;line-height:1.6}
  .listing-heading{padding:22px 0 6px}
  .listing-heading p{font-size:.88rem;line-height:1.65;margin-top:10px}
  .subcategory-bar{margin:18px 0 20px}
  .subcategory-header{margin-bottom:8px}
  .scroll-category{width:44px;height:44px}
  .subcategory-chip{min-height:44px;padding:10px 13px}
  .subcategory-scroller{padding-bottom:6px;scrollbar-width:none}
  .subcategory-scroller::-webkit-scrollbar{display:none}
  .toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:center;margin-bottom:18px}
  .toolbar .filters-open{min-height:44px;justify-content:center;font-size:.82rem;padding:0 14px}
  .toolbar .sort{grid-column:2;grid-row:1;width:auto;min-width:0;justify-content:flex-end;margin:0}
  .toolbar .sort-label{display:none}
  .toolbar .sort select{width:100%;max-width:230px;min-width:0;min-height:44px;font-size:16px;padding:9px 28px 9px 11px;background:var(--white)}
  .toolbar .found{grid-column:1/-1;grid-row:2;order:initial;flex-basis:auto;margin:0;font-size:.78rem;color:var(--muted)}
  .active-filter{min-height:40px;padding:8px 12px}
  .filter-query input,.facet-search input,.price-range input{font-size:16px;min-height:44px}
  .filter-choice,.facet-more{min-height:44px}
  .side .filter-actions{flex-direction:row;flex-wrap:wrap;align-items:center}
  .side .filter-actions .btn{flex:1 1 150px}
  .side .filter-actions .reset-filters{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px}
  .listing-grid{gap:24px 14px}
  .card-brand{font-size:.72rem;line-height:1.4;overflow-wrap:anywhere;margin-bottom:5px}
  .card-title{font-size:.9rem;line-height:1.45;-webkit-line-clamp:3;min-height:4.35em;margin:0 0 10px;overflow-wrap:anywhere}
  .card .stock{font-size:.72rem;line-height:1.5;min-height:20px;margin:0 0 10px}
  .card .stock:before{flex:none;width:6px;height:6px}
  .card-content .card-foot{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}
  .card .price{min-width:0;gap:2px 6px;align-content:flex-start;min-height:27px}
  .card .price-now{font-size:1rem;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}
  .card .price s{font-size:.73rem;white-space:nowrap}
  .card .unit{font-size:.7rem;white-space:nowrap}
  .card-foot .add{width:100%;min-height:44px;height:44px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--white);border-color:#bac2be}
  .card-foot .add .ic{width:18px;height:18px;flex:none}
  .card-foot .add .add-label{display:inline;position:static;width:auto;height:auto;overflow:visible;clip:auto;font-size:.8rem}
  .card-foot .add:hover{background:var(--slate);color:var(--white)}
  .listing-grid .card-floor{grid-column:1/-1;display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}
  .listing-grid .card-floor .card-img{width:100%;margin:0;aspect-ratio:1;border-radius:8px}
  .listing-grid .card-floor .card-title{min-height:0;-webkit-line-clamp:4;font-size:.94rem;margin-bottom:8px}
  .listing-grid .card-floor .card-brand{font-size:.7rem}
  .listing-grid .card-floor .card-content{height:100%}
  .listing-grid .card-floor .card-foot{gap:8px}
  .pgrid{padding-top:8px;gap:22px}
  .pinfo h1{font-size:clamp(1.5rem,6.4vw,1.8rem);line-height:1.25;overflow-wrap:anywhere}
  .pcodes{font-size:.8rem;gap:6px 16px;overflow-wrap:anywhere}
  .thumbs{gap:8px}
  .thumbs button{width:64px;height:64px}
  .gallery-caption{font-size:.72rem;line-height:1.5}
  .pinfo .buy{padding:18px;gap:14px;margin-top:20px}
  .price-big .price-now{font-size:clamp(1.65rem,7.8vw,2.1rem);line-height:1.3;overflow-wrap:anywhere}
  .price-big{min-width:0;gap:5px 9px}
  .price-big s{font-size:.9rem}
  .badge-sale{font-size:.76rem;line-height:1.6}
  .stock-check{min-height:44px;line-height:1.5;font-size:.84rem}
  .pack-facts{gap:6px}
  .pack-facts>span{font-size:.74rem;overflow-wrap:anywhere}
  .quantity-modes button{min-height:44px;font-size:.84rem;padding:8px 5px}
  .quantity-order .buy-row{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(0,1.1fr);gap:10px}
  .quantity-order .qty{width:100%;min-width:0;height:52px}
  .quantity-order .qty button{width:44px;flex:0 0 44px}
  .quantity-order .qty input{font-size:16px;min-width:0}
  .quantity-order .btn-buy{width:100%;min-width:0;min-height:52px;padding:10px;font-size:.88rem;gap:8px}
  .quantity-total{flex-wrap:wrap;gap:8px 14px}
  .quantity-total>b{max-width:100%;font-size:1.4rem;overflow-wrap:anywhere}
  .quantity-summary,.quantity-note,.quantity-rounding{overflow-wrap:anywhere;line-height:1.6}
  .assure{font-size:.78rem;line-height:1.6}
  .assure .ic{flex:none}
  .keyfacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .keyfacts dt{font-size:.72rem;line-height:1.5}
  .keyfacts dd{font-size:.86rem;overflow-wrap:anywhere}
  .pmore{margin-top:36px}
  .acc summary{gap:18px;min-height:56px;padding:18px 0}
  .acc summary h2{font-size:1.2rem}
  .acc summary:after{flex:none}
  .pmore .specs{table-layout:fixed}
  .pmore .specs th,.pmore .specs td{font-size:.8rem;overflow-wrap:anywhere;word-break:normal;line-height:1.65}
  .pmore .specs th{width:45%;padding-right:12px}
  .pdesc{font-size:.86rem;overflow-wrap:anywhere}
  .similar-grid .card-title{min-height:4.35em}
  .drawer{max-width:100vw;padding-bottom:env(safe-area-inset-bottom)}
  .dr-item h3,.citem h3{overflow-wrap:anywhere}
  .dr-item>div{min-width:0}
  .dr-item .dr-row{flex-wrap:wrap;align-items:flex-start;gap:10px}
  .dr-item .dr-row>b{max-width:100%;overflow-wrap:anywhere}
  .drawer .qty button,.citem .qty button{width:44px;flex:0 0 44px}
  .drawer .qty,.citem .qty{height:48px}
  .drawer .qty input,.citem .qty input{font-size:16px;min-width:0}
  .citem-side{flex-wrap:wrap;gap:12px;min-width:0}
  .citem-del{min-height:44px;display:inline-flex;align-items:center}
  .citem-sum,.drawer-total b{max-width:100%;overflow-wrap:anywhere}
  .order-form input:not([type=radio]):not([type=checkbox]),.order-form textarea,.order-form select{font-size:16px;min-width:0;max-width:100%}
  .order-form .btn{min-height:48px;white-space:normal;line-height:1.5}
  .info-page h1{overflow-wrap:anywhere}
}

@media(max-width:1024px) and (min-width:761px){
  .hdr-tools .icon-btn{min-width:44px;min-height:44px}
  .card-foot .add{min-width:44px;min-height:44px}
  .quantity-order .qty button{flex-basis:44px;min-width:44px}
  .card-title{-webkit-line-clamp:3;min-height:4.2em;overflow-wrap:anywhere}
}

@media(max-height:500px) and (min-width:641px) and (max-width:1024px){
  .pgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
  .gallery{position:static}
  .gallery-main{max-width:360px;margin-inline:auto}
  .pinfo h1{font-size:1.45rem;overflow-wrap:anywhere}
  .pinfo .buy{padding:18px}
  .quantity-order .buy-row{flex-wrap:wrap}
  .quantity-order .qty,.quantity-order .btn-buy{flex:1 1 100%}
  .quantity-order .qty button{flex-basis:44px}
}

@media(max-width:380px){
  .quantity-order .buy-row{grid-template-columns:minmax(0,1fr)}
  .quantity-total>span{max-width:none}
  .pinfo .buy{padding:16px}
  .quantity-total>b{font-size:1.35rem}
  .toolbar{gap:8px}
  .toolbar .filters-open{padding:0 10px}
}

@media(max-width:359px){
  .listing-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .listing-grid .card,.listing-grid .card-floor{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
  .listing-grid .card .card-img{margin:0;aspect-ratio:1;width:100%}
  .listing-grid .card .card-title{min-height:0;-webkit-line-clamp:4;font-size:.88rem}
  .listing-grid .card .card-content{height:100%}
  .listing-grid .card .badge{font-size:.62rem;top:6px;left:6px;padding:2px 6px}
  .listing-grid .card .price-now{font-size:.94rem}
  .card-title{font-size:.86rem}
  .similar-grid .card-title{min-height:0}
}
