/* AGGRO v31.12 — full typography and iconography audit */
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1}
main,main *{min-width:0}

/* Typography: remove collisions and give Cyrillic breathing room */
h1,.page-hero h1,.hero-copy h1{
  line-height:1.01!important;
  letter-spacing:.012em!important;
  font-kerning:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:auto!important;
}
h2,.section-heading h2,.store-copy h2,.audience-card h2,.editorial-copy h2,.about-visual h2{
  line-height:1.06!important;
  letter-spacing:.015em!important;
  font-kerning:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:auto!important;
}
h3,.product-card h3,.catalog-card h3,.business-card h3,.info-card h3,.process-step h3,.freshness-banner h3{
  line-height:1.15!important;
  letter-spacing:.014em!important;
  font-kerning:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:auto!important;
}
p,.lead,.product-card p,.catalog-card p,.business-card p,.info-card p,.contact-item p,.page-hero p,.store-copy p{
  line-height:1.64!important;
  letter-spacing:.004em!important;
}
.kicker,.breadcrumbs,.tag,.filter-btn,.picker-btn,.product-meta,.store-point b{
  line-height:1.38!important;
  letter-spacing:.07em!important;
}
.btn,.btn-outline,.btn-ghost,button{
  line-height:1.25!important;
  letter-spacing:.025em!important;
  white-space:normal!important;
  text-align:center;
}
.page-hero-grid>*{min-width:0!important}
.page-hero h1{max-width:100%!important}
.page-hero p{max-width:680px!important}
.section-heading>*{min-width:0!important}
.product-card__body,.catalog-card__body,.business-card,.info-card,.contact-item{min-width:0!important}

/* Page icon rail */
.page-icon-rail{position:relative;z-index:4;margin-top:-24px;padding:0 0 34px}
.page-icon-rail__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:12px;
  background:rgba(249,235,216,.94);
  border:1px solid rgba(74,47,25,.10);
  box-shadow:0 14px 34px rgba(92,55,24,.09);
}
.page-icon-rail--six .page-icon-rail__grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.page-icon-rail--three .page-icon-rail__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-icon-rail__grid article{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  align-items:center;
  gap:13px;
  padding:14px 12px;
  border-right:1px solid rgba(74,47,25,.09);
}
.page-icon-rail__grid article:last-child{border-right:0}
.page-icon-rail__icon{
  width:76px;height:76px;display:grid;place-items:center;
  background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important
}
.page-icon-rail__icon img{width:70px;height:70px;object-fit:contain;display:block;background:transparent}
.page-icon-rail__grid b{display:block;color:var(--red);font:700 15px/1.25 var(--sans);letter-spacing:.02em}
.page-icon-rail__grid small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.42}

/* Existing premium rails now use brand icons instead of numbers */
.premium-rail article{grid-template-columns:72px minmax(0,1fr)!important;align-items:center!important;column-gap:14px!important}
.premium-rail__brand-icon{
  grid-row:1/3!important;width:72px!important;height:72px!important;display:grid!important;place-items:center!important;
  margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important
}
.premium-rail__icon-img{width:66px!important;height:66px!important;object-fit:contain!important;display:block!important}
.premium-rail article b{line-height:1.25!important;letter-spacing:.015em!important}
.premium-rail article small{line-height:1.45!important}

/* Reusable branded icons inside cards */
.info-card__brand-icon{
  width:92px;height:92px;display:grid;place-items:center;margin:0 0 18px;
  background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important
}
.info-card__brand-icon img{width:88px;height:88px;object-fit:contain;display:block;background:transparent}
.info-card__brand-icon--store img{width:82px;height:82px}
.info-card h3{margin-top:0!important}

/* Process icons: use the created retro illustrations directly */
.process-icon--brand{
  width:116px!important;height:116px!important;display:grid!important;place-items:center!important;
  padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important
}
.process-brand-icon{width:110px!important;height:110px!important;object-fit:contain!important;display:block!important;background:transparent!important}
.process-step{min-width:0!important}
.process-step p{line-height:1.5!important}

/* Contact route uses the same icon family */
.contact-route__icon--brand{
  width:68px!important;height:68px!important;display:grid!important;place-items:center!important;
  background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important
}
.contact-route__brand-img{width:64px!important;height:64px!important;object-fit:contain!important;display:block!important}
.contact-route article b{line-height:1.25!important;letter-spacing:.015em!important}
.contact-route article small{line-height:1.45!important}

/* Store icons: hard no-background reset */
.page-home .store-point>.store-point__icon{
  all:unset!important;display:grid!important;place-items:center!important;width:88px!important;height:88px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;overflow:visible!important
}
.page-home .store-point>.store-point__icon::before,.page-home .store-point>.store-point__icon::after{content:none!important;display:none!important}
.page-home .store-point>.store-point__icon img{
  all:unset!important;display:block!important;width:78px!important;height:78px!important;background:transparent!important;object-fit:contain!important
}
.page-home .store-point{grid-template-columns:88px minmax(0,1fr)!important;gap:16px!important;align-items:center!important}

/* Cards and forms: more stable text flow */
.info-card,.business-card,.product-card,.catalog-card,.contact-item,.rfq-panel{min-width:0!important}
.info-card p,.business-card p,.product-card p,.catalog-card p{min-height:0!important}
.field label{line-height:1.35!important;letter-spacing:.02em!important}
.field input,.field select,.field textarea{line-height:1.4!important}
.footer h4{line-height:1.3!important;letter-spacing:.025em!important}
.footer a,.footer button,.footer p{line-height:1.5!important}

@media(max-width:1100px){
  .page-icon-rail--six .page-icon-rail__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-icon-rail__grid article:nth-child(3n){border-right:0}
  .page-hero h1{font-size:clamp(48px,6.2vw,76px)!important}
}

@media(max-width:900px){
  h1,.page-hero h1,.hero-copy h1{line-height:1.04!important;letter-spacing:.012em!important}
  h2,.section-heading h2,.store-copy h2,.audience-card h2{line-height:1.08!important;letter-spacing:.014em!important}
  h3,.product-card h3,.catalog-card h3,.business-card h3,.info-card h3,.process-step h3{line-height:1.17!important}
  .page-hero h1{font-size:clamp(39px,10.4vw,50px)!important}
  .page-hero p{font-size:16px!important;line-height:1.62!important}
  .page-icon-rail{margin-top:-14px;padding-bottom:28px}
  .page-icon-rail__grid,.page-icon-rail--six .page-icon-rail__grid,.page-icon-rail--three .page-icon-rail__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-icon-rail__grid article{grid-template-columns:66px minmax(0,1fr);padding:13px 10px;border-right:0;border-bottom:1px solid rgba(74,47,25,.08)}
  .page-icon-rail__grid article:nth-last-child(-n+2){border-bottom:0}
  .page-icon-rail__icon{width:66px;height:66px}.page-icon-rail__icon img{width:62px;height:62px}
  .premium-rail article{grid-template-columns:64px minmax(0,1fr)!important}
  .premium-rail__brand-icon{width:64px!important;height:64px!important}.premium-rail__icon-img{width:58px!important;height:58px!important}
  .process-icon--brand{width:104px!important;height:104px!important}.process-brand-icon{width:100px!important;height:100px!important}
  .info-card__brand-icon{width:84px;height:84px}.info-card__brand-icon img{width:80px;height:80px}
}

@media(max-width:560px){
  h1,.page-hero h1,.hero-copy h1{line-height:1.05!important;letter-spacing:.01em!important}
  h2,.section-heading h2,.store-copy h2,.audience-card h2{line-height:1.09!important;letter-spacing:.012em!important}
  .page-hero h1{font-size:clamp(37px,10.8vw,46px)!important}
  .page-icon-rail__grid{padding:8px;gap:6px}
  .page-icon-rail__grid article{grid-template-columns:58px minmax(0,1fr);gap:9px;padding:11px 7px}
  .page-icon-rail__icon{width:58px;height:58px}.page-icon-rail__icon img{width:54px;height:54px}
  .page-icon-rail__grid b{font-size:13px}.page-icon-rail__grid small{font-size:11px}
  .premium-rail article{grid-template-columns:58px minmax(0,1fr)!important;padding:17px 13px!important}
  .premium-rail__brand-icon{width:58px!important;height:58px!important}.premium-rail__icon-img{width:54px!important;height:54px!important}
  .info-card__brand-icon{width:76px;height:76px;margin-bottom:14px}.info-card__brand-icon img{width:72px;height:72px}
  .process-icon--brand{width:96px!important;height:96px!important}.process-brand-icon{width:92px!important;height:92px!important}
  .contact-route__icon--brand{width:58px!important;height:58px!important}.contact-route__brand-img{width:56px!important;height:56px!important}
  .btn,.btn-outline,.btn-ghost,button{letter-spacing:.018em!important}
}

@media(max-width:360px){
  .page-icon-rail__grid,.page-icon-rail--six .page-icon-rail__grid,.page-icon-rail--three .page-icon-rail__grid{grid-template-columns:1fr}
  .page-icon-rail__grid article,.page-icon-rail__grid article:nth-last-child(-n+2){border-bottom:1px solid rgba(74,47,25,.08)}
  .page-icon-rail__grid article:last-child{border-bottom:0}
}

/* Final overflow and high-specificity type safety */
@media(max-width:900px){
  html,body{overflow-x:clip!important;max-width:100%!important}
  .nav:not(.is-open){display:none!important}
  .nav.is-open{
    display:flex!important;
    left:auto!important;right:0!important;
    width:min(92vw,390px)!important;max-width:390px!important;
    transform:none!important;visibility:visible!important;
  }
  .page-home .hero-copy h1{line-height:1.02!important;letter-spacing:.012em!important}
}
.page-catalog .page-hero h1,.page-wholesale .page-hero h1,.page-production .page-hero h1,.page-quality .page-hero h1,.page-about .page-hero h1,.page-contacts .page-hero h1,.page-retail .page-hero h1,.page-stores .page-hero h1{
  line-height:1.03!important;letter-spacing:.014em!important
}
.catalog-story h2,.cta-premium h2,.b2b-visual h2,.section--editorial h2{
  line-height:1.07!important;letter-spacing:.014em!important
}
