/* DAGIS Centrum Medyczne - styl własny (na bazie Bootstrap 5.3.3) */
:root{
  --background:42 38% 97%;--foreground:216 52% 18%;--border:40 22% 86%;--card:40 45% 99%;
  --primary:214 62% 28%;--primary-foreground:42 40% 97%;--secondary:98 40% 90%;
  --muted-foreground:216 18% 40%;--accent:98 46% 28%;--green-light:98 50% 70%;
  --font-sans:'Plus Jakarta Sans',system-ui,sans-serif;--font-serif:'Fraunces',Georgia,serif;
  --bs-body-font-family:var(--font-sans);--bs-body-color:hsl(var(--foreground));--bs-body-bg:hsl(var(--background));
  --bs-border-color:hsl(var(--border));--bs-link-color-rgb:30,63,116;--bs-link-hover-color-rgb:30,63,116;
}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{font-family:var(--font-sans);background:hsl(var(--background));color:hsl(var(--foreground));overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit;text-decoration:none}
::selection{background:hsl(var(--secondary))}
:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px hsl(214 62% 20%)}
:where([id],a,button,[tabindex]){scroll-margin-block:7rem 2rem}
main *,footer *{min-inline-size:0}
main a,main button{max-inline-size:100%}
img,iframe{max-inline-size:100%}
.grain::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1060;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.display{font-family:var(--font-serif);font-weight:400;letter-spacing:-.02em}
.container-x{max-width:80rem;margin-inline:auto;padding-inline:1.25rem;width:100%}
@media(min-width:768px){.container-x{padding-inline:2rem}}
@media(max-width:767px){.container-x>.row{--bs-gutter-x:2rem}}
.mw-4xl{max-width:56rem}.mw-3xl{max-width:48rem}.mw-xl{max-width:36rem}
.ico{width:1rem;height:1rem;flex-shrink:0}.ico-lg{width:1.25rem;height:1.25rem}.ico-xl{width:1.75rem;height:1.75rem}.ico-2xl{width:2rem;height:2rem}
.text-accent-c{color:hsl(var(--accent))}.text-primary-c{color:hsl(var(--primary))!important}.text-green-light{color:hsl(var(--green-light))}
.muted{color:hsl(var(--muted-foreground))}.small-x{font-size:.875rem}.text-fg80{color:hsl(var(--foreground)/.8)}.op80{opacity:.8}
.skip-link{position:absolute;left:-9999px;top:1rem;z-index:1100;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:.5rem 1rem;border-radius:999px}
.skip-link:focus{left:1rem;position:fixed}

/* Header */
.site-header{position:relative;top:0;z-index:1030;border-bottom:1px solid hsl(var(--border)/.7);background:hsl(var(--background)/.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
@media(min-width:992px){.site-header{position:sticky}}
@media(max-width:991px){html{scroll-padding-top:1rem}:where([id],a,button,[tabindex]){scroll-margin-top:1rem}}
.site-header .navbar{flex-direction:column;align-items:stretch}
.header-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:.625rem}
.logo{mix-blend-mode:multiply;width:auto;height:auto}
.logo-header{height:3rem}@media(min-width:768px){.logo-header{height:3.5rem}}
.desktop-nav{flex-direction:row;flex-wrap:wrap;min-inline-size:0;max-inline-size:100%;gap:.25rem}
.desktop-nav .nav-link{border-radius:999px;padding:.5rem .875rem!important;font-size:15px;font-weight:500;color:hsl(var(--foreground)/.8);transition:background-color .2s}
.desktop-nav .nav-link:hover{background:hsl(var(--secondary))}
.desktop-nav .nav-link.active{background:hsl(var(--secondary));color:hsl(var(--primary));text-decoration:underline;text-underline-offset:.25em}
.header-call{align-items:center;gap:.5rem;border-radius:999px;background:hsl(var(--accent));color:hsl(var(--primary-foreground));padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:opacity .2s}
.header-call:hover{opacity:.9;color:hsl(var(--primary-foreground))}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid hsl(var(--border));background:transparent;color:hsl(var(--foreground))}
.menu-btn .i-close,.menu-btn[aria-expanded="true"] .i-open{display:none}
.menu-btn[aria-expanded="true"] .i-close{display:block}
.mobile-menu{background:hsl(var(--background));padding:1rem 1.25rem 2.5rem}
.mobile-list{list-style:none;margin:0;padding:0}
.mobile-list li+li{border-top:1px solid hsl(var(--border))}
.mobile-list a{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;font-family:var(--font-serif);font-size:1.5rem;letter-spacing:-.02em;color:hsl(var(--primary))}
.mobile-list a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.mobile-menu.show .mobile-list li{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
.mobile-menu.show .mobile-list li:nth-child(2){animation-delay:40ms}.mobile-menu.show .mobile-list li:nth-child(3){animation-delay:80ms}.mobile-menu.show .mobile-list li:nth-child(4){animation-delay:120ms}.mobile-menu.show .mobile-list li:nth-child(5){animation-delay:160ms}.mobile-menu.show .mobile-list li:nth-child(6){animation-delay:200ms}.mobile-menu.show .mobile-list li:nth-child(7){animation-delay:240ms}
.no-js .mobile-menu{display:block}

/* Buttons */
.btn-pill{display:inline-flex;align-items:center;gap:.75rem;border-radius:999px;padding:.875rem 1.5rem;font-weight:600;border:1px solid transparent;transition:background-color .2s,opacity .2s}
.btn-solid{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.btn-solid:hover{background:hsl(214 62% 22%);color:hsl(var(--primary-foreground))}
.btn-light{background:hsl(var(--background));color:hsl(var(--primary))}
.btn-light:hover{background:hsl(var(--secondary));color:hsl(var(--primary))}
.btn-outline-p{gap:.5rem;border-color:hsl(var(--primary)/.25);color:hsl(var(--primary))}
.btn-outline-p:hover{background:hsl(var(--secondary));color:hsl(var(--primary))}
.hover-bg:hover{background:hsl(var(--background))}
.btn-sm-x{padding:.75rem 1.25rem;gap:.5rem}
.link-strong{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:hsl(var(--primary));text-underline-offset:4px}
.link-strong:hover,.link-accent:hover,.link-light:hover{text-decoration:underline;color:inherit}
.link-accent{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:hsl(var(--accent))}
.link-light{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:hsl(var(--green-light))}

/* Type */
.kicker{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:hsl(var(--accent));margin-bottom:0}
.kicker-light{color:hsl(var(--green-light))}.kicker-muted-light{color:hsl(var(--primary-foreground)/.7)}
.h-sec{margin-top:.75rem;font-size:2.25rem;line-height:1.15;color:inherit}
.h-sec-sm{font-size:1.875rem;line-height:1.15;color:hsl(var(--primary))}
@media(min-width:768px){.h-sec,.h-sec-sm{font-size:3rem}}
.py-section .h-sec,.py-section .h-sec-sm,.h-sec{color:hsl(var(--primary))}
.band-primary .h-sec{color:hsl(var(--primary-foreground))}
.h-card{font-size:1.5rem;color:hsl(var(--primary));margin:0}
.h-card-lg{font-size:1.875rem;color:hsl(var(--primary));margin:1rem 0 0}
.lead-x{margin-top:1.5rem;max-width:42rem;font-size:1.125rem;line-height:1.65;color:hsl(var(--foreground)/.75)}
.body-lg{font-size:1.125rem;line-height:1.65;color:hsl(var(--foreground)/.75)}
.body-lg p{margin-bottom:1.25rem}
.py-section{padding-block:6rem}.py-page{padding-block:5rem}.mt-cta{margin-top:3.5rem}
.stack{display:flex;flex-direction:column;gap:1.5rem}

/* Animations */
@keyframes rise{from{transform:translateY(10px)}to{transform:none}}
.rise{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.js .reveal{opacity:1;transform:none}
.js .reveal.in{opacity:1;transform:none}

/* Home */
.home-hero{padding-block:3rem}@media(min-width:768px){.home-hero{padding-block:5rem}}
.chip{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;background:hsl(var(--secondary));padding:.375rem 1rem;font-size:.875rem;font-weight:500;color:hsl(var(--primary));margin:0}
.h-home{margin-top:1.5rem;font-size:2.6rem;line-height:1.02;color:hsl(var(--primary))}
.h-home em{font-style:normal;color:hsl(var(--accent))}
@media(min-width:576px){.h-home{font-size:3.75rem}}@media(min-width:992px){.h-home{font-size:4.5rem}}
.hero-media{position:relative}
.hero-img-wrap{overflow:hidden;border-radius:2.5rem 8rem 2.5rem 2.5rem;box-shadow:0 30px 60px -30px hsl(214 62% 28%/.45)}
.hero-img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
@media(min-width:576px){.hero-img{aspect-ratio:5/4}}@media(min-width:992px){.hero-img{aspect-ratio:4/5}}
.hero-card{position:absolute;bottom:-1.5rem;left:1rem;right:1rem;border-radius:1.5rem;border:1px solid hsl(var(--border));background:hsl(var(--card));padding:1.25rem;box-shadow:0 10px 15px -3px rgb(20 40 70/.1),0 4px 6px -4px rgb(20 40 70/.1)}
@media(min-width:576px){.hero-card{left:auto;right:1.5rem;width:18rem}}
.hero-card-phone{display:block;margin-top:.25rem;font-size:1.875rem;color:hsl(var(--primary))}
.features{margin-top:4rem;border-block:1px solid hsl(var(--border));background:hsl(var(--card))}
.feat{display:flex;gap:1rem;padding-block:2rem}@media(min-width:576px){.feat{padding-inline:1rem}}
.feat-t{font-size:1rem;font-weight:600;color:hsl(var(--primary));margin:0}
.service-pills{list-style:none;padding:0;margin:3rem 0 0;display:flex;flex-wrap:wrap;gap:.75rem}
.pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--primary));padding:.75rem 1.25rem;font-weight:500;font-size:1rem;transition:background-color .2s,border-color .2s}
@media(min-width:768px){.pill{font-size:1.125rem}}
.pill:hover{border-color:hsl(var(--accent));background:hsl(var(--secondary));color:hsl(var(--primary))}
.pill-nfz{border-color:hsl(var(--accent));background:hsl(var(--accent));color:hsl(var(--primary-foreground))}
.pill-nfz:hover{background:hsl(var(--accent));color:hsl(var(--primary-foreground));opacity:.9}
.pill-badge{border-radius:999px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:.125rem .5rem;font-size:.75rem}
.band-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding-block:5rem}
@media(min-width:768px){.band-primary{padding-block:7rem}}
.band-text{font-size:1.125rem;line-height:1.65;color:hsl(var(--primary-foreground)/.85)}
.band-text p{margin-bottom:1.25rem}
.location-card{border-radius:2.5rem;background:hsl(98 38% 90%);padding:2rem}@media(min-width:768px){.location-card{padding:3.5rem}}

/* Page hero */
.page-hero{position:relative;overflow:hidden;border-bottom:1px solid hsl(var(--border));background:hsl(98 38% 92%)}
.hero-leaf{position:absolute;right:-6rem;top:-6rem;width:420px;height:420px;color:hsl(var(--accent)/.15)}
@media(max-width:575px){.hero-leaf{display:none}}
.page-hero-inner{padding-block:4rem}@media(min-width:768px){.page-hero-inner{padding-block:6rem}}
.h-hero{margin-top:1rem;max-width:48rem;font-size:2.25rem;line-height:1.05;color:hsl(var(--primary))}
@media(min-width:768px){.h-hero{font-size:3.75rem}}

/* Tiles */
.tile{border-radius:1.5rem;padding:2rem}
.tile-card{border:1px solid hsl(var(--border));background:hsl(var(--card))}
.tile-card p:not(.muted){color:hsl(var(--muted-foreground))}
.stack .tile-card p.body-lg,.tile-card .text-fg80{color:hsl(var(--foreground)/.8)}
.tile-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.tile-primary .h-card{color:inherit}.tile-primary p{color:hsl(var(--primary-foreground)/.8)}
.tile-green{background:hsl(98 38% 90%);border-radius:2rem}
.tile-lg{padding:2rem}@media(min-width:768px){.tile-lg{padding:2.5rem}}
.tile-xl{border-radius:2rem;padding:2.5rem}.tile-r2{border-radius:2rem}
.quote{font-size:1.875rem;line-height:1.35;color:hsl(var(--primary));margin:0}@media(min-width:768px){.quote{font-size:2.25rem}}
.contact-phone{display:block;margin-top:.5rem;font-size:3rem;line-height:1.1;overflow-wrap:break-word;color:inherit}
.contact-phone:hover{text-decoration:underline;color:inherit}@media(min-width:768px){.contact-phone{font-size:3.75rem}}
.note{display:flex;gap:.75rem;border-radius:1rem;border:1px solid hsl(var(--accent)/.3);background:hsl(var(--secondary)/.6);padding:1.25rem;color:hsl(var(--foreground)/.8)}
.note .ico{margin-top:.125rem}
.icon-h{display:flex;align-items:center;gap:.75rem}
.steps{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-direction:column;gap:.75rem}
.steps li{display:flex;align-items:center;gap:.75rem}
.step-n{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:hsl(var(--secondary));font-size:.875rem;font-weight:600;color:hsl(var(--primary))}
.map-wrap{overflow:hidden;border-radius:2rem;border:1px solid hsl(var(--border))}
.map-wrap iframe{display:block;width:100%;height:420px;border:0}
@media(min-width:992px){.map-wrap iframe{height:100%;min-height:560px}}
.role-list{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.75rem}
.role-list li{border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--card));padding:.75rem 1.25rem;font-size:1.125rem;font-weight:500;color:hsl(var(--primary))}
.prose-x{display:flex;flex-direction:column;gap:2rem;color:hsl(var(--foreground)/.8)}
.prose-x section p{margin:.75rem 0 0}

/* Services accordion */
.services-acc{display:flex;flex-direction:column;gap:3.5rem}
@media(min-width:992px){.sticky-lg{position:sticky;top:7rem}}
.svc-list{list-style:none;padding:0;margin:.5rem 0 0;border-top:1px solid hsl(var(--border))}
.svc{border-bottom:1px solid hsl(var(--border));scroll-margin-top:7rem}
.svc-btn{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 0;text-align:left;background:none;border:0;color:inherit}
.svc-name{display:block;font-size:1.5rem;color:hsl(var(--primary))}
.svc-chev{margin-top:.5rem;transition:transform .3s}
.svc-btn:not(.collapsed) .svc-chev{transform:rotate(180deg)}
.svc-body{padding-bottom:1.5rem}.svc-body p{max-width:42rem;line-height:1.65;color:hsl(var(--foreground)/.8);margin-bottom:1rem}
.no-js .svc .collapse{display:block}.no-js .svc-chev{display:none}

/* Footer */
.site-footer{margin-top:6rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.footer-grid{display:grid;gap:2.5rem;padding-block:4rem}
@media(min-width:768px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
.logo-box{display:inline-block;border-radius:1rem;background:hsl(var(--background));padding:.75rem}
.logo-footer{height:3.5rem}
.footer-motto{margin:1.5rem 0 0;max-width:24rem;font-size:1.5rem;line-height:1.35}
.footer-small{margin-top:.75rem;font-size:.875rem;color:hsl(var(--primary-foreground)/.7)}
.footer-h{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:hsl(var(--green-light));margin:0}
.footer-phone{display:block;margin-top:1rem;font-size:1.875rem}
.footer-phone:hover{text-decoration:underline;color:inherit}
.footer-addr{margin-top:1rem;display:flex;gap:.5rem;color:hsl(var(--primary-foreground)/.8)}
.footer-addr:hover{color:hsl(var(--primary-foreground))}
.footer-links{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;color:hsl(var(--primary-foreground)/.8)}
.footer-links a:hover{color:hsl(var(--primary-foreground));text-decoration:underline}
.footer-links a{display:inline-flex;align-items:center;min-height:1.5rem}
.footer-bottom{border-top:1px solid hsl(var(--primary-foreground)/.15)}
.footer-bottom p{padding-block:1.25rem;margin:0 auto;text-align:center;font-size:.75rem;color:hsl(var(--primary-foreground)/.6)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rise,.mobile-menu.show .mobile-list li{animation:none!important}
  .js .reveal{opacity:1;transform:none;transition:none}
  .collapsing,.svc-chev{transition:none!important}
}
.map-skip{display:inline-block;padding:1rem;font-weight:600;text-decoration:underline;color:hsl(var(--primary))}
.map-note{padding:1rem;margin:0;font-size:.875rem;color:hsl(var(--muted-foreground))}
.map-wrap{overflow:visible}
.map-wrap iframe{height:420px}
@media(min-width:992px){.map-wrap iframe{height:560px}}
.no-js .menu-btn{display:none}
@media(max-width:380px){.tile-lg,.contact-card,.contact-primary{padding:1.5rem}.contact-phone{font-size:2.5rem}}
