
:root { --shop-gap:24px; --shop-text:18px; --shop-detail:16px; }
*,*::before,*::after { box-sizing:border-box; }
body { font-size:var(--shop-text); }
.wrap,.sy-wrap { width:100%; max-width:1280px; }
.hdr,.hdr-right,.product-grid,.product-slider,.product-info,.card,.card-body,.products,.foot-grid>* { min-width:0; }
.hdr { flex-wrap:wrap; gap:16px; }
.hdr-right { margin-left:auto; flex-shrink:0; }
.hdr-nav { order:3; flex:1 1 100%; display:flex!important; gap:12px 24px; flex-wrap:wrap; }
.hdr-nav a { white-space:normal; font-size:16px; }
.product-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.product-main-img { width:100%; max-width:100%; object-fit:contain; }
.product-thumbs { max-width:100%; overflow-x:auto; }
.product-thumbs img { flex-shrink:0; }
.product-title,.card-name { font-family:Inter,system-ui,sans-serif; overflow-wrap:anywhere; }
.product-title { font-size:clamp(26px,3vw,38px); line-height:1.25; }
.card-name { font-size:20px; line-height:1.4; }
.spec-label,.spec-value,.product-desc,.card-desc { font-size:var(--shop-detail)!important; }
.product-specs li { gap:16px; align-items:flex-start; }
.spec-value { min-width:0; overflow-wrap:anywhere; }
.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
.card-footer,.card-btns,.product-actions { flex-wrap:wrap; gap:12px; }
.card-desc { -webkit-line-clamp:unset; max-height:none; }
.btn-dark,.ph-btn-dark,.sy-btn-primary,.popup button[id$="Submit"] { background:var(--blue)!important; color:var(--white)!important; }
.btn-dark:hover,.ph-btn-dark:hover,.sy-btn-primary:hover { background:var(--blue-hover)!important; }
button,a,input,select { touch-action:manipulation; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.shop-delivery,.shop-size,.shop-help { background:var(--blue-mist); padding:20px; border:1px solid var(--line); border-radius:var(--radius-md); margin:16px 0; }
.shop-delivery label,.shop-size legend { font-weight:600; font-size:16px; }
.shop-delivery select,.shop-filters select,.shop-filters input { display:block; width:100%; min-height:48px; font:inherit; background:var(--white); color:var(--navy); padding:10px 12px; border:1px solid var(--line); border-radius:8px; }
.shop-delivery p,.shop-card-spec,.shop-note { font-size:16px; line-height:1.5; margin:8px 0; }
.shop-size { min-width:0; }
.shop-size-options { display:flex; gap:10px; flex-wrap:wrap; }
.shop-size-options button { flex:1 1 140px; font:inherit; font-size:16px; min-height:56px; border:1px solid var(--line); padding:12px; border-radius:10px; background:var(--white); color:var(--navy); cursor:pointer; }
.shop-size-options button[aria-pressed="true"] { background:var(--blue); color:var(--white); border-color:var(--blue); }
.shop-size-options small { display:block; font-size:16px; }
.shop-unit { display:block; font-size:18px; font-family:Inter,system-ui,sans-serif; margin:8px 0; }
.shop-links { display:flex; flex-wrap:wrap; gap:12px 24px; padding:24px 0; font-size:16px; }
.shop-links a { text-decoration:underline; }
.shop-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:20px; margin-bottom:24px; background:var(--blue-mist); border-radius:var(--radius-md); }
.shop-filters label { font-size:16px; }
.shop-filter-status { grid-column:1/-1; display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.shop-filter-status button { min-height:44px; font:inherit; background:white; border:1px solid var(--line); border-radius:8px; padding:8px 16px; }
.hero-banner.shop-category-hero { min-height:0; height:auto; display:flex; align-items:center; justify-content:space-between; background:var(--blue-mist); color:var(--navy); padding:32px; gap:24px; }
.shop-category-hero h1 { font-size:clamp(28px,3vw,40px); }
.shop-category-hero p { font-size:18px; }
.shop-category-hero img { width:160px; height:120px; object-fit:cover; border-radius:16px; }
.shop-category-hero+* { margin-top:24px; }
.hero:has(.shop-category-hero) { padding:24px 0 0; }
.sec { padding:56px 0; }




.shop-featured .btn { width:100%; }
.ph-drawer { max-width:100vw; height:100dvh; }
.ph-drawer-foot { overflow-y:auto; max-height:65dvh; }
.ph-drawer-foot .shop-delivery { padding:12px; margin:8px 0; }
.ph-drawer-foot .shop-note { font-size:14px; }
.ph-cart-info,.ph-cart-name { min-width:0; overflow-wrap:anywhere; }
#phDeliveryStrip { white-space:normal!important; flex-wrap:wrap!important; }
.shop-mobile-menu { display:none; }
@media(max-width:900px) {
 .products { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .shop-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hdr-phone { font-size:18px; }
 .hdr-right>.btn { display:none!important; }
 .product-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:640px) {
 .wrap { padding-left:16px; padding-right:16px; }
 .hdr { gap:8px; padding:12px 0; }
 .hdr-right { gap:8px; }
 .hdr-phone { display:none; }
 .hdr-nav { display:none!important; }
 .shop-mobile-menu { display:block; flex:1 1 100%; font-size:16px; }
 .shop-mobile-menu summary { min-height:44px; cursor:pointer; padding:10px 0; }
 .shop-mobile-menu nav { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:12px 0; }
 .shop-mobile-menu a { min-height:44px; }
 .hdr-right .burger { display:none!important; }
 .logo-mark { font-size:20px!important; }
 .logo-badge { width:36px; height:36px; }
 .logo { gap:8px; }
 .shop-filters { grid-template-columns:1fr; }
 .shop-category-hero img { display:none; }
 .hero-banner.shop-category-hero { padding:24px; }
 .products { grid-template-columns:minmax(0,1fr); }
 .product-actions>* { width:100%; }
 .shop-links { flex-direction:column; }
 .ph-drawer-foot { padding:12px 16px; }
 .ph-drawer-head { padding:16px; }
}

[hidden]{display:none!important}.shop-categories{padding:40px 0}.shop-categories .sy-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.shop-categories .sy-cat{min-width:0}.shop-categories .sy-cat-name{white-space:normal;font-size:18px}.shop-categories h2{margin-bottom:24px}@media(max-width:900px){.shop-categories .sy-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.shop-categories .sy-cats{gap:12px}.shop-categories .sy-cat-name{font-size:16px}.shop-categories .sy-cat-foot{padding:12px}}

.shop-size-options button[aria-pressed="true"] small{color:var(--white)}.product-actions{margin:20px 0}.product-variant .hint{font-size:16px}.related-name{font-family:Inter,system-ui,sans-serif;font-size:16px}.shop-mobile-menu nav a{overflow-wrap:anywhere}

/* Homepage product cards: consistent photographs and aligned purchase rows. */
.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch}
.featured-card{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .18s,box-shadow .18s}
.featured-card:hover{border-color:var(--blue);box-shadow:var(--shadow-sm)}
.featured-link{display:flex;flex-direction:column;height:100%;color:var(--navy);text-decoration:none}
.featured-photo{width:100%;aspect-ratio:1;background:var(--blue-mist);overflow:hidden}
.featured-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.featured-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:20px}
.featured-title{font:600 20px/1.35 Inter,system-ui,sans-serif;min-height:54px;margin:0 0 10px;letter-spacing:-.02em;overflow-wrap:break-word;color:var(--navy)}
.featured-material{font:400 15px/1.5 Inter,system-ui,sans-serif;min-height:45px;margin:0 0 12px;color:var(--navy-2)}
.featured-kit{font:500 15px/1.5 Inter,system-ui,sans-serif;margin:0 0 20px;color:var(--navy)}
.featured-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:16px}
.featured-price{font:600 25px/1.2 Inter,system-ui,sans-serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin:0 0 16px;white-space:nowrap;color:var(--navy)}
.featured-price>span{font-size:17px;font-weight:400;letter-spacing:0}
.featured-cta{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 18px;border-radius:10px;font:600 16px/1.25 Inter,system-ui,sans-serif;background:var(--blue);color:var(--white)}
.featured-link:hover .featured-cta{background:var(--blue-hover)}
.featured-cta>span{font-size:22px;font-weight:400}
.featured-link:focus-visible{outline-offset:-4px}
@media(max-width:1100px){.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.featured-grid{grid-template-columns:minmax(0,1fr);gap:24px}.featured-photo{aspect-ratio:6/5}.featured-title{min-height:0}.featured-material{min-height:0}.featured-body{padding:20px}.featured-kit{margin-bottom:16px}.featured-price{font-size:24px}}
