
:root{--gd:#1a3d2b;--gm:#2d6a4f;--gl:#52b788;--gp:#95d5b2;--gmist:#e8f7ee;--gold:#c9a84c}
*{margin:0;padding:0;box-sizing:border-box}
html{min-height:100%;height:100%}
body{font-family:Inter,sans-serif;background:#fff;color:var(--gd);overflow-x:hidden;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.site-main{flex:1 0 auto;width:100%;display:block}
footer{margin-top:auto;flex-shrink:0;width:100%}
a{text-decoration:none;color:inherit}
header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.97);
  backdrop-filter:blur(14px);border-bottom:1px solid rgba(26,61,43,.08);box-shadow:0 2px 16px rgba(0,0,0,.06)}
.hdr-inner{max-width:1300px;margin:0 auto;padding:0 24px;display:flex;align-items:center;height:70px;gap:20px}
.logo{font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:600;color:var(--gd)}
nav{display:flex;gap:6px;flex:1;justify-content:center;flex-wrap:wrap}
nav a{color:var(--gd);font-size:.83rem;font-weight:500;padding:6px 12px;border-radius:20px;transition:background .2s,color .2s}
nav a:hover,nav a.active{background:var(--gmist);color:var(--gm)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}
.burger span{display:block;width:24px;height:2px;background:var(--gd);border-radius:2px}
.mob-nav{display:none;position:fixed;top:70px;left:0;right:0;background:#fff;
  border-bottom:2px solid var(--gmist);padding:16px 24px;flex-direction:column;gap:4px;z-index:999;box-shadow:0 8px 24px rgba(0,0,0,.1)}
.mob-nav.open{display:flex}
.mob-nav a{color:var(--gd);font-size:.9rem;padding:10px 0;border-bottom:1px solid var(--gmist);font-weight:500}
.hero{min-height:100vh;padding:110px 5% 80px;background:#fff;display:flex;align-items:center;position:relative;overflow:hidden}
.balls-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.hero-content{position:relative;z-index:1;max-width:620px}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(82,183,136,.1);
  border:1px solid rgba(82,183,136,.25);color:var(--gm);padding:7px 16px;border-radius:30px;
  font-size:.77rem;font-weight:600;margin-bottom:18px;letter-spacing:.5px}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(2rem,5vw,3.8rem);color:var(--gm);line-height:1.2;margin-bottom:18px}
.hero p{font-size:clamp(.88rem,1.4vw,1rem);color:#3a6b52;max-width:500px;line-height:1.75;margin-bottom:32px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.btn-prim{padding:13px 28px;background:linear-gradient(135deg,var(--gl),var(--gm));color:#fff;border:none;
  border-radius:28px;font-size:.92rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;display:inline-block}
.btn-prim:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(82,183,136,.4)}
.btn-sec{padding:13px 28px;background:transparent;color:var(--gm);border:2px solid var(--gl);
  border-radius:28px;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-block}
.btn-sec:hover{background:var(--gmist)}
.hero-stats{display:flex;gap:28px;margin-top:40px;flex-wrap:wrap}
.h-stat h3{font-family:"Playfair Display",serif;font-size:1.8rem;color:var(--gd)}
.h-stat p{font-size:.75rem;color:#5a7a65;margin-top:2px}
.page-header{padding:clamp(80px,10vw,120px) 5% 50px;background:linear-gradient(135deg,#f3f9f5,#e8f7ee);text-align:center}
.page-header h1{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,3rem);color:var(--gd);margin-bottom:10px}
.page-header p{color:#5a7a65;font-size:1rem}
.sec-label{text-align:center;font-size:.75rem;font-weight:700;color:var(--gl);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.sec-title{text-align:center;font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.4rem);color:var(--gd);margin-bottom:50px}
.f-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;max-width:1100px;margin:0 auto}
.f-card{background:#fff;border:1.5px solid #e0f0e8;border-radius:20px;padding:28px 22px;text-align:center;transition:transform .3s,box-shadow .3s}
.f-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px rgba(82,183,136,.15)}
.f-icon{font-size:2.4rem;margin-bottom:14px}
.f-card h3{font-family:"Playfair Display",serif;font-size:1rem;color:var(--gd);margin-bottom:8px}
.f-card p{font-size:.8rem;color:#5a7a65;line-height:1.6}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px}
.prod-card{background:#fff;border:1.5px solid #e0f0e8;border-radius:16px;overflow:hidden;
  cursor:pointer;transition:transform .25s,box-shadow .25s}
.prod-card:hover{transform:translateY(-5px);box-shadow:0 10px 28px rgba(26,61,43,.12)}
.prod-card a{display:block;color:inherit}
.prod-img{height:190px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background-size:cover;background-position:center}
.prod-img .ph-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.prod-img .ph-wrap svg{width:80px;height:80px;opacity:.85;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}
.prod-img::before{content:'';position:absolute;inset:0;background:inherit;filter:brightness(.92)}
.prod-badge{position:absolute;top:8px;right:8px;background:var(--gold);color:#fff;
  font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:10px}
.prod-body{padding:14px;background:#fff}
.prod-body h4{font-size:.85rem;font-weight:600;color:var(--gd);margin-bottom:6px;line-height:1.35}
.prod-price{font-family:"Playfair Display",serif;font-size:.95rem;color:var(--gm);font-weight:600}
.prod-price span{font-size:.72rem;color:#aaa;font-family:Inter,sans-serif;font-weight:400;text-decoration:line-through;margin-left:6px}
.prod-btn{margin-top:10px;width:100%;padding:7px;background:var(--gmist);color:var(--gm);
  border:none;border-radius:14px;font-size:.77rem;font-weight:600;cursor:pointer;
  transition:background .2s;text-align:center}
.prod-card:hover .prod-btn{background:var(--gp)}
.cat-tabs{display:flex;gap:10px;margin-bottom:32px;flex-wrap:wrap;justify-content:center}
.cat-tab{padding:10px 22px;border:2px solid #d0ead8;background:#fff;border-radius:30px;
  font-size:.85rem;font-weight:600;color:var(--gm);cursor:pointer;transition:all .25s;white-space:nowrap}
.cat-tab:hover{background:var(--gmist)}
.cat-tab.active{background:var(--gd);color:#fff;border-color:var(--gd)}
.cta{text-align:center;padding:clamp(60px,8vw,100px) 5%}
.cta h2{font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.4rem);color:var(--gd);margin-bottom:14px}
.cta p{color:#5a7a65;font-size:.92rem;margin-bottom:30px;max-width:500px;margin:0 auto 30px}
.phones{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.phone-card{background:var(--gmist);border:1px solid #c0e8cc;border-radius:16px;padding:16px 24px;text-align:center}
.phone-card a{font-family:"Playfair Display",serif;font-size:1.2rem;color:var(--gd);font-weight:600;display:block}
.phone-card small{font-size:.72rem;color:#5a7a65;margin-top:2px;display:block}
.breadcrumb{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:24px;font-size:.82rem;color:#aaa}
.breadcrumb a{color:var(--gm)}
.breadcrumb a:hover{color:var(--gd)}
.product-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;margin-bottom:70px}
.product-gallery{position:sticky;top:90px}
.product-main-img{border-radius:20px;overflow:hidden;background:var(--gmist);
  aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.product-main-img img{width:100%;height:100%;object-fit:cover}
.product-title{font-family:"Playfair Display",serif;font-size:clamp(1.6rem,3vw,2.4rem);color:var(--gd);margin-bottom:16px}
.product-price-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.product-price-big{font-family:"Playfair Display",serif;font-size:2rem;font-weight:700;color:var(--gm)}
.product-old-price{font-size:1.1rem;color:#aaa;text-decoration:line-through}
.product-discount-tag{background:#e8f7ee;color:#2d6a4f;padding:4px 12px;border-radius:20px;font-size:.82rem;font-weight:700}
.option-label{font-size:.75rem;font-weight:700;color:var(--gd);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px}
.color-dots{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.cdot{width:26px;height:26px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:border-color .2s;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.cdot.active{border-color:var(--gd)}
.var-btns{display:flex;gap:8px;flex-wrap:wrap}
.vbtn{padding:6px 14px;border:2px solid #d0ead8;border-radius:14px;font-size:.78rem;
  font-weight:600;color:var(--gm);cursor:pointer;transition:all .2s;background:#fff}
.vbtn.active{background:var(--gd);color:#fff;border-color:var(--gd)}
.calc-box{background:var(--gmist);border-radius:14px;padding:16px;margin:16px 0}
.calc-box h4{font-size:.82rem;font-weight:700;color:var(--gd);margin-bottom:12px}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.calc-row label{font-size:.72rem;color:var(--gm);font-weight:600;display:block;margin-bottom:3px}
.calc-row input,.calc-row select{width:100%;padding:7px 10px;border:2px solid rgba(82,183,136,.3);border-radius:8px;font-size:.82rem;background:#fff;outline:none}
.calc-result{font-family:"Playfair Display",serif;font-size:1.1rem;color:var(--gd);margin-top:8px;font-weight:600}
.of-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ps-ov{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s}
.ps-ov.open{opacity:1;pointer-events:all}
.ps-panel{position:fixed;top:0;right:0;bottom:0;width:min(520px,100vw);background:#fff;z-index:2001;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;display:flex;flex-direction:column}
.ps-panel.open{transform:translateX(0)}
.ps-hero{height:200px;display:flex;align-items:center;justify-content:center;background:var(--gmist);position:relative;flex-shrink:0}
.ps-close{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.9);border:none;
  border-radius:50%;width:36px;height:36px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ps-body{padding:20px;flex:1}
.ps-name{font-family:"Playfair Display",serif;font-size:1.3rem;color:var(--gd);margin-bottom:4px}
.ps-price{font-size:1.5rem;font-weight:700;color:var(--gm);margin-bottom:8px}
.ps-desc{color:#5a7a65;font-size:.88rem;line-height:1.7;margin:10px 0}
.ps-sect{font-size:.75rem;font-weight:700;color:var(--gd);text-transform:uppercase;letter-spacing:.8px;margin:14px 0 8px}
.order-form{background:#fff;border-top:2px solid var(--gmist);padding:20px;flex-shrink:0}
.order-form h4{font-family:"Playfair Display",serif;color:var(--gd);margin-bottom:12px}
.order-form input,.order-form textarea{width:100%;padding:10px 14px;border:2px solid #d0ead8;
  border-radius:10px;font-size:.85rem;outline:none;font-family:inherit;margin-bottom:8px}
.order-form textarea{height:64px;resize:none}
.btn-order{width:100%;padding:13px;background:linear-gradient(135deg,var(--gl),var(--gm));
  color:#fff;border:none;border-radius:22px;font-size:.9rem;font-weight:700;cursor:pointer}
.cart-item{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid #e0f0e8;
  border-radius:16px;padding:14px;margin-bottom:14px}
.cart-thumb{width:70px;height:70px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}
.cart-info{flex:1}
.cart-info h4{color:var(--gd);font-size:.9rem;font-weight:600}
.cart-info p{color:#888;font-size:.78rem;margin-top:4px}
.cart-qty{display:flex;align-items:center;gap:10px}
.cart-qty button{width:28px;height:28px;border-radius:50%;border:1.5px solid #d0ead8;
  background:#fff;cursor:pointer;font-size:1rem;color:var(--gm)}
.cart-price{font-family:"Playfair Display",serif;font-weight:600;color:var(--gm);min-width:80px;text-align:right}
.remove-btn{background:none;border:none;color:#ccc;cursor:pointer;font-size:1.1rem}
.remove-btn:hover{color:#e55}
.cart-summary{background:#fff;border:1.5px solid #e0f0e8;border-radius:20px;padding:28px;position:sticky;top:90px;flex:1;min-width:240px}
.cart-summary h3{font-family:"Playfair Display",serif;color:var(--gd);margin-bottom:20px}
.summary-row{display:flex;justify-content:space-between;margin-bottom:12px;color:#5a7a65;font-size:.9rem}
.summary-row.discount{color:#4caf50}
.summary-row.total{border-top:1.5px solid #e0f0e8;padding-top:14px;font-size:1.05rem;color:var(--gd)}
.promo-row{display:flex;gap:8px;margin-top:14px}
.promo-row input{flex:1;padding:10px 12px;border:2px solid #d0ead8;border-radius:12px;font-size:.85rem;outline:none}
.back-link{display:block;text-align:center;margin-top:14px;color:var(--gm);font-size:.85rem}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--gm);
  color:#fff;padding:12px 24px;border-radius:12px;font-size:.87rem;font-weight:600;
  z-index:9999;display:none;box-shadow:0 6px 24px rgba(0,0,0,.2)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
footer{background:var(--gd);color:rgba(255,255,255,.8);padding:clamp(40px,5vw,60px) 5% 24px}
.ft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:32px;max-width:1100px;margin:0 auto 32px}
.ft-grid h4{color:#fff;font-size:.88rem;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}
.ft-grid a{display:block;font-size:.8rem;color:rgba(255,255,255,.65);margin-bottom:6px;transition:color .2s}
.ft-grid a:hover{color:#fff}
.ft-grid p{color:rgba(255,255,255,.5);font-size:.8rem;margin-top:4px}
.ft-bot{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;text-align:center;font-size:.75rem;color:rgba(255,255,255,.4);max-width:1100px;margin:0 auto}
@media(max-width:900px){.product-hero{grid-template-columns:1fr}.product-gallery{position:static}}
@media(max-width:768px){nav{display:none}.burger{display:flex}.of-row{grid-template-columns:1fr}.calc-row{grid-template-columns:1fr}.ps-panel{width:100vw}}
@media(max-width:480px){.hero-btns{flex-direction:column}.prod-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}

/* Градиентные заглушки по цвету товара */
.prod-img-gradient{position:absolute;inset:0;opacity:.6;background:radial-gradient(ellipse at 30% 40%,rgba(255,255,255,.35) 0%,transparent 70%)}
.prod-img .ph-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1}

/* Категория в карточке */
.prod-cat-label{font-size:.68rem;font-weight:700;color:var(--gl);text-transform:uppercase;
  letter-spacing:.8px;margin-bottom:4px}

/* Улучшенная карточка */
.prod-card .prod-body{padding:14px 16px 16px}
.prod-card .prod-body h4{font-size:.88rem;font-weight:600;color:var(--gd);
  margin-bottom:6px;line-height:1.35}

/* Фото в карточке поверх градиента */
.prod-card:hover .prod-img .ph-wrap{z-index:2}
.prod-img .ph-wrap svg{width:90px;height:90px;opacity:.9}

/* Оверлей для фото */
.prod-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40px;
  background:linear-gradient(transparent,rgba(0,0,0,.08));z-index:3;pointer-events:none}

/* ===== ФОТО В КАРТОЧКЕ ТОВАРА ===== */
.prod-img {
  height: 220px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.prod-img img {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  z-index: 2;
  transition: transform 0.4s ease;
}

.prod-card:hover .prod-img img {
  transform: scale(1.06);
}

.prod-img .ph-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.prod-img .ph-wrap svg {
  width: 90px;
  height: 90px;
  opacity: 0.85;
}

.prod-img .prod-img-gradient {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 40%, rgba(255,255,255,.25) 0%, transparent 70%);
  z-index: 1;
  pointer-events: none;
}

.prod-img .prod-badge {
  position: absolute;
  top: 10px; left: 10px;
  z-index: 5;
}


/* ===== Исправления карточек товаров ===== */
.prod-img{
  isolation:isolate;
  background-size:cover;
  background-position:center;
}
.prod-img::before{
  z-index:0;
  pointer-events:none;
}
.prod-img .prod-img-gradient{
  z-index:1;
}
.prod-img .ph-wrap{
  z-index:2;
  color:#fff;
  pointer-events:none;
}
.prod-img .ph-wrap svg{
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));
}
.prod-img img{
  z-index:3;
  opacity:0;
  visibility:hidden;
}
.prod-img img.is-loaded{
  opacity:1;
  visibility:visible;
}
.prod-img .prod-badge,
.prod-badge{
  left:10px;
  right:auto;
  top:10px;
  width:auto;
  max-width:calc(100% - 20px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  line-height:1;
  z-index:5;
}
.prod-emoji{font-size:3rem;opacity:.8}

/* ===== Корзина, калькулятор и фото по цветам ===== */
.cart-count{display:none;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:#c9a84c;color:#fff;font-size:.68rem;align-items:center;justify-content:center;vertical-align:middle}
.product-main-img{position:relative;isolation:isolate}
.product-main-img img{position:absolute;inset:0;z-index:2;transition:opacity .2s ease}
.product-main-emoji{font-size:7rem;z-index:1;filter:drop-shadow(0 8px 18px rgba(0,0,0,.12))}
.product-main-img.has-photo .product-main-emoji{opacity:0;visibility:hidden}
.gallery-swatches{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.gallery-swatches .cdot,.product-colors .cdot{appearance:none;border:3px solid transparent;padding:0}
.selected-hint{font-size:.78rem;color:#5a7a65;margin-top:8px}
.calc-note{font-size:.74rem;color:#6d8c78;margin-top:2px}
.buy-box{background:#fff;border:1.5px solid #d7ecdf;border-radius:18px;padding:20px;margin-top:18px;box-shadow:0 8px 24px rgba(26,61,43,.06)}
.buy-box h3{font-family:"Playfair Display",serif;color:var(--gd);margin-bottom:14px}
.buy-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.buy-row div{background:var(--gmist);border-radius:12px;padding:10px}
.buy-row span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.4px;color:#5a7a65;margin-bottom:3px}
.buy-row b{font-size:.82rem;color:var(--gd);word-break:break-word}
.product-order-form{background:#e8f7ee;border-radius:18px;padding:24px;margin-top:20px}
.cart-empty{background:#fff;border:1.5px dashed #c0e8cc;border-radius:20px;padding:42px;text-align:center;color:#5a7a65}
.cart-empty h3{font-family:"Playfair Display",serif;color:var(--gd);margin-bottom:8px}
.cart-thumb.has-img{background:#e8f7ee;overflow:hidden}
.cart-thumb.has-img img{width:100%;height:100%;object-fit:cover;display:block}
.cart-info small{display:block;color:#6d8c78;font-size:.72rem;margin-top:4px}
.cart-meters{display:flex;align-items:center;gap:6px;background:#f8fcfa;border:1.5px solid #e0f0e8;border-radius:999px;padding:4px 6px}
.cart-meters button{width:26px;height:26px;border-radius:50%;border:0;background:#fff;color:var(--gm);font-weight:700;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.cart-meters input{width:58px;border:0;background:transparent;text-align:center;color:var(--gd);font-weight:700;outline:none}
.cart-meters span{font-size:.74rem;color:#5a7a65}
.cart-order-form{border-top:1.5px solid #e0f0e8;margin-top:16px;padding-top:16px}
.cart-order-form input,.cart-order-form textarea{width:100%;padding:10px 12px;border:2px solid #d0ead8;border-radius:12px;font-size:.85rem;outline:none;font-family:inherit;margin-bottom:8px;background:#fff}
.cart-order-form textarea{resize:vertical;min-height:70px}
.cart-summary.is-disabled{opacity:.72}
.cart-summary button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.buy-row{grid-template-columns:1fr}.cart-item{align-items:flex-start;flex-wrap:wrap}.cart-meters{width:100%;justify-content:center}.cart-price{margin-left:auto}.remove-btn{margin-left:8px}}

/* ===== Фирменный логотип и скрывающийся navbar ===== */
.site-header{transition:transform .28s ease,box-shadow .25s ease;background:rgba(255,255,255,.94)}
.site-header.nav-hidden{transform:translateY(-110%)}
.hdr-inner{height:82px}
.logo{display:flex;align-items:center;min-width:210px;height:70px;font-size:0}
.logo img{display:block;max-width:240px;width:100%;height:58px;object-fit:contain;object-position:left center}
.desktop-nav a{display:inline-flex;align-items:center;min-height:34px}
.mob-nav{top:82px}
body{scroll-padding-top:92px}
@media(max-width:860px){.desktop-nav{display:none}.burger{display:flex}.logo{min-width:170px}.logo img{max-width:190px;height:54px}.hdr-inner{height:76px}.mob-nav{top:76px}.page-header{padding-top:110px}}

/* ===== Гармоничный товар ===== */
.product-hero{gap:34px;align-items:start}.product-gallery,.product-info{background:#fff;border:1px solid #e1efe7;border-radius:28px;padding:22px;box-shadow:0 18px 52px rgba(26,61,43,.08)}
.product-gallery{top:108px}.product-main-img{border-radius:24px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);overflow:hidden}.gallery-swatches,.product-colors{gap:10px}.cdot{width:34px;height:34px;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.12);cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.cdot:hover{transform:translateY(-2px)}.cdot.active{border-color:#fff!important;box-shadow:0 0 0 3px var(--gm),0 8px 18px rgba(26,61,43,.18)}
.product-title{margin-bottom:10px}.product-price-row{background:#f8fcfa;border:1px solid #e4f1e9;border-radius:18px;padding:14px 16px}.option-label{margin-top:18px;margin-bottom:10px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#2d6a4f}.var-btns{display:flex;gap:8px;flex-wrap:wrap}.vbtn{border:1.5px solid #d4eadc;background:#fff;border-radius:999px;padding:9px 14px;color:#2d6a4f;font-weight:700;cursor:pointer;transition:all .2s}.vbtn:hover,.vbtn.active{background:#e8f7ee;border-color:#52b788;color:#1a3d2b}
.product-calc,.calc-box{background:linear-gradient(180deg,#f8fcfa,#eef8f2);border:1px solid #dcefe4;border-radius:22px;padding:18px;box-shadow:0 10px 30px rgba(26,61,43,.05)}.product-calc h4,.calc-box h4{font-family:"Playfair Display",serif;font-size:1.2rem;margin-bottom:12px}.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.calc-row label{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#5a7a65;margin-bottom:5px}.calc-row input,.calc-row select{width:100%;padding:11px 12px;border:1.7px solid #cfe8d8;border-radius:14px;background:#fff;outline:none;font:inherit;color:#1a3d2b}.calc-row input:focus,.calc-row select:focus{border-color:#52b788}.calc-result{margin-top:14px;background:#1a3d2b;color:#fff;border-radius:18px;padding:14px 16px;font-family:"Playfair Display",serif;font-size:1.45rem;font-weight:700;text-align:center}
.buy-box{border-radius:24px;background:#fff;border:1px solid #dcefe4;box-shadow:0 18px 42px rgba(26,61,43,.09);padding:22px}.buy-box h3{font-size:1.25rem}.buy-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.buy-row div{background:#f7fbf8;border:1px solid #e4f1e9;border-radius:16px}.buy-row b{font-size:.9rem}.product-order-form{background:#f8fcfa;border:1px solid #dcefe4;border-radius:24px;padding:22px;box-shadow:0 12px 36px rgba(26,61,43,.06)}.of-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.product-order-form input,.product-order-form textarea{background:#fff!important;border:1.7px solid #cfe8d8!important;border-radius:14px!important}.product-order-form textarea{min-height:92px}.back-link{display:inline-flex;align-items:center;justify-content:center;color:#2d6a4f;font-weight:700;font-size:.86rem}.product-info .btn-prim{box-shadow:0 10px 26px rgba(82,183,136,.25)}

/* ===== Красивая корзина и заявка ===== */
.cart-page{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);align-items:start}.cart-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto auto 34px;gap:14px;align-items:center;background:#fff;border:1px solid #e1efe7;border-radius:24px;padding:14px;margin-bottom:14px;box-shadow:0 12px 36px rgba(26,61,43,.07)}.cart-thumb{width:96px;height:86px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:2.1rem;background:#e8f7ee;color:#1a3d2b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.cart-info h4{font-family:"Playfair Display",serif;font-size:1.05rem;color:#1a3d2b;margin-bottom:4px}.cart-info p{color:#5a7a65;font-size:.84rem;line-height:1.5}.cart-price{font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:700;color:#2d6a4f;white-space:nowrap}.remove-btn{width:34px;height:34px;border:none;border-radius:50%;background:#fff0f0;color:#bb4848;font-weight:800;cursor:pointer}.cart-summary{position:sticky;top:110px;background:#fff;border:1px solid #dcefe4;border-radius:28px;padding:24px;box-shadow:0 20px 54px rgba(26,61,43,.1);min-width:320px}.cart-summary h3{font-family:"Playfair Display",serif;font-size:1.35rem;margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf5ef;color:#355642}.summary-row.total{font-size:1.15rem;color:#1a3d2b;border-bottom:0}.summary-row.discount{color:#2d6a4f}.promo-row{display:flex;gap:8px;margin:14px 0}.promo-row input{min-width:0;flex:1;padding:10px 12px;border:1.7px solid #cfe8d8;border-radius:14px;outline:none}.cart-order-form input,.cart-order-form textarea{border:1.7px solid #cfe8d8;border-radius:14px;background:#fdfefd}.cart-order-form button{margin-top:4px}.cart-empty{border-radius:28px;background:linear-gradient(180deg,#fff,#f8fcfa);box-shadow:0 12px 36px rgba(26,61,43,.06)}
@media(max-width:980px){.product-hero{grid-template-columns:1fr}.product-gallery{position:relative;top:auto}.cart-page{grid-template-columns:1fr!important}.cart-summary{position:relative;top:auto;width:100%}.cart-item{grid-template-columns:84px minmax(0,1fr);}.cart-meters,.cart-price,.remove-btn{justify-self:end}.cart-meters{grid-column:2}.cart-price{grid-column:2}.remove-btn{grid-column:2}}
@media(max-width:620px){.calc-row,.of-row{grid-template-columns:1fr}.buy-row{grid-template-columns:1fr}.cart-item{grid-template-columns:1fr;text-align:left}.cart-thumb{width:100%;height:150px}.cart-meters,.cart-price,.remove-btn{grid-column:1;justify-self:stretch}.remove-btn{width:100%}}
.footer-logo{display:block;width:210px;max-width:100%;height:50px;object-fit:contain;object-position:left center;margin-bottom:14px;filter:brightness(0) invert(1) contrast(1.1)}

/* ===== Финальные исправления: логотип, скрывающийся navbar, каталог, товар, корзина ===== */
.site-header{position:fixed!important;top:0;left:0;right:0;z-index:1000;transition:transform .26s ease, box-shadow .2s ease!important;will-change:transform;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)}
.site-header.nav-hidden,.site-header.is-hidden{transform:translate3d(0,-105%,0)!important;box-shadow:none!important}
.hdr-inner{height:72px!important;gap:18px!important;padding:0 22px!important}
.logo{height:58px!important;min-width:160px!important;max-width:210px!important;display:flex!important;align-items:center!important;font-size:0!important;overflow:hidden!important}
.logo img{width:100%!important;height:44px!important;object-fit:contain!important;object-position:left center!important;display:block!important}
.desktop-nav{align-items:center!important;justify-content:flex-end!important;gap:4px!important}
.desktop-nav a{white-space:nowrap!important;font-weight:700!important}
.mob-nav{top:72px!important}.cart-count{line-height:1!important}
@media(max-width:860px){.hdr-inner{height:66px!important}.logo{max-width:170px!important;min-width:138px!important}.logo img{height:40px!important}.mob-nav{top:66px!important}}

.catalog-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) minmax(140px,.65fr) minmax(180px,.9fr) minmax(170px,.8fr) auto auto;gap:12px;align-items:end;background:#fff;border:1px solid #dcefe4;border-radius:28px;padding:18px;margin:-20px 0 26px;box-shadow:0 18px 48px rgba(26,61,43,.08)}
.catalog-filters label{display:block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#5a7a65;margin-bottom:6px}.catalog-filters input,.catalog-filters select{width:100%;height:44px;border:1.7px solid #cfe8d8;border-radius:14px;background:#fdfefd;padding:0 12px;outline:none;font:inherit;color:#1a3d2b}.catalog-filters input:focus,.catalog-filters select:focus{border-color:#52b788;background:#fff}.price-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-reset{height:44px;display:inline-flex;align-items:center;justify-content:center;color:#2d6a4f;font-weight:800;padding:0 6px}.catalog-count{margin:6px 0 16px;color:#5a7a65;font-weight:700}.catalog-color-strip{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 24px}.quick-color{width:30px;height:30px;border-radius:999px;border:3px solid #fff;box-shadow:0 0 0 1px #dcefe4,0 4px 12px rgba(0,0,0,.12)}.quick-color.active{box-shadow:0 0 0 3px #2d6a4f,0 6px 16px rgba(26,61,43,.2)}.compact-tabs{justify-content:flex-start;overflow:auto;padding-bottom:4px}.catalog-grid .prod-card{border-radius:22px!important;box-shadow:0 12px 36px rgba(26,61,43,.06)}
@media(max-width:1100px){.catalog-filters{grid-template-columns:1fr 1fr 1fr}.filter-search{grid-column:span 2}}@media(max-width:700px){.catalog-filters{grid-template-columns:1fr;border-radius:22px}.filter-search{grid-column:auto}.price-pair{grid-template-columns:1fr 1fr}}

.product-hero{gap:32px!important;align-items:start!important}.product-gallery,.product-info{background:#fff!important;border:1px solid #dcefe4!important;border-radius:30px!important;padding:24px!important;box-shadow:0 22px 58px rgba(26,61,43,.09)!important}.product-gallery{top:96px!important}.product-main-img{border-radius:26px!important;min-height:330px!important;background:#f2f8f5!important}.product-main-img img{object-fit:cover!important}.gallery-swatches,.product-colors{display:flex!important;gap:10px!important;flex-wrap:wrap!important}.cdot{width:36px!important;height:36px!important;border-radius:999px!important;border:3px solid #fff!important;box-shadow:0 0 0 1px #d7eade,0 5px 14px rgba(0,0,0,.14)!important}.cdot.active{box-shadow:0 0 0 3px #2d6a4f,0 8px 18px rgba(26,61,43,.22)!important;transform:translateY(-1px)!important}.product-price-row{background:#f8fcfa!important;border:1px solid #e3f0e7!important;border-radius:20px!important;padding:14px 16px!important}.product-measurements{display:flex;flex-wrap:wrap;gap:8px;background:#f8fcfa;border:1px solid #e3f0e7;border-radius:18px;padding:12px;margin-bottom:16px}.product-measurements h4{width:100%;font-family:"Playfair Display",serif;color:#1a3d2b;font-size:1rem;margin-bottom:2px}.product-measurements span{font-size:.78rem;color:#2d6a4f;background:#fff;border:1px solid #dcefe4;border-radius:999px;padding:7px 10px}.buy-box{background:linear-gradient(180deg,#fff,#f8fcfa)!important;border:1px solid #dcefe4!important;border-radius:26px!important;box-shadow:0 18px 45px rgba(26,61,43,.1)!important;padding:24px!important}.buy-box h3{font-size:1.28rem!important}.buy-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.buy-row div{background:#fff!important;border:1px solid #e4f1e9!important;border-radius:18px!important;padding:12px!important}.buy-row span{font-size:.68rem!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#6d8c78!important}.buy-row b{font-size:.92rem!important;color:#1a3d2b!important}.product-order-form{background:linear-gradient(180deg,#f8fcfa,#eef8f2)!important;border:1px solid #dcefe4!important;border-radius:26px!important;padding:24px!important;box-shadow:0 14px 38px rgba(26,61,43,.07)!important}.product-info .btn-prim,.buy-box .btn-prim{border-radius:18px!important;min-height:50px!important;font-size:.98rem!important}

.cart-page{display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr)!important;gap:28px!important}.cart-item{display:grid!important;grid-template-columns:102px minmax(0,1fr) auto auto 38px!important;gap:16px!important;align-items:center!important;background:linear-gradient(180deg,#fff,#fbfdfb)!important;border:1px solid #dcefe4!important;border-radius:28px!important;padding:16px!important;margin-bottom:14px!important;box-shadow:0 18px 45px rgba(26,61,43,.08)!important}.cart-thumb{width:102px!important;height:92px!important;border-radius:22px!important;overflow:hidden!important;background:#e8f7ee;color:#1a3d2b;display:flex;align-items:center;justify-content:center}.cart-thumb img{width:100%!important;height:100%!important;object-fit:cover!important}.cart-info h4{font-family:"Playfair Display",serif!important;font-size:1.12rem!important;color:#1a3d2b!important;margin-bottom:6px!important}.cart-info p{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;color:#5a7a65!important;font-size:.84rem!important}.cart-color-dot{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #cfe8d8}.cart-info small{display:block!important;margin-top:5px!important;color:#6d8c78!important}.cart-meters{display:flex!important;align-items:center!important;gap:6px!important;background:#f8fcfa!important;border:1.5px solid #dcefe4!important;border-radius:999px!important;padding:5px 7px!important}.cart-meters button{width:28px!important;height:28px!important;border-radius:999px!important;border:0!important;background:#fff!important;color:#2d6a4f!important;font-weight:900!important;box-shadow:0 2px 6px rgba(0,0,0,.08)!important}.cart-meters input{width:60px!important;border:0!important;background:transparent!important;text-align:center!important;font-weight:800!important;color:#1a3d2b!important;outline:none!important}.cart-price{font-family:"Playfair Display",serif!important;font-size:1.25rem!important;font-weight:800!important;color:#2d6a4f!important;white-space:nowrap!important}.remove-btn{width:38px!important;height:38px!important;border:none!important;border-radius:999px!important;background:#fff0f0!important;color:#b94747!important;font-weight:900!important}.cart-summary{background:linear-gradient(180deg,#fff,#f8fcfa)!important;border:1px solid #dcefe4!important;border-radius:30px!important;padding:26px!important;box-shadow:0 22px 58px rgba(26,61,43,.1)!important;top:96px!important}.cart-summary h3{font-size:1.45rem!important}.cart-order-form input,.cart-order-form textarea,.promo-row input{border:1.7px solid #cfe8d8!important;border-radius:16px!important;background:#fff!important}.cart-order-form .btn-prim{height:50px;border-radius:18px}.toast.show{animation:toastIn .18s ease}@keyframes toastIn{from{transform:translate(-50%,10px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
@media(max-width:980px){.product-hero,.cart-page{grid-template-columns:1fr!important}.product-gallery{position:relative!important;top:auto!important}.cart-summary{position:relative!important;top:auto!important}.cart-item{grid-template-columns:88px minmax(0,1fr)!important}.cart-meters,.cart-price,.remove-btn{grid-column:2!important;justify-self:start!important}}@media(max-width:620px){.product-gallery,.product-info{padding:16px!important;border-radius:22px!important}.product-main-img{min-height:240px!important}.buy-row{grid-template-columns:1fr!important}.cart-item{grid-template-columns:1fr!important}.cart-thumb{width:100%!important;height:170px!important}.cart-meters,.cart-price,.remove-btn{grid-column:1!important}.remove-btn{width:100%!important}.cart-page{gap:18px!important}}

.footer-logo{width:190px!important;height:44px!important;object-fit:contain!important;object-position:left center!important;filter:brightness(0) invert(1) contrast(1.15)!important;opacity:.95!important}


/* ===== Sticky footer: зелёная полоса всегда у нижнего края коротких страниц ===== */
html,body{min-height:100%;height:auto}
body{min-height:100vh;min-height:100dvh;display:flex!important;flex-direction:column!important}
.site-main{flex:1 0 auto!important;width:100%;display:block}
footer{margin-top:auto!important;flex-shrink:0!important;width:100%}


/* ===== Выбор размеров на карточке товара ===== */
.product-size-options{margin:4px 0 18px}.product-size-group{margin-bottom:12px}.product-size-group .option-label{margin-top:16px}.size-vbtn{border-radius:14px!important;min-width:54px!important;background:#fff!important;border:1.6px solid #cfe8d8!important;color:#2d6a4f!important}.size-vbtn:hover,.size-vbtn.active{background:#e8f7ee!important;border-color:#52b788!important;color:#1a3d2b!important;box-shadow:0 8px 20px rgba(82,183,136,.18)!important}.buy-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important}.buy-row b{word-break:break-word!important}.cart-info p span{max-width:100%}

.promo-message{min-height:20px;margin:-4px 0 12px;font-size:.84rem;font-weight:700;color:#6d8c78}.promo-message.ok{color:#2d6a4f}.promo-message.bad{color:#b94747}.promo-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:36px}.promo-ticket{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff,#f0fbf4);border:1px solid #dcefe4;border-radius:28px;padding:24px;box-shadow:0 18px 45px rgba(26,61,43,.08)}.promo-ticket:before,.promo-ticket:after{content:'';position:absolute;top:50%;width:28px;height:28px;border-radius:50%;background:#f7fbf8;transform:translateY(-50%)}.promo-ticket:before{left:-14px}.promo-ticket:after{right:-14px}.promo-ticket-label{color:#5a7a65;font-weight:700;margin-bottom:10px}.promo-ticket-code{display:inline-flex;border:2px dashed #52b788;border-radius:16px;padding:10px 14px;font-weight:900;font-size:1.3rem;color:#1a3d2b;letter-spacing:.06em;background:#fff}.promo-ticket-value{margin:14px 0 18px;color:#2d6a4f;font-weight:800}

.product-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.gallery-thumb{width:76px;height:64px;border:2px solid #dcefe4;border-radius:14px;padding:0;overflow:hidden;background:#fff;cursor:pointer;box-shadow:0 6px 16px rgba(26,61,43,.08)}.gallery-thumb.active{border-color:#52b788;box-shadow:0 0 0 4px rgba(82,183,136,.16)}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* ===== Статьи / блог ===== */
.article-list-head{padding-bottom:40px}.articles-section{padding:0 5% clamp(55px,7vw,90px);max-width:1280px;margin:0 auto}.home-articles{padding-top:0}.articles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.articles-grid.compact{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.article-card{background:#fff;border:1px solid rgba(45,106,79,.12);border-radius:28px;overflow:hidden;box-shadow:0 18px 48px rgba(26,61,43,.08);transition:transform .22s,box-shadow .22s,border-color .22s}.article-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(26,61,43,.13);border-color:rgba(82,183,136,.32)}.article-card-img{display:flex;height:220px;background:linear-gradient(135deg,#f2fbf6,#e1f4e9);align-items:center;justify-content:center;overflow:hidden;color:var(--gm);font-size:3rem}.article-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.article-card:hover .article-card-img img{transform:scale(1.045)}.article-card-body{padding:22px}.article-card time,.article-hero time{display:inline-flex;color:var(--gm);background:rgba(82,183,136,.1);border:1px solid rgba(82,183,136,.2);border-radius:999px;padding:6px 11px;font-size:.75rem;font-weight:800;margin-bottom:12px}.article-card h2{font-family:"Playfair Display",serif;font-size:1.35rem;line-height:1.25;margin-bottom:10px;color:var(--gd)}.article-card h2 a:hover{color:var(--gm)}.article-card p{color:#55705f;line-height:1.65;font-size:.92rem;margin-bottom:18px}.article-read{display:inline-flex;color:var(--gm);font-weight:800;font-size:.9rem}.article-page{padding:110px 5% 0}.article-hero{max-width:900px;margin:0 auto;text-align:center}.article-kicker{display:inline-flex;align-items:center;gap:8px;background:rgba(82,183,136,.1);border:1px solid rgba(82,183,136,.25);color:var(--gm);padding:7px 16px;border-radius:30px;font-size:.77rem;font-weight:800;margin-bottom:18px;letter-spacing:.06em;text-transform:uppercase}.article-hero h1{font-family:"Playfair Display",serif;font-size:clamp(2rem,4.8vw,4.2rem);line-height:1.14;color:var(--gm);margin-bottom:18px}.article-hero p{max-width:760px;margin:0 auto 18px;color:#4d6a58;font-size:clamp(.98rem,1.6vw,1.16rem);line-height:1.75}.article-cover{max-width:1120px;margin:36px auto 0;border-radius:34px;overflow:hidden;box-shadow:0 26px 70px rgba(26,61,43,.16);background:#eef7f1}.article-cover img{width:100%;height:clamp(280px,45vw,560px);object-fit:cover;display:block}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 320px;gap:42px;max-width:1120px;margin:42px auto 0;align-items:start}.article-content{font-size:1.03rem;line-height:1.88;color:#284c37}.article-content>*:first-child{margin-top:0}.article-content p{margin:0 0 22px}.article-content h2,.article-content h3,.article-content h4{font-family:"Playfair Display",serif;color:var(--gd);line-height:1.25;margin:38px 0 14px}.article-content h2{font-size:2rem}.article-content h3{font-size:1.55rem}.article-content ul,.article-content ol{margin:0 0 24px 24px}.article-content li{margin-bottom:10px}.article-content blockquote{margin:32px 0;padding:24px 28px;border-left:5px solid var(--gl);background:linear-gradient(135deg,#f3fbf6,#e8f7ee);border-radius:22px;color:var(--gd);font-family:"Playfair Display",serif;font-size:1.28rem;line-height:1.55}.article-content a{color:var(--gm);font-weight:800;border-bottom:1px solid rgba(45,106,79,.28)}.article-content figure.article-image,.article-content figure{margin:34px 0;text-align:center}.article-content figure img,.article-content img{max-width:100%;height:auto;border-radius:28px;box-shadow:0 18px 48px rgba(26,61,43,.13);display:block;margin:0 auto}.article-content figcaption{margin-top:10px;color:#768d7c;font-size:.86rem;line-height:1.5}.article-aside{position:sticky;top:96px}.article-cta-box{background:linear-gradient(135deg,#ffffff,#eef9f3);border:1px solid rgba(82,183,136,.24);border-radius:28px;padding:24px;box-shadow:0 18px 48px rgba(26,61,43,.08)}.article-cta-box h3{font-family:"Playfair Display",serif;color:var(--gd);font-size:1.55rem;margin-bottom:10px}.article-cta-box p{color:#55705f;line-height:1.65;margin-bottom:18px}.article-related{padding-top:40px}@media(max-width:980px){.article-layout{grid-template-columns:1fr}.article-aside{position:static}.article-page{padding-top:100px}}@media(max-width:620px){.articles-grid{grid-template-columns:1fr}.article-card-img{height:190px}.article-layout{gap:24px}.article-content{font-size:.98rem}.article-content h2{font-size:1.65rem}.article-cover{border-radius:22px}.article-content blockquote{font-size:1.1rem;padding:20px}.article-page{padding-left:4%;padding-right:4%}}

/* ===== Обновление UI/UX: акции, соцсети, главная ===== */
body{background:linear-gradient(180deg,#ffffff 0%,#fbfdfb 48%,#f6fbf8 100%)}
.site-header{box-shadow:0 10px 32px rgba(22,55,37,.08)}
.hdr-inner{height:76px}.logo img{max-width:190px;max-height:52px;object-fit:contain;display:block}
.desktop-nav a{font-weight:700}.site-main{padding-top:0}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:46px;align-items:center;background:radial-gradient(circle at 78% 28%,rgba(149,213,178,.30),transparent 34%),linear-gradient(135deg,#ffffff 0%,#f4fbf7 58%,#e9f7ef 100%)}
.hero-has-media{background:#102719;color:#fff}.hero-media-bg{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-media-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,36,23,.78) 0%,rgba(9,36,23,.58) 38%,rgba(9,36,23,.25) 100%),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.34))}.hero-bg-video,.hero-bg-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-bg-image{z-index:0}.hero-bg-video{z-index:1}.hero-bg-video-mobile{display:none}.hero-has-media .balls-canvas{display:none}.hero-has-media .hero-content{z-index:2}.hero-has-media h1,.hero-has-media p{color:#fff}.hero-has-media .hero-tag{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24);color:#fff}.hero-has-media .h-stat h3,.hero-has-media .h-stat p{color:#fff}.hero-has-media .btn-sec{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.45);color:#fff}
.hero-content{max-width:680px}.hero h1{color:#163725}.hero p{color:#486b58}.hero-tag{box-shadow:0 10px 28px rgba(82,183,136,.12)}
.hero-visual{position:relative;z-index:1;min-height:430px;display:flex;align-items:center;justify-content:center}.curtain-preview-card{position:relative;width:min(100%,440px);height:360px;border-radius:40px;background:linear-gradient(180deg,#fff,#eef8f2);border:1px solid rgba(45,106,79,.12);box-shadow:0 34px 90px rgba(22,55,37,.16);overflow:hidden}.curtain-window{position:absolute;left:70px;right:70px;top:94px;bottom:52px;border-radius:28px;background:linear-gradient(180deg,#dff8f3,#ffffff);box-shadow:inset 0 0 0 1px rgba(45,106,79,.08)}.curtain-rod{position:absolute;left:46px;right:46px;top:62px;height:20px;border-radius:999px;background:#1a3d2b;box-shadow:0 12px 24px rgba(22,55,37,.18);z-index:4}.curtain-rod span{position:absolute;top:-10px;width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:0 8px 18px rgba(22,55,37,.10)}.curtain-rod span:nth-child(1){left:24%}.curtain-rod span:nth-child(2){left:48%}.curtain-rod span:nth-child(3){right:24%}.curtain-cloth{position:absolute;top:82px;bottom:26px;width:45%;background:linear-gradient(90deg,rgba(82,183,136,.32),rgba(255,255,255,.74),rgba(82,183,136,.24));z-index:3;filter:drop-shadow(0 16px 22px rgba(22,55,37,.12))}.curtain-cloth.left{left:42px;border-radius:20px 0 34px 24px;clip-path:polygon(0 0,82% 0,100% 100%,10% 100%)}.curtain-cloth.right{right:42px;border-radius:0 20px 24px 34px;clip-path:polygon(18% 0,100% 0,90% 100%,0 100%)}.hero-floating-card{position:absolute;right:4%;bottom:42px;background:#fff;border:1px solid rgba(82,183,136,.24);border-radius:22px;padding:16px 18px;box-shadow:0 22px 52px rgba(22,55,37,.16);max-width:240px}.hero-floating-card b{display:block;color:#163725;margin-bottom:4px}.hero-floating-card span{display:block;color:#55705f;font-size:.84rem;line-height:1.45}
.f-card,.prod-card,.article-card,.phone-card{box-shadow:0 18px 48px rgba(22,55,37,.06);border-color:rgba(45,106,79,.10)}.f-card:hover,.prod-card:hover{box-shadow:0 24px 64px rgba(22,55,37,.13)}
.btn-prim,.btn-sec{box-shadow:0 12px 28px rgba(82,183,136,.16)}.btn-sec{background:#fff}
.promo-note-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:36px}.promo-note-card{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start;background:linear-gradient(135deg,#ffffff,#f0fbf4);border:1px solid rgba(82,183,136,.24);border-radius:30px;padding:24px;box-shadow:0 22px 58px rgba(22,55,37,.10);position:relative;overflow:hidden}.promo-note-card:after{content:"";position:absolute;right:-42px;top:-42px;width:120px;height:120px;border-radius:50%;background:rgba(82,183,136,.12)}.promo-note-icon{width:58px;height:58px;border-radius:22px;background:#e8f7ee;display:flex;align-items:center;justify-content:center;font-size:1.7rem;box-shadow:0 14px 28px rgba(82,183,136,.16)}.promo-note-card h3{font-family:"Playfair Display",serif;color:#163725;font-size:1.35rem;margin-bottom:8px}.promo-note-card p{color:#55705f;line-height:1.72;margin-bottom:16px}.promo-note-btn{padding:10px 18px;font-size:.84rem}.promo-ticket{min-height:250px}.promo-ticket-desc{color:#55705f;font-size:.88rem;line-height:1.55;margin:-6px 0 16px}
.social-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.social-links a{width:42px;height:42px;border-radius:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);display:flex!important;align-items:center;justify-content:center;margin:0!important;transition:transform .2s,background .2s,box-shadow .2s}.social-links a:hover{transform:translateY(-3px);background:rgba(255,255,255,.18);box-shadow:0 12px 26px rgba(0,0,0,.16)}.social-links img{width:24px;height:24px;object-fit:contain;display:block}.social-links span{font-weight:900;color:#fff}.ft-social-text{margin:0 0 12px!important;line-height:1.55}.contacts-social-block{margin-top:22px;background:#fff;border:1px solid rgba(82,183,136,.20);border-radius:24px;padding:18px;box-shadow:0 16px 44px rgba(22,55,37,.07)}.contacts-social-block h4{font-family:"Playfair Display",serif;color:#163725;margin-bottom:12px}.contacts-socials a{background:#e8f7ee;border-color:#cfe8d8}.contacts-socials a:hover{background:#d9f1e2}.contacts-socials span{color:#2d6a4f}
footer{background:radial-gradient(circle at 18% 0%,rgba(82,183,136,.20),transparent 32%),linear-gradient(180deg,#163725,#0f2619)!important}.ft-grid{grid-template-columns:1.2fr .85fr 1.1fr .9fr;max-width:1220px}.ft-grid a{line-height:1.5}.ft-bot{max-width:1220px}.footer-logo{background:rgba(255,255,255,.06);border-radius:18px;padding:8px;box-sizing:content-box}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero-visual{min-height:300px}.curtain-preview-card{height:310px}.ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.hdr-inner{height:70px;padding:0 16px}.logo img{max-width:150px}.hero{padding-top:96px;gap:24px}.hero-visual{display:none}.promo-note-card{grid-template-columns:1fr}.promo-note-icon{width:52px;height:52px}.ft-grid{grid-template-columns:1fr}.social-links a{width:40px;height:40px}.page-header{padding-top:100px}}
@media(max-width:767px){.hero-bg-video-desktop{display:none}.hero-bg-video-mobile{display:block}}

/* ===== Дополнения: контакты, портфолио, SEO ===== */
.footer-location{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-location strong{display:block;color:#fff;font-size:.86rem;margin-bottom:4px}
.footer-location p{margin:4px 0 0;color:rgba(255,255,255,.55);font-size:.8rem;line-height:1.55}
.contacts-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:34px;align-items:start}
.contacts-info h3,.contact-form-card h3{font-family:'Playfair Display',serif;color:#1a3d2b;margin-bottom:20px;font-size:1.55rem}
.contact-location-grid{display:grid;gap:16px}
.contact-location-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;align-items:start;background:linear-gradient(180deg,#fff,#fbfffd);border:1.5px solid #dcefe5;border-radius:24px;padding:20px;box-shadow:0 16px 42px rgba(22,55,37,.07)}
.contact-location-icon{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:#e8f7ee;font-size:1.45rem}
.contact-location-card h4{margin:0 0 8px;color:#163725;font-size:1.1rem}
.contact-location-card p{margin:0 0 10px;color:#5a7a65;line-height:1.65;white-space:normal}
.contact-location-card a{display:inline-flex;color:#2d6a4f;font-weight:900;font-size:1.05rem;margin-bottom:8px}
.contact-location-card small{display:block;color:#6b8474;line-height:1.45}
.contact-email-card{display:flex;align-items:center;gap:12px;margin:16px 0 22px;background:#f8fcfa;border:1px solid #dfece5;border-radius:18px;padding:14px 16px}
.contact-email-card span{font-size:1.25rem}.contact-email-card a{color:#2d6a4f;font-weight:800;word-break:break-all}
.contacts-social-block{background:#fff;border:1px solid #dfece5;border-radius:22px;padding:18px;box-shadow:0 12px 32px rgba(22,55,37,.05)}
.contacts-social-block h4{margin:0 0 12px;color:#163725}
.contact-form-card{background:linear-gradient(180deg,#fff,#fbfefc);border:1.5px solid #e0f0e8;border-radius:28px;padding:30px;box-shadow:0 18px 55px rgba(22,55,37,.08)}
.contact-form-card .of-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.contact-form-card input,.contact-form-card textarea{width:100%;padding:13px 15px;border:2px solid #d0ead8;border-radius:14px;font-size:.95rem;outline:none;font-family:inherit;background:#fff;transition:border-color .18s,box-shadow .18s}
.contact-form-card input:focus,.contact-form-card textarea:focus{border-color:#52b788;box-shadow:0 0 0 4px rgba(82,183,136,.12)}
.contact-form-card textarea{resize:vertical;margin-bottom:14px}.contact-form-card .btn-prim{width:100%}
.form-success-card{background:#e8f7ee;border:1.5px solid #52b788;border-radius:22px;padding:30px;text-align:center}.form-success-card div{font-size:2rem}.form-success-card p{color:#1a3d2b;font-weight:700;margin-top:8px}
.portfolio-page .portfolio-subtitle{max-width:720px;margin:-20px auto 32px;text-align:center;color:#5a7a65;line-height:1.7}
.portfolio-grid{columns:4 230px;column-gap:18px;display:block}.portfolio-item{display:block;width:100%;break-inside:avoid;margin:0 0 18px;padding:0;border:0;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 16px 42px rgba(22,55,37,.10);cursor:zoom-in;position:relative;transition:transform .18s,box-shadow .18s}.portfolio-item:hover{transform:translateY(-3px);box-shadow:0 22px 58px rgba(22,55,37,.16)}.portfolio-item:after{content:'Открыть';position:absolute;left:12px;bottom:12px;background:rgba(22,55,37,.78);color:#fff;border-radius:999px;padding:7px 11px;font-size:.74rem;font-weight:900;opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s}.portfolio-item:hover:after{opacity:1;transform:translateY(0)}.portfolio-item img{width:100%;height:auto;display:block}.portfolio-empty{color:#5a7a65;background:#fff;border:1px solid #dfece5;border-radius:18px;padding:18px;display:inline-block}
.lightbox-modal{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:28px;opacity:0;pointer-events:none;transition:opacity .22s ease}.lightbox-modal.open{opacity:1;pointer-events:auto}.lightbox-modal[hidden]{display:none}.lightbox-backdrop{position:absolute;inset:0;border:0;background:rgba(7,22,14,.72);backdrop-filter:blur(8px);cursor:zoom-out}.lightbox-modal img{position:relative;z-index:2;max-width:min(1100px,92vw);max-height:86vh;border-radius:24px;box-shadow:0 36px 100px rgba(0,0,0,.45);transform:scale(.96);transition:transform .22s ease;background:#fff}.lightbox-modal.open img{transform:scale(1)}.lightbox-close{position:fixed;right:24px;top:24px;z-index:3;width:48px;height:48px;border:0;border-radius:18px;background:#fff;color:#173724;font-size:2rem;line-height:1;cursor:pointer;box-shadow:0 18px 45px rgba(0,0,0,.24);transition:transform .18s,background .18s}.lightbox-close:hover{transform:translateY(-2px);background:#e8f7ee}
.seo-query-links{max-width:1200px;margin:0 auto clamp(45px,7vw,80px);padding:0 5%;text-align:center}.seo-query-links h2{font-family:'Playfair Display',serif;color:#163725;font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:22px}.seo-query-chip-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.seo-query-chip-grid a{display:inline-flex;padding:11px 15px;border:1.5px solid #cfe5d8;border-radius:999px;background:#fff;color:#2d6a4f;font-weight:800;box-shadow:0 8px 20px rgba(22,55,37,.05);transition:transform .16s,background .16s}.seo-query-chip-grid a:hover{background:#e8f7ee;transform:translateY(-2px)}
.seo-landing-page{padding:clamp(95px,10vw,140px) 5% 50px;max-width:1050px;margin:0 auto}.seo-landing-card{background:linear-gradient(180deg,#fff,#fbfefc);border:1px solid #dfece5;border-radius:34px;padding:clamp(28px,5vw,54px);box-shadow:0 24px 70px rgba(22,55,37,.10)}.seo-landing-card h1{font-family:'Playfair Display',serif;color:#163725;font-size:clamp(2rem,5vw,4rem);line-height:1.05;margin:0 0 24px}.seo-landing-content{color:#4f6d5a;line-height:1.85;font-size:1.03rem}.seo-landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
@media(max-width:900px){.contacts-layout{grid-template-columns:1fr}.contact-form-card .of-row{grid-template-columns:1fr}.portfolio-grid{columns:2 180px}.lightbox-close{right:14px;top:14px}}
.stores-map-section{max-width:1300px;margin:0 auto;padding:clamp(90px,10vw,120px) 5% 60px}.stores-map-frame{position:relative;width:100%;height:clamp(420px,58vw,620px);overflow:hidden;border:1px solid #d7e9df;border-radius:24px;background:#eef7f2;box-shadow:0 18px 45px rgba(22,55,37,.12)}.stores-leaflet-map{width:100%;height:100%;z-index:1}.stores-leaflet-map .leaflet-tile{image-rendering:auto!important}.stores-map-fallback{position:absolute;inset:auto 18px 18px;z-index:2;padding:12px 16px;border-radius:14px;background:#fff;color:#163725;font-weight:800;box-shadow:0 12px 28px rgba(22,55,37,.12)}.stores-leaflet-pin{background:transparent;border:0}.stores-leaflet-pin span{display:block;width:28px;height:28px;border:7px solid #43aa7b;border-radius:50% 50% 50% 0;background:#d9f4e6;box-shadow:0 8px 24px rgba(22,55,37,.28);transform:rotate(-45deg)}.stores-leaflet-pin span:after{content:"";display:block;width:8px;height:8px;margin:3px;border-radius:50%;background:#43aa7b}.leaflet-popup-content-wrapper{border-radius:16px;border:1px solid #d7e9df;box-shadow:0 18px 40px rgba(22,55,37,.16)}.leaflet-popup-content{margin:14px 16px;color:#163725;font-family:inherit}.leaflet-popup-content b{font-size:1rem}.leaflet-popup-content p{margin:6px 0 10px;color:#4e6d5b;line-height:1.45}.stores-popup-actions{display:flex;gap:10px;flex-wrap:wrap}.stores-popup-actions a{color:#267453;font-weight:800;text-decoration:none}.stores-map-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.stores-map-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px;border:1px solid #d7e9df;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(22,55,37,.06)}.stores-map-pin{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;background:#43aa7b;box-shadow:0 6px 16px rgba(67,170,123,.28)}.stores-map-card h2{margin:0 0 7px;font-family:'Playfair Display',serif;color:#163725;font-size:1.25rem}.stores-map-card p{margin:0 0 7px;color:#4e6d5b;line-height:1.55}.stores-map-card small{display:block;color:#6f8879}.stores-map-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.stores-map-actions a{color:#267453;font-weight:800;text-decoration:none}.stores-map-actions a:last-child{padding:8px 12px;border-radius:12px;background:#e6f6ed}.stores-map-actions a:hover{text-decoration:underline}
@media(max-width:700px){.stores-map-section{padding-left:16px;padding-right:16px}.stores-map-frame{height:430px;border-radius:18px}.stores-map-list{grid-template-columns:1fr}.stores-map-card{padding:16px}.stores-map-actions{align-items:flex-start;flex-direction:column}}

/* ===== Релиз: текстовые цвета и sticky-характеристики ===== */
.product-hero{grid-template-columns:minmax(280px,.95fr) minmax(0,1.08fr) minmax(260px,320px)!important;gap:26px!important}
.product-spec-sidebar{position:sticky;top:96px;align-self:start;background:#fff;border:1px solid #dcefe4;border-radius:24px;padding:20px;box-shadow:0 18px 45px rgba(26,61,43,.08);order:3}
.product-info{order:2}.product-gallery{order:1}
.product-spec-sidebar h2{font-family:"Playfair Display",serif;color:#1a3d2b;font-size:1.35rem;margin:0 0 14px}
.product-spec-sidebar dl{display:grid;gap:10px;margin:0}
.product-spec-sidebar dl div{display:grid;gap:4px;border-bottom:1px solid #edf5ef;padding-bottom:10px}
.product-spec-sidebar dl div:last-child{border-bottom:0;padding-bottom:0}
.product-spec-sidebar dt{font-size:.72rem;font-weight:800;text-transform:uppercase;color:#6d8c78;letter-spacing:.04em}
.product-spec-sidebar dd{margin:0;color:#1a3d2b;font-size:.92rem;line-height:1.45}
.product-main-img,.prod-img{background:#eef8f2!important}
.gallery-swatches,.product-colors{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.color-choice,.color-text-filter{appearance:none;border:1.5px solid #cfe8d8;background:#fff;color:#2d6a4f;border-radius:14px;padding:7px 11px;font-size:.82rem;font-weight:800;line-height:1.1;cursor:pointer;box-shadow:0 6px 14px rgba(26,61,43,.06);transition:background .16s,border-color .16s,color .16s,transform .16s}
.color-choice:hover,.color-text-filter:hover{background:#e8f7ee;transform:translateY(-1px)}
.color-choice.active,.color-text-filter.active{background:#1a3d2b;color:#fff;border-color:#1a3d2b}
.catalog-color-list{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 0 24px}
.quick-color.color-text-filter{width:auto;height:auto;display:inline-flex;text-indent:0}
@media(max-width:1180px){.product-hero{grid-template-columns:minmax(0,1fr) minmax(260px,320px)!important}.product-gallery{grid-column:1}.product-info{grid-column:1}.product-spec-sidebar{grid-column:2;grid-row:1 / span 2}}
@media(max-width:980px){.product-hero{grid-template-columns:1fr!important}.product-gallery{order:1}.product-spec-sidebar{position:static;order:2;grid-column:auto;grid-row:auto}.product-info{order:3}}

/* ===== PROMPT: modern catalog/product filter sidebar ===== */
.catalog-layout{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:28px;align-items:start}
.catalog-results{min-width:0}
.catalog-results-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 20px}
.filter-sidebar{position:sticky;top:96px;align-self:start;width:100%;max-height:calc(100vh - 118px);overflow:auto;background:linear-gradient(180deg,#fff,#fbfefc);border:1px solid #dcefe4;border-radius:24px;padding:18px;box-shadow:0 18px 48px rgba(26,61,43,.08)}
.filter-sidebar-form{display:grid;gap:12px}
.filter-sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}
.filter-sheet-handle{display:none}
.filter-kicker{display:block;color:#52b788;font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;margin-bottom:4px}
.filter-sidebar-head h2{font-family:"Playfair Display",serif;color:#163725;font-size:1.5rem;line-height:1.1;margin:0}
.filter-drawer-close{display:none;width:38px;height:38px;border:0;border-radius:14px;background:#e8f7ee;color:#1a3d2b;font-size:1.7rem;line-height:1;cursor:pointer}
.filter-accordion{border:1px solid #e3f0e7;border-radius:18px;background:#fff;overflow:hidden}
.filter-accordion summary{list-style:none;cursor:pointer;padding:16px;color:#1a3d2b;font-weight:900;font-size:.94rem;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;touch-action:manipulation}
.filter-accordion summary::-webkit-details-marker{display:none}
.filter-accordion summary:after{content:"+";width:24px;height:24px;border-radius:10px;background:#e8f7ee;color:#2d6a4f;display:inline-flex;align-items:center;justify-content:center;font-weight:900;transition:transform .18s}
.filter-accordion[open] summary:after{content:"-";transform:rotate(180deg)}
.filter-options{display:flex;flex-wrap:wrap;gap:10px;padding:0 14px 14px;-webkit-overflow-scrolling:touch}
.category-options{display:grid;grid-template-columns:1fr;gap:8px}
.filter-option{display:inline-flex;align-items:center;gap:8px;border:1.5px solid #dcefe4;background:#fff;color:#2d6a4f;border-radius:15px;padding:12px 14px;min-height:46px;font-size:.88rem;font-weight:800;line-height:1.2;cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .16s;touch-action:manipulation}
.filter-option:hover{background:#e8f7ee;transform:translateY(-1px)}
.filter-option.active{background:#1a3d2b;color:#fff;border-color:#1a3d2b}
.filter-option input{position:absolute;opacity:0;pointer-events:none}
.filter-option.readonly{cursor:default}.filter-option.readonly:hover{transform:none}
.filter-field{padding:0 14px 14px}
.filter-field input,.filter-field select,.price-fields input{width:100%;border:1.7px solid #cfe5d8;border-radius:14px;padding:10px 12px;background:#fff;color:#163725;font:inherit;font-size:.88rem;outline:none}
.filter-field input:focus,.filter-field select:focus,.price-fields input:focus{border-color:#52b788;box-shadow:0 0 0 4px rgba(82,183,136,.12)}
.price-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 14px}
.price-fields label span{display:block;color:#6d8c78;font-size:.72rem;font-weight:800;text-transform:uppercase;margin-bottom:5px}
.filter-sidebar-summary{display:flex;justify-content:space-between;align-items:center;background:#f8fcfa;border:1px solid #e3f0e7;border-radius:16px;padding:12px 14px;color:#6d8c78;font-weight:800}
.filter-sidebar-summary b{font-family:"Playfair Display",serif;font-size:1.35rem;color:#1a3d2b}
.filter-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:2px}
.filter-actions .btn-prim{text-align:center;border-radius:16px}
.filter-reset{display:inline-flex;align-items:center;justify-content:center;color:#2d6a4f;font-weight:900;font-size:.86rem}
.filter-mobile-btn{display:none;width:100%;margin:0 0 18px;border:1.7px solid #bfe2ce;background:#fff;color:#2d6a4f;border-radius:16px;padding:12px 15px;font-size:.95rem;font-weight:900;box-shadow:0 10px 26px rgba(26,61,43,.08);cursor:pointer}
.filter-backdrop{display:none}
.spec-list{display:grid;gap:8px;padding:0 14px 14px}
.spec-list div{display:grid;gap:3px;background:#f8fcfa;border:1px solid #e8f2eb;border-radius:14px;padding:10px 11px}
.spec-list span{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#6d8c78}
.spec-list b{font-size:.88rem;color:#1a3d2b;line-height:1.35}
.product-spec-sidebar{order:3;padding:18px!important}
.range-touch{display:grid;gap:12px;padding:0 14px 14px}
.range-touch input[type=range]{width:100%;height:34px;accent-color:#2d6a4f;touch-action:pan-x}
.range-touch input[type=range]::-webkit-slider-thumb{width:28px;height:28px;border-radius:50%;box-shadow:0 4px 12px rgba(26,61,43,.22)}
.product-main-img img{transition:opacity .18s ease,transform .18s ease}.product-main-img img.is-switching{opacity:.25;transform:scale(.985)}
@media(max-width:1180px){.catalog-layout{grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:22px}}
@media(max-width:980px){
  .catalog-layout{display:block}.filter-mobile-btn{display:inline-flex;align-items:center;justify-content:center;position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:900;min-height:52px}
  .filter-drawer-close{display:inline-flex;align-items:center;justify-content:center}
  .filter-sheet-handle{display:block;position:absolute;top:10px;left:50%;width:48px;height:5px;border-radius:999px;background:#c8ded1;transform:translateX(-50%)}
  .filter-sidebar-head{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#fff,#fbfefc);padding-top:22px;margin:-18px -18px 12px;padding-left:18px;padding-right:18px;padding-bottom:12px;border-bottom:1px solid #e3f0e7;touch-action:pan-y}
  .filter-sidebar{position:fixed!important;top:auto!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:min(86vh,720px)!important;max-height:none!important;z-index:2300;border-radius:28px 28px 0 0!important;transform:translateY(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;will-change:transform}
  .filter-sidebar.is-expanded{height:calc(100vh - env(safe-area-inset-top))!important;border-radius:0!important}
  .filter-sidebar.is-dragging{transition:none}
  .filter-backdrop{position:fixed;inset:0;background:rgba(7,22,14,.48);backdrop-filter:blur(4px);z-index:2299;opacity:0;pointer-events:none;transition:opacity .2s;display:block}
  html.filter-drawer-open .filter-sidebar{transform:translateY(0)}
  html.filter-drawer-open .filter-backdrop{opacity:1;pointer-events:auto}
  html.filter-drawer-open body{overflow:hidden}
  .product-spec-sidebar{order:2}
  .category-options{max-height:42vh;overflow:auto;overscroll-behavior:contain}
  .filter-accordion summary{min-height:60px;padding:18px}
  .filter-options{gap:10px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:18px}
  .category-options{display:grid;grid-template-columns:1fr;gap:10px}
  .filter-option{min-height:52px;padding:14px 16px;font-size:.94rem;white-space:nowrap}
  .category-options .filter-option{white-space:normal}
  .product-thumbs{flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:8px}
  .gallery-thumb{min-width:86px;width:86px;height:72px;scroll-snap-align:start}
  .gallery-swatches,.product-colors{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}
  .color-choice{min-height:48px;padding:13px 16px;font-size:.94rem;white-space:nowrap}
}

/* ===== PROMPT release: bounded ecommerce product gallery ===== */
.product-gallery{min-width:0!important;max-width:100%!important}
.product-main-img{
  width:100%!important;
  max-width:760px!important;
  min-height:0!important;
  height:auto!important;
  max-height:min(68vh,620px)!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.product-main-img img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.product-thumbs{max-width:100%!important;overflow-x:auto!important}
.gallery-thumb{flex:0 0 auto!important}
@media(max-width:620px){
  .product-main-img{
    max-height:min(58vh,430px)!important;
    aspect-ratio:1/1!important;
  }
}

/* ===== PROMPT marketplace product UX ===== */
.product-info{min-width:0!important}
.product-info-sticky{position:sticky;top:96px;display:grid;gap:14px}
.product-main-zoom{position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;background:transparent;padding:0;cursor:zoom-in;display:block}
.product-main-zoom img{position:absolute;inset:0}
.product-main-img:after{content:"";position:absolute;right:12px;bottom:12px;z-index:3;width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 8px 20px rgba(26,61,43,.14);pointer-events:none}
.product-main-img:before{content:"+";position:absolute;right:12px;bottom:12px;z-index:4;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:#1a3d2b;font-size:1.35rem;font-weight:900;pointer-events:none}
.product-thumbs{scrollbar-width:thin;scrollbar-color:#b9d9c6 transparent;overscroll-behavior-x:contain}
.gallery-thumb{transition:border-color .16s,box-shadow .16s,transform .16s}
.gallery-thumb:hover{transform:translateY(-1px)}
.product-mobile-cta{display:none}
.product-gallery-viewer{position:fixed;inset:0;z-index:2600;display:flex;align-items:center;justify-content:center;background:rgba(7,22,14,.9);padding:clamp(16px,4vw,42px);opacity:1}
.product-gallery-viewer[hidden]{display:none}
.product-gallery-viewer img{max-width:min(1180px,92vw);max-height:86vh;width:auto;height:auto;object-fit:contain;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.42)}
.viewer-close,.viewer-nav{position:fixed;z-index:2;border:0;background:#fff;color:#143522;box-shadow:0 16px 40px rgba(0,0,0,.24);cursor:pointer}
.viewer-close{right:18px;top:18px;width:48px;height:48px;border-radius:16px;font-size:2rem;line-height:1}
.viewer-nav{top:50%;width:52px;height:64px;border-radius:18px;font-size:2.7rem;line-height:1;transform:translateY(-50%)}
.viewer-prev{left:18px}.viewer-next{right:18px}
.viewer-counter{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#fff;color:#143522;border-radius:999px;padding:8px 14px;font-weight:900;box-shadow:0 12px 34px rgba(0,0,0,.22)}
html.gallery-viewer-open,html.gallery-viewer-open body{overflow:hidden}
@media(min-width:981px){
  .product-gallery{position:sticky!important;top:96px!important;align-self:start!important}
  .product-spec-sidebar{position:sticky!important;top:96px!important}
}
@media(max-width:980px){
  .product-info-sticky{position:static}
  .product-mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:1600;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #dcefe4;box-shadow:0 -12px 34px rgba(26,61,43,.12);backdrop-filter:blur(10px)}
  .product-mobile-cta div{display:grid;gap:1px;min-width:0}
  .product-mobile-cta span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#6d8c78}

  .product-mobile-cta b{font-family:"Playfair Display",serif;color:#1a3d2b;font-size:1.12rem;white-space:nowrap}
  .product-mobile-cta .btn-prim{min-height:48px;padding:12px 18px;border-radius:16px;white-space:nowrap}
  .product-gallery-viewer{padding:12px}
  .product-gallery-viewer img{max-width:100vw;max-height:82vh;border-radius:0;background:transparent;box-shadow:none}
  .viewer-nav{display:none}
  .viewer-close{right:12px;top:12px;width:44px;height:44px}
  .viewer-counter{bottom:calc(16px + env(safe-area-inset-bottom))}
  body:has(.product-mobile-cta){padding-bottom:calc(74px + env(safe-area-inset-bottom))}
}
@media(max-width:520px){.price-fields{grid-template-columns:1fr}.catalog-results-head{align-items:flex-start;flex-direction:column}.filter-option{font-size:.9rem}}
@media(max-width:560px){.portfolio-grid{columns:1}.contact-location-card{grid-template-columns:1fr}.contact-location-icon{width:48px;height:48px}.contact-form-card{padding:22px}.lightbox-modal{padding:16px}.lightbox-modal img{border-radius:18px}}
html.lightbox-lock,html.lightbox-lock body{overflow:hidden}

/* ===== PROMPT responsive/mobile/tablet UX final ===== */
html,body{max-width:100%;overflow-x:hidden}
.product-hero,.catalog-layout,.product-gallery,.product-info,.product-spec-sidebar,.catalog-results{min-width:0}
.product-hero{width:100%;max-width:100%;align-items:start!important}
.product-gallery,.product-info{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:0!important;
}
.product-gallery{padding:0!important;overflow:visible!important}
.product-info{padding:0!important}
.product-main-img{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  max-height:min(64vh,620px)!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:hidden!important;
}
.product-main-img:before,.product-main-img:after{display:none!important}
.product-main-zoom{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
.product-main-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.product-thumbs{
  display:flex!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  padding:10px 0 2px!important;
  margin-top:8px!important;
}
.gallery-thumb{
  width:74px!important;
  min-width:74px!important;
  height:64px!important;
  border:0!important;
  outline:0!important;
  border-radius:8px!important;
  box-shadow:none!important;
  background:transparent!important;
  scroll-snap-align:start;
}
.gallery-thumb.active{box-shadow:inset 0 -3px 0 #2d6a4f!important;border:0!important}
.gallery-thumb img{border:0!important;outline:0!important;box-shadow:none!important;border-radius:8px!important}
.product-gallery-viewer img{background:transparent!important;box-shadow:none!important;border-radius:0!important}
.filter-sidebar{overscroll-behavior:contain}
.filter-sidebar.is-dragging{transition:none!important}
@media(min-width:981px) and (max-width:1180px){
  .product-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
    grid-template-areas:"gallery info" "spec info"!important;
    gap:22px!important;
  }
  .product-gallery{grid-area:gallery!important;position:sticky!important;top:88px!important}
  .product-info{grid-area:info!important}
  .product-info-sticky{position:sticky!important;top:88px!important}
  .product-spec-sidebar{grid-area:spec!important;position:relative!important;top:auto!important;max-height:none!important}
  .product-main-img{aspect-ratio:1/1!important;max-height:560px!important}
  .product-title{font-size:clamp(1.55rem,2.4vw,2.05rem)!important}
  .buy-row{grid-template-columns:1fr!important}
  .calc-row{grid-template-columns:1fr!important}
  .catalog-layout{grid-template-columns:minmax(220px,270px) minmax(0,1fr)!important;gap:18px!important}
}
@media(min-width:768px) and (max-width:980px){
  .product-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .product-gallery,.product-info,.product-spec-sidebar{position:static!important;grid-column:auto!important;grid-row:auto!important;order:initial!important}
  .product-gallery{order:1!important}
  .product-info{order:2!important}
  .product-spec-sidebar{order:3!important;max-height:none!important}
  .product-main-img{aspect-ratio:4/3!important;max-height:560px!important}
  .buy-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .catalog-layout{display:block!important}
  .catalog-results-head{align-items:flex-start!important;flex-direction:column!important}
}
@media(max-width:767px){
  .product-hero{display:block!important;margin-bottom:34px!important}
  .product-gallery{margin-bottom:18px!important}
  .product-main-img{aspect-ratio:1/1!important;max-height:min(58vh,430px)!important}
  .gallery-thumb{width:82px!important;min-width:82px!important;height:70px!important}
  .product-info-sticky{position:static!important}
  .product-spec-sidebar{max-height:none!important}
  .filter-mobile-btn{z-index:1200!important}
  .filter-sidebar{
    height:min(88vh,740px)!important;
    border-radius:22px 22px 0 0!important;
    padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;
  }
  .filter-sidebar-head{touch-action:none!important}
  .filter-accordion summary,.filter-option{min-height:52px!important}
  .filter-options{overscroll-behavior-x:contain}
  .product-mobile-cta{z-index:1700!important}
}

/* ===== PROMPT mobile marketplace product grid final ===== */
.catalog-shell,.catalog-results,.prod-grid,.catalog-grid{max-width:100%!important;min-width:0!important}
.prod-grid,.catalog-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))!important;
  gap:clamp(12px,2vw,22px)!important;
  align-items:stretch!important;
  overflow:visible!important;
}
.prod-card,.prod-card *{box-sizing:border-box}
.prod-card{
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:0!important;
  outline:0!important;
  border-radius:16px!important;
  box-shadow:0 8px 26px rgba(26,61,43,.1)!important;
  background:#fff!important;
  transform:none;
}
.prod-card a{
  min-width:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  color:inherit;
  overflow:hidden!important;
}
.prod-img{
  position:relative!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  margin:8px 8px 0!important;
  border:0!important;
  outline:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
  background:linear-gradient(180deg,#f7fbf8 0%,#edf7f1 100%)!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.prod-img:before,.prod-img:after{display:none!important}
.prod-img-gradient{
  position:absolute!important;
  inset:0!important;
  opacity:.52!important;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.38) 0 10px,rgba(224,242,232,.24) 10px 20px),
    linear-gradient(135deg,rgba(255,255,255,.58),rgba(232,247,238,.18))!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
}
.prod-img img{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  outline:0!important;
  border-radius:inherit!important;
  box-shadow:none!important;
  background:transparent!important;
}
.ph-wrap{position:absolute!important;inset:0!important;z-index:1!important;border:0!important;box-shadow:none!important;background:transparent!important}
.prod-badge{
  z-index:4!important;
  max-width:calc(100% - 16px)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.prod-body{
  min-width:0!important;
  min-height:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:12px 12px 14px!important;
  overflow:hidden!important;
}
.prod-cat-label{
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.prod-body h4{
  min-width:0!important;
  min-height:calc(1.28em * 2)!important;
  margin:0!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
  line-height:1.28!important;
}
.prod-price{
  min-width:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:4px 7px!important;
  line-height:1.18!important;
  overflow-wrap:anywhere!important;
}
.prod-price span{margin-left:0!important}
.prod-btn{
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  margin-top:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:hidden!important;
  border-radius:12px!important;
  line-height:1.15!important;
}
@media(min-width:761px) and (max-width:1024px){
  .prod-grid,.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
  .prod-img{aspect-ratio:4/3!important}
}
@media(max-width:760px){
  .prod-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .prod-img{aspect-ratio:1/1!important;margin:7px 7px 0!important;border-radius:13px!important}
  .prod-body{gap:6px!important;padding:9px 9px 10px!important}
  .prod-cat-label{font-size:.6rem!important;letter-spacing:.04em!important}
  .prod-body h4{font-size:.78rem!important;line-height:1.26!important;min-height:calc(1.26em * 2)!important}
  .prod-price{font-size:.84rem!important;line-height:1.16!important}
  .prod-price span{font-size:.66rem!important}
  .prod-btn{min-height:38px!important;padding:8px 6px!important;border-radius:12px!important;font-size:.74rem!important}
  .prod-badge{font-size:.58rem!important;padding:3px 6px!important;top:8px!important;left:8px!important}
}
@media(max-width:420px){
  .prod-grid,.catalog-grid{gap:10px!important}
  .prod-card{border-radius:14px!important}
  .prod-body{padding:8px 8px 9px!important}
  .prod-body h4{font-size:.74rem!important}
  .prod-price{font-size:.8rem!important}
  .prod-btn{font-size:.7rem!important;min-height:36px!important}
}
@media(max-width:340px){
  .prod-grid,.catalog-grid{grid-template-columns:1fr!important}
  .prod-img{aspect-ratio:4/3!important}
}

/* ===== Global product polish ===== */
.prod-card{
  border:1px solid #dcefe4!important;
  border-radius:28px!important;
  padding:12px!important;
  background:
    radial-gradient(circle at top left, rgba(164, 223, 196, .26), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfefc 58%, #eef8f2 100%)!important;
  box-shadow:0 18px 44px rgba(26,61,43,.08)!important;
}
.prod-card a{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  height:100%!important;
}
.prod-card:hover{
  transform:translateY(-6px)!important;
  box-shadow:0 26px 60px rgba(26,61,43,.12)!important;
}
.prod-img{
  height:240px!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.92), rgba(255,255,255,0) 40%),
    linear-gradient(145deg, #f5fbf7 0%, #eaf7f0 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75)!important;
}
.prod-img img{
  border-radius:22px!important;
}
.prod-body{
  padding:2px 6px 6px!important;
  background:transparent!important;
}
.prod-title{
  font-size:.92rem!important;
  line-height:1.45!important;
}
.prod-btn{
  border-radius:16px!important;
  background:linear-gradient(135deg, #ebf8f0, #dff3e8)!important;
}
.product-gallery,
.product-info,
.product-spec-sidebar,
.filter-sidebar,
.product-calc,
.buy-box,
.product-order-form{
  background:
    radial-gradient(circle at top left, rgba(164, 223, 196, .18), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfefc 58%, #eef8f2 100%)!important;
}
.product-main-img{
  border-radius:28px!important;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.95), rgba(255,255,255,0) 36%),
    linear-gradient(145deg, #f5fbf7 0%, #eaf7f0 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)!important;
}
.product-main-img img{
  border-radius:28px!important;
}
.gallery-thumb{
  border-radius:18px!important;
  background:linear-gradient(180deg, #ffffff, #eef8f2)!important;
}
.gallery-thumb img{
  border-radius:14px!important;
}
.filter-accordion,
.spec-list div{
  background:linear-gradient(180deg, #ffffff 0%, #f8fcfa 100%)!important;
}
.filter-mobile-btn,
.product-filter-mobile,
.filter-backdrop,
.filter-drawer-close,
.filter-sheet-handle{
  display:none!important;
}
@media(max-width:980px){
  .product-hero{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .filter-sidebar,
  .product-spec-sidebar{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    transform:none!important;
    overflow:visible!important;
    border-radius:26px!important;
  }
  html.filter-drawer-open .filter-sidebar{
    transform:none!important;
  }
}

/* ===== Product page flow like legacy card, adapted to current UI ===== */
.product-title{
  font-size:clamp(1.8rem,3.5vw,2.7rem)!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
  max-width:14ch;
}
.product-price-row{
  display:grid!important;
  grid-template-columns:1fr auto auto!important;
  align-items:end!important;
  gap:10px!important;
}
.product-price-big{
  font-family:"Playfair Display",serif!important;
  font-size:clamp(1.8rem,3vw,2.35rem)!important;
  line-height:1!important;
  color:#143522!important;
}
.product-old-price{
  font-size:.95rem!important;
}
.product-info p[style]{
  font-size:1rem!important;
  line-height:1.72!important;
  color:#4d6958!important;
}
.option-label{
  margin-top:22px!important;
  margin-bottom:12px!important;
  font-size:.98rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#143522!important;
}
.product-colors,
.product-fabrics,
.product-sizes{
  gap:10px!important;
}
.color-choice,
.vbtn,
.size-vbtn{
  min-height:46px!important;
  padding:10px 16px!important;
  border-radius:14px!important;
  border:1.5px solid #f07d2f!important;
  background:#fff!important;
  color:#d96820!important;
  font-size:.95rem!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.color-choice:hover,
.vbtn:hover,
.size-vbtn:hover{
  transform:none!important;
  background:#fff7f1!important;
  border-color:#e36b1f!important;
  color:#ba5314!important;
}
.color-choice.active,
.vbtn.active,
.size-vbtn.active{
  background:linear-gradient(180deg,#fff5ed,#ffe8d8)!important;
  border-color:#d85f17!important;
  color:#a94a12!important;
  box-shadow:0 8px 18px rgba(240,125,47,.14)!important;
}
.selected-hint{
  margin-top:10px!important;
  font-size:.86rem!important;
}
.product-calc{
  border-radius:30px!important;
  padding:24px!important;
}
.product-calc h4,
.buy-box h3,
.product-order-form h3{
  font-size:1.6rem!important;
  line-height:1.08!important;
}
.buy-box{
  padding:26px!important;
}
.buy-row{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.buy-row div{
  padding:14px!important;
  border-radius:16px!important;
}
.buy-box .btn-prim,
.product-order-form .btn-prim{
  min-height:56px!important;
  border-radius:18px!important;
}
.product-spec-sidebar .filter-actions{
  display:none!important;
}

@media(max-width:980px){
  .product-gallery{order:2!important}
  .product-info{order:1!important}
  .product-spec-sidebar{order:3!important}
  .product-info-sticky{
    gap:0!important;
  }
  .product-title{
    max-width:none!important;
    margin-bottom:14px!important;
  }
  .product-price-row{
    margin-bottom:18px!important;
  }
  .product-main-img{
    max-height:none!important;
    aspect-ratio:1/1!important;
    border-radius:20px!important;
  }
  .product-main-img img{
    border-radius:20px!important;
  }
  .product-thumbs{
    margin-top:12px!important;
    gap:8px!important;
  }
  .gallery-thumb{
    width:72px!important;
    min-width:72px!important;
    height:72px!important;
    border-radius:14px!important;
  }
  .product-info,
  .product-gallery,
  .product-spec-sidebar,
  .product-calc,
  .buy-box,
  .product-order-form{
    border-radius:24px!important;
    padding:18px!important;
    box-shadow:0 14px 34px rgba(26,61,43,.08)!important;
  }
  .product-info{
    display:block!important;
  }
  .product-info .product-price-row{
    order:2!important;
  }
  .product-info p[style]{
    margin-bottom:18px!important;
  }
  .option-label{
    font-size:1.05rem!important;
  }
  .product-calc{
    margin-top:18px!important;
  }
  .buy-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .product-order-form{
    margin-top:18px!important;
  }
}

@media(max-width:640px){
  .breadcrumb{
    margin-bottom:12px!important;
    font-size:.8rem!important;
    gap:6px!important;
    flex-wrap:wrap!important;
  }
  .product-title{
    font-size:clamp(1.9rem,8vw,2.45rem)!important;
  }
  .product-price-row{
    grid-template-columns:1fr auto!important;
    gap:8px 12px!important;
  }
  .product-price-big{
    grid-column:1 / -1;
    font-size:2.15rem!important;
  }
  .product-spec-sidebar{
    padding-top:14px!important;
  }
  .filter-sidebar-head{
    margin-bottom:12px!important;
    padding:0!important;
    position:static!important;
    background:transparent!important;
    border:0!important;
  }
  .filter-kicker{
    margin-bottom:6px!important;
  }
  .product-colors,
  .product-fabrics,
  .product-sizes{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  .color-choice,
  .vbtn,
  .size-vbtn{
    min-height:42px!important;
    padding:9px 14px!important;
    font-size:.92rem!important;
  }
  .buy-box h3,
  .product-calc h4,
  .product-order-form h3{
    font-size:1.2rem!important;
  }
  .buy-row{
    grid-template-columns:1fr 1fr!important;
  }
}

/* ===== Responsive product card layout by device ===== */
@media(min-width:981px){
  .product-hero{
    grid-template-columns:minmax(360px, 520px) minmax(420px, 1fr)!important;
    grid-template-areas:
      "gallery info"
      "spec spec"!important;
    gap:34px 40px!important;
    align-items:start!important;
  }
  .product-gallery{
    grid-area:gallery!important;
    position:sticky!important;
    top:110px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .product-info{
    grid-area:info!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .product-spec-sidebar{
    grid-area:spec!important;
    position:relative!important;
    top:auto!important;
    margin-top:8px!important;
  }
  .product-info-sticky{
    position:static!important;
    gap:0!important;
  }
  .product-main-img{
    aspect-ratio:1/1!important;
    max-width:520px!important;
    max-height:none!important;
    border-radius:0!important;
    border:1px solid #dce9e1!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  .product-main-img img{
    border-radius:0!important;
    object-fit:contain!important;
    padding:14px!important;
    background:#fff!important;
  }
  .product-main-img:before,
  .product-main-img:after{
    display:none!important;
  }
  .product-thumbs{
    margin-top:14px!important;
    gap:10px!important;
  }
  .gallery-thumb{
    width:82px!important;
    min-width:82px!important;
    height:82px!important;
    border-radius:0!important;
    border:1px solid #dce9e1!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  .gallery-thumb img{
    border-radius:0!important;
    object-fit:cover!important;
  }
  .gallery-thumb.active{
    border-color:#2d6a4f!important;
    box-shadow:0 0 0 2px rgba(45,106,79,.12)!important;
  }
  .product-title{
    max-width:16ch!important;
    margin-bottom:18px!important;
    font-size:clamp(2rem,3.4vw,3.2rem)!important;
  }
  .product-price-row{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    margin-bottom:18px!important;
    padding:0 0 18px!important;
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid #dce9e1!important;
    border-radius:0!important;
  }
  .product-price-big{
    font-size:clamp(2rem,3vw,2.8rem)!important;
  }
  .product-old-price{
    font-size:1rem!important;
  }
  .product-discount-tag{
    border-radius:999px!important;
    padding:6px 10px!important;
  }
  .product-info p[style]{
    margin:0 0 22px!important;
  }
  .product-size-options,
  .product-colors,
  .product-fabrics{
    margin-bottom:8px!important;
  }
  .product-calc{
    margin-top:24px!important;
  }
  .buy-box{
    margin-top:18px!important;
  }
  .product-order-form{
    margin-top:18px!important;
  }
}

@media(min-width:681px) and (max-width:980px){
  .product-hero{
    grid-template-columns:minmax(300px, 1fr) minmax(320px, 1fr)!important;
    grid-template-areas:
      "gallery info"
      "spec spec"!important;
    gap:28px 28px!important;
    align-items:start!important;
  }
  .product-gallery{
    grid-area:gallery!important;
    order:initial!important;
    position:sticky!important;
    top:92px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .product-info{
    grid-area:info!important;
    order:initial!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .product-spec-sidebar{
    grid-area:spec!important;
    order:initial!important;
    margin-top:8px!important;
  }
  .product-main-img{
    aspect-ratio:1/1!important;
    max-height:none!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:none!important;
    border:1px solid #dce9e1!important;
  }
  .product-main-img img{
    border-radius:18px!important;
    object-fit:contain!important;
    padding:12px!important;
  }
  .product-main-img:before,
  .product-main-img:after{
    display:none!important;
  }
  .product-info-sticky{
    position:static!important;
    gap:0!important;
  }
  .product-title{
    max-width:none!important;
    font-size:clamp(1.8rem,4vw,2.5rem)!important;
    margin-bottom:16px!important;
  }
  .product-price-row{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    padding:0 0 16px!important;
    margin-bottom:16px!important;
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid #dce9e1!important;
    border-radius:0!important;
  }
}

@media(max-width:680px){
  .product-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .product-info{
    order:1!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .product-gallery{
    order:2!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .product-spec-sidebar{
    order:5!important;
  }
  .product-info-sticky{
    position:static!important;
    display:block!important;
  }
  .product-title{
    font-size:clamp(2rem,8.5vw,2.8rem)!important;
    line-height:.96!important;
    margin-bottom:14px!important;
  }
  .product-price-row{
    display:block!important;
    margin-bottom:12px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
  }
  .product-old-price,
  .product-discount-tag{
    display:inline-block!important;
    margin-top:8px!important;
    margin-right:8px!important;
  }
  .product-main-img{
    aspect-ratio:1/1!important;
    max-height:none!important;
    border-radius:16px!important;
    border:1px solid #dce9e1!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  .product-main-img img{
    border-radius:16px!important;
    object-fit:contain!important;
    padding:10px!important;
    background:#fff!important;
  }
  .product-main-img:before,
  .product-main-img:after{
    display:none!important;
  }
  .product-thumbs{
    margin-top:10px!important;
  }
  .option-label{
    margin-top:18px!important;
    margin-bottom:10px!important;
  }
  .product-calc{
    order:3!important;
    margin-top:18px!important;
  }
  .buy-box{
    order:4!important;
    margin-top:18px!important;
  }
  .buy-row{
    grid-template-columns:1fr 1fr!important;
  }
  .product-order-form{
    margin-top:18px!important;
  }
}

/* ===== Release: stable marketplace responsive catalog and product page ===== */
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
body{
  width:100%;
  overflow-x:clip;
}
img{
  max-width:100%;
}
.catalog-shell,
.catalog-layout,
.catalog-results,
.prod-grid,
.catalog-grid,
.prod-card,
.prod-card a,
.prod-body,
.product-hero,
.product-gallery,
.product-info,
.product-info-sticky,
.product-spec-sidebar{
  min-width:0!important;
}

.prod-grid,
.catalog-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-rows:1fr!important;
  align-items:stretch!important;
  gap:20px!important;
  width:100%!important;
  overflow:visible!important;
}
.prod-card{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  outline:0!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(26,61,43,.09)!important;
  isolation:isolate;
}
.prod-card a{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
.prod-img{
  position:relative!important;
  flex:0 0 auto!important;
  width:calc(100% - 16px)!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  margin:8px 8px 0!important;
  overflow:hidden!important;
  border:0!important;
  outline:0!important;
  border-radius:16px!important;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.66) 0 12px,rgba(226,242,233,.48) 12px 24px),
    linear-gradient(145deg,#f7fbf8,#eaf6ef)!important;
  box-shadow:none!important;
  contain:layout paint;
}
.prod-img:before,
.prod-img:after{
  display:none!important;
}
.prod-img-gradient{
  z-index:0!important;
  opacity:.45!important;
  border:0!important;
  outline:0!important;
  background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(214,239,225,.16))!important;
}
.prod-img img{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:inherit!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.prod-card:hover .prod-img img{
  transform:none!important;
}
.prod-body{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  gap:7px!important;
  width:100%!important;
  padding:12px 13px 14px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.prod-cat-label{
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.prod-title,
.prod-body h4{
  display:-webkit-box!important;
  min-height:2.56em!important;
  margin:0!important;
  overflow:hidden!important;
  font-size:.9rem!important;
  line-height:1.28!important;
  overflow-wrap:anywhere!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.prod-price{
  display:block!important;
  min-height:2.35em!important;
  overflow:hidden!important;
  font-size:1rem!important;
  line-height:1.18!important;
  overflow-wrap:anywhere!important;
}
.prod-price span{
  display:inline!important;
  margin-left:4px!important;
}
.prod-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:42px!important;
  margin-top:auto!important;
  padding:9px 10px!important;
  overflow:hidden!important;
  border-radius:13px!important;
  font-size:.78rem!important;
  line-height:1.15!important;
  text-align:center!important;
}

.product-main-img{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/5!important;
  max-width:none!important;
  max-height:none!important;
  overflow:hidden!important;
  border:0!important;
  outline:0!important;
  border-radius:24px!important;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.7) 0 14px,rgba(226,242,233,.46) 14px 28px),
    linear-gradient(145deg,#f7fbf8,#eaf6ef)!important;
  box-shadow:none!important;
  contain:layout paint;
}
.product-main-img img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:inherit!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  box-shadow:none!important;
}
.product-thumbs{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:12px!important;
  padding:2px 0 8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.product-thumbs::-webkit-scrollbar{
  display:none;
}
.gallery-thumb{
  flex:0 0 76px!important;
  width:76px!important;
  min-width:76px!important;
  height:76px!important;
  padding:3px!important;
  overflow:hidden!important;
  border:0!important;
  outline:0!important;
  border-radius:14px!important;
  background:#f1f8f4!important;
  box-shadow:none!important;
  scroll-snap-align:start;
}
.gallery-thumb img{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:11px!important;
  object-fit:cover!important;
}
.gallery-thumb.active{
  box-shadow:inset 0 0 0 2px #2d6a4f!important;
}

@media(min-width:1024px){
  .catalog-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .product-hero{
    grid-template-columns:minmax(360px,520px) minmax(420px,1fr)!important;
    grid-template-areas:"gallery info" "spec spec"!important;
    gap:34px 40px!important;
  }
  .product-gallery{
    grid-area:gallery!important;
    position:sticky!important;
    top:96px!important;
  }
  .product-info{
    grid-area:info!important;
  }
  .product-info-sticky{
    position:static!important;
  }
  .product-spec-sidebar{
    grid-area:spec!important;
    position:relative!important;
    top:auto!important;
    max-height:none!important;
  }
}

@media(min-width:768px) and (max-width:1023px){
  .catalog-shell{
    padding-right:4%!important;
    padding-left:4%!important;
  }
  .catalog-layout{
    display:block!important;
  }
  .prod-grid,
  .catalog-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .prod-img{
    aspect-ratio:4/5!important;
  }
  .product-hero{
    display:grid!important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
    grid-template-areas:"gallery info" "spec spec"!important;
    gap:24px!important;
  }
  .product-gallery{
    grid-area:gallery!important;
    position:static!important;
  }
  .product-info{
    grid-area:info!important;
  }
  .product-info-sticky{
    position:static!important;
  }
  .product-spec-sidebar{
    grid-area:spec!important;
    position:static!important;
    max-height:none!important;
  }
  .product-title{
    max-width:none!important;
    font-size:clamp(1.75rem,3.8vw,2.35rem)!important;
  }
  .product-price-big{
    font-size:clamp(1.75rem,3.5vw,2.2rem)!important;
  }
  .buy-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:1023px){
  .filter-mobile-btn{
    display:inline-flex!important;
    position:sticky!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    z-index:900!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:50px!important;
  }
  .filter-backdrop{
    display:block!important;
  }
  .filter-drawer-close{
    display:inline-flex!important;
  }
  .filter-sheet-handle{
    display:block!important;
  }
  .filter-sidebar,
  .product-spec-sidebar{
    position:fixed!important;
    inset:auto 0 0!important;
    z-index:2300!important;
    width:100%!important;
    height:min(86dvh,720px)!important;
    max-height:none!important;
    padding:18px 18px calc(22px + env(safe-area-inset-bottom))!important;
    overflow:auto!important;
    border-radius:26px 26px 0 0!important;
    transform:translateY(105%)!important;
    transition:transform .26s cubic-bezier(.2,.8,.2,1)!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  html.filter-drawer-open .filter-sidebar,
  html.filter-drawer-open .product-spec-sidebar{
    transform:translateY(0)!important;
  }
  html.filter-drawer-open .filter-backdrop{
    display:block!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .filter-sidebar-head{
    position:sticky!important;
    top:-18px!important;
    z-index:2!important;
    margin:-18px -18px 12px!important;
    padding:28px 18px 12px!important;
    background:#fff!important;
    border-bottom:1px solid #e3f0e7!important;
  }
}

/* ===== Reference layout: sidebar catalog + compact marketplace cards ===== */
.prod-color-text{
  display:none;
}
@media(min-width:1024px){
  .catalog-shell{
    max-width:1380px!important;
    padding-right:28px!important;
    padding-left:28px!important;
  }
  .catalog-layout{
    grid-template-columns:280px minmax(0,1fr)!important;
    gap:22px!important;
  }
  .catalog-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .catalog-grid .prod-card{
    min-height:0!important;
    border:1px solid #e2eee6!important;
    border-radius:18px!important;
    box-shadow:0 8px 24px rgba(26,61,43,.06)!important;
  }
  .catalog-grid .prod-img{
    width:100%!important;
    aspect-ratio:1/1!important;
    margin:0!important;
    border-radius:17px 17px 0 0!important;
    background:#f4f8f5!important;
  }
  .catalog-grid .prod-img img{
    object-fit:cover!important;
  }
  .catalog-grid .prod-body{
    gap:5px!important;
    padding:10px 11px 11px!important;
  }
  .catalog-grid .prod-cat-label{
    font-size:.58rem!important;
    letter-spacing:.08em!important;
  }
  .catalog-grid .prod-title,
  .catalog-grid .prod-body h4{
    min-height:2.55em!important;
    font-size:.76rem!important;
    line-height:1.27!important;
  }
  .catalog-grid .prod-price{
    min-height:2.2em!important;
    font-size:.78rem!important;
  }
  .catalog-grid .prod-price span{
    font-size:.61rem!important;
  }
  .catalog-grid .prod-btn{
    min-height:34px!important;
    padding:7px 6px!important;
    border-radius:12px!important;
    font-size:.67rem!important;
  }
  .catalog-filter-sidebar{
    top:84px!important;
    max-height:calc(100dvh - 100px)!important;
    padding:16px!important;
    border-radius:20px!important;
  }
  .catalog-filter-sidebar .filter-accordion summary{
    min-height:48px!important;
    padding:13px 14px!important;
    font-size:.86rem!important;
  }
  .catalog-filter-sidebar .filter-option{
    min-height:42px!important;
    padding:10px 12px!important;
    font-size:.82rem!important;
  }
}

@media(min-width:1024px) and (max-width:1180px){
  .catalog-layout{
    grid-template-columns:250px minmax(0,1fr)!important;
    gap:18px!important;
  }
  .catalog-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* ===== Reference mobile product flow ===== */
@media(max-width:767px){
  .prod-color-text{
    display:-webkit-box;
    min-height:1.2em;
    overflow:hidden;
    color:#557565;
    font-size:.66rem;
    font-weight:600;
    line-height:1.2;
    overflow-wrap:anywhere;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
  }
  .prod-color-text span{
    color:#2d6a4f;
    font-weight:800;
  }
  .catalog-grid .prod-img,
  .prod-grid .prod-img{
    aspect-ratio:1/1.18!important;
  }
  .catalog-grid .prod-img img,
  .prod-grid .prod-img img{
    object-fit:cover!important;
  }
  .product-hero{
    gap:28px!important;
  }
  .product-gallery{
    padding:14px!important;
    overflow:hidden!important;
    border:1px solid #dcece3!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,#fff,#fbfefc)!important;
    box-shadow:0 12px 34px rgba(26,61,43,.07)!important;
  }
  .product-main-img{
    aspect-ratio:4/3!important;
    border-radius:20px!important;
    background:#f4f8f5!important;
  }
  .product-main-img img{
    object-fit:cover!important;
  }
  .gallery-swatches{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:12px!important;
    overflow:visible!important;
    padding:0!important;
  }
  .gallery-swatches .color-choice,
  .product-colors .color-choice{
    min-height:40px!important;
    padding:9px 12px!important;
    border:1px solid #cfe5d8!important;
    border-radius:12px!important;
    background:#f5fbf7!important;
    color:#255d43!important;
    font-size:.82rem!important;
    box-shadow:none!important;
  }
  .gallery-swatches .color-choice.active,
  .product-colors .color-choice.active{
    border-color:#52b788!important;
    background:#e6f6ec!important;
    color:#17472f!important;
  }
  .selected-hint{
    margin-top:8px!important;
    color:#557565!important;
    font-size:.78rem!important;
  }
  .product-thumbs{
    margin-top:10px!important;
  }
  .product-info{
    padding:16px!important;
    border:1px solid #dcece3!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,#fff,#fbfefc)!important;
    box-shadow:0 12px 34px rgba(26,61,43,.07)!important;
  }
  .product-title{
    font-size:clamp(1.65rem,7.2vw,2.15rem)!important;
    line-height:1.08!important;
  }
  .product-price-row{
    padding:14px 16px!important;
    border:1px solid #e0eee6!important;
    border-radius:18px!important;
    background:#f7fbf8!important;
  }
  .product-price-big{
    font-size:1.75rem!important;
  }
  .product-calc,
  .buy-box,
  .product-order-form{
    border:1px solid #dcece3!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,#fff,#f4fbf7)!important;
    box-shadow:none!important;
  }
  .product-calc{
    margin-top:22px!important;
  }
  .product-calc h4,
  .buy-box h3,
  .product-order-form h3{
    font-size:1.15rem!important;
  }
  .calc-row{
    gap:10px!important;
  }
  .calc-row input,
  .calc-row select{
    min-height:44px!important;
  }
  .calc-result{
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .buy-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .buy-row div{
    min-height:70px!important;
  }
  .product-order-form .of-row{
    grid-template-columns:1fr!important;
  }
  .product-mobile-cta{
    display:none!important;
  }
  body:has(.product-mobile-cta){
    padding-bottom:0!important;
  }
  .product-hero + .product-mobile-cta + .product-gallery-viewer + section,
  .product-hero ~ section{
    margin-top:44px!important;
  }
  .product-hero ~ section .sec-title{
    margin-bottom:28px!important;
  }
  .product-hero ~ section .prod-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
  }
}

/* ===== Product gallery follow-up: natural desktop flow, clean photos ===== */
.product-main-img{
  background:#f4f8f5!important;
}
.product-main-img img{
  object-fit:cover!important;
}
@media(min-width:1024px){
  .product-gallery{
    position:static!important;
    top:auto!important;
    align-self:start!important;
  }
}

/* ===== Catalog filters release: stable desktop sidebar and mobile sheet ===== */
.product-filter-mobile,
.product-spec-sidebar{
  display:none!important;
}
.catalog-filter-sidebar{
  display:block!important;
}
@media(min-width:1024px){
  .catalog-layout{
    display:grid!important;
    grid-template-columns:minmax(260px,310px) minmax(0,1fr)!important;
    gap:28px!important;
    align-items:start!important;
  }
  .catalog-filter-sidebar{
    position:sticky!important;
    top:92px!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    z-index:10!important;
    width:100%!important;
    height:auto!important;
    max-height:calc(100dvh - 112px)!important;
    margin:0!important;
    transform:none!important;
    overflow:auto!important;
    border-radius:24px!important;
    box-shadow:0 18px 48px rgba(26,61,43,.08)!important;
  }
  .catalog-filter-sidebar .filter-sidebar-head{
    position:static!important;
    margin:0 0 10px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .catalog-filter-sidebar .filter-drawer-close,
  .catalog-filter-sidebar .filter-sheet-handle,
  .catalog-filter-mobile-btn,
  .catalog-filter-backdrop{
    display:none!important;
  }
  .catalog-filter-sidebar .filter-options{
    flex-wrap:wrap!important;
    overflow:visible!important;
    padding-bottom:14px!important;
  }
  .catalog-filter-sidebar .category-options{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}
@media(max-width:1023px){
  .catalog-layout{
    display:block!important;
  }
  .catalog-filter-mobile-btn{
    display:inline-flex!important;
  }
  .catalog-filter-sidebar{
    position:fixed!important;
    top:auto!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    z-index:2401!important;
    width:100vw!important;
    max-width:100vw!important;
    height:min(86dvh,720px)!important;
    max-height:none!important;
    margin:0!important;
    overflow:auto!important;
    transform:translate3d(0,105%,0)!important;
    background:#fff!important;
    border-radius:26px 26px 0 0!important;
    box-shadow:0 -20px 60px rgba(7,22,14,.2)!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  html.filter-drawer-open .catalog-filter-sidebar{
    transform:translate3d(0,0,0)!important;
  }
  .catalog-filter-sidebar .filter-sidebar-head{
    position:sticky!important;
    top:-18px!important;
    z-index:2!important;
    margin:-18px -18px 12px!important;
    padding:28px 18px 12px!important;
    background:#fff!important;
    border-bottom:1px solid #e3f0e7!important;
  }
  .catalog-filter-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:2400!important;
    display:block!important;
    opacity:0!important;
    pointer-events:none!important;
    background:rgba(7,22,14,.48)!important;
    backdrop-filter:blur(4px);
    transition:opacity .2s;
  }
  html.filter-drawer-open .catalog-filter-backdrop{
    opacity:1!important;
    pointer-events:auto!important;
  }
  .catalog-filter-sidebar .filter-options{
    flex-wrap:wrap!important;
    overflow:visible!important;
  }
  .catalog-filter-sidebar .category-options,
  .catalog-filter-sidebar .color-text-options{
    max-height:42dvh;
    overflow:auto!important;
  }
}

@media(max-width:767px){
  .catalog-shell{
    padding-right:12px!important;
    padding-left:12px!important;
  }
  .catalog-results-head{
    margin-bottom:14px!important;
  }
  .prod-grid,
  .catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .prod-card{
    border-radius:16px!important;
    box-shadow:0 6px 20px rgba(26,61,43,.08)!important;
  }
  .prod-img{
    width:calc(100% - 12px)!important;
    margin:6px 6px 0!important;
    border-radius:13px!important;
  }
  .prod-body{
    gap:6px!important;
    padding:9px 9px 10px!important;
  }
  .prod-cat-label{
    font-size:.59rem!important;
    letter-spacing:.035em!important;
  }
  .prod-title,
  .prod-body h4{
    min-height:2.52em!important;
    font-size:.77rem!important;
    line-height:1.26!important;
  }
  .prod-price{
    min-height:2.32em!important;
    font-size:.84rem!important;
    line-height:1.16!important;
  }
  .prod-price span{
    margin-left:2px!important;
    font-size:.64rem!important;
  }
  .prod-btn{
    min-height:38px!important;
    padding:8px 5px!important;
    border-radius:11px!important;
    font-size:.71rem!important;
  }
  .product-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
    margin-bottom:32px!important;
  }
  .product-gallery{
    order:1!important;
    position:static!important;
    margin:0!important;
    padding:0!important;
  }
  .product-info{
    order:2!important;
    padding:0!important;
  }
  .product-spec-sidebar{
    order:3!important;
  }
  .product-info-sticky{
    position:static!important;
    display:block!important;
  }
  .product-main-img{
    aspect-ratio:4/5!important;
    border-radius:18px!important;
  }
  .product-title{
    max-width:none!important;
    margin-bottom:12px!important;
    font-size:clamp(1.75rem,8vw,2.35rem)!important;
    line-height:1.05!important;
    overflow-wrap:anywhere!important;
  }
  .product-price-row{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:baseline!important;
    gap:8px 10px!important;
    margin-bottom:14px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .product-price-big{
    flex-basis:100%;
    font-size:1.9rem!important;
  }
  .product-info p[style]{
    font-size:.94rem!important;
    line-height:1.62!important;
  }
  .product-colors,
  .product-fabrics,
  .product-sizes{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    overflow:visible!important;
  }
  .color-choice,
  .vbtn,
  .size-vbtn{
    min-height:44px!important;
    max-width:100%!important;
    padding:9px 13px!important;
    white-space:normal!important;
  }
  .product-calc,
  .buy-box,
  .product-order-form{
    width:100%!important;
    margin-top:16px!important;
    padding:16px!important;
    overflow:hidden!important;
    border-radius:20px!important;
  }
  .calc-row,
  .of-row,
  .buy-row{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .product-mobile-cta{
    gap:10px!important;
    padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;
  }
  .product-mobile-cta b{
    overflow:hidden;
    font-size:1rem!important;
    text-overflow:ellipsis;
  }
  .product-mobile-cta .btn-prim{
    flex:0 0 auto;
    min-height:46px!important;
    padding:11px 16px!important;
  }
}

@media(max-width:359px){
  .prod-grid,
  .catalog-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  .prod-img{
    aspect-ratio:4/3!important;
  }
  .prod-title,
  .prod-body h4{
    font-size:.88rem!important;
  }
  .prod-price{
    font-size:.96rem!important;
  }
  .product-mobile-cta{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .product-mobile-cta .btn-prim{
    width:100%!important;
  }
}

@media(hover:none){
  .prod-card:hover{
    transform:none!important;
    box-shadow:0 6px 20px rgba(26,61,43,.08)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }
  .prod-card,
  .prod-img img,
  .filter-sidebar,
  .product-spec-sidebar{
    transition:none!important;
  }
}

/* ===== Release hotfix: product drawer must stay above grids on mobile ===== */
.product-hero.reveal,
.product-hero.reveal.visible{
  transform:none!important;
}
.product-hero{
  isolation:isolate;
}
.prod-grid.reveal,
.catalog-grid.reveal{
  z-index:0!important;
}
.prod-card{
  position:relative!important;
  z-index:0!important;
}
@media(max-width:1023px){
  .product-spec-sidebar.filter-sidebar{
    position:fixed!important;
    top:auto!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    z-index:2401!important;
    width:100vw!important;
    max-width:100vw!important;
    height:min(86dvh,720px)!important;
    max-height:none!important;
    margin:0!important;
    overflow:auto!important;
    transform:translate3d(0,105%,0)!important;
    background:#fff!important;
    border-radius:26px 26px 0 0!important;
    box-shadow:0 -20px 60px rgba(7,22,14,.2)!important;
    isolation:isolate;
  }
  html.filter-drawer-open .product-spec-sidebar.filter-sidebar{
    transform:translate3d(0,0,0)!important;
  }
  .filter-backdrop{
    z-index:2400!important;
  }
  html.filter-drawer-open .filter-backdrop{
    display:block!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  html.filter-drawer-open .prod-card,
  html.filter-drawer-open .product-mobile-cta{
    pointer-events:none;
  }
  html.filter-drawer-open .product-spec-sidebar,
  html.filter-drawer-open .filter-backdrop{
    pointer-events:auto;
  }
}

/* ===== Final reference override: catalog cards + mobile product page ===== */
.prod-color-text{display:none}
@media(min-width:1024px){
  .catalog-layout{grid-template-columns:280px minmax(0,1fr)!important;gap:22px!important}
  .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
  .catalog-grid .prod-card{border-radius:18px!important;border:1px solid #e2eee6!important;box-shadow:0 8px 24px rgba(26,61,43,.06)!important}
  .catalog-grid .prod-img{width:100%!important;margin:0!important;aspect-ratio:1/1!important;border-radius:17px 17px 0 0!important;background:#f4f8f5!important}
  .catalog-grid .prod-img img{object-fit:cover!important}
  .catalog-grid .prod-body{gap:5px!important;padding:10px 11px 11px!important}
  .catalog-grid .prod-title,.catalog-grid .prod-body h4{min-height:2.55em!important;font-size:.76rem!important;line-height:1.27!important}
  .catalog-grid .prod-price{min-height:2.2em!important;font-size:.78rem!important}
  .catalog-grid .prod-btn{min-height:34px!important;padding:7px 6px!important;border-radius:12px!important;font-size:.67rem!important}
}
@media(min-width:1024px) and (max-width:1180px){
  .catalog-layout{grid-template-columns:250px minmax(0,1fr)!important}
  .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:767px){
  .prod-color-text{display:-webkit-box;min-height:1.2em;overflow:hidden;color:#557565;font-size:.66rem;font-weight:600;line-height:1.2;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:1}
  .prod-color-text span{color:#2d6a4f;font-weight:800}
  .catalog-grid .prod-img,.prod-grid .prod-img{aspect-ratio:1/1.18!important}
  .catalog-grid .prod-img img,.prod-grid .prod-img img{object-fit:cover!important}
  .product-gallery{padding:14px!important;overflow:hidden!important;border:1px solid #dcece3!important;border-radius:22px!important;background:linear-gradient(180deg,#fff,#fbfefc)!important;box-shadow:0 12px 34px rgba(26,61,43,.07)!important}
  .product-main-img{aspect-ratio:4/3!important;max-height:none!important;border-radius:20px!important;background:#f4f8f5!important}
  .product-main-img img{object-fit:cover!important;padding:0!important;border-radius:20px!important}
  .product-info{padding:16px!important;border:1px solid #dcece3!important;border-radius:22px!important;background:linear-gradient(180deg,#fff,#fbfefc)!important;box-shadow:0 12px 34px rgba(26,61,43,.07)!important}
  .product-title{font-size:clamp(1.65rem,7.2vw,2.15rem)!important;line-height:1.08!important}
  .product-price-row{padding:14px 16px!important;border:1px solid #e0eee6!important;border-radius:18px!important;background:#f7fbf8!important}
  .product-price-big{font-size:1.75rem!important}
  .gallery-swatches,.product-colors{display:flex!important;flex-wrap:wrap!important;gap:8px!important;overflow:visible!important;padding:0!important}
  .gallery-swatches .color-choice,.product-colors .color-choice{min-height:40px!important;padding:9px 12px!important;border:1px solid #cfe5d8!important;border-radius:12px!important;background:#f5fbf7!important;color:#255d43!important;font-size:.82rem!important;box-shadow:none!important}
  .product-calc,.buy-box,.product-order-form{border:1px solid #dcece3!important;border-radius:22px!important;background:linear-gradient(180deg,#fff,#f4fbf7)!important;box-shadow:none!important}
  .product-calc h4,.buy-box h3,.product-order-form h3{font-size:1.15rem!important}
  .buy-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .buy-row div{min-height:70px!important}
  .product-order-form .of-row{grid-template-columns:1fr!important}
  .product-mobile-cta{display:none!important}
  body:has(.product-mobile-cta){padding-bottom:0!important}
  .product-hero ~ section .prod-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
}

/* Final product photo cleanup: no striped placeholders, larger clean ecommerce photos. */
.prod-img,
.catalog-grid .prod-img,
.prod-grid .prod-img{
  width:100%!important;
  margin:0!important;
  aspect-ratio:1/1.08!important;
  border-radius:18px 18px 0 0!important;
  background:#f6faf7!important;
  background-image:none!important;
  overflow:hidden!important;
}
.prod-img:before,
.prod-img:after,
.prod-img-gradient{
  display:none!important;
  content:none!important;
  background:none!important;
}
.prod-img img,
.catalog-grid .prod-img img,
.prod-grid .prod-img img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
  filter:none!important;
  transform:none!important;
}
@media(max-width:767px){
  .prod-img,
  .catalog-grid .prod-img,
  .prod-grid .prod-img{
    aspect-ratio:1/1.12!important;
    border-radius:16px 16px 0 0!important;
  }
}

/* Hero media final override. */
.hero.hero-has-media h1,
.hero.hero-has-media p,
.hero.hero-has-media .h-stat h3,
.hero.hero-has-media .h-stat p{
  color:#fff!important;
}
.hero.hero-has-media .hero-content{
  position:relative!important;
  z-index:2!important;
}
.hero.hero-has-media .hero-tag{
  color:#fff!important;
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,255,255,.25)!important;
}

.personal-consent{display:flex;align-items:flex-start;gap:9px;margin:2px 0 14px;color:#5a7a65;font-size:.75rem;line-height:1.4;cursor:pointer}.personal-consent input{flex:0 0 auto!important;width:17px!important;height:17px!important;margin:1px 0 0!important;accent-color:#2d6a4f}.personal-consent span{min-width:0}.personal-consent a{color:#2d6a4f;text-decoration:underline;text-underline-offset:2px;font-weight:700}.personal-consent a:hover{color:#1a3d2b}
.legal-page-header{padding-bottom:34px}.legal-page{padding:0 5% clamp(60px,8vw,100px)}.legal-document{max-width:900px;margin:0 auto;background:#fff;border:1px solid #dcefe4;border-radius:28px;padding:clamp(24px,5vw,52px);box-shadow:0 18px 50px rgba(26,61,43,.08);color:#355642}.legal-document h2{font-family:"Playfair Display",serif;color:#1a3d2b;font-size:clamp(1.15rem,2vw,1.45rem);margin:28px 0 10px}.legal-document p,.legal-document li{font-size:.95rem;line-height:1.75}.legal-document p+p{margin-top:16px}.legal-document ul{padding-left:22px;margin:12px 0 18px}.legal-document a{color:#2d6a4f;font-weight:700;text-decoration:underline}

/* --- Пользовательские изменения логики фильтров каталога --- */
.catalog-filter-sidebar {
  position: static !important;
  overflow: visible !important;
  max-height: none !important;
  transform: none !important;
}

/* На мобильных скрываем по умолчанию */
@media (max-width: 1023px) {
  .catalog-filter-sidebar {
    display: none !important;
  }
  html.filter-drawer-open .catalog-filter-sidebar {
    display: block !important;
    margin-bottom: 20px !important;
  }
  /* Отключаем затемнение (бэкдроп) для каталога */
  html.filter-drawer-open .catalog-filter-backdrop {
    display: none !important;
  }
  /* Убираем блокировку прокрутки body (которая добавляется на мобильных) */
  html.filter-drawer-open, html.filter-drawer-open body {
    overflow: auto !important;
    overscroll-behavior: auto !important;
  }
}

/* На десктопе показываем и отключаем sticky */
@media (min-width: 1024px) {
  .catalog-filter-sidebar {
    display: block !important;
    position: static !important;
    overflow: visible !important;
    max-height: none !important;
  }
}
