/* Common visual standard for catalog and product cards. */
:root{--product-card-bg:#f3f3f5;--product-card-line:#d8d8da;--product-card-label:#62686c;--product-card-ink:#101014;--product-card-accent:#d11d23}
body.catalog-page :is(.motoblock-card,.cart-card,.generator-card,.category-card){box-sizing:border-box;display:flex;flex-direction:column;min-width:0;height:auto;min-height:620px;overflow:hidden;border:1px solid #e5e5e7;border-radius:0;background:var(--product-card-bg);color:var(--product-card-ink);box-shadow:0 4px 16px #0004;transition:border-color .15s ease,box-shadow .15s ease}
body.catalog-page :is(.motoblock-card,.cart-card,.generator-card,.category-card):hover,body.catalog-page :is(.motoblock-card,.cart-card,.generator-card,.category-card):focus-within{border-color:var(--product-card-accent);box-shadow:0 4px 16px #0004}
body.catalog-page :is(.motoblock-card-photo,.cart-photo,.generator-card-photo,.category-card-photo){display:block;flex:0 0 286px;width:100%;height:286px;overflow:hidden;background:#f0f0f1}
body.catalog-page :is(.motoblock-card-photo,.cart-photo,.generator-card-photo,.category-card-photo) img{display:block;width:100%;height:100%;object-fit:cover}
body.catalog-page :is(.motoblock-card-content,.cart-info,.generator-card-content,.category-card-copy){box-sizing:border-box;display:flex;flex:1;flex-direction:column;align-items:stretch;padding:14px 16px 12px}
body.catalog-page :is(.motoblock-card,.cart-card,.generator-card,.category-card) h2{margin:0 0 8px;color:var(--product-card-ink);font:400 21px/1.2 var(--font-family-heading);text-transform:uppercase}
body.catalog-page :is(.motoblock-card-type,.cart-model,.generator-card-type,.category-card-type){margin:0;color:var(--product-card-label);font:400 18px/1.3 var(--font-family-primary)}
body.catalog-page :is(.motoblock-specs,.cart-specs,.generator-specs,.category-specs){display:grid;gap:0;margin:25px 0 0}
body.catalog-page :is(.motoblock-spec,.cart-specs>div,.generator-spec,.category-spec){box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 0;border:0;border-bottom:1px solid rgba(98,104,108,.7);font:400 14px/1.3 var(--font-family-primary)}
body.catalog-page :is(.motoblock-spec,.generator-spec){display:grid;grid-template-columns:minmax(0,1fr) auto}
body.catalog-page :is(.motoblock-spec span,.cart-specs dt,.generator-spec span,.category-spec dt){min-width:0;color:var(--product-card-label);font-weight:400}
body.catalog-page :is(.motoblock-spec b,.cart-specs dd,.generator-spec b,.category-spec dd){min-width:0;margin:0;color:rgba(0,0,0,.8);font-size:14px;font-weight:400;text-align:right}
body.catalog-page :is(.motoblock-details,.cart-more,.generator-details,.category-card-link){position:static;display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding:14px 0 0;color:var(--product-card-accent);font:400 14px/1.2 var(--font-family-primary);text-decoration:none}
body.catalog-page :is(.motoblock-details,.cart-more,.generator-details,.category-card-link)::after{position:absolute;inset:0;z-index:2;content:""}
body.catalog-page :is(.motoblock-details span,.cart-more span,.generator-details span,.category-card-link span){display:block;flex:0 0 30px;width:30px;height:15px;overflow:hidden;background:url("../assets/catalog/arrow.svg") center/30px 15px no-repeat;font-size:0;line-height:0}
body.catalog-page :is(.motoblock-details,.cart-more,.generator-details,.category-card-link):hover{text-decoration:none}
body.catalog-page :is(.motoblock-grid,.carts-grid,.generator-grid,.category-card-grid){align-items:stretch}
body.catalog-page :is(.motoblock-card,.cart-card,.generator-card,.category-card)[hidden]{display:none}

/* Feature cards use the generator BGU-3300 style. Text and icon assets stay product-specific. */
.mobile-page .features{padding-top:22px;scroll-margin-top:12px}
.mobile-page .features h2{margin:0 0 12px;font:400 21px/1.18 var(--font-family-primary);color:#111;text-transform:uppercase}
.mobile-page .feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.mobile-page .feature-card{box-sizing:border-box;min-width:0;min-height:0;padding:20px 18px 22px;border:1px solid #d8d8da;border-radius:0;background:#f4f4f6;color:#111;box-shadow:none}
.mobile-page .feature-icon{display:flex;align-items:center;justify-content:flex-start;width:32px;height:32px;min-height:32px;margin:0 0 10px;color:var(--product-card-accent);font-size:28px;line-height:1}
.mobile-page .feature-icon img,.mobile-page .feature-icon svg{display:block;width:100%;height:100%;max-width:32px;max-height:32px;object-fit:contain}
.mobile-page .feature-card h3{margin:0 0 8px;color:#111;font:400 16px/1.25 var(--font-family-primary);text-transform:uppercase}
.mobile-page .feature-card strong{display:block;margin:0 0 8px;color:#62686c;font:400 14px/1.3 var(--font-family-primary)}
.mobile-page .feature-card p{margin:0;color:#62686c;font:400 16px/1.4 var(--font-family-primary)}

/* Shared desktop Russia feature block. Photo-only tiller section is excluded. */
@media(min-width:768px){
 .generator-production:not(.tiller-production-photo),.product-russia{position:relative;box-sizing:border-box;overflow:hidden;margin-block:60px;padding:0;background:#060707;color:#fff}
 .generator-production:not(.tiller-production-photo) .generator-production-top{position:relative;min-height:380px;padding:0 24px;background:#060707}
 .generator-production:not(.tiller-production-photo) .generator-production-copy,.product-russia-copy{position:relative;z-index:2;box-sizing:border-box;width:58%;max-width:590px;min-height:380px;padding:26px 0 22px}
 .generator-production:not(.tiller-production-photo) .generator-photo-production{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;object-fit:cover;opacity:1}
 .generator-production:not(.tiller-production-photo) .generator-photo-production>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
 .generator-production:not(.tiller-production-photo) .generator-production-top:after{position:absolute;z-index:1;inset:0;content:"";pointer-events:none;background:linear-gradient(90deg,#060707 0%,#060707e8 38%,#06070780 60%,transparent 86%)}
 .product-russia-photo{position:absolute;z-index:0;inset:0 0 auto auto;display:block;width:100%;height:380px;max-width:none;max-height:none;margin:0;object-fit:cover;opacity:1;transform:none}
 .product-russia:after{position:absolute;z-index:1;inset:0;content:"";pointer-events:none;background:linear-gradient(90deg,#060707 0%,#060707e8 38%,#06070780 60%,transparent 86%)}
 .generator-production-copy h2,.product-russia-copy h2{position:relative;z-index:2;margin:0 0 24px;color:#fff;font:400 35px/1.2 var(--font-family-heading);text-transform:uppercase}
 .generator-production-copy>p,.product-russia-copy>p{position:relative;z-index:2;max-width:590px;margin:12px 0;color:#fff;font:400 20px/1.5 var(--font-family-primary)}
 .generator-production-values,.product-russia-values{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;box-sizing:border-box;margin:0;padding:28px 24px;background:#060707 url("../desktop-product-pages/assets/banners/russia-values-bg.png") center/cover no-repeat}
 .generator-production-values>article,.product-russia-values>div{position:relative;display:flex;align-items:flex-start;gap:16px;box-sizing:border-box;min-width:0;min-height:74px;margin:0;padding:0 20px 0 0;border:0;background:transparent;box-shadow:none}
 .generator-production-values>article+article,.product-russia-values>div+div{border-left:1px solid #62686c;padding-left:24px}
 .generator-production-values>article>img,.product-russia-values img{position:static;flex:0 0 50px;width:50px;height:60px;margin:0;object-fit:contain}
 .generator-production-values h3,.product-russia-values h3{margin:0;color:#fff;font:400 15px/1.4 var(--font-family-primary);text-transform:uppercase}
 .generator-production-values p,.product-russia-values p{margin:8px 0 0;color:#fff;font:400 14px/1.45 var(--font-family-primary)}
}
@media(max-width:1100px){.mobile-page .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:767px){
 body.catalog-page :is(.motoblock-card,.cart-card,.generator-card,.category-card){min-height:0}
 body.catalog-page :is(.motoblock-card-photo,.cart-photo,.generator-card-photo,.category-card-photo){flex:0 0 auto;height:auto;aspect-ratio:360/286}
 body.catalog-page :is(.motoblock-card-content,.cart-info,.generator-card-content,.category-card-copy){padding:14px 16px}
 .mobile-page .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .mobile-page .feature-card{min-height:166px;padding:13px 12px 14px;border-radius:4px}
 .mobile-page .feature-icon{width:24px;height:24px;min-height:24px;margin-bottom:8px}
 .mobile-page .feature-icon img,.mobile-page .feature-icon svg{max-width:24px;max-height:24px}
 .mobile-page .feature-card h3{font-size:12px;line-height:1.3}
 .mobile-page .feature-card strong{font-size:12px;line-height:1.25}
 .mobile-page .feature-card p{font-size:12px;line-height:1.28}
 .mobile-page .made-in-russia{box-sizing:border-box;padding:22px 0 14px;color:#111}
 .mobile-page .made-in-russia h2{margin:0 0 12px;font:400 24px/1.2 var(--font-family-heading);text-transform:uppercase}
 .mobile-page .made-in-russia p{margin:0 0 16px;color:#777b7e;font:400 18px/1.4 var(--font-family-primary)}
}
@media(min-width:540px) and (max-width:767px){
 .generator-production:not(.tiller-production-photo),.product-russia{margin-block:36px;padding:0;background:#060707;color:#fff}
 .generator-production:not(.tiller-production-photo) .generator-production-top{display:block;min-height:0;padding:0;overflow:hidden}
 .generator-production:not(.tiller-production-photo) .generator-production-copy,.product-russia-copy{width:auto;min-height:0;max-width:none;padding:22px 20px 14px}
 .generator-production:not(.tiller-production-photo) .generator-photo-production{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1280/397;margin:0;object-fit:cover}
 .generator-production:not(.tiller-production-photo) .generator-photo-production>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
 .generator-production:not(.tiller-production-photo) .generator-production-top:after{display:none}
 .product-russia-photo{position:absolute;inset:0 0 auto;width:100%;height:220px;object-fit:cover;opacity:.35;transform:none}
 .product-russia:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,#06070755 0%,#060707 240px)}
 .generator-production-copy h2,.product-russia-copy h2{font-size:26px;line-height:1.25;margin:0 0 14px}
 .generator-production-copy>p,.product-russia-copy>p{max-width:none;margin:10px 0;font-size:18px;line-height:1.45}
 .generator-production-values,.product-russia-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0;margin:0;padding:18px 20px 24px;background:#060707 url("../desktop-product-pages/assets/banners/russia-values-bg.png") center/cover no-repeat}
 .generator-production-values>article,.product-russia-values>div{min-height:68px;padding:0 12px 0 0}
 .generator-production-values>article+article,.product-russia-values>div+div{border-left:1px solid #62686c;padding-left:14px}
 .generator-production-values h3,.product-russia-values h3{font-size:14px;line-height:1.35}
 .generator-production-values p,.product-russia-values p{font-size:13px;line-height:1.4}
}


/* Desktop product detail cards: normalize legacy generator-feature-grid markup. */
.generator-details .generator-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch}
.generator-details .generator-feature-grid>article{box-sizing:border-box;display:flex;flex-direction:column;min-width:0;min-height:0;margin:0;padding:0 0 20px!important;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:none}
.generator-details .generator-feature-grid .generator-photo-detail,.generator-details .generator-feature-grid .generator-icon-placeholder{box-sizing:border-box;display:grid;place-items:center;width:100%;height:auto;min-height:0;aspect-ratio:265/279;margin:0;padding:8px;border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font-size:var(--font-size-18);line-height:1.4;text-align:center}
.generator-details .generator-feature-grid>article>h3{margin:16px 0 10px;padding:0 7px;color:var(--color-ink);font-size:var(--font-size-18);line-height:1.4}
.generator-details .generator-feature-grid>article>p{margin:0 0 12px;padding:0 7px;color:var(--color-ink);font-size:var(--font-size-15);line-height:1.55}
@media(min-width:768px) and (max-width:1100px){.generator-details .generator-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:767px){.generator-details .generator-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.generator-details .generator-feature-grid .generator-photo-detail,.generator-details .generator-feature-grid .generator-icon-placeholder{aspect-ratio:265/279}.generator-details .generator-feature-grid>article>h3{font-size:var(--font-size-16)}.generator-details .generator-feature-grid>article>p{font-size:var(--font-size-14)}}
@media(max-width:540px){.generator-details .generator-feature-grid{grid-template-columns:1fr}}

/* Russia values: icon at left, heading and description stacked in one text column. */
@media(min-width:768px){
 .generator-production-values>article,.product-russia-values>div{display:grid;grid-template-columns:50px minmax(0,1fr);grid-template-rows:auto auto;align-content:start;align-items:start;column-gap:16px;row-gap:4px;min-width:0;padding:0 20px 0 0}
 .generator-production-values>article+article,.product-russia-values>div+div{padding-left:24px}
 .generator-production-values>article>img,.product-russia-values>div>img{grid-column:1;grid-row:1/3}
 .generator-production-values>article>h3,.product-russia-values>div>h3{grid-column:2;grid-row:1;min-width:0;margin:0}
 .generator-production-values>article>p,.product-russia-values>div>p{grid-column:2;grid-row:2;min-width:0;margin:4px 0 0}
}
@media(min-width:540px) and (max-width:767px){
 .generator-production-values>article,.product-russia-values>div{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;align-content:start;align-items:start;column-gap:10px;row-gap:3px}
 .generator-production-values>article>img,.product-russia-values>div>img{grid-column:1;grid-row:1/3;width:36px;height:44px}
 .generator-production-values>article>h3,.product-russia-values>div>h3{grid-column:2;grid-row:1;min-width:0}
 .generator-production-values>article>p,.product-russia-values>div>p{grid-column:2;grid-row:2;min-width:0;margin:3px 0 0}
}

/* Desktop product kits: one shared two-column composition layout. */
.generator-kit,.tiller-kit,.product-kit{box-sizing:border-box}
.generator-kit-layout,.product-kit-content{display:grid;grid-template-columns:minmax(0,387fr) minmax(0,716fr);gap:40px;align-items:start}
.generator-kit-items,.tiller-kit-items,.product-kit-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-template-rows:none;gap:20px 32px;min-width:0}
.generator-kit-items>article,.tiller-kit-items>article,.product-kit-items>article{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 43%;gap:10px;align-items:center;min-width:0;margin:0;padding:0;border:0;border-bottom:1px solid var(--color-border);background:transparent;box-shadow:none}
.generator-kit-items>article>h3,.tiller-kit-items>article>h3,.product-kit-items>article>h3{grid-column:1;margin:0 0 6px;color:var(--color-primary);font-size:var(--font-size-20);line-height:1.2}
.generator-kit-items>article>p,.tiller-kit-items>article>p,.product-kit-items>article>p{grid-column:1;margin:3px 0;color:var(--color-text);font-size:var(--font-size-14);line-height:1.4}
.generator-kit-items>article>.generator-photo-placeholder,.product-kit-items>article>img{grid-column:2;grid-row:1/4;width:100%;height:auto;aspect-ratio:146/97;object-fit:contain}
.generator-kit-layout>.generator-photo-kit-main,.generator-kit-layout>.figma-photo-slot,.product-kit-banner{width:100%;height:auto;min-width:0;aspect-ratio:387/390;object-fit:cover}
@media(max-width:1100px){.generator-kit-layout,.product-kit-content{grid-template-columns:minmax(0,1fr);gap:24px}.generator-kit-layout>.generator-photo-kit-main,.generator-kit-layout>.figma-photo-slot,.product-kit-banner{max-width:520px}.generator-kit-items,.tiller-kit-items,.product-kit-items{gap:16px 22px}}
@media(max-width:540px){.generator-kit-items,.tiller-kit-items,.product-kit-items{grid-template-columns:1fr}.generator-kit-items>article,.tiller-kit-items>article,.product-kit-items>article{grid-template-columns:minmax(0,1fr) 38%}}


/* Alternate PC markup used by chippers and some wheeled product pages. */
.product-advantages{margin-block:40px}
.product-advantages>h2{margin:0 0 24px;font-size:var(--font-size-24);line-height:1.3;letter-spacing:0}
.product-advantages>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch}
.product-advantages>div>article{box-sizing:border-box;display:flex;flex-direction:column;min-width:0;min-height:0;padding:18px 15px 20px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:none}
.product-advantages>div>article>img{display:block;width:32px;height:32px;max-width:32px;margin:0 0 10px;object-fit:contain}
.product-advantages>div>article>h3{margin:0 0 8px;padding:0;color:var(--color-ink);font-size:var(--font-size-18);line-height:1.4;text-transform:uppercase}
.product-advantages>div>article>p{margin:0;padding:0;color:var(--color-muted);font-size:var(--font-size-15);line-height:1.5}
.product-advantages>div>article>p:empty{display:none}
.product-advantages>div>article>p+p{margin-top:8px}

/* Nested value text in product-russia uses a wrapper unlike generator-production. */
@media(min-width:768px){
 .product-russia-values>div{display:grid;grid-template-columns:50px minmax(0,1fr);grid-template-rows:auto;column-gap:16px;align-content:start;align-items:start;min-width:0}
 .product-russia-values>div>img{grid-column:1;grid-row:1;width:50px;height:60px}
 .product-russia-values>div>div{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:0}
 .product-russia-values>div>div>h3{margin:0;color:#fff;font-size:var(--font-size-15);line-height:1.4}
 .product-russia-values>div>div>p{margin:8px 0 0;color:#fff;font-size:var(--font-size-14);line-height:1.45}
}
@media(max-width:767px){
 .product-advantages>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .product-advantages>div>article{padding:14px 12px 16px}
 .product-advantages>div>article>h3{font-size:var(--font-size-14)}
 .product-advantages>div>article>p{font-size:var(--font-size-13)}
}
@media(max-width:540px){.product-advantages>div{grid-template-columns:1fr}}

/* Text wrappers and list-only kit pages share the same kit card rhythm. */
.generator-kit-items>article>div:first-child{grid-column:1;grid-row:1;min-width:0}
.generator-kit-items>article>div:first-child>h3{margin:0 0 6px;color:var(--color-primary);font-size:var(--font-size-20);line-height:1.2}
.generator-kit-items>article>div:first-child>p{margin:3px 0;color:var(--color-text);font-size:var(--font-size-14);line-height:1.4}
.generator-kit-items>article>.generator-photo-kit-item{grid-column:2;grid-row:1;width:100%;height:auto;aspect-ratio:146/97}
.tiller-kit-items>article{grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;align-items:start;gap:4px 10px;padding:10px 0;border-bottom:1px solid var(--color-border)}
.tiller-kit-items>article>h3{grid-column:1;grid-row:1/4;margin:0;color:var(--color-primary);font-size:var(--font-size-20);line-height:1.2}
.tiller-kit-items>article>p{grid-column:2;margin:0;color:var(--color-text);font-size:var(--font-size-14);line-height:1.4}
.tiller-kit-items>article>p:nth-of-type(1){grid-row:1}
.tiller-kit-items>article>p:nth-of-type(2){grid-row:2;color:var(--color-muted)}
.product-kit-content{grid-template-columns:minmax(0,387fr) minmax(0,716fr);gap:40px;align-items:start}
.product-kit-banner{width:100%;height:auto;min-height:0;aspect-ratio:387/390;object-fit:contain}
.product-kit-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.product-kit-items>article{box-sizing:border-box;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:4px 10px;min-width:0;padding:10px 0;border-bottom:1px solid var(--color-border)}
.product-kit-items>article>strong{grid-column:1;grid-row:1/3;color:var(--color-primary);font-size:var(--font-size-20);font-weight:400;line-height:1.2}
.product-kit-items>article>h3{grid-column:2;grid-row:1;margin:0;color:var(--color-text);font-size:var(--font-size-14);line-height:1.4}
.product-kit-items>article>p{grid-column:2;grid-row:2;margin:0;color:var(--color-muted);font-size:var(--font-size-14);line-height:1.4}
@media(max-width:1100px){.product-kit-content{grid-template-columns:1fr;gap:24px}.product-kit-banner{max-width:520px}}
@media(max-width:767px){.product-kit-content{grid-template-columns:1fr}.product-kit-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.tiller-kit-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.product-kit-items,.tiller-kit-items{grid-template-columns:1fr}}

/* Standardized Product Gallery, Lightbox, Kit and Russia Block */
.product-photo-slot {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  aspect-ratio: 4/3 !important;
  background: #f7f7f8 !important;
  overflow: hidden !important;
}
.product-photo-slot img.product-main-photo {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.product-photo-prev, .product-photo-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
  z-index: 5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
}
.product-photo-prev { left: 16px !important; }
.product-photo-next { right: 16px !important; }
.product-open-gallery {
  position: absolute !important;
  right: 16px !important;
  bottom: 16px !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  z-index: 5 !important;
  color: #111 !important;
  outline: none !important;
}
.product-thumbnails, .generator-gallery-thumbnails {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 16px !important;
}
.product-thumbnails button, .generator-gallery-thumbnails button {
  position: relative !important;
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
  border: 1px solid #d5d7d9 !important;
  border-radius: 2px !important;
  background: #fff !important;
  padding: 0 !important;
  cursor: pointer !important;
  outline: none !important;
  transition: border-color 0.15s ease !important;
}
.product-thumbnails button[aria-pressed="true"], .generator-gallery-thumbnails button[aria-pressed="true"] {
  border: 2px solid #D11D23 !important;
}
.product-thumbnails button img, .generator-gallery-thumbnails button img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.thumbnail-more-wrap {
  position: relative !important;
  overflow: hidden !important;
}
.thumbnail-more-badge {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15, 17, 20, 0.65) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
  pointer-events: none !important;
  transition: background 0.2s ease !important;
}
.thumbnail-more-wrap:hover .thumbnail-more-badge {
  background: rgba(15, 17, 20, 0.4) !important;
}

/* Lightbox Modal (Screenshot 2) */
.embedded-product-gallery {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: #131418 !important;
  color: #fff !important;
  display: none;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 999999 !important;
}
.embedded-product-gallery[open] {
  display: flex !important;
}
.embedded-gallery-head {
  position: absolute !important;
  top: 24px !important;
  left: 36px !important;
  right: 36px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  z-index: 10 !important;
}
.embedded-gallery-close {
  width: 32px !important;
  height: 32px !important;
  background: url("/assets/gallery-controls/modal-close.png") center/contain no-repeat !important;
  font-size: 0 !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  outline: none !important;
}
.embedded-gallery-view {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(80vw, 1150px) !important;
  height: min(66vh, 700px) !important;
  margin: auto !important;
  position: relative !important;
}
.embedded-gallery-view img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.embedded-gallery-prev, .embedded-gallery-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: none !important;
  color: #fff !important;
  font-size: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  border-radius: 50% !important;
  transition: background 0.2s !important;
  z-index: 10 !important;
  outline: none !important;
}
.embedded-gallery-prev:hover, .embedded-gallery-next:hover {
  background: rgba(255, 255, 255, 0.22) !important;
}
.embedded-gallery-prev { left: 40px !important; }
.embedded-gallery-next { right: 40px !important; }
.embedded-gallery-thumbs {
  position: absolute !important;
  bottom: 24px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  gap: 10px !important;
  max-width: 90vw !important;
  overflow-x: auto !important;
  padding: 6px !important;
  z-index: 10 !important;
}
.embedded-gallery-thumb {
  width: 76px !important;
  height: 52px !important;
  border: 2px solid transparent !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  background: #222 !important;
  padding: 0 !important;
  cursor: pointer !important;
  opacity: 0.65 !important;
  transition: opacity 0.2s, border-color 0.2s !important;
  outline: none !important;
}
.embedded-gallery-thumb.is-active, .embedded-gallery-thumb:hover {
  opacity: 1 !important;
  border: 2px solid #D11D23 !important;
}
.embedded-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Motoblock 4-Column Kit Layout (Matching Figma) */
.generator-kit-layout, .tiller-kit .generator-kit-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 360px) minmax(0, 1fr) !important;
  gap: 48px !important;
  align-items: center !important;
}
.generator-photo-kit-main img, .tiller-kit-main-photo {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
.tiller-kit-items, .generator-kit-items {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, auto) !important;
  grid-auto-flow: column !important;
  gap: 28px 24px !important;
}
.tiller-kit-items > article, .generator-kit-items > article {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  border: none !important;
  border-bottom: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.tiller-kit-items > article > h3, .generator-kit-items > article > h3 {
  color: #D11D23 !important;
  font-size: 22px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  margin: 0 0 4px 0 !important;
}
.tiller-kit-items > article > p:first-of-type,
.tiller-kit-items > article .kit-item-title {
  text-transform: uppercase !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  color: #111116 !important;
  margin: 0 !important;
}
.tiller-kit-items > article > p:nth-of-type(2),
.tiller-kit-items > article .kit-item-sub {
  font-size: 13px !important;
  line-height: 1.3 !important;
  color: #62686C !important;
  margin: 0 !important;
}


/* --- 1. Gallery on Product Page (Figma Screenshot 1) --- */
.product-photo-slot {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f7f7f8 !important;
  aspect-ratio: 4/3 !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}
.product-photo-slot img.product-main-photo {
  max-width: 90% !important;
  max-height: 90% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
  pointer-events: auto !important;
  transition: transform 0.2s ease !important;
}
.product-photo-slot:hover img.product-main-photo {
  transform: scale(1.02);
}
.product-photo-prev, .product-photo-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  background: rgba(18, 19, 23, 0.45) !important;
  border: none !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 5 !important;
  outline: none !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
  padding: 0 !important;
}
.product-photo-prev:hover, .product-photo-next:hover {
  background: rgba(18, 19, 23, 0.75) !important;
  transform: translateY(-50%) scale(1.05) !important;
}
.product-photo-prev { left: 16px !important; }
.product-photo-next { right: 16px !important; }
.product-photo-prev img, .product-photo-next img {
  width: 16px !important;
  height: 16px !important;
  filter: brightness(0) invert(1) !important;
  display: block !important;
}
.product-open-gallery {
  position: absolute !important;
  right: 16px !important;
  bottom: 16px !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(18, 19, 23, 0.45) !important;
  border: none !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  cursor: pointer !important;
  z-index: 5 !important;
  outline: none !important;
  transition: background 0.2s ease !important;
  padding: 0 !important;
}
.product-open-gallery:hover {
  background: rgba(18, 19, 23, 0.75) !important;
}
.product-open-gallery svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #fff !important;
}

/* 5 Thumbnails Slot */
.product-thumbnails {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 12px !important;
  margin-top: 16px !important;
}
.product-thumbnails button {
  position: relative !important;
  aspect-ratio: 1/1 !important;
  width: 100% !important;
  padding: 0 !important;
  background: #f7f7f8 !important;
  border: 2px solid transparent !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
  transition: border-color 0.2s ease !important;
}
.product-thumbnails button img {
  max-width: 90% !important;
  max-height: 90% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}
.product-thumbnails button[aria-pressed="true"] {
  border-color: #D11D23 !important;
}
.product-thumbnails button .thumbnail-more-badge {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(18, 19, 23, 0.65) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
  transition: background 0.2s ease !important;
}
.product-thumbnails button:hover .thumbnail-more-badge {
  background: rgba(18, 19, 23, 0.45) !important;
}

/* --- 2. Fullscreen Lightbox Modal (Figma Screenshot 2) --- */
.product-lightbox, .embedded-product-gallery {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: #131418 !important;
  z-index: 999999 !important;
  display: none !important;
  box-sizing: border-box !important;
}
.product-lightbox[open], .embedded-product-gallery[open] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.product-lightbox::backdrop, .embedded-product-gallery::backdrop {
  background: #131418 !important;
}
.product-lightbox-close, .embedded-gallery-close {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  width: 44px !important;
  height: 44px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  z-index: 20 !important;
  outline: none !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.product-lightbox-close img, .embedded-gallery-close img {
  width: 24px !important;
  height: 24px !important;
  filter: brightness(0) invert(1) !important;
  display: block !important;
}
.product-lightbox-prev, .embedded-gallery-prev,
.product-lightbox-next, .embedded-gallery-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 52px !important;
  height: 52px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: none !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 20 !important;
  outline: none !important;
  transition: background 0.2s ease !important;
  padding: 0 !important;
}
.product-lightbox-prev:hover, .embedded-gallery-prev:hover,
.product-lightbox-next:hover, .embedded-gallery-next:hover {
  background: rgba(255, 255, 255, 0.2) !important;
}
.product-lightbox-prev, .embedded-gallery-prev { left: 32px !important; }
.product-lightbox-next, .embedded-gallery-next { right: 32px !important; }
.product-lightbox-prev img, .embedded-gallery-prev img,
.product-lightbox-next img, .embedded-gallery-next img {
  width: 20px !important;
  height: 20px !important;
  filter: brightness(0) invert(1) !important;
  display: block !important;
}
.product-lightbox-main, .embedded-gallery-view {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 85vw !important;
  padding: 40px 0 !important;
}
.product-lightbox-main img, .embedded-gallery-view img {
  max-width: 100% !important;
  max-height: 72vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.product-lightbox-thumbs, .embedded-gallery-thumbs {
  display: flex !important;
  gap: 12px !important;
  max-width: 90vw !important;
  overflow-x: auto !important;
  padding: 16px 8px 24px !important;
  justify-content: center !important;
}
.product-lightbox-thumb, .embedded-gallery-thumb {
  width: 80px !important;
  height: 60px !important;
  flex: 0 0 80px !important;
  background: #1c1d22 !important;
  border: 2px solid transparent !important;
  border-radius: 4px !important;
  padding: 0 !important;
  cursor: pointer !important;
  opacity: 0.55 !important;
  outline: none !important;
  overflow: hidden !important;
  transition: opacity 0.2s, border-color 0.2s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.product-lightbox-thumb.is-active, .embedded-gallery-thumb.is-active,
.product-lightbox-thumb:hover, .embedded-gallery-thumb:hover {
  opacity: 1 !important;
  border-color: #D11D23 !important;
}
.product-lightbox-thumb img, .embedded-gallery-thumb img {
  max-width: 90% !important;
  max-height: 90% !important;
  object-fit: contain !important;
}

/* --- 3. Motoblocks 4-Column Комплектация (Figma Screenshot) --- */
.generator-kit-layout, .tiller-kit .generator-kit-layout, .tiller-kit-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 360px) minmax(0, 1fr) !important;
  gap: 48px !important;
  align-items: center !important;
}
.tiller-kit-main-photo, .generator-photo-kit-main img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
.tiller-kit-items, .generator-kit-items, .product-kit-items-figma {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(4, auto) !important;
  grid-auto-flow: column !important;
  gap: 26px 20px !important;
  border: none !important;
}
.tiller-kit-items > article, .generator-kit-items > article, .product-kit-items-figma > article {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  border: none !important;
  border-bottom: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.tiller-kit-items > article > h3, .generator-kit-items > article > h3, .product-kit-items-figma > article > h3 {
  color: #D11D23 !important;
  font-size: 22px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  margin: 0 0 2px 0 !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
}
.tiller-kit-items > article .kit-item-title, .product-kit-items-figma > article .kit-item-title {
  text-transform: uppercase !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  color: #111116 !important;
  margin: 0 !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
}
.tiller-kit-items > article .kit-item-sub, .product-kit-items-figma > article .kit-item-sub {
  font-size: 13px !important;
  line-height: 1.3 !important;
  color: #62686C !important;
  margin: 0 !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
}

/* --- 4. Legal Documents Layout (User Screenshots 1, 2, 3) --- */
.legal-page-wrap {
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 36px 20px 80px !important;
  background: #fff !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
}
.legal-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #111116 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin-bottom: 24px !important;
}
.legal-back:hover {
  color: #D11D23 !important;
}
.legal-category {
  display: block !important;
  color: #8c9399 !important;
  font-size: 12px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
}
.legal-title {
  font-size: clamp(26px, 3.5vw, 40px) !important;
  font-weight: 700 !important;
  color: #111116 !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
}
.legal-subtitle {
  font-size: 15px !important;
  color: #62686c !important;
  margin: 0 0 28px !important;
  line-height: 1.5 !important;
}
.legal-content h2 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #111116 !important;
  margin: 32px 0 14px !important;
  line-height: 1.3 !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
}
.legal-content p, .legal-content li {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #333639 !important;
  margin: 0 0 14px !important;
}
.legal-content a {
  color: #D11D23 !important;
  text-decoration: underline !important;
}

/* --- 5. Cookie Banner (User Screenshot) --- */
.korona-cookie-banner {
  position: fixed !important;
  bottom: 24px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(840px, calc(100vw - 32px)) !important;
  background: #111215 !important;
  border-radius: 14px !important;
  padding: 22px 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  z-index: 999999 !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35) !important;
  box-sizing: border-box !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
}
.korona-cookie-banner.is-hidden {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(20px) !important;
}
.cookie-banner-content h4 {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 8px 0 !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
}
.cookie-banner-content p {
  color: #d1d4d6 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
}
.cookie-banner-content a {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.cookie-banner-btn {
  background: #D11D23 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 12px 36px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: background 0.2s ease !important;
}
.cookie-banner-btn:hover {
  background: #b5151b !important;
}

/* --- 6. 404 Page (User Screenshot) --- */
.page-404-container {
  padding: 80px 20px 100px !important;
  text-align: center !important;
  background: #fff !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
}
.page-404-code {
  font-size: clamp(72px, 11vw, 120px) !important;
  font-weight: 700 !important;
  color: #D11D23 !important;
  margin: 0 0 12px 0 !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
  line-height: 1 !important;
}
.page-404-title {
  font-size: clamp(24px, 3.5vw, 34px) !important;
  font-weight: 700 !important;
  color: #111116 !important;
  margin: 0 0 16px 0 !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
}
.page-404-desc {
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: #62686C !important;
  max-width: 540px !important;
  margin: 0 auto 36px !important;
}
.page-404-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.page-404-btn-red {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 170px !important;
  height: 48px !important;
  padding: 0 28px !important;
  background: #D11D23 !important;
  color: #fff !important;
  border: 1px solid #D11D23 !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
  transition: background 0.2s ease !important;
}
.page-404-btn-red:hover {
  background: #b5151b !important;
}
.page-404-btn-white {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 170px !important;
  height: 48px !important;
  padding: 0 28px !important;
  background: #fff !important;
  color: #111116 !important;
  border: 1px solid #d4d6d8 !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  font-family: var(--font-family-primary), Arial, sans-serif !important;
  transition: border-color 0.2s ease !important;
}
.page-404-btn-white:hover {
  border-color: #111116 !important;
}

/* ==========================================================================
   EXACT FIGMA FIXES:
   1. Product Card Gallery Arrows (Native 40px SVG from zip, no extra circles)
   2. Lightbox Viewer (Bare white chevrons, no circles, absolute image paths)
   3. Cookie Banner Centered at Screen Bottom
   4. Hero Slider Content & Dots Aligned with Standard .wrap Container
   5. Header Button and Header .wrap Clean Reset
   ========================================================================== */

/* 1. Header .wrap & Button */
.desktop-header.wrap {
  max-width: 1120px !important;
  width: calc(100% - 80px) !important;
  margin: auto !important;
}

.header-btn {
  height: 27px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  line-height: 27px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

/* 2. Hero Slider Container Alignment (Exact 1120px Container) */










/* 3. Cookie Banner Centered at Screen Bottom */
.korona-cookie-banner {
  position: fixed !important;
  bottom: 24px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  max-width: 620px !important;
  width: calc(100% - 48px) !important;
  z-index: 99999 !important;
  background: #131418 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  padding: 22px 28px !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  box-sizing: border-box !important;
  font-family: var(--font-family-primary) !important;
  transition: opacity 0.35s ease, transform 0.35s ease !important;
}

.korona-cookie-banner.hidden {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(24px) scale(0.96) !important;
}

/* 4. Product Card Gallery Arrows (Exact 40px SVG, No Background, No Double Circles) */
.product-photo-prev,
.product-photo-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 5 !important;
  outline: none !important;
  transition: transform 0.15s ease, opacity 0.15s ease !important;
}

.product-photo-prev:hover,
.product-photo-next:hover {
  background: transparent !important;
  transform: translateY(-50%) scale(1.08) !important;
  opacity: 0.9 !important;
}

.product-photo-prev { left: 16px !important; }
.product-photo-next { right: 16px !important; }

.product-photo-prev img,
.product-photo-next img {
  width: 40px !important;
  height: 40px !important;
  filter: none !important;
  display: block !important;
}

/* 5. Lightbox Viewer (Mockup 2: Bare White Chevrons, No Circles, Dark Background #131418) */
.embedded-product-gallery,
.product-lightbox {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: #131418 !important;
  z-index: 100000 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.embedded-product-gallery:not([open]),
.product-lightbox:not([open]) {
  display: none !important;
}

/* Bare White Chevrons */
.embedded-gallery-prev,
.embedded-gallery-next,
.product-lightbox-prev,
.product-lightbox-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 48px !important;
  height: 72px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 25 !important;
  outline: none !important;
  padding: 0 !important;
  opacity: 0.8 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}

.embedded-gallery-prev:hover,
.embedded-gallery-next:hover,
.product-lightbox-prev:hover,
.product-lightbox-next:hover {
  background: transparent !important;
  opacity: 1 !important;
  transform: translateY(-50%) scale(1.15) !important;
}

.embedded-gallery-prev,
.product-lightbox-prev {
  left: 32px !important;
}

.embedded-gallery-next,
.product-lightbox-next {
  right: 32px !important;
}

/* Close Button (Top-Right, matching Mockup 2) */
.embedded-gallery-close,
.product-lightbox-close {
  position: absolute !important;
  top: 24px !important;
  right: 28px !important;
  width: 32px !important;
  height: 32px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  z-index: 30 !important;
  opacity: 0.9 !important;
  transition: opacity 0.2s ease, transform 0.15s ease !important;
}

.embedded-gallery-close:hover,
.product-lightbox-close:hover {
  opacity: 1 !important;
  transform: scale(1.08) !important;
}

.embedded-gallery-close img,
.product-lightbox-close img {
  width: 32px !important;
  height: 32px !important;
  display: block !important;
}

/* Main Lightbox View */
.embedded-gallery-view,
.product-lightbox-main {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 86vw !important;
  max-height: 72vh !important;
  margin: 40px auto 20px !important;
  overflow: hidden !important;
}

.embedded-gallery-view img,
.product-lightbox-main img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
}

/* Lightbox Bottom Thumbnails */
.embedded-gallery-thumbs,
.product-lightbox-thumbs {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 90vw !important;
  margin: 0 auto 28px !important;
  padding: 4px 10px !important;
  overflow-x: auto !important;
  box-sizing: border-box !important;
}

.embedded-gallery-thumb,
.product-lightbox-thumb {
  flex: 0 0 76px !important;
  width: 76px !important;
  height: 52px !important;
  background: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 2px !important;
  padding: 2px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  opacity: 0.65 !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.embedded-gallery-thumb:hover,
.product-lightbox-thumb:hover {
  opacity: 0.9 !important;
}

.embedded-gallery-thumb.is-active,
.product-lightbox-thumb.is-active {
  border: 2px solid #D11D23 !important;
  opacity: 1 !important;
}

.embedded-gallery-thumb img,
.product-lightbox-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}


/* Product Card Photo Prev/Next Arrows: 40px SVG without extra backgrounds */
.product-photo-prev,
.product-photo-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 5 !important;
  outline: none !important;
  transition: transform 0.15s ease, opacity 0.15s ease !important;
}

.product-photo-prev:hover,
.product-photo-next:hover {
  background: transparent !important;
  transform: translateY(-50%) scale(1.08) !important;
  opacity: 0.9 !important;
}

.product-photo-prev { left: 16px !important; }
.product-photo-next { right: 16px !important; }

.product-photo-prev img,
.product-photo-next img {
  width: 40px !important;
  height: 40px !important;
  display: block !important;
  filter: none !important;
}


/* Fullscreen Lightbox Modal */
.embedded-product-gallery {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #0f1014 !important;
  border: none !important;
  z-index: 999999 !important;
  display: none;
}
.embedded-product-gallery[open] {
  display: block !important;
}
.embedded-gallery-view {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -52%) !important;
  width: min(80vw, 1100px) !important;
  height: min(70vh, 720px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.embedded-gallery-view img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
}
.embedded-gallery-prev, .embedded-gallery-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 48px !important;
  height: 80px !important;
  background: transparent !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  padding: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}
.embedded-gallery-prev { left: 40px !important; }
.embedded-gallery-next { right: 40px !important; }
.embedded-gallery-prev svg, .embedded-gallery-next svg {
  display: block !important;
  width: 24px !important;
  height: 48px !important;
}
.embedded-gallery-prev:hover svg path, .embedded-gallery-next:hover svg path {
  stroke: #D11D23 !important;
}
.embedded-gallery-close {
  position: absolute !important;
  top: 28px !important;
  right: 36px !important;
  width: 32px !important;
  height: 32px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  z-index: 10 !important;
  outline: none !important;
  padding: 0 !important;
}
.embedded-gallery-close img {
  width: 32px !important;
  height: 32px !important;
  display: block !important;
}
.embedded-gallery-thumbs {
  position: absolute !important;
  bottom: 24px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  gap: 10px !important;
  max-width: 90vw !important;
  overflow-x: auto !important;
  padding: 6px !important;
  z-index: 10 !important;
}


/* ==========================================================================
   PERFECT FIGMA REPRODUCTION: Product Gallery 455x337 & Generator Russia Block
   ========================================================================== */

/* 1. PC Product Gallery Slot: exact 455px x 337px, full-size cover, no letterboxing */
@media (min-width: 768px) {
  .product-gallery, .generator-gallery {
    width: 455px !important;
    max-width: 455px !important;
    flex: 0 0 455px !important;
  }

  .product-photo-slot {
    position: relative !important;
    display: block !important;
    width: 455px !important;
    height: 337px !important;
    aspect-ratio: 455 / 337 !important;
    background: transparent !important;
    overflow: hidden !important;
    border-radius: 4px !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
  }

  .product-photo-slot img.product-main-photo,
  .product-photo-slot .product-open-gallery img.product-main-photo,
  .product-photo-slot > button > img.product-main-photo,
  .product-photo-slot > img {
    position: absolute !important;
    inset: 0 !important;
    width: 455px !important;
    height: 337px !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    transition: transform 0.2s ease !important;
  }

  .product-photo-slot:hover img.product-main-photo {
    transform: scale(1.02) !important;
  }

  .product-photo-prev,
  .product-photo-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.45) !important;
    color: #ffffff !important;
    border: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 4 !important;
    transition: background 0.15s ease !important;
  }

  .product-photo-prev:hover,
  .product-photo-next:hover {
    background: rgba(0, 0, 0, 0.75) !important;
  }

  .product-photo-prev { left: 12px !important; }
  .product-photo-next { right: 12px !important; }

  .product-photo-slot .product-open-gallery {
    position: absolute !important;
    right: 12px !important;
    bottom: 12px !important;
    width: 36px !important;
    height: 36px !important;
    background: rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(4px) !important;
    border: 0 !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 5 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .product-photo-slot .product-open-gallery svg {
    width: 20px !important;
    height: 20px !important;
    stroke: #ffffff !important;
  }

  .product-thumbnails, .generator-gallery-thumbnails {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 14px !important;
    width: 455px !important;
    max-width: 455px !important;
  }

  .product-thumbnails button, .generator-gallery-thumbnails button {
    position: relative !important;
    aspect-ratio: 4/3 !important;
    overflow: hidden !important;
    border: 1px solid #d5d7d9 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    padding: 0 !important;
    cursor: pointer !important;
    outline: none !important;
    transition: border-color 0.15s ease !important;
  }

  .product-thumbnails button[aria-pressed="true"], .generator-gallery-thumbnails button[aria-pressed="true"] {
    border: 2px solid #D11D23 !important;
  }

  .product-thumbnails button img, .generator-gallery-thumbnails button img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .thumbnail-more-wrap {
    position: relative !important;
  }

  .thumbnail-more-badge {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0, 0, 0, 0.6) !important;
    color: #ffffff !important;
    font: 700 16px/1 var(--font-family-primary) !important;
    border-radius: 2px !important;
  }
}

/* 2. GENERATOR RUSSIA PRODUCTION BLOCK (Figma Screen 2 Pixel-Perfect) */
.generator-page .generator-production,
.generator-production {
  background: #000000 !important;
  color: #ffffff !important;
  margin-block: 60px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.generator-page .generator-production .wrap,
.generator-production .wrap {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  position: relative !important;
}

.generator-production-top {
  position: relative !important;
  width: 100% !important;
  height: 270px !important;
  min-height: 270px !important;
  background: #000000 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
}

.generator-photo-production {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: right center !important;
  z-index: 1 !important;
  pointer-events: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.generator-production-copy {
  position: relative !important;
  z-index: 2 !important;
  width: 440px !important;
  max-width: 440px !important;
  padding-left: 40px !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

.generator-production-copy h2 {
  font: 400 32px/1.15 var(--font-family-primary), sans-serif !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  margin: 0 0 16px 0 !important;
}

.generator-production-copy .russia-title-lead,
.generator-production-copy p:first-of-type {
  font: 600 17px/1.35 var(--font-family-primary) !important;
  color: #ffffff !important;
  margin: 0 0 14px 0 !important;
}

.generator-production-copy .russia-desc-text,
.generator-production-copy p:last-of-type {
  font: 400 13px/1.5 var(--font-family-primary) !important;
  color: #b0b4b8 !important;
  margin: 0 !important;
}

.generator-production-values {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 24px 0 !important;
  background: #000000 !important;
  background-image: none !important;
  border-top: 1px solid #232328 !important;
  box-sizing: border-box !important;
}

.generator-production-values article,
.generator-feature-item {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 16px !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
}

.generator-production-values article:first-child {
  padding-left: 40px !important;
}

.generator-production-values article:last-child {
  padding-right: 40px !important;
}

.generator-production-values article + article {
  border-left: 1px solid #232328 !important;
}

.generator-production-values article > img.russia-feature-icon {
  position: static !important;
  width: 44px !important;
  height: 48px !important;
  flex: 0 0 44px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 !important;
}

.russia-feature-text {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.russia-feature-text h3,
.generator-production-values h3 {
  font: 700 13px/1.3 var(--font-family-primary) !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 0 6px 0 !important;
  display: block !important;
  width: 100% !important;
}

.russia-feature-text p,
.generator-production-values p {
  font: 400 12px/1.45 var(--font-family-primary) !important;
  color: #b0b4b8 !important;
  margin: 0 !important;
  display: block !important;
  width: 100% !important;
}


/* ==========================================================================
   GENERATOR SPECIFIC STYLES: Advantages Typography, Icons & Russia Banner
   ========================================================================== */

/* 1. Advantages block (4 cards) */
.generator-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.generator-feature-grid article {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 24px 20px !important;
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.generator-feature-icon {
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  object-fit: contain !important;
  margin: 0 0 16px 0 !important;
  align-self: flex-start !important;
}

/* User requirement: .generator-feature-grid h3, .generator-list h2 -> font-size 14px, line-height 1.4 */
.generator-feature-grid h3,
.generator-list h2 {
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  color: #111111 !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
}

/* User requirement: Lead spec (e.g. Максимальная мощность 3,1 кВА) -> font-size 15px */
.generator-feature-grid article > p,
.generator-feature-lead,
.generator-feature-grid article > p.generator-feature-lead {
  font-size: 15px !important;
  line-height: 1.4 !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  color: #111111 !important;
}

/* User requirement: Description text (e.g. Автоматический регулятор...) -> color: #62686C; font-size: 15px */
.generator-feature-desc,
.generator-feature-grid article > p.generator-feature-desc {
  font-size: 15px !important;
  line-height: 1.4 !important;
  color: #62686C !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}

.generator-feature-grid article > p:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
  .generator-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 767px) {
  .generator-feature-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* 2. Russia Banner: Single cohesive full-size graphic from designer */
.generator-production {
  margin-block: 60px !important;
  background: #000000 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.generator-production .wrap {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.generator-production-banner-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 4px !important;
  margin: 0 !important;
}


/* Desktop category fallback cards need an explicit three-column grid. */
@media (min-width: 768px) {
  body.catalog-page .category-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 40px 20px;
  }
}
@media (min-width: 768px) and (max-width: 1100px) {
  body.catalog-page .category-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Prevent the card-wide details link overlay from covering the catalog page and breadcrumbs. */
body.catalog-page .category-card{position:relative}

/* KORONA PRODUCT CARD COMPONENTS */
.korona-product-cards--advantages .generator-feature-grid,.korona-product-cards--advantages>div:not([class]),.korona-product-cards--details .generator-feature-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important;align-items:stretch!important}
.korona-product-cards--advantages article{box-sizing:border-box!important;min-width:0!important;display:flex!important;flex-direction:column!important;padding:15px!important;margin:0!important;background:#f5f5f7!important;border:.5px solid #D11D23!important;box-shadow:0 4px 14px #00000021!important}
.korona-product-cards--advantages article>img:not(.asset-unavailable){display:block!important;width:30px!important;height:27px!important;object-fit:contain!important;margin:0 0 15px!important}
.korona-product-cards--advantages article[data-korona-missing-icon="Y"]:before{content:attr(data-korona-card);display:block;color:#D11D23;font:400 24px/1.2 'Korona Prosto One',var(--font-family-primary),Arial,sans-serif;margin:0 0 16px}
.korona-product-cards--advantages article>h3,.korona-product-cards--advantages article>p{font-family:'Korona Prosto One',var(--font-family-primary),Arial,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:1!important;letter-spacing:0!important;text-transform:uppercase!important;margin-left:0!important;margin-right:0!important}
.korona-product-cards--advantages article>h3{margin-top:0!important;margin-bottom:15px!important;padding:0!important}
.korona-product-cards--advantages article>p{margin-top:0!important;margin-bottom:15px!important;padding:0!important}
.korona-product-cards--advantages article>p:last-child{margin-bottom:0!important}
.korona-product-cards--advantages article>p:empty{display:none!important}
.korona-product-cards--details article{min-width:0!important;box-sizing:border-box!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important;background:#f5f5f7!important;box-shadow:0 4px 14px #00000021!important}
.korona-product-cards--details .generator-photo-detail{position:relative!important;width:100%!important;height:280px!important;min-height:280px!important;overflow:hidden!important;flex:none!important;margin:0 0 14px!important;background:#f2f2f4!important}
.korona-product-cards--details .generator-photo-detail img:not([style]){display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;position:absolute!important;inset:0!important}
.korona-product-cards--details article>h3,.korona-product-cards--details article>p{font-family:'Korona Prosto One',var(--font-family-primary),Arial,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:0!important;margin-left:15px!important;margin-right:15px!important}
.korona-product-cards--details article>h3{margin-top:0!important;margin-bottom:10px!important;padding:0!important;text-transform:uppercase!important;vertical-align:middle!important}
.korona-product-cards--details article>p{margin-top:0!important;margin-bottom:25px!important;padding:0!important;color:#62686C!important}
@media(max-width:1100px){.korona-product-cards--advantages .generator-feature-grid,.korona-product-cards--advantages>div:not([class]),.korona-product-cards--details .generator-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:767px){.korona-product-cards--advantages .generator-feature-grid,.korona-product-cards--advantages>div:not([class]),.korona-product-cards--details .generator-feature-grid{grid-template-columns:1fr!important}}

/* Product kit cards: keep the item photo in its own right-hand column. */
@media(min-width:1101px){
 .product-kit-items>article{grid-template-columns:34px minmax(0,1fr) 146px;grid-template-rows:auto auto;column-gap:10px;row-gap:4px;align-items:start}
 .product-kit-items>article>strong{grid-column:1;grid-row:1/3}
 .product-kit-items>article>h3{grid-column:2;grid-row:1;min-width:0}
 .product-kit-items>article>p{grid-column:2;grid-row:2;min-width:0}
 .product-kit-items>article>img{grid-column:3;grid-row:1/3;width:146px;height:97px;max-width:100%;object-fit:contain;float:none}
}
@media(min-width:768px) and (max-width:1100px){
 .product-kit-items>article{grid-template-columns:34px minmax(0,1fr) 112px}
 .product-kit-items>article>img{grid-column:3;grid-row:1/3;width:112px;height:74px;object-fit:contain;float:none}
}

/* Generator kits: two vertical columns of text/photo rows, three items left and two right. */
.generator-kit .generator-kit-items{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(3,auto)!important;grid-auto-flow:column!important;gap:20px 32px!important;align-items:start!important;min-width:0}
.generator-kit .generator-kit-items>article{box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr) 146px!important;grid-template-rows:auto!important;grid-auto-flow:row!important;flex-direction:initial!important;gap:0 12px!important;align-items:center!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;border-bottom:0!important;background:transparent!important;box-shadow:none!important}
.generator-kit .generator-kit-items>article>div:first-child{grid-column:1!important;grid-row:1!important;min-width:0!important}
.generator-kit .generator-kit-items>article>.generator-photo-kit-item{grid-column:2!important;grid-row:1!important;width:146px!important;max-width:100%!important;height:97px!important;max-height:97px!important;aspect-ratio:146/97!important;justify-self:end!important}
.generator-kit .generator-kit-items>article>div:first-child>h3{display:block!important;margin:0 0 6px!important;color:var(--color-primary)!important;font-size:var(--font-size-20)!important;line-height:1.2!important}
.generator-kit .generator-kit-items>article>div:first-child>p{display:block!important;margin:3px 0!important;color:var(--color-text)!important;font-size:var(--font-size-14)!important;line-height:1.4!important}
@media(max-width:900px){
 .generator-kit .generator-kit-items{grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-flow:row!important}
}

/* Keep the requested 25px after each details description, including the last child. */
.korona-product-cards--details .generator-feature-grid>article>p:last-child{margin:0 15px 25px!important;padding:0!important}

/* Fluid product intro for tablets: prevent the desktop 455px gallery from colliding with copy. */
@media(min-width:768px) and (max-width:1100px){
 .product-document .product-intro{display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;gap:clamp(18px,2.8vw,30px)!important;align-items:start!important;width:100%!important;max-width:100%!important}
 .product-document .product-intro>.product-gallery,.product-document .product-intro>.generator-gallery{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;flex:initial!important}
 .product-document .product-intro .product-photo-slot{box-sizing:border-box!important;width:100%!important;max-width:100%!important;height:auto!important;min-width:0!important;aspect-ratio:4/3!important}
 .product-document .product-intro .product-photo-slot img.product-main-photo{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
 .product-document .product-intro>.product-intro-copy{box-sizing:border-box!important;width:auto!important;max-width:100%!important;min-width:0!important;overflow-wrap:anywhere!important}
 .product-document .product-intro-copy h1{font-size:clamp(30px,3.6vw,42px)!important;line-height:1.12!important;overflow-wrap:anywhere!important}
 .product-document .product-intro-copy p{max-width:100%!important;line-height:1.4!important;overflow-wrap:anywhere!important}
 .product-document .product-thumbnails,.product-document .generator-gallery-thumbnails{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;margin-top:12px!important}
 .product-document .product-intro-copy .product-quick-specs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
 .product-document .generator-feature-grid,.product-document .generator-list,.product-document .korona-product-cards--advantages .generator-feature-grid,.product-document .korona-product-cards--details .generator-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(12px,2vw,20px)!important}
 .product-document .generator-kit-layout,.product-document .product-kit-content{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
 .product-document .generator-kit-layout>.generator-photo-kit-main,.product-document .generator-kit-layout>.figma-photo-slot,.product-document .product-kit-banner{width:100%!important;max-width:440px!important;height:auto!important;aspect-ratio:1/1!important;justify-self:center!important}
 .product-document .generator-kit .generator-kit-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-flow:row!important;gap:16px!important}
 .product-document .generator-kit .generator-kit-items>article{grid-template-columns:minmax(0,1fr) minmax(90px,34%)!important}
}
@media(min-width:540px) and (max-width:767px){
 .product-document .product-intro{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;width:100%!important;max-width:100%!important}
 .product-document .product-intro>.product-gallery,.product-document .product-intro>.generator-gallery{width:100%!important;max-width:none!important;min-width:0!important;flex:none!important}
 .product-document .product-intro .product-photo-slot{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:4/3!important}
 .product-document .product-intro-copy{width:100%!important;max-width:none!important;min-width:0!important}
 .product-document .generator-feature-grid,.product-document .korona-product-cards--advantages .generator-feature-grid,.product-document .korona-product-cards--details .generator-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
