/* Techtrim v99 — exact requested correction only: compact HOME lower block + large-logo-only sheen. */

/* HOME lower block: size rows by content. Never stretch the three left columns to map height. */
.techtrim-home .tt-visit-grid{
  width:100%!important; max-width:none!important; margin-inline:auto!important;
  grid-template-columns:290px 270px 290px minmax(430px,1fr)!important;
  gap:14px!important; padding:12px!important;
  align-items:start!important; grid-auto-rows:auto!important;
  overflow:hidden!important; box-sizing:border-box!important;
}
.techtrim-home .tt-visit-card,
.techtrim-home .tt-visit-contacts,
.techtrim-home .tt-home-info-col,
.techtrim-home .tt-home-route-col{
  height:auto!important; min-height:0!important; max-height:none!important;
  align-self:start!important; align-content:start!important;
  padding:0!important; margin:0!important;
  background:transparent!important; border:0!important; box-shadow:none!important;
}

/* Phone / Telegram / MAX / Avito: half-height, but complete buttons (no clipping). */
.techtrim-home .tt-contact-buttons{
  display:grid!important; grid-template-columns:1fr!important;
  gap:6px!important; height:auto!important; min-height:0!important; align-content:start!important;
}
.techtrim-home .tt-contact-buttons a{
  display:flex!important; align-items:center!important; justify-content:flex-start!important;
  height:42px!important; min-height:42px!important; max-height:42px!important;
  padding:5px 12px!important; gap:10px!important; box-sizing:border-box!important;
  overflow:visible!important; border-radius:10px!important;
  font-size:16px!important; line-height:1!important;
}
.techtrim-home .tt-contact-buttons img.tt-social-icon{width:23px!important;height:23px!important;flex:0 0 23px!important;object-fit:contain!important}
.techtrim-home .tt-contact-phone img{width:22px!important;height:22px!important;flex:0 0 22px!important;object-fit:contain!important}

/* Information cards: compact by height; content remains fully visible. */
.techtrim-home .tt-home-info-col,
.techtrim-home .tt-home-route-col{display:grid!important;grid-template-rows:none!important;gap:8px!important}
.techtrim-home .tt-info-button,
.techtrim-home .tt-home-route-col>.tt-info-button{
  display:flex!important; align-items:center!important;
  height:72px!important; min-height:72px!important; max-height:72px!important;
  padding:7px 11px!important; gap:9px!important; box-sizing:border-box!important;
  overflow:visible!important; border-radius:10px!important;
}
.techtrim-home .tt-info-icon{width:34px!important;height:34px!important;min-width:34px!important;display:grid!important;place-items:center!important}
.techtrim-home .tt-info-icon img{width:21px!important;height:21px!important;object-fit:contain!important}
.techtrim-home .tt-info-button>span:last-child{min-width:0!important;padding:0!important}
.techtrim-home .tt-info-button b{font-size:15px!important;line-height:1.08!important}
.techtrim-home .tt-info-button small{font-size:12px!important;line-height:1.18!important;margin-top:4px!important}

/* Requested exception: route button keeps its established size. */
.techtrim-home .tt-route-button{
  height:auto!important; min-height:50px!important; max-height:none!important;
  padding:10px 15px!important; font-size:15px!important; box-sizing:border-box!important;
}

/* Map is clipped to its own card and can never escape the lower block. */
.techtrim-home .tt-map-card{
  position:relative!important; align-self:start!important;
  width:100%!important; max-width:100%!important; min-width:0!important;
  height:250px!important; min-height:250px!important; max-height:250px!important;
  margin:0!important; padding:0!important; box-sizing:border-box!important;
  overflow:hidden!important; border-radius:14px!important; contain:paint!important;
}
.techtrim-home .tt-map-card iframe{
  position:absolute!important; inset:0!important; display:block!important;
  width:100%!important; height:100%!important; min-width:0!important; min-height:0!important;
  max-width:100%!important; max-height:100%!important;
  margin:0!important; padding:0!important; border:0!important; box-sizing:border-box!important;
}

/* LARGE logo only: one clipped sweep on every page. */
.techtrim-hero.tt-v77-hero{position:relative!important;overflow:hidden!important}
.techtrim-hero.tt-v77-hero .tt-logo-sheen{
  display:block!important; position:absolute!important; inset:0!important; z-index:8!important;
  pointer-events:none!important; overflow:hidden!important; opacity:1!important;
  background:none!important; mix-blend-mode:screen!important;
  -webkit-mask:url('techtrim-logo-edge-mask-v31.png') 0 0/100% 100% no-repeat!important;
  mask:url('techtrim-logo-edge-mask-v31.png') 0 0/100% 100% no-repeat!important;
}
.techtrim-hero.tt-v77-hero .tt-logo-sheen::before{
  content:""!important; display:block!important; position:absolute!important;
  top:0!important; bottom:0!important; left:-90px!important; width:86px!important;
  opacity:0; filter:blur(.4px)!important;
  background:linear-gradient(90deg,transparent 0%,rgba(150,216,255,.06) 20%,rgba(230,247,255,.45) 42%,rgba(255,255,255,.98) 50%,rgba(170,225,255,.25) 62%,transparent 100%)!important;
  transform:skewX(-12deg); animation:ttV99LogoSweep 5.8s ease-in-out infinite!important;
}
.techtrim-hero.tt-v77-hero .tt-logo-sheen::after{content:none!important;display:none!important}
@keyframes ttV99LogoSweep{
  0%,18%{transform:translateX(0) skewX(-12deg);opacity:0}
  24%{opacity:1}
  70%{transform:translateX(930px) skewX(-12deg);opacity:.95}
  76%,100%{transform:translateX(970px) skewX(-12deg);opacity:0}
}
/* No animation on the small header logo, on any page. */
.approved-header .approved-brand::before,.approved-header .approved-brand::after,
.tt-uheader-v94 .tt-uheader-v94__brand::before,.tt-uheader-v94 .tt-uheader-v94__brand::after{
  content:none!important;display:none!important;animation:none!important;background:none!important
}
.approved-header .approved-brand img,.tt-uheader-v94 .tt-uheader-v94__brand img{animation:none!important}

@media(max-width:1250px){.techtrim-home .tt-visit-grid{grid-template-columns:260px 245px 270px minmax(360px,1fr)!important}}
@media(max-width:1050px){.techtrim-home .tt-visit-grid{grid-template-columns:1fr 1fr!important}.techtrim-home .tt-map-card{grid-column:1/-1!important}}
@media(max-width:680px){.techtrim-home .tt-visit-grid{grid-template-columns:1fr!important}.techtrim-home .tt-map-card{grid-column:auto!important}}
@media(prefers-reduced-motion:reduce){.techtrim-hero.tt-v77-hero .tt-logo-sheen::before{animation:none!important}}
