/* Oko na Dziecko 4.20 - punkt 24 i dokładne treści klientek.
   Celowo bez modyfikacji pozostałych zaakceptowanych sekcji. */

/* Hero A: dymek ze zdjęcia usunięty w szablonie. Adres ma czytelną rangę. */
.oko46-hero--classic .hero-foot{
 margin-top:23px;display:inline-flex;max-width:100%;gap:10px;
 padding:9px 14px 9px 9px;border:1px solid rgba(0,85,80,.21);
 border-radius:999px;background:rgba(188,235,233,.48);
 color:#005550;font-size:.89rem;font-weight:650;line-height:1.35;
}
.oko46-hero--classic .hero-foot-pin{background:#005550;color:white!important;flex:0 0 31px;width:31px;height:31px}
.oko46-hero--classic .hero-foot-pin svg{stroke:white!important}
.oko46-hero--classic .hero-quote{display:none!important}

/* Treści zapisane dokładnie wg dokumentu - akapity i pogrubienia z Worda. */
.oko-source-verbatim{font-size:clamp(.95rem,1.02vw,1.05rem);line-height:1.76}
.oko-source-verbatim p{margin-bottom:1.1em;overflow-wrap:anywhere}
.oko-source-verbatim h2{margin-top:1.8em;margin-bottom:.55em}
.oko-source-verbatim h3{font-size:clamp(1.12rem,2vw,1.5rem);margin:1.25em 0 .52em;color:#005550;line-height:1.35}
.oko-source-verbatim ul{margin:0 0 1.5em;padding-left:1.45em}
.oko-source-verbatim li{margin-bottom:.46em;list-style-position:outside}
.oko-source-verbatim strong{font-weight:750}
.oko-source-verbatim .oko-source-highlight{color:#7A3E5C}
.oko-source-verbatim .oko-source-schedule{list-style:none;padding-left:0}
.oko-source-verbatim .oko-source-schedule li{background:rgba(188,235,233,.27);border-radius:12px;padding:9px 13px}

/* Cztery oferty, na telefonie w siatce 2x2 zamiast poziomej karuzeli. */
.oko45-services .service-card .oko-service-title-link{color:inherit;text-decoration:none}
.oko45-services .service-card{isolation:isolate}
.oko45-services .service-card .oko-service-title-link::after{content:"";position:absolute;inset:0;z-index:0}
.oko45-services .service-card .service-card-expand{display:none}
.oko45-services .service-card .service-readmore{position:relative;z-index:1}
@media(max-width:620px){
 .oko45-services .service-grid,.oko45-services--split .service-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:1fr;gap:10px!important;overflow:visible!important;
    scroll-snap-type:none!important;padding:0!important;
 }
 .oko45-services .service-card{min-width:0!important;width:auto!important;min-height:240px!important;
    padding:15px 13px 14px!important;gap:12px!important;border-radius:20px!important;
    transform:none!important;transition:box-shadow .2s ease,border-color .2s ease!important;
 }
 .oko45-services .service-card:has(.service-card-expand:focus-visible){z-index:2}
 .oko45-services .service-card h3{font-size:clamp(.95rem,4.05vw,1.12rem)!important;
    letter-spacing:-.035em;line-height:1.25;overflow-wrap:normal;word-break:normal;hyphens:auto;
    margin:0!important;}
 .oko45-services .service-card .service-top{min-height:39px}
 .oko45-services .service-card .service-icon{width:40px!important;height:40px!important;flex:0 0 40px!important}
 .oko45-services .service-card .service-icon svg{width:22px!important;height:22px!important}
 .oko45-services .service-card .service-number{font-size:.75rem}
 .oko45-services .service-card .service-bottom{gap:9px}
 .oko45-services .service-card .service-card-description{display:none}
 .oko45-services .service-card.is-expanded .service-card-description{display:block}
 .oko45-services .service-card .service-card-description p{font-size:.76rem;line-height:1.55;margin:0 0 6px;overflow-wrap:break-word}
 .oko45-services .service-card .service-card-expand{display:inline-flex;align-items:center;gap:7px;
    position:relative;z-index:2;align-self:flex-start;padding:5px 0;margin:0;border:0;
    font:inherit;font-size:.72rem;line-height:1.25;font-weight:650;color:#005550;background:transparent;
    cursor:pointer;white-space:normal;text-align:left;
 }
 .oko45-services .service-card .service-card-expand .oko-expand-symbol{font-size:1rem;line-height:1}
 .oko45-services .service-card .service-cta-row{margin-top:auto;padding-top:7px;gap:5px!important;align-items:center;}
 .oko45-services .service-card .service-readmore{font-size:.71rem!important;line-height:1.35;min-width:0;}
 .oko45-services .service-card .round-arrow{width:29px!important;height:29px!important;flex:0 0 29px!important}
 .oko45-services .service-card .round-arrow svg{width:15px;height:15px}
}
@media(max-width:365px){
 .oko45-services .service-card{padding:12px 10px!important;gap:10px!important;min-height:234px!important}
 .oko45-services .service-card h3{font-size:.94rem!important;line-height:1.26}
 .oko45-services .service-card .round-arrow{width:26px!important;height:26px!important;flex-basis:26px!important}
 .oko45-services .service-card .service-readmore{font-size:.68rem!important}
}

/* Galeria - pewny mobilny przewijany tor. Zapobiega paskom szerokości 30px. */
.oko-gallery-scroll-hint{display:none;margin:10px 0 0;color:#005550;font-size:.84rem;font-weight:650}
@media(max-width:620px){
 .oko-gallery-section .oko-gallery-grid{
   display:flex!important;flex-wrap:nowrap!important;align-items:stretch;gap:12px!important;
   width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;
   scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch;
   padding:0 0 13px!important;scrollbar-width:thin;
 }
 .oko-gallery-section .oko-gallery-photo,
 .oko-gallery-section .oko-gallery-photo:first-child{
   flex:0 0 clamp(246px,78vw,340px)!important;
   width:clamp(246px,78vw,340px)!important;min-width:246px!important;
   height:320px!important;min-height:320px!important;
   display:block!important;scroll-snap-align:start;border-radius:18px;
 }
 .oko-gallery-section .oko-gallery-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
 .oko-gallery-scroll-hint{display:block}
 .oko-gallery-section .oko-gallery-heading{margin-bottom:16px}
}

/* Fixed CTA never sits over content permanently on a narrow mobile device. */
@media(max-width:850px){
 body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
 .mobile-contact-bar{left:12px!important;right:12px!important;
   bottom:max(9px,env(safe-area-inset-bottom))!important;
   display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
   gap:8px;padding:7px!important;max-width:560px;margin-inline:auto;
   border-radius:18px;box-shadow:0 10px 28px rgba(0,42,40,.17);
   transition:transform .23s ease,opacity .23s ease,visibility .23s ease;
 }
 .mobile-contact-bar a{font-size:clamp(.74rem,3.1vw,.92rem);min-width:0;line-height:1.2;
   min-height:45px;padding:8px 6px;text-align:center;border-radius:12px}
 body.oko-mobile-bar-hidden .mobile-contact-bar{
   transform:translateY(calc(110% + env(safe-area-inset-bottom)))!important;
   opacity:0;visibility:hidden;pointer-events:none;
 }
}
@media(prefers-reduced-motion:reduce){.mobile-contact-bar{transition:none!important}}
