:root {
  --site-max-width: 1280px;
  --section-gap: 28px;
  --block-radius: 28px;
  --block-padding: 28px;
  --hero-title-size: 66px;
  --section-title-size: 42px;
  --body-text-size: 17px;
  --hero-image-height: 540px;
  --product-card-height: 320px;
  --modal-image-height: 620px;
  --gallery-thumb-size: 88px;
  --cart-width: 520px;
  --product-card-fit: contain;
  --modal-image-fit: contain;
  --bg: #120804;
  --bg-alt: #1a0c06;
  --header-bg: #0c0402;
  --panel: #1a0d08;
  --panel-soft: #24130c;
  --line: #59311b;
  --accent: #d88a3d;
  --accent-hover: #ee9f4f;
  --text: #f7ebdf;
  --muted: #ccb29e;
  --shadow-lg: 0 28px 80px rgba(0,0,0,.45);
  --shadow-md: 0 16px 40px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-y:scroll; min-height:100%; background:#120804}
body{
  margin:0;
  font-family: Inter, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 15% 14%, rgba(216,138,61,.14), rgba(216,138,61,0) 23%),
    radial-gradient(circle at 84% 72%, rgba(252,104,111,.08), rgba(252,104,111,0) 26%),
    linear-gradient(90deg, rgba(255,255,255,.025) 0, rgba(255,255,255,0) 7%, rgba(255,255,255,.02) 14%, rgba(255,255,255,0) 21%, rgba(255,255,255,.02) 28%, rgba(255,255,255,0) 35%, rgba(255,255,255,.02) 42%, rgba(255,255,255,0) 49%, rgba(255,255,255,.02) 56%, rgba(255,255,255,0) 63%, rgba(255,255,255,.02) 70%, rgba(255,255,255,0) 77%),
    linear-gradient(180deg, var(--bg) 0%, #0b0403 100%);
  overflow-x:clip;
  min-height:100vh;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 24% 24%, rgba(255,255,255,.06) 0 1px, transparent 1px),
    radial-gradient(circle at 76% 76%, rgba(255,255,255,.05) 0 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.04) 0 1px, transparent 1px);
  background-size: 460px 460px, 520px 520px, 620px 620px;
  opacity:.16;
}
body.is-locked{overflow:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.container{width:min(var(--site-max-width), calc(100% - 36px)); margin:0 auto}
.section-space{padding-top:var(--section-gap)}
.hidden{display:none!important}
.site-shell{position:relative; min-height:100vh; display:flex; flex-direction:column}
.site-main{padding-bottom:24px; flex:1 0 auto}
.site-footer{margin-top:auto}
.glow-card,
.product-card,
.review-card,
.benefit-card,
.quality-card,
.hero-image-card,
.about-visual,
.delivery-visual,
.contacts-copy,
.contacts-map,
.seo-card,
.cta-grid,
.about-highlight,
.modal-window,
.modal-main-image,
.cart-drawer-inner,
.lead-form,
.mobile-menu-panel{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)), var(--panel);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow-md);
  backdrop-filter:blur(12px);
}
.section-badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:40px; padding:0 16px; border-radius:999px;
  border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03);
  color:#ffd2b3; text-transform:uppercase; letter-spacing:.06em; font-size:12px;
}
.btn{
  min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:0 24px; border-radius:999px; border:1px solid transparent; transition:.2s ease;
  font-weight:700;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--accent), var(--accent-hover)); color:#1d1109; box-shadow:0 14px 30px rgba(216,138,61,.24)}
.btn-outline,.btn-secondary{background:rgba(255,255,255,.02); color:var(--text); border-color:rgba(255,255,255,.11)}
.btn-block{width:100%}

.site-header{position:sticky; top:0; z-index:30; border-bottom:1px solid rgba(255,255,255,.06); background:rgba(8,3,2,.78); backdrop-filter:blur(14px)}
.header-inner{min-height:88px; display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center}
.brand{display:flex; align-items:center; gap:14px; min-width:0}
.brand-mark{width:58px; height:58px; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); padding:8px; flex:0 0 auto}
.brand-mark img{width:100%; height:100%; object-fit:contain}
.brand-text{min-width:0; display:grid; gap:2px}
.brand-text strong{font-size:24px; letter-spacing:-.04em; line-height:1.05}
.brand-text small{color:var(--muted); font-size:13px}
.desktop-nav{display:flex; flex-wrap:wrap; gap:26px; justify-content:center}
.desktop-nav a{color:var(--muted)}
.desktop-nav a:hover{color:var(--text)}
.header-actions{display:flex; align-items:center; gap:12px}
.header-chat{width:48px; height:48px; border-radius:16px; border:1px solid rgba(255,255,255,.12); display:grid; place-items:center; color:var(--text); background:rgba(255,255,255,.03); box-shadow:0 8px 22px rgba(0,0,0,.22); transition:.2s ease; overflow:hidden; padding:0}
.header-chat:hover{border-color:rgba(255,255,255,.24); transform:translateY(-1px); box-shadow:0 12px 28px rgba(0,0,0,.28)}
.header-chat img{width:100%; height:100%; object-fit:contain; display:block}
.mobile-header-chat{display:none; width:44px; height:44px; border-radius:14px; border:1px solid rgba(255,255,255,.12); place-items:center; background:rgba(255,255,255,.03); box-shadow:0 8px 22px rgba(0,0,0,.22); overflow:hidden; padding:0; flex:0 0 auto}
.mobile-header-chat img{width:100%; height:100%; object-fit:contain; display:block}
.header-phone{display:grid; gap:2px}
.header-phone small{font-size:12px; color:var(--muted)}
.header-phone span{font-size:22px; font-weight:800; letter-spacing:-.03em}
.burger{display:none; width:52px; height:52px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.03); padding:0}
.burger span{display:block; width:22px; height:2px; margin:5px auto; background:var(--text)}
.mobile-menu{position:fixed; inset:0; background:rgba(0,0,0,.56); opacity:0; visibility:hidden; transition:.2s ease; z-index:70}
.mobile-menu.is-open{opacity:1; visibility:visible}
.mobile-menu-panel{margin-left:auto; width:min(400px, calc(100% - 16px)); height:100%; padding:18px; transform:translateX(100%); transition:.25s ease; border-left:1px solid rgba(255,255,255,.08)}
.mobile-menu.is-open .mobile-menu-panel{transform:translateX(0)}
.mobile-menu-top{display:flex; align-items:center; justify-content:space-between; gap:12px}
.mobile-nav{display:grid; gap:10px; margin-top:20px}
.mobile-nav a{padding:14px 16px; border-radius:16px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03)}
.mobile-contacts{display:grid; gap:10px; margin-top:18px}
.mobile-close,.modal-close{width:46px; height:46px; border-radius:16px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); color:var(--text); font-size:28px; line-height:1; padding:0}

.hero-section{padding:34px 0 8px}
.hero-grid{display:grid; grid-template-columns:minmax(0, 1.02fr) minmax(380px, .98fr); gap:34px; align-items:center}
.hero-copy h1{margin:18px 0 14px; font-size:clamp(40px, calc(var(--hero-title-size) * 1px), 78px); line-height:.96; letter-spacing:-.06em; max-width:760px}
.hero-subtitle,.section-head p,.about-copy p,.delivery-copy p,.cta-copy p,.contacts-copy p,.seo-card p,.review-card p,.benefit-card p,.quality-card p{margin:0; color:var(--muted); line-height:1.72; font-size:clamp(15px, calc(var(--body-text-size) * 1px), 20px)}
.hero-buttons{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px}
.hero-benefits{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:24px}
.hero-benefit{min-height:68px; display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:20px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.02); color:#f1d5c0}
.hero-stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px}
.stat-card{padding:16px 18px; border-radius:22px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.025)}
.stat-card strong{display:block; font-size:28px; letter-spacing:-.04em}
.stat-card span{display:block; margin-top:4px; color:var(--muted); font-size:14px}
.hero-image-card{padding:14px; border-radius:calc(var(--block-radius) + 6px); overflow:hidden}
.hero-image-card img{width:100%; height:var(--hero-image-height); object-fit:contain; object-position:center}

.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px}
.section-head h2,.about-copy h2,.delivery-copy h2,.cta-copy h2,.contacts-copy h2,.seo-card h2{margin:12px 0 8px; font-size:clamp(30px, calc(var(--section-title-size) * 1px), 58px); line-height:1; letter-spacing:-.05em}
.section-note{max-width:360px; padding:14px 16px; border-radius:20px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); color:var(--muted)}
.catalog-filters{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:18px}
.filter-chip{min-height:48px; padding:0 20px; border-radius:999px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.02); color:var(--text)}
.filter-chip.is-active{background:linear-gradient(135deg, rgba(216,138,61,.22), rgba(255,255,255,.04)); border-color:rgba(216,138,61,.42); box-shadow:0 10px 26px rgba(216,138,61,.14)}
.product-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px}
.product-card{overflow:hidden; border-radius:calc(var(--block-radius) + 4px); display:flex; flex-direction:column}
.product-cover{width:100%; display:block; padding:14px; background:transparent; border:0; position:relative}
.product-cover img{width:100%; height:var(--card-image-height, var(--product-card-height)); object-fit:var(--card-fit, var(--product-card-fit)); object-position:center}
.product-badge{position:absolute; top:22px; left:22px; min-height:34px; padding:0 14px; border-radius:999px; display:inline-flex; align-items:center; background:rgba(13,8,6,.85); border:1px solid rgba(216,138,61,.24); color:#ffd9be; font-size:12px; letter-spacing:.05em; text-transform:uppercase}
.product-body{padding:0 20px 20px; display:flex; flex-direction:column; gap:12px; flex:1}
.product-meta{display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.06em}
.product-body h3{margin:0; font-size:32px; line-height:1; letter-spacing:-.04em}
.product-body p{margin:0; color:var(--muted); line-height:1.6}
.product-price-row{display:flex; justify-content:space-between; align-items:flex-end; gap:12px}
.product-price-row strong{display:block; font-size:34px; letter-spacing:-.04em}
.product-price-row small{display:block; color:#8f7768; text-decoration:line-through; margin-top:2px}
.product-volume{min-height:40px; padding:0 14px; border-radius:999px; display:inline-flex; align-items:center; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08)}
.product-actions{display:flex; gap:10px; margin-top:auto}
.product-actions .btn{flex:1}

.review-slider-shell{overflow:hidden; --reviews-desktop-columns:2}
.review-slider{overflow-x:auto; scrollbar-width:none; cursor:grab; touch-action:pan-y pinch-zoom; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scroll-behavior:smooth; scroll-snap-type:x mandatory; container-type:inline-size}
.review-slider::-webkit-scrollbar{display:none}
.review-slider.is-dragging{cursor:grabbing; user-select:none; scroll-snap-type:none}
.review-track{--reviews-gap:18px; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100cqw - (var(--reviews-gap) * (var(--reviews-desktop-columns, 2) - 1))) / var(--reviews-desktop-columns, 2)); gap:var(--reviews-gap); padding-bottom:4px; width:max-content; min-width:100%}
.review-slider > .review-track{min-width:100%}
.review-track > *{min-width:0; scroll-snap-align:start; scroll-snap-stop:always}
.review-card{padding:22px; border-radius:calc(var(--block-radius) + 4px); display:flex; flex-direction:column; gap:14px; min-height:100%}
.review-top{display:flex; align-items:center; gap:14px; margin-bottom:0}
.review-top img,.review-avatar-fallback{width:66px; height:66px; border-radius:50%; object-fit:cover; border:1px solid rgba(255,255,255,.08); flex:0 0 auto}
.review-avatar-fallback{display:grid; place-items:center; font-weight:800; font-size:26px; background:linear-gradient(135deg, rgba(216,138,61,.26), rgba(255,255,255,.05)); color:#fff4ea}
.review-top strong{display:block; font-size:18px}
.review-top span{display:block; color:var(--muted); margin-top:3px}
.review-rating{margin-bottom:0; color:#ffcb79; letter-spacing:.18em}
.review-media-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.review-media-grid.is-single{grid-template-columns:1fr}
.review-media-item{border-radius:18px; overflow:hidden; background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.08); aspect-ratio:1 / 1}
.review-media-item img{width:100%; height:100%; object-fit:cover; display:block}
.review-video-wrap{border-radius:18px; overflow:hidden; background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.08)}
.review-video{width:100%; display:block; aspect-ratio:16 / 9; background:#000}
.review-points{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}
.review-points-col{padding:14px 16px; border-radius:18px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.025)}
.review-points-col strong{display:block; margin-bottom:10px; font-size:14px; letter-spacing:.02em}
.review-points-col.is-plus strong{color:#ffddb6}
.review-points-col.is-minus strong{color:#d8b5a4}
.review-points-col ul{margin:0; padding-left:18px; color:var(--muted); display:grid; gap:8px}
.review-points-col li{line-height:1.55}
.slider-nav{display:flex; gap:10px}
.slider-btn,.gallery-nav,.lightbox-nav{width:46px; height:46px; border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); color:var(--text); font-size:22px}

.benefit-grid,.quality-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px}
.benefit-card,.quality-card{padding:24px; border-radius:calc(var(--block-radius) + 4px)}
.benefit-icon,.quality-icon{width:64px; height:64px; border-radius:20px; display:grid; place-items:center; background:linear-gradient(135deg, rgba(216,138,61,.95), rgba(255,173,87,.92)); color:#190d08; box-shadow:0 14px 26px rgba(216,138,61,.18); margin-bottom:18px}
.site-icon{display:block; width:28px; height:28px}
.site-icon svg{width:100%; height:100%}
.benefit-card h3,.quality-card h3{margin:0 0 12px; font-size:22px; line-height:1.15; letter-spacing:-.03em}

.about-grid,.delivery-grid,.contacts-grid,.cta-grid{display:grid; gap:18px}
.about-grid,.delivery-grid,.contacts-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.96fr)}
.about-copy,.delivery-copy,.cta-copy{padding:8px 4px}
.about-visual,.delivery-visual,.cta-grid,.contacts-copy,.contacts-map,.seo-card,.about-highlight{border-radius:calc(var(--block-radius) + 4px); overflow:hidden}
.about-visual{position:relative; min-height:320px; background:rgba(255,255,255,.02)}
.about-media,.about-media img,.about-media video,.about-media iframe,.delivery-visual img,.cta-visual img{width:100%; height:100%; min-height:320px; display:block}
.about-media--image img,.delivery-visual img,.cta-visual img{object-fit:cover}
.about-media--video video{object-fit:cover; background:#000}
.about-media--embed iframe,.about-media--embed video{border:0; background:#000}
.about-media--empty{display:grid; place-items:center}
.about-highlight{margin-top:18px; padding:18px 20px}
.about-highlight strong{display:block; margin-bottom:8px; font-size:20px}
.delivery-list{margin:18px 0 0; padding:0; list-style:none; display:grid; gap:10px}
.delivery-list li{min-height:56px; display:flex; align-items:center; padding:0 18px; border-radius:18px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.02); color:var(--muted)}
.seo-card{padding:26px; max-width:980px; margin-inline:auto}
.cta-grid{grid-template-columns:minmax(0,.94fr) minmax(320px,.86fr); padding:24px; align-items:center}
.cta-copy .btn{margin-top:18px; width:fit-content; min-width:250px}
.cta-visual{border-radius:calc(var(--block-radius) - 4px); overflow:hidden; min-height:280px}
.contact-list{display:grid; gap:14px; margin-top:18px}
.contact-list strong{display:block; margin-bottom:4px}
.contact-list a,.contact-list span{color:var(--muted)}
.messenger-links{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
.messenger-links a{min-height:42px; display:inline-flex; align-items:center; padding:0 16px; border-radius:999px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.02)}
.contacts-copy,.contacts-map{padding:24px}
.contacts-map iframe,.contacts-map > *{width:100%; min-height:100%}
.map-placeholder{min-height:360px; display:grid; place-items:center; text-align:center; color:var(--muted); padding:24px}
.map-placeholder strong{display:block; margin-bottom:10px; color:var(--text); font-size:28px}

.site-footer{padding:28px 0 24px; border-top:1px solid rgba(255,255,255,.06); background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.12)); position:relative; z-index:2}
.footer-grid{display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:18px}
.footer-grid strong{display:block; margin-bottom:10px; font-size:18px}
.footer-grid p{margin:0 0 8px; color:var(--muted)}
.footer-links{display:grid; gap:10px}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:var(--text)}
.footer-bottom{margin-top:18px; padding-top:18px; border-top:1px solid rgba(255,255,255,.06); display:flex; justify-content:space-between; gap:12px; color:var(--muted)}

.cart-floating{position:fixed; right:18px; bottom:18px; z-index:45; min-height:58px; padding:0 12px 0 18px; border-radius:999px; border:1px solid rgba(255,255,255,.08); background:rgba(18,9,5,.92); color:var(--text); display:flex; align-items:center; gap:12px; box-shadow:var(--shadow-md)}
.cart-floating strong{width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:#1d1109}

.modal-backdrop,.lightbox{position:fixed; inset:0; padding:14px; background:rgba(0,0,0,.78); display:none; align-items:center; justify-content:center; z-index:80}
.modal-backdrop.is-open,.lightbox.is-open{display:flex}
.modal-window{width:min(1380px, calc(100% - 8px)); max-height:calc(100vh - 28px); overflow:hidden; border-radius:calc(var(--block-radius) + 6px); background:linear-gradient(180deg, rgba(25,10,6,.98), rgba(12,4,2,.98)); position:relative; display:flex; flex-direction:column}
.modal-close{position:absolute; top:14px; right:14px; z-index:3}
.modal-product{padding:0}
.product-modal-grid{display:grid; grid-template-columns:minmax(320px,.92fr) minmax(360px,1.08fr); gap:20px; padding:20px; min-height:0; max-height:calc(100vh - 48px)}
.modal-main-image{height:min(68vh, var(--modal-image-height)); min-height:320px; padding:16px; border-radius:calc(var(--block-radius) + 2px); display:grid; place-items:center; cursor:zoom-in}
.modal-main-image img{width:100%; height:100%; object-fit:var(--modal-fit, var(--modal-image-fit)); object-position:center}
.modal-gallery-shell{display:grid; grid-template-columns:46px 1fr 46px; gap:12px; align-items:center; margin-top:12px}
.modal-gallery{display:flex; gap:10px; overflow-x:auto; padding:0 2px 8px; scroll-behavior:smooth}
.modal-gallery::-webkit-scrollbar{height:6px}
.modal-gallery::-webkit-scrollbar-thumb{background:rgba(255,255,255,.13); border-radius:999px}
.gallery-thumb{width:var(--thumb-size, var(--gallery-thumb-size)); height:var(--thumb-size, var(--gallery-thumb-size)); flex:0 0 auto; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); padding:8px}
.gallery-thumb.is-active{border-color:rgba(216,138,61,.55); box-shadow:0 10px 24px rgba(216,138,61,.14)}
.gallery-thumb img{width:100%; height:100%; object-fit:contain}
.modal-copy{min-height:0; max-height:100%; overflow:auto; padding:6px 10px 12px 0}
.modal-copy h3{margin:14px 0 8px; font-size:clamp(34px, 3.8vw, 62px); line-height:.96; letter-spacing:-.05em}
.modal-subtitle{margin:0 0 14px; color:var(--muted); font-size:17px}
.modal-price{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:14px}
.modal-price strong{font-size:clamp(36px, 4vw, 58px); line-height:1; letter-spacing:-.05em}
.modal-price small{font-size:18px; color:#8f7768; text-decoration:line-through}
.modal-short-info{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px}
.modal-short-info span{min-height:42px; padding:0 14px; border-radius:999px; display:inline-flex; align-items:center; background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.08)}
.modal-columns{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px}
.modal-columns strong{display:block; margin-bottom:10px; font-size:18px}
.modal-columns ul{margin:0; padding-left:20px; color:var(--muted); line-height:1.7}
.spec-table{display:grid; gap:10px; margin-top:18px}
.spec-row{display:grid; grid-template-columns:minmax(120px,1fr) auto; gap:16px; align-items:center; min-height:52px; padding:0 16px; border-radius:16px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.02)}
.spec-row span:last-child{text-align:right; color:#ffe1ca}
.modal-actions{position:sticky; bottom:0; margin-top:18px; padding:16px 0 6px; display:flex; flex-wrap:wrap; gap:12px; background:linear-gradient(180deg, rgba(12,4,2,0), rgba(12,4,2,.92) 24%, rgba(12,4,2,.98) 100%)}
.modal-actions .btn{min-width:220px}
.modal-lead{max-width:980px}
.lead-layout{display:grid; grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr); gap:24px; padding:24px}
.lead-layout h3{margin:16px 0 10px; font-size:40px; line-height:1; letter-spacing:-.04em}
.lead-layout p{color:var(--muted); line-height:1.7}
.lead-form{display:grid; gap:14px; padding:20px; border-radius:calc(var(--block-radius) + 2px)}
.lead-form label{display:grid; gap:8px}
.lead-form label.has-error input,.lead-form label.has-error textarea{border-color:#ff7f7f; box-shadow:0 0 0 1px rgba(255,127,127,.18); background:rgba(72,12,12,.22)}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:rgba(205,177,157,.72)}
.field-error{display:block; min-height:18px; margin-top:6px; font-size:12px; line-height:1.35; color:#ffb5b5}
.form-feedback{display:none; padding:12px 14px; border-radius:16px; border:1px solid rgba(255,255,255,.08)}
.form-feedback.is-success,.form-feedback.is-error{display:block}
.form-feedback.is-success{background:rgba(20,68,39,.36); color:#d8ffe7; border-color:rgba(74,183,117,.3)}
.form-feedback.is-error{background:rgba(100,23,23,.36); color:#ffd9d9; border-color:rgba(255,127,127,.25)}
.lead-form span{font-size:14px; color:#ffd9bf}
.lead-form input,.lead-form textarea{width:100%; border:1px solid rgba(255,255,255,.1); background:rgba(0,0,0,.18); color:var(--text); border-radius:18px; padding:16px 18px; outline:none}
.form-note{color:var(--muted); line-height:1.5}
.form-note a{color:#ffdcbf; text-decoration:underline}

.drawer-backdrop{position:fixed; inset:0; background:rgba(0,0,0,.48); display:none; z-index:84}
.drawer-backdrop.is-open{display:block}
.cart-drawer{position:fixed; top:0; right:0; bottom:0; width:min(var(--cart-width), 100vw); padding:10px; z-index:85; transform:translateX(100%); transition:.22s ease; pointer-events:none}
.cart-drawer.is-open{transform:translateX(0); pointer-events:auto}
.cart-drawer-inner{height:100%; display:flex; flex-direction:column; border-radius:calc(var(--block-radius) + 6px); overflow:hidden}
.cart-drawer-header{padding:18px 18px 12px; border-bottom:1px solid rgba(255,255,255,.06); display:flex; align-items:flex-start; justify-content:space-between; gap:16px}
.cart-drawer-header h3{margin:10px 0 0; font-size:30px; letter-spacing:-.04em}
.cart-scroll{flex:1; min-height:0; overflow:auto; padding:14px 16px 8px}
.cart-items{display:grid; gap:12px}
.cart-item{display:grid; grid-template-columns:96px minmax(0,1fr); gap:14px; padding:12px; border-radius:20px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03)}
.cart-item-empty{align-items:center}
.cart-item-image{width:100%; height:96px; border-radius:16px; background:rgba(255,255,255,.03); display:grid; place-items:center; padding:8px}
.cart-item-image img{width:100%; height:100%; object-fit:contain}
.cart-item-copy{min-width:0}
.cart-item h4{margin:0 0 4px; font-size:22px; line-height:1.05; letter-spacing:-.03em}
.cart-item p{margin:0; color:var(--muted); line-height:1.45}
.cart-item-actions{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:12px}
.qty-control{display:inline-flex; align-items:center; padding:3px; border-radius:999px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08)}
.qty-control button{width:34px; height:34px; border-radius:50%; border:0; background:rgba(255,255,255,.06); color:var(--text); font-size:22px}
.qty-control span{min-width:28px; text-align:center; font-weight:700}
.cart-line-price{font-size:22px; line-height:1.1; letter-spacing:-.03em; white-space:nowrap}
.cart-item-bottom{margin-top:10px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap}
.cart-item-unit{font-size:14px; color:var(--muted)}
.btn-xs{min-height:40px; padding:0 16px; font-size:14px}
.cart-summary{border-top:1px solid rgba(255,255,255,.06); padding:14px 16px 16px; background:linear-gradient(180deg, rgba(10,4,2,.9), rgba(10,4,2,.98))}
.cart-total{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:12px}
.cart-total span{color:var(--muted)}
.cart-total strong{font-size:34px; line-height:1; letter-spacing:-.04em; white-space:nowrap}
.cart-form{padding:0; background:none; border:0; box-shadow:none}

.lightbox-window{position:relative; width:min(1400px, calc(100vw - 28px)); max-height:calc(100vh - 28px); padding:18px 70px; border-radius:30px; border:1px solid rgba(255,255,255,.08); background:rgba(8,2,1,.98); display:grid; grid-template-columns:58px 1fr 58px; align-items:center; gap:14px}
.lightbox-stage{display:grid; place-items:center; min-height:60vh}
.lightbox-stage img{max-width:100%; max-height:calc(100vh - 100px); object-fit:contain}
.lightbox-close{top:16px; right:16px}
.toast-stack{position:fixed; left:18px; bottom:18px; z-index:90; display:grid; gap:10px}
.toast{min-width:260px; max-width:min(420px, calc(100vw - 36px)); padding:14px 16px; border-radius:18px; border:1px solid rgba(255,255,255,.08); backdrop-filter:blur(10px); box-shadow:var(--shadow-md)}
.toast--success{background:rgba(20,68,39,.96); color:#f0fff5}
.toast--error{background:rgba(100,23,23,.96); color:#fff0f0}

html::-webkit-scrollbar, body::-webkit-scrollbar, .cart-scroll::-webkit-scrollbar, .modal-copy::-webkit-scrollbar{width:12px; height:10px}
html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb, .cart-scroll::-webkit-scrollbar-thumb, .modal-copy::-webkit-scrollbar-thumb{background:rgba(216,138,61,.32); border-radius:999px}
html::-webkit-scrollbar-track, body::-webkit-scrollbar-track{background:rgba(255,255,255,.02)}

@media (max-width: 1180px){
  .header-inner{grid-template-columns:auto 1fr auto}
  .desktop-nav{gap:18px}
  .hero-grid,.about-grid,.delivery-grid,.contacts-grid,.cta-grid,.product-modal-grid{grid-template-columns:1fr}
  .hero-image-card img{height:min(var(--hero-image-height), 56vh)}
  .product-grid,.benefit-grid,.quality-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .review-track{grid-auto-columns:calc((100cqw - var(--reviews-gap)) / 2)}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-modal-grid{height:auto; max-height:none}
  .modal-window{max-height:calc(100vh - 20px)}
  .modal-main-image{height:min(46vh, var(--modal-image-height)); min-height:280px}
}
@media (max-width: 920px){
  .desktop-nav,.header-phone,.header-actions .btn,.header-chat{display:none}
  .mobile-header-chat{display:grid}
  .burger{display:block}
  .header-inner{grid-template-columns:auto 1fr auto}
  .hero-benefits,.hero-stats,.benefit-grid,.quality-grid,.product-grid,.footer-grid{grid-template-columns:1fr}
  .review-track{grid-auto-columns:max(280px, calc(100cqw - 20px))}
  .lead-layout{grid-template-columns:1fr}
  .modal-window{width:calc(100vw - 12px)}
  .modal-backdrop,.lightbox{padding:6px}
  .modal-main-image{height:min(38vh, var(--modal-image-height)); min-height:220px}
  .modal-gallery-shell{grid-template-columns:1fr}
  .gallery-nav{display:none}
  .modal-copy{padding-right:2px}
  .modal-actions{position:sticky; bottom:0}
}
@media (max-width: 720px){
  .container{width:min(var(--site-max-width), calc(100% - 20px))}
  .hero-section{padding-top:24px}
  .hero-copy h1{font-size:clamp(36px, 10vw, 56px)}
  .section-head h2,.about-copy h2,.delivery-copy h2,.cta-copy h2,.contacts-copy h2,.seo-card h2{font-size:clamp(28px, 8vw, 40px)}
  .product-actions{flex-direction:column}
  .cart-drawer{width:100vw; padding:6px}
  .cart-floating{left:12px; right:12px; justify-content:space-between; bottom:12px}
  .lightbox-window{padding:54px 8px 12px; grid-template-columns:1fr}
  .lightbox-nav{display:none}
  .footer-bottom{flex-direction:column}
}


@supports selector(::-webkit-scrollbar){html,body{overflow-y:scroll}}

/* v5.2 layout and modal fixes */
html,body{width:100%;background:var(--bg)}
body{font-size:var(--body-text-size)}
body.has-sticky-header .site-header{position:sticky}
body.no-sticky-header .site-header{position:relative}
.site-shell{min-height:100svh}
.site-main{flex:1 1 auto;padding-bottom:18px}
.site-header{top:0;z-index:40}
.header-inner{min-height:78px;gap:16px}
.brand-mark{width:52px;height:52px;border-radius:16px}
.brand-text strong{font-size:21px}
.desktop-nav{gap:20px}
.hero-section{padding:24px 0 4px}
.hero-grid{gap:24px;align-items:center}
.hero-copy h1{font-size:clamp(38px,5.6vw,68px);max-width:680px}
.hero-subtitle{max-width:720px}
.hero-image-card{padding:10px}
.hero-image-card img{height:min(var(--hero-image-height), 74vh)}
.section-space{padding-top:clamp(18px, calc(var(--section-gap) * 1px), 42px)}
.section-head{margin-bottom:14px}
.section-head h2,.about-copy h2,.delivery-copy h2,.cta-copy h2,.contacts-copy h2,.seo-card h2{font-size:clamp(28px,3.6vw,48px)}
.product-grid,.benefit-grid,.quality-grid{gap:16px}
.product-card,.benefit-card,.quality-card,.review-card,.contacts-copy,.contacts-map,.seo-card,.cta-grid,.about-visual,.delivery-visual,.hero-image-card,.about-highlight{border-radius:calc(var(--block-radius) + 2px)}
.product-cover{padding:12px}
.product-cover img{height:min(var(--card-image-height, var(--product-card-height)), 48vh)}
.product-body{padding:0 18px 18px;gap:10px}
.product-body h3{font-size:28px}
.product-price-row strong{font-size:30px}
.review-card{min-height:100%}
.review-track{align-items:stretch}
.cta-grid{padding:20px}
.contacts-copy,.contacts-map,.seo-card{padding:22px}
.site-footer{margin-top:18px;padding:24px 0 20px}
.footer-grid{align-items:start}
.footer-bottom{padding-bottom:0}
.cart-floating{right:16px;bottom:16px;z-index:52}
.modal-backdrop,.lightbox{padding:10px;overflow:hidden}
.modal-window{width:min(1320px, calc(100vw - 20px));max-height:calc(100svh - 20px);height:auto;margin:auto}
.modal-product{height:min(92svh, 920px)}
.product-modal-grid{height:100%;max-height:none;grid-template-columns:minmax(0,.9fr) minmax(340px,1fr);gap:18px;padding:18px;align-items:stretch}
.product-media-column{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.modal-main-image{flex:1 1 auto;height:auto;min-height:300px;max-height:none;padding:12px;overflow:hidden}
.modal-main-image img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:var(--modal-fit, var(--modal-image-fit));object-position:center}
.modal-gallery-shell{flex:0 0 auto;margin-top:10px;grid-template-columns:40px 1fr 40px}
.modal-gallery{min-height:calc(var(--thumb-size, var(--gallery-thumb-size)) + 8px);padding:0 1px 8px}
.gallery-thumb{padding:6px;border-radius:16px}
.modal-copy{display:flex;flex-direction:column;min-height:0;max-height:100%;overflow:auto;padding:4px 4px 12px 0;scrollbar-gutter:stable}
.modal-copy h3{margin-top:10px;font-size:clamp(32px,3.2vw,54px)}
.modal-subtitle{font-size:16px;margin-bottom:12px}
.modal-price{margin-bottom:12px}
.modal-price strong{font-size:clamp(34px,3.4vw,52px)}
.modal-short-info{margin-bottom:14px}
.modal-short-info span{min-height:38px;padding:0 12px;font-size:14px}
.modal-columns{gap:14px;margin-top:14px}
.modal-columns ul{line-height:1.55}
.spec-table{margin-top:14px}
.spec-row{min-height:48px;padding:0 14px}
.modal-actions{position:sticky;bottom:0;margin-top:auto;padding:14px 0 4px;display:flex;gap:10px;background:linear-gradient(180deg, rgba(12,4,2,0), rgba(12,4,2,.88) 28%, rgba(12,4,2,.98) 100%)}
.modal-actions .btn{min-width:0;flex:1 1 220px}
.modal-lead{max-width:920px}
.lead-layout{gap:18px;padding:20px;align-items:start}
.lead-layout h3{font-size:34px}
.lead-form{padding:18px}
.cart-drawer{padding:10px 10px 10px 0;width:min(var(--cart-width), 100vw);z-index:86}
.cart-drawer-inner{height:calc(100svh - 20px);max-height:none;border-top-right-radius:0;border-bottom-right-radius:0}
.cart-scroll{padding:14px 14px 10px}
.cart-items{gap:10px}
.cart-item{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:10px 12px}
.cart-item-image{height:88px}
.cart-item h4{font-size:20px}
.cart-item-actions{align-items:center}
.cart-line-price{font-size:20px}
.cart-summary{padding:14px;box-shadow:0 -14px 30px rgba(0,0,0,.28)}
.cart-total{align-items:center;margin-bottom:10px}
.cart-total strong{font-size:30px}
.mobile-menu{z-index:91}
.mobile-menu-panel{background:linear-gradient(180deg, rgba(26,13,8,.98), rgba(9,4,2,.98))}
.mobile-nav a{font-size:18px}
@media (max-width: 1180px){
  .product-modal-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:100%}
  .product-media-column{max-height:min(48vh, 460px)}
  .modal-main-image{min-height:240px}
  .modal-copy{padding-right:2px}
}
@media (max-width: 920px){
  body{overflow-x:hidden}
  .header-inner{min-height:72px}
  .brand-text small{display:none}
  .mobile-menu-panel{width:min(360px, calc(100% - 20px));padding:16px}
  .hero-grid,.about-grid,.delivery-grid,.contacts-grid,.cta-grid{grid-template-columns:1fr}
  .hero-copy h1{font-size:clamp(34px,9.2vw,50px)}
  .hero-benefits,.hero-stats,.product-grid,.benefit-grid,.quality-grid,.footer-grid{grid-template-columns:1fr}
  .modal-backdrop,.lightbox{padding:6px}
  .modal-window{width:calc(100vw - 12px);max-height:calc(100svh - 12px)}
  .modal-product{height:calc(100svh - 12px)}
  .product-modal-grid{padding:12px;gap:12px;overflow:hidden}
  .product-media-column{max-height:none;overflow:visible}
  .modal-main-image{height:min(38svh, 360px);min-height:220px;padding:10px}
  .modal-gallery-shell{grid-template-columns:1fr;gap:8px}
  .gallery-nav{display:none}
  .modal-gallery{padding-bottom:4px}
  .modal-copy{padding:2px 0 12px;overflow:auto}
  .modal-columns{grid-template-columns:1fr}
  .modal-actions{padding-bottom:6px}
  .lead-layout{grid-template-columns:1fr;padding:14px}
  .cart-drawer{width:100vw;padding:6px}
  .cart-drawer-inner{height:calc(100svh - 12px);border-radius:24px}
  .cart-summary{padding:12px}
}
@media (max-width: 640px){
  .container{width:min(var(--site-max-width), calc(100% - 20px))}
  .desktop-nav,.header-phone,.header-actions .btn,.header-chat{display:none}
  .mobile-header-chat{display:grid}
  .burger{display:block}
  .hero-section{padding-top:18px}
  .hero-buttons,.product-actions{flex-direction:column}
  .hero-buttons .btn,.product-actions .btn,.modal-actions .btn{width:100%}
  .hero-benefit{min-height:58px;padding:12px 14px}
  .product-body h3{font-size:24px}
  .product-price-row strong{font-size:26px}
  .modal-copy h3{font-size:clamp(28px,8.6vw,38px)}
  .modal-price strong{font-size:clamp(30px,9vw,40px)}
  .modal-short-info span{min-height:36px;padding:0 10px;font-size:13px}
  .modal-actions{flex-direction:column;gap:8px}
  .cart-floating{left:12px;right:12px;justify-content:space-between;bottom:12px}
  .cart-total strong{font-size:26px}
  .cart-item{grid-template-columns:72px minmax(0,1fr)}
  .cart-item-image{height:72px}
  .cart-item h4{font-size:18px}
}


/* v5.3 mobile menu + sticky header + product modal fixes */
:root{--sticky-offset:0px}
.site-header{position:relative;top:auto}
body.has-sticky-header{padding-top:var(--sticky-offset)}
body.has-sticky-header .site-header{
  position:fixed;
  top:0;left:0;right:0;width:100%;
  background:rgba(8,3,2,.94);
  box-shadow:0 10px 28px rgba(0,0,0,.28);
}
body.no-sticky-header{padding-top:0}
body.no-sticky-header .site-header{position:relative}
.mobile-menu{
  background:rgba(8,3,2,.98);
  backdrop-filter:none;
}
.mobile-menu-panel{
  margin-left:0;
  width:100%;
  max-width:none;
  min-height:100svh;
  border-left:0;
  background:linear-gradient(180deg, rgba(29,13,8,.99), rgba(10,4,2,.995));
}
.mobile-menu-top{padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-nav{margin-top:16px}
.mobile-nav a{
  min-height:56px;
  display:flex;
  align-items:center;
  padding:0 18px;
  font-weight:700;
  background:rgba(255,255,255,.04);
}
.mobile-contacts{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.mobile-contacts a{min-height:48px;display:flex;align-items:center;color:var(--text)}
.product-media-column{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch}
.modal-main-image{height:auto;max-height:min(58vh, calc(100svh - 240px))}
.modal-copy{scrollbar-gutter:stable both-edges}
@media (max-width: 920px){
  body.has-sticky-header .site-header{background:rgba(8,3,2,.98)}
  .mobile-menu-panel{padding:16px 16px 24px}
  .modal-window{max-height:calc(100svh - 10px)}
  .modal-product{height:auto;max-height:calc(100svh - 10px);overflow:auto}
  .product-modal-grid{
    display:flex;
    flex-direction:column;
    height:auto;
    max-height:none;
    overflow:visible;
  }
  .product-media-column{display:block;overflow:visible}
  .modal-main-image{
    height:min(34svh, 290px);
    max-height:none;
    min-height:200px;
    padding:10px;
  }
  .modal-gallery-shell{margin-top:8px;display:block}
  .modal-gallery{display:flex;gap:8px;padding-bottom:6px;overflow-x:auto}
  .gallery-thumb{flex:0 0 74px;width:74px;height:74px}
  .modal-copy{
    overflow:visible;
    max-height:none;
    padding:6px 0 0;
  }
  .modal-columns{grid-template-columns:1fr;gap:12px}
  .modal-actions{
    position:static;
    margin-top:14px;
    padding:0;
    background:none;
    flex-direction:column;
  }
  .modal-actions .btn{width:100%;min-height:50px}
  .spec-row{grid-template-columns:1fr;gap:4px;align-items:flex-start;padding:12px 14px}
  .spec-row span:last-child{text-align:left}
}
@media (max-width: 640px){
  .site-header .header-inner{min-height:68px}
  body.has-sticky-header{padding-top:var(--sticky-offset)}
  .mobile-menu-panel{padding-top:14px}
  .modal-copy h3{font-size:clamp(24px, 8vw, 32px);line-height:1.02}
  .modal-price strong{font-size:clamp(28px, 8.5vw, 36px)}
  .modal-short-info{gap:8px}
  .modal-short-info span{min-height:34px;font-size:12px}
}


/* v5.4 popup + mobile menu fixes */
.site-header .header-inner{min-height:80px}
.desktop-nav a{padding:10px 0}
.mobile-menu{background:rgba(8,3,2,1)!important;backdrop-filter:none!important}
.mobile-menu-panel{
  background:#110603!important;
  box-shadow:none!important;
}
.mobile-nav a{
  border-radius:18px;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.07);
}
.mobile-menu.is-open .mobile-menu-panel,
.mobile-menu.is-open,
.mobile-menu-panel *{backdrop-filter:none!important}
.modal-product .modal-close{
  width:48px;height:48px;
  background:rgba(19,8,4,.94);
  border-color:rgba(255,255,255,.12);
  box-shadow:0 10px 26px rgba(0,0,0,.28);
}
.product-modal-grid{align-items:start}
.product-media-column{
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:visible;
}
.modal-main-image{
  flex:0 0 auto;
  height:clamp(320px, 60vh, 680px);
  min-height:320px;
  max-height:clamp(320px, 60vh, 680px);
}
.modal-main-image img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.modal-gallery-shell{margin-top:12px;flex:0 0 auto}
.modal-gallery{align-items:center}
.modal-copy{padding-bottom:16px}
.modal-copy .section-badge{display:inline-flex}
.modal-actions .btn{
  min-height:56px;
  padding:0 22px;
  border-radius:20px;
  font-size:16px;
}
@media (max-width: 920px){
  .site-header .header-inner{min-height:68px}
  .mobile-menu{z-index:120}
  .mobile-menu-panel{
    width:100vw!important;
    min-height:100svh;
    padding:12px 14px 20px!important;
  }
  .mobile-menu-top{position:sticky;top:0;background:#110603;padding:4px 0 10px;z-index:2}
  .mobile-nav{margin-top:12px}
  .mobile-nav a{min-height:52px;padding:0 16px;font-size:18px}
  .mobile-contacts a{font-size:18px}

  .modal-backdrop{padding:0;align-items:flex-end}
  .modal-window{
    width:100vw!important;
    max-width:none;
    height:100svh!important;
    max-height:100svh!important;
    border-radius:24px 24px 0 0;
  }
  .modal-product{
    overflow:hidden!important;
    padding-top:56px;
  }
  .modal-product .modal-close{
    position:absolute;
    top:10px;
    right:10px;
    z-index:20;
    width:44px;
    height:44px;
    font-size:24px;
    background:rgba(19,8,4,.96);
    color:#fff1e8;
  }
  .product-modal-grid{
    display:flex!important;
    flex-direction:column;
    gap:10px;
    padding:12px;
    height:100%;
    overflow:hidden;
  }
  .product-media-column{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    gap:8px;
    overflow:visible;
  }
  .modal-main-image{
    height:clamp(200px, 34vh, 300px)!important;
    min-height:200px!important;
    max-height:clamp(200px, 34vh, 300px)!important;
    padding:8px;
    border-radius:20px;
  }
  .modal-gallery-shell{
    margin-top:0;
    display:block;
  }
  .modal-gallery{
    gap:8px;
    padding:0 0 6px;
  }
  .gallery-thumb{
    width:68px!important;
    height:68px!important;
    flex:0 0 68px;
    padding:5px;
    border-radius:14px;
  }
  .modal-copy{
    flex:1 1 auto;
    min-height:0;
    overflow:auto!important;
    padding:2px 2px 16px 0;
    scrollbar-gutter:stable;
  }
  .modal-copy h3{margin-top:6px;font-size:clamp(24px,7.8vw,34px)}
  .modal-subtitle{font-size:15px;margin-bottom:10px}
  .modal-price{gap:8px;margin-bottom:10px}
  .modal-price strong{font-size:clamp(26px,8vw,36px)}
  .modal-short-info{gap:7px;margin-bottom:10px}
  .modal-short-info span{min-height:34px;padding:0 10px;font-size:12px}
  .modal-columns{gap:10px;margin-top:12px}
  .spec-row{padding:10px 12px}
  .modal-actions{
    position:sticky;
    bottom:0;
    margin-top:14px;
    padding:10px 0 0;
    background:linear-gradient(180deg, rgba(12,4,2,0), rgba(12,4,2,.92) 30%, rgba(12,4,2,.98) 100%);
    gap:8px;
  }
  .modal-actions .btn{
    width:100%;
    min-height:52px;
    font-size:16px;
    border-radius:18px;
  }
}


/* v5.5 mobile popup + menu cleanup */
html{overflow-y:scroll !important; scrollbar-gutter:stable;}
body{overflow-x:hidden !important;}
.site-main{display:block;}
.site-footer{position:relative;z-index:3;}
.mobile-menu{z-index:140 !important;display:flex;justify-content:flex-end;background:rgba(4,1,1,.62) !important;}
.mobile-menu-panel{
  width:min(420px,100vw) !important;
  margin-left:auto !important;
  min-height:100svh !important;
  background:#120603 !important;
  border-left:1px solid rgba(255,255,255,.08) !important;
  box-shadow:-18px 0 40px rgba(0,0,0,.35) !important;
  transform:translateX(100%);
}
.mobile-menu.is-open .mobile-menu-panel{transform:translateX(0);}
.mobile-menu-top{position:sticky;top:0;z-index:3;background:#120603;}
.mobile-nav a,.mobile-contacts a{backdrop-filter:none !important;}

.product-modal-grid{
  display:grid !important;
  grid-template-columns:minmax(0,44%) minmax(0,56%);
  align-items:start;
  gap:22px;
  height:100%;
}
.product-media-column{display:flex !important;flex-direction:column;min-height:0;overflow:hidden;}
.modal-main-image{
  flex:0 0 auto;
  height:min(62vh,680px) !important;
  min-height:300px !important;
  max-height:min(62vh,680px) !important;
  padding:12px;
  border-radius:24px;
}
.modal-main-image img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain !important;object-position:center;}
.modal-gallery-shell{margin-top:12px !important;display:grid;grid-template-columns:46px 1fr 46px;gap:12px;align-items:center;}
.modal-gallery{display:flex;align-items:center;gap:10px;padding:0 2px 2px;overflow-x:auto;overflow-y:hidden;}
.gallery-thumb{width:82px !important;height:82px !important;flex:0 0 82px;padding:6px;border-radius:16px;}
.gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain;}
.modal-copy{display:flex;flex-direction:column;min-height:0;max-height:100%;overflow:auto;padding:6px 6px 16px 0;}
.modal-copy h3{word-break:break-word;}
.modal-columns{gap:16px;}
.spec-table{gap:10px;}
.modal-actions{
  position:sticky;
  bottom:0;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
  padding:14px 0 4px;
  background:linear-gradient(180deg, rgba(12,4,2,0), rgba(12,4,2,.9) 30%, rgba(12,4,2,.98) 100%);
}
.modal-actions .btn{width:100%;min-width:0 !important;height:58px !important;min-height:58px !important;border-radius:18px !important;padding:0 20px !important;font-size:16px !important;}

@media (max-width: 920px){
  .mobile-menu{background:rgba(8,3,2,.72) !important;}
  .mobile-menu-panel{width:100vw !important;max-width:100vw !important;padding:14px 14px 22px !important;border-left:0 !important;}

  .modal-backdrop{padding:0 !important;align-items:flex-end !important;}
  .modal-window{width:100vw !important;max-width:none !important;height:100svh !important;max-height:100svh !important;border-radius:22px 22px 0 0 !important;}
  .modal-product{padding-top:56px !important;overflow:hidden !important;}
  .modal-product .modal-close{
    display:grid !important;
    place-items:center;
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    width:42px !important;
    height:42px !important;
    border-radius:14px !important;
    background:rgba(15,7,4,.96) !important;
    color:#fff1e8 !important;
    z-index:50 !important;
  }

  .product-modal-grid{display:flex !important;flex-direction:column !important;gap:12px !important;padding:12px !important;height:100% !important;overflow:hidden !important;}
  .product-media-column{flex:0 0 auto !important;display:flex !important;flex-direction:column !important;overflow:visible !important;}
  .modal-main-image{height:min(34vh,280px) !important;min-height:220px !important;max-height:min(34vh,280px) !important;padding:8px !important;}
  .modal-gallery-shell{display:block !important;margin-top:8px !important;}
  .gallery-nav{display:none !important;}
  .modal-gallery{justify-content:center;gap:8px !important;padding:0 !important;overflow:visible !important;min-height:14px;}
  .gallery-thumb{width:10px !important;height:10px !important;flex:0 0 10px !important;padding:0 !important;border-radius:50% !important;background:rgba(255,255,255,.26) !important;border:0 !important;box-shadow:none !important;}
  .gallery-thumb img{display:none !important;}
  .gallery-thumb.is-active{background:var(--accent) !important;transform:scale(1.16);}

  .modal-copy{flex:1 1 auto !important;min-height:0 !important;max-height:none !important;overflow:auto !important;padding:0 2px 18px !important;}
  .modal-copy h3{margin:8px 0 8px !important;font-size:clamp(24px,8vw,34px) !important;line-height:1.04 !important;}
  .modal-subtitle{margin-bottom:10px !important;font-size:15px !important;}
  .modal-price{margin-bottom:10px !important;}
  .modal-price strong{font-size:clamp(28px,8.2vw,38px) !important;}
  .modal-price small{font-size:15px !important;}
  .modal-short-info{gap:8px !important;margin-bottom:12px !important;}
  .modal-short-info span{min-height:34px !important;padding:0 10px !important;font-size:12px !important;}
  .modal-columns{grid-template-columns:1fr !important;gap:10px !important;margin-top:12px !important;}
  .modal-columns ul{line-height:1.55 !important;}
  .spec-row{grid-template-columns:1fr !important;gap:4px !important;padding:10px 12px !important;}
  .spec-row span:last-child{text-align:left !important;}

  .modal-actions{grid-template-columns:1fr !important;gap:10px !important;margin-top:16px !important;padding:12px 0 4px !important;}
  .modal-actions .btn{height:54px !important;min-height:54px !important;border-radius:16px !important;font-size:16px !important;}
}

@media (max-width: 640px){
  .header-inner{min-height:68px !important;}
  .brand-text strong{font-size:18px !important;}
  .mobile-nav a{font-size:17px !important;min-height:50px !important;}
  .mobile-contacts a{font-size:16px !important;min-height:42px !important;}
  .modal-main-image{height:min(30vh,240px) !important;min-height:200px !important;max-height:min(30vh,240px) !important;}
  .modal-copy{padding-bottom:24px !important;}
}


/* v5.7 mobile product image fit fix */
@media (max-width: 920px){
  .modal-main-image{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:1 / 1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding:8px !important;
  }
  .modal-main-image img{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:100% !important;
    margin:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}
@media (max-width: 640px){
  .product-modal-grid{padding:10px !important;gap:10px !important;}
  .modal-main-image{
    aspect-ratio:1 / 1 !important;
    width:100% !important;
    max-height:42svh !important;
    border-radius:20px !important;
  }
  .modal-main-image img{
    max-width:100% !important;
    max-height:100% !important;
  }
}

/* v5.8 desktop popup image contain fix */
@media (min-width: 921px){
  .product-modal-grid{
    grid-template-columns:minmax(0,42%) minmax(0,58%) !important;
    gap:18px !important;
  }
  .product-media-column{
    align-self:start !important;
    overflow:visible !important;
  }
  .modal-main-image{
    height:auto !important;
    min-height:0 !important;
    max-height:min(56vh,620px) !important;
    aspect-ratio:1 / 1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding:12px !important;
  }
  .modal-main-image img{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:auto !important;
    display:block !important;
  }
  .modal-gallery-shell{
    margin-top:10px !important;
    grid-template-columns:40px 1fr 40px !important;
    gap:10px !important;
  }
  .modal-gallery{
    min-height:88px !important;
    padding-bottom:4px !important;
  }
}


/* v5.9 mobile floating cart compact icon */
@media (max-width: 640px){
  .cart-floating{
    left:auto !important;
    right:12px !important;
    bottom:10px !important;
    width:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    height:58px !important;
    min-height:58px !important;
    padding:0 !important;
    justify-content:center !important;
    align-items:center !important;
    gap:0 !important;
    border-radius:18px !important;
    box-shadow:0 14px 30px rgba(0,0,0,.32) !important;
  }
  .cart-floating > span{
    display:none !important;
  }
  .cart-floating::before{
    content:'';
    display:block;
    width:24px;
    height:24px;
    background-repeat:no-repeat;
    background-position:center;
    background-size:24px 24px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23efedeb' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M3 4h2l2.2 10.2a1 1 0 0 0 1 .8h8.7a1 1 0 0 0 1-.8L20 8H7.4'/%3E%3C/svg%3E");
  }
  .cart-floating strong{
    position:absolute !important;
    top:-6px !important;
    right:-6px !important;
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    font-size:12px !important;
    line-height:1 !important;
    box-shadow:0 8px 20px rgba(249,165,76,.28);
  }
}


/* v6.0 desktop floating cart icon only */
.cart-floating{
  width:64px;
  min-width:64px;
  max-width:64px;
  height:64px;
  min-height:64px;
  padding:0;
  justify-content:center;
  align-items:center;
  gap:0;
  border-radius:20px;
  right:18px;
  bottom:18px;
}
.cart-floating .cart-floating-label{
  display:none !important;
}
.cart-floating::before{
  content:'';
  display:block;
  width:26px;
  height:26px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:26px 26px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23efedeb' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M3 4h2l2.2 10.2a1 1 0 0 0 1 .8h8.7a1 1 0 0 0 1-.8L20 8H7.4'/%3E%3C/svg%3E");
}
.cart-floating strong{
  position:absolute;
  top:-6px;
  right:-6px;
  width:26px;
  height:26px;
  min-width:26px;
  font-size:12px;
  line-height:1;
  box-shadow:0 10px 22px rgba(249,165,76,.28);
}
@media (max-width: 640px){
  .cart-floating{
    width:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    height:58px !important;
    min-height:58px !important;
    right:12px !important;
    bottom:10px !important;
    border-radius:18px !important;
  }
}

/* v6.1 mobile product popup actions: single row, icon-only, lower */
.modal-action-btn{position:relative;overflow:hidden;}
@media (max-width: 920px){
  .modal-copy{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
  }
  .modal-copy > *:not(.modal-actions){
    position:relative;
    z-index:1;
  }
  .modal-actions{
    position:sticky !important;
    bottom:0 !important;
    z-index:5 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    margin-top:20px !important;
    padding:16px 0 6px !important;
    background:linear-gradient(180deg, rgba(12,4,2,0), rgba(12,4,2,.90) 28%, rgba(12,4,2,.98) 100%) !important;
    backdrop-filter:none !important;
  }
  .modal-actions .modal-action-btn{
    width:100% !important;
    min-width:0 !important;
    height:58px !important;
    min-height:58px !important;
    padding:0 !important;
    border-radius:18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .modal-actions .modal-action-text{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    margin:-1px !important;
    padding:0 !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    white-space:nowrap !important;
    border:0 !important;
  }
  .modal-actions .modal-action-btn::before{
    content:'';
    display:block;
    width:24px;
    height:24px;
    background-repeat:no-repeat;
    background-position:center;
    background-size:24px 24px;
  }
  .modal-actions .modal-action-cart::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23120a06' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M3 4h2l2.2 10.2a1 1 0 0 0 1 .8h8.7a1 1 0 0 0 1-.8L20 8H7.4'/%3E%3C/svg%3E");
  }
  .modal-actions .modal-action-question::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff1e8' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 9a3.5 3.5 0 1 1 5.9 2.53c-.88.74-1.4 1.22-1.4 2.47'/%3E%3Ccircle cx='12' cy='17.3' r='1' fill='%23fff1e8' stroke='none'/%3E%3Cpath d='M21 11.5c0 4.97-4.25 9-9.5 9A9.9 9.9 0 0 1 7 19.4L3 20.5l1.18-3.5A8.83 8.83 0 0 1 2 11.5c0-4.97 4.25-9 9.5-9S21 6.53 21 11.5Z'/%3E%3C/svg%3E");
  }
}
@media (max-width: 640px){
  .modal-window.modal-product{
    border-radius:24px 24px 0 0 !important;
  }
  .modal-product{
    padding-top:54px !important;
  }
  .modal-main-image{
    max-height:36svh !important;
  }
  .modal-copy{
    padding:0 2px 20px !important;
  }
  .modal-short-info{
    margin-bottom:10px !important;
  }
  .modal-actions{
    gap:10px !important;
    margin-top:18px !important;
    padding-top:14px !important;
  }
  .modal-actions .modal-action-btn{
    height:54px !important;
    min-height:54px !important;
    border-radius:16px !important;
  }
}

@media (min-width: 921px){
  .review-track{grid-auto-columns:max(280px, calc((100cqw - (var(--reviews-gap) * (var(--reviews-desktop-columns, 2) - 1))) / var(--reviews-desktop-columns, 2)));}
}


/* v6.5 floating cart moved to top-right like reference */
.cart-floating{
  top:calc(var(--sticky-offset, 0px) + 14px) !important;
  bottom:auto !important;
  right:18px !important;
  left:auto !important;
  z-index:62 !important;
  border-radius:20px !important;
  background:rgba(16,8,5,.94) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.28) !important;
}
body.no-sticky-header .cart-floating{
  top:18px !important;
}
@media (max-width: 920px){
  .cart-floating{
    top:calc(var(--sticky-offset, 0px) + 10px) !important;
    bottom:auto !important;
    right:10px !important;
    left:auto !important;
    width:54px !important;
    min-width:54px !important;
    max-width:54px !important;
    height:54px !important;
    min-height:54px !important;
    border-radius:16px !important;
  }
  .cart-floating strong{
    top:-5px !important;
    right:-5px !important;
  }
}


.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;margin:12px 0 16px}
@media (max-width: 920px){
  .review-points{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .review-media-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px}
  .review-card{padding:18px}
}

.review-media-item{padding:0;border:0;cursor:pointer}
.review-media-item img{transition:transform .25s ease, opacity .25s ease}
.review-media-item:hover img{transform:scale(1.03)}

.photo-review-card{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:100%;min-width:0}
.photo-review-media{position:relative;display:block;padding:0;border:0;background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));cursor:pointer;min-height:var(--photo-review-media-height,520px)}
.photo-review-media img,.photo-review-media video{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.photo-review-empty{display:grid;place-items:center;min-height:420px;color:var(--muted)}
.photo-review-overlay{position:absolute;left:0;right:0;bottom:0;padding:24px 22px 20px;background:linear-gradient(180deg, rgba(6,2,1,0) 0%, rgba(6,2,1,.16) 18%, rgba(6,2,1,.82) 68%, rgba(6,2,1,.96) 100%);display:grid;gap:10px;text-align:left}
.photo-review-overlay p{margin:0;color:#fff5ec;line-height:1.45}
.photo-review-topline{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#fff7ef}
.photo-review-topline strong{font-size:28px;line-height:1.05;letter-spacing:-.03em}
.photo-review-topline span{color:#ffcb79;letter-spacing:.14em;font-size:18px;white-space:nowrap}
.photo-review-footer{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px 18px;border-top:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01))}
.photo-review-product{display:flex;align-items:center;gap:12px;min-width:0}
.photo-review-product img{width:62px;height:62px;border-radius:16px;object-fit:cover;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.photo-review-product strong{display:block;font-size:24px;line-height:1.05;color:#ff7bd8;white-space:nowrap}
.photo-review-product span{display:block;color:var(--muted);font-size:13px;line-height:1.25;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.photo-review-actions{position:relative;z-index:4;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.photo-review-actions .btn{position:relative;z-index:4;pointer-events:auto}
.btn-sm{min-height:44px;padding:0 18px;font-size:15px}

@media (max-width: 980px){
  .photo-review-media{min-height:460px}
  .photo-review-topline strong{font-size:24px}
  .photo-review-footer{grid-template-columns:1fr;align-items:stretch}
  .photo-review-actions{justify-content:stretch}
  .photo-review-actions .btn{width:100%}
}

@media (max-width: 680px){
  .photo-review-media{min-height:380px}
  .photo-review-overlay{padding:18px 16px 16px;gap:8px}
  .photo-review-topline{align-items:flex-start;flex-direction:column}
  .photo-review-topline strong{font-size:20px}
  .photo-review-topline span{font-size:16px}
  .photo-review-product img{width:52px;height:52px;border-radius:14px}
  .photo-review-product strong{font-size:20px}
}

/* v6.9.1 mobile max icon near burger */
@media (max-width: 980px){
  .header-actions{gap:10px}
  .mobile-header-chat{display:grid; order:1}
  .burger{order:2}
}
@media (min-width: 981px){
  .mobile-header-chat{display:none !important}
}

#lightboxVideo{display:none;max-width:100%;max-height:min(86vh,980px);border-radius:24px;background:#000}.lightbox-stage.is-video #lightboxImage{display:none}.lightbox-stage.is-video #lightboxVideo{display:block}.lightbox-stage:not(.is-video) #lightboxVideo{display:none}


/* v7.10 iPhone mobile menu full-height / safe-area / floating cart overlap fix */
body.menu-open .cart-floating{
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateY(-8px) !important;
}

@media (max-width: 920px){
  .mobile-menu{
    align-items:stretch !important;
    justify-content:flex-end !important;
  }

  .mobile-menu-panel{
    position:relative !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    min-height:100vh !important;
    min-height:100dvh !important;
    max-height:100vh !important;
    max-height:100dvh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    padding-top:calc(12px + env(safe-area-inset-top, 0px)) !important;
    padding-right:14px !important;
    padding-bottom:calc(22px + env(safe-area-inset-bottom, 0px)) !important;
    padding-left:14px !important;
  }

  .mobile-menu-top{
    position:sticky !important;
    top:calc(env(safe-area-inset-top, 0px) * -1) !important;
    z-index:5 !important;
    margin-top:calc(env(safe-area-inset-top, 0px) * -1) !important;
    padding-top:calc(4px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom:10px !important;
    background:#120603 !important;
  }

  .mobile-nav{
    display:grid !important;
    gap:10px !important;
    margin-top:12px !important;
  }

  .mobile-nav a{
    min-height:52px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 16px !important;
  }

  .mobile-contacts{
    margin-top:18px !important;
    padding-top:18px !important;
    padding-bottom:max(2px, env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* v7.11 special offer / gift block */
.gift-offer-shell{
  padding:32px;
  display:grid;
  gap:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}
.gift-offer-head{display:grid;gap:10px;max-width:980px}
.gift-offer-head h2{margin:0;font-size:clamp(28px,4vw,var(--section-title-size));line-height:1.06;letter-spacing:-.04em}
.gift-offer-head p{margin:0;color:var(--muted);font-size:clamp(16px,2vw,20px);line-height:1.55}
.gift-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gift-offer-card{
  min-height:100%;
  padding:22px 20px 20px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(10,8,8,.88), rgba(15,12,12,.96));
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 18px 46px rgba(0,0,0,.18);
  display:grid;
  align-content:start;
  gap:16px;
  text-align:center;
}
.gift-offer-card h3{margin:0;font-size:18px;line-height:1.2;color:#fff4ea}
.gift-offer-card p{margin:0;color:#e4d3c7;line-height:1.45;font-size:15px}
.gift-offer-media{
  min-height:180px;
  border-radius:22px;
  background:radial-gradient(circle at 50% 20%, rgba(255,255,255,.09), rgba(255,255,255,0) 55%);
  display:grid;
  place-items:center;
  padding:10px;
}
.gift-offer-media img{max-width:100%;max-height:200px;display:block;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.28))}
.gift-offer-note{color:var(--muted);font-size:16px;line-height:1.6}

@media (max-width: 1100px){
  .gift-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 720px){
  .gift-offer-shell{padding:22px}
  .gift-offer-grid{grid-template-columns:1fr}
  .gift-offer-card{border-radius:22px}
  .gift-offer-media{min-height:150px}
  .gift-offer-note{font-size:15px}
}


/* v7.15 mobile hero: show samovar image first, then text/info */
@media (max-width: 920px){
  .hero-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .hero-visual{
    order:1 !important;
  }

  .hero-copy{
    order:2 !important;
  }

  .hero-image-card{
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }

  .hero-image-card img{
    height:auto !important;
    max-height:none !important;
    width:100% !important;
    object-fit:contain !important;
    display:block !important;
  }

  .hero-copy{
    text-align:center !important;
  }

  .hero-copy .section-badge{
    margin-inline:auto !important;
  }

  .hero-buttons{
    justify-content:center !important;
  }

  .hero-benefits,
  .hero-stats{
    margin-top:18px !important;
  }
}

@media (max-width: 720px){
  .hero-section{
    padding-top:10px !important;
  }

  .hero-grid{
    gap:14px !important;
  }

  .hero-copy h1{
    margin-top:6px !important;
  }

  .hero-benefits{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  .hero-benefit{
    min-height:auto !important;
    padding:10px 8px !important;
    justify-content:center !important;
    text-align:center !important;
    flex-direction:column !important;
    gap:8px !important;
  }
}


/* v7.16 floating policy/cookie banner */
.policy-banner{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:120;
  width:min(600px, calc(100vw - 24px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  border-radius:12px;
  background:rgba(255,255,255,.97);
  color:#2a241f;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 14px 40px rgba(0,0,0,.18);
}
.policy-banner.hidden{display:none !important}
.policy-banner__text{
  font-size:14px;
  line-height:1.45;
  color:#2f2a26;
}
.policy-banner__text a{
  color:#a42020;
  text-decoration:none;
  border-bottom:1px solid rgba(164,32,32,.28);
}
.policy-banner__btn{
  flex:0 0 auto;
  min-width:78px;
  min-height:40px;
  padding:0 18px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  background:#f3f0eb;
  color:#6d665f;
  font:inherit;
  cursor:pointer;
}
.policy-banner__btn:hover{background:#ebe5dd}

@media (max-width: 920px){
  .policy-banner{
    right:12px;
    left:12px;
    bottom:12px;
    width:auto;
    padding:12px 12px calc(12px + env(safe-area-inset-bottom, 0px));
    gap:12px;
  }
}
@media (max-width: 640px){
  .policy-banner{
    flex-direction:column;
    align-items:stretch;
    border-radius:14px;
  }
  .policy-banner__text{
    font-size:13px;
  }
  .policy-banner__btn{
    width:100%;
  }
}


.policy-banner{
  z-index:9999 !important;
}
@media (max-width: 640px){
  .policy-banner{
    bottom:max(12px, env(safe-area-inset-bottom, 0px)) !important;
  }
}


/* v7.18 mobile title above about video */
.about-media-wrap{
  display:grid;
  gap:18px;
  width:100%;
  height:100%;
}
.about-video-mobile-title{
  display:none;
  text-align:center;
  font-size:clamp(26px, 7vw, 48px);
  line-height:.98;
  letter-spacing:-.04em;
  color:var(--text);
  margin:0;
}

@media (max-width: 920px){
  .about-video-mobile-title{
    display:block;
  }
}


/* v7.19 mobile hero text over image */
.hero-image-card{
  position:relative;
}

.hero-mobile-overlay{
  display:none;
}

@media (max-width: 920px){
  .hero-visual{
    order:1 !important;
  }

  .hero-copy{
    order:2 !important;
  }

  .hero-copy h1,
  .hero-copy .hero-subtitle{
    display:none !important;
  }

  .hero-image-card{
    overflow:hidden !important;
    border-radius:0 !important;
    background:transparent !important;
  }

  .hero-mobile-overlay{
    display:block !important;
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:3;
    padding:0 18px 20px;
    text-align:center;
    background:linear-gradient(180deg, rgba(17,13,11,0) 0%, rgba(17,13,11,.18) 30%, rgba(17,13,11,.82) 82%, rgba(17,13,11,.95) 100%);
  }

  .hero-mobile-overlay h1{
    margin:0;
    color:var(--text);
    font-size:clamp(34px, calc(var(--hero-title-size) * 1px), 78px);
    line-height:.96;
    letter-spacing:-.06em;
    text-wrap:balance;
  }

  .hero-mobile-overlay .hero-subtitle{
    margin:14px 0 0;
    color:var(--muted);
    font-size:clamp(15px, calc(var(--body-text-size) * 1px), 20px);
    line-height:1.58;
  }

  .hero-copy{
    margin-top:10px !important;
    text-align:center !important;
  }

  .hero-copy .section-badge{
    display:none !important;
  }

  .hero-buttons{
    margin-top:0 !important;
    justify-content:center !important;
  }
}

@media (max-width: 720px){
  .hero-section{
    padding-top:0 !important;
  }

  .hero-grid{
    gap:10px !important;
  }

  .hero-image-card img{
    min-height:520px !important;
    object-fit:contain !important;
    object-position:center top !important;
  }

  .hero-mobile-overlay{
    padding:0 16px 18px;
  }

  .hero-mobile-overlay h1{
    font-size:clamp(31px, calc(var(--hero-title-size) * 1px), 78px);
  }

  .hero-mobile-overlay .hero-subtitle{
    margin-top:12px;
  }
}


/* v7.20 restore horizontal mobile layout for hero cards and gift block */
@media (max-width: 720px){
  .hero-benefits,
  .hero-stats,
  .gift-offer-grid{
    display:grid !important;
    grid-template-columns:none !important;
    grid-auto-flow:column !important;
    align-items:stretch !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
    scroll-snap-type:x mandatory !important;
    padding-bottom:6px !important;
    scrollbar-width:none !important;
  }

  .hero-benefits::-webkit-scrollbar,
  .hero-stats::-webkit-scrollbar,
  .gift-offer-grid::-webkit-scrollbar{
    display:none !important;
  }

  .hero-benefits{
    grid-auto-columns:minmax(160px, 42vw) !important;
    gap:10px !important;
  }

  .hero-stats{
    grid-auto-columns:minmax(160px, 42vw) !important;
    gap:10px !important;
  }

  .gift-offer-grid{
    grid-auto-columns:minmax(285px, 84vw) !important;
    gap:14px !important;
  }

  .hero-benefit,
  .stat-card,
  .gift-offer-card{
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
  }

  .hero-benefit{
    min-height:160px !important;
  }

  .stat-card{
    min-height:160px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .gift-offer-card{
    min-height:100% !important;
  }
}


/* v7.21 mobile layout repair */
html, body{
  overflow-x:hidden !important;
}

@media (max-width: 720px){
  .site-shell,
  .site-main,
  .hero-section,
  .hero-grid,
  .hero-visual,
  .hero-copy,
  .hero-image-card,
  .hero-buttons,
  .hero-benefits,
  .hero-stats,
  .gift-offer-grid{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .hero-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }

  .hero-visual{
    order:1 !important;
    width:100% !important;
  }

  .hero-copy{
    order:2 !important;
    width:100% !important;
    margin-top:0 !important;
    text-align:center !important;
  }

  .hero-image-card{
    position:relative !important;
    width:100% !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }

  .hero-image-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
  }

  .hero-copy h1,
  .hero-copy .hero-subtitle{
    display:none !important;
  }

  .hero-mobile-overlay{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:3 !important;
    padding:0 14px 16px !important;
    text-align:center !important;
    background:linear-gradient(180deg, rgba(17,13,11,0) 0%, rgba(17,13,11,.12) 28%, rgba(17,13,11,.78) 78%, rgba(17,13,11,.94) 100%) !important;
  }

  .hero-mobile-overlay h1{
    margin:0 !important;
    max-width:100% !important;
    color:var(--text) !important;
    font-size:clamp(28px, 8.6vw, 46px) !important;
    line-height:.96 !important;
    letter-spacing:-.05em !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    text-wrap:balance !important;
  }

  .hero-mobile-overlay .hero-subtitle{
    margin:12px 0 0 !important;
    max-width:100% !important;
    color:var(--muted) !important;
    font-size:clamp(14px, 4.4vw, 18px) !important;
    line-height:1.5 !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  .hero-copy .section-badge{
    display:none !important;
  }

  .hero-buttons{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    width:100% !important;
    margin-top:6px !important;
  }

  .hero-buttons .btn{
    width:100% !important;
    max-width:100% !important;
  }

  .hero-benefits,
  .hero-stats{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:10px !important;
    padding-bottom:6px !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x mandatory !important;
  }

  .hero-benefits::-webkit-scrollbar,
  .hero-stats::-webkit-scrollbar,
  .gift-offer-grid::-webkit-scrollbar{
    display:none !important;
  }

  .hero-benefit,
  .stat-card{
    flex:0 0 42vw !important;
    min-width:42vw !important;
    max-width:42vw !important;
    min-height:156px !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
  }

  .hero-benefit{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    text-align:center !important;
    padding:12px 10px !important;
    gap:8px !important;
  }

  .stat-card{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    text-align:center !important;
    padding:12px 10px !important;
  }

  .gift-offer-grid{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:14px !important;
    padding-bottom:6px !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x mandatory !important;
  }

  .gift-offer-card{
    flex:0 0 84vw !important;
    min-width:84vw !important;
    max-width:84vw !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
  }
}


/* v7.22 iPhone fix for mobile title above about video */
.about-media-wrap{
  min-width:0 !important;
}

.about-video-mobile-title{
  display:none;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin:0;
  padding:0 12px;
  text-align:center;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-wrap:balance;
}

@media (max-width: 920px){
  .about-video-mobile-title{
    display:block !important;
    font-size:clamp(24px, 7vw, 44px) !important;
    line-height:1.04 !important;
    letter-spacing:-.035em !important;
    margin:0 0 14px !important;
    padding:0 14px !important;
  }

  .about-media-wrap{
    gap:14px !important;
  }
}

@media (max-width: 640px){
  .about-video-mobile-title{
    font-size:clamp(22px, 8vw, 36px) !important;
    line-height:1.06 !important;
    padding:0 16px !important;
    margin:0 0 12px !important;
  }

  .about-media.about-media--video,
  .about-media.about-media--embed{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
}


/* v7.23 mobile hero like reference: text over image, smaller image, buttons below */
@media (max-width: 720px){
  .hero-section{
    padding-top:0 !important;
    padding-bottom:8px !important;
  }

  .hero-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }

  .hero-visual{
    order:1 !important;
    width:100% !important;
  }

  .hero-copy{
    order:2 !important;
    width:100% !important;
    margin-top:0 !important;
    text-align:center !important;
  }

  .hero-copy > .section-badge,
  .hero-copy > h1,
  .hero-copy > .hero-subtitle{
    display:none !important;
  }

  .hero-image-card{
    position:relative !important;
    width:100% !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }

  .hero-image-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:540px !important;
    object-fit:contain !important;
    object-position:center top !important;
  }

  .hero-mobile-overlay{
    display:flex !important;
    position:absolute !important;
    left:14px !important;
    right:14px !important;
    bottom:18px !important;
    z-index:4 !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-end !important;
    padding:12px 14px 16px !important;
    text-align:center !important;
    background:linear-gradient(180deg, rgba(17,13,11,0) 0%, rgba(17,13,11,.28) 18%, rgba(17,13,11,.72) 72%, rgba(17,13,11,.90) 100%) !important;
  }

  .hero-mobile-overlay h1{
    margin:0 !important;
    max-width:100% !important;
    color:var(--text) !important;
    font-size:clamp(26px, 8.2vw, 42px) !important;
    line-height:.96 !important;
    letter-spacing:-.05em !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    text-wrap:balance !important;
  }

  .hero-mobile-overlay .hero-subtitle{
    margin:12px 0 0 !important;
    max-width:100% !important;
    color:var(--muted) !important;
    font-size:clamp(14px, 4.5vw, 18px) !important;
    line-height:1.48 !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    text-wrap:pretty !important;
  }

  .hero-buttons{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    width:100% !important;
    margin-top:2px !important;
  }

  .hero-buttons .btn{
    width:100% !important;
    max-width:100% !important;
  }
}


/* v7.24 mobile hero: text above image instead of overlay */
@media (max-width: 720px){
  .hero-image-card{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .hero-mobile-overlay{
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    order:-1 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    padding:12px 16px 14px !important;
    margin:0 !important;
    text-align:center !important;
    background:none !important;
  }

  .hero-image-card img{
    order:2 !important;
    width:100% !important;
    height:auto !important;
    max-height:520px !important;
    object-fit:contain !important;
    object-position:center top !important;
  }

  .hero-mobile-overlay h1{
    margin:0 !important;
    max-width:100% !important;
    font-size:clamp(26px, 8.2vw, 42px) !important;
    line-height:.96 !important;
    letter-spacing:-.05em !important;
    text-align:center !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    text-wrap:balance !important;
  }

  .hero-mobile-overlay .hero-subtitle{
    margin:12px 0 0 !important;
    max-width:100% !important;
    font-size:clamp(14px, 4.5vw, 18px) !important;
    line-height:1.48 !important;
    text-align:center !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    text-wrap:pretty !important;
  }

  .hero-copy{
    margin-top:4px !important;
  }

  .hero-buttons{
    margin-top:0 !important;
  }
}


/* v7.25 mobile hero cards: vertical grid instead of horizontal swipe */
@media (max-width: 720px){
  .hero-benefits,
  .hero-stats{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow:row !important;
    overflow:visible !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
    gap:12px !important;
    padding-bottom:0 !important;
    scroll-snap-type:none !important;
  }

  .hero-benefit,
  .stat-card{
    flex:none !important;
    min-width:0 !important;
    max-width:none !important;
    width:100% !important;
    min-height:148px !important;
    scroll-snap-align:none !important;
    scroll-snap-stop:normal !important;
  }

  .hero-benefits > *:last-child:nth-child(odd),
  .hero-stats > *:last-child:nth-child(odd){
    grid-column:1 / -1 !important;
  }

  .hero-benefit{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    text-align:center !important;
    padding:14px 10px !important;
    gap:8px !important;
  }

  .stat-card{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    text-align:center !important;
    padding:14px 10px !important;
  }
}


/* v7.26 mobile gift offer cards: vertical stack like reference */
@media (max-width: 720px){
  .gift-offer-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-auto-flow:row !important;
    overflow:visible !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
    gap:18px !important;
    padding-bottom:0 !important;
    scroll-snap-type:none !important;
  }

  .gift-offer-card{
    flex:none !important;
    min-width:0 !important;
    max-width:none !important;
    width:100% !important;
    scroll-snap-align:none !important;
    scroll-snap-stop:normal !important;
  }
}


/* v7.27 catalog mobile columns + toggle details button */
@media (max-width: 720px){
  .product-grid{
    grid-template-columns:repeat(var(--catalog-mobile-columns, 1), minmax(0, 1fr)) !important;
  }

  .product-actions:has(.btn:only-child){
    display:block !important;
  }

  .product-actions:has(.btn:only-child) .btn{
    width:100% !important;
  }
}


/* v7.28 mobile catalog cards compact and aligned */
@media (max-width: 720px){
  .product-grid{
    gap:14px !important;
    align-items:start !important;
  }

  .product-card{
    min-width:0 !important;
    border-radius:22px !important;
  }

  .product-cover{
    padding:10px !important;
  }

  .product-cover img{
    height:clamp(160px, calc(340px / var(--catalog-mobile-columns, 1)), 320px) !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  .product-badge{
    top:16px !important;
    left:16px !important;
    min-height:28px !important;
    padding:0 10px !important;
    font-size:10px !important;
  }

  .product-body{
    padding:0 14px 14px !important;
    gap:8px !important;
  }

  .product-meta{
    font-size:11px !important;
    gap:8px !important;
  }

  .product-body h3{
    font-size:clamp(18px, 4.8vw, 28px) !important;
    line-height:1.08 !important;
    letter-spacing:-.03em !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  .product-body p{
    font-size:14px !important;
    line-height:1.45 !important;
  }

  .product-price-row{
    gap:8px !important;
    align-items:flex-end !important;
  }

  .product-price-row strong{
    font-size:clamp(18px, 5vw, 28px) !important;
    line-height:1 !important;
  }

  .product-price-row small{
    font-size:12px !important;
  }

  .product-volume{
    min-height:34px !important;
    padding:0 10px !important;
    font-size:13px !important;
  }

  .product-actions{
    gap:8px !important;
    margin-top:2px !important;
  }

  .product-actions .btn{
    min-height:44px !important;
    padding:0 14px !important;
    font-size:15px !important;
    border-radius:16px !important;
  }
}

@media (max-width: 420px){
  .product-grid{
    gap:12px !important;
  }

  .product-cover{
    padding:8px !important;
  }

  .product-cover img{
    height:clamp(145px, calc(320px / var(--catalog-mobile-columns, 1)), 280px) !important;
  }

  .product-body{
    padding:0 12px 12px !important;
  }

  .product-body h3{
    font-size:clamp(16px, 4.9vw, 24px) !important;
  }

  .product-body p{
    font-size:13px !important;
  }

  .product-price-row strong{
    font-size:clamp(16px, 5.1vw, 24px) !important;
  }

  .product-actions .btn{
    min-height:42px !important;
    font-size:14px !important;
  }
}


/* v7.29 mobile 2-column catalog cards closer to reference */
@media (max-width: 720px){
  .product-grid{
    gap:12px !important;
    align-items:start !important;
  }

  .product-card{
    min-width:0 !important;
    height:100% !important;
    border-radius:22px !important;
    overflow:hidden !important;
  }

  .product-cover{
    display:grid !important;
    place-items:center !important;
    padding:10px 10px 6px !important;
    aspect-ratio:1 / 1.05 !important;
    overflow:hidden !important;
  }

  .product-cover img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  .product-body{
    padding:0 12px 12px !important;
    gap:8px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
  }

  .product-body h3{
    font-size:clamp(16px, 4.9vw, 24px) !important;
    line-height:1.1 !important;
    margin:0 !important;
    letter-spacing:-.03em !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  .product-body p{
    font-size:13px !important;
    line-height:1.4 !important;
    margin:0 !important;
  }

  .product-price-row{
    gap:8px !important;
    align-items:flex-end !important;
    margin-top:auto !important;
  }

  .product-price-row strong{
    font-size:clamp(16px, 5vw, 24px) !important;
    line-height:1 !important;
  }

  .product-price-row small{
    font-size:12px !important;
    line-height:1.1 !important;
  }

  .product-volume{
    min-height:32px !important;
    padding:0 10px !important;
    font-size:13px !important;
    white-space:nowrap !important;
  }

  .product-actions{
    margin-top:8px !important;
    gap:8px !important;
  }

  .product-actions .btn{
    min-height:40px !important;
    height:40px !important;
    padding:0 12px !important;
    font-size:14px !important;
    border-radius:14px !important;
  }
}

@media (max-width: 420px){
  .product-grid{
    gap:10px !important;
  }

  .product-cover{
    padding:8px 8px 4px !important;
    aspect-ratio:1 / 1.02 !important;
  }

  .product-body{
    padding:0 10px 10px !important;
    gap:7px !important;
  }

  .product-body h3{
    font-size:clamp(15px, 4.8vw, 21px) !important;
  }

  .product-body p{
    font-size:12px !important;
    line-height:1.36 !important;
  }

  .product-price-row strong{
    font-size:clamp(15px, 5vw, 22px) !important;
  }

  .product-volume{
    min-height:30px !important;
    padding:0 9px !important;
    font-size:12px !important;
  }

  .product-actions .btn{
    min-height:38px !important;
    height:38px !important;
    font-size:13px !important;
    border-radius:13px !important;
  }
}


/* v7.30 equal height catalog cards */
.product-grid{
  align-items:stretch !important;
}

.product-grid > *{
  height:100% !important;
}

.product-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}

.product-body{
  flex:1 1 auto !important;
}

.product-actions{
  margin-top:auto !important;
}

@media (max-width: 720px){
  .product-grid{
    align-items:stretch !important;
  }

  .product-grid > *{
    height:100% !important;
  }

  .product-card{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
    min-height:100% !important;
  }

  .product-body{
    flex:1 1 auto !important;
    display:flex !important;
    flex-direction:column !important;
  }

  .product-price-row{
    margin-top:auto !important;
  }

  .product-actions{
    margin-top:8px !important;
  }
}
