/* === INFOSTAND V67: brand, fixed catalog cards, product CTA, lead modal === */

/* Brand: new mark + Onest SemiBold wordmark. */
.brand--mark,
.catalog-brand--mark{
  width:auto!important;
  height:auto!important;
  max-height:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px;
  min-width:0;
}
.brand--mark>img{
  flex:0 0 auto;
  width:46px!important;
  height:46px!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain;
}
.brand-name,
.catalog-brand-name{
  display:block;
  font-family:"Onest",Arial,sans-serif;
  font-size:17px;
  line-height:1;
  font-weight:600;
  letter-spacing:-.025em;
  white-space:nowrap;
}
.hero .brand-name{color:#fff}
.catalog-brand-name{color:#081429}
.catalog-brand--mark .logo-tile,
.catalog-footer__brand--mark .logo-tile,
.footer-brand--mark .logo-tile{
  background:transparent!important;
  border-radius:13px!important;
  overflow:hidden;
}
.catalog-brand--mark .logo-tile img,
.catalog-footer__brand--mark .logo-tile img,
.footer-brand--mark .logo-tile img{
  width:100%!important;
  height:100%!important;
  object-fit:contain;
}

/* Catalog cards: exactly one visual format regardless of text length. */
.catalog-grid{align-items:stretch}
.product-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
}
.product-card__image-link{display:block;flex:0 0 auto}
.product-card__body{
  display:flex!important;
  flex-direction:column;
  height:180px;
  min-height:180px;
  max-height:180px;
  padding-top:15px!important;
  min-width:0;
}
.product-card__title-link{
  flex:0 0 52px;
  height:52px;
  min-height:52px;
  max-height:52px;
  overflow:hidden;
}
.product-card__title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.product-card__meta{
  flex:0 0 48px;
  min-height:48px;
  max-height:48px;
  margin-top:8px!important;
  padding-top:10px!important;
  overflow:hidden;
}
.product-card__dimensions{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.product-card__actions{
  display:flex!important;
  flex:0 0 40px;
  min-height:40px;
  max-height:40px;
  align-items:center;
  margin-top:auto!important;
  opacity:1!important;
}
.product-card__more{display:none!important}
.product-card__quote{
  width:100%;
  height:40px;
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid #d8dbe0;
  border-radius:999px;
  background:#fff;
  color:#081429;
  font:600 12px/1 "Onest",Arial,sans-serif;
  cursor:pointer;
  white-space:nowrap;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.product-card__quote:hover{
  background:#081429;
  color:#fff;
  border-color:#081429;
  transform:translateY(-1px);
}

/* Product page: remove the heavy image frame and keep the media clean. */
.product-detail-page .product-visual{
  min-height:520px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.product-detail-page .product-visual img{
  width:100%;
  height:100%;
  max-height:620px!important;
  object-fit:contain;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.product-order-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:34px;
}
.product-order-actions .product-order{
  margin-top:0!important;
  min-height:56px;
  border:0;
  cursor:pointer;
  font-family:"Onest",Arial,sans-serif;
}
.product-call{
  flex:0 0 56px;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border:1px solid #d7dbe0;
  border-radius:50%;
  background:#fff;
  color:#081429;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.product-call svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.product-call:hover{background:#081429;color:#fff;border-color:#081429;transform:translateY(-1px)}

/* Lead form shared by all CTA buttons. */
.lead-modal[hidden]{display:none!important}
.lead-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:20px;
}
.lead-modal__backdrop{position:absolute;inset:0;background:rgba(3,10,20,.48);backdrop-filter:blur(8px)}
.lead-modal__panel{
  position:relative;
  z-index:1;
  width:min(470px,100%);
  max-height:min(720px,calc(100dvh - 32px));
  overflow:auto;
  padding:28px;
  border:1px solid rgba(8,20,41,.08);
  border-radius:28px;
  background:#fff;
  color:#081429;
  box-shadow:0 30px 90px rgba(3,10,20,.2);
}
.lead-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#f3f5f7;
  color:#081429;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.lead-modal__eyebrow{
  display:block;
  padding-right:48px;
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.13em;
  color:#9198a2;
  text-transform:uppercase;
}
.lead-modal h2{
  margin:18px 48px 8px 0;
  font-size:32px;
  line-height:1.02;
  font-weight:600;
  letter-spacing:-.045em;
}
.lead-modal__hint{margin:0 0 22px;color:#707781;font-size:14px;line-height:1.45}
.lead-modal__product{
  margin:0 0 18px;
  padding:12px 14px;
  border-radius:14px;
  background:#f5f7f9;
  font-size:12px;
  line-height:1.4;
  color:#5f6670;
}
.lead-modal__product strong{display:block;margin-top:2px;color:#081429;font-size:14px;font-weight:600}
.lead-field{display:grid;gap:8px;margin-top:14px}
.lead-field span{font-size:12px;font-weight:600;color:#555d67}
.lead-field input{
  width:100%;
  height:52px;
  padding:0 15px;
  border:1px solid #dce0e5;
  border-radius:14px;
  outline:0;
  background:#fff;
  color:#081429;
  font:500 16px/1 "Onest",Arial,sans-serif;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.lead-field input:focus{border-color:#9ca5b0;box-shadow:0 0 0 3px rgba(8,20,41,.045)}
.lead-field--honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lead-submit{
  width:100%;
  min-height:54px;
  margin-top:20px;
  border:0;
  border-radius:999px;
  background:#081429;
  color:#fff;
  font:600 14px/1 "Onest",Arial,sans-serif;
  cursor:pointer;
}
.lead-submit[disabled]{opacity:.55;cursor:wait}
.lead-modal__status{min-height:19px;margin:12px 0 0;font-size:12px;line-height:1.4;color:#69717b}
.lead-modal__status.is-error{color:#a62b2b}
body.lead-modal-open{overflow:hidden}

@media(max-width:700px){
  .product-card__body{
    height:154px;
    min-height:154px;
    max-height:154px;
    padding-top:9px!important;
  }
  .product-card__title-link{
    flex-basis:48px;
    height:48px;
    min-height:48px;
    max-height:48px;
  }
  .product-card__title{-webkit-line-clamp:3}
  .product-card__meta{
    flex-basis:38px;
    min-height:38px;
    max-height:38px;
    margin-top:6px!important;
    padding-top:6px!important;
  }
  .product-card__actions{flex-basis:36px;min-height:36px;max-height:36px}
  .product-card__quote{height:36px;min-height:36px!important;padding:0 8px;font-size:10.5px}
}

@media(max-width:640px) and (orientation:portrait){
  .site-header .brand--mark{
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    gap:7px!important;
  }
  .site-header .brand--mark>img{width:26px!important;height:26px!important}
  .site-header .brand-name{font-size:12.5px!important;letter-spacing:-.025em}

  body.catalog-page .catalog-header,
  body.product-detail-page .catalog-header{
    gap:8px!important;
  }
  .catalog-brand--mark{gap:7px!important}
  .catalog-brand-name{font-size:12.5px!important}
  .catalog-brand--mark .logo-tile{width:38px!important;height:38px!important;flex:0 0 38px}

  .product-detail-page .catalog-header{padding:0 18px!important;grid-template-columns:minmax(0,1fr) auto!important}
  .product-detail-page .catalog-request{
    display:inline-flex!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
    padding:5px 6px 5px 12px!important;
    font-size:12px!important;
    white-space:nowrap;
  }
  .product-detail-page .catalog-request>span:first-child{display:inline!important}
  .product-detail-page .catalog-request__icon{width:32px!important;height:32px!important;flex:0 0 32px!important}

  .product-detail-page .product-visual{min-height:300px!important}
  .product-detail-page .product-visual img{max-height:420px!important}
  .product-order-actions{gap:8px}
  .product-order-actions .product-order{
    flex:1 1 auto;
    min-width:0;
    min-height:52px;
    padding:14px 15px 14px 18px;
    gap:16px;
    font-size:13px;
  }
  .product-call{flex-basis:52px;width:52px;height:52px}

  .lead-modal{place-items:end center;padding:0}
  .lead-modal__panel{
    width:100%;
    max-height:calc(100dvh - 24px);
    padding:25px 20px max(24px,calc(env(safe-area-inset-bottom) + 18px));
    border-radius:28px 28px 0 0;
    border-bottom:0;
  }
  .lead-modal h2{font-size:29px}
}

@media(max-width:370px) and (orientation:portrait){
  .site-header .brand-name{font-size:11.5px!important}
  .catalog-brand-name{font-size:11.5px!important}
  body.catalog-page .catalog-header{gap:6px!important}
  .product-detail-page .catalog-request{padding-left:10px!important;font-size:11.5px!important;gap:7px!important}
}
