*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none}
img,picture,video,svg,button,.hero-arrow,.hero-tap,.hero-dot,.icon-circle,.pp-nav,.qv-qty-btn{-webkit-user-select:none;-moz-user-select:none;user-select:none}
input,textarea,[contenteditable="true"]{-webkit-user-select:text;-moz-user-select:text;user-select:text}
img{-webkit-user-drag:none;user-drag:none;pointer-events:auto}
:root{--side-pad:clamp(16px,12vw,250px)}
html{scrollbar-width:none;-ms-overflow-style:none;overflow-x:clip;max-width:100vw}
html::-webkit-scrollbar{display:none}
body{scrollbar-width:none;-ms-overflow-style:none;overflow-x:clip;max-width:100vw}
body::-webkit-scrollbar{display:none}
body{font-family:Arial,Helvetica,sans-serif;background-color:#f2efe9;background-image:url("/uploads/design/plaster-texture.webp");background-size:512px 512px;background-repeat:repeat;background-attachment:fixed}
.scroll-top-btn{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;background:rgba(44, 158, 169,.55);backdrop-filter:blur(4px);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18);z-index:900;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,background .2s ease}
.scroll-top-btn.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.scroll-top-btn:hover{background:rgba(34,125,134,.95)}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:#111;color:#fff;font-size:14px;font-weight:600;padding:13px 24px;border-radius:24px;box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:1200;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;white-space:nowrap}
.toast.visible{opacity:1;transform:translate(-50%,0)}
.sticky-header{position:sticky;top:0;z-index:50}
.mainheader{background:#000;display:flex;align-items:center;gap:16px;padding:16px var(--side-pad)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer}
.logo-text{color:#fff;font-size:30px;font-weight:800;letter-spacing:.5px}
.logo-text-accent{color:#2c9ea9}
.logo-icon-custom{height:40px;max-width:160px;object-fit:contain;display:block}
.header-spacer{flex:1}
.search-wrap{position:relative}
.search-expand{display:flex;align-items:center;background:#1a1a1a;border-radius:22px;overflow:hidden;transition:width .25s ease;width:40px;height:40px}
.search-expand.open{width:230px}
.search-expand input{background:transparent;border:none;outline:none;color:#fff;font-size:14px;width:0;opacity:0;transition:width .25s ease,opacity .2s ease;padding-left:0}
.search-expand.open input{width:170px;opacity:1;padding-left:6px}
.search-expand svg{flex-shrink:0;margin-left:11px;cursor:pointer}
.search-suggest{position:absolute;top:48px;left:0;background:#111;border-radius:12px;padding:8px;width:280px;max-width:80vw;box-shadow:0 12px 30px rgba(0,0,0,.35);display:none;flex-direction:column;z-index:70}
.search-suggest.open{display:flex}
.search-suggest a{color:#fff;text-decoration:none;font-size:14px;padding:9px 12px;border-radius:8px;display:flex;justify-content:space-between;gap:10px}
.search-suggest a span.cat{color:#888;font-size:12px}
.search-suggest a:hover{background:#1e1e1e;color:#2c9ea9}
.header-right{display:flex;align-items:center;gap:10px}
.icon-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1a1a1a;cursor:pointer;position:relative;flex-shrink:0;transition:background .2s;text-decoration:none}
.icon-circle:hover{background:#262626}
.cart-badge{position:absolute;top:-4px;right:-4px;background:#2c9ea9;color:#000;font-size:10px;font-weight:800;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.contact-pill{display:flex;align-items:stretch;background:#2c9ea9;border-radius:22px;overflow:hidden;height:40px}
.contact-pill a{display:flex;align-items:center;gap:8px;color:#000;text-decoration:none;font-weight:800;font-size:14px;padding:0 16px;white-space:nowrap;transition:background .18s ease}
.contact-pill .contact-write:hover{background:#278b95}
.contact-pill .contact-call{padding:0 14px;border-left:1px solid rgba(0,0,0,.18)}
.contact-pill .contact-call:hover{background:#278b95}
.navmenu{background:rgba(17,17,17,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:hidden;max-height:60px;transition:max-height .3s ease,padding .3s ease,opacity .3s ease;display:flex;align-items:center;justify-content:center;padding:14px var(--side-pad);opacity:1}
body.has-hero-nav .navmenu{position:absolute;top:100%;left:0;right:0;background:rgba(17,17,17,.45)}
.navmenu.collapsed{max-height:0;padding-top:0;padding-bottom:0;opacity:0}
.navlinks{display:flex;gap:40px;flex-wrap:nowrap;justify-content:center;overflow:hidden;min-width:0}
.navlinks a{color:#fff;text-decoration:none;font-size:14px;font-weight:600;display:flex;align-items:center;gap:7px;white-space:nowrap;flex-shrink:0}
.navlinks a:hover{color:#2c9ea9}
.nav-more-wrap{position:relative;flex-shrink:0;display:none;margin-left:40px}
.nav-more-btn{background:transparent;border:none;color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;padding:0;font-family:inherit}
.nav-more-btn:hover{color:#2c9ea9}
.nav-more-btn svg{transition:transform .2s ease}
.nav-more-wrap.open .nav-more-btn svg{transform:rotate(180deg)}
.nav-more-dropdown{position:fixed;background:rgba(17,17,17,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:0 0 12px 12px;padding:8px;min-width:220px;box-shadow:0 12px 30px rgba(0,0,0,.35);display:none;flex-direction:column;z-index:400;max-height:70vh;overflow-y:auto}
.nav-more-dropdown.open{display:flex}
.nav-more-dropdown a{color:#fff;text-decoration:none;font-size:14px;font-weight:600;padding:10px 12px;border-radius:8px;display:flex;align-items:center;gap:8px;white-space:nowrap}
.nav-more-dropdown a:hover{background:#1e1e1e;color:#2c9ea9}
@media (max-width:1024px){.navlinks{gap:24px}
.nav-more-wrap{margin-left:24px}
}
@media (max-width:768px){.navmenu{justify-content:center}
.navlinks{justify-content:center}
}
@media (max-width:768px){.logo-icon-custom{height:34px}
.logo-text{font-size:22px}
.contact-pill{background:#1a1a1a;border-radius:50%;overflow:hidden;gap:0;width:40px}
.contact-pill .contact-write{background:transparent;border-radius:0;width:40px;height:40px;padding:0;justify-content:center;transition:background .2s}
/* «Написать» и «Позвонить» на мобильной версии — одна иконка (оба действия открывают одну и ту же форму с кнопкой звонка) */
.contact-pill .contact-call{display:none}
.contact-pill .contact-write:hover{background:#262626}
.contact-pill svg{stroke:#2c9ea9}
.contact-pill .contact-write span.chat-text{display:none}
/* Избранное вынесено на страницу корзины (см. .cart-fav-link), в шапке на мобильной версии его нет */
.icon-circle.hdr-fav{display:none}
.search-expand.open{width:170px}
}
@media (max-width:480px){.mainheader{gap:8px;padding:12px var(--side-pad)}
.logo-text{font-size:18px}
.logo-icon-custom{height:30px}
.icon-circle{width:36px;height:36px}
.contact-pill{height:36px;width:36px}
.contact-pill .contact-write{width:36px;height:36px;padding:0}
.header-right{gap:6px}
.search-expand{width:36px;height:36px}
.search-expand.open{width:150px}
.search-expand.open input{width:96px}
.navlinks{gap:20px}
.navlinks a{font-size:13px}
.navmenu{padding:12px 14px}
.hero-title{font-size:26px}
}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:300;padding:20px}
.modal-overlay.open{display:flex}
.modal-box{background:#fff;border-radius:18px;padding:52px 26px 26px;width:100%;max-width:380px;position:relative;max-height:88vh;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}
.modal-box::-webkit-scrollbar{display:none}
.modal-close{position:absolute;top:14px;right:14px;cursor:pointer;width:30px;height:30px;border-radius:50%;background:#f2efe9;display:flex;align-items:center;justify-content:center;z-index:2}
.modal-title{font-size:20px;font-weight:800;color:#111;margin-bottom:18px}
.auth-tabs{display:flex;gap:6px;background:#f2efe9;border-radius:22px;padding:4px;margin-bottom:20px}
.auth-tabs button{flex:1;border:none;background:transparent;padding:9px;border-radius:18px;font-weight:700;font-size:13px;cursor:pointer;color:#555}
.auth-tabs button.active{background:#111;color:#2c9ea9}
.modal-field{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:10px;font-size:14px;margin-bottom:12px;outline:none}
.modal-field:focus{border-color:#2c9ea9}
.modal-submit{width:100%;padding:13px;border:none;border-radius:10px;background:#2c9ea9;color:#000;font-weight:800;font-size:14px;cursor:pointer}
.modal-submit:hover{background:#278b95}
.call-number{font-size:28px;font-weight:800;color:#111;text-align:center;margin:18px 0}
.call-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;border-radius:10px;border:none;background:#2c9ea9;color:#000;font-weight:800;font-size:15px;text-decoration:none;margin-bottom:10px;cursor:pointer}
.call-btn:hover{background:#278b95}
.copy-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:10px;border:1px solid #ddd;background:#fff;color:#111;font-weight:700;font-size:14px;cursor:pointer}
.copy-btn:hover{border-color:#2c9ea9}
.lead-form{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.lead-form textarea.modal-field{resize:none;min-height:74px;font-family:inherit;padding-top:12px}
.lead-note{font-size:12px;color:#999;margin:-4px 0 4px;line-height:1.5}
.lead-success{display:none;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:34px 10px 26px}
.lead-success.show{display:flex}
.lead-success-icon{width:56px;height:56px;border-radius:50%;background:#eef9d8;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.lead-success-title{font-size:17px;font-weight:800;color:#111}
.lead-success-text{font-size:14px;color:#5b7c99}
.modal-divider{display:flex;align-items:center;gap:10px;margin:18px 0 14px;color:#999;font-size:12px}
.modal-divider::before,.modal-divider::after{content:'';flex:1;height:1px;background:#eee}
.social-row{display:flex;gap:10px;justify-content:center}
.social-row a{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .15s ease,opacity .15s ease}
.social-row a:hover{transform:translateY(-2px);opacity:.85}
@media (max-width:480px){.modal-box{padding:48px 18px 20px}
.call-number{font-size:22px}
}
svg{display:block}
.hero{position:relative;overflow:hidden;min-height:560px}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;opacity:0;transition:opacity calc(.6s*var(--qh-speed,1.7)) ease;pointer-events:none}
.hero-slide.active{opacity:1;pointer-events:auto}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.55) 35%,rgba(0,0,0,.15) 65%,rgba(0,0,0,0) 85%);z-index:1;pointer-events:none}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.hero-content{position:relative;z-index:2;padding:0 var(--side-pad);max-width:600px}
.hero-title{font-size:48px;font-weight:800;color:#fff;line-height:1.15;margin-bottom:16px}
.hero-desc{font-size:16px;color:#ddd;line-height:1.55;max-width:420px;margin-bottom:32px}
.hero-btn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.55);border-radius:20px;padding:8px 22px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;text-decoration:none;display:inline-block;align-self:flex-start;width:auto;max-width:max-content;font-family:inherit;backdrop-filter:blur(4px);transition:background .2s ease,color .2s ease}
.hero-btn:hover{background:#fff;color:#222}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:auto;height:auto;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;transition:opacity .2s ease;padding:0;opacity:.6}
.hero-arrow.prev{left:20px}
.hero-arrow.next{right:20px}
.hero-arrow:hover{background:transparent;opacity:1}
.hero-arrow svg{stroke:#fff}
.hero-tap{display:none;position:absolute;top:0;bottom:0;width:20%;z-index:2;cursor:pointer;background:transparent;border:none;padding:0;-webkit-tap-highlight-color:transparent;outline:none}
.hero-tap.prev{left:0}
.hero-tap.next{right:0}
.hero-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:3}
.hero-dot{width:8px;height:8px;border-radius:4px;border:none;background:rgba(255,255,255,.5);cursor:pointer;padding:0;transition:all .25s ease}
.hero-dot:hover{background:rgba(255,255,255,.8)}
.hero-dot.active{width:24px;height:8px;background:#2c9ea9;border-radius:4px}
@media (max-width:768px){
.hero{min-height:440px}
.hero-content{padding:0 24px}
.hero-title{font-size:28px;margin-bottom:14px}
.hero-desc{font-size:14px;margin-bottom:24px}
.hero-arrow{display:none}
.hero-tap{display:block}
.hero-dots{bottom:16px}
}
@media (max-width:480px){
.hero{min-height:380px}
.hero-content{display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:0 18px 40px 18px}
.hero-title{margin-bottom:12px}
.hero-desc{margin-bottom:20px}
.hero-btn{padding:7px 18px;font-size:12.5px}
}
.intro-section{padding:60px var(--side-pad)}
.intro-title{font-size:32px;font-weight:800;color:#111;margin-bottom:30px}
.intro-grid{display:flex;gap:50px;margin-bottom:50px;align-items:stretch}
.intro-video{flex:1 1 45%;max-width:560px;aspect-ratio:16/9;position:relative;border-radius:12px;overflow:hidden}
.intro-video.has-video{cursor:pointer}
.intro-video img{width:100%;height:100%;object-fit:cover;display:block}
.intro-text{flex:1 1 45%}
.intro-subtitle{font-size:19px;font-weight:800;color:#111;margin-bottom:16px}
.intro-desc{color:#5b7c99;font-size:15px;line-height:1.6;margin-bottom:22px}
.intro-list{list-style:none;display:flex;flex-direction:column;gap:18px}
.intro-list li{display:flex;gap:12px;color:#5b7c99;font-size:15px;line-height:1.55}
.intro-list li::before{content:"";width:8px;height:8px;border-radius:50%;background:#2c9ea9;margin-top:6px;flex-shrink:0}
.intro-cards{display:flex;gap:20px}
.intro-card{flex:1;min-width:0;text-decoration:none;color:inherit;display:block;cursor:pointer}
.intro-card-photo{position:relative;width:82%;aspect-ratio:3/4;border-radius:20px;overflow:hidden;background:#f7efe9;transition:transform .35s ease,box-shadow .35s ease}
.intro-card-photo:hover{transform:scale(1.06);box-shadow:0 12px 28px rgba(0,0,0,.14)}
.intro-card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.intro-card-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.6) 100%);pointer-events:none}
.intro-card-label{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;font-weight:700;font-size:14px;color:#fff;line-height:1.3}
@media (max-width:768px){.intro-grid{flex-direction:column}
.intro-video{max-width:none}
.intro-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.intro-card{flex:none;width:100%}
.intro-card-photo{width:100%;aspect-ratio:3/4}
}
@media (max-width:480px){.intro-title{font-size:24px}
.intro-card-photo{aspect-ratio:3/4}
}
.popular-section{padding:60px var(--side-pad)}
.popular-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:30px;gap:20px;flex-wrap:wrap}
.popular-title{font-size:32px;font-weight:800;color:#111}
.popular-link{color:#2c9ea9;font-weight:700;font-size:15px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.popular-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.product-card{display:flex;flex-direction:column}
.product-image{position:relative;aspect-ratio:3/4;border-radius:8px;overflow:hidden;background:#3d3a36}
.product-slides{position:relative;width:100%;height:100%}
.product-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease,transform .4s ease}
.product-slides img.active{opacity:1}
.product-card:hover .product-slides img.active{transform:scale(1.07)}
.product-quickview{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.15);z-index:3;transition:transform .2s ease}
.product-quickview:hover{transform:scale(1.1)}
.product-quickview--touch{display:none}
.product-nav{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.18);z-index:3;opacity:.9;transition:opacity .2s ease,transform .2s ease}
.product-nav.prev{left:10px}
.product-nav.next{right:10px}
.product-nav:hover{opacity:1;transform:translateY(-50%) scale(1.1)}
.product-overlay{position:absolute;left:0;right:0;bottom:0;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;row-gap:8px;box-sizing:border-box;max-width:100%;background:none;pointer-events:none;z-index:2}
.product-info{padding-top:12px}
.product-name{font-weight:700;font-size:15px;color:#111;line-height:1.35;margin-bottom:2px}
.product-category{color:#9aa1ab;font-size:14px}
.product-price-row{display:flex;align-items:baseline;gap:8px}
.product-price{color:#2c9ea9;font-weight:800;font-size:20px;white-space:nowrap}
.product-unit{color:rgba(255,255,255,.85);font-size:13px;white-space:nowrap}
.product-cart-btn{display:flex;align-items:center;gap:6px;background:#111;color:#fff;border:none;border-radius:20px;padding:9px 16px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .2s ease}
.product-cart-btn:hover{background:#2c9ea9;color:#111}
.product-overlay .product-cart-btn{pointer-events:auto}
.product-goto{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:5px;height:32px;padding:0 11px;border-radius:16px;background:#fff;border:none;font-family:inherit;font-size:12px;font-weight:700;color:#111;white-space:nowrap;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.15);z-index:3;transition:background .2s ease,color .2s ease}
.product-goto:hover{background:#2c9ea9;color:#fff}
.product-name-link{color:inherit;text-decoration:none}
.product-name-link:hover{color:#2c9ea9;text-decoration:underline;text-underline-offset:3px}
.product-goto:hover svg{stroke:#fff}
.product-card .info-price-row{margin-top:6px}
.product-card .info-price-row .product-unit{color:#9aa1ab}
.product-ozon-compare{font-size:11.5px;line-height:1.3;margin-top:-2px;width:100%}
.product-ozon-old{text-decoration:line-through}
.product-overlay .product-ozon-compare{color:rgba(255,255,255,.75)}
.product-info .product-ozon-compare{color:#9aa1ab;margin-top:4px}
@media (max-width:1024px){.popular-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:768px){.popular-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:480px){.popular-grid{grid-template-columns:repeat(2,1fr);gap:16px 12px}
.popular-grid .product-name{font-size:14px}
.popular-grid .product-price{font-size:17px}
.popular-title{font-size:24px}
}
@media (hover:hover) and (pointer:fine){
.product-price-row{opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}
.product-card:hover .product-price-row{opacity:1;transform:translateY(0)}
.product-goto{opacity:0;pointer-events:none;transition:opacity .2s ease,background .2s ease,color .2s ease}
.product-card:hover .product-goto,.product-goto:focus-visible{opacity:1;pointer-events:auto}
.product-overlay .product-cart-btn{opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,background .2s ease}
.product-card:hover .product-overlay .product-cart-btn,.product-overlay .product-cart-btn:focus-visible{opacity:1;transform:translateY(0)}
.product-nav{opacity:0;pointer-events:none}
.product-card:hover .product-nav{opacity:.9;pointer-events:auto}
.product-nav:hover{opacity:1}
}
@media (hover:none){
.product-nav{display:none}
}
.showcase-section{padding:60px 0}
.showcase-title{font-size:32px;font-weight:800;color:#111;text-align:center;margin-bottom:36px;padding:0 var(--side-pad)}
.showcase-grid{display:flex;gap:18px;height:620px;padding:0}
.showcase-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:18px;height:100%}
.showcase-tile{position:relative;border-radius:14px;overflow:hidden;flex:1;cursor:pointer}
.showcase-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.showcase-tile:hover img{transform:scale(1.06)}
.showcase-tile.tall{flex:1.7}
.showcase-card{border-radius:14px;padding:26px;display:flex;flex-direction:column;justify-content:center;flex:1}
.showcase-card.light{background:#e9e2d8}
.showcase-card.teal{background:#a9c2ba}
.showcase-card-title{font-size:26px;font-weight:800;color:#111;margin-bottom:12px}
.showcase-card-text{font-size:14px;line-height:1.6;color:#3f3f3f}
.showcase-col:first-child .showcase-tile,.showcase-col:first-child .showcase-card{border-radius:0 14px 14px 0}
.showcase-col:last-child .showcase-tile,.showcase-col:last-child .showcase-card{border-radius:14px 0 0 14px}
@media (max-width:1024px){.showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;height:auto}
.showcase-col{height:auto;gap:14px;flex-direction:column}
.showcase-tile{flex:none;aspect-ratio:3/4}
.showcase-tile.tall{flex:none;aspect-ratio:3/4}
.showcase-card{flex:none;min-height:170px}
.showcase-col:last-child{grid-column:1/-1;flex-direction:row}
.showcase-col:last-child .showcase-tile{flex:1;aspect-ratio:3/4}
.showcase-col:first-child .showcase-tile,.showcase-col:first-child .showcase-card,
.showcase-col:last-child .showcase-tile,.showcase-col:last-child .showcase-card{border-radius:14px}
}
@media (max-width:560px){.showcase-grid{gap:10px;margin-left:calc(var(--side-pad) * -1);margin-right:calc(var(--side-pad) * -1);padding:0 calc(var(--side-pad) - 10px)}
.showcase-col{gap:10px}
.showcase-col:first-child .showcase-tile:first-child,
.showcase-col:first-child .showcase-card:first-child,
.showcase-col:last-child .showcase-tile:last-child,
.showcase-col:last-child .showcase-card:last-child{border-radius:0}
.showcase-card{min-height:130px;padding:16px}
.showcase-card-title{font-size:17px;margin-bottom:6px}
.showcase-card-text{font-size:12.5px;line-height:1.45}
}
@media (max-width:480px){.showcase-title{font-size:22px;margin-bottom:24px}
.showcase-card{padding:14px;min-height:110px}
.showcase-card-title{font-size:15px;margin-bottom:5px}
.showcase-card-text{font-size:11.5px;line-height:1.4}
}
.manifesto-section{padding:60px var(--side-pad)}
.manifesto-title{font-size:26px;font-weight:800;color:#111;margin-bottom:22px}
.manifesto-text{color:#5b7c99;font-size:16px;line-height:1.75;max-width:1200px}
.manifesto-text p{margin-bottom:14px}
.manifesto-text p:last-child{margin-bottom:0}
.manifesto-text strong{color:#111;font-weight:800}
@media (max-width:480px){.manifesto-title{font-size:22px}
.manifesto-text{font-size:14.5px}
}
.footer{background:#000;padding-top:56px;padding-bottom:30px;padding-left:var(--side-pad);padding-right:var(--side-pad)}
.footer-brand{flex:0 0 auto}
.footer-brand .logo{margin-bottom:22px}
.footer-slogan{color:rgba(255,255,255,.6);font-size:13px;margin:-10px 0 20px}
.footer-legal{display:flex;flex-direction:column;gap:12px}
.footer-legal a{color:rgba(255,255,255,.75);font-size:14px;text-decoration:none}
.footer-legal a:hover{color:#2c9ea9}
.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:46px}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:12px;align-self:end}
.footer-col-top-divider{display:none}
.footer-social{display:flex;gap:12px}
.footer-social a{text-decoration:none;display:flex}
.footer-phone{display:flex;align-items:center;gap:7px;color:#2c9ea9;font-weight:800;font-size:14px;text-decoration:none;white-space:nowrap}
.footer-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid rgba(255,255,255,.12);padding-top:40px}
.footer-col-title{color:#fff;font-size:20px;font-weight:800;margin-bottom:22px}
.footer-col-links{display:flex;flex-direction:column;gap:16px}
.footer-col-links a{color:rgba(255,255,255,.7);font-size:15px;text-decoration:none;transition:color .2s ease}
.footer-col-links a:hover{color:#2c9ea9}
.footer-bottom{margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.footer-copy{color:rgba(255,255,255,.75);font-size:14px;font-weight:800;letter-spacing:.4px;line-height:1.7}
.footer-copy-sub{color:rgba(255,255,255,.4);font-size:13px;font-weight:400}
@media (max-width:480px){.footer-columns{grid-template-columns:1fr}
.footer-top{grid-template-columns:1fr;gap:20px}
.footer-contact{align-self:start}
}
.video-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);align-items:center;justify-content:center;padding:20px;z-index:1000}
.video-overlay.open{display:flex}
.video-modal{position:relative;background:#000;border-radius:16px;width:100%;max-width:960px;overflow:hidden}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;color:#777;font-size:14px}
.video-frame iframe,.video-frame video{width:100%;height:100%;border:none;display:block;object-fit:contain;background:#000}
.qv-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);align-items:center;justify-content:center;padding:20px;z-index:1000;overscroll-behavior:contain}
.qv-overlay.open{display:flex}
.qv-modal{position:relative;background:#fff;border-radius:16px;display:flex;width:100%;max-width:1040px;max-height:90vh;max-height:calc(100dvh - 40px);overflow:hidden}
.qv-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:#f2f0ec;border:none;font-size:20px;line-height:1;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.qv-close:hover{background:#e6e3dd}
.qv-image{position:relative;flex:1 1 45%;aspect-ratio:3/4;background:#3d3a36;overflow:hidden}
.qv-image img{width:100%;height:100%;object-fit:cover;display:block}
.qv-image-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2);z-index:2}
.qv-image-nav.prev{left:14px}
.qv-image-nav.next{right:14px}
.qv-image-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2}
.qv-image-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.6);cursor:pointer}
.qv-image-dots span.active{background:#fff}
.qv-goto-btn{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.92);border:none;border-radius:18px;padding:8px 14px;font-size:12px;font-weight:700;font-family:inherit;color:#111;cursor:pointer;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:background .2s ease}
.qv-goto-btn:hover{background:#2c9ea9}
.qv-details{flex:1 1 55%;padding:44px 40px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
.qv-category{color:#9aa1ab;font-size:14px}
.qv-name{font-size:22px;font-weight:800;color:#111;line-height:1.3}
.qv-price{color:#2c9ea9;font-size:28px;font-weight:800;margin-top:4px}
.qv-ozon-compare{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:#8a8f98;margin-top:2px}
.qv-ozon-price{text-decoration:line-through}
.qv-ozon-badge{background:#fdecea;color:#c0392b;font-weight:700;padding:2px 8px;border-radius:6px;font-size:11px;white-space:nowrap}
.qv-ozon-link{color:inherit;cursor:pointer}
.qv-ozon-link:hover{color:#2c9ea9}
.qv-qty{display:flex;align-items:center;gap:16px;margin-top:6px}
.qv-qty-btn{width:34px;height:34px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.qv-qty-btn:hover{background:#f2f0ec}
.qv-qty-value{font-weight:700;font-size:16px;min-width:20px;text-align:center}
.qv-cart-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#2c9ea9;color:#111;border:none;border-radius:24px;padding:15px 28px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;margin-top:10px;transition:background .2s ease}
.qv-cart-btn svg{stroke:#111}
.qv-cart-btn:hover{background:#278b95}
.qv-desc{color:#5b7c99;font-size:14px;line-height:1.6;margin-top:2px}
.qv-features{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:4px}
.qv-features li{display:flex;gap:10px;color:#444;font-size:14px;line-height:1.45}
.qv-features li::before{content:"";width:6px;height:6px;border-radius:50%;background:#2c9ea9;margin-top:6px;flex-shrink:0}
.qv-specs{display:flex;flex-direction:column;gap:10px;margin-top:6px;font-size:14px}
.qv-spec-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.qv-spec-label{color:#9aa1ab;min-width:100px}
.qv-spec-options{display:flex;gap:8px;flex-wrap:wrap}
.qv-spec-btn{border:1px solid #ddd;background:#fff;color:#444;border-radius:18px;padding:7px 16px;font-size:13px;font-family:inherit;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease;text-decoration:none;display:inline-block}
.qv-spec-btn:hover{border-color:#2c9ea9}
.qv-spec-btn.active{background:#111;border-color:#111;color:#fff}
.qv-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.qv-actions .qv-cart-btn{margin-top:0;flex:1 1 auto;white-space:nowrap}
.qv-buy-btn{display:flex;align-items:center;justify-content:center;background:#fff;color:#111;border:1px solid #ddd;border-radius:24px;padding:15px 22px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;flex:1 1 auto;white-space:nowrap;transition:border-color .2s ease}
.qv-buy-btn:hover{border-color:#2c9ea9;color:#2c9ea9}
.qv-actions-secondary{margin-top:0}
.qv-link-btn{background:none;border:none;color:#5b7c99;font-size:13px;font-weight:600;font-family:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0;text-align:left}
.qv-link-btn:hover{color:#111}
.qv-actions-secondary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:2px}
.qv-ask-btn{display:flex;align-items:center;gap:8px;background:#f2f0ec;border:none;border-radius:20px;padding:10px 18px;font-size:13px;font-weight:700;font-family:inherit;color:#111;cursor:pointer;transition:background .2s ease}
.qv-ask-btn:hover{background:#e6e3dd}
.qv-phone{display:flex;align-items:center;gap:9px;text-decoration:none;padding:10px 16px;border:1px solid #e2e2e2;border-radius:20px}
.qv-phone-icon{width:26px;height:26px;border-radius:50%;background:#111;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.qv-phone-text{color:#111;font-size:14px;font-weight:700}
.qv-phone:hover .qv-phone-text{color:#2c9ea9}
.qv-meta{display:flex;gap:16px;flex-wrap:wrap;color:#9aa1ab;font-size:13px;margin-top:8px}
.qv-share{display:flex;align-items:center;gap:10px;margin-top:4px}
.qv-share-label{color:#9aa1ab;font-size:13px}
.qv-share-icons{display:flex;gap:8px}
.qv-share-icons a{width:30px;height:30px;border-radius:50%;background:#f2f0ec;display:flex;align-items:center;justify-content:center;color:#333;text-decoration:none}
.qv-share-icons a:hover{background:#2c9ea9;color:#111}
@media (max-width:768px){
/* Раньше окно было max-height:90vh, а 100vh на телефоне — это высота БЕЗ адресной строки и нижних вкладок браузера:
   окно становилось выше видимой области и выезжало за её края (верх/низ было не достать даже прокруткой),
   а фото сжималось по высоте и сильно обрезалось. Теперь прокручивается сам оверлей, окно имеет естественную высоту,
   а фото — фиксированную пропорцию 3:4 без сжатия. margin:auto центрирует окно, если оно короче экрана, и не обрезает, если длиннее. */
.qv-overlay{align-items:flex-start;justify-content:center;padding:12px 12px calc(12px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}
.qv-modal{flex-direction:column;overflow:visible;max-height:none;margin:auto;width:100%;max-width:520px}
.qv-image{flex:none;width:100%;aspect-ratio:3/4;border-radius:16px 16px 0 0}
.qv-details{flex:none;overflow:visible;padding:22px 20px 28px;background:#fff;border-radius:0 0 16px 16px}
/* крестик всегда на виду: закреплён в углу экрана, а не уезжает вместе с прокруткой окна */
.qv-overlay .qv-close{position:fixed;top:calc(14px + env(safe-area-inset-top));right:14px;width:38px;height:38px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.25);z-index:1001}
.qv-goto-btn{top:12px;left:12px}
.qv-actions .qv-cart-btn,.qv-buy-btn{flex:1 1 100%}
}


/* ===================================================================
   СТРАНИЦА КАТЕГОРИИ (КАТАЛОГ) — /product-category/{slug}/
   =================================================================== */
.category-hero{display:flex;align-items:center;gap:20px;padding:5px var(--side-pad);}
.category-back{width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;transition:background .2s ease;}
.category-back:hover{background:rgba(0,0,0,.12)}
.category-title{color:#111;font-size:38px;font-weight:800;margin:0}

.catalog-wrap{display:flex;align-items:flex-start;gap:28px;padding:40px var(--side-pad) 70px;}
.catalog-filters{width:280px;flex-shrink:0;background:#fff;border-radius:16px;padding:8px 22px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.filter-block{border-bottom:1px solid #eee}
.filter-block:last-child{border-bottom:none}
.filter-toggle{width:100%;background:none;border:none;display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:15px;font-weight:700;color:#111;cursor:pointer;font-family:inherit}
.filter-toggle svg{transition:transform .2s ease;color:#888}
.filter-block.open .filter-toggle svg{transform:rotate(180deg)}
.filter-body{display:none;flex-direction:column;gap:10px;padding-bottom:16px}
.filter-block.open .filter-body{display:flex}
.filter-option{display:flex;align-items:center;gap:8px;font-size:14px;color:#444;cursor:pointer}

.catalog-main{flex:1;min-width:0}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.catalog-count{color:#333;font-size:15px}
.catalog-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.catalog-perpage{color:#555;font-size:14px;display:flex;align-items:center;gap:4px}
.catalog-perpage button{background:none;border:none;font-size:14px;color:#888;cursor:pointer;font-weight:700;padding:2px 3px;font-family:inherit}
.catalog-perpage button.active{color:#111;text-decoration:underline}
.catalog-view-btn{width:34px;height:34px;border-radius:8px;border:1px solid #e2ddd3;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.catalog-view-btn.active{background:#111;border-color:#111}
.catalog-view-btn.active svg{stroke:#fff}
.catalog-sort select{appearance:none;background:#fff;border:1px solid #e2ddd3;border-radius:20px;padding:9px 34px 9px 18px;font-size:13px;font-weight:600;color:#111;cursor:pointer;font-family:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}

.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.catalog-grid.view-grid2{grid-template-columns:repeat(2,1fr)}
.catalog-grid.view-list{grid-template-columns:1fr}
.catalog-grid.view-list .product-card{flex-direction:row;gap:20px}
.catalog-grid.view-list .product-image{width:220px;flex-shrink:0}
.catalog-price-row{margin-top:10px;gap:8px}
.catalog-price-row .product-unit{color:#9aa1ab}
.catalog-grid.show-prices .product-price-row{opacity:1;transform:none}
.catalog-empty{color:#777;padding:40px 0}

/* Кнопка «Фильтры» — только на мобильной версии (на десктопе фильтры в боковой колонке) */
.catalog-filters-toggle{display:none;align-items:center;gap:10px;width:100%;background:#fff;border:none;border-radius:14px;padding:14px 18px;font-size:15px;font-weight:700;color:#111;cursor:pointer;font-family:inherit;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.catalog-filters-toggle .cft-count{display:none;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#2c9ea9;color:#000;font-size:12px;font-weight:800;align-items:center;justify-content:center}
.catalog-filters-toggle .cft-count.has{display:inline-flex}
.catalog-filters-toggle .cft-chevron{margin-left:auto;color:#888;transition:transform .2s ease}
.catalog-filters-toggle[aria-expanded="true"] .cft-chevron{transform:rotate(180deg)}

@media (max-width:900px){
  .catalog-wrap{flex-direction:column;align-items:stretch;gap:14px;padding-top:20px}
  .catalog-filters-toggle{display:flex}
  /* фильтры скрыты и разворачиваются по нажатию на «Фильтры» */
  .catalog-filters{width:100%;display:none}
  .catalog-filters.open{display:block}
  /* «Отображение цены» на мобильной версии не нужно: цена и так всегда видна на карточках */
  .filter-block-price{display:none}
  .catalog-grid .product-price-row{opacity:1;transform:none}
  .category-title{font-size:26px}
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .catalog-grid{grid-template-columns:repeat(2,1fr);gap:14px 12px}
  .catalog-grid .product-name{font-size:14px}
  .catalog-grid .product-price{font-size:17px}
  /* на телефоне фиксированные форматы переопределяют базовую 1 колонку */
  .catalog-grid.view-grid2{grid-template-columns:repeat(2,1fr);gap:14px 12px}
  .catalog-grid.view-grid2 .product-name{font-size:14px}
  .catalog-grid.view-grid2 .product-price{font-size:17px}
  .catalog-grid.view-list{grid-template-columns:1fr}
  .catalog-grid.view-list .product-card{gap:14px}
  .catalog-grid.view-list .product-image{width:130px}
  .catalog-controls{gap:10px}
  .catalog-perpage{display:none}
}


/* ===================================================================
   ХЛЕБНЫЕ КРОШКИ
   =================================================================== */
.breadcrumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:22px var(--side-pad) 0;font-size:13px;color:#9aa1ab}
.breadcrumbs a{color:#9aa1ab;text-decoration:none}
.breadcrumbs a:hover{color:#2c9ea9}
.breadcrumbs .sep{color:#ccc}
.breadcrumbs .current{color:#111;font-weight:600}
.pp-back{display:inline-flex;align-items:center;margin-right:10px;padding:5px 12px;border:1px solid #ddd;border-radius:16px;background:#fff;color:#333!important;font-size:13px;font-weight:600}
.pp-back[hidden]{display:none}
.pp-back:hover{border-color:#2c9ea9;color:#2c9ea9!important}
.pp-swatch{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:2px solid transparent;padding:2px;box-sizing:border-box;text-decoration:none;transition:border-color .2s ease,transform .15s ease;flex-shrink:0}
a.pp-swatch:hover{border-color:#bfe3e7}
a.pp-swatch:active{transform:scale(.94)}
.pp-swatch.active{border-color:#2c9ea9}
.pp-swatch-dot{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);font-size:12px;font-weight:700;line-height:1}
/* Цвет без известного образца: нейтральный кружок с первой буквой названия */
.pp-swatch-dot.is-text{background:#f2f0ec;color:#555}
/* Блок «Цвет»: одна строка-заголовок «Цвет — Название» и под ней кружки (без дублей названия) */
.pp-color{display:flex;flex-direction:column;gap:8px}
.pp-color-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pp-color-head .qv-spec-label{min-width:0}
.pp-color-name{color:#111;font-weight:700;font-size:14px}
.pp-color-options{display:flex;flex-wrap:wrap;gap:6px}

/* ===================================================================
   СТРАНИЦА ТОВАРА — /product/{article}/
   =================================================================== */
.pp-wrap{display:flex;gap:48px;padding:24px var(--side-pad) 70px;align-items:flex-start}
.pp-gallery{display:flex;gap:16px;flex:1 1 50%;max-width:560px;position:sticky;top:140px}
.pp-thumbs{display:flex;flex-direction:column;gap:10px;flex-shrink:0;max-height:560px;overflow-y:auto}
.pp-thumb{width:70px;height:70px;border-radius:10px;overflow:hidden;border:2px solid transparent;cursor:pointer;background:#3d3a36;flex-shrink:0;transition:border-color .2s ease}
.pp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pp-thumb.active{border-color:#2c9ea9}
.pp-main{position:relative;flex:1;aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:#3d3a36}
.pp-main img{width:100%;height:100%;object-fit:cover;display:block}
.pp-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:56px;border-radius:0;background:none;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;z-index:3;opacity:.7;pointer-events:auto;transition:opacity .2s ease,transform .2s ease}
.pp-nav:hover{opacity:1}
.pp-nav svg{width:28px;height:28px;stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55))}
.pp-nav.prev{left:14px}
.pp-nav.next{right:14px}
.pp-nav:hover{transform:translateY(-50%) scale(1.1)}

.pp-info{flex:1 1 45%;display:flex;flex-direction:column;gap:14px;padding-top:4px}
.pp-info .qv-name{font-size:28px}
.pp-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pp-title-row .qv-name{flex:1;min-width:0}
.pp-share-btn{flex-shrink:0;width:42px;height:42px;border-radius:50%;border:1px solid #ddd;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s}
.pp-share-btn:hover{border-color:#2c9ea9;background:#f2fafb}
.pp-info .qv-price{font-size:32px}
.pp-short-desc{color:#5b7c99;font-size:15px;line-height:1.55}

.pp-tabs-section{padding:0 var(--side-pad) 70px}
.pp-tabs-nav{display:flex;gap:8px;border-bottom:1px solid #e2ddd3;margin-bottom:26px}
.pp-tab-btn{background:none;border:none;padding:14px 22px;font-size:15px;font-weight:700;color:#888;cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s ease}
.pp-tab-btn.active{color:#111;border-color:#2c9ea9}
.pp-tab-panel{display:none;color:#5b7c99;font-size:15px;line-height:1.7;max-width:900px}
.pp-tab-panel.active{display:block}
.pp-tab-panel table{border-collapse:collapse;width:100%;max-width:560px}
.pp-tab-panel td{padding:10px 0;border-bottom:1px solid #eee;font-size:14px}
.pp-tab-panel td:first-child{color:#9aa1ab;width:45%}
.pp-tab-panel td:last-child{color:#111;font-weight:600}
.pp-spec-note{color:#9aa1ab;font-weight:400;font-size:12.5px;margin-top:3px;line-height:1.4}

.pp-related{padding:0 var(--side-pad) 70px}
.pp-related-title{font-size:26px;font-weight:800;color:#111;margin-bottom:26px}
@media (max-width:480px){
  .pp-related .popular-grid{grid-template-columns:repeat(2,1fr);gap:16px 12px}
  .pp-related .product-name{font-size:14px}
  .pp-related .product-price{font-size:17px}
  .pp-related .product-goto{padding:0 8px;font-size:11px;height:28px}
}

@media (max-width:900px){
  .pp-wrap{flex-direction:column;gap:26px}
  .pp-gallery{max-width:none;width:100%;position:static}
}
@media (max-width:560px){
  .pp-gallery{flex-direction:column-reverse}
  .pp-thumbs{flex-direction:row;max-height:none;overflow-x:auto}
  /* параметры: название сверху, варианты под ним — не расползаются на две строки */
  .pp-info .qv-spec-row{flex-direction:column;align-items:flex-start;gap:8px}
  .pp-info .qv-spec-label{min-width:0}
  .pp-info .qv-name{font-size:24px}
  .pp-info .qv-price{font-size:28px}
}

/* ===================================================================
   ОБЩИЕ СТРАНИЦЫ: ГЕРОЙ-ЗАГОЛОВОК, СТАТИКА, КОНТАКТЫ, ПУСТЫЕ СОСТОЯНИЯ
   =================================================================== */
.page-hero{padding:5px var(--side-pad)}
.page-hero-title{color:#111;font-size:34px;font-weight:800}
.page-hero-sub{color:#5b7c99;font-size:14px;margin-top:8px;max-width:560px;line-height:1.5}

/* ===== О компании: статистика ===== */
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e5e1d8;margin:40px var(--side-pad) 0;border-radius:14px;overflow:hidden}
.about-stat{background:#fff;padding:26px 20px;text-align:center}
.about-stat-num{font-size:28px;font-weight:800;color:#111;margin-bottom:6px}
.about-stat-label{font-size:12.5px;color:#5b7c99;line-height:1.4}
@media (max-width:768px){.about-stats{grid-template-columns:repeat(2,1fr)}}

/* ===== О компании: преимущества ===== */
.values-section{padding:60px var(--side-pad) 10px}
.values-title{font-size:26px;font-weight:800;color:#111;margin-bottom:28px}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.value-card{background:#fff;border:1px solid #ece8de;border-radius:14px;padding:24px 20px}
.value-icon{width:42px;height:42px;border-radius:50%;background:#eef9d8;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.value-card-title{font-size:15.5px;font-weight:800;color:#111;margin-bottom:8px}
.value-card-text{font-size:13.5px;color:#5b7c99;line-height:1.55}
@media (max-width:900px){.values-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.values-grid{grid-template-columns:1fr}.values-title{font-size:22px}}

/* ===== О компании: призыв к действию ===== */
.about-cta{margin:20px var(--side-pad) 60px;background:#111;border-radius:16px;padding:44px 30px;text-align:center}
.about-cta-title{color:#fff;font-size:24px;font-weight:800;margin-bottom:8px}
.about-cta-text{color:#9aa1ab;font-size:14px;margin-bottom:22px}
.about-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.about-cta-btn{border:none;border-radius:999px;padding:13px 26px;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;background:#262626;color:#fff;transition:background .2s}
.about-cta-btn:hover{background:#333}
.about-cta-btn.primary{background:#2c9ea9;color:#111}
.about-cta-btn.primary:hover{background:#278b95}
@media (max-width:480px){.about-cta{padding:34px 20px}.about-cta-title{font-size:20px}}

.static-content{padding:50px var(--side-pad) 80px;max-width:900px;color:#5b7c99;font-size:15px;line-height:1.8}
.static-content h2{color:#111;font-size:20px;font-weight:800;margin:28px 0 12px}
.static-content h2:first-child{margin-top:0}
.static-content p{margin-bottom:14px}
.static-content ul{padding-left:20px;margin-bottom:14px}

.contact-page-grid{display:flex;gap:50px;padding:50px var(--side-pad) 80px;flex-wrap:wrap}
.contact-page-form{flex:1 1 420px;display:flex;flex-direction:column;gap:14px;max-width:480px}
.contact-page-info{flex:1 1 320px;display:flex;flex-direction:column;gap:22px;height:fit-content}
.contact-info-card{background:#fff;border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.contact-info-icon{width:46px;height:46px;border-radius:50%;background:#111;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-info-title{font-size:13px;color:#9aa1ab;margin-bottom:2px}
.contact-info-value{font-size:15px;font-weight:700;color:#111}
.contact-page-form input,.contact-page-form textarea{width:100%;padding:14px 16px;border:1px solid #ddd;border-radius:10px;font-size:14px;outline:none;font-family:inherit}
.contact-page-form textarea{resize:none;min-height:110px}
.contact-page-form input:focus,.contact-page-form textarea:focus{border-color:#2c9ea9}

.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:100px var(--side-pad);text-align:center}
.empty-state-icon{width:74px;height:74px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.empty-state-title{font-size:20px;font-weight:800;color:#111}
.empty-state-text{color:#9aa1ab;font-size:14px;max-width:340px}
.empty-state .hero-btn{background:#2c9ea9;border-color:#2c9ea9;color:#fff;padding:12px 28px;font-size:14px;border-radius:24px;backdrop-filter:none;margin-top:6px;text-decoration:none;display:inline-block}
.empty-state .hero-btn:hover{background:#278b95}

/* ===================================================================
   КОРЗИНА — /cart/
   =================================================================== */
.cart-page-wrap{display:flex;gap:36px;padding:40px var(--side-pad) 80px;align-items:flex-start;flex-wrap:wrap}
.cart-list{flex:1 1 560px;display:flex;flex-direction:column;gap:16px}
.cart-item{display:flex;gap:16px;background:#fff;border-radius:14px;padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.04);align-items:center;flex-wrap:wrap}
.cart-item-img{width:84px;height:84px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#3d3a36}
.cart-item-img img{width:100%;height:100%;object-fit:cover;display:block}
.cart-item-info{flex:1;min-width:140px}
.cart-item-qty{display:flex;align-items:center;gap:10px}
.cart-item-name{font-weight:700;font-size:14.5px;color:#111;margin-bottom:8px;line-height:1.3}
.cart-item-price{font-weight:800;color:#111;font-size:15px;white-space:nowrap;min-width:90px;text-align:right}
.cart-item-remove{width:32px;height:32px;border-radius:50%;background:#f2f0ec;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-size:14px;color:#666;transition:background .2s ease}
.cart-item-remove:hover{background:#ffe1e1;color:#e33}
.cart-summary{flex:0 0 320px;background:#fff;border-radius:16px;padding:26px;box-shadow:0 2px 10px rgba(0,0,0,.04);position:sticky;top:140px}
.cart-summary-title{font-size:18px;font-weight:800;color:#111;margin-bottom:18px}
.cart-summary-row{display:flex;justify-content:space-between;font-size:14px;color:#5b7c99;margin-bottom:10px}
.cart-summary-total{display:flex;justify-content:space-between;font-size:18px;font-weight:800;color:#111;border-top:1px solid #eee;padding-top:14px;margin-top:8px}
.cart-checkout-btn{width:100%;background:#2c9ea9;border:none;border-radius:24px;padding:15px;font-size:15px;font-weight:800;color:#111;cursor:pointer;margin-top:18px;font-family:inherit;transition:background .2s ease}
.cart-checkout-btn:hover{background:#278b95}
.cart-fav-link{display:none;align-items:center;gap:10px;margin:4px var(--side-pad) 0;padding:13px 16px;background:#fff;border-radius:14px;text-decoration:none;color:#111;font-size:15px;font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.cart-fav-link .cart-fav-count{min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:#2c9ea9;color:#000;font-size:12px;font-weight:800;align-items:center;justify-content:center}
.cart-fav-link .cart-fav-arrow{margin-left:auto;color:#888}
@media (max-width:768px){.cart-fav-link{display:flex}}
@media (max-width:900px){.cart-page-wrap{flex-direction:column}.cart-list{flex:1 1 auto}.cart-summary{width:100%;position:static;flex:0 0 auto}}
.cart-item-bottom{display:contents}
@media (max-width:560px){.contact-page-grid{flex-direction:column}.cart-item-bottom{display:flex;flex:1 1 100%;justify-content:space-between;align-items:center;margin-top:2px}.cart-item-price{width:auto;text-align:left}}

/* ===================================================================
   МОДАЛКА "ОФОРМЛЕНИЕ ЗАЯВКИ" — официальный вид + состав заказа
   =================================================================== */
.modal-box-wide{max-width:440px}
.modal-subtitle{font-size:13px;color:#7a8188;line-height:1.5;margin:-12px 0 18px}
.lead-section-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#9aa1ab;margin-bottom:10px}
.modal-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#5b7c99}
.modal-label .modal-field{margin-bottom:0}
input[name="phone"].modal-field{font-variant-numeric:tabular-nums;letter-spacing:.5px;font-weight:600;color:#111}
.lead-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:#7a8188;line-height:1.5;cursor:pointer}
.lead-consent input{margin-top:2px;flex-shrink:0}
.lead-consent a{color:#5b7c99;text-decoration:underline}

.lead-cart-block{border:1px solid #eee;border-radius:12px;padding:14px 16px;margin-bottom:20px;background:#faf9f6}
.lead-cart-items{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.lead-cart-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#5b7c99}
.lead-cart-row-name{flex:1}
.lead-cart-row-price{font-weight:700;color:#111;white-space:nowrap}
.lead-cart-total{display:flex;justify-content:space-between;font-size:15px;font-weight:800;color:#111;border-top:1px solid #e5e2da;padding-top:10px}

/* Избранное на карточке: скрыто, появляется при наведении (на тач-устройствах без hover остаётся видимым) */
@media (hover:hover) and (pointer:fine){
.product-fav-btn{opacity:0;transition:opacity .2s ease}
.product-card:hover .product-fav-btn,.product-fav-btn:focus-visible,.product-fav-btn.active,.product-fav-btn.is-fav{opacity:1}
}

/* ===== Поиск (правка №16): ссылка «Все результаты» в подсказках и форма на странице /search/ ===== */
.search-suggest a.search-more{justify-content:center;color:#2c9ea9;font-weight:600;border-top:1px solid #222;border-radius:0 0 8px 8px;margin-top:4px}
.search-suggest a span.cat{white-space:nowrap}
.search-page-form{display:flex;gap:10px;margin:0 0 24px;max-width:560px}
.search-page-form input{flex:1;min-width:0;height:44px;padding:0 16px;border:1px solid #d9dde1;border-radius:22px;font-size:15px;outline:none;background:#fff}
.search-page-form input:focus{border-color:#2c9ea9}
.search-page-form button{height:44px;padding:0 24px;border:none;border-radius:22px;background:#2c9ea9;color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.search-page-form button:hover{background:#238993}

/* ===== Телефоны и планшеты: карточка открывает товар по тапу; без «Перейти в товар» и «В корзину»; быстрый просмотр — полупрозрачный «глаз» ===== */
@media (max-width:768px),(hover:none){
  .product-goto,.product-overlay{display:none!important}
  .product-quickview,.product-quickview--touch{display:flex;top:8px;right:8px;width:30px;height:30px;background:rgba(255,255,255,.55);box-shadow:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
  .product-quickview svg{width:15px;height:15px;opacity:.75}
}

/* ===== Плавное появление при открытии страницы (только CSS; fill-mode backwards — после показа никаких transform/opacity не остаётся) =====
   Скорость всех анимаций ниже и листания фото задаёт ОДНА переменная --qh-speed: 1 — быстро, 1.7 — как сейчас, 2.5 — совсем плавно. */
:root{--qh-speed:1.7}
@keyframes qhFadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes qhFade{from{opacity:0}to{opacity:1}}
@keyframes qhHeroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes qhReveal{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}

/* Шапка (логотип + категории) при загрузке не анимируется — появляется сразу на месте (правка №33) */

/* Главная: слайдер — фото плавно «оседает», текст выезжает по очереди (повторяется при смене слайда) */
.hero-slide.active .hero-image{animation:qhHeroZoom calc(1.8s*var(--qh-speed)) cubic-bezier(.22,.61,.36,1) backwards}
.hero-slide.active .hero-title{animation:qhFadeUp calc(.75s*var(--qh-speed)) cubic-bezier(.22,.61,.36,1) calc(.15s*var(--qh-speed)) backwards}
.hero-slide.active .hero-desc{animation:qhFadeUp calc(.75s*var(--qh-speed)) cubic-bezier(.22,.61,.36,1) calc(.3s*var(--qh-speed)) backwards}
.hero-slide.active .hero-btn{animation:qhFadeUp calc(.75s*var(--qh-speed)) cubic-bezier(.22,.61,.36,1) calc(.45s*var(--qh-speed)) backwards}
.hero-dots{animation:qhFade calc(.8s*var(--qh-speed)) ease calc(.7s*var(--qh-speed)) backwards}

/* Остальные страницы: заголовок, затем основной блок */
.page-hero,.category-hero,.breadcrumbs{animation:qhFadeUp calc(.6s*var(--qh-speed)) cubic-bezier(.22,.61,.36,1) calc(.1s*var(--qh-speed)) backwards}
.catalog-wrap,.pp-wrap,#cartRoot,.contact-page-grid,.about-stats,.static-content,.mw-wrap{animation:qhFade calc(.7s*var(--qh-speed)) ease calc(.25s*var(--qh-speed)) backwards}

/* Секции ниже первого экрана — всплывают при прокрутке (браузеры с animation-timeline; в остальных показываются сразу).
   Диапазон растянут (до 75% входа в экран) — всплытие идёт дольше и мягче */
@supports (animation-timeline:view()){
  .intro-section,.popular-section,.showcase-section,.manifesto-section,.values-section,.about-cta,.pp-tabs-section,.pp-related{
    animation:qhReveal ease-out backwards;
    animation-timeline:view();
    animation-range:entry 0% entry 75%;
  }
}

/* Листание фото (карточка в каталоге, быстрый просмотр, страница товара): скользит сама картинка, длительность задаёт --qh-speed в script.js.
   .qh-ghost — копия уходящего фото, создаётся скриптом на время анимации */
.qh-ghost{pointer-events:none;-webkit-user-select:none;user-select:none}
.pp-thumb{transition:border-color calc(.2s*var(--qh-speed)) ease}

@media (prefers-reduced-motion:reduce){
  .pp-thumb{transition:none}
  .hero-slide .hero-image,.hero-slide .hero-title,.hero-slide .hero-desc,.hero-slide .hero-btn,.hero-dots,
  .page-hero,.category-hero,.breadcrumbs,.catalog-wrap,.pp-wrap,#cartRoot,.contact-page-grid,.about-stats,.static-content,.mw-wrap,
  .intro-section,.popular-section,.showcase-section,.manifesto-section,.values-section,.about-cta,.pp-tabs-section,.pp-related{animation:none!important}
}


/* ===================================================================
   «Задать вопрос» + телефон одной плашкой, как в шапке (быстрый просмотр и страница товара)
   =================================================================== */
.qv-contact-pill{display:flex;align-items:stretch;background:#2c9ea9;border-radius:22px;overflow:hidden;height:40px;max-width:100%}
.qv-contact-pill .qv-pill-write,.qv-contact-pill .qv-pill-call{display:flex;align-items:center;gap:8px;color:#000;text-decoration:none;font-weight:800;font-size:14px;font-family:inherit;padding:0 16px;white-space:nowrap;background:none;border:none;cursor:pointer;transition:background .18s ease}
.qv-contact-pill .qv-pill-call{border-left:1px solid rgba(0,0,0,.18)}
.qv-contact-pill .qv-pill-write{background:#fff;color:#000}
.qv-contact-pill .qv-pill-write:hover{background:#f2f0ec}
.qv-contact-pill .qv-pill-call:hover{background:#278b95}

/* Выбор цвета-кружком внутри кнопки (быстрый просмотр) */
button.pp-swatch{background:none;cursor:pointer;font-family:inherit}
button.pp-swatch:hover{border-color:#bfe3e7}
button.pp-swatch:active{transform:scale(.94)}

/* ===================================================================
   Фильтры каталога в стиле сайта: свои чекбоксы и цветные кружки
   =================================================================== */
.filter-option{position:relative;gap:10px;line-height:1.3;transition:color .15s ease}
.filter-option:hover{color:#111}
.filter-option input[type=checkbox]{-webkit-appearance:none;appearance:none;flex-shrink:0;width:20px;height:20px;margin:0;border:1.5px solid #cfd3d8;border-radius:6px;background:#fff center/12px no-repeat;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.filter-option input[type=checkbox]:hover{border-color:#2c9ea9}
.filter-option input[type=checkbox]:checked{background-color:#2c9ea9;border-color:#2c9ea9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}
.filter-option input[type=checkbox]:focus-visible{outline:2px solid #2c9ea9;outline-offset:2px}
.filter-option .fo-text{flex:1;min-width:0}
/* «Цвет»: вместо галочки — кружок цвета, выбранный обведён */
.filter-option--color input[type=checkbox]{position:absolute;opacity:0;width:26px;height:26px;left:0;top:50%;transform:translateY(-50%);margin:0}
.filter-option--color .fo-dot{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);outline:2px solid transparent;outline-offset:2px;font-size:11px;font-weight:700;color:#555;transition:outline-color .15s ease}
.filter-option--color .fo-dot.is-text{background:#f2f0ec}
.filter-option--color:hover .fo-dot{outline-color:#bfe3e7}
.filter-option--color input:checked + .fo-dot{outline-color:#2c9ea9}
.filter-option--color input:checked ~ .fo-text{color:#111;font-weight:700}
.filter-option--color input:focus-visible + .fo-dot{outline-color:#2c9ea9}

/* ===================================================================
   Личный кабинет в стиле сайта
   =================================================================== */
.acc-wrap{padding-top:36px}
.catalog-main.acc-main{width:100%;max-width:640px;flex:0 1 640px}
.acc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.acc-tab{display:inline-block;border:1px solid #ddd;background:#fff;color:#444;border-radius:20px;padding:9px 20px;font-size:14px;font-weight:700;text-decoration:none;font-family:inherit;transition:border-color .2s ease,color .2s ease,background .2s ease}
.acc-tab:hover{border-color:#2c9ea9;color:#2c9ea9}
.acc-tab.active{background:#111;border-color:#111;color:#fff;cursor:default}
.acc-tab.acc-logout{margin-left:auto;background:transparent;color:#5b7c99}
.acc-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.acc-head{display:flex;align-items:center;gap:16px;padding-bottom:22px;margin-bottom:6px;border-bottom:1px solid #eee}
.acc-avatar{width:56px;height:56px;border-radius:50%;background:#2c9ea9;color:#111;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;flex-shrink:0}
.acc-name{font-size:20px;font-weight:800;color:#111;overflow-wrap:anywhere}
.acc-sub{font-size:13px;color:#9aa1ab;margin-top:2px;overflow-wrap:anywhere}
.acc-row{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid #f2f0ec}
.acc-row:last-child{border-bottom:none;padding-bottom:0}
.acc-label{width:110px;flex-shrink:0;font-size:13px;font-weight:700;color:#5b7c99}
.acc-value{flex:1;min-width:0;font-size:15px;font-weight:600;color:#111;overflow-wrap:anywhere}
.acc-value.is-empty{color:#9aa1ab;font-weight:400}
.acc-orders{display:flex;flex-direction:column;gap:12px}
.acc-order{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;border-radius:16px;padding:18px 22px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.acc-order-no{font-size:16px;font-weight:800;color:#111;min-width:110px}
.acc-order-date{font-size:13px;color:#9aa1ab}
.acc-order-total{margin-left:auto;font-size:16px;font-weight:800;color:#111;white-space:nowrap}
.acc-status{display:inline-block;border-radius:14px;padding:5px 12px;font-size:12px;font-weight:700;background:#f2f0ec;color:#444}
.acc-status--new,.acc-status--confirmed,.acc-status--processing,.acc-status--shipped{background:#e3f3f5;color:#1f7a84}
.acc-status--completed{background:#e4f4ea;color:#2f7d4b}
.acc-status--cancelled{background:#f4e7e5;color:#a8433a}
@media (max-width:560px){
  .acc-card{padding:20px}
  .acc-row{flex-direction:column;gap:4px}
  .acc-label{width:auto}
  .acc-order-total{margin-left:0;width:100%}
  .acc-tab.acc-logout{margin-left:0}
}

/* ===== Оформление заказа (/checkout/) и заказы в кабинете (правка №39) ===== */
.cart-checkout-link{display:block;text-align:center;text-decoration:none;box-sizing:border-box}
.co-wrap{display:flex;gap:36px;padding:30px var(--side-pad) 80px;align-items:flex-start;flex-wrap:wrap}
.co-main{flex:1 1 560px;display:flex;flex-direction:column;gap:16px;min-width:0}
.co-card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.co-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.co-title{font-size:18px;font-weight:800;color:#111;margin:0 0 16px;display:flex;align-items:center;gap:10px}
.co-card-head .co-title{margin-bottom:16px}
.co-num{width:26px;height:26px;border-radius:50%;background:#2c9ea9;color:#fff;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.co-link{color:#2c9ea9;font-size:14px;font-weight:700;text-decoration:none}
.co-link:hover{text-decoration:underline}
.co-hint{font-size:13px;color:#5b7c99;background:#f4f8fa;border-radius:10px;padding:10px 14px;margin-bottom:14px;line-height:1.45}
.co-hint a{color:#2c9ea9;font-weight:700}
.co-items{display:flex;flex-direction:column;gap:12px}
.co-item{display:flex;align-items:center;gap:14px}
.co-item-img{width:64px;height:64px;border-radius:10px;overflow:hidden;background:#ece9e4;flex-shrink:0;display:block}
.co-item-img img{width:100%;height:100%;object-fit:cover;display:block}
.co-item-name{flex:1;min-width:0;font-size:14.5px;font-weight:700;color:#111;line-height:1.3}
.co-item-qty{display:block;font-size:12.5px;font-weight:500;color:#9aa1ab;margin-top:3px}
.co-item-sum{font-weight:800;color:#111;white-space:nowrap}
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.co-field{display:block;font-size:13px;font-weight:700;color:#5b7c99}
.co-field-wide{grid-column:1/-1}
.co-field input,.co-field textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px 14px;border:1px solid #ddd;border-radius:12px;font-size:15px;font-family:inherit;color:#111;background:#fff;resize:vertical}
.co-field input:focus,.co-field textarea:focus{outline:none;border-color:#2c9ea9}
.co-field input[readonly]{background:#f6f5f2;color:#666}
.co-field.has-error input,.co-field.has-error textarea{border-color:#d9534f}
.co-err{display:block;color:#d9534f;font-size:12.5px;font-weight:600;margin-top:4px;min-height:0}
.co-err:empty{display:none}
.co-options{display:flex;flex-direction:column;gap:10px}
.co-option{display:flex;align-items:center;gap:12px;border:1px solid #e3e0da;border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.co-option:hover{border-color:#2c9ea9}
.co-option.is-selected{border-color:#2c9ea9;background:#f2fafb}
.co-option input{accent-color:#2c9ea9;width:18px;height:18px;flex-shrink:0;margin:0}
.co-option-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.co-option-title{font-weight:700;font-size:15px;color:#111}
.co-option-note{font-size:12.5px;color:#7a8794;line-height:1.4}
.co-option-price{font-weight:800;color:#111;white-space:nowrap;font-size:14px}
/* способы оплаты: значок и свой цвет у каждого варианта */
.co-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#eef1f4;color:#556270;transition:background .2s ease,color .2s ease}
.co-ico--online{background:#e6f4f6;color:#1f8793}
.co-ico--invoice{background:#eceffb;color:#4256b5}
.co-ico--offline{background:#fdf1e2;color:#b36a14}
.co-option--online.is-selected{border-color:#1f8793;background:#f2fafb}
.co-option--invoice.is-selected{border-color:#4256b5;background:#f5f6fd}
.co-option--offline.is-selected{border-color:#c98122;background:#fffaf2}
.co-option--online:hover{border-color:#1f8793}
.co-option--invoice:hover{border-color:#4256b5}
.co-option--offline:hover{border-color:#c98122}
.co-option--online.is-selected .co-ico{background:#1f8793;color:#fff}
.co-option--invoice.is-selected .co-ico{background:#4256b5;color:#fff}
.co-option--offline.is-selected .co-ico{background:#c98122;color:#fff}
.co-option--online input{accent-color:#1f8793}
.co-option--invoice input{accent-color:#4256b5}
.co-option--offline input{accent-color:#c98122}
/* адрес доставки: область и город — поле ввода со списком */
.co-addr{margin-top:14px}
.co-addr-title{font-size:13px;font-weight:700;color:#5b7c99;margin-bottom:8px}
.co-dfields .co-field textarea{min-height:60px}
.co-combo{position:relative;display:block}
.co-combo input{padding-right:38px}
.co-combo-caret{position:absolute;right:0;top:6px;width:38px;height:calc(100% - 6px);cursor:pointer;display:flex;align-items:center;justify-content:center}
.co-combo-caret::after{content:"";width:7px;height:7px;border-right:2px solid #7a8794;border-bottom:2px solid #7a8794;transform:rotate(45deg) translate(-2px,-2px)}
.co-combo-list{position:absolute;left:0;right:0;top:100%;margin:4px 0 0;padding:6px;list-style:none;background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.14);max-height:260px;overflow-y:auto;z-index:30}
.co-combo-list[hidden]{display:none}
.co-combo-item{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:8px;font-size:14.5px;font-weight:600;color:#111;cursor:pointer}
.co-combo-item:hover,.co-combo-item.is-active{background:#eaf6f7}
.co-combo-hint{font-size:12px;font-weight:500;color:#8a97a3;text-align:right}
/* страница заказа: блок онлайн-оплаты */
.acc-pay{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;padding:16px 18px;border:1px solid #bfe3e7;background:#f2fafb;border-radius:14px}
.acc-pay-info{flex:1;min-width:200px}
.acc-pay-title{font-weight:800;font-size:15px;color:#111}
.acc-pay-text{font-size:13px;color:#5b7c99;line-height:1.45;margin-top:2px}
.acc-pay-btn{border:none;border-radius:12px;background:#2c9ea9;color:#fff;font-weight:800;font-size:15px;font-family:inherit;padding:13px 22px;cursor:pointer;transition:background .2s ease}
.acc-pay-btn:hover{background:#278b95}
.acc-pay-btn:disabled{opacity:.65;cursor:default}
.acc-pay-err{flex-basis:100%;color:#d9534f;font-size:13px;font-weight:600}
.co-summary{top:120px}
.co-agree{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:#5b7c99;margin-top:18px;line-height:1.4;cursor:pointer}
.co-agree input{margin-top:2px;accent-color:#2c9ea9;flex-shrink:0}
.co-agree a{color:#2c9ea9}
.co-form-error{background:#fbeaea;color:#a8433a;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600;margin-top:14px}
.co-after-note{font-size:12.5px;color:#7a8794;line-height:1.45;margin-top:14px}
.cart-checkout-btn:disabled{opacity:.6;cursor:default}
@media (max-width:900px){.co-wrap{flex-direction:column}.co-main{flex:1 1 auto;width:100%}.co-summary{position:static;width:100%;box-sizing:border-box}}
@media (max-width:560px){.co-grid{grid-template-columns:1fr}.co-card{padding:16px}.co-option{flex-wrap:wrap}}
.acc-order--link{display:block;text-decoration:none;color:inherit;transition:box-shadow .2s ease,transform .2s ease}
.acc-order--link:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-1px)}
.acc-order-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.acc-order-bottom{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px}
.acc-thumbs{display:flex;gap:8px}
.acc-thumb{width:48px;height:48px;border-radius:9px;overflow:hidden;background:#ece9e4;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#5b7c99}
.acc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.acc-order-eta{font-size:13px;color:#5b7c99;margin-left:auto}
.acc-order-eta strong{color:#111}
.acc-order-top .acc-order-eta{margin-left:0}
.acc-status--paid{background:#e4f4ea;color:#2f7d4b}
.acc-status--unpaid{background:#fdf1dd;color:#9a6a12}
.acc-status--assembly{background:#e3f3f5;color:#1f7a84}
.acc-status--on_hold{background:#fdf1dd;color:#9a6a12}
.acc-status--delivered{background:#e4f4ea;color:#2f7d4b}
.acc-status--paid.acc-status--paid{background:#e4f4ea;color:#2f7d4b}
.acc-notice{background:#e4f4ea;color:#245c3a;border-radius:14px;padding:16px 20px;margin-bottom:18px;font-size:14px;line-height:1.5}
.acc-sums{margin-top:18px;padding-top:14px;border-top:1px solid #eee}

/* SEO: визуально скрытый H1 главной */
.qh-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Скрытый номер телефона (правка №56): полный номер открывается после отправки формы обратной связи */
html:not(.qh-phone-open) .qh-ph-open-only{display:none!important}
html.qh-phone-open .qh-ph-lock-only{display:none!important}
.qh-ph-hint{font-size:12.5px;color:#6a7a86;line-height:1.4;text-align:center;margin:-8px 0 14px}
.contact-info-card .qh-ph-hint{text-align:left;margin:4px 0 0}

/* правка №126: рейтинг по отзывам на карточках каталога и главной */
.product-rating{display:flex;align-items:center;gap:4px;font-size:13px;line-height:1.2;color:#5b6b78;margin:2px 0 4px}
.product-rating .pr-star{color:#f5a623;font-size:14px;line-height:1}
.product-rating b{color:#111;font-weight:600}

/* правка №131: короткое согласие на обработку персональных данных под формами */
.consent-note{margin-top:10px;font-size:12px;line-height:1.4;color:#7b8794}
.consent-note a{color:inherit;text-decoration:underline}

/* правка №141: «Забыли пароль?» в окне входа и страница смены пароля */
.auth-forgot-row{margin-top:12px;text-align:center}
.auth-forgot-link{font-size:13px;color:#2c9ea9;text-decoration:underline}
.pw-reset-wrap{max-width:420px;margin:0 auto;padding:48px 20px 72px}
.pw-reset-wrap h1{font-size:24px;margin:0 0 10px}
.pw-reset-wrap p{color:#555;line-height:1.5;margin:0 0 16px}
.pw-reset-wrap .modal-field{display:block;width:100%;box-sizing:border-box;margin-bottom:12px}
.pw-reset-msg{font-size:13px;margin-bottom:12px;display:none}

/* Промокод на оформлении заказа (правка №142) */
.co-promo{margin:2px 0 12px;padding:12px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}
.co-promo-lbl{display:block;font-size:13px;font-weight:700;color:#334155;margin-bottom:6px}
.co-promo-row{display:flex;gap:8px;align-items:stretch}
.co-promo-row input{flex:1 1 auto;min-width:0;box-sizing:border-box;height:42px;padding:0 12px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;text-transform:uppercase;background:#fff}
.co-promo-row input::placeholder{text-transform:none}
.co-promo-row input:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.15)}
.co-promo-row input.is-applied{border-color:#16a34a;background:#f0fdf4}
.co-promo-btn{flex:0 0 auto;height:42px;padding:0 14px;border:1px solid #111;border-radius:8px;background:#111;color:#fff;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.co-promo-btn:disabled{opacity:.6;cursor:default}
.co-promo-msg.is-ok{color:#15803d}
.co-promo-discount{color:#15803d;font-weight:700}
@media (max-width:420px){.co-promo{padding:10px}.co-promo-btn{padding:0 12px}}

/* Промокод на странице товара и цены со скидкой (правка №143) */
.pp-price-promo{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.pp-price-old,.product-price-old{color:#94a3b8;font-weight:600;font-size:.6em;text-decoration:line-through}
.product-price-old{font-size:13px}
.pp-price-badge,.product-price-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:13px;font-weight:800;line-height:1.4;white-space:nowrap}
.product-price-badge{font-size:11px;padding:1px 6px}
.product-price-row{flex-wrap:wrap}

/* Промокод: единый компонент для страницы товара и корзины (правка №144) */
.promo{margin:12px 0 6px}
.promo [hidden],.promo[hidden]{display:none !important}
.promo-toggle{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px dashed #8cc7ce;border-radius:999px;background:#f2fafb;color:#1f7a85;font-size:14px;font-weight:600;line-height:1.2;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.promo-toggle:hover{background:#e3f4f6;border-color:#2c9ea9}
.promo-toggle svg{flex:0 0 auto}
.promo-field{display:flex;align-items:stretch;max-width:380px;border:1.5px solid #2c9ea9;border-radius:12px;overflow:hidden;background:#fff}
.promo-field:focus-within{box-shadow:0 0 0 3px rgba(44,158,169,.18)}
.promo-field input{flex:1 1 auto;min-width:0;height:44px;box-sizing:border-box;padding:0 14px;border:0;outline:none;background:transparent;font-size:16px;font-family:inherit;text-transform:uppercase;letter-spacing:.4px}
.promo-field input::placeholder{text-transform:none;letter-spacing:0;color:#94a3b8}
.promo-apply{flex:0 0 auto;padding:0 18px;border:0;background:#2c9ea9;color:#111;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap}
.promo-apply:hover{background:#278b95}
.promo-apply:disabled{opacity:.6;cursor:default}
.promo-chip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;max-width:100%;box-sizing:border-box;padding:5px 6px 5px 12px;border:1px solid #b7ecc9;border-radius:999px;background:#ecfdf3;color:#166534;font-size:14px;line-height:1.3}
.promo-chip svg{flex:0 0 auto}
.promo-chip-code{font-weight:800;letter-spacing:.4px}
.promo-chip-note{opacity:.9}
.promo-chip-x{flex:0 0 auto;width:24px;height:24px;margin-left:2px;padding:0;border:0;border-radius:50%;background:#fff;color:#166534;font-size:17px;line-height:1;cursor:pointer}
.promo-chip-x:hover{background:#dcfce7}
.promo-msg{margin-top:6px;font-size:13px;color:#b91c1c}
.promo-msg:empty{display:none}
.promo-cart{margin:10px 0}
.promo-cart .promo-field{max-width:none}
.cart-summary-promo{color:#15803d;font-weight:700}
.qv-cart-btn.in-cart,.product-cart-btn.in-cart{background:#111;color:#fff}
.qv-cart-btn.in-cart svg{stroke:#fff}
.qv-cart-btn.in-cart:hover{background:#2b2b2b}
@media (max-width:480px){.promo-field{max-width:none}.promo-apply{padding:0 14px}}
