/* 4.20.1: narrowly scoped repair of 4.20 front-page rendering. */

/* Address is information, not an outlined CTA. Keep the pin readable. */
.oko46-hero--classic .hero-foot{
  display:inline-flex;align-items:center;max-width:100%;gap:10px;
  margin-top:21px;padding:0;border:0;border-radius:0;
  background:transparent;color:#005550;
  font-size:clamp(.85rem,1.03vw,.95rem);font-weight:650;
  line-height:1.5;box-shadow:none;text-decoration:none;
}
.oko46-hero--classic .hero-foot-pin{
  display:flex;align-items:center;justify-content:center;
  width:25px;height:25px;flex:0 0 25px;
  background:transparent!important;border:0!important;border-radius:0;
  color:#005550!important;
}
.oko46-hero--classic .hero-foot-pin svg{
  width:21px;height:21px;color:#005550!important;
  fill:none;stroke:currentColor!important;
}

/* Correct legacy horizontal-carousel settings in the genuine 2-column mobile grid. */
@media(max-width:620px){
  .oko45-services .oko45-services-composition,
  .oko45-services--split .oko45-services-composition{
    display:block!important;width:100%!important;min-width:0!important;
    max-width:100%!important;overflow:visible!important;
  }
  .oko45-services .service-grid,
  .oko45-services--split .service-grid{
    display:grid!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-columns:minmax(0,1fr)!important;
    grid-auto-rows:auto!important;
    gap:12px!important;
    align-items:stretch!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
    scroll-snap-type:none!important;
    scroll-padding:0!important;
    scrollbar-width:auto!important;
    overscroll-behavior:auto!important;
  }
  .oko45-services .service-grid>.service-card,
  .oko45-services--split .service-grid>.service-card{
    grid-column:auto!important;grid-row:auto!important;
    width:auto!important;min-width:0!important;max-width:100%!important;
    height:auto!important;min-height:245px!important;
    padding:16px 13px!important;margin:0!important;
    overflow:hidden!important;
    scroll-snap-align:none!important;
    transform:none!important;
  }
  .oko45-services .service-card .service-bottom{min-width:0!important;width:100%;display:flex;flex:1;flex-direction:column;gap:9px}
  .oko45-services .service-card .service-top{width:100%;min-width:0;display:flex;justify-content:space-between;align-items:flex-start}
  .oko45-services .service-card h3{max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:normal;hyphens:auto;font-size:clamp(.92rem,4vw,1.08rem)!important;line-height:1.28}
  .oko45-services .service-card .service-card-description{display:none!important;max-width:100%;min-width:0;}
  .oko45-services .service-card.is-expanded .service-card-description{display:block!important;}
  .oko45-services .service-card .service-card-description p{font-size:.77rem;line-height:1.55;overflow-wrap:anywhere}
  .oko45-services .service-card .service-card-expand{display:inline-flex!important;position:relative;z-index:3;align-self:flex-start;flex-wrap:wrap;min-height:34px;align-items:center}
  .oko45-services .service-card .service-cta-row{width:100%;min-width:0;max-width:100%;display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:auto;padding-top:12px}
  .oko45-services .service-card .service-readmore{max-width:calc(100% - 31px);min-width:0;overflow-wrap:anywhere;font-size:.7rem!important;line-height:1.35}
  .oko45-services .service-card .round-arrow{flex:0 0 27px!important;width:27px!important;height:27px!important}
  .oko45-services .service-card .round-arrow svg{width:14px;height:14px}
  .oko45-services .service-card.reveal-up{opacity:1!important;transform:none!important;transition:box-shadow .2s ease,border-color .2s ease!important}
}
@media(max-width:360px){
  .oko45-services .service-grid,.oko45-services--split .service-grid{gap:9px!important;}
  .oko45-services .service-grid>.service-card{padding:13px 10px!important;min-height:239px!important;}
  .oko45-services .service-card h3{font-size:.91rem!important;}
  .oko45-services .service-card .service-readmore{font-size:.67rem!important;}
  .oko45-services .service-card .service-icon{width:37px!important;height:37px!important;flex-basis:37px!important}
}

/* Gallery desktop: reliable grid, phone: horizontal swipe without invisible 30px cards. */
.oko-gallery-section .oko-gallery-grid{min-width:0;width:100%;max-width:100%}
.oko-gallery-section .oko-gallery-photo img{display:block;max-width:none}
@media(max-width:620px){
 .oko-gallery-section .oko-gallery-grid{
   display:flex!important;flex-flow:row nowrap!important;
   grid-auto-flow:unset!important;grid-template-columns:none!important;
   grid-template-rows:none!important;grid-auto-columns:auto!important;
   width:100%!important;max-width:100%!important;
   gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;
   scroll-snap-type:x mandatory!important;
   padding:0 0 12px!important;
 }
 .oko-gallery-section .oko-gallery-photo,
 .oko-gallery-section .oko-gallery-photo:first-child{
   display:block!important;position:relative!important;
   flex:0 0 min(80%,320px)!important;
   width:min(80%,320px)!important;min-width:min(80%,320px)!important;
   height:260px!important;min-height:260px!important;
   scroll-snap-align:start!important;
   overflow:hidden!important;border-radius:18px!important;
 }
 .oko-gallery-section .oko-gallery-photo img{width:100%!important;height:100%!important;object-fit:cover!important;}
}
