
:root{--purple:#8d55b8;--purple2:#a05cbd;--blue:#86a8d5;--ink:#454348;--muted:#66646a;--light:#f2f2f3;--line:#e9e8eb;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}.page{width:min(1260px,100%);margin:0 auto}.header{padding:34px 18px 42px;background:#fff}.head{display:flex;align-items:center;justify-content:space-between;max-width:1160px;margin:auto}.logo{width:320px;height:auto}.menu-btn{width:76px;height:76px;border:0;border-radius:50%;background:var(--blue);display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:34px;height:4px;background:#fff;border-radius:5px;position:relative}.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0}.menu-icon::before{top:-11px}.menu-icon::after{top:11px}
.menu-panel{position:fixed;inset:0;background:rgba(39,31,45,.42);z-index:100;display:flex;justify-content:flex-end;opacity:0;visibility:hidden;transition:.22s ease}.menu-panel.open{opacity:1;visibility:visible}.menu-sheet{width:min(420px,88vw);height:100%;background:#fff;padding:34px 28px;transform:translateX(30px);transition:.22s ease;box-shadow:-20px 0 60px rgba(0,0,0,.15);overflow:auto}.menu-panel.open .menu-sheet{transform:none}.menu-close{width:48px;height:48px;border:0;border-radius:50%;background:#f1f0f2;cursor:pointer;font-size:30px;color:var(--ink);float:right}.menu-nav{clear:both;padding-top:54px;display:grid;gap:8px}.menu-nav a{font-size:23px;font-weight:700;padding:17px 14px;border-radius:16px}.menu-nav a:hover{background:#f5eff8;color:var(--purple)}.menu-actions{display:grid;gap:12px;margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}.contact-btn{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:999px;font-weight:800;border:0;transition:.2s}.contact-vk{background:var(--purple);color:#fff}.contact-max{background:#edf1f7;color:#475a75}.contact-btn:hover{transform:translateY(-2px)}
.hero{padding:0 18px 95px}.hero-card{position:relative;min-height:920px;border-radius:34px;overflow:hidden;background:linear-gradient(125deg,#8667c7 0%,#9a61b9 43%,#84a7d5 100%);color:#fff;padding:74px 60px 80px}.hero-copy{position:relative;z-index:2;width:62%;max-width:700px}.hero h1{margin:0 0 26px;font-size:clamp(40px,5.2vw,76px);line-height:1.02;letter-spacing:.2px;text-transform:uppercase;font-weight:800}.hero-lead{font-size:clamp(24px,2.2vw,34px);line-height:1.28;font-weight:700;margin:0 0 36px}.hero-text{font-size:clamp(18px,1.55vw,24px);line-height:1.42;font-weight:600;max-width:740px;margin:0 0 38px}.hero-note{font-size:clamp(18px,1.55vw,24px);line-height:1.45;font-weight:600;max-width:380px;margin:0}.hero-person{position:absolute;right:-2%;bottom:-1px;width:66%;max-width:800px;z-index:1}.hero-actions{position:absolute;left:60px;bottom:58px;display:flex;gap:12px;z-index:3}.hero-actions .contact-btn{padding:0 24px;background:#fff;color:var(--purple);min-height:52px}
.section{padding:95px 18px 70px}.section-inner{max-width:1160px;margin:auto}.section-title{font-size:clamp(42px,5vw,68px);line-height:1.05;text-align:center;margin:0 0 48px;font-weight:800}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin:0 auto 78px;gap:18px 28px}.category-link{appearance:none;-webkit-appearance:none;border:2px solid #d9c8e3;background:#fff;color:#66328b;font-size:clamp(18px,1.65vw,24px);font-weight:700;text-align:center;padding:14px 22px;min-height:56px;border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.category-link:hover{border-color:#a875c6;background:#f8f1fb;color:#7a419f;transform:translateY(-2px)}.category-link.is-active{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 8px 22px rgba(141,85,184,.2)}.category-link:focus-visible{outline:3px solid rgba(134,168,213,.8);outline-offset:3px}.product-rail-wrap{position:relative}.product-rail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 8px 18px;margin:0 -8px}.product-rail::-webkit-scrollbar{display:none}.product-card{flex:0 0 min(560px,62vw);min-height:700px;background:var(--light);border-radius:30px;overflow:hidden;scroll-snap-align:center;display:flex;flex-direction:column}.product-media{height:430px;display:grid;place-items:end center;padding:18px 50px 0}.product-media img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 20px 14px rgba(0,0,0,.14))}.product-info{padding:12px 42px 40px;text-align:center}.product-tag{font-size:17px;color:#744197;font-weight:700;margin-bottom:10px}.product-info h3{font-size:clamp(28px,2.8vw,42px);line-height:1.13;margin:0 0 15px;font-weight:700}.product-info p{font-size:18px;line-height:1.35;color:#626067;margin:0}.rail-controls{display:flex;justify-content:center;gap:46px;margin-top:38px}.rail-btn{width:74px;height:74px;border:0;border-radius:50%;background:#d2d3d5;color:#fff;font-size:42px;line-height:1;cursor:pointer}.rail-btn:hover{background:var(--purple)}
.important{padding-top:75px}.important .section-title{margin-bottom:42px}.important-intro{max-width:780px;text-align:center;margin:0 auto 120px;font-size:clamp(23px,2.3vw,34px);line-height:1.38;font-weight:700}.features{display:grid;gap:120px;max-width:1000px;margin:auto}.feature{text-align:center}.feature img{width:96px;height:96px;object-fit:contain;margin:0 auto 34px}.feature h3{font-size:clamp(28px,2.7vw,42px);font-weight:400;margin:0 0 25px;line-height:1.15}.feature p{font-size:clamp(20px,2vw,31px);line-height:1.34;margin:0 auto;color:#444;max-width:900px}
.about{padding:80px 18px}.about-box{max-width:1160px;margin:auto;border-radius:34px;background:linear-gradient(135deg,#f7f2fa,#edf2f8);padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.about-copy h2{font-size:48px;margin:0 0 20px}.about-copy p{font-size:19px;line-height:1.55;color:#5f5c62}.about-list{padding:0;margin:24px 0 0;list-style:none;display:grid;gap:14px}.about-list li{font-size:18px;font-weight:600}.about-list li::before{content:"✓";display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--purple);color:#fff;margin-right:10px;font-size:14px}.about-visual{min-height:450px;border-radius:28px;background:linear-gradient(135deg,#8b64c5,#85a8d5);display:grid;align-items:end;overflow:hidden}.about-visual img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.contacts{padding:80px 18px}.contact-box{max-width:1160px;margin:auto;border-radius:34px;background:linear-gradient(125deg,#8d55b8,#84a8d5);color:#fff;padding:58px;display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-box h2{margin:0 0 12px;font-size:clamp(34px,4vw,54px)}.contact-box p{margin:0;max-width:650px;font-size:19px;line-height:1.5}.contact-box .contact-actions{display:flex;gap:12px;flex-wrap:wrap}.contact-box .contact-btn{background:#fff;color:var(--purple);padding:0 25px;white-space:nowrap}
.footer{background:#302c33;color:#fff;padding:54px 18px 25px}.footer-inner{max-width:1160px;margin:auto}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:45px}.footer-logo{width:230px;filter:brightness(0) invert(1);margin-bottom:15px}.footer p{color:#d2cdd4;line-height:1.5;margin:0;max-width:470px}.footer h3{margin:0 0 18px;font-size:18px}.footer-links{display:grid;gap:10px}.footer-links a:hover{color:#d8b8ed}.legal-links{display:grid;gap:10px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:18px;color:#aaa3ad;font-size:13px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.producer-details{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);color:#aaa3ad;font-size:13px;line-height:1.5}.producer-details strong{display:block;color:#d2cdd4;font-weight:600;margin-bottom:5px}.producer-details span{display:block}.producer-details span:last-child{margin-top:3px;color:#b9b2bc}
.modal{position:fixed;inset:0;z-index:200;background:rgba(25,19,29,.62);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:.2s}.modal.open{opacity:1;visibility:visible}.modal-box{position:relative;background:#fff;border-radius:28px;width:min(820px,100%);max-height:85vh;overflow:auto;padding:40px}.modal-close{position:absolute;right:16px;top:16px;width:44px;height:44px;border:0;border-radius:50%;background:#f1eff2;font-size:28px;cursor:pointer}.modal-box h2{margin:0 50px 24px 0;font-size:32px}.modal-box h3{font-size:19px;margin:25px 0 8px}.modal-box p{font-size:16px;line-height:1.6;color:#555;margin:0 0 12px}
.cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:150;background:#fff;border:1px solid #ddd;border-radius:20px;box-shadow:0 16px 45px rgba(0,0,0,.16);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie p{margin:0;color:#555;font-size:14px;line-height:1.45}.cookie-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.cookie button{border:0;border-radius:999px;font-weight:800;padding:12px 22px;cursor:pointer;white-space:nowrap;transition:transform .2s ease,background .2s ease}.cookie button:hover{transform:translateY(-1px)}.cookie-accept{background:var(--purple);color:#fff}.cookie-reject{background:#f0eef2;color:#555}.cookie-reject:hover{background:#e6e1e9}.to-top{position:fixed;right:24px;bottom:24px;z-index:140;width:58px;height:58px;border:0;border-radius:50%;background:var(--purple);color:#fff;font-size:27px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s;box-shadow:0 10px 25px rgba(141,85,184,.25)}.to-top.show{opacity:1;visibility:visible;transform:none}

/* Contact phone: keep the long multi-channel number inside the button on narrow screens */
.contact-box .contact-phone{white-space:normal !important;overflow-wrap:anywhere;word-break:normal;text-align:center;line-height:1.25;height:auto;min-width:0;padding:12px 18px !important;}
.contact-box .contact-actions{min-width:0;width:100%;}
.contact-box .contact-actions .contact-btn{min-width:0;box-sizing:border-box;}
@media(max-width:900px){
  .contact-box .contact-phone{font-size:15px;line-height:1.25;padding:12px 16px !important;}
}
@media(max-width:560px){
  .contact-box .contact-phone{font-size:14px;padding:12px 14px !important;}
}
/* Multi-channel phone: the note is strictly below the phone number */
.contact-phone{flex-wrap:wrap !important;align-content:center;}
.contact-phone .phone-number{white-space:nowrap;margin-left:8px;}
.contact-phone .phone-note{flex:0 0 100%;width:100%;display:block;font-size:.82em;line-height:1.55;margin-top:4px;white-space:nowrap;text-align:center;}
@media(max-width:560px){
  .contact-box .contact-phone .phone-note{font-size:.84em;line-height:1.6;margin-top:4px;}
}
html,body{overflow-x:hidden;}
/* Final mobile contact buttons: same typography and slightly narrower width */
@media(max-width:900px){
  .contact-box .contact-actions{width:calc(100% - 18px);margin-left:auto;margin-right:auto;}
  .contact-box .contact-btn{width:100%;font-family:inherit;font-size:15px;font-weight:800;letter-spacing:0;}
}
@media(max-width:560px){
  .contact-box .contact-actions{width:calc(100% - 14px);}
  .contact-box .contact-btn{font-size:15px;}
}
@media(max-width:900px){.header{padding:22px 14px 26px}.logo{width:230px}.menu-btn{width:58px;height:58px}.menu-icon,.menu-icon::before,.menu-icon::after{width:27px;height:3px}.menu-icon::before{top:-9px}.menu-icon::after{top:9px}.hero{padding:0 12px 65px}.hero-card{min-height:720px;border-radius:22px;padding:30px 22px 250px}.hero-copy{width:100%;max-width:100%}.hero h1{font-size:clamp(29px,7vw,50px);margin-bottom:18px}.hero-lead{font-size:clamp(16px,4.3vw,25px);margin-bottom:22px}.hero-text,.hero-note{font-size:clamp(13px,3.4vw,18px)}.hero-text{margin-bottom:18px}.hero-note{max-width:230px}.hero-person{width:92%;right:-6%}.hero-actions{left:22px;bottom:18px;right:22px;display:grid;grid-template-columns:1fr 1fr}.hero-actions .contact-btn{min-height:46px;padding:0 10px;font-size:13px}.section{padding:65px 12px 50px}.section-title{font-size:36px;margin-bottom:35px}.category-grid{gap:8px 40px;margin-bottom:50px}.category-link{font-size:18px}.product-card{flex-basis:78vw;min-height:540px;border-radius:20px}.product-media{height:320px;padding:12px 28px 0}.product-info{padding:10px 22px 30px}.product-info h3{font-size:25px}.product-info p{font-size:15px}.rail-controls{gap:30px;margin-top:22px}.rail-btn{width:56px;height:56px;font-size:32px}.important{padding-top:55px}.important-intro{font-size:19px;margin-bottom:75px;max-width:620px}.features{gap:82px}.feature img{width:78px;height:78px;margin-bottom:25px}.feature h3{font-size:25px;margin-bottom:14px}.feature p{font-size:17px;max-width:650px}.about-box{grid-template-columns:1fr;padding:28px;border-radius:22px}.about-copy h2{font-size:34px}.about-visual{min-height:320px}.contact-box{padding:32px 24px;display:block;border-radius:22px}.contact-box h2{font-size:34px}.contact-box .contact-actions{margin-top:22px;display:grid}.contact-box .contact-btn{width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.cookie{left:10px;right:10px;bottom:10px;display:block;padding:14px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.cookie button{width:100%;margin-top:0}.to-top{right:14px;bottom:88px;width:50px;height:50px}}
@media(max-width:560px){.category-grid{grid-template-columns:1fr;gap:12px;max-width:360px;margin-bottom:54px}.category-link{width:100%;min-height:52px}.logo{width:190px}.menu-sheet{padding:22px 18px}.menu-nav a{font-size:19px;padding:14px 12px}.hero-card{min-height:640px}.hero-person{width:108%;right:-11%}.hero-actions{grid-template-columns:1fr;gap:8px}.hero-actions .contact-btn{min-height:42px}.product-card{flex-basis:84vw;min-height:510px}.product-media{height:300px}.footer-grid{grid-template-columns:1fr}.modal-box{padding:28px 22px}}

/* ====== Revision 3: responsive/menu/carousel/hero fixes ====== */
/* Final product-card sizing: keep every package fully visible inside the media box. */
.product-media{overflow:hidden;display:flex;align-items:center;justify-content:center;padding:18px 34px 8px;box-sizing:border-box;}
.product-media img{display:block;width:auto;height:auto;max-width:78%;max-height:82%;object-fit:contain;flex:0 0 auto;}
@media(max-width:900px){.product-media{height:300px;padding:16px 28px 8px;} .product-media img{max-width:72%;max-height:76%;}}
@media(max-width:560px){.product-media{height:285px;padding:12px 24px 8px;} .product-media img{max-width:68%;max-height:72%;}}

@media (min-width:901px){
  .menu-btn{display:none!important}
}

/* Product cards: keep the package inside its media area and always keep text above it. */
.product-card{min-height:0;height:auto;overflow:hidden}
.product-media{position:relative;z-index:1;flex:0 0 430px;overflow:hidden;background:var(--light)}
.product-media img{position:relative;z-index:1;display:block;max-width:100%;max-height:100%;height:100%;width:100%;object-fit:contain}
.product-info{position:relative;z-index:5;flex:0 0 auto;min-height:170px;background:var(--light);padding:18px 42px 40px}
.product-info p{position:relative;z-index:6}

/* Hero: text continuously wraps around the actual silhouette of the person + dog. */
.hero-card{min-height:0;overflow:hidden}
.hero-copy{width:100%;max-width:none;display:block;overflow:visible}
.hero-person{
  position:relative!important;
  float:right;
  right:auto!important;
  bottom:auto!important;
  width:min(50%,620px);
  max-width:50%;
  height:auto;
  margin:250px -1% 18px 34px;
  z-index:1;
  /* Use the transparent silhouette, not the rectangular image box, as the wrap shape. */
  shape-outside:url("assets/images/hero-person.png");
  shape-margin:10px;
  shape-image-threshold:0.02;
  filter:drop-shadow(0 20px 14px rgba(0,0,0,.10));
}
.hero-copy h1,.hero-copy p{position:relative;z-index:2}
.hero-copy:after{content:"";display:block;clear:both}
.hero h1{max-width:100%}
.hero-lead,.hero-text,.hero-note{max-width:none}

/* Menu contacts */
.menu-actions{gap:10px}
.contact-phone{background:#eef1f6;color:#44536b}
.contact-email{background:#f3edf8;color:#6b398c}
.menu-actions .contact-btn{font-size:15px;line-height:1.2;text-align:center;padding:10px 14px}

/* Auto carousel state */
.product-rail{scroll-behavior:smooth;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.product-rail img{user-select:none;-webkit-user-drag:none;pointer-events:none}

@media (max-width:900px){
  .hero-card{padding:30px 22px 42px}
  .hero-person{
    width:68%;max-width:68%;
    margin:220px -5% 12px 22px;
    shape-margin:8px;
  }
  .product-media{flex-basis:320px;height:320px}
  .product-info{min-height:180px;padding:16px 22px 30px}
  .menu-actions .contact-btn{font-size:14px}
}

@media (max-width:560px){
  .hero-card{padding:24px 18px 34px}
  .hero-person{
    width:72%;max-width:72%;
    margin:210px -7% 10px 16px;
    shape-margin:7px;
  }
  .product-media{flex-basis:300px;height:300px}
  .product-info{min-height:170px;padding:14px 18px 26px}
}

@media (max-width:390px){
  .hero-person{width:70%;max-width:70%;margin-top:200px;margin-right:-6%;}
  .hero h1{font-size:29px}
  .hero-lead{font-size:16px}
  .hero-text,.hero-note{font-size:13px}
}

/* ===== Product card drill-down / description ===== */
.product-card{cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
.product-card:focus-visible{outline:3px solid rgba(118,91,169,.45);outline-offset:4px}
.product-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(53,43,65,.10)}
.product-card.is-detail-open{cursor:default;box-shadow:0 18px 42px rgba(53,43,65,.14)}
.product-detail{display:none;background:#fff;border-top:1px solid rgba(101,94,110,.12);padding:28px 42px 36px;scroll-margin-top:90px}
.product-card.is-detail-open .product-detail{display:block;animation:detailIn .32s ease both}
.product-detail-kicker{margin:0 0 8px;font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#744197}
.product-detail h4{margin:0 0 12px;font-size:clamp(24px,2.2vw,34px);line-height:1.12;color:#3f3d42}
.product-detail p{margin:0;color:#626067;font-size:18px;line-height:1.45}
.product-detail-hint{margin-top:16px;font-size:14px;color:#8b8790}
.product-detail-close{position:fixed;z-index:1200;top:18px;right:18px;display:none;border:0;border-radius:999px;background:#fff;color:#5f3a78;box-shadow:0 10px 30px rgba(25,18,31,.18);padding:11px 17px;font:700 14px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.product-detail-close.show{display:block;animation:detailCloseIn .22s ease both}
@keyframes detailIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes detailCloseIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .product-detail{padding:24px 22px 30px;scroll-margin-top:75px}
  .product-detail p{font-size:16px;line-height:1.45}
  .product-detail-close{top:12px;right:12px;padding:10px 14px}
}
@media(max-width:560px){
  .product-card:hover{transform:none;box-shadow:none}
  .product-detail{padding:22px 18px 28px}
  .product-detail h4{font-size:24px}
  .product-detail p{font-size:15px}
}

/* ===== Product cards: reference layout ===== */
.product-rail{align-items:flex-start;padding:12px 8px 18px;}
.product-card{flex:0 0 min(430px,48vw);min-height:0;height:auto;background:transparent;border-radius:0;overflow:visible;display:flex;flex-direction:column;scroll-snap-align:center;cursor:pointer;}
.product-body{height:430px;background:#f2f2f4;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;position:relative;}
.product-media{height:285px;flex:0 0 285px;background:transparent;padding:10px 34px 0;display:grid;place-items:end center;overflow:hidden;}
.product-media img{height:88%;width:auto;max-width:88%;max-height:88%;object-fit:contain;filter:drop-shadow(0 18px 12px rgba(0,0,0,.14));}
.product-info{padding:0 28px 28px;text-align:center;background:transparent;flex:1;display:flex;align-items:flex-start;justify-content:center;}
.product-info p{font-size:22px;line-height:1.12;color:#66646a;font-weight:600;margin:0;max-width:360px;}
.product-tag{display:none!important;}
.product-name{padding:18px 8px 0;text-align:center;background:transparent;}
.product-name h3{font-size:clamp(22px,2vw,30px);line-height:1.15;margin:0;font-weight:700;color:#4d4b50;}
.product-card:hover .product-body{transform:translateY(-2px);box-shadow:0 14px 32px rgba(53,43,65,.10);}
.product-body{transition:transform .25s ease,box-shadow .25s ease;}
.product-card.is-detail-open .product-body{box-shadow:0 18px 42px rgba(53,43,65,.14);}
.product-detail{margin-top:16px;border-radius:22px;background:#fff;border:1px solid rgba(101,94,110,.12);padding:28px 32px 34px;scroll-margin-top:90px;}
.product-detail h4{margin:0 0 12px;font-size:clamp(24px,2.2vw,34px);line-height:1.12;color:#3f3d42;}
.product-detail p{margin:0;color:#626067;font-size:18px;line-height:1.45;}
@media(max-width:900px){
 .product-card{flex-basis:78vw;}
 .product-body{height:390px;border-radius:22px;}
 .product-media{height:260px;flex-basis:260px;padding:8px 26px 0;}
 .product-media img{height:88%;max-width:88%;}
 .product-info{padding:0 20px 24px;}
 .product-info p{font-size:19px;line-height:1.12;}
 .product-name{padding-top:14px;}
 .product-name h3{font-size:23px;}
}
@media(max-width:560px){
 .product-card{flex-basis:82vw;}
 .product-body{height:345px;border-radius:20px;}
 .product-media{height:225px;flex-basis:225px;padding:6px 22px 0;}
 .product-media img{height:86%;max-width:86%;}
 .product-info{padding:0 18px 20px;}
 .product-info p{font-size:17px;line-height:1.13;max-width:280px;}
 .product-name{padding-top:12px;}
 .product-name h3{font-size:20px;}
}

/* Product information modal */
.product-modal{position:fixed;inset:0;z-index:1400;background:rgba(24,19,28,.72);display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.product-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.product-modal-box{position:relative;width:min(1120px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;box-shadow:0 28px 90px rgba(0,0,0,.28);padding:42px 44px 46px;scroll-behavior:smooth}
.product-modal-close{position:sticky;top:0;float:right;z-index:3;width:48px;height:48px;border:0;border-radius:50%;background:#ececef;color:#454247;font-size:31px;line-height:1;cursor:pointer;display:grid;place-items:center;margin:-12px -12px 0 12px}
.product-modal-close:hover{background:#d9d9dc}
.product-modal-top{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr);gap:54px;align-items:start;clear:both}
.product-modal-media{min-height:420px;display:grid;place-items:center;padding:4px 12px 0}
.product-modal-media img{width:100%;height:420px;object-fit:contain;filter:drop-shadow(0 22px 18px rgba(0,0,0,.15))}
.product-modal-summary h2{margin:0 0 22px;font-size:clamp(25px,2.3vw,34px);line-height:1.12;color:#151419;font-weight:800}
.product-modal-weight{font-size:22px;line-height:1.35;font-weight:800;margin:0 0 34px;color:#19171c}
.product-modal-actions{display:grid;gap:18px;max-width:360px}
.product-modal-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:2px solid #7b469d;color:#7b469d;background:#fff;text-decoration:none;font-size:20px;font-weight:800;transition:.2s}
.product-modal-actions a:hover{background:#f5eff8}
.product-modal-actions a.store{background:#252123;color:#fff;border-color:#252123}
.product-modal-section{margin-top:34px}
.product-modal-section h3{font-size:21px;line-height:1.2;margin:0 0 9px;color:#171519;font-weight:800}
.product-modal-section p{font-size:16px;line-height:1.28;margin:0;color:#26232a}
.product-modal-data{display:grid;grid-template-columns:1fr 1fr;gap:30px 55px;margin-top:26px}
.product-modal-data .data-col h4{font-size:18px;margin:0 0 8px;font-weight:800;color:#161419}
.product-modal-data .data-col p{font-size:15px;line-height:1.22}
.product-modal-badges{margin-top:28px;display:flex;align-items:flex-start;justify-content:flex-start;gap:22px}
.product-modal-badges img{width:min(300px,100%);height:auto;display:block}
.product-modal-note{font-size:13px;color:#77737b;margin-top:20px}
@media(max-width:820px){
 .product-modal{padding:10px}.product-modal-box{padding:28px 22px 34px;border-radius:22px;max-height:94vh}.product-modal-top{grid-template-columns:1fr;gap:20px}.product-modal-media{min-height:300px}.product-modal-media img{height:300px}.product-modal-summary h2{font-size:26px}.product-modal-weight{font-size:20px;margin-bottom:24px}.product-modal-actions{max-width:none}.product-modal-actions a{font-size:18px}.product-modal-data{grid-template-columns:1fr;gap:24px}.product-modal-badges{justify-content:center}.product-modal-badges img{max-width:300px}
}
@media(max-width:520px){.product-modal-box{padding:22px 16px 28px}.product-modal-close{width:42px;height:42px;font-size:27px}.product-modal-media{min-height:250px}.product-modal-media img{height:250px}.product-modal-summary h2{font-size:23px}.product-modal-section p{font-size:14px}.product-modal-data .data-col p{font-size:14px}}

/* FINAL PRODUCT SECTION LAYOUT — reference mobile composition */
.product-section .category-grid,
#products .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
#products .category-link{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--purple,#6f3aa8);
  min-height:0;
  width:auto;
  padding:0;
  border-radius:0;
  font-weight:600;
  text-align:left;
  justify-self:start;
  cursor:pointer;
  transition:color .2s ease, transform .2s ease;
}
#products .category-link:hover{background:transparent;color:#51247e;transform:none;box-shadow:none;}
#products .category-link.is-active{background:transparent;color:var(--purple,#6f3aa8);box-shadow:none;font-weight:700;}

#products .product-rail{
  align-items:flex-start;
  gap:36px;
  overflow-x:hidden;
  padding:12px 8px 18px;
  scroll-snap-type:none;
}
#products .product-card{
  flex:0 0 430px;
  width:430px;
  min-height:0;
  height:auto;
  background:transparent;
  border-radius:0;
  overflow:visible;
}
#products .product-body{
  width:100%;
  height:430px;
  border-radius:28px;
  background:#f2f2f4;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
#products .product-media{
  height:285px;
  flex:0 0 285px;
  padding:10px 34px 0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:transparent;
}
#products .product-media img{
  display:block;
  width:auto;
  height:auto;
  max-width:78%;
  max-height:82%;
  object-fit:contain;
  filter:drop-shadow(0 18px 12px rgba(0,0,0,.14));
}
#products .product-info{
  flex:1;
  min-height:0;
  padding:0 28px 28px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
  background:transparent;
}
#products .product-info p{
  margin:0;
  max-width:360px;
  color:#66646a;
  font-size:22px;
  line-height:1.12;
  font-weight:600;
}
#products .product-name{padding:18px 8px 0;text-align:center;background:transparent;}
#products .product-name h3{margin:0;color:#4d4b50;font-size:26px;line-height:1.15;font-weight:700;}

@media (max-width:900px){
  #products .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 46px;max-width:330px;margin-left:auto;margin-right:auto;margin-bottom:58px;}
  #products .category-link{font-size:18px;justify-self:start;}
  #products .product-rail{gap:36px;padding:12px 0 18px;overflow-x:hidden;}
  #products .product-card{flex:0 0 300px;width:300px;}
  #products .product-body{height:390px;border-radius:22px;}
  #products .product-media{height:260px;flex-basis:260px;padding:8px 26px 0;}
  #products .product-media img{max-width:76%;max-height:80%;}
  #products .product-info{padding:0 20px 24px;}
  #products .product-info p{font-size:19px;line-height:1.12;max-width:280px;}
  #products .product-name{padding-top:14px;}
  #products .product-name h3{font-size:23px;}
}

@media (max-width:560px){
  #products .section-title{font-size:36px;margin-bottom:34px;}
  #products .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 38px;max-width:292px;margin-bottom:74px;}
  #products .category-link{font-size:17px;line-height:1.2;white-space:nowrap;}
  #products .product-rail{gap:36px;padding:0 0 12px;margin:0;overflow-x:hidden;}
  #products .product-card{flex:0 0 218px;width:218px;}
  #products .product-body{height:345px;border-radius:20px;}
  #products .product-media{height:225px;flex-basis:225px;padding:6px 18px 0;}
  #products .product-media img{max-width:74%;max-height:74%;}
  #products .product-info{padding:0 10px 18px;}
  #products .product-info p{font-size:17px;line-height:1.13;max-width:205px;}
  #products .product-name{padding-top:12px;}
  #products .product-name h3{font-size:20px;}
  #products .rail-controls{gap:42px;margin-top:28px;}
  #products .rail-btn{width:56px;height:56px;font-size:32px;}
}

/* ===== Final corrections: product packages, hero social icons, modal product data ===== */
.hero-socials{left:60px;bottom:48px;display:flex;align-items:center;gap:14px;}
/* Живые кнопки VK / MAX в hero */
@keyframes heroSocialFloat{
  0%,100%{transform:translateY(0) scale(1) rotate(0deg);box-shadow:0 10px 24px rgba(35,25,45,.16);}
  25%{transform:translateY(-4px) scale(1.035) rotate(-1deg);box-shadow:0 14px 29px rgba(35,25,45,.20);}
  50%{transform:translateY(-1px) scale(1.015) rotate(1deg);box-shadow:0 11px 26px rgba(35,25,45,.18);}
  75%{transform:translateY(-5px) scale(1.03) rotate(-.7deg);box-shadow:0 15px 31px rgba(35,25,45,.21);}
}
@keyframes heroSocialIcon{
  0%,100%{transform:scale(1) rotate(0deg);}
  35%{transform:scale(1.08) rotate(-4deg);}
  65%{transform:scale(1.04) rotate(4deg);}
}
.hero-social{
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  background:#fff;color:#8d55b8;
  box-shadow:0 10px 24px rgba(35,25,45,.16);
  transition:transform .2s ease,box-shadow .2s ease;
  overflow:hidden;
  animation:heroSocialFloat 3.2s ease-in-out infinite;
  will-change:transform,box-shadow;
}
.hero-social:nth-child(2){animation-delay:1.15s;}
.hero-social:hover{
  animation-play-state:paused;
  transform:translateY(-5px) scale(1.1) !important;
  box-shadow:0 16px 34px rgba(35,25,45,.25);
}
.hero-social svg{
  width:30px;height:30px;display:block;
  animation:heroSocialIcon 2.8s ease-in-out infinite;
}
.hero-social-max img{
  width:42px;height:42px;object-fit:contain;
  animation:heroSocialIcon 2.8s ease-in-out infinite .35s;
}
.hero-social:active{transform:scale(.94) !important;animation-play-state:paused;}
@media (prefers-reduced-motion:reduce){
  .hero-social,.hero-social svg,.hero-social-max img{animation:none!important;}
}
.product-body{height:430px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.product-media{flex:0 0 315px!important;height:315px!important;min-height:315px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:14px 22px 4px!important;overflow:hidden!important;}
.product-media img{width:auto!important;height:auto!important;max-width:92%!important;max-height:96%!important;object-fit:contain!important;flex:0 0 auto!important;}
.product-info{flex:1 1 auto!important;min-height:0!important;padding:6px 20px 18px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:var(--light)!important;}
.product-info p{margin:0!important;max-width:92%!important;font-size:18px!important;line-height:1.18!important;text-align:center!important;}
@media(max-width:900px){
 .hero-socials{left:28px;bottom:34px;gap:12px;}
 .hero-social{width:54px;height:54px;}
 .product-body{height:390px!important;}
 .product-media{flex-basis:275px!important;height:275px!important;min-height:275px!important;padding:12px 18px 4px!important;}
 .product-media img{max-width:90%!important;max-height:95%!important;}
 .product-info{padding:4px 16px 16px!important;}
 .product-info p{font-size:17px!important;line-height:1.16!important;}
}
@media(max-width:560px){
 .hero-socials{left:22px;bottom:26px;gap:10px;}
 .hero-social{width:50px;height:50px;}
 .hero-social svg{width:27px;height:27px;}
 .hero-social-max img{width:36px;height:36px;}
 .product-card{flex-basis:78vw!important;}
 .product-body{height:350px!important;border-radius:20px!important;}
 .product-media{flex-basis:245px!important;height:245px!important;min-height:245px!important;padding:10px 14px 3px!important;}
 .product-media img{max-width:88%!important;max-height:95%!important;}
 .product-info{padding:3px 10px 12px!important;}
 .product-info p{font-size:16px!important;line-height:1.14!important;max-width:94%!important;}
}
.product-modal-section + .product-modal-section{margin-top:26px;}
.product-modal-section h3{margin-bottom:10px;}

/* HERO FINAL: continuous text wrap around person + dog; social icons do not cover copy */
.hero-card{min-height:0!important;overflow:hidden!important;}
.hero-copy{width:100%!important;max-width:none!important;display:flow-root!important;overflow:visible!important;}
.hero-person{position:relative!important;float:right!important;right:auto!important;bottom:auto!important;width:min(52%,760px)!important;max-width:52%!important;height:auto!important;margin:6px -2% 8px 28px!important;z-index:1!important;shape-outside:polygon(18% 0,76% 0,94% 10%,100% 28%,96% 58%,100% 82%,90% 100%,12% 100%,0 82%,8% 58%,7% 32%)!important;clip-path:none!important;}
.hero h1,.hero-lead{position:relative!important;z-index:2!important;}
.hero-text,.hero-note{position:relative!important;z-index:2!important;max-width:none!important;}
.hero-actions.hero-socials{position:relative!important;left:auto!important;bottom:auto!important;right:auto!important;display:flex!important;width:max-content!important;margin:8px 0 18px auto!important;z-index:4!important;clear:none!important;}
@media(max-width:900px){
 .hero-card{padding:30px 22px 34px!important;}
 .hero-person{width:57%!important;max-width:57%!important;margin:8px -5% 6px 18px!important;shape-outside:polygon(20% 0,76% 0,94% 12%,100% 30%,98% 58%,100% 82%,88% 100%,10% 100%,0 78%,8% 50%,8% 26%)!important;}
 .hero-socials{gap:10px!important;}
 .hero-social{width:50px!important;height:50px!important;}
 .hero-social svg{width:27px!important;height:27px!important;}
 .hero-social-max img{width:36px!important;height:36px!important;}
}
@media(max-width:560px){
 .hero-card{padding:26px 18px 28px!important;}
 .hero-person{width:59%!important;max-width:59%!important;margin:10px -7% 4px 14px!important;shape-outside:polygon(22% 0,78% 0,95% 13%,100% 32%,98% 58%,100% 83%,88% 100%,9% 100%,0 79%,7% 51%,8% 27%)!important;}
 .hero-socials{margin:4px 0 16px auto!important;}
}

/* FINAL PATCH: hero silhouette wrap + seamless one-direction carousel */
.hero-copy{display:flow-root!important;}
.hero-person{
  width:min(62%,820px)!important;
  max-width:62%!important;
  margin:170px -2% 10px 34px!important;
  shape-outside:polygon(18% 0,48% 0,72% 4%,88% 14%,96% 28%,100% 46%,96% 63%,100% 78%,92% 90%,78% 100%,42% 100%,18% 94%,5% 82%,0 66%,6% 50%,8% 35%,12% 18%)!important;
  shape-margin:8px!important;
}
.hero-text,.hero-note{max-width:none!important;}
@media(max-width:900px){
 .hero-person{width:66%!important;max-width:66%!important;margin:150px -7% 8px 22px!important;shape-outside:polygon(18% 0,50% 0,74% 5%,90% 16%,98% 31%,100% 49%,96% 66%,100% 80%,91% 92%,76% 100%,42% 100%,18% 95%,5% 82%,0 66%,6% 50%,8% 33%,12% 17%)!important;shape-margin:7px!important;}
}
@media(max-width:560px){
 .hero-person{width:72%!important;max-width:72%!important;margin:135px -10% 8px 18px!important;shape-outside:polygon(17% 0,48% 0,73% 5%,89% 16%,98% 31%,100% 49%,96% 66%,100% 81%,90% 93%,75% 100%,40% 100%,17% 95%,4% 82%,0 65%,6% 49%,8% 32%,12% 16%)!important;shape-margin:6px!important;}
}
.product-rail{scroll-snap-type:none!important;}

/* ===== Final hero wrap + one-way carousel correction ===== */
.hero-person{
  width:min(64%,760px)!important;
  max-width:64%!important;
  margin:210px -1% 14px 30px!important;
  float:right!important;
}
.hero-socials{
  position:absolute!important;
  right:22px!important;
  left:auto!important;
  bottom:20px!important;
  display:flex!important;
  gap:8px!important;
  z-index:8!important;
}
.hero-social{
  width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  color:var(--purple)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.12)!important;
}
.hero-social svg{width:22px!important;height:22px!important}
.hero-social-max img{width:28px!important;height:28px!important;object-fit:contain!important}
@media(max-width:900px){
  .hero-card{padding-bottom:35px!important}
  .hero-person{width:78%!important;max-width:78%!important;margin:185px -2% 12px 24px!important}
  .hero-socials{right:18px!important;bottom:16px!important}
}
@media(max-width:560px){
  .hero-person{width:84%!important;max-width:84%!important;margin:175px -3% 10px 20px!important}
  .hero-social{width:42px!important;height:42px!important;min-height:42px!important}
  .hero-social svg{width:20px!important;height:20px!important}
  .hero-social-max img{width:25px!important;height:25px!important}
}


/* ===== Hero wrap: match the reference silhouette and natural word flow ===== */
.hero-card{overflow:hidden;}
.hero-copy{width:100%;max-width:none;display:block;overflow:visible;}
.hero-person{
  position:relative !important;
  float:right !important;
  right:auto !important;
  bottom:auto !important;
  width:68% !important;
  max-width:760px !important;
  height:auto !important;
  margin:112px -4% 8px 16px !important;
  z-index:1 !important;
  shape-outside:polygon(55% 4%,51% 10%,45% 15%,46% 21%,35% 27%,18% 32%,10% 38%,8% 44%,8% 49%,8% 55%,8% 60%,9% 66%,10% 72%,10% 77%,7% 83%,5% 89%,1% 94%,1% 100%,95% 100%,92% 94%,89% 89%,88% 83%,100% 77%,99% 72%,97% 66%,93% 60%,89% 55%,85% 49%,82% 44%,76% 38%,69% 32%,74% 27%,80% 21%,81% 15%,81% 10%,76% 4%);
  -webkit-shape-outside:polygon(55% 4%,51% 10%,45% 15%,46% 21%,35% 27%,18% 32%,10% 38%,8% 44%,8% 49%,8% 55%,8% 60%,9% 66%,10% 72%,10% 77%,7% 83%,5% 89%,1% 94%,1% 100%,95% 100%,92% 94%,89% 89%,88% 83%,100% 77%,99% 72%,97% 66%,93% 60%,89% 55%,85% 49%,82% 44%,76% 38%,69% 32%,74% 27%,80% 21%,81% 15%,81% 10%,76% 4%);
  shape-margin:3px;
  filter:drop-shadow(0 18px 12px rgba(0,0,0,.10));
}
.hero-copy h1,.hero-copy .hero-lead{position:relative;z-index:3;}
.hero-copy .hero-text,.hero-copy .hero-note{position:relative;z-index:2;max-width:none;}
.hero-text,.hero-note{overflow:visible;}
.hero-actions{position:relative !important;left:auto !important;bottom:auto !important;clear:both;display:flex;gap:10px;z-index:4;margin-top:4px;}
@media(max-width:900px){
  .hero-card{padding:30px 22px 30px;}
  .hero-person{width:72% !important;max-width:72% !important;margin:118px -7% 6px 10px !important;shape-margin:3px;}
}
@media(max-width:560px){
  .hero-card{padding:24px 18px 28px;}
  .hero-person{width:73% !important;max-width:73% !important;margin:110px -8% 4px 8px !important;}
}
@media(max-width:390px){
  .hero-person{width:75% !important;max-width:75% !important;margin-top:104px !important;margin-right:-9% !important;}
}


/* ===== HERO — reference composition ===== */
.hero-card{overflow:hidden!important;min-height:0!important;}
.hero-copy{width:100%!important;max-width:none!important;display:flow-root!important;position:relative!important;z-index:2!important;}
.hero h1,.hero-lead,.hero-text,.hero-note{position:relative!important;z-index:3!important;max-width:none!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;white-space:normal!important;}
.hero-text{margin-bottom:0!important;}
.hero-person{float:right!important;position:relative!important;right:auto!important;bottom:auto!important;z-index:1!important;display:block!important;width:76%!important;max-width:76%!important;height:auto!important;margin:0 -5% 0 18px!important;shape-outside:polygon(46% 0%,72% 0%,79% 10%,80% 20%,84% 30%,90% 40%,94% 50%,96% 62%,98% 74%,100% 88%,100% 100%,8% 100%,14% 92%,20% 82%,25% 72%,31% 62%,37% 52%,40% 42%,42% 30%,43% 18%)!important;-webkit-shape-outside:polygon(46% 0%,72% 0%,79% 10%,80% 20%,84% 30%,90% 40%,94% 50%,96% 62%,98% 74%,100% 88%,100% 100%,8% 100%,14% 92%,20% 82%,25% 72%,31% 62%,37% 52%,40% 42%,42% 30%,43% 18%)!important;shape-margin:2px!important;-webkit-shape-margin:2px!important;}
.hero-note{width:auto!important;margin:26px 0 0!important;font-size:clamp(18px,1.55vw,24px)!important;line-height:1.45!important;font-weight:600!important;}
.hero-actions.hero-socials{position:absolute!important;right:18px!important;left:auto!important;bottom:18px!important;z-index:8!important;display:flex!important;gap:8px!important;}
.hero-social{width:46px!important;height:46px!important;}
@media (min-width:901px){.hero-card{padding:74px 60px 80px!important}.hero-person{width:62%!important;max-width:62%!important;margin-right:-4%!important;margin-left:24px!important}}
@media (max-width:900px){.hero-card{padding:30px 26px 34px!important}.hero h1{font-size:clamp(29px,7.1vw,48px)!important;line-height:1.03!important}.hero-lead{font-size:clamp(16px,4.2vw,23px)!important;line-height:1.28!important}.hero-text,.hero-note{font-size:clamp(13px,3.45vw,17px)!important;line-height:1.38!important}.hero-person{width:76%!important;max-width:76%!important;margin-right:-7%!important;margin-left:14px!important}}
@media (max-width:560px){.hero-card{padding:26px 22px 30px!important}.hero-person{width:78%!important;max-width:78%!important;margin-right:-9%!important;margin-left:12px!important}.hero-note{margin-top:20px!important}.hero-socials{right:14px!important;bottom:14px!important}.hero-social{width:42px!important;height:42px!important}}
@media (max-width:390px){.hero-card{padding-left:18px!important;padding-right:18px!important}.hero-person{width:80%!important;max-width:80%!important;margin-right:-10%!important}}

@media (min-width:901px){.menu-btn{display:none!important;}}

/* ===== PRODUCTS REFERENCE PASS ===== */
.category-grid{max-width:760px;margin:0 auto 64px;gap:16px 28px;}
.category-link{position:relative;min-height:54px;}
.category-link:not(.is-active){background:#fff;}
.category-link.is-active{transform:translateY(-1px);}
.product-rail{scroll-snap-type:none;}
.product-card{overflow:visible;}
.product-body{overflow:visible;}
.product-media{overflow:visible;position:relative;z-index:2;}
.product-media img{
  height:112%!important;
  max-height:none!important;
  width:auto!important;
  max-width:108%!important;
  object-fit:contain!important;
  transform:translateY(-8%) scale(1.05);
  transform-origin:center bottom;
}
.product-info{position:relative;z-index:3;}
.product-name{position:relative;z-index:4;}
.rail-dots{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:16px;min-height:14px;}
.rail-dot{width:8px;height:8px;border-radius:50%;border:0;background:#d1d1d4;padding:0;cursor:pointer;transition:transform .2s ease,background .2s ease,opacity .2s ease;}
.rail-dot.is-active{background:var(--purple);transform:scale(1.45);}
@media(max-width:900px){
 .category-grid{margin-bottom:54px;gap:12px 18px;}
 .product-media{height:285px!important;flex-basis:285px!important;padding-top:4px!important;}
 .product-media img{height:116%!important;max-width:112%!important;transform:translateY(-9%) scale(1.04);}
 .rail-dots{margin-top:12px;}
}
@media(max-width:560px){
 .category-grid{gap:10px 14px;}
 .category-link{font-size:16px!important;min-height:48px!important;padding:10px 12px!important;}
 .product-media{height:245px!important;flex-basis:245px!important;}
 .product-media img{height:118%!important;max-width:116%!important;transform:translateY(-10%) scale(1.03);}
 .product-info{padding-top:0!important;}
 .product-info p{font-size:17px!important;line-height:1.13!important;}
}

/* ===== FINAL WORKING CAROUSEL ===== */
#products .product-rail{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  padding:12px 0 18px!important;
  margin:0!important;
}
#products .product-rail-wrap{
  position:relative!important;
  overflow:visible!important;
}
#products .carousel-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  gap:36px!important;
  width:max-content!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);
  transition:transform .78s cubic-bezier(.22,.61,.36,1)!important;
}
#products .carousel-track .product-card{
  flex:0 0 218px!important;
  width:218px!important;
  min-width:218px!important;
  scroll-snap-align:none!important;
}
@media (min-width:901px){
  #products .carousel-track{gap:36px!important;}
  #products .carousel-track .product-card{
    flex-basis:430px!important;
    width:430px!important;
    min-width:430px!important;
  }
}
@media (max-width:900px){
  #products .carousel-track{gap:36px!important;}
  #products .carousel-track .product-card{
    flex-basis:300px!important;
    width:300px!important;
    min-width:300px!important;
  }
}
@media (max-width:560px){
  #products .carousel-track{gap:36px!important;}
  #products .carousel-track .product-card{
    flex-basis:218px!important;
    width:218px!important;
    min-width:218px!important;
  }
}

.product-modal-badges{
  margin-top:28px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  width:100%!important;
}
.product-modal-badges img{
  display:block!important;
  width:300px!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:820px){
  .product-modal-badges{margin-top:24px!important}
  .product-modal-badges img{width:min(300px,100%)!important}
}


/* ===== Mobile reference layout: sections and typography ===== */
@media (max-width:900px){
  #products .section-title{
    font-size:36px !important;
    line-height:1.08 !important;
    font-weight:800 !important;
    color:#4b4b4f !important;
    margin-bottom:34px !important;
  }
  #products .category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:330px !important;
    margin:0 auto 68px !important;
    gap:12px 42px !important;
  }
  #products .category-link{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    min-height:0 !important;
    padding:0 !important;
    color:#63358b !important;
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:400 !important;
    text-align:left !important;
    transform:none !important;
  }
  #products .category-link:hover,
  #products .category-link.is-active{
    border:0 !important;
    background:transparent !important;
    color:#63358b !important;
    box-shadow:none !important;
    transform:none !important;
  }
  #products .category-link.is-active::after{
    content:'';
    display:block;
    width:34px;
    height:2px;
    margin-top:5px;
    background:#8b63aa;
    border-radius:2px;
  }
  #products .product-rail{
    gap:16px !important;
    padding:8px 0 16px !important;
    margin:0 !important;
  }
  #products .product-card{
    flex:0 0 clamp(165px,44vw,205px) !important;
    min-height:360px !important;
    border-radius:18px !important;
  }
  #products .product-media{
    height:225px !important;
    padding:8px 10px 0 !important;
  }
  #products .product-media img{
    max-width:92% !important;
    max-height:92% !important;
  }
  #products .product-info{
    padding:8px 12px 22px !important;
  }
  #products .product-tag{display:none !important;}
  #products .product-info h3{
    font-size:18px !important;
    line-height:1.15 !important;
    font-weight:700 !important;
    color:#5b5b5f !important;
    margin:0 !important;
  }
  #products .product-info p{font-size:13px !important;line-height:1.25 !important;}
  #products .rail-controls{
    gap:30px !important;
    margin-top:36px !important;
  }
  #products .rail-btn{
    width:56px !important;
    height:56px !important;
    font-size:32px !important;
    background:#d2d3d5 !important;
  }

  #important{
    padding-top:58px !important;
    padding-bottom:70px !important;
  }
  #important .section-title{
    font-size:36px !important;
    line-height:1.08 !important;
    font-weight:800 !important;
    color:#4b4b4f !important;
    margin-bottom:42px !important;
  }
  #important .important-intro{
    max-width:330px !important;
    margin:0 auto 86px !important;
    font-size:18px !important;
    line-height:1.38 !important;
    font-weight:700 !important;
    color:#26262a !important;
  }
  #important .features{
    max-width:330px !important;
    gap:104px !important;
  }
  #important .feature{
    text-align:center !important;
  }
  #important .feature img{
    width:62px !important;
    height:62px !important;
    margin:0 auto 28px !important;
  }
  #important .feature p{
    max-width:315px !important;
    margin:0 auto !important;
    font-size:17px !important;
    line-height:1.32 !important;
    font-weight:400 !important;
    color:#3e3e42 !important;
  }
}
@media (max-width:560px){
  #products .section-title,#important .section-title{font-size:34px !important;}
  #products .category-grid{max-width:292px !important;gap:12px 34px !important;margin-bottom:66px !important;}
  #products .category-link{font-size:17px !important;}
  #products .product-card{flex-basis:44vw !important;min-height:345px !important;}
  #products .product-media{height:210px !important;}
  #products .product-info h3{font-size:17px !important;}
  #important .important-intro{font-size:18px !important;max-width:315px !important;margin-bottom:82px !important;}
  #important .features{gap:100px !important;max-width:315px !important;}
  #important .feature img{width:58px !important;height:58px !important;margin-bottom:26px !important;}
  #important .feature p{font-size:16.5px !important;line-height:1.34 !important;}
}

/* === О нас: блок по мобильному эталону === */
.about-reference{
  padding:72px 18px 90px;
  background:#fff;
}
.about-reference-wrap{
  width:100%;
  max-width:1100px;
  margin:0 auto;
}
.about-reference-card{
  position:relative;
  width:min(100%, 1000px);
  margin:0 auto;
  min-height:760px;
  border-radius:28px;
  background:linear-gradient(155deg,#8174cf 0%,#a15abb 100%);
  color:#fff;
  overflow:visible;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:115px 120px 125px;
}
.about-reference-content{
  width:min(100%, 720px);
  margin:0 auto;
  text-align:center;
  position:relative;
  z-index:2;
}
.about-reference-content h2{
  margin:0 0 22px;
  color:#fff;
  font-size:clamp(34px,4vw,48px);
  line-height:1.08;
  font-weight:700;
  letter-spacing:-.02em;
}
.about-reference-content p{
  margin:0 auto 20px;
  max-width:720px;
  color:#fff;
  font-size:clamp(16px,1.65vw,20px);
  line-height:1.28;
  font-weight:400;
}
.about-reference-content .about-reference-strong{
  margin-top:28px;
  margin-bottom:0;
  font-weight:700;
}
.about-reference-photo{
  position:absolute;
  z-index:3;
  width:220px;
  height:220px;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  display:block;
  box-shadow:none;
}
.about-reference-dog{
  top:-110px;
  left:50%;
  transform:translateX(-50%);
}
.about-reference-cat{
  bottom:-110px;
  left:50%;
  transform:translateX(-50%);
}

/* Не наследуем старую карточную стилизацию about */
.about-reference .about-box,
.about-reference .about-copy,
.about-reference .about-visual{
  all:unset;
}

@media (max-width:900px){
  .about-reference{
    padding:68px 25px 92px;
  }
  .about-reference-card{
    width:100%;
    min-height:565px;
    border-radius:18px;
    padding:105px 28px 105px;
  }
  .about-reference-content{
    width:100%;
  }
  .about-reference-content h2{
    font-size:30px;
    margin-bottom:22px;
  }
  .about-reference-content p{
    font-size:15.5px;
    line-height:1.22;
    margin-bottom:19px;
  }
  .about-reference-content .about-reference-strong{
    margin-top:25px;
    font-size:15.5px;
  }
  .about-reference-photo{
    width:200px;
    height:200px;
  }
  .about-reference-dog{
    top:-100px;
  }
  .about-reference-cat{
    bottom:-100px;
  }
}

@media (max-width:520px){
  .about-reference{
    padding:72px 25px 90px;
  }
  .about-reference-card{
    min-height:565px;
    padding:105px 28px 104px;
  }
  .about-reference-content h2{
    font-size:29px;
  }
  .about-reference-content p,
  .about-reference-content .about-reference-strong{
    font-size:15px;
  }
  .about-reference-photo{
    width:200px;
    height:200px;
  }
}


/* Благодарственные письма и маркетплейсы */
.thanks-section,.marketplaces-section{padding:88px 24px;background:#fff}
.thanks-inner,.marketplaces-inner{width:min(100%,980px);margin:0 auto;text-align:center}
.section-kicker{margin-bottom:10px;color:#8b54b7;font-size:14px;line-height:1.2;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.thanks-inner h2,.marketplaces-inner h2{margin:0 auto 18px;color:#302d35;font-size:clamp(30px,4vw,48px);line-height:1.08;font-weight:700;letter-spacing:-.025em}
.thanks-lead,.marketplaces-lead{max-width:680px;margin:0 auto 28px;color:#55515a;font-size:clamp(16px,1.6vw,19px);line-height:1.45}
.diploma-link{border:0;background:none;padding:0;color:#8b54b7;font:inherit;font-size:clamp(16px,1.6vw,19px);font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.marketplaces-section{padding-top:20px}
.marketplaces-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}
.marketplace-btn{min-width:190px;padding:15px 24px;border-radius:14px;border:1px solid #d9cbe5;background:#fff;color:#413c45;text-decoration:none;font-size:17px;font-weight:700;box-shadow:0 8px 24px rgba(70,50,90,.08);transition:.2s}
.marketplace-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(70,50,90,.13);background:#faf7fc}
.diploma-modal{display:none;align-items:center;justify-content:center;padding:18px;z-index:10050}
.diploma-modal.is-open{display:flex}
.diploma-backdrop{position:absolute;inset:0;background:rgba(25,20,30,.78)}
.diploma-dialog{position:relative;z-index:2;width:min(1100px,96vw);max-height:94vh;padding:54px 52px 30px;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.3)}
.diploma-close{position:absolute;right:14px;top:10px;width:42px;height:42px;border:0;border-radius:50%;background:#f2eef5;color:#39333d;font-size:30px;cursor:pointer}
.diploma-stage{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:12px;min-height:70vh;padding:14px;border-radius:18px;background:#f7f5f8;box-sizing:border-box}
.diploma-frame{position:relative;height:68vh;min-height:420px;max-height:75vh;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;background:#f7f5f8;box-sizing:border-box}
#diplomaImage{display:none;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
#diplomaImage.is-visible{display:block}
.diploma-empty{max-width:520px;padding:40px;color:#68616d;text-align:center;font-size:17px;line-height:1.5}
.diploma-arrow{width:50px;height:50px;border:0;border-radius:50%;background:#eeeaf1;color:#4b4650;font-size:38px;cursor:pointer}
.diploma-caption{min-height:24px;margin-top:14px;color:#55515a;text-align:center;font-size:15px}
.diploma-dots{display:flex;justify-content:center;gap:7px;margin-top:10px}
.diploma-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#d3ccd8;cursor:pointer}
.diploma-dots button.active{background:#8b54b7}
@media(max-width:700px){
 .thanks-section,.marketplaces-section{padding:68px 20px}
 .marketplace-btn{width:100%;min-width:0}
 .diploma-dialog{width:100%;padding:52px 12px 22px;border-radius:18px}
 .diploma-stage{grid-template-columns:38px minmax(0,1fr) 38px;gap:5px}
 .diploma-stage{min-height:70vh;padding:8px;border-radius:14px}.diploma-frame{height:66vh;min-height:0;max-height:none}.diploma-arrow{width:36px;height:36px;font-size:29px}
}


/* === Блок благодарностей + маркетплейсов по эталону === */
.thanks-marketplace-reference{
  width:100%;
  padding:46px 20px 64px;
  background:#fff;
}
.thanks-marketplace-inner{
  width:min(100%,620px);
  margin:0 auto;
  text-align:center;
}
.thanks-marketplace-icon{
  display:block;
  width:112px;
  height:112px;
  margin:0 auto 28px;
  object-fit:contain;
}
.thanks-marketplace-copy{
  margin:0 auto;
  color:#4b4850;
  font-family:inherit;
  font-size:18px;
  line-height:1.28;
  font-weight:400;
  letter-spacing:0;
}
.thanks-marketplace-copy strong{
  font-weight:700;
  color:#36333a;
}
.thanks-marketplace-link{
  display:inline;
  margin:0;
  padding:0;
  border:0;
  background:none;
  color:#9a35c4;
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
  cursor:pointer;
}
.thanks-marketplace-buttons{
  width:min(100%,440px);
  margin:48px auto 0;
  display:flex;
  flex-direction:column;
  gap:44px;
}
.thanks-marketplace-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  padding:8px 18px;
  background:#9636bf;
  color:#fff;
  border:0;
  border-radius:0;
  text-decoration:none;
  font-family:inherit;
  font-size:17px;
  line-height:1.15;
  font-weight:700;
  transition:transform .2s ease,filter .2s ease;
}
.thanks-marketplace-btn:hover{
  transform:translateY(-1px);
  filter:brightness(.96);
}
@media(max-width:700px){
  .thanks-marketplace-reference{
    padding:54px 46px 60px;
  }
  .thanks-marketplace-icon{
    width:112px;
    height:112px;
    margin-bottom:27px;
  }
  .thanks-marketplace-copy{
    font-size:16px;
    line-height:1.28;
  }
  .thanks-marketplace-buttons{
    margin-top:48px;
    gap:44px;
  }
  .thanks-marketplace-btn{
    min-height:34px;
    font-size:16px;
  }
}
@media(min-width:701px){
  .thanks-marketplace-buttons{
    width:420px;
  }
}

@media(min-width:1200px){
  .awards-after-about .thanks-marketplace-inner{
    width:760px;
    max-width:760px;
    display:grid;
    grid-template-columns:130px minmax(0,1fr);
    column-gap:30px;
    align-items:start;
    text-align:left;
  }
  .awards-after-about .thanks-marketplace-icon{
    width:112px;
    height:112px;
    margin:0;
    justify-self:start;
  }
  .awards-after-about .thanks-marketplace-copy{
    margin:0;
    text-align:left;
    font-size:18px;
    line-height:1.28;
  }
  .awards-after-about .thanks-marketplace-buttons{
    grid-column:2;
    width:420px;
    margin:38px 0 0;
  }
}


/* Блок благодарностей расположен непосредственно после «О нас» */
.awards-after-about{
  padding-top:38px !important;
  padding-bottom:58px !important;
}
.awards-after-about .thanks-marketplace-icon{
  margin-bottom:22px;
}
.awards-after-about .thanks-marketplace-buttons{
  margin-top:38px;
}
@media(max-width:700px){
  .awards-after-about{
    padding-top:32px !important;
    padding-bottom:52px !important;
  }
  .awards-after-about .thanks-marketplace-icon{
    width:112px;
    height:112px;
    margin-bottom:22px;
  }
  .awards-after-about .thanks-marketplace-buttons{
    margin-top:38px;
  }
}

<style>
.shops-section{padding:64px 18px 78px;background:#fff}.shops-inner{width:min(100%,1160px);margin:0 auto}.shops-inner h2{margin:0 0 18px;text-align:center;color:#302d35;font-size:clamp(30px,4vw,46px);line-height:1.08;font-weight:700}.shops-city-tabs{display:flex;justify-content:center;gap:42px;margin:0 auto 28px}.shops-city-tab{border:0;background:none;padding:0;color:#9a35c4;font:inherit;font-size:20px;line-height:1.25;font-weight:700;cursor:pointer}.shops-city-tab:not(.active){font-weight:400}.shops-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:24px;align-items:start}.shops-map-wrap{border-radius:4px;overflow:hidden;background:#f2f2f2;box-shadow:0 10px 28px rgba(40,35,45,.08)}.shops-map{width:100%;height:520px;position:relative}.shops-map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px;text-align:center;color:#55515a;background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),repeating-linear-gradient(0deg,#ddd 0,#ddd 1px,transparent 1px,transparent 52px),repeating-linear-gradient(90deg,#ddd 0,#ddd 1px,transparent 1px,transparent 52px)}.shops-map-fallback strong{font-size:24px}.shops-map-fallback span{max-width:440px;font-size:15px;line-height:1.45}.shops-list-wrap{border:1px solid #eee9f0;border-radius:18px;background:#fff;padding:18px;max-height:520px;overflow:auto}.shops-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.shops-list-head strong{font-size:19px}#shopsSort{border:1px solid #ddd7e0;border-radius:9px;background:#fff;padding:8px 10px;color:#4b4650;font:inherit}.shops-list{display:grid;gap:8px}.shop-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px 10px;border-radius:12px;cursor:pointer;transition:background .2s ease}.shop-item:hover,.shop-item.is-active{background:#f7f1fa}.shop-marker{width:30px;height:30px;border-radius:50%;background:#9636bf;display:grid;place-items:center;overflow:hidden;box-shadow:0 4px 10px rgba(80,30,100,.18)}.shop-marker img{width:24px;height:24px;object-fit:contain;filter:brightness(0) invert(1)}.shop-name{font-size:16px;line-height:1.25;font-weight:700;color:#3d3941}.shop-address{display:inline;margin-top:0;margin-left:9px;color:#66616a;font-size:14px;line-height:1.3}.shop-hours{display:block;margin-top:4px;margin-left:9px;color:#8a4aa0;font-size:13px;line-height:1.3;font-weight:600}.shop-status{display:block;margin-top:5px;color:#b33b55;font-size:12px;line-height:1.25;font-weight:600}.shops-bubble{font-family:inherit;min-width:220px}.shops-bubble strong{display:block;font-size:16px;margin-bottom:4px}.shops-bubble span{display:block;color:#5d5760;font-size:14px;line-height:1.35}.shops-bubble a{display:inline-block;margin-top:8px;color:#9636bf;font-weight:700;text-decoration:none}.shops-bubble a:hover{text-decoration:underline}
@media(max-width:900px){.shops-section{padding:54px 18px 65px}.shops-layout{grid-template-columns:1fr}.shops-map{height:420px}.shops-list-wrap{max-height:none}}@media(max-width:520px){.shops-city-tabs{gap:34px;margin-bottom:22px}.shops-city-tab{font-size:18px}.shops-map{height:360px}}

/* FINAL DESKTOP 1920x1080 — exact headline line breaks and layer order */
@media (min-width: 1600px){
  .hero{
    padding:177px 0 110px !important;
  }
  .hero-card{
    width:min(1630px, calc(100% - 290px)) !important;
    max-width:1630px !important;
    height:640px !important;
    min-height:640px !important;
    margin:0 auto !important;
    padding:84px 60px 54px !important;
    overflow:visible !important;
    position:relative !important;
  }
  .hero-copy{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    float:none !important;
    z-index:1 !important;
  }
  .hero h1{
    position:relative !important;
    z-index:2 !important;
    width:570px !important;
    max-width:570px !important;
    margin:0 0 24px !important;
    font-size:56px !important;
    line-height:1.03 !important;
    letter-spacing:0 !important;
    font-weight:800 !important;
  }
  .hero-lead{
    position:relative !important;
    z-index:2 !important;
    width:300px !important;
    max-width:300px !important;
    margin:0 !important;
    font-size:31px !important;
    line-height:1.27 !important;
    font-weight:700 !important;
  }
  .hero-right-text{
    position:absolute !important;
    right:0 !important;
    top:17px !important;
    width:470px !important;
    z-index:2 !important;
  }
  .hero-right-text .hero-text{
    position:static !important;
    width:auto !important;
    max-width:none !important;
    margin:0 0 28px !important;
    font-size:28px !important;
    line-height:1.36 !important;
    font-weight:600 !important;
  }
  .hero-right-text .hero-text-second{
    margin-bottom:0 !important;
  }
  .hero-person{
    position:absolute !important;
    z-index:5 !important;
    opacity:1 !important;
    width:620px !important;
    max-width:620px !important;
    height:auto !important;
    left:45% !important;
    right:auto !important;
    bottom:0 !important;
    top:auto !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
    float:none !important;
    pointer-events:none !important;
    shape-outside:none !important;
  }
}



/* FINAL: only one horizontal carousel, no vertical product list */
#products .product-rail{
  position:relative!important;
  display:block!important;
  width:100%!important;
  overflow:hidden!important;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
  box-sizing:border-box!important;
  padding:12px 0 18px!important;
  margin:0!important;
  height:auto!important;
}
#products .product-rail > .carousel-track{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  gap:36px!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  transform:translate3d(0,0,0);
  will-change:transform;
}
#products .product-rail > .carousel-track > .product-card{
  display:flex!important;
  flex:0 0 430px!important;
  width:430px!important;
  min-width:430px!important;
  max-width:430px!important;
  margin:0!important;
  float:none!important;
  position:relative!important;
}
@media(max-width:900px){
  #products .product-rail{overflow:hidden!important;overflow-x:hidden!important;overflow-y:hidden!important;}
  #products .product-rail > .carousel-track{gap:36px!important;}
  #products .product-rail > .carousel-track > .product-card{
    flex:0 0 300px!important;
    width:300px!important;
    min-width:300px!important;
    max-width:300px!important;
  }
}
@media(max-width:560px){
  #products .product-rail > .carousel-track{gap:36px!important;}
  #products .product-rail > .carousel-track > .product-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    max-width:78vw!important;
  }
}
/* Prevent any hidden/non-track card list from appearing */
#products .product-rail > .product-card{display:none!important;}
#products .product-rail > .carousel-track > .product-card{display:flex!important;}



@media (min-width:1200px){
  .hero{padding:177px 0 110px !important;}
  .hero-card{width:min(1630px,calc(100% - 290px)) !important;max-width:1630px !important;height:640px !important;min-height:640px !important;padding:84px 60px 54px !important;overflow:visible !important;}
  .hero-copy{position:relative !important;width:100% !important;height:100% !important;max-width:none !important;z-index:1 !important;}
  .hero h1{position:relative !important;z-index:2 !important;width:570px !important;max-width:570px !important;margin:0 0 28px !important;font-size:60px !important;line-height:1.03 !important;letter-spacing:0 !important;font-weight:800 !important;}
  .hero-lead{position:relative !important;z-index:2 !important;width:330px !important;max-width:330px !important;margin:0 !important;font-size:31px !important;line-height:1.28 !important;font-weight:700 !important;}
  .hero-text{position:absolute !important;z-index:2 !important;top:17px !important;right:0 !important;width:470px !important;max-width:470px !important;margin:0 !important;font-size:28px !important;line-height:1.36 !important;font-weight:600 !important;}
  .hero-note{position:absolute !important;z-index:2 !important;top:310px !important;right:0 !important;width:470px !important;max-width:470px !important;margin:0 !important;font-size:28px !important;line-height:1.36 !important;font-weight:600 !important;}
  .hero-person{position:absolute !important;z-index:5 !important;opacity:1 !important;width:620px !important;max-width:none !important;height:auto !important;left:50% !important;right:auto !important;bottom:0 !important;transform:translateX(-50%) !important;margin:0 !important;pointer-events:none !important;}
}



@media (min-width: 901px){
  .hero-card{
    min-height:440px!important;
    height:440px!important;
    padding:0!important;
    overflow:hidden!important;
    position:relative!important;
  }
  .hero-copy{
    position:static!important;
    width:100%!important;
    max-width:none!important;
    display:block!important;
    overflow:visible!important;
  }
  .hero h1{
    position:absolute!important;
    left:44px!important;
    top:54px!important;
    width:500px!important;
    margin:0!important;
    font-size:42px!important;
    line-height:1.15!important;
    letter-spacing:0!important;
    z-index:2!important;
  }
  .hero-lead{
    position:absolute!important;
    left:44px!important;
    top:225px!important;
    width:250px!important;
    margin:0!important;
    font-size:25px!important;
    line-height:1.28!important;
    font-weight:700!important;
    z-index:2!important;
  }
  .hero-right-text{
    position:absolute!important;
    right:44px!important;
    top:55px!important;
    width:390px!important;
    z-index:2!important;
  }
  .hero-right-text .hero-text{
    position:static!important;
    width:auto!important;
    max-width:none!important;
    margin:0 0 28px!important;
    font-size:21px!important;
    line-height:1.36!important;
    font-weight:600!important;
  }
  .hero-right-text .hero-text-second{margin-bottom:0!important;}
  .hero-person{
    position:absolute!important;
    float:none!important;
    right:31%!important;
    bottom:-1px!important;
    width:430px!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    z-index:3!important;
    shape-outside:none!important;
  }
}



/* FINAL: desktop hero locked to supplied 1322x769 reference proportions */
@media (min-width:1200px){
  .header{
    height:9.60vw !important;
    padding:2.04vw 0 0 !important;
    background:#fff !important;
  }
  .head{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    height:7vw !important;
    margin:0 !important;
  }
  .logo{
    position:absolute !important;
    left:10.97vw !important;
    top:0 !important;
    width:14.22vw !important;
    max-width:none !important;
    height:auto !important;
  }
  .menu-btn{display:none !important;}
  .menu-panel{
    position:absolute !important;
    inset:auto !important;
    top:4.88vw !important;
    right:7.56vw !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
    background:transparent !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:20 !important;
    pointer-events:none !important;
    transition:none !important;
  }
  .menu-sheet{
    width:auto !important;height:auto !important;min-height:0 !important;
    padding:0 !important;margin:0 !important;background:transparent !important;
    box-shadow:none !important;overflow:visible !important;transform:none !important;
    pointer-events:none !important;
  }
  .menu-close,.menu-actions{display:none !important;}
  .menu-nav{
    clear:none !important;padding:0 !important;margin:0 !important;
    display:flex !important;align-items:center !important;justify-content:flex-end !important;
    gap:2.42vw !important;pointer-events:auto !important;
  }
  .menu-nav a{
    display:block !important;padding:0 !important;margin:0 !important;
    border-radius:0 !important;background:transparent !important;color:#454348 !important;
    font-size:1.06vw !important;line-height:1.2 !important;font-weight:700 !important;
    white-space:nowrap !important;text-decoration:none !important;
  }
  .menu-nav a:hover{background:transparent !important;color:var(--purple) !important;text-decoration:none !important;}
  .menu-nav a:nth-child(1){order:1}.menu-nav a:nth-child(3){order:2}.menu-nav a:nth-child(4){order:3}.menu-nav a:nth-child(2){order:4}.menu-nav a:nth-child(5){order:5}

  .hero{
    width:100% !important;max-width:none !important;margin:0 !important;
    padding:5.98vw 0 0 !important;
  }
  .hero-card{
    position:relative !important;
    width:84.95vw !important;max-width:none !important;
    height:33.28vw !important;min-height:33.28vw !important;
    margin:0 auto !important;
    padding:4.54vw 0 0 3.33vw !important;
    border-radius:1.36vw !important;
    overflow:hidden !important;
    background:linear-gradient(125deg,#8667c7 0%,#9a61b9 43%,#84a7d5 100%) !important;
  }
  .hero-copy{
    position:relative !important;width:100% !important;height:100% !important;
    max-width:none !important;margin:0 !important;z-index:6 !important;
    overflow:visible !important;
  }
  .hero h1{
    position:relative !important;z-index:7 !important;
    width:650px !important;max-width:none !important;
    margin:0 0 2.27vw !important;padding:0 !important;
    font-size:3.10vw !important;line-height:1.03 !important;
    letter-spacing:0 !important;font-weight:800 !important;
    text-transform:uppercase !important;white-space:normal !important;
  }
  .hero h1 span,.hero-lead span,.hero-right-text .hero-text span{
    display:block !important;white-space:nowrap !important;
  }
  .hero-lead{
    position:relative !important;z-index:7 !important;
    width:300px !important;max-width:none !important;
    margin:0 !important;padding:0 !important;
    font-size:1.82vw !important;line-height:1.34 !important;
    font-weight:700 !important;white-space:normal !important;
  }
  .hero-right-text{
    position:absolute !important;left:64.8% !important;right:auto !important;
    top:0 !important;width:32.0% !important;max-width:none !important;z-index:6 !important;
  }
  .hero-right-text .hero-text{
    position:static !important;width:auto !important;max-width:none !important;
    margin:0 !important;padding:0 !important;
    font-size:1.60vw !important;line-height:1.30 !important;
    font-weight:600 !important;
  }
  .hero-right-text .hero-text-second{margin-top:2.25vw !important;}
  .hero-person{
    position:absolute !important;z-index:8 !important;
    width:32.75vw !important;max-width:none !important;height:auto !important;
    left:22.16vw !important;right:auto !important;bottom:0 !important;top:auto !important;
    transform:none !important;margin:0 !important;opacity:1 !important;
    shape-outside:none !important;
  }
  .hero-note{display:none !important;}
  .hero-actions.hero-socials{display:none !important;}
}



@media (min-width:901px){
  .hero h1{
    font-family:"Archive", "Arial Narrow", Arial, sans-serif !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
  }
}


@font-face{font-family:"ArchiveLocal";src:url("../assets/fonts/Archive.otf") format("opentype");font-weight:800;font-style:normal;font-display:swap;}
@media (min-width:1200px){.hero h1.archive-local{font-family:"ArchiveLocal",Arial,Helvetica,sans-serif!important;
    font-weight:400!important;}}


@media (min-width:1200px){
  /* The person+dog image remains exactly as in v2 (28.15vw). */

  .hero h1.archive-local{
    transform:translateY(-4.7vh)!important;
  }

  .hero-lead,
  .hero-right-text .hero-text{
    font-family:"Montserrat","Montserrat SemiBold",Arial,Helvetica,sans-serif!important;
    font-weight:600!important;
  }
}



@font-face {
  font-family:"MontserratLocal";
  src:url("../assets/fonts/Montserrat-SemiBold.ttf") format("truetype");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@media (min-width:1200px){
  .hero-lead,
  .hero-right-text .hero-text{
    font-family:"MontserratLocal",Arial,Helvetica,sans-serif!important;
    font-weight:600!important;
  }
}



@media (min-width:1200px){
  /* Человека/собаку не меняем вообще. */
  .hero-person-layer{
    width:28.15vw!important;
    left:18.72vw!important;
    bottom:0!important;
    transform:none!important;
  }

  /* Текстовые блоки фиксируем по геометрии оригинального макета. */
  .hero h1.archive-local{
    position:relative!important;
    transform:none!important;
    margin:0 0 4.1vh!important;
    padding:0!important;
    width:650px!important;
    max-width:650px!important;
    font-size:3.05vw!important;
    line-height:1.03!important;
    letter-spacing:0!important;
  }

  .hero-lead{
    margin:0!important;
    padding:0!important;
    width:300px!important;
    max-width:300px!important;
    font-family:"MontserratLocal",Arial,Helvetica,sans-serif!important;
    font-size:1.82vw!important;
    line-height:1.34!important;
    font-weight:600!important;
  }

  .hero-right-text{
    left:51.80vw!important;
    top:0!important;
    width:29.73vw!important;
    max-width:none!important;
  }

  .hero-right-text .hero-text{
    margin:0!important;
    padding:0!important;
    font-family:"MontserratLocal",Arial,Helvetica,sans-serif!important;
    font-size:1.82vw!important;
    line-height:1.24!important;
    font-weight:600!important;
  }

  .hero-right-text .hero-text-second{
    margin-top:3.6vh!important;
  }
}



@media (min-width:1200px){
  .hero h1.archive-local{
    transform:translate(-1.8vw,-2.2vh)!important;
  }
}



@media (min-width:1200px){
  /* Человека и собаку НЕ меняем. */
  .hero-person-layer{
    width:28.15vw!important;
    left:18.72vw!important;
    bottom:0!important;
    top:auto!important;
    transform:none!important;
  }

  /* Левый верхний заголовок: выше и немного левее. */
  .hero h1.archive-local{
    transform:translate(-1.8vw,-6.0vh)!important;
  }

  /* Правый верхний текст: верхняя линия на уровне верхней линии заголовка,
     и немного левее — с небольшим расстоянием до руки человека. */
  .hero-right-text{
    left:47.6vw!important;
    top:-4.0vh!important;
    width:29.73vw!important;
  }

  /* Нижний левый текст: поднять непосредственно под заголовком. */
  .hero-lead{
    transform:translateY(-8.5vh)!important;
  }
}



@media (min-width:1200px){
  .hero h1.archive-local{
    transform:translate(-5.0vw,-5.0vh)!important;
  }

  .hero-lead{
    transform:translate(-3.0vw,-5.0vh)!important;
  }

  .hero-right-text{
    left:48.2vw!important;
  }
}



@media (min-width:1200px){
  .hero-lead{
    transform:translate(-3.0vw,-10.5vh)!important;
  }
}



@media (min-width:1200px){
  .hero-lead{
    margin-top:0!important;
    line-height:1!important;
    transform:translate(-3.0vw,-13.0vh)!important;
  }
}



@media (min-width:1200px){
  .hero h1.archive-local{
    margin-bottom:0!important;
  }
  .hero-lead{
    margin-top:0!important;
    padding-top:0!important;
    line-height:1!important;
    transform:translate(-3.0vw,-13.0vh)!important;
  }
}



@media (min-width:1200px){
  /* Верхний заголовок и нижний текст образуют единый блок:
     нижний текст начинается сразу после последней строки заголовка. */
  .hero h1.archive-local{
    margin-bottom:0!important;
  }

  .hero-lead{
    margin-top:0!important;
    padding-top:0!important;
    line-height:1!important;
    transform:translate(-3.0vw,-5.0vh)!important;
  }
}



@media (min-width:1200px){
  .hero-left-stack{
    position:relative!important;
    width:650px!important;
    max-width:650px!important;
    transform:translate(-5.0vw,-5.0vh)!important;
  }
  .hero-left-stack .hero h1{}
  .hero-left-stack h1.archive-local{
    position:relative!important;
    width:650px!important;
    max-width:650px!important;
    margin:0!important;
    transform:none!important;
  }
  .hero-left-stack .hero-lead{
    position:relative!important;
    width:300px!important;
    max-width:300px!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
    transform:none!important;
  }
}



@media (min-width:1200px){
  /* Заголовок «Продукция» — компактнее на десктопе 1920px */
  #products .section-title{
    font-size:52px!important;
    line-height:1.05!important;
    margin-bottom:42px!important;
  }

  /* Три полноценные карточки в одном ряду без обрезки по краям */
  /* 1920px desktop: a three-card viewport. The JS carousel must control
     track.transform, so there is intentionally NO CSS transform here. */
  #products .section-title{
    font-size:44px!important;
    line-height:1.05!important;
    margin-bottom:34px!important;
  }

  #products .product-rail-wrap{
    position:relative!important;
    width:1352px!important;
    max-width:calc(100vw - 220px)!important;
    margin:0 auto!important;
    overflow:visible!important;
  }

  #products .product-rail{
    width:100%!important;
    max-width:none!important;
    overflow:hidden!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    padding:12px 0 18px!important;
    margin:0!important;
    scroll-snap-type:none!important;
  }

  #products .carousel-track{
    width:max-content!important;
    max-width:none!important;
    justify-content:flex-start!important;
    gap:36px!important;
    /* transform is set by the carousel JavaScript */
  }

  #products .carousel-track .product-card{
    flex:0 0 430px!important;
    width:430px!important;
    min-width:430px!important;
  }

  #products .product-media{
    height:255px!important;
    flex-basis:255px!important;
  }

  /* Стрелки: строго по внешним сторонам трёх карточек. */
  #products .rail-controls{
    position:absolute!important;
    left:-88px!important;
    right:-88px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:0!important;
    pointer-events:none!important;
    z-index:20!important;
  }

  #products .rail-btn{
    width:58px!important;
    height:58px!important;
    flex:0 0 58px!important;
    pointer-events:auto!important;
    font-size:32px!important;
  }

  #products .rail-dots{
    margin-top:12px!important;
  }
}



/* Финальная настройка мобильного меню */
@media (max-width: 700px){
  .menu-sheet{
    padding-top:22px !important;
  }
  .menu-nav{
    padding-top:24px !important;
    gap:4px !important;
  }
  .menu-nav a{
    padding:13px 12px !important;
  }
  .menu-actions{
    margin-top:16px !important;
    padding-top:18px !important;
    gap:10px !important;
  }
  .menu-actions .contact-btn{
    width:calc(100% - 18px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    min-height:50px !important;
    font-size:15px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
  .menu-actions .contact-phone:first-child .phone-number{
    margin-left:8px !important;
  }
}
@media (max-width:390px){
  .menu-actions .contact-btn{
    width:calc(100% - 24px) !important;
    font-size:14.5px !important;
  }
  .menu-actions .contact-phone:first-child .phone-number{
    margin-left:7px !important;
  }
}



/* ===== DESKTOP 1920x1080 — final hero alignment ===== */
@media (min-width:1200px){
  .hero-card{
    min-height:560px !important;
    height:560px !important;
    overflow:visible !important;
    padding:64px 60px 58px !important;
  }
  .hero h1{
    width:320px !important;
    max-width:320px !important;
    font-size:56px !important;
    line-height:1.03 !important;
    margin-bottom:24px !important;
  }
  .hero-lead{
    width:285px !important;
    max-width:285px !important;
    font-size:31px !important;
    line-height:1.27 !important;
  }
  .hero-text{
    top:17px !important;
    right:0 !important;
    width:380px !important;
    max-width:380px !important;
    font-size:24px !important;
    line-height:1.34 !important;
    font-weight:600 !important;
  }
  .hero-note{
    top:310px !important;
    right:0 !important;
    width:380px !important;
    max-width:380px !important;
    font-size:24px !important;
    line-height:1.34 !important;
    font-weight:600 !important;
  }
  .hero-person{
    width:660px !important;
    max-width:660px !important;
    left:49% !important;
    right:auto !important;
    bottom:0 !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
  }
}



/* Desktop: сохраняем ВСЕ текущие позиции и переносы текста.
   Меняем только порядок слоев: человек с собакой находится поверх заголовка. */
@media (min-width:1200px){
  .hero-card{
    overflow:visible !important;
  }
  .hero-copy{
    position:relative !important;
    z-index:2 !important;
  }
  .hero h1{
    position:relative !important;
    z-index:6 !important;
  }
  .hero-lead{
    position:relative !important;
    z-index:1 !important;
  }
  .hero-text,
  .hero-note{
    position:relative !important;
    z-index:1 !important;
  }
  .hero-person{
    position:absolute !important;
    z-index:5 !important;
    left:45% !important;
    right:auto !important;
    bottom:0 !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
  }
}



/* ===== Desktop hero: geometry locked to the supplied reference ===== */
@media (min-width:1200px){
  .header{
    height:13vh !important;
    padding:3.38vh 0 0 !important;
    background:#fff !important;
  }
  .head{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    height:9.6vh !important;
    margin:0 !important;
  }
  .logo{
    position:absolute !important;
    left:10.97vw !important;
    top:0 !important;
    width:14.22vw !important;
    max-width:none !important;
    height:auto !important;
  }
  .menu-panel{
    position:absolute !important;
    inset:auto !important;
    top:8.45vh !important;
    right:7.56vw !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
    background:transparent !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:20 !important;
    pointer-events:none !important;
    transition:none !important;
  }
  .menu-sheet{
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
    transform:none !important;
    pointer-events:none !important;
  }
  .menu-close,.menu-actions{display:none !important;}
  .menu-nav{
    clear:none !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:2.42vw !important;
    pointer-events:auto !important;
  }
  .menu-nav a{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#454348 !important;
    font-size:1.06vw !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
    text-decoration:none !important;
  }
  .menu-nav a:hover{
    background:transparent !important;
    color:var(--purple) !important;
    text-decoration:none !important;
  }
  .menu-nav a:nth-child(1){order:1}.menu-nav a:nth-child(3){order:2}.menu-nav a:nth-child(4){order:3}.menu-nav a:nth-child(2){order:4}.menu-nav a:nth-child(5){order:5}

  .hero{
    width:100% !important;
    margin:0 !important;
    max-width:none !important;
    padding:16.14vh 0 14.3vh !important;
  }
  .hero-card{
    position:relative !important;
    width:84.95vw !important;
    max-width:none !important;
    height:57.22vh !important;
    min-height:57.22vh !important;
    margin:0 auto !important;
    padding:7.67vh 0 0 3.33vw !important;
    border-radius:1.36vw !important;
    overflow:visible !important;
    background:linear-gradient(125deg,#8667c7 0%,#9a61b9 43%,#84a7d5 100%) !important;
  }
  .hero-copy{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    float:none !important;
    z-index:6 !important;
    overflow:visible !important;
  }
  .hero h1{
    position:relative !important;
    z-index:1 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 0 4.5vh !important;
    padding:0 !important;
    font-size:3.05vw !important;
    line-height:1.03 !important;
    letter-spacing:0 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    white-space:normal !important;
  }
  .hero h1 span,
  .hero-lead span,
  .hero-right-text .hero-text span{
    display:block !important;
    white-space:nowrap !important;
  }
  .hero-lead{
    position:relative !important;
    z-index:1 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-size:1.82vw !important;
    line-height:1.34 !important;
    font-weight:700 !important;
    white-space:normal !important;
  }
  .hero-right-text{
    position:absolute !important;
    left:51.80vw !important;
    right:auto !important;
    top:-0.65vh !important;
    width:29.73vw !important;
    max-width:none !important;
    z-index:1 !important;
  }
  .hero-right-text .hero-text{
    position:static !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-size:1.82vw !important;
    line-height:1.24 !important;
    font-weight:600 !important;
  }
  .hero-right-text .hero-text-second{
    margin-top:0.7vh !important;
  }
  .hero-person{
    position:absolute !important;
    z-index:5 !important;
    width:32.60vw !important;
    max-width:none !important;
    height:auto !important;
    left:18.72vw !important;
    right:auto !important;
    bottom:0 !important;
    top:auto !important;
    transform:none !important;
    margin:0 !important;
    opacity:1 !important;
    shape-outside:none !important;
  }
  .hero-note{display:none !important;}
  .hero-actions.hero-socials{display:none !important;}
}



@media (min-width:1200px){
  #products .section-title{
    font-size:40px!important;
    line-height:1.05!important;
  }

  /* Controls sit on the outside edges of the 3-card area.
     The carousel JS is untouched. */
  #products .product-rail-wrap{
    position:relative!important;
    overflow:visible!important;
  }

  #products .rail-controls{
    position:absolute!important;
    left:-150px!important;
    right:-150px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:0!important;
    pointer-events:none!important;
    z-index:50!important;
  }

  #products .rail-btn{
    width:56px!important;
    height:56px!important;
    flex:0 0 56px!important;
    margin:0!important;
    pointer-events:auto!important;
  }

  /* Three cards remain fully visible inside the viewport. */
  #products .product-rail{
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }
}



@media (min-width:1200px){
  /* Фильтры: все четыре кнопки в одну горизонтальную линию */
  #products .product-filters{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:18px!important;
    width:max-content!important;
    margin:0 auto 34px!important;
  }

  #products .product-filters button{
    margin:0!important;
    white-space:nowrap!important;
  }

  /* Стрелки: по бокам от всего ряда из трёх карточек */
  #products .product-rail-wrap{
    position:relative!important;
    overflow:visible!important;
  }

  #products .rail-controls{
    position:absolute!important;
    left:-205px!important;
    right:-205px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:auto!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    padding:0!important;
    margin:0!important;
    pointer-events:none!important;
    z-index:100!important;
  }

  #products .rail-btn{
    width:58px!important;
    height:58px!important;
    flex:0 0 58px!important;
    margin:0!important;
    pointer-events:auto!important;
  }
}



@media (min-width:1400px){
  .hero-card{
    width:min(1620px, calc(100% - 200px)) !important;
    max-width:1620px !important;
    min-height:640px !important;
    height:640px !important;
    padding:60px 60px 54px !important;
    overflow:visible !important;
  }
  .hero-copy{
    position:relative !important;
    float:none !important;
    width:100% !important;
    height:100% !important;
    display:block !important;
    overflow:visible !important;
    z-index:1 !important;
  }
  .hero h1{
    position:relative !important;
    z-index:1 !important;
    width:570px !important;
    max-width:570px !important;
    margin:0 0 24px !important;
    font-size:56px !important;
    line-height:1.03 !important;
    letter-spacing:0 !important;
  }
  .hero-lead{
    position:relative !important;
    z-index:1 !important;
    width:300px !important;
    max-width:300px !important;
    font-size:31px !important;
    line-height:1.27 !important;
    margin:0 !important;
  }
  .hero-text{
    position:absolute !important;
    z-index:1 !important;
    top:17px !important;
    right:0 !important;
    width:470px !important;
    max-width:470px !important;
    font-size:28px !important;
    line-height:1.36 !important;
    margin:0 !important;
  }
  .hero-note{
    position:absolute !important;
    z-index:1 !important;
    top:310px !important;
    right:0 !important;
    width:470px !important;
    max-width:470px !important;
    font-size:28px !important;
    line-height:1.36 !important;
    margin:0 !important;
  }
  .hero-person{
    position:absolute !important;
    float:none !important;
    z-index:5 !important;
    width:620px !important;
    max-width:620px !important;
    height:auto !important;
    left:45% !important;
    right:auto !important;
    bottom:0 !important;
    top:auto !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
    shape-outside:none !important;
  }
  .hero-actions.hero-socials{display:none !important;}
}



/* ===== 1920x1080 DESKTOP — exact composition from supplied reference ===== */
@media (min-width:1400px){
  .header{
    padding:38px 0 0 !important;
  }
  .head{
    width:calc(100% - 290px) !important;
    max-width:1630px !important;
    margin:0 auto !important;
    align-items:flex-start !important;
  }
  .logo{
    width:280px !important;
    max-width:280px !important;
  }

  .menu-panel{
    top:91px !important;
    right:max(60px, calc((100vw - 1630px)/2)) !important;
  }
  .menu-nav{
    gap:46px !important;
  }
  .menu-nav a{
    font-size:19px !important;
  }

  .hero{
    padding:177px 0 110px !important;
  }
  .hero-card{
    width:min(1630px, calc(100% - 290px)) !important;
    max-width:1630px !important;
    height:640px !important;
    min-height:640px !important;
    margin:0 auto !important;
    padding:84px 60px 54px !important;
    border-radius:30px !important;
    overflow:visible !important;
  }

  .hero-copy{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    float:none !important;
    z-index:1 !important;
  }

  .hero h1{
    position:relative !important;
    z-index:1 !important;
    width:560px !important;
    max-width:560px !important;
    margin:0 0 24px !important;
    font-size:56px !important;
    line-height:1.03 !important;
    letter-spacing:0 !important;
  }

  .hero-lead{
    position:relative !important;
    z-index:1 !important;
    width:300px !important;
    max-width:300px !important;
    margin:0 !important;
    font-size:31px !important;
    line-height:1.27 !important;
    font-weight:700 !important;
  }

  .hero-text{
    position:absolute !important;
    z-index:1 !important;
    top:0 !important;
    right:0 !important;
    width:470px !important;
    max-width:470px !important;
    margin:0 !important;
    font-size:28px !important;
    line-height:1.36 !important;
    font-weight:600 !important;
  }

  .hero-note{
    position:absolute !important;
    z-index:1 !important;
    top:305px !important;
    right:0 !important;
    width:470px !important;
    max-width:470px !important;
    margin:0 !important;
    font-size:28px !important;
    line-height:1.36 !important;
    font-weight:600 !important;
  }

  .hero-person{
    position:absolute !important;
    z-index:5 !important;
    width:620px !important;
    max-width:620px !important;
    height:auto !important;
    left:45% !important;
    right:auto !important;
    bottom:0 !important;
    top:auto !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
    opacity:1 !important;
    shape-outside:none !important;
  }

  .hero-actions.hero-socials{
    display:none !important;
  }
}



/* Final hero alignment requested from reference */
@media (max-width:900px){
  .hero-card{position:relative!important; overflow:hidden!important;}
  .hero-person{
    transform:translate(-16px,30px)!important;
    margin-bottom:-22px!important;
  }
  .hero-actions.hero-socials{
    position:absolute!important;
    right:18px!important;
    left:auto!important;
    bottom:14px!important;
    margin:0!important;
    transform:translateY(10px)!important;
  }
}
@media (max-width:560px){
  .hero-person{
    transform:translate(-13px,32px)!important;
    margin-bottom:-24px!important;
  }
  .hero-actions.hero-socials{right:16px!important;bottom:12px!important;transform:translateY(9px)!important;}
}
@media (max-width:390px){
  .hero-person{
    transform:translate(-10px,34px)!important;
    margin-bottom:-26px!important;
  }
  .hero-actions.hero-socials{right:14px!important;bottom:10px!important;}
}

/* ===== Product block: final visual correction from reference ===== */
#products .category-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 42px!important;
  max-width:330px!important;
  margin:0 auto 62px!important;
}
#products .category-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  padding:10px 16px!important;
  border:2px solid #d9c8e3!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#66328b!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
#products .category-link:hover{
  background:#f8f1fb!important;
  border-color:#a875c6!important;
  color:#51247e!important;
  transform:translateY(-1px)!important;
}
#products .category-link.is-active{
  background:var(--purple,#8f56b9)!important;
  border-color:var(--purple,#8f56b9)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(141,85,184,.18)!important;
}

#products .product-rail-wrap{overflow:visible!important;}
#products .product-rail{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  align-items:flex-start!important;
  padding:12px 0 18px!important;
  margin:0!important;
  gap:36px!important;
}
#products .product-card{
  flex:0 0 218px!important;
  width:218px!important;
  min-width:218px!important;
  overflow:visible!important;
  min-height:0!important;
}
#products .product-body{
  height:345px!important;
  overflow:visible!important;
  border-radius:20px!important;
  background:var(--light,#f3f3f5)!important;
}
#products .product-media{
  height:255px!important;
  flex:0 0 255px!important;
  min-height:255px!important;
  padding:4px 12px 0!important;
  overflow:visible!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  background:transparent!important;
}
#products .product-media img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  transform:none!important;
  filter:drop-shadow(0 16px 12px rgba(0,0,0,.13))!important;
}
#products .product-info{
  height:90px!important;
  min-height:90px!important;
  flex:none!important;
  padding:0 10px 14px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  background:transparent!important;
  overflow:visible!important;
}
#products .product-info p{
  margin:0!important;
  max-width:205px!important;
  color:#66646a!important;
  font-size:17px!important;
  line-height:1.13!important;
  font-weight:600!important;
  text-align:center!important;
}
#products .product-name{
  padding:12px 4px 0!important;
  text-align:center!important;
}
#products .product-name h3{
  margin:0!important;
  color:#55525a!important;
  font-size:20px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
#products .rail-controls{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:42px!important;
  margin-top:28px!important;
}
#products .rail-btn{
  width:56px!important;
  height:56px!important;
  font-size:32px!important;
  background:#d2d3d5!important;
  color:#fff!important;
}
#products .rail-btn:hover{background:var(--purple,#8f56b9)!important;}
#products .rail-dots{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:7px!important;
  min-height:14px!important;
  margin-top:12px!important;
}
#products .rail-dot{
  display:block!important;
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#d1d1d4!important;
  opacity:1!important;
  cursor:pointer!important;
}
#products .rail-dot.is-active{
  background:var(--purple,#8f56b9)!important;
  transform:scale(1.25)!important;
}
@media(max-width:560px){
  #products .category-grid{max-width:292px!important;gap:12px 14px!important;margin-bottom:58px!important;}
  #products .category-link{font-size:16px!important;min-height:48px!important;padding:9px 10px!important;}
  #products .product-rail{gap:36px!important;}
  #products .product-card{flex-basis:218px!important;width:218px!important;min-width:218px!important;}
  #products .product-body{height:345px!important;}
  #products .product-media{height:245px!important;flex-basis:245px!important;min-height:245px!important;}
  #products .product-media img{max-width:100%!important;max-height:100%!important;}
  #products .product-info{height:88px!important;min-height:88px!important;}
  #products .product-info p{font-size:16px!important;}
}


/* ===== Product v7: larger full packaging, no top clipping ===== */
#products .product-rail{
  overflow-x:clip!important;
  overflow-y:visible!important;
  clip-path:none!important;
}
#products .product-rail-wrap{
  overflow:visible!important;
}
#products .product-card,
#products .product-body,
#products .product-media{
  overflow:visible!important;
}
#products .product-body{
  position:relative!important;
}
#products .product-media{
  position:relative!important;
  overflow:visible!important;
  z-index:2!important;
}
#products .product-media img{
  height:285px!important;
  max-height:none!important;
  max-width:108%!important;
  width:auto!important;
  object-fit:contain!important;
  transform:translateY(-30px)!important;
  transform-origin:center bottom!important;
  position:relative!important;
  z-index:3!important;
}
#products .product-info{
  position:relative!important;
  z-index:4!important;
  background:transparent!important;
}
#products .product-name{
  position:relative!important;
  z-index:5!important;
}
#products .rail-dots{
  position:relative!important;
  z-index:10!important;
  margin-top:14px!important;
  min-height:16px!important;
}
@media(max-width:560px){
  #products .product-rail{overflow-x:clip!important;overflow-y:visible!important;}
  #products .product-media{height:245px!important;flex-basis:245px!important;min-height:245px!important;}
  #products .product-media img{
    height:275px!important;
    max-width:108%!important;
    transform:translateY(-30px)!important;
  }
}

/* ===== Покупки: быстрый переход из главного экрана ===== */
.purchase-cta{padding:18px 18px 8px;background:#fff;}
.purchase-cta-inner{max-width:760px;margin:0 auto;padding:28px 30px 30px;border-radius:26px;background:linear-gradient(135deg,#f5eef9 0%,#eef3fb 100%);text-align:center;box-shadow:0 10px 28px rgba(70,45,90,.08);}
.purchase-cta h2{margin:0 0 8px;color:#3d3543;font-size:clamp(28px,3vw,40px);line-height:1.08;font-weight:800;}
.purchase-cta p{margin:0 auto 18px;max-width:560px;color:#5a5260;font-size:clamp(16px,1.5vw,20px);line-height:1.4;}
.purchase-cta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border-radius:999px;background:#fff;color:#7f46a7;border:2px solid #9a61b9;text-decoration:none;font-size:17px;font-weight:800;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;}
.purchase-cta-btn:hover{transform:translateY(-2px);background:#9a61b9;color:#fff;box-shadow:0 8px 18px rgba(126,70,167,.2);}
@media(max-width:560px){
  .purchase-cta{padding:12px 14px 4px;}
  .purchase-cta-inner{padding:24px 18px 25px;border-radius:22px;}
  .purchase-cta h2{font-size:30px;}
  .purchase-cta p{font-size:16px;margin-bottom:16px;}
  .purchase-cta-btn{width:min(100%,280px);font-size:16px;}
}



/* ===== DESKTOP 1920x1080 — layout from supplied reference ===== */
@media (min-width:1200px){
  /* Header */
  .header{
    padding:38px 0 0 !important;
    background:#fff !important;
  }
  .head{
    max-width:1500px !important;
    width:calc(100% - 120px) !important;
    margin:0 auto !important;
    align-items:flex-start !important;
  }
  .logo{
    width:280px !important;
    max-width:280px !important;
  }

  /* Turn the existing mobile menu panel into the desktop top navigation */
  .menu-btn{display:none !important;}
  .menu-panel{
    position:absolute !important;
    inset:auto !important;
    top:91px !important;
    right:max(60px, calc((100vw - 1500px)/2)) !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
    background:transparent !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:20 !important;
    pointer-events:none !important;
    transition:none !important;
  }
  .menu-sheet{
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
    transform:none !important;
    pointer-events:none !important;
  }
  .menu-close,
  .menu-actions{display:none !important;}
  .menu-nav{
    clear:none !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:46px !important;
    pointer-events:auto !important;
  }
  .menu-nav a{
    display:block !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#454348 !important;
    font-size:19px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
  }
  .menu-nav a:hover{
    background:transparent !important;
    color:var(--purple) !important;
  }
  .menu-nav a:nth-child(1){order:1;}
  .menu-nav a:nth-child(3){order:2;}
  .menu-nav a:nth-child(4){order:3;}
  .menu-nav a:nth-child(2){order:4;}
  .menu-nav a:nth-child(5){order:5;}

  /* Large hero: wide card, central person, text on both sides */
  .hero{
    width:100% !important;
    max-width:none !important;
    padding:180px 0 110px !important;
  }
  .hero-card{
    width:min(1480px, calc(100% - 260px)) !important;
    max-width:1480px !important;
    min-height:560px !important;
    height:560px !important;
    margin:0 auto !important;
    padding:64px 60px 58px !important;
    border-radius:30px !important;
    overflow:visible !important;
  }
  .hero-copy{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    z-index:2 !important;
  }
  .hero h1{
    position:relative !important;
    width:345px !important;
    margin:0 0 24px !important;
    font-size:56px !important;
    line-height:1.03 !important;
    letter-spacing:0 !important;
    z-index:3 !important;
  }
  .hero-lead{
    position:relative !important;
    width:285px !important;
    margin:0 !important;
    font-size:31px !important;
    line-height:1.27 !important;
    font-weight:700 !important;
    z-index:3 !important;
  }
  .hero-text{
    position:absolute !important;
    top:17px !important;
    right:0 !important;
    width:470px !important;
    max-width:470px !important;
    margin:0 !important;
    font-size:28px !important;
    line-height:1.36 !important;
    font-weight:600 !important;
    z-index:3 !important;
  }
  .hero-note{
    position:absolute !important;
    top:310px !important;
    right:0 !important;
    width:470px !important;
    max-width:470px !important;
    margin:0 !important;
    font-size:28px !important;
    line-height:1.36 !important;
    font-weight:600 !important;
    z-index:3 !important;
  }
  .hero-person{
    position:absolute !important;
    z-index:2 !important;
    width:620px !important;
    max-width:none !important;
    height:auto !important;
    left:50% !important;
    right:auto !important;
    bottom:0 !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
  }
  .hero-actions.hero-socials{
    display:none !important;
  }
}



@media (min-width:1400px){
  .hero h1{
    width:650px !important; max-width:650px !important;
    white-space:nowrap !important;
    font-size:56px !important; line-height:1.03 !important;
    margin:0 0 24px !important;
  }
  .hero-lead{
    width:300px !important; max-width:300px !important;
    white-space:nowrap !important;
    font-size:31px !important; line-height:1.27 !important;
  }
  .hero-right-text{
    position:absolute !important; right:0 !important; top:0 !important;
    width:470px !important; max-width:470px !important; z-index:1 !important;
  }
  .hero-right-text .hero-text{
    position:static !important; width:auto !important; max-width:none !important;
    font-size:28px !important; line-height:1.36 !important;
    margin:0 0 28px !important;
  }
  .hero-right-text .hero-text-second{margin-bottom:0 !important;}
  .hero-person{
    position:absolute !important; z-index:5 !important; opacity:1 !important;
    width:620px !important; max-width:620px !important;
    left:45% !important; right:auto !important; bottom:0 !important; top:auto !important;
    transform:translateX(-50%) !important; margin:0 !important;
  }
}



/* ===== Desktop hero: geometry locked to the supplied reference ===== */
@media (min-width:1200px){
  .header{
    height:13vh !important;
    padding:3.38vh 0 0 !important;
    background:#fff !important;
  }
  .head{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    height:9.6vh !important;
    margin:0 !important;
  }
  .logo{
    position:absolute !important;
    left:10.97vw !important;
    top:0 !important;
    width:14.22vw !important;
    max-width:none !important;
    height:auto !important;
  }
  .menu-panel{
    position:absolute !important;
    inset:auto !important;
    top:8.45vh !important;
    right:7.56vw !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
    background:transparent !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:20 !important;
    pointer-events:none !important;
    transition:none !important;
  }
  .menu-sheet{
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
    transform:none !important;
    pointer-events:none !important;
  }
  .menu-close,.menu-actions{display:none !important;}
  .menu-nav{
    clear:none !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:2.42vw !important;
    pointer-events:auto !important;
  }
  .menu-nav a{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#454348 !important;
    font-size:1.06vw !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
    text-decoration:none !important;
  }
  .menu-nav a:hover{
    background:transparent !important;
    color:var(--purple) !important;
    text-decoration:none !important;
  }
  .menu-nav a:nth-child(1){order:1}.menu-nav a:nth-child(3){order:2}.menu-nav a:nth-child(4){order:3}.menu-nav a:nth-child(2){order:4}.menu-nav a:nth-child(5){order:5}

  .hero{
    width:100% !important;
    margin:0 !important;
    max-width:none !important;
    padding:16.14vh 0 14.3vh !important;
  }
  .hero-card{
    position:relative !important;
    width:84.95vw !important;
    max-width:none !important;
    height:57.22vh !important;
    min-height:57.22vh !important;
    margin:0 auto !important;
    padding:7.67vh 0 0 3.33vw !important;
    border-radius:1.36vw !important;
    overflow:visible !important;
    background:linear-gradient(125deg,#8667c7 0%,#9a61b9 43%,#84a7d5 100%) !important;
  }
  .hero-copy{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    float:none !important;
    z-index:6 !important;
    overflow:visible !important;
  }
  .hero h1{
    position:relative !important;
    z-index:1 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 0 4.5vh !important;
    padding:0 !important;
    font-size:3.05vw !important;
    line-height:1.03 !important;
    letter-spacing:0 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    white-space:normal !important;
  }
  .hero h1 span,
  .hero-lead span,
  .hero-right-text .hero-text span{
    display:block !important;
    white-space:nowrap !important;
  }
  .hero-lead{
    position:relative !important;
    z-index:1 !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-size:1.82vw !important;
    line-height:1.34 !important;
    font-weight:700 !important;
    white-space:normal !important;
  }
  .hero-right-text{
    position:absolute !important;
    left:51.80vw !important;
    right:auto !important;
    top:-0.65vh !important;
    width:29.73vw !important;
    max-width:none !important;
    z-index:1 !important;
  }
  .hero-right-text .hero-text{
    position:static !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-size:1.82vw !important;
    line-height:1.24 !important;
    font-weight:600 !important;
  }
  .hero-right-text .hero-text-second{
    margin-top:0.7vh !important;
  }
  .hero-person{
    position:absolute !important;
    z-index:5 !important;
    width:32.60vw !important;
    max-width:none !important;
    height:auto !important;
    left:18.72vw !important;
    right:auto !important;
    bottom:0 !important;
    top:auto !important;
    transform:none !important;
    margin:0 !important;
    opacity:1 !important;
    shape-outside:none !important;
  }
  .hero-note{display:none !important;}
  .hero-actions.hero-socials{display:none !important;}
}

/* === BilliDog desktop hero: layered reference composition === */
@media (min-width: 1200px){
  .hero{
    width:100%!important; margin:0!important; max-width:none!important;
    padding:19.1vh 0 10vh!important;
  }
  .hero-card{
    position:relative!important;
    width:84.95vw!important; max-width:none!important;
    height:57.22vh!important; min-height:57.22vh!important;
    margin:0 auto!important;
    padding:7.55vh 0 0 3.33vw!important;
    border-radius:1.36vw!important;
    overflow:visible!important;
    background:linear-gradient(125deg,#8667c7 0%,#9a61b9 43%,#84a7d5 100%)!important;
  }
  .hero-copy{
    position:relative!important; width:100%!important; height:100%!important;
    max-width:none!important; margin:0!important; float:none!important;
    z-index:4!important; overflow:visible!important;
  }
  .hero h1{
    position:relative!important; z-index:2!important;
    width:650px!important; max-width:650px!important;
    margin:0 0 4.1vh!important; padding:0!important;
    font-size:3.05vw!important; line-height:1.03!important;
    letter-spacing:0!important; font-weight:800!important;
    text-transform:uppercase!important; white-space:normal!important;
    font-family:Arial,Helvetica,sans-serif!important;
  }
  .hero h1 span,.hero-lead span,.hero-right-text .hero-text span{
    display:block!important; white-space:nowrap!important;
  }
  .hero-lead{
    position:relative!important; z-index:2!important;
    width:300px!important; max-width:300px!important;
    margin:0!important; padding:0!important;
    font-size:1.82vw!important; line-height:1.34!important;
    font-weight:700!important; white-space:normal!important;
  }
  .hero-right-text{
    position:absolute!important; left:51.80vw!important; right:auto!important;
    top:-0.35vh!important; width:29.73vw!important; max-width:none!important;
    z-index:2!important;
  }
  .hero-right-text .hero-text{
    position:static!important; width:auto!important; max-width:none!important;
    margin:0!important; padding:0!important;
    font-size:1.82vw!important; line-height:1.24!important;
    font-weight:600!important;
  }
  .hero-right-text .hero-text-second{margin-top:3.6vh!important;}
  .hero-person-layer{
    position:absolute!important; z-index:5!important;
    width:28.15vw!important; max-width:none!important; height:auto!important;
    left:18.72vw!important; right:auto!important; bottom:0!important; top:auto!important;
    transform:none!important; margin:0!important; opacity:1!important;
    float:none!important; clip-path:none!important; shape-outside:none!important;
  }
  .hero-actions.hero-socials{display:none!important;}
}



@media (min-width:1200px){
  /* 4 фильтра — одна горизонтальная линия */
  #products .category-grid{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:18px!important;
    width:max-content!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  #products .category-grid .category-link{
    flex:0 0 auto!important;
    width:auto!important;
    margin:0!important;
  }

  /* Стрелки — физически по внешним бокам трёх карточек */
  #products .product-rail-wrap{
    position:relative!important;
    overflow:visible!important;
  }

  #products .rail-controls{
    position:absolute!important;
    left:-205px!important;
    right:-205px!important;
    top:50%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:row!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:0!important;
    pointer-events:none!important;
    z-index:999!important;
  }

  #products .rail-controls .rail-btn{
    display:grid!important;
    place-items:center!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    flex:0 0 58px!important;
    margin:0!important;
    pointer-events:auto!important;
  }
}



/* ============================================================
   BilliDog responsive system — final, screen-driven layer
   Desktop 1200+ is isolated from tablet/mobile.
   Mobile text is never forced into desktop nowrap spans.
   ============================================================ */

@media (max-width:1199px){
  /* Undo desktop-only span locking from the layered hero. */
  .hero h1 span,
  .hero-lead span,
  .hero-right-text .hero-text span{
    display:inline !important;
    white-space:normal !important;
  }
  .hero h1 span + span::before,
  .hero-lead span + span::before,
  .hero-right-text .hero-text span + span::before{
    content:" " !important;
  }

  .hero h1,
  .hero-lead,
  .hero-text,
  .hero-note{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }

  .hero-right-text{
    position:relative !important;
    inset:auto !important;
    width:auto !important;
    max-width:none !important;
  }

  .hero-person{
    transform:none !important;
  }
}

/* Tablet / small desktop: landscape and portrait get their own geometry. */
@media (min-width:901px) and (max-width:1199px){
  .header{padding:26px 28px 32px !important;}
  .head{max-width:1040px !important;}
  .logo{width:250px !important;}
  .hero{padding:20px 24px 70px !important;}
  .hero-card{
    min-height:620px !important;
    height:auto !important;
    padding:54px 44px 46px !important;
    overflow:hidden !important;
    border-radius:28px !important;
  }
  .hero-copy{width:100% !important;max-width:100% !important;}
  .hero h1{
    width:min(56%,560px) !important;
    max-width:560px !important;
    font-size:clamp(42px,5.4vw,58px) !important;
    line-height:1.04 !important;
    margin:0 0 22px !important;
  }
  .hero-lead{
    width:min(34%,330px) !important;
    max-width:330px !important;
    font-size:clamp(23px,2.5vw,31px) !important;
    line-height:1.25 !important;
  }
  .hero-right-text{
    position:absolute !important;
    left:auto !important;
    right:4% !important;
    top:52px !important;
    width:35% !important;
    max-width:390px !important;
  }
  .hero-right-text .hero-text{
    font-size:clamp(18px,2.1vw,25px) !important;
    line-height:1.28 !important;
  }
  .hero-right-text .hero-text-second{margin-top:24px !important;}
  .hero-person{
    position:absolute !important;
    z-index:5 !important;
    width:min(48%,560px) !important;
    max-width:560px !important;
    left:50% !important;
    right:auto !important;
    bottom:0 !important;
    margin:0 !important;
  }
}

/* Landscape tablets: reduce vertical waste and keep the hero inside the viewport. */
@media (min-width:901px) and (max-width:1199px) and (orientation:landscape){
  .hero-card{min-height:500px !important;padding-top:40px !important;}
  .hero-person{width:min(42%,500px) !important;}
  .hero-right-text{top:40px !important;}
}

/* Portrait phones / tablets: natural text flow, no desktop line locking. */
@media (max-width:900px){
  .hero-left-stack{position:relative !important;z-index:4 !important;}
  .hero h1{
    white-space:normal !important;
    max-width:100% !important;
  }
  .hero-lead{
    white-space:normal !important;
    max-width:100% !important;
  }
  .hero-right-text{
    display:block !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:18px !important;
    z-index:4 !important;
  }
  .hero-right-text .hero-text{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 18px !important;
    font-size:clamp(13px,3.4vw,18px) !important;
    line-height:1.38 !important;
  }
  .hero-right-text .hero-text-second{margin-top:0 !important;}
  .hero-person{
    position:relative !important;
    float:right !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:76% !important;
    max-width:76% !important;
    margin:0 -7% 0 14px !important;
    transform:none !important;
    z-index:1 !important;
  }
}

/* Phone portrait: tighten geometry without changing typography semantics. */
@media (max-width:560px){
  .hero-card{
    min-height:640px !important;
    padding:26px 22px 30px !important;
  }
  .hero-person{
    width:76% !important;
    max-width:76% !important;
    margin-right:-7% !important;
    margin-left:14px !important;
  }
}

/* Very narrow phones: prevent horizontal pressure in the hero. */
@media (max-width:390px){
  .header{padding-left:10px !important;padding-right:10px !important;}
  .logo{width:180px !important;}
  .hero{padding-left:10px !important;padding-right:10px !important;}
  .hero-card{padding-left:18px !important;padding-right:18px !important;}
  .hero h1{font-size:clamp(27px,7.5vw,34px) !important;}
  .hero-lead{font-size:clamp(16px,4.5vw,19px) !important;}
  .hero-person{width:78% !important;max-width:78% !important;}
}

/* Landscape phones: use horizontal space instead of stacking everything too early. */
@media (max-width:900px) and (orientation:landscape){
  .hero-card{
    min-height:460px !important;
    padding:28px 24px 28px !important;
  }
  .hero-copy{width:100% !important;}
  .hero h1{font-size:clamp(30px,5vw,46px) !important;max-width:52% !important;}
  .hero-lead{font-size:clamp(17px,3vw,24px) !important;max-width:34% !important;}
  .hero-right-text{
    width:42% !important;
    margin-left:58% !important;
    margin-top:-150px !important;
  }
  .hero-person{
    width:48% !important;
    max-width:48% !important;
    margin-right:-4% !important;
    margin-left:12px !important;
  }
}

/* Product filters: mobile/tablet remain adaptive; desktop rules are isolated. */
@media (max-width:1199px){
  #products .category-grid{
    display:grid !important;
  }
}

/* ===== MOBILE HERO — exact reference composition ===== */
@media (max-width:560px){
  .header{
    padding:18px 29px 24px !important;
  }
  .head{
    max-width:none !important;
  }
  .logo{
    width:136px !important;
    max-width:none !important;
  }
  .menu-btn{
    width:55px !important;
    height:55px !important;
  }
  .menu-icon,.menu-icon::before,.menu-icon::after{
    width:26px !important;
    height:3px !important;
  }
  .menu-icon::before{top:-8px !important}
  .menu-icon::after{top:8px !important}

  .hero{
    padding:0 7px 0 !important;
  }
  .hero-card{
    height:598px !important;
    min-height:598px !important;
    padding:25px 28px 0 !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }
  .hero-copy{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    display:block !important;
    overflow:visible !important;
  }
  .hero-left-stack{
    position:relative !important;
    z-index:4 !important;
    width:100% !important;
  }

  /* Archive: exactly two lines on the phone reference. */
  .hero h1.archive-local{
    width:100% !important;
    max-width:none !important;
    margin:0 0 8px !important;
    padding:0 !important;
    font-family:"ArchiveLocal",Arial,sans-serif !important;
    font-size:27px !important;
    line-height:1.08 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
    transform:none !important;
    white-space:normal !important;
  }
  .hero h1.archive-local span{display:inline !important;white-space:normal !important}
  .hero h1.archive-local span:first-child{display:block !important}
  .hero h1.archive-local span:nth-child(2)::before{content:" " !important}
  .hero h1.archive-local span:nth-child(3)::before{content:" " !important}

  /* Montserrat: exactly two lines on the phone reference. */
  .hero-lead{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-family:"MontserratLocal",Arial,sans-serif !important;
    font-size:16.5px !important;
    line-height:1.28 !important;
    font-weight:600 !important;
    transform:none !important;
    white-space:normal !important;
  }
  .hero-lead span{display:inline !important;white-space:normal !important}
  .hero-lead span::before{content:" " !important}
  .hero-lead span:first-child::before{content:"" !important}
  .hero-lead span:nth-child(2)::after{content:"" !important;display:block !important}

  /* First information paragraph sits above the person/dog. */
  .hero-right-text{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:150px !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    z-index:4 !important;
  }
  .hero-right-text .hero-text{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-family:"MontserratLocal",Arial,sans-serif !important;
    font-size:13.1px !important;
    line-height:1.28 !important;
    font-weight:600 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
  .hero-right-text .hero-text span{
    display:inline !important;
    white-space:normal !important;
  }
  .hero-right-text .hero-text span::before{content:" " !important}
  .hero-right-text .hero-text span:first-child::before{content:"" !important}

  /* The second paragraph stays to the left of the image exactly as in the reference. */
  .hero-right-text .hero-text-second{
    width:145px !important;
    max-width:145px !important;
    margin:17px 0 0 !important;
    line-height:1.28 !important;
  }

  /* Person + dog: fixed mobile geometry, anchored to the bottom of the purple card. */
  .hero-person-layer{
    position:absolute !important;
    float:none !important;
    left:auto !important;
    right:-4% !important;
    bottom:0 !important;
    top:auto !important;
    width:85% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    z-index:2 !important;
    transform:none !important;
    shape-outside:none !important;
    -webkit-shape-outside:none !important;
    filter:none !important;
  }

  .hero-note,
  .hero-actions.hero-socials{
    display:none !important;
  }
}

@media (max-width:390px){
  .header{padding-left:22px !important;padding-right:22px !important;}
  .hero-card{padding-left:24px !important;padding-right:24px !important;}
  .logo{width:130px !important;}
  .hero h1.archive-local{font-size:25px !important;}
  .hero-lead{font-size:15.5px !important;}
  .hero-right-text .hero-text{font-size:12.3px !important;}
  .hero-right-text .hero-text-second{width:132px !important;max-width:132px !important;}
  .hero-person-layer{width:87% !important;right:-5% !important;}
}


/* ===== MOBILE HERO: only restore VK / MAX position; keep original V1 hero untouched ===== */
@media (max-width: 900px){
  .hero-actions.hero-socials{
    position:absolute !important;
    right:18px !important;
    left:auto !important;
    bottom:16px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 !important;
    clear:none !important;
    z-index:20 !important;
  }
  .hero-social{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    padding:0 !important;
    border-radius:50% !important;
    display:grid !important;
    place-items:center !important;
    background:#fff !important;
    color:var(--purple) !important;
    box-shadow:0 6px 16px rgba(0,0,0,.12) !important;
  }
  .hero-social svg{width:22px !important;height:22px !important;}
  .hero-social-max img{width:28px !important;height:28px !important;object-fit:contain !important;}
}
@media (max-width:560px){
  .hero-actions.hero-socials{right:14px !important;bottom:14px !important;}
  .hero-social{width:42px !important;height:42px !important;min-width:42px !important;min-height:42px !important;}
  .hero-social svg{width:20px !important;height:20px !important;}
  .hero-social-max img{width:25px !important;height:25px !important;}
}

/* DIPLOMA MODAL FIX: override generic .modal hidden state */
.diploma-modal{opacity:1!important;visibility:visible!important;pointer-events:none!important}
.diploma-modal.is-open{display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.thanks-marketplace-link{cursor:pointer!important}

/* ===== Mobile burger menu — polished card layout ===== */
@media (max-width:700px){
  .menu-panel{
    align-items:flex-start !important;
    padding:12px !important;
    box-sizing:border-box !important;
  }
  .menu-sheet{
    width:100% !important;
    max-width:430px !important;
    height:auto !important;
    max-height:calc(100vh - 24px) !important;
    margin:0 0 0 auto !important;
    padding:18px 16px 16px !important;
    border-radius:28px !important;
    background:#fff !important;
    box-shadow:0 18px 55px rgba(39,31,45,.20) !important;
    overflow:auto !important;
  }
  .menu-close{
    width:46px !important;
    height:46px !important;
  }
  .menu-nav{
    padding-top:8px !important;
    gap:5px !important;
  }
  .menu-nav a{
    padding:12px 12px !important;
    border-radius:14px !important;
  }
  .menu-actions{
    margin-top:14px !important;
    padding:16px 12px 12px !important;
    border-top:0 !important;
    border:1px solid #e6deeb !important;
    border-radius:20px !important;
    background:linear-gradient(180deg,#faf7fc 0%,#f6f2f9 100%) !important;
    gap:9px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
  }
  .menu-actions::before{
    content:"Связаться с нами";
    display:block;
    margin:0 4px 2px;
    color:#6f6674;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .menu-actions .contact-btn{
    width:100% !important;
    min-height:48px !important;
    margin:0 !important;
    border:1px solid rgba(69,67,72,.06) !important;
    box-shadow:0 3px 10px rgba(40,30,50,.05) !important;
  }
  .menu-actions .contact-vk,
  .menu-actions .contact-max{
    box-shadow:0 5px 14px rgba(80,55,105,.12) !important;
  }
}

@media (max-width:390px){
  .menu-panel{padding:9px !important;}
  .menu-sheet{max-height:calc(100vh - 18px) !important;border-radius:24px !important;padding:15px 13px 13px !important;}
  .menu-nav a{padding:11px 10px !important;font-size:18px !important;}
  .menu-actions{padding:14px 10px 10px !important;border-radius:18px !important;}
}

/* ===== Mobile burger menu — compact contacts / MAX visible ===== */
@media (max-width:700px){
  .menu-sheet{
    padding:14px 14px 12px !important;
  }
  .menu-close{
    width:40px !important;
    height:40px !important;
    font-size:26px !important;
  }
  .menu-nav{
    padding-top:4px !important;
    gap:2px !important;
  }
  .menu-nav a{
    padding:9px 11px !important;
    min-height:38px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    font-size:18px !important;
  }
  .menu-actions{
    margin-top:9px !important;
    padding:11px 10px 10px !important;
    gap:6px !important;
  }
  .menu-actions::before{
    margin:0 3px 1px !important;
    font-size:11px !important;
  }
  .menu-actions .contact-btn{
    min-height:39px !important;
    padding:7px 8px !important;
    font-size:13px !important;
    line-height:1.15 !important;
  }
  .menu-actions .contact-vk,
  .menu-actions .contact-max{
    min-height:40px !important;
  }
  .menu-actions .contact-vk{grid-column:1 !important;}
  .menu-actions .contact-max{grid-column:2 !important;}
  .menu-actions .contact-vk,
  .menu-actions .contact-max{
    font-size:12px !important;
    white-space:nowrap !important;
  }
}

@media (max-width:390px){
  .menu-panel{padding:7px !important;}
  .menu-sheet{
    max-height:calc(100vh - 14px) !important;
    border-radius:22px !important;
    padding:12px 11px 10px !important;
  }
  .menu-nav a{
    min-height:35px !important;
    padding:8px 9px !important;
    font-size:17px !important;
  }
  .menu-actions{
    padding:9px 8px 8px !important;
    border-radius:16px !important;
    gap:5px !important;
  }
  .menu-actions .contact-btn{
    min-height:36px !important;
    font-size:12px !important;
  }
  .menu-actions .contact-vk,
  .menu-actions .contact-max{
    font-size:11px !important;
  }
}

/* ===== Mobile burger menu v3 — vertical contact buttons ===== */
@media (max-width:700px){
  .menu-nav{
    padding-top:0 !important;
    transform:translateY(-5px) !important;
  }
  .menu-actions{
    grid-template-columns:1fr !important;
  }
  .menu-actions .contact-vk,
  .menu-actions .contact-max{
    grid-column:auto !important;
    font-size:13px !important;
    white-space:normal !important;
  }
}

@media (max-width:390px){
  .menu-nav{transform:translateY(-5px) !important;}
  .menu-actions .contact-vk,
  .menu-actions .contact-max{
    font-size:12px !important;
  }
}

/* =========================================================
   DESKTOP HERO — reference composition, isolated from mobile
   Applies only from 1200px and above.
   ========================================================= */
@media (min-width:1200px){
  .header{
    padding:24px 0 38px !important;
  }
  .head{
    width:calc(100% - 200px) !important;
    max-width:1160px !important;
    align-items:center !important;
  }
  .logo{
    width:190px !important;
    max-width:190px !important;
  }
  .menu-panel{
    top:64px !important;
    right:max(100px, calc((100vw - 1160px)/2)) !important;
  }
  .menu-nav{
    gap:34px !important;
  }
  .menu-nav a{
    font-size:14px !important;
    font-weight:700 !important;
  }

  .hero{
    padding:0 0 96px !important;
  }
  .hero-card{
    position:relative !important;
    width:calc(100% - 200px) !important;
    max-width:1160px !important;
    margin:0 auto !important;
    padding:0 !important;
    aspect-ratio:2.56 / 1 !important;
    min-height:0 !important;
    height:auto !important;
    border-radius:18px !important;
    overflow:visible !important;
    isolation:isolate !important;
  }
  .hero-copy{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    display:block !important;
    overflow:visible !important;
  }
  .hero-left-stack{
    position:static !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
  }

  /* Upper-left headline: same three-line rhythm as reference. */
  .hero h1.archive-local{
    position:absolute !important;
    left:4.1% !important;
    top:13.0% !important;
    width:37% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    font-family:"ArchiveLocal",Arial,Helvetica,sans-serif !important;
    font-size:clamp(38px,3.10vw,58px) !important;
    line-height:1.18 !important;
    letter-spacing:0 !important;
    font-weight:400 !important;
    text-transform:uppercase !important;
    white-space:normal !important;
    z-index:5 !important;
  }
  .hero h1.archive-local span{
    display:block !important;
    white-space:nowrap !important;
  }

  /* Lower-left copy. */
  .hero-lead{
    position:absolute !important;
    left:4.2% !important;
    top:51.5% !important;
    width:23% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    font-family:"MontserratLocal",Arial,Helvetica,sans-serif !important;
    font-size:clamp(22px,1.95vw,36px) !important;
    line-height:1.25 !important;
    font-weight:600 !important;
    white-space:normal !important;
    z-index:5 !important;
  }
  .hero-lead span{
    display:block !important;
    white-space:nowrap !important;
  }

  /* Right-side copy. */
  .hero-right-text{
    position:absolute !important;
    left:65.0% !important;
    top:13.0% !important;
    width:31.0% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    z-index:5 !important;
  }
  .hero-right-text .hero-text,
  .hero-right-text .hero-text-second{
    position:static !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-family:"MontserratLocal",Arial,Helvetica,sans-serif !important;
    font-size:clamp(17px,1.62vw,30px) !important;
    line-height:1.30 !important;
    font-weight:600 !important;
    white-space:normal !important;
  }
  .hero-right-text .hero-text span,
  .hero-right-text .hero-text-second span{
    display:block !important;
    white-space:nowrap !important;
  }
  .hero-right-text .hero-text-second{
    margin-top:7.5% !important;
  }

  /* Person + dog is a separate visual layer, behind all text. */
  .hero-person-layer{
    position:absolute !important;
    left:26.1% !important;
    right:auto !important;
    bottom:0 !important;
    top:auto !important;
    width:38.3% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    float:none !important;
    transform:none !important;
    z-index:2 !important;
    filter:none !important;
    shape-outside:none !important;
    -webkit-shape-outside:none !important;
  }

  /* Social icons are kept away from the reference text blocks. */
  .hero-actions.hero-socials{
    position:absolute !important;
    right:2.0% !important;
    left:auto !important;
    bottom:4.0% !important;
    z-index:7 !important;
    display:flex !important;
  }
}

/* Desktop scaling at very wide screens: preserve the reference proportions. */
@media (min-width:1600px){
  .hero-card{
    width:min(1400px,calc(100% - 240px)) !important;
  }
  .head{
    width:min(1400px,calc(100% - 240px)) !important;
    max-width:1400px !important;
  }
  .menu-panel{
    right:max(120px,calc((100vw - 1400px)/2)) !important;
  }
}

/* =========================================================
   DESKTOP HERO v4 — rebuilt from the supplied reference.
   Mobile (<=1199px) is intentionally untouched.
   Layer order: background -> text -> person+dog.
   ========================================================= */
@media (min-width:1200px){
  .header{
    height:118px !important;
    padding:22px 0 0 !important;
    background:#fff !important;
  }

  .head{
    position:relative !important;
    width:85% !important;
    max-width:none !important;
    height:82px !important;
    margin:0 auto !important;
  }

  .logo{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:190px !important;
    max-width:none !important;
    height:auto !important;
  }

  .menu-btn{display:none !important;}

  /* Desktop navigation belongs to the same 85% horizontal frame as the hero. */
  .menu-panel{
    position:absolute !important;
    top:48px !important;
    left:7.5% !important;
    right:7.5% !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
    z-index:50 !important;
    transform:none !important;
  }

  .menu-sheet{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
    transform:none !important;
    pointer-events:none !important;
  }

  .menu-close,.menu-actions{display:none !important;}

  .menu-nav{
    clear:none !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:34px !important;
    pointer-events:auto !important;
  }

  .menu-nav a{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#454348 !important;
    font-size:17px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
    text-decoration:none !important;
  }

  .menu-nav a:hover{
    background:transparent !important;
    color:var(--purple) !important;
    text-decoration:none !important;
  }

  .menu-nav a:nth-child(1){order:1}
  .menu-nav a:nth-child(3){order:2}
  .menu-nav a:nth-child(4){order:3}
  .menu-nav a:nth-child(2){order:4}
  .menu-nav a:nth-child(5){order:5}

  .hero{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:90px 0 0 !important;
  }

  .hero-card{
    position:relative !important;
    width:85% !important;
    max-width:none !important;
    height:560px !important;
    min-height:560px !important;
    margin:0 auto !important;
    padding:0 !important;
    border-radius:24px !important;
    overflow:visible !important;
    isolation:isolate !important;
    background:transparent !important;
  }

  /* Rounded gradient is a separate background layer. */
  .hero-card::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    border-radius:24px !important;
    background:linear-gradient(118deg,#8468c8 0%,#9d61bd 43%,#84a8d8 100%) !important;
    overflow:hidden !important;
    z-index:0 !important;
  }

  .hero-copy{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    z-index:3 !important;
  }

  .hero-left-stack{
    position:static !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }

  /* Upper-left headline: exact three-line structure from reference. */
  .hero h1.archive-local{
    position:absolute !important;
    left:4.35% !important;
    top:9.5% !important;
    width:43% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    font-family:"ArchiveLocal",Arial,Helvetica,sans-serif !important;
    font-size:58px !important;
    line-height:.99 !important;
    letter-spacing:0 !important;
    font-weight:400 !important;
    text-transform:uppercase !important;
    white-space:normal !important;
    z-index:5 !important;
  }

  .hero h1.archive-local span{
    display:block !important;
    white-space:nowrap !important;
  }

  /* Lower-left copy. */
  .hero-lead{
    position:absolute !important;
    left:4.35% !important;
    top:43.5% !important;
    width:23% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    font-family:"MontserratLocal",Arial,Helvetica,sans-serif !important;
    font-size:31px !important;
    line-height:1.20 !important;
    font-weight:600 !important;
    white-space:normal !important;
    z-index:5 !important;
  }

  .hero-lead span{
    display:block !important;
    white-space:nowrap !important;
  }

  /* Right-side copy. */
  .hero-right-text{
    position:absolute !important;
    left:66.0% !important;
    top:9.8% !important;
    width:28.5% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    z-index:5 !important;
  }

  .hero-right-text .hero-text,
  .hero-right-text .hero-text-second{
    position:static !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-family:"MontserratLocal",Arial,Helvetica,sans-serif !important;
    font-size:27px !important;
    line-height:1.24 !important;
    font-weight:600 !important;
    white-space:normal !important;
  }

  .hero-right-text .hero-text span,
  .hero-right-text .hero-text-second span{
    display:block !important;
    white-space:nowrap !important;
  }

  .hero-right-text .hero-text-second{
    margin-top:6.0% !important;
  }

  /* Person+dog is above the gradient but below all text. */
  .hero-person-layer{
    position:absolute !important;
    left:29.0% !important;
    bottom:0 !important;
    top:auto !important;
    width:36.0% !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    transform:none !important;
    opacity:1 !important;
    z-index:4 !important;
    pointer-events:none !important;
    shape-outside:none !important;
  }

  .hero-note{display:none !important;}
  .hero-actions.hero-socials{display:none !important;}
}

@media (min-width:1600px){
  .hero-card{height:640px !important;min-height:640px !important;border-radius:26px !important;}
  .hero-card::before{border-radius:26px !important;}
  .hero h1.archive-local{font-size:64px !important;}
  .hero-lead{font-size:34px !important;}
  .hero-right-text .hero-text,
  .hero-right-text .hero-text-second{font-size:30px !important;}
}

/* Desktop final adjustment: move the lower-left supporting copy clearly below the headline. */
@media (min-width:1200px){
  .hero-lead{
    top:50% !important;
  }
}

/* =========================================================
   DESKTOP HERO v6 — lock the left text flow.
   The supporting paragraph must always sit BELOW the 3-line headline.
   Mobile rules are untouched.
   ========================================================= */
@media (min-width:1200px){
  .hero-copy{position:relative !important;}

  .hero h1.archive-local{
    top:9.5% !important;
    left:4.35% !important;
    z-index:10 !important;
  }

  .hero-lead{
    top:55% !important;
    left:4.35% !important;
    width:24% !important;
    z-index:10 !important;
    margin:0 !important;
    transform:none !important;
  }
}

@media (min-width:1600px){
  .hero h1.archive-local{top:9.5% !important;}
  .hero-lead{top:54% !important;}
}


/* =========================================================
   DESKTOP HERO v7 — reference composition
   IMPORTANT: desktop-only. Mobile/tablet rules are untouched.
   Flow: gradient background -> text -> person + dog.
   ========================================================= */
@media (min-width:1200px){
  .hero-card{
    position:relative !important;
    overflow:hidden !important;
  }

  .hero-copy{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    z-index:10 !important;
    overflow:visible !important;
  }

  /* Large headline: first block at the top-left. */
  .hero h1.archive-local{
    position:absolute !important;
    left:0 !important;
    top:4.2% !important;
    width:45% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    z-index:20 !important;
    font-family:"ArchiveLocal",Arial,Helvetica,sans-serif !important;
    font-size:3.10vw !important;
    line-height:.98 !important;
    letter-spacing:0 !important;
    font-weight:400 !important;
    text-transform:uppercase !important;
  }

  .hero h1.archive-local span{
    display:block !important;
    white-space:nowrap !important;
  }

  /* Supporting copy is a separate block BELOW the headline. */
  .hero-left-stack .hero-lead,
  .hero-lead{
    position:absolute !important;
    left:0 !important;
    top:47.5% !important;
    width:24% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    z-index:20 !important;
    font-family:"MontserratLocal",Arial,Helvetica,sans-serif !important;
    font-size:1.82vw !important;
    line-height:1.25 !important;
    font-weight:600 !important;
  }

  .hero-lead span{
    display:block !important;
    white-space:nowrap !important;
  }

  /* Right-side copy. */
  .hero-right-text{
    position:absolute !important;
    left:64.8% !important;
    top:4.4% !important;
    width:31.5% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    z-index:20 !important;
  }

  .hero-right-text .hero-text,
  .hero-right-text .hero-text-second{
    position:static !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    font-family:"MontserratLocal",Arial,Helvetica,sans-serif !important;
    font-size:1.60vw !important;
    line-height:1.30 !important;
    font-weight:600 !important;
  }

  .hero-right-text .hero-text span,
  .hero-right-text .hero-text-second span{
    display:block !important;
    white-space:nowrap !important;
  }

  .hero-right-text .hero-text-second{
    margin-top:2.25vw !important;
  }

  /* Person/dog is the top visual layer, above the text. */
  .hero-person-layer,
  .hero-person{
    position:absolute !important;
    left:22.16vw !important;
    right:auto !important;
    bottom:0 !important;
    top:auto !important;
    width:32.75vw !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    opacity:1 !important;
    z-index:30 !important;
    pointer-events:none !important;
  }

  .hero-note,
  .hero-actions.hero-socials{
    display:none !important;
  }
}

@media (min-width:1600px){
  .hero h1.archive-local{font-size:3.10vw !important;}
  .hero-left-stack .hero-lead,
  .hero-lead{font-size:1.82vw !important;}
  .hero-right-text .hero-text,
  .hero-right-text .hero-text-second{font-size:1.60vw !important;}
}

/* =========================================================
   DESKTOP HERO v8 — final spacing correction
   Desktop only. Mobile layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Keep the rounded gradient as the background, but allow the
     person+dog image to extend above the hero card so the head is visible. */
  .hero-card{
    overflow:visible !important;
    background:transparent !important;
  }

  /* Restore the hero gradient as an independent rounded background layer.
     The card itself stays overflow:visible so the person's head can extend above it. */
  .hero-card::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    border-radius:34px !important;
    background:linear-gradient(125deg,#8667c7 0%,#9a61b9 43%,#84a7d5 100%) !important;
    z-index:0 !important;
    pointer-events:none !important;
  }

  .hero-copy{
    position:relative !important;
    z-index:10 !important;
  }

  /* Move both left text blocks inward from the hero edges. */
  .hero h1.archive-local{
    left:4.2% !important;
    top:7.0% !important;
  }

  .hero-left-stack .hero-lead,
  .hero-lead{
    left:4.2% !important;
    top:50.5% !important;
  }

  /* Person + dog stays above the text and may rise above the hero edge. */
  .hero-person-layer,
  .hero-person{
    z-index:30 !important;
  }
}

/* =========================================================
   DESKTOP HERO v10 — text alignment
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Both left text blocks use the same inset from the hero edge. */
  .hero h1.archive-local{
    left:5% !important;
  }

  .hero-left-stack .hero-lead,
  .hero-lead{
    left:5% !important;
  }

  /* Align the top of the right text block with the main headline. */
  .hero-right-text{
    top:7% !important;
  }
}

/* =========================================================
   DESKTOP HERO v11 — vertical centering of text blocks
   Desktop only. Typography and font sizes are intentionally unchanged.
   ========================================================= */
@media (min-width:1200px){
  /* Center the complete left text composition vertically inside the hero. */
  .hero-left-stack{
    position:absolute !important;
    left:5% !important;
    top:50% !important;
    width:45% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:translateY(-50%) !important;
    z-index:20 !important;
  }

  .hero-left-stack h1.archive-local,
  .hero-left-stack .hero-lead{
    position:static !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    width:auto !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .hero-left-stack h1.archive-local{
    margin-top:0 !important;
    margin-bottom:2.7vw !important;
  }

  .hero-left-stack .hero-lead{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  /* Center the complete right text composition vertically inside the hero. */
  .hero-right-text{
    top:50% !important;
    transform:translateY(-50%) !important;
  }
}


/* =========================================================
   DESKTOP HERO v12 — final pixel alignment
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Right column remains vertically centered within the full hero height. */
  .hero-right-text{
    top:50% !important;
    transform:translateY(-50%) !important;
  }

  /* Align the left headline to the top edge of the centered right column.
     The left composition keeps its existing typography and spacing. */
  .hero-left-stack{
    top:50% !important;
    transform:translateY(-50%) !important;
  }

  /* Restore the previously established person/dog scale; move only 15px left. */
  .hero-person-layer,
  .hero-person{
    left:calc(22.16vw - 15px) !important;
    width:32.75vw !important;
    max-width:none !important;
  }
}


/* =========================================================
   DESKTOP HERO v13 — final micro alignment
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Move both left text blocks 5px to the left together. */
  .hero-left-stack{
    left:calc(5% - 5px) !important;
  }

  /* Keep the left headline and right column on the same vertical reference:
     both complete compositions remain centered within the hero. */
  .hero-left-stack{
    top:50% !important;
    transform:translateY(-50%) !important;
  }

  .hero-right-text{
    top:50% !important;
    transform:translateY(-50%) !important;
  }
}


/* =========================================================
   DESKTOP HERO v14 — align left headline with right text top
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Keep the complete left composition and move its top upward so
     the large headline starts on the same horizontal line as the
     top of the right text column. Typography is unchanged. */
  .hero-left-stack{
    top:calc(50% - 1.6vw) !important;
    transform:translateY(-50%) !important;
  }
}

/* =========================================================
   DESKTOP HERO v15 — final left/right vertical balance
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Align the bottom of the lower-left copy with the bottom of the
     complete right-hand text column. The right column is vertically
     centered, so its lower edge is calculated from its rendered line rhythm. */
  .hero-left-stack .hero-lead,
  .hero-lead{
    position:absolute !important;
    left:0 !important;
    bottom:calc(50% - 12.565vw) !important;
    top:auto !important;
    margin:0 !important;
    transform:none !important;
  }

  /* Slightly open the headline's line spacing without changing its size. */
  .hero-left-stack h1.archive-local{
    line-height:1.02 !important;
  }
}

/* =========================================================
   DESKTOP HERO v17 — exact left/right edge alignment
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Keep the right column vertically centered inside the hero. */
  .hero-right-text{
    top:50% !important;
    transform:translateY(-50%) !important;
  }

  /* The right column contains 11 lines plus the paragraph gap.
     This places its top edge at the same height as the left headline. */
  .hero h1.archive-local{
    left:calc(5% - 5px) !important;
    top:calc(50% - 12.565vw) !important;
    transform:none !important;
  }

  /* The lower-left copy ends exactly where the right column ends. */
  .hero-left-stack .hero-lead,
  .hero-lead{
    left:calc(5% - 5px) !important;
    bottom:calc(50% - 12.565vw) !important;
    top:auto !important;
    transform:none !important;
    margin:0 !important;
  }

  /* Preserve the established person/dog scale and position. */
  .hero-person-layer,
  .hero-person{
    left:calc(22.16vw - 15px) !important;
    width:32.75vw !important;
    max-width:none !important;
  }
}

/* =========================================================
   DESKTOP HERO v18 — reference alignment correction
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* The right text column remains the vertical reference. */
  .hero-right-text{
    top:50% !important;
    transform:translateY(-50%) !important;
  }

  /* Align the TOP of the large left headline with the TOP of the
     right text column. The calculation uses the right column's
     11 text lines + paragraph gap, so the two top edges coincide. */
  .hero h1.archive-local{
    left:calc(5% - 5px) !important;
    top:calc(50% - ((11 * 1.30 * 1.60vw + 2.25vw) / 2)) !important;
    transform:none !important;
    margin:0 !important;
  }

  /* Align the BOTTOM of the lower-left copy with the BOTTOM of the
     right text column. */
  .hero-left-stack .hero-lead,
  .hero-lead{
    left:calc(5% - 5px) !important;
    top:auto !important;
    bottom:calc(50% - ((11 * 1.30 * 1.60vw + 2.25vw) / 2)) !important;
    transform:none !important;
    margin:0 !important;
  }

  /* Preserve the established person/dog scale exactly; position only. */
  .hero-person-layer,
  .hero-person{
    left:calc(22.16vw - 15px) !important;
    width:32.75vw !important;
    max-width:none !important;
  }
}

/* =========================================================
   DESKTOP HERO v19 — exact left/right edge alignment
   Only desktop. Mobile/tablet styles remain untouched.
   The right text column is the sole vertical reference:
   - left headline TOP = right text TOP
   - left lower copy BOTTOM = right text BOTTOM
   ========================================================= */
@media (min-width:1200px){
  .hero-right-text{
    top:50% !important;
    transform:translateY(-50%) !important;
  }

  /* Make the left composition occupy exactly the same vertical
     box as the right text composition. */
  .hero-left-stack{
    position:absolute !important;
    left:calc(5% - 5px) !important;
    top:50% !important;
    width:45% !important;
    height:calc((11 * 1.60vw * 1.30) + 2.25vw) !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:translateY(-50%) !important;
    z-index:20 !important;
  }

  /* Top edge of left headline = top edge of right column. */
  .hero-left-stack h1.archive-local{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:45% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }

  /* Bottom edge of left lower copy = bottom edge of right column. */
  .hero-left-stack .hero-lead,
  .hero-lead{
    position:absolute !important;
    left:0 !important;
    top:auto !important;
    bottom:0 !important;
    width:24% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }

  /* Preserve the established person/dog scale and 15px left shift. */
  .hero-person-layer,
  .hero-person{
    left:calc(22.16vw - 15px) !important;
    width:32.75vw !important;
    max-width:none !important;
  }
}

/* =========================================================
   DESKTOP v20 — keep the next section heading below the first viewport
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  .hero{
    padding-bottom:5vw !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v21 — spacing and carousel alignment
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* 1. «О важном» uses exactly the same desktop typography as «Продукция». */
  #important .section-title{
    font-size:44px !important;
    line-height:1.05 !important;
    font-weight:800 !important;
    margin:0 0 42px !important;
  }

  /* 4. More breathing room between the section title and filter buttons. */
  #products .section-title{
    margin-bottom:52px !important;
  }

  /* 3. Lower the carousel as one balanced block, without changing its card sizes. */
  #products .category-grid{
    margin-bottom:34px !important;
  }
  #products .product-rail-wrap{
    margin-top:0 !important;
  }

  /* Keep the whole product section visually separated from the next section,
     so «О важном» is not visible at the bottom while viewing the products. */
  #products{
    padding-bottom:150px !important;
  }

  /* 5. Clean desktop hover: highlight the card body only, without shifting
     the outer card/name and creating a crooked jump inside the carousel. */
  #products .product-card{
    transform:none !important;
    box-shadow:none !important;
  }
  #products .product-card:hover{
    transform:none !important;
    box-shadow:none !important;
  }
  #products .product-card .product-body{
    transition:transform .22s ease, box-shadow .22s ease !important;
  }
  #products .product-card:hover .product-body{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 32px rgba(53,43,65,.10) !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v22 — precise spacing requested
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* 1. Increase the gap between the «Продукция» heading and filters. */
  #products .section-title{
    margin-bottom:72px !important;
  }

  /* 2. Increase the gap from filters to the top of the product cards
        by twice the increase made above (+40px). */
  #products .category-grid{
    margin-bottom:118px !important;
  }

  /* 3. Keep «О важном» completely below the product-section viewport. */
  #products{
    padding-bottom:300px !important;
  }

  /* 4. Move product names 10px farther below the grey card. */
  #products .product-name{
    padding-top:28px !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v23 — larger packages + centered carousel
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Keep the carousel itself perfectly centered inside the same
     1160px content axis as the section title and filters. */
  #products .product-rail-wrap{
    width:100% !important;
    max-width:1160px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #products .product-rail{
    width:100% !important;
    max-width:1160px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Enlarge only the package artwork, not the cards themselves. */
  #products .product-media img{
    height:122% !important;
    max-height:none !important;
    max-width:116% !important;
    transform:translateY(-10%) scale(1.08) !important;
  }
}


/* =========================================================
   DESKTOP PRODUCTS v24 — larger packages, preserved top gap
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Keep the grey card fields fully visible and unchanged in width. */
  #products .product-card{
    overflow:visible !important;
  }
  #products .product-body,
  #products .product-media{
    overflow:visible !important;
  }

  /* Increase the package artwork by another 15% over v23.
     Scale is anchored at the bottom so the package sits on the same baseline. */
  #products .product-media img{
    max-width:100% !important;
    max-height:100% !important;
    transform:translateY(-10%) scale(1.242) !important;
    transform-origin:center bottom !important;
  }

  /* Keep a uniform visual gap from the filter buttons to the top of the
     enlarged package artwork. */
  #products .category-grid{
    margin-bottom:145px !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v25 — three full cards + earlier next section
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Fit exactly three complete grey product fields inside the centered
     1160px desktop rail, with no side clipping. */
  #products .product-rail-wrap{
    width:100% !important;
    max-width:1160px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #products .product-rail{
    width:100% !important;
    max-width:1160px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:28px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  #products .product-card{
    flex:0 0 calc((100% - 56px) / 3) !important;
    width:calc((100% - 56px) / 3) !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  #products .product-body{
    width:100% !important;
    box-sizing:border-box !important;
  }

  /* Bring the next section up so «О важном» appears soon after
     the product carousel when scrolling down. */
  #products{
    padding-bottom:55px !important;
  }
  #important{
    padding-top:35px !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v26 — visible package edges + symmetric rail
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Keep the three grey fields completely inside the centered rail. */
  #products .product-rail-wrap{
    width:1160px !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
  }
  #products .product-rail{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:visible !important;
  }
  #products .product-card{
    flex:0 0 calc((100% - 56px) / 3) !important;
    width:calc((100% - 56px) / 3) !important;
    min-width:0 !important;
    overflow:visible !important;
  }
  #products .product-body{
    width:100% !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  #products .product-media{
    overflow:visible !important;
  }

  /* Keep the enlarged packages fully visible, including their upper edge. */
  #products .product-media img{
    overflow:visible !important;
    transform:translateY(-10%) scale(1.242) !important;
    transform-origin:center bottom !important;
    transition:transform .28s ease, filter .28s ease !important;
  }

  /* Hover belongs to the package itself, not to the grey card field. */
  #products .product-card:hover .product-body{
    transform:none !important;
    box-shadow:none !important;
  }
  #products .product-card:hover .product-media img{
    transform:translateY(-10%) scale(1.31) !important;
    filter:drop-shadow(0 24px 16px rgba(0,0,0,.18)) !important;
  }

  /* Arrows are centered vertically against the grey-card area and sit
     symmetrically at its outer edges. */
  #products .rail-controls{
    left:-86px !important;
    right:-86px !important;
    top:215px !important;
    transform:translateY(-50%) !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v27 — exactly three cards + symmetric arrows
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* Three complete grey fields, narrower and centered inside the rail. */
  #products .product-rail{
    display:block !important;
    position:relative !important;
    width:1160px !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  #products .carousel-track{
    gap:28px !important;
  }

  #products .product-card{
    flex:0 0 320px !important;
    width:320px !important;
    min-width:320px !important;
    max-width:320px !important;
    box-sizing:border-box !important;
  }

  #products .product-body{
    width:320px !important;
    max-width:320px !important;
    box-sizing:border-box !important;
  }

  /* Keep the whole three-card composition centered on the page. */
  #products .product-rail-wrap{
    width:1160px !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Arrows align to the vertical center of the grey card fields,
     not to the full carousel block or the dots. */
  #products .rail-controls{
    left:-86px !important;
    right:-86px !important;
    top:178px !important;
    transform:translateY(-50%) !important;
  }
}


/* =========================================================
   DESKTOP PRODUCTS v28 — three full cards, no package clipping
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* The visible rail is sized to contain exactly three complete cards.
     The active card remains centered by the existing carousel JS. */
  #products .product-rail-wrap{
    width:100% !important;
    max-width:1160px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
  }
  #products .product-rail{
    width:960px !important;
    max-width:960px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:12px 0 18px !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  #products .carousel-track{
    gap:20px !important;
  }
  #products .product-card{
    flex:0 0 300px !important;
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
    overflow:visible !important;
  }
  #products .product-body{
    width:300px !important;
    max-width:300px !important;
    overflow:visible !important;
  }
  #products .product-media{
    overflow:visible !important;
  }
  /* Keep the enlarged packages fully visible above the grey field. */
  #products .product-media img{
    overflow:visible !important;
    transform:translateY(-10%) scale(1.242) !important;
    transform-origin:center bottom !important;
  }
  #products .product-card:hover .product-media img{
    transform:translateY(-10%) scale(1.31) !important;
  }
  /* Keep arrows centered on the grey card height and symmetric to the rail. */
  #products .rail-controls{
    left:-70px !important;
    right:-70px !important;
    top:178px !important;
    transform:translateY(-50%) !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v29 — EXACTLY THREE VISIBLE CARDS
   Keep horizontal viewport clipped, while preserving vertical
   package visibility. Desktop only; mobile/tablet untouched.
   ========================================================= */
@media (min-width:1200px){
  #products .product-rail-wrap{
    width:1160px !important;
    max-width:1160px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
  }

  /* 3 cards: 300 + 10 + 300 + 10 + 300 = 920px exactly. */
  #products .product-rail{
    width:920px !important;
    max-width:920px !important;
    height:520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:70px 0 18px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    overflow-x:hidden !important;
    overflow-y:hidden !important;
  }

  #products .carousel-track{
    gap:10px !important;
  }

  #products .product-card{
    flex:0 0 300px !important;
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
    box-sizing:border-box !important;
  }

  #products .product-body{
    width:300px !important;
    max-width:300px !important;
    box-sizing:border-box !important;
  }

  /* Keep the enlarged package inside the horizontal viewport. */
  #products .product-media img{
    transform:translateY(-10%) scale(1.242) !important;
    transform-origin:center bottom !important;
  }

  #products .product-card:hover .product-media img{
    transform:translateY(-10%) scale(1.31) !important;
  }

  /* Arrows centered to the grey-card height and symmetric. */
  #products .rail-controls{
    left:-70px !important;
    right:-70px !important;
    top:260px !important;
    transform:translateY(-50%) !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v31 — exactly three complete grey cards
   visible between the arrows. Desktop only.
   ========================================================= */
@media (min-width:1200px){
  #products .product-rail-wrap{
    width:905px !important;
    max-width:905px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
  }

  #products .product-rail{
    width:905px !important;
    max-width:905px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:70px 0 18px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    overflow-x:hidden !important;
    overflow-y:hidden !important;
  }

  #products .carousel-track{gap:10px !important;}

  #products .product-card{
    flex:0 0 295px !important;
    width:295px !important;
    min-width:295px !important;
    max-width:295px !important;
    box-sizing:border-box !important;
  }
  #products .product-body{
    width:295px !important;
    max-width:295px !important;
    box-sizing:border-box !important;
  }

  #products .product-media img{
    transform:translateY(-10%) scale(1.242) !important;
    transform-origin:center bottom !important;
  }
  #products .product-card:hover .product-media img{
    transform:translateY(-10%) scale(1.31) !important;
  }

  #products .rail-controls{
    left:-70px !important;
    right:-70px !important;
    top:260px !important;
    transform:translateY(-50%) !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v32 — four complete grey cards visible
   between the arrows. Desktop only.
   ========================================================= */
@media (min-width:1200px){
  #products .product-rail-wrap{
    width:1210px !important;
    max-width:1210px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
  }

  #products .product-rail{
    width:1210px !important;
    max-width:1210px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:hidden !important;
    overflow-x:hidden !important;
    overflow-y:hidden !important;
  }

  #products .product-card{
    flex:0 0 295px !important;
    width:295px !important;
    min-width:295px !important;
    max-width:295px !important;
  }

  #products .product-body{
    width:295px !important;
    max-width:295px !important;
  }

  #products .carousel-track{gap:10px !important;}

  #products .rail-controls{
    left:-70px !important;
    right:-70px !important;
    top:260px !important;
    transform:translateY(-50%) !important;
  }
}


/* =========================================================
   DESKTOP PRODUCTS v33 — exactly four complete cards visible
   with 10px gaps. Desktop only.
   ========================================================= */
@media (min-width:1200px){
  #products .product-rail-wrap{
    width:1210px !important;
    max-width:1210px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
  }
  #products .product-rail{
    width:1210px !important;
    max-width:1210px !important;
    margin:0 auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:hidden !important;
    overflow-x:hidden !important;
    overflow-y:visible !important;
    box-sizing:border-box !important;
  }
  #products .carousel-track{
    gap:10px !important;
    width:max-content !important;
    max-width:none !important;
    justify-content:flex-start !important;
  }
  #products .carousel-track .product-card{
    flex:0 0 295px !important;
    width:295px !important;
    min-width:295px !important;
    max-width:295px !important;
    box-sizing:border-box !important;
  }
  #products .product-body{
    width:295px !important;
    max-width:295px !important;
    box-sizing:border-box !important;
  }
  #products .rail-controls{
    left:-70px !important;
    right:-70px !important;
    top:260px !important;
    transform:translateY(-50%) !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v34 — four real cards, 10px gaps.
   Override the earlier high-specificity 430px desktop rule.
   Desktop only; mobile is untouched.
   ========================================================= */
@media (min-width:1200px){
  #products .product-rail-wrap{
    width:1210px !important;
    max-width:1210px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #products .product-rail{
    width:1210px !important;
    max-width:1210px !important;
    overflow:hidden !important;
    overflow-x:hidden !important;
    overflow-y:visible !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  #products .product-rail > .carousel-track{
    gap:10px !important;
    width:max-content !important;
    max-width:none !important;
    justify-content:flex-start !important;
  }

  #products .product-rail > .carousel-track > .product-card,
  #products .carousel-track > .product-card{
    flex:0 0 295px !important;
    width:295px !important;
    min-width:295px !important;
    max-width:295px !important;
    box-sizing:border-box !important;
  }

  #products .product-rail > .carousel-track > .product-card .product-body,
  #products .carousel-track > .product-card .product-body{
    width:295px !important;
    max-width:295px !important;
    box-sizing:border-box !important;
  }
}


/* =========================================================
   DESKTOP PRODUCTS v35 — four cards, 20px gaps + unclipped hover
   Desktop only. Mobile/tablet remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* 4 × 295px + 3 × 20px = 1240px */
  #products .product-rail-wrap{
    width:1240px !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
  }

  #products .product-rail{
    width:1240px !important;
    max-width:1240px !important;
    margin:0 auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    /* Clip only horizontally so the 4-card viewport stays exact,
       but let the enlarged package breathe vertically on hover. */
    overflow-x:clip !important;
    overflow-y:visible !important;
  }

  #products .product-rail > .carousel-track{
    gap:20px !important;
    width:max-content !important;
    max-width:none !important;
  }

  #products .product-rail > .carousel-track > .product-card,
  #products .carousel-track > .product-card{
    flex:0 0 295px !important;
    width:295px !important;
    min-width:295px !important;
    max-width:295px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  #products .product-rail > .carousel-track > .product-card .product-body,
  #products .carousel-track > .product-card .product-body,
  #products .product-media{
    width:295px !important;
    max-width:295px !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  /* Normal package size stays exactly as in v34. */
  #products .product-media img{
    transform:translateY(-10%) scale(1.242) !important;
    transform-origin:center bottom !important;
    transition:transform .28s ease, filter .28s ease !important;
  }

  /* Hover grows only the package. Vertical overflow is no longer clipped. */
  #products .product-card:hover .product-media img{
    transform:translateY(-10%) scale(1.31) !important;
    filter:drop-shadow(0 24px 16px rgba(0,0,0,.18)) !important;
  }

  #products .rail-controls{
    left:-70px !important;
    right:-70px !important;
    top:260px !important;
    transform:translateY(-50%) !important;
  }
}

/* ===== Desktop product modal: two certification panels, 25% smaller and equal gaps ===== */
@media (min-width:901px){
  .product-modal-badges-mobile{display:none!important;}
  .product-modal-badges-desktop{
    width:630px!important;
    max-width:100%!important;
    margin:28px auto 0!important;
    padding:0 60px!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:225px 225px!important;
    column-gap:60px!important;
    align-items:start!important;
    justify-content:center!important;
  }
  .product-modal-badges-desktop img{
    display:block!important;
    width:225px!important;
    height:auto!important;
    margin:0!important;
    object-fit:contain!important;
  }
}
@media (max-width:900px){
  .product-modal-badges-desktop{display:none!important;}
  .product-modal-badges-mobile{display:flex!important;}
}

/* =========================================================
   DESKTOP IMPORTANT v38 — exact reference composition
   Desktop only. Mobile/tablet styles remain unchanged.
   ========================================================= */
.important-desktop-break{display:none;}
@media (min-width:1200px){
  #important{
    padding-top:88px !important;
    padding-bottom:105px !important;
  }

  /* Keep the section heading exactly the same as «Продукция». */
  #important .section-title{
    font-size:44px !important;
    line-height:1.05 !important;
    font-weight:800 !important;
    margin:0 0 34px !important;
  }

  #important .important-intro{
    max-width:780px !important;
    margin:0 auto 54px !important;
    font-family:Arial,"Segoe UI",sans-serif !important;
    font-size:18px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    color:#29282c !important;
    text-align:center !important;
  }

  /* 3 items on top, 2 centered underneath — exactly like the reference. */
  #important .features{
    width:min(1000px,calc(100vw - 180px)) !important;
    max-width:1000px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    column-gap:42px !important;
    row-gap:48px !important;
    align-items:start !important;
  }

  #important .feature{
    width:100% !important;
    min-width:0 !important;
    text-align:center !important;
  }
  #important .feature:nth-child(1){grid-column:1 !important;}
  #important .feature:nth-child(2){grid-column:3 !important;}
  #important .feature:nth-child(3){grid-column:5 !important;}
  #important .feature:nth-child(4){grid-column:2 !important;}
  #important .feature:nth-child(5){grid-column:4 !important;}

  #important .feature img{
    width:58px !important;
    height:58px !important;
    object-fit:contain !important;
    margin:0 auto 18px !important;
  }

  #important .feature p{
    width:100% !important;
    max-width:245px !important;
    margin:0 auto !important;
    font-family:Arial,"Segoe UI",sans-serif !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:400 !important;
    letter-spacing:.05px !important;
    color:#444247 !important;
    text-align:center !important;
  }

  #important .important-desktop-break{display:block;}
}


/* === FINAL DESKTOP: exact reference line breaks for "О важном" === */
@media (min-width:1200px){
  #important .feature p{
    font-family:"MontserratLocal",Arial,sans-serif !important;
    font-size:15px !important;
    line-height:1.34 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    max-width:290px !important;
    width:290px !important;
    margin:0 auto !important;
    white-space:normal !important;
  }
  #important .feature p span{
    display:block !important;
    white-space:nowrap !important;
    width:max-content !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #important .feature img{
    width:58px !important;
    height:58px !important;
    margin:0 auto 18px !important;
  }
}

/* === DESKTOP IMPORTANT v40: intro in one line + icons centered to their text blocks === */
@media (min-width:1200px){
  #important .important-intro{
    max-width:none !important;
    width:max-content !important;
    margin:0 auto 54px !important;
    white-space:nowrap !important;
  }

  #important .feature{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }

  #important .feature img{
    display:block !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #important .feature p{
    flex:0 0 auto !important;
    width:290px !important;
    max-width:290px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
}

/* === DESKTOP IMPORTANT v41: centered columns + single-line intro === */
@media (min-width:1200px){
  #important .important-intro{
    width:max-content !important;
    max-width:none !important;
    white-space:nowrap !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #important .important-intro br{
    display:none !important;
  }

  /* Six half-columns: each feature occupies exactly two, so the icon
     is centered on the same 290px axis as its text column. */
  #important .features{
    width:1160px !important;
    max-width:1160px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:repeat(3,290px) !important;
    column-gap:145px !important;
    row-gap:48px !important;
    align-items:start !important;
    justify-content:center !important;
  }

  #important .feature{
    grid-column:auto !important;
    width:290px !important;
    min-width:290px !important;
    max-width:290px !important;
    justify-self:start !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
  }

  #important .feature:nth-child(1){grid-column:1 !important;}
  #important .feature:nth-child(2){grid-column:2 !important;}
  #important .feature:nth-child(3){grid-column:3 !important;}
  #important .feature:nth-child(4){grid-column:1 !important; transform:translateX(217.5px) !important;}
  #important .feature:nth-child(5){grid-column:3 !important; transform:translateX(-217.5px) !important;}

  #important .feature img{
    display:block !important;
    width:58px !important;
    height:58px !important;
    margin:0 auto 18px !important;
    align-self:center !important;
  }

  #important .feature p{
    width:290px !important;
    max-width:290px !important;
    margin:0 auto !important;
    text-align:center !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v45 — crisp package hover
   Keep the package raster image at its native rendered transform
   during hover to prevent resampling/ripple artifacts.
   Desktop only. All carousel dimensions and spacing remain unchanged.
   ========================================================= */
@media (min-width:1200px){
  #products .product-media img{
    transition:filter .22s ease !important;
    will-change:filter !important;
  }

  /* Do not scale or translate the package on hover — this keeps the
     raster artwork sharp while preserving a subtle hover response. */
  #products .product-card:hover .product-media img{
    transform:translateY(-10%) scale(1.242) !important;
    filter:drop-shadow(0 24px 16px rgba(0,0,0,.18)) !important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v46 — restore the expressive hover, but keep
   the package raster layer stable and avoid animated filter changes.
   Desktop only. Carousel dimensions/spacing remain untouched.
   ========================================================= */
@media (min-width:1200px){
  #products .product-media img{
    transition:transform .28s cubic-bezier(.22,.61,.36,1) !important;
    will-change:transform !important;
    -webkit-backface-visibility:hidden !important;
    backface-visibility:hidden !important;
    transform-style:preserve-3d !important;
    image-rendering:auto !important;
  }

  /* Restore the previous lively enlargement. The shadow is kept static,
     so the raster image itself is not repeatedly re-filtered while scaling. */
  #products .product-card:hover .product-media img{
    transform:translate3d(0,-10%,0) scale3d(1.31,1.31,1) !important;
    filter:drop-shadow(0 18px 12px rgba(0,0,0,.14)) !important;
  }
}

/* =========================================================
   DESKTOP ABOUT v47 — reference composition
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  .about-reference{
    padding:78px 18px 105px !important;
    background:#fff !important;
  }

  .about-reference-wrap{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
  }

  /* Same horizontal footprint as the main landing hero. */
  .about-reference-card{
    width:calc(100vw - 36px) !important;
    max-width:none !important;
    min-height:760px !important;
    margin:0 auto !important;
    border-radius:34px !important;
    padding:112px 120px 118px !important;
    background:linear-gradient(125deg,#8667c7 0%,#9a61b9 43%,#84a7d5 100%) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
  }

  .about-reference-content{
    width:min(100%,1000px) !important;
    max-width:1000px !important;
    margin:0 auto !important;
    text-align:center !important;
    z-index:2 !important;
  }

  .about-reference-content h2{
    margin:0 0 28px !important;
    color:#fff !important;
    font-family:Arial,"Segoe UI",sans-serif !important;
    font-size:44px !important;
    line-height:1.05 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
  }

  .about-reference-content p{
    margin:0 auto 22px !important;
    width:100% !important;
    max-width:none !important;
    color:#fff !important;
    font-family:"MontserratLocal",Arial,"Segoe UI",sans-serif !important;
    font-size:18px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  .about-reference-content .about-reference-strong{
    margin-top:30px !important;
    margin-bottom:0 !important;
    font-weight:700 !important;
  }

  .about-reference-photo{
    width:220px !important;
    height:220px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    object-position:center !important;
    box-shadow:none !important;
  }

  .about-reference-dog{
    top:-110px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }

  .about-reference-cat{
    bottom:-110px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }
}


/* =========================================================
   DESKTOP ABOUT v48 — typography and centering refinement
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  .about-reference-content{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  /* «О нас» matches the desktop «Продукция» section title. */
  .about-reference-content h2{
    font-family:Arial,"Segoe UI",sans-serif !important;
    font-size:44px !important;
    line-height:1.05 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    text-align:center !important;
  }

  /* Keep every reference line intact and center the complete text block on the page. */
  .about-reference-content p{
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-family:"MontserratLocal",Arial,"Segoe UI",sans-serif !important;
    font-size:18px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
}

/* =========================================================
   DESKTOP ABOUT v49 — exact reference composition
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  .about-reference{
    padding:78px 18px 105px !important;
    background:#fff !important;
  }

  .about-reference-wrap{
    width:100% !important;
    max-width:1124px !important;
    margin:0 auto !important;
  }

  .about-reference-card{
    position:relative !important;
    width:1124px !important;
    max-width:100% !important;
    height:618px !important;
    min-height:618px !important;
    margin:0 auto !important;
    padding:171px 80px 55px !important;
    border-radius:28px !important;
    background:linear-gradient(125deg,#8171c9 0%,#9d5eb6 46%,#82a8d7 100%) !important;
    display:block !important;
    overflow:visible !important;
  }

  .about-reference-content{
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  .about-reference-content h2{
    margin:0 0 36px !important;
    color:#fff !important;
    font-family:"MontserratLocal",Arial,sans-serif !important;
    font-size:28px !important;
    line-height:1.05 !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
    text-align:center !important;
  }

  .about-reference-content p{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 17px !important;
    color:#fff !important;
    font-family:"MontserratLocal",Arial,sans-serif !important;
    font-size:19px !important;
    line-height:1.18 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:normal !important;
  }

  /* Exact line breaks from the reference. */
  .about-reference-content p:nth-of-type(2){
    max-width:760px !important;
  }

  .about-reference-content p:nth-of-type(4){
    max-width:760px !important;
  }

  .about-reference-content .about-reference-strong{
    max-width:700px !important;
    margin:36px auto 0 !important;
    font-weight:600 !important;
    line-height:1.15 !important;
  }

  /* Reference uses three circular animal images above the card. */
  .about-reference-photo{
    position:absolute !important;
    z-index:3 !important;
    width:242px !important;
    height:242px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    object-position:center !important;
    box-shadow:none !important;
    display:block !important;
  }

  .about-reference-cat-left{
    top:-121px !important;
    left:25% !important;
    transform:translateX(-50%) !important;
    content:url("../assets/images/about-cat-left.png") !important;
  }

  .about-reference-dog{
    top:-121px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    content:url("../assets/images/about-dog-reference.png") !important;
  }

  .about-reference-cat{
    top:-121px !important;
    bottom:auto !important;
    left:75% !important;
    transform:translateX(-50%) !important;
    content:url("../assets/images/about-cat-right.png") !important;
  }
}

/* Hide the additional reference image everywhere except Desktop. */
.about-reference-cat-left{display:none;}

/* =========================================================
   DESKTOP ABOUT v49 — exact reference typography / line breaks
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  .about-reference-wrap{
    width:1124px !important;
    max-width:1124px !important;
    margin:0 auto !important;
  }

  .about-reference-card{
    width:1124px !important;
    max-width:1124px !important;
    height:618px !important;
    min-height:618px !important;
    padding:171px 80px 55px !important;
    border-radius:28px !important;
    display:block !important;
    overflow:visible !important;
  }

  .about-reference-content{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  .about-reference-content h2{
    margin:0 0 36px !important;
    font-family:"MontserratLocal",Arial,sans-serif !important;
    font-size:28px !important;
    line-height:1.05 !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
    text-align:center !important;
  }

  .about-reference-content p{
    width:100% !important;
    max-width:none !important;
    margin:0 auto 17px !important;
    font-family:"MontserratLocal",Arial,sans-serif !important;
    font-size:19px !important;
    line-height:1.18 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:normal !important;
  }

  .about-reference-content p:nth-of-type(2){margin-bottom:17px !important;}
  .about-reference-content p:nth-of-type(4){margin-bottom:36px !important;}

  .about-reference-content .about-reference-strong{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    font-weight:600 !important;
    line-height:1.16 !important;
  }

  .about-reference-break{display:inline !important;}

  .about-reference-photo{
    position:absolute !important;
    z-index:3 !important;
    width:242px !important;
    height:242px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    object-position:center !important;
    box-shadow:none !important;
    display:block !important;
  }

  .about-reference-cat-left{
    top:-121px !important;
    left:25% !important;
    transform:translateX(-50%) !important;
    content:url("../assets/images/about-cat-left.png") !important;
  }

  .about-reference-dog{
    top:-121px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    content:url("../assets/images/about-dog-reference.png") !important;
  }

  .about-reference-cat{
    top:-121px !important;
    bottom:auto !important;
    left:75% !important;
    transform:translateX(-50%) !important;
    content:url("../assets/images/about-cat-right.png") !important;
  }
}

/* =========================================================
   DESKTOP ABOUT v50 — wider background + lower section
   Desktop only. Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  .about-reference{
    padding-top:150px !important;
  }

  .about-reference-wrap{
    width:1236px !important;
    max-width:1236px !important;
  }

  .about-reference-card{
    width:1236px !important;
    max-width:1236px !important;
  }
}


/* SEO details: useful additional copy without changing the closed footer layout. */
.seo-details{margin-top:18px;max-width:560px;color:#5c5662;font-size:13px;line-height:1.5}
.seo-details summary{cursor:pointer;color:#6f55a8;font-weight:700}
.seo-details p{margin:10px 0 0}


/* ===== Dynamic carousel pagination: 3 -> 4 -> 5 -> 4 -> 3 ===== */
#products .rail-dots{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  min-height:16px!important;
}
#products .rail-dot{
  width:5px!important;
  height:5px!important;
  min-width:5px!important;
  min-height:5px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#d1d1d4!important;
  opacity:1!important;
  transform:none!important;
  cursor:pointer!important;
  transition:width .22s ease,height .22s ease,transform .22s ease,background .22s ease,opacity .22s ease!important;
}
#products .rail-dot.is-near{
  width:7px!important;
  height:7px!important;
  min-width:7px!important;
  min-height:7px!important;
}
#products .rail-dot.is-active{
  width:10px!important;
  height:10px!important;
  min-width:10px!important;
  min-height:10px!important;
  background:var(--purple,#8f56b9)!important;
  transform:none!important;
}
@media(max-width:1199px){
  #products .rail-dots{gap:7px!important;}
  #products .rail-dot{
    width:4.5px!important;
    height:4.5px!important;
    min-width:4.5px!important;
    min-height:4.5px!important;
  }
  #products .rail-dot.is-near{
    width:6.5px!important;
    height:6.5px!important;
    min-width:6.5px!important;
    min-height:6.5px!important;
  }
  #products .rail-dot.is-active{
    width:9px!important;
    height:9px!important;
    min-width:9px!important;
    min-height:9px!important;
  }
}

/* =========================================================
   DESKTOP PRODUCTS v73 — exact symmetric arrow spacing
   Keep the arrows mirrored against the outer grey card fields.
   Desktop only; mobile/tablet untouched.
   ========================================================= */
@media (min-width:1200px){
  #products .rail-controls{
    left:-76px !important;
    right:-76px !important;
    top:225px !important;
    transform:translateY(-50%) !important;
  }
}

/* DESKTOP v77 — вертикальное выравнивание блока благодарностей */
@media (min-width:1200px){
  .awards-after-about{
    padding-top:38px !important;
    padding-bottom:58px !important;
  }
  .awards-after-about .thanks-marketplace-inner{
    align-items:center !important;
  }
  .awards-after-about .thanks-marketplace-icon{
    align-self:center !important;
    margin:0 !important;
  }
  .awards-after-about .thanks-marketplace-buttons{
    margin-top:38px !important;
  }
}

/* DESKTOP v78 — equal vertical spacing before text and before marketplace buttons */
@media (min-width:1200px){
  .awards-after-about .thanks-marketplace-buttons{
    margin-top:126px !important;
  }
}

/* MOBILE v80 — reference line breaks in the awards text + lower kitten */
@media (max-width:700px){
  .awards-after-about .thanks-marketplace-copy{
    width:min(100%,360px) !important;
    max-width:360px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:520px){
  .awards-after-about .thanks-marketplace-copy{
    width:min(100%,360px) !important;
    max-width:360px !important;
  }
  .about-reference-cat{
    bottom:-120px !important;
  }
}

/* MOBILE v87 — kitten is positioned below the text by the same measured gap as dog-to-title. */
@media (max-width:900px){
  .about-reference-cat{
    bottom:auto !important;
  }
}


/* MOBILE v89 — symmetric animal placement and centered text between them. */
@media (max-width:900px){
  .about-reference-card{
    padding-top:105px !important;
    padding-bottom:105px !important;
  }
  .about-reference-dog{
    top:-120px !important;
  }
  .about-reference-cat{
    top:auto !important;
    bottom:-120px !important;
  }
}
@media (max-width:520px){
  .about-reference-card{
    padding-top:105px !important;
    padding-bottom:105px !important;
  }
}

/* MOBILE v90 — equal gap between the kitten and the awards icon to the dog/title gap. */
@media (max-width:900px){
  .thanks-marketplace-reference{
    padding-top:55px !important;
  }
}


/* MOBILE v91 — exact reference line breaks for the thanks text. */
.mobile-break{display:none;}
@media (max-width:700px){
  .thanks-marketplace-copy .desktop-break{display:none;}
  .thanks-marketplace-copy .mobile-break{display:inline;}
}

/* DESKTOP v92 — contact buttons: phone + MAX on top, email + VK below, equal widths. */
@media (min-width:1200px){
  #contacts .contact-box .contact-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:auto auto !important;
    gap:12px !important;
    width:504px !important;
    min-width:504px !important;
    flex:0 0 504px !important;
  }
  #contacts .contact-box .contact-btn{
    width:100% !important;
    min-width:0 !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  #contacts .contact-box .contact-phone{grid-column:1 !important;grid-row:1 !important;}
  #contacts .contact-box .contact-max{grid-column:2 !important;grid-row:1 !important;}
  #contacts .contact-box .contact-email{grid-column:1 !important;grid-row:2 !important;}
  #contacts .contact-box .contact-vk{grid-column:2 !important;grid-row:2 !important;}
}


/* DESKTOP v93 — contact buttons: MAX top-right, VK directly below MAX,
   email bottom-left, all buttons equal width and equal height. */
@media (min-width:1200px){
  #contacts .contact-box .contact-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:repeat(2,58px) !important;
    gap:12px !important;
    width:504px !important;
    min-width:504px !important;
    flex:0 0 504px !important;
    align-items:stretch !important;
  }

  #contacts .contact-box .contact-btn{
    width:100% !important;
    min-width:0 !important;
    height:58px !important;
    min-height:58px !important;
    max-height:58px !important;
    box-sizing:border-box !important;
    padding:0 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  /* Desired desktop order:
     top-left  — phone
     top-right — MAX
     bottom-left — email
     bottom-right — VK */
  #contacts .contact-box .contact-phone{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  #contacts .contact-box .contact-max{
    grid-column:2 !important;
    grid-row:1 !important;
  }
  #contacts .contact-box .contact-email{
    grid-column:1 !important;
    grid-row:2 !important;
  }
  #contacts .contact-box .contact-vk{
    grid-column:2 !important;
    grid-row:2 !important;
  }
}


/* DESKTOP v94 — product availability status badges. Mobile layout untouched. */
@media (min-width:1200px){
  #products .product-card-status .product-body{position:relative;}
  #products .product-status{
    position:absolute;
    z-index:12;
    top:16px;
    left:16px;
    display:flex;
    align-items:center;
    gap:9px;
    min-width:185px;
    padding:10px 14px 11px;
    border-radius:15px;
    background:rgba(255,255,255,.92);
    box-shadow:0 8px 24px rgba(48,40,54,.10);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    pointer-events:none;
  }
  #products .product-status-icon{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:grid;
    place-items:center;
    border-radius:10px;
    font-size:17px;
    line-height:1;
  }
  #products .product-status strong,
  #products .product-status small{display:block;}
  #products .product-status strong{
    font-size:14px;
    line-height:1.15;
    font-weight:800;
    letter-spacing:.01em;
  }
  #products .product-status small{
    margin-top:3px;
    font-size:11px;
    line-height:1.15;
    font-weight:600;
    color:#77727b;
  }
  #products .product-status-puppies .product-status-icon{background:#f7eadf;}
  #products .product-status-puppies strong{color:#8a5a34;}
  #products .product-status-cats .product-status-icon{background:#eee5f5;}
  #products .product-status-cats strong{color:#70428d;}
}


/* =========================================================
   DESKTOP PRODUCTS v95 — status moves directly onto package
   and category/icon labels are removed.
   Mobile/tablet layout remains untouched.
   ========================================================= */
@media (min-width:1200px){
  /* The status is now a compact, high-contrast marker over the
     package artwork rather than a label in the grey field. */
  #products .product-card-status .product-status{
    top:78px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:20 !important;
    min-width:0 !important;
    width:max-content !important;
    max-width:82% !important;
    padding:9px 18px 10px !important;
    border-radius:999px !important;
    gap:0 !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 8px 22px rgba(48,40,54,.16) !important;
    backdrop-filter:blur(5px) !important;
    -webkit-backdrop-filter:blur(5px) !important;
    pointer-events:none !important;
  }

  /* No animal/category icon. */
  #products .product-card-status .product-status-icon{
    display:none !important;
  }

  /* No "Для кошек / Для щенков" line — status itself is the focus. */
  #products .product-card-status .product-status strong{
    display:none !important;
  }

  #products .product-card-status .product-status > span{
    display:block !important;
  }

  #products .product-card-status .product-status small{
    display:block !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
    letter-spacing:.02em !important;
    white-space:nowrap !important;
    text-align:center !important;
    color:#fff !important;
  }

  /* Colored status itself gives the visual emphasis. */
  #products .product-card-status .product-status-puppies{
    background:#c86b79 !important;
    box-shadow:0 9px 24px rgba(171,76,94,.24) !important;
  }
  #products .product-card-status .product-status-cats{
    background:#8d5ab0 !important;
    box-shadow:0 9px 24px rgba(112,66,141,.24) !important;
  }
}


/* =========================================================
   MOBILE PRODUCTS v96 — same status treatment as desktop:
   status directly on package, no category/icon.
   ========================================================= */
@media (max-width:1199px){
  #products .product-card-status .product-status{
    top:54px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:20 !important;
    min-width:0 !important;
    width:max-content !important;
    max-width:82% !important;
    padding:7px 13px 8px !important;
    border-radius:999px !important;
    gap:0 !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 7px 18px rgba(48,40,54,.15) !important;
    backdrop-filter:blur(5px) !important;
    -webkit-backdrop-filter:blur(5px) !important;
    pointer-events:none !important;
  }

  #products .product-card-status .product-status-icon{
    display:none !important;
  }

  #products .product-card-status .product-status strong{
    display:none !important;
  }

  #products .product-card-status .product-status > span{
    display:block !important;
  }

  #products .product-card-status .product-status small{
    display:block !important;
    margin:0 !important;
    font-size:10px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
    text-align:center !important;
    color:#fff !important;
  }

  #products .product-card-status .product-status-puppies{
    background:#c86b79 !important;
    box-shadow:0 7px 18px rgba(171,76,94,.22) !important;
  }

  #products .product-card-status .product-status-cats{
    background:#8d5ab0 !important;
    box-shadow:0 7px 18px rgba(112,66,141,.22) !important;
  }
}


/* MOBILE v97 — anchor the status to each product card body.
   This prevents badges from floating between carousel cards. */
@media (max-width:1199px){
  #products .product-card-status .product-body{
    position:relative !important;
  }

  #products .product-card-status .product-status{
    top:54px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }
}


/* =========================================================
   PRODUCTS v98 — status is physically inside product-media.
   This anchors each badge to its own package area in the
   mobile carousel (and keeps desktop stable).
   ========================================================= */
#products .product-media{
  position:relative !important;
}

#products .product-media .product-status{
  position:absolute !important;
  top:26px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  z-index:50 !important;
  display:block !important;
  min-width:0 !important;
  width:max-content !important;
  max-width:82% !important;
  padding:7px 14px 8px !important;
  border-radius:999px !important;
  gap:0 !important;
  pointer-events:none !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

#products .product-media .product-status-icon,
#products .product-media .product-status strong{
  display:none !important;
}

#products .product-media .product-status > span{
  display:block !important;
}

#products .product-media .product-status small{
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
  text-align:center !important;
}

#products .product-media .product-status-puppies{
  background:#c86b79 !important;
  box-shadow:0 7px 18px rgba(171,76,94,.22) !important;
}

#products .product-media .product-status-cats{
  background:#8d5ab0 !important;
  box-shadow:0 7px 18px rgba(112,66,141,.22) !important;
}

@media (min-width:1200px){
  #products .product-media .product-status{
    top:32px !important;
    padding:9px 18px 10px !important;
  }
  #products .product-media .product-status small{
    font-size:13px !important;
  }
}

@media (max-width:560px){
  #products .product-media .product-status{
    top:22px !important;
    padding:6px 12px 7px !important;
    max-width:78% !important;
  }
  #products .product-media .product-status small{
    font-size:10px !important;
  }
}


/* =========================================================
   PRODUCTS v99 — status sits on the upper part of the package,
   halfway between the package top edge and the Billidog mark.
   Applies to desktop and mobile.
   ========================================================= */
#products .product-media .product-status{
  top:-12px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  z-index:60 !important;
}

@media (min-width:1200px){
  #products .product-media .product-status{
    top:-12px !important;
  }
}

@media (max-width:1199px){
  #products .product-media .product-status{
    top:-12px !important;
  }
}

@media (max-width:560px){
  #products .product-media .product-status{
    top:-10px !important;
  }
}


/* =========================================================
   PRODUCTS v100 — vertical centering of status between the
   package top edge and the Billidog inscription.
   The percentage is relative to the product-media height,
   so it scales consistently on desktop and mobile.
   ========================================================= */
#products .product-media .product-status{
  top:14% !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}

@media (min-width:1200px){
  #products .product-media .product-status{
    top:14% !important;
  }
}

@media (max-width:1199px){
  #products .product-media .product-status{
    top:14% !important;
  }
}

@media (max-width:560px){
  #products .product-media .product-status{
    top:13% !important;
  }
}


/* =========================================================
   PRODUCTS v101 — center the status vertically in the actual
   visual gap between the top edge of the package and the top
   of the Billidog inscription. The negative percentage tracks
   the responsive media height on desktop and mobile.
   ========================================================= */
#products .product-media .product-status{
  top:-11% !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}

@media (min-width:1200px){
  #products .product-media .product-status{
    top:-11% !important;
  }
}

@media (max-width:1199px){
  #products .product-media .product-status{
    top:-11% !important;
  }
}

@media (max-width:560px){
  #products .product-media .product-status{
    top:-11% !important;
  }
}


/* =========================================================
   PRODUCTS v102 — final status sticker styles
   1) Puppies: wavy ribbon
   4) Cats: brushstroke sticker
   Applied to desktop + mobile.
   ========================================================= */
#products .product-media .product-status{
  top:12% !important;
  left:50% !important;
  transform:translateX(-50%) rotate(-1.5deg) !important;
  z-index:60 !important;
  width:max-content !important;
  max-width:76% !important;
  min-width:0 !important;
  padding:7px 20px 8px !important;
  border-radius:2px !important;
  box-shadow:0 5px 12px rgba(45,35,50,.13) !important;
  pointer-events:none !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

/* remove old icon/category styling */
#products .product-media .product-status-icon,
#products .product-media .product-status strong{
  display:none !important;
}
#products .product-media .product-status > span{
  display:block !important;
}
#products .product-media .product-status small{
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:.015em !important;
  text-align:center !important;
  white-space:nowrap !important;
}

/* Puppy — coral wavy ribbon */
#products .product-media .product-status-puppies{
  background:#d86c78 !important;
  clip-path:polygon(
    0 10%, 4% 0, 8% 8%, 13% 0, 18% 8%, 23% 0,
    28% 8%, 33% 0, 38% 8%, 43% 0, 48% 8%, 53% 0,
    58% 8%, 63% 0, 68% 8%, 73% 0, 78% 8%, 83% 0,
    88% 8%, 93% 0, 100% 10%, 96% 50%, 100% 90%,
    93% 100%, 88% 92%, 83% 100%, 78% 92%, 73% 100%,
    68% 92%, 63% 100%, 58% 92%, 53% 100%, 48% 92%,
    43% 100%, 38% 92%, 33% 100%, 28% 92%, 23% 100%,
    18% 92%, 13% 100%, 8% 92%, 4% 100%, 0 90%, 4% 50%
  ) !important;
  box-shadow:0 7px 16px rgba(177,76,92,.22) !important;
}

/* Cats — brushstroke / irregular sticker */
#products .product-media .product-status-cats{
  background:#8050a2 !important;
  clip-path:polygon(
    0 18%, 7% 12%, 13% 17%, 20% 8%, 27% 15%, 34% 6%,
    41% 14%, 49% 8%, 57% 15%, 65% 7%, 73% 14%, 81% 8%,
    89% 17%, 100% 11%, 96% 30%, 100% 48%, 95% 66%,
    100% 84%, 91% 91%, 83% 86%, 75% 95%, 66% 88%,
    58% 96%, 49% 89%, 40% 97%, 32% 89%, 24% 94%,
    16% 86%, 8% 92%, 0 82%, 5% 65%, 0 49%, 5% 31%
  ) !important;
  box-shadow:0 7px 16px rgba(105,65,134,.22) !important;
  transform:translateX(-50%) rotate(-2deg) !important;
}

@media (max-width:560px){
  #products .product-media .product-status{
    top:11% !important;
    max-width:78% !important;
    padding:6px 14px 7px !important;
  }
  #products .product-media .product-status small{
    font-size:10px !important;
  }
}

@media (min-width:1200px){
  #products .product-media .product-status{
    top:12% !important;
    padding:8px 20px 9px !important;
  }
  #products .product-media .product-status small{
    font-size:13px !important;
  }
}

/* =========================================================
   PRODUCTS v103 — correct status placement.
   The status is on the upper part of the PACKAGE, directly
   above the Billidog inscription. It is not positioned in the
   grey card area. Desktop + mobile.
   ========================================================= */
#products .product-media{
  overflow:visible !important;
  position:relative !important;
}

#products .product-media .product-status{
  top:0 !important;
  left:50% !important;
  transform:translate(-50%, -18px) rotate(-1.5deg) !important;
  z-index:60 !important;
  width:max-content !important;
  max-width:58% !important;
  min-width:0 !important;
  padding:7px 18px 8px !important;
  pointer-events:none !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

#products .product-media .product-status-puppies{
  transform:translate(-50%, -18px) rotate(-1.5deg) !important;
}

#products .product-media .product-status-cats{
  transform:translate(-50%, -18px) rotate(-2deg) !important;
}

@media (max-width:900px){
  #products .product-media .product-status{
    max-width:62% !important;
    padding:6px 14px 7px !important;
    transform:translate(-50%, -14px) rotate(-1.5deg) !important;
  }
  #products .product-media .product-status-puppies,
  #products .product-media .product-status-cats{
    transform:translate(-50%, -14px) rotate(-1.5deg) !important;
  }
}

@media (max-width:560px){
  #products .product-media .product-status{
    max-width:64% !important;
    padding:5px 12px 6px !important;
    transform:translate(-50%, -10px) rotate(-1.5deg) !important;
  }
  #products .product-media .product-status small{
    font-size:10px !important;
  }
}

/* =========================================================
   PRODUCTS v104 — move both status ribbons higher by about
   1.5 ribbon heights. Same adjustment on desktop and mobile.
   ========================================================= */
#products .product-media .product-status{
  transform:translate(-50%, -63px) rotate(-1.5deg) !important;
}
#products .product-media .product-status-puppies{
  transform:translate(-50%, -63px) rotate(-1.5deg) !important;
}
#products .product-media .product-status-cats{
  transform:translate(-50%, -63px) rotate(-2deg) !important;
}

@media (max-width:900px){
  #products .product-media .product-status,
  #products .product-media .product-status-puppies,
  #products .product-media .product-status-cats{
    transform:translate(-50%, -44px) rotate(-1.5deg) !important;
  }
}

@media (max-width:560px){
  #products .product-media .product-status,
  #products .product-media .product-status-puppies,
  #products .product-media .product-status-cats{
    transform:translate(-50%, -40px) rotate(-1.5deg) !important;
  }
}

/* PRODUCTS v105 — return both status ribbons down by half a ribbon height. */
#products .product-media .product-status,
#products .product-media .product-status-puppies{
  transform:translate(-50%, -48px) rotate(-1.5deg) !important;
}
#products .product-media .product-status-cats{
  transform:translate(-50%, -48px) rotate(-2deg) !important;
}

@media (max-width:900px){
  #products .product-media .product-status,
  #products .product-media .product-status-puppies,
  #products .product-media .product-status-cats{
    transform:translate(-50%, -36px) rotate(-1.5deg) !important;
  }
}

@media (max-width:560px){
  #products .product-media .product-status,
  #products .product-media .product-status-puppies,
  #products .product-media .product-status-cats{
    transform:translate(-50%, -32px) rotate(-1.5deg) !important;
  }
}

/* PRODUCTS v106 — mobile cards 5px lower, desktop unchanged.
   Adds space between category buttons and the top of the packages. */
@media (max-width:900px){
  #products .product-rail > .carousel-track{
    padding-top:5px !important;
  }
}

/* PRODUCTS v107 — add visible breathing room BELOW the category
   buttons and BEFORE the product carousel on mobile. Desktop unchanged. */
@media (max-width:900px){
  #products .product-rail{
    margin-top:15px !important;
  }
}

/* PRODUCTS v108 — real mobile breathing room between category buttons
   and the carousel itself. Applied to the carousel wrapper, not the track. */
@media (max-width:900px){
  #products .product-rail-wrap{
    margin-top:25px !important;
  }
}

/* =========================================================
   PRODUCTS v109 — spacing fix.
   The desired air belongs BETWEEN the category buttons and the
   carousel. Do not move the cards internally and do not add
   spacing to the rail itself. Apply the same gap on desktop
   and mobile; desktop gets the existing filter spacing plus
   only a controlled extra amount.
   ========================================================= */
#products .product-rail-wrap{
  margin-top:0 !important;
}

@media (min-width:1200px){
  #products .product-filters{
    margin-bottom:52px !important;
  }
}

@media (max-width:1199px){
  #products .product-filters{
    margin-bottom:28px !important;
  }
}

/* PRODUCTS v110 — restore desktop spacing to the pre-error state.
   Only mobile gets the requested extra air between filter buttons and carousel. */
#products .product-rail-wrap{
  margin-top:0 !important;
}

@media (min-width:1200px){
  #products .product-filters{
    margin-bottom:34px !important;
  }
}

@media (max-width:1199px){
  #products .product-rail-wrap{
    margin-top:0 !important;
  }
  #products .product-filters{
    margin-bottom:55px !important;
  }
}

/* =========================================================
   PRODUCTS v111 — final vertical composition.
   Goal: when entering the Products section, the carousel sits
   visually centered in the viewport while the category buttons
   remain above it.
   Desktop: LESS air between filters and carousel.
   Mobile: MORE air between filters and carousel.
   Horizontal centering is preserved.
   ========================================================= */

/* Never let the previous experimental rail margins add extra air. */
#products .product-rail-wrap{
  margin-top:0 !important;
}

/* The section keeps its normal flow; the rail is centered horizontally. */
#products .product-rail-wrap,
#products .product-rail{
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (min-width:1200px){
  /* Desktop: compact gap between the category buttons and carousel. */
  #products .product-filters{
    margin-bottom:12px !important;
  }

  /* Keep the visible carousel composition centered horizontally. */
  #products .product-rail-wrap{
    display:block !important;
  }
}

@media (max-width:1199px){
  /* Mobile: deliberately larger breathing room after the 2x2 buttons. */
  #products .product-filters{
    margin-bottom:46px !important;
  }

  #products .product-rail-wrap{
    display:block !important;
  }
}

/* PRODUCTS v112 — desktop: pull the whole carousel upward,
   cutting the visible gap between category buttons and packages
   roughly in half. Mobile is intentionally unchanged. */
@media (min-width:1200px){
  #products .product-rail-wrap{
    transform:translateY(-58px) !important;
  }
}

/* PRODUCTS v113 — desktop status text must fit completely inside
   the decorative ribbons. Mobile is unchanged. */
@media (min-width:1200px){
  #products .product-media .product-status{
    max-width:78% !important;
    padding-left:12px !important;
    padding-right:12px !important;
    white-space:nowrap !important;
  }

  #products .product-media .product-status small{
    font-size:11px !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }
}

/* =========================================================
   PRODUCT MODAL v116 — desktop information arrangement follows
   the supplied reference:
   [badges] | [composition]
   [vitamins + micro] | [nutrition]
   Description remains available below the reference layout.
   Mobile keeps a single-column readable flow.
   ========================================================= */
.product-modal-reference-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
  grid-template-areas:
    "badges composition"
    "vitamins nutrition";
  column-gap:34px;
  row-gap:26px;
  margin-top:34px;
  align-items:start;
}
.product-modal-reference-badges{grid-area:badges;}
.product-modal-reference-composition{grid-area:composition;}
.product-modal-reference-vitamins{grid-area:vitamins;}
.product-modal-reference-nutrition{grid-area:nutrition;}

.product-modal-reference-grid h3,
.product-modal-reference-grid h4{
  font-size:18px;
  line-height:1.2;
  margin:0 0 8px;
  color:#171519;
  font-weight:800;
}
.product-modal-reference-grid p{
  font-size:15px;
  line-height:1.22;
  margin:0;
  color:#26232a;
}
.product-modal-reference-vitamins .micro-title{
  margin-top:24px;
}
.product-modal-reference-badges .product-modal-badges-mobile{
  display:none!important;
}
.product-modal-reference-badges .product-modal-badges-desktop{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:18px!important;
  align-items:start!important;
}
.product-modal-reference-badges .product-modal-badges-desktop img{
  width:100%!important;
  max-width:225px!important;
  height:auto!important;
  margin:0 auto!important;
  display:block!important;
  object-fit:contain!important;
}

.product-modal-description-section{
  margin-top:28px;
}
.product-modal-description-section h3{
  font-size:18px;
  margin:0 0 8px;
  font-weight:800;
}
.product-modal-description-section p{
  font-size:15px;
  line-height:1.28;
  margin:0;
}

@media (max-width:900px){
  .product-modal-reference-grid{
    display:flex;
    flex-direction:column;
    gap:24px;
    margin-top:26px;
  }
  .product-modal-reference-badges,
  .product-modal-reference-composition,
  .product-modal-reference-vitamins,
  .product-modal-reference-nutrition{
    width:100%;
  }
  .product-modal-reference-badges .product-modal-badges-desktop{
    display:none!important;
  }
  .product-modal-reference-badges .product-modal-badges-mobile{
    display:flex!important;
    justify-content:center!important;
    margin-top:0!important;
  }
  .product-modal-reference-badges .product-modal-badges-mobile img{
    width:min(300px,100%)!important;
    max-width:300px!important;
  }
  .product-modal-reference-grid h3,
  .product-modal-reference-grid h4{
    font-size:18px;
  }
  .product-modal-reference-grid p{
    font-size:14px;
  }
  .product-modal-description-section{
    margin-top:24px;
  }
}

/* =========================================================
   PRODUCT MODAL v117 — exact desktop block placement from
   supplied reference screenshot.
   The data itself is still populated per individual product
   from productInfoByTitle in main.js.
   ========================================================= */
@media (min-width:901px){
  .product-modal-box{
    width:min(1120px,100%);
    padding:42px 44px 46px;
  }

  /* Top reference: package left, title/weight/actions right. */
  .product-modal-top{
    grid-template-columns:minmax(330px,.78fr) minmax(470px,1.22fr);
    gap:54px;
    align-items:start;
  }
  .product-modal-media{
    min-height:360px;
    height:360px;
    padding:4px 12px 0;
  }
  .product-modal-media img{
    height:360px;
  }
  .product-modal-summary{
    padding-top:8px;
  }

  /* Reference information starts directly under the top block. */
  .product-modal-reference-grid{
    grid-template-columns:minmax(290px,.68fr) minmax(0,1.32fr);
    grid-template-areas:
      "badges composition"
      "vitamins nutrition";
    column-gap:70px;
    row-gap:26px;
    margin-top:34px;
  }

  /* Two certification marks: compact and side-by-side,
     as in the reference. */
  .product-modal-reference-badges .product-modal-badges-desktop{
    width:290px!important;
    max-width:290px!important;
    grid-template-columns:125px 125px!important;
    column-gap:40px!important;
    justify-content:start!important;
  }
  .product-modal-reference-badges .product-modal-badges-desktop img{
    width:125px!important;
    max-width:125px!important;
  }

  /* Reference typography and density. */
  .product-modal-reference-grid h3,
  .product-modal-reference-grid h4{
    font-size:18px!important;
    line-height:1.2!important;
    margin-bottom:8px!important;
  }
  .product-modal-reference-grid p{
    font-size:13.5px!important;
    line-height:1.12!important;
  }
  .product-modal-reference-vitamins .micro-title{
    margin-top:24px!important;
  }

  /* Keep description after the reference blocks; it does not
     disturb the reference composition visible in the first view. */
  .product-modal-description-section{
    margin-top:30px;
  }
}

@media (max-width:900px){
  /* Keep mobile single-column, but retain the same logical order
     as the reference: marks → composition → vitamins/micro → nutrition. */
  .product-modal-reference-grid{
    display:flex;
    flex-direction:column;
    gap:24px;
    margin-top:26px;
  }
  .product-modal-description-section{
    margin-top:24px;
  }
}

/* PRODUCTS v120 — readability only.
   Only the four reference information blocks are enlarged.
   No layout, content, modal behavior, packaging, buttons or description changes. */
.product-modal-reference-grid h3,
.product-modal-reference-grid h4{
  font-size:20px !important;
  line-height:1.2 !important;
  margin-bottom:10px !important;
}

.product-modal-reference-grid p{
  font-size:16px !important;
  line-height:1.28 !important;
}

@media (max-width:900px){
  .product-modal-reference-grid h3,
  .product-modal-reference-grid h4{
    font-size:18px !important;
  }

  .product-modal-reference-grid p{
    font-size:15px !important;
    line-height:1.3 !important;
  }
}

/* PRODUCTS v122 — hide only the textual Description section.
   IMPORTANT: keep #productModalDescription in the DOM so product cards
   continue opening their modal normally. No JS/card behavior changed. */
.product-modal-description-section{
  display:none !important;
}

/* PRODUCTS v123 — readability of the two information marks only.
   No card/modal behavior or other typography is changed. */
@media (min-width:901px){
  .product-modal-reference-badges .product-modal-badges-desktop{
    transform:scale(1.12);
    transform-origin:center center;
  }
}
@media (max-width:900px){
  .product-modal-reference-badges .product-modal-badges-mobile img{
    transform:scale(1.08);
    transform-origin:center center;
  }
}

/* PRODUCTS v124 — make only the two certification marks larger. */
@media (min-width:901px){
  .product-modal-reference-badges .product-modal-badges-desktop{
    transform:scale(1.28) !important;
    transform-origin:center center !important;
  }
}
@media (max-width:900px){
  .product-modal-reference-badges .product-modal-badges-mobile img{
    transform:scale(1.20) !important;
    transform-origin:center center !important;
  }
}

/* PRODUCTS v125 — use the available badge area more fully.
   Only the two certification blocks are resized/re-spaced. */
@media (min-width:901px){
  .product-modal-reference-badges{
    width:100% !important;
  }

  .product-modal-reference-badges .product-modal-badges-desktop{
    width:100% !important;
    max-width:none !important;
    grid-template-columns:1fr 1fr !important;
    column-gap:12px !important;
    align-items:center !important;
    transform:none !important;
  }

  .product-modal-reference-badges .product-modal-badges-desktop img{
    width:100% !important;
    max-width:150px !important;
    height:auto !important;
    margin:0 auto !important;
    transform:scale(1.18) !important;
    transform-origin:center center !important;
  }
}

@media (max-width:900px){
  .product-modal-reference-badges .product-modal-badges-mobile img{
    transform:scale(1.30) !important;
    transform-origin:center center !important;
  }
}

/* PRODUCTS v126 — final tuning of the two certification tables.
   Desktop only: move them slightly down, increase the gap, and
   scale them a little so the text inside is more readable. */
@media (min-width:901px){
  .product-modal-reference-badges .product-modal-badges-desktop{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:30px !important;
    align-items:center !important;
    padding-top:22px !important;
  }

  .product-modal-reference-badges .product-modal-badges-desktop img{
    max-width:165px !important;
    width:165px !important;
    margin:0 auto !important;
    transform:scale(1.04) !important;
    transform-origin:center center !important;
  }
}

/* PRODUCTS v127 — increase readability of the two certification tables. */
@media (min-width:901px){
  .product-modal-reference-badges .product-modal-badges-desktop{
    column-gap:24px !important;
  }

  .product-modal-reference-badges .product-modal-badges-desktop img{
    width:185px !important;
    max-width:185px !important;
    transform:scale(1.06) !important;
    transform-origin:center center !important;
  }
}

/* PRODUCTS v128 — separate and lower the two certification tables.
   Desktop only; all product data and modal behavior remain untouched. */
@media (min-width:901px){
  .product-modal-reference-badges .product-modal-badges-desktop{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    column-gap:52px !important;
    row-gap:0 !important;
    padding-top:38px !important;
    padding-left:4px !important;
    padding-right:4px !important;
  }

  .product-modal-reference-badges .product-modal-badges-desktop img{
    width:170px !important;
    max-width:170px !important;
    margin:0 auto !important;
    transform:scale(1.03) !important;
    transform-origin:center center !important;
  }
}

/* PRODUCTS v129 — desktop line wrapping to match the supplied reference.
   Text/content is untouched; only the two lower information blocks are laid out. */
@media (min-width:901px){
  .product-modal-reference-info{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap:44px !important;
    align-items:start !important;
  }

  .product-modal-reference-info .product-modal-vitamins,
  .product-modal-reference-info .product-modal-nutrition{
    min-width:0 !important;
  }

  .product-modal-reference-info .product-modal-vitamins .product-modal-vitamins-columns,
  .product-modal-reference-info .product-modal-nutrition .product-modal-nutrition-columns{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap:24px !important;
    align-items:start !important;
  }

  .product-modal-reference-info .product-modal-vitamins .product-modal-vitamins-columns > *,
  .product-modal-reference-info .product-modal-nutrition .product-modal-nutrition-columns > *{
    min-width:0 !important;
  }
}

/* PRODUCTS v130 — match reference word wrapping in the lower information blocks.
   The product-specific text remains unchanged. Only the desktop column proportions
   are corrected so Vitamins/Microelements and Nutritional value have the same
   readable widths as in the reference. */
@media (min-width:901px){
  .product-modal-reference-grid{
    grid-template-columns:minmax(0,.85fr) minmax(0,1fr) !important;
    column-gap:70px !important;
  }

  .product-modal-reference-vitamins,
  .product-modal-reference-nutrition{
    min-width:0 !important;
  }

  .product-modal-reference-vitamins p,
  .product-modal-reference-nutrition p{
    max-width:none !important;
    width:100% !important;
  }
}

/* PRODUCTS v131 — exact reference-style line grouping for Vitamins and Nutrition.
   Desktop only. Product-specific text is unchanged; the semicolon-separated
   values are placed into the same two visual columns as the supplied reference. */
@media (min-width:901px){
  .product-modal-reference-vitamins p,
  .product-modal-reference-nutrition p{
    width:100% !important;
    max-width:none !important;
  }

  .reference-text-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:24px !important;
    align-items:start !important;
  }

  .reference-text-column{
    min-width:0 !important;
  }

  .reference-text-column > div{
    margin:0 0 2px !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
}

@media (max-width:900px){
  .reference-text-columns{
    display:block;
  }
  .reference-text-column + .reference-text-column{
    margin-top:0;
  }
}

/* PRODUCTS v132 — reference geometry for the information blocks.
   Desktop: badges/composition on the first row; vitamins/nutrition below;
   microelements below the left column. Text is grouped into the same
   visual columns as the supplied reference. */
@media (min-width:901px){
  .product-modal-reference-grid{
    display:grid !important;
    grid-template-columns:minmax(0,44%) minmax(0,56%) !important;
    grid-template-areas:
      "badges composition"
      "vitamins nutrition"
      "vitamins nutrition"
      "micro nutrition" !important;
    column-gap:28px !important;
    row-gap:24px !important;
    align-items:start !important;
  }

  .product-modal-reference-badges{
    grid-area:badges !important;
    width:100% !important;
    min-width:0 !important;
  }

  .product-modal-reference-composition{
    grid-area:composition !important;
    width:100% !important;
    min-width:0 !important;
  }

  .product-modal-reference-vitamins{
    grid-area:vitamins !important;
    width:100% !important;
    min-width:0 !important;
  }

  .product-modal-reference-nutrition{
    grid-area:nutrition !important;
    width:100% !important;
    min-width:0 !important;
  }

  .product-modal-reference-vitamins .reference-text-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:10px !important;
    width:100% !important;
  }

  .product-modal-reference-nutrition .reference-text-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:24px !important;
    width:100% !important;
  }

  .reference-text-column{
    min-width:0 !important;
  }

  .reference-text-column > div{
    margin:0 0 2px !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    line-height:1.16 !important;
  }

  .reference-column-label{
    font-weight:400 !important;
    margin-bottom:2px !important;
  }

  .product-modal-reference-vitamins h4,
  .product-modal-reference-nutrition h4{
    margin-bottom:6px !important;
  }

  .product-modal-reference-vitamins .micro-title{
    margin-top:18px !important;
  }
}

/* Keep the same single-column behaviour on mobile; no content changes. */
@media (max-width:900px){
  .product-modal-reference-vitamins .reference-text-columns,
  .product-modal-reference-nutrition .reference-text-columns{
    display:block !important;
  }
}

/* PRODUCTS v133 — three vitamin columns in one horizontal row,
   plus an explicit product-specific energy line in nutrition. */
@media (min-width:901px){
  .product-modal-reference-grid{
    grid-template-columns:minmax(0,44%) minmax(0,56%) !important;
  }

  .product-modal-reference-vitamins .reference-text-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(0,1.15fr) minmax(0,.9fr) !important;
    column-gap:14px !important;
    align-items:start !important;
  }

  .product-modal-reference-vitamins .reference-text-column{
    min-width:0 !important;
  }

  .product-modal-reference-vitamins .reference-text-column > div{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    line-height:1.14 !important;
  }

  .product-modal-reference-vitamins .reference-column-label{
    margin-bottom:3px !important;
  }

  .product-modal-reference-nutrition .reference-text-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:24px !important;
    align-items:start !important;
  }

  .product-modal-reference-nutrition .nutrition-energy{
    grid-column:1 / -1 !important;
    margin-top:5px !important;
    font-weight:700 !important;
  }
}


/* PRODUCTS v134 — exact reference grouping for vitamins.
   Cyrillic "В" in the source cards is treated the same as Latin "B":
   A/D3/E/C/H | B1/B2/B3/B4 | B5/B6/B7/B9/B12. */
@media (min-width:901px){
  .product-modal-reference-vitamins .reference-text-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(0,1.15fr) minmax(0,.9fr) !important;
    column-gap:14px !important;
    width:100% !important;
    align-items:start !important;
  }

  .product-modal-reference-vitamins .reference-text-column{
    min-width:0 !important;
  }

  .product-modal-reference-vitamins .reference-text-column > div{
    display:block !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    line-height:1.14 !important;
    margin:0 0 2px !important;
  }

  .product-modal-reference-vitamins .reference-column-label{
    display:block !important;
    margin:0 0 3px !important;
  }

  /* Energy value belongs to the lower-right nutrition block, as in the reference. */
  .product-modal-reference-nutrition .reference-text-columns .nutrition-energy{
    grid-column:2 !important;
    grid-row:2 !important;
    margin-top:5px !important;
    font-weight:700 !important;
    align-self:start !important;
  }
}


/* PRODUCTS v136 — final reference corrections:
   keep the B-group heading on one line; nutrition follows the reference's
   8-items-left / 7-items-right split; energy stays on one line in the right column. */
@media (min-width:901px){
  .product-modal-reference-vitamins .reference-column-label{
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }

  .product-modal-reference-nutrition .reference-text-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:24px !important;
    align-items:start !important;
  }

  .product-modal-reference-nutrition .reference-text-column{
    min-width:0 !important;
  }

  .product-modal-reference-nutrition .nutrition-energy{
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    display:block !important;
    grid-column:auto !important;
    grid-row:auto !important;
    margin-top:5px !important;
    font-weight:700 !important;
  }
}


/* PRODUCTS v137 — typography/spacing corrections only.
   Keep B-group label and measurement units intact; move energy to the
   left edge of the nutrition block with a clear vertical gap. */
@media (min-width:901px){
  /* The label must never break after "Витамины группы". */
  .product-modal-reference-vitamins .reference-column-label{
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    width:max-content !important;
    max-width:none !important;
    font-size:15px !important;
    letter-spacing:-0.15px !important;
  }

  /* Do not split "МЕ" or other measurement units from their value. */
  .product-modal-reference-vitamins .reference-text-column > div{
    font-size:15px !important;
  }
  .product-modal-reference-vitamins .reference-text-column > div{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
  .product-modal-reference-vitamins .reference-text-column > div{
    /* Keep each complete measurement expression together. */
    display:block !important;
  }

  /* Energy: clear gap below the nutrition block, aligned to its left edge,
     and kept on one line. */
  .product-modal-reference-nutrition .reference-text-columns .nutrition-energy{
    grid-column:1 / -1 !important;
    grid-row:auto !important;
    justify-self:start !important;
    margin-top:10px !important;
    margin-left:0 !important;
    padding-left:0 !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    font-weight:700 !important;
  }
}

/* Wrap only the vitamin unit suffix as an indivisible token. */
@media (min-width:901px){
  .product-modal-reference-vitamins .reference-text-column > div{
    word-spacing:normal !important;
  }
}


/* PRODUCTS v138 — reference typography:
   every vitamin/nutrient line is indivisible; measurement units stay on
   the same line as their numeric value. The three vitamin columns remain
   horizontal exactly like the reference. */
@media (min-width:901px){
  .product-modal-reference-vitamins .reference-text-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.78fr) !important;
    column-gap:12px !important;
    align-items:start !important;
    width:100% !important;
  }

  .product-modal-reference-vitamins .reference-text-column{
    min-width:0 !important;
    overflow:visible !important;
  }

  .product-modal-reference-vitamins .reference-item-nowrap{
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    font-size:13.5px !important;
    line-height:1.28 !important;
    letter-spacing:-0.1px !important;
  }

  .product-modal-reference-vitamins .reference-column-label{
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    font-size:13.5px !important;
    line-height:1.28 !important;
    letter-spacing:-0.1px !important;
    width:max-content !important;
    max-width:none !important;
  }

  /* Nutrition values: keep each metric intact, but allow the two
     reference columns themselves to wrap independently. */
  .product-modal-reference-nutrition .reference-text-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:24px !important;
    align-items:start !important;
  }

  .product-modal-reference-nutrition .reference-item-nowrap{
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    font-size:14px !important;
    line-height:1.28 !important;
  }

  .product-modal-reference-nutrition .nutrition-energy{
    grid-column:1 / -1 !important;
    justify-self:start !important;
    margin-top:10px !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    font-weight:700 !important;
    font-size:14px !important;
  }
}


/* PRODUCTS v141 — only heading sizes + exact energy placement.
   All body text remains exactly as in v138. */
@media (min-width:901px){
  /* Composition heading: keep v138 size unchanged. */
  .product-modal-reference-composition h3{
    font-size:18px !important;
    line-height:1.2 !important;
  }

  /* Only these three headings are slightly smaller. */
  .product-modal-reference-vitamins h4:not(.micro-title),
  .product-modal-reference-vitamins .micro-title,
  .product-modal-reference-nutrition h4{
    font-size:16px !important;
    line-height:1.2 !important;
  }

  /* Do not allow a value + measurement unit to break apart. */
  .product-modal-reference-vitamins .reference-item-nowrap,
  .product-modal-reference-nutrition .reference-item-nowrap{
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }

  /* Energy is a separate line BELOW the nutrition columns,
     aligned with the LEFT nutrition column and kept on one line. */
  .product-modal-reference-nutrition .reference-text-columns{
    position:relative !important;
  }

  .product-modal-reference-nutrition .nutrition-energy{
    display:block !important;
    width:max-content !important;
    max-width:none !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    margin-top:10px !important;
    margin-left:0 !important;
    padding:0 !important;
    font-weight:700 !important;
  }
}


/* PRODUCTS v142 — enlarge the two certification tables only.
   Desktop only: larger readable text, tighter gap between the two tables.
   No content, mobile layout or modal behavior is changed. */
@media (min-width:901px){
  .product-modal-reference-badges .product-modal-badges-desktop{
    width:350px !important;
    max-width:350px !important;
    grid-template-columns:165px 165px !important;
    column-gap:20px !important;
    justify-content:start !important;
  }

  .product-modal-reference-badges .product-modal-badges-desktop img{
    width:165px !important;
    max-width:165px !important;
    height:auto !important;
    transform:none !important;
    margin:0 !important;
  }
}


/* PRODUCTS v143 — actual scale-up of the certification tables.
   The table images themselves become larger (including their borders
   and the text inside). The gap between them is kept compact.
   Desktop only; content and mobile are untouched. */
@media (min-width:901px){
  .product-modal-reference-badges .product-modal-badges-desktop{
    width:390px !important;
    max-width:390px !important;
    grid-template-columns:190px 190px !important;
    column-gap:10px !important;
    justify-content:start !important;
    align-items:start !important;
  }

  .product-modal-reference-badges .product-modal-badges-desktop img{
    display:block !important;
    width:190px !important;
    max-width:190px !important;
    height:auto !important;
    margin:0 !important;
    transform:none !important;
  }
}


/* PRODUCTS v150 — mobile badge pair and nutrition energy spacing.
   Mobile only; desktop reference layout remains unchanged. */
@media (max-width:900px){
  .product-modal-reference-badges .product-modal-badges-mobile{
    display:grid !important;
    width:calc(100% - 16px) !important;
    max-width:calc(100% - 16px) !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:16px !important;
    align-items:start !important;
    justify-content:center !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  .product-modal-reference-badges .product-modal-badges-mobile img{
    display:block !important;
    width:100% !important;
    max-width:150px !important;
    height:auto !important;
    margin:0 auto !important;
    object-fit:contain !important;
  }

  .product-modal-reference-nutrition .nutrition-energy{
    display:block !important;
    width:max-content !important;
    max-width:100% !important;
    margin-top:14px !important;
    padding:0 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }
}

/* v157 — mobile product certification tables: smaller, centered pair with a compact gap. */
@media (max-width:900px){
  .product-modal-reference-badges .product-modal-badges-mobile{
    display:grid !important;
    width:272px !important;
    max-width:calc(100% - 20px) !important;
    grid-template-columns:132px 132px !important;
    column-gap:8px !important;
    align-items:start !important;
    justify-content:center !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  .product-modal-reference-badges .product-modal-badges-mobile img{
    display:block !important;
    width:132px !important;
    max-width:132px !important;
    height:auto !important;
    margin:0 !important;
    object-fit:contain !important;
  }
}

/* v159 — mobile certification tables: remove legacy scale transforms and
   keep the two images as a true centered pair with a real gap between them. */
@media (max-width:900px){
  .product-modal-reference-grid .product-modal-reference-badges .product-modal-badges-mobile{
    display:grid !important;
    width:328px !important;
    max-width:calc(100% - 20px) !important;
    grid-template-columns:160px 160px !important;
    column-gap:8px !important;
    align-items:start !important;
    justify-content:center !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
    transform:none !important;
  }

  .product-modal-reference-grid .product-modal-reference-badges .product-modal-badges-mobile img{
    display:block !important;
    width:160px !important;
    max-width:160px !important;
    height:auto !important;
    margin:0 !important;
    object-fit:contain !important;
    transform:none !important;
    transform-origin:center center !important;
  }
}


/* v160 — mobile certification tables: scale the centered pair to fill the
   available content width while keeping a small equal gap between them. */
@media (max-width:900px){
  .product-modal-reference-grid .product-modal-reference-badges .product-modal-badges-mobile{
    width:328px !important;
    max-width:calc(100% - 20px) !important;
    grid-template-columns:160px 160px !important;
    column-gap:8px !important;
    justify-content:center !important;
    margin:0 auto !important;
  }
  .product-modal-reference-grid .product-modal-reference-badges .product-modal-badges-mobile img{
    width:160px !important;
    max-width:160px !important;
    transform:none !important;
    margin:0 !important;
  }
}

/* Browser webmail chooser for the email contact button. */
.email-chooser-modal{z-index:1300;}
.email-chooser-box{width:min(560px,100%);padding:38px;}
.email-chooser-box h2{margin-bottom:12px;}
.email-chooser-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.email-provider-btn{display:flex;align-items:center;justify-content:center;min-height:54px;padding:10px 12px;border-radius:16px;background:#f3edf8;color:#6b398c;text-decoration:none;font-weight:800;text-align:center;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
.email-provider-btn:hover{transform:translateY(-2px);background:#eadff1;box-shadow:0 8px 20px rgba(107,57,140,.12);}
@media(max-width:560px){
  .email-chooser-box{padding:28px 22px;}
  .email-chooser-actions{grid-template-columns:1fr;gap:9px;}
  .email-provider-btn{min-height:50px;}
}
