:root{
  --kom-paper:#F8F9FA;
  --kom-paper-deep:#EEF2F6;
  --kom-ink:#0B304C;
  --kom-ink-soft:#3A556B;
  --kom-fog:#8597A6;
  --kom-line:#D8DFE6;
  --kom-accent:#166299;
  --kom-accent-soft:#5C95C4;
  --kom-sand:#DCE6EE;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--kom-paper);
  color:var(--kom-ink);
  font-family:'Inter',sans-serif;
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.kom-main{overflow:hidden}
.kom-main .wp-block-post-content{margin:0}
.kom-main .wp-block-post-content>*{margin-block-start:0;margin-block-end:0}
.kom-main .alignwide,.kom-header .alignwide,.kom-footer .alignwide{
  width:min(calc(100% - 96px),1180px);
  max-width:1180px;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Header */
.kom-header{background:var(--kom-paper);position:relative;z-index:50}
.kom-header > .wp-block-group{margin-block-start:0!important;margin-block-end:0!important}
.kom-header__mast{
  min-height:95px;
  padding-top:22px;
  padding-bottom:20px;
  border-bottom:1px solid var(--kom-line);
  gap:24px;
}
.kom-brand{gap:16px!important;align-items:center!important}
.kom-brand::before{content:"";display:block;width:52px;height:52px;flex:0 0 52px;background:url("../images/Logo-Szpital-Pucki.svg") center/contain no-repeat}
.kom-brand-text{margin:0!important}
.kom-brand-name{
  margin:0!important;
  font-family:'Inter',sans-serif;
  font-size:22px;
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.015em;
  white-space:nowrap;
}
.kom-brand-name em{font-style:normal;color:var(--kom-accent);font-weight:600}
.kom-brand-meta{
  margin:4px 0 0!important;
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:.035em;
  color:var(--kom-fog);
  white-space:nowrap;
}
.kom-header__drive{margin:0!important}
.kom-header__drive .wp-block-button__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 20px;
  border-radius:999px;
  background:var(--kom-ink);
  color:#fff;
  font-family:'Inter',sans-serif;
  font-size:13.5px;
  font-weight:600;
  line-height:1;
}
.kom-header__drive .wp-block-button__link::before{
  content:"\eae8";
  font-family:'tabler-icons';
  font-size:16px;
  font-weight:400;
}
.kom-header__drive .wp-block-button__link:hover{background:var(--kom-accent)}
.kom-header__navrow{
  min-height:61px;
  padding-top:14px;
  padding-bottom:16px;
  border-bottom:1px solid var(--kom-line);
}
.kom-nav{font-family:'Inter',sans-serif;font-size:14px;font-weight:500}
.kom-nav .wp-block-navigation__container{gap:28px!important}
.kom-nav .wp-block-navigation-item__content{padding:4px 0;color:var(--kom-ink)}
.kom-nav .wp-block-navigation-item__content:hover{color:var(--kom-accent)}

/* Hero */
.kom-hero{padding-top:60px;padding-bottom:46px}
.kom-eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--kom-fog);
  font-weight:500;
  margin:0 0 20px!important;
}
.kom-eyebrow--accent{color:var(--kom-fog)}
.kom-hero__title{
  font-family:'Inter',sans-serif;
  font-weight:600!important;
  font-size:38px!important;
  line-height:1.1!important;
  letter-spacing:-.035em;
  margin:0!important;
}
.kom-hero__lead{
  font-family:'Inter',sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.6;
  color:var(--kom-ink-soft);
  max-width:none;
  margin:14px 0 0!important;
}

/* Procedure cards */
.kom-card-grid{gap:20px!important;margin-bottom:20px!important}
.kom-card-grid>.wp-block-column{margin:0!important;min-width:0}
.kom-card-grid--2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
.kom-card-grid--3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:52px!important}
.kom-card{
  position:relative;
  cursor:pointer;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:6px;
  background:var(--kom-sand);
  min-height:0;
  isolation:isolate;
}
.kom-card--small{aspect-ratio:3/4}
.kom-card--clinic{aspect-ratio:4/5}

/* On desktop, rows with only one or two procedure cards become panoramic. */
@media (min-width:901px){
  .kom-card-grid--2 .kom-card{aspect-ratio:16/9}

  .kom-card-grid--2:has(> .wp-block-column:only-child),
  .kom-card-grid--3:has(> .wp-block-column:only-child){
    grid-template-columns:1fr!important;
  }
  .kom-card-grid--2:has(> .wp-block-column:only-child) .kom-card,
  .kom-card-grid--3:has(> .wp-block-column:only-child) .kom-card{
    aspect-ratio:21/9;
  }

  .kom-card-grid--3:has(> .wp-block-column:nth-child(2):last-child){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .kom-card-grid--3:has(> .wp-block-column:nth-child(2):last-child) .kom-card{
    aspect-ratio:16/9;
  }
}
.kom-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(11,48,76,0) 45%,rgba(11,48,76,.82) 100%);
  pointer-events:none;
}
.kom-card>.wp-block-image.kom-card__image{position:absolute;inset:0;width:100%;height:100%;margin:0!important}
.kom-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.kom-card:hover .kom-card__image img{transform:scale(1.06)}
.kom-card__body{position:absolute!important;z-index:2;left:0;right:0;bottom:0;padding:26px 26px 24px!important;color:#fff;background:transparent!important}
.kom-card__tag{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.68);
  margin:0 0 8px!important;
}
.kom-card__title{
  font-family:'Inter',sans-serif;
  font-weight:600!important;
  font-size:22px!important;
  line-height:1.2!important;
  letter-spacing:-.02em;
  margin:0!important;
  padding-right:36px;
  position:relative;
}
.kom-card--small .kom-card__title{font-size:19px!important}
.kom-card__title a{color:#fff!important;text-decoration:none!important}
.kom-card__title a::after{
  content:"\ea1c";
  position:absolute;
  right:0;
  bottom:1px;
  font-family:'tabler-icons';
  font-size:20px;
  font-weight:400;
  color:#fff;
  transition:transform .2s;
}
.kom-card:hover .kom-card__title a::after{transform:translateX(4px)}
.kom-card__title--clinic{font-size:16px!important;padding-right:18px}

/* Price band — values copied from Claude design */
.kom-price-band{
  background:var(--kom-paper-deep);
  border-top:1px solid var(--kom-line);
  border-bottom:1px solid var(--kom-line);
  padding:52px 0;
  margin:0!important;
}
.kom-price-band__inner{
  width:100%;
  max-width:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.kom-price-band__inner > *{
  align-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.kom-price-band h2{
  width:auto!important;
  max-width:none!important;
  text-align:center!important;
  font-family:'Inter',sans-serif;
  font-weight:700!important;
  font-size:24px!important;
  line-height:1.2!important;
  letter-spacing:-.02em;
  margin:0 0 14px!important;
}
.kom-price-band p{
  font-family:'Inter',sans-serif;
  font-size:14.5px;
  line-height:1.55;
  color:var(--kom-ink-soft);
  max-width:52ch;
  margin:0 auto 26px!important;
}
.kom-price-band .wp-block-buttons{width:auto!important;display:flex!important;margin:0 auto!important;justify-content:center!important;align-items:center!important;align-self:center!important}
.kom-price-band .wp-block-button__link{
  padding:13px 26px;
  border-radius:999px;
  background:var(--kom-ink);
  color:#fff;
  font-family:'Inter',sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1;
}
.kom-price-band .wp-block-button__link:hover{background:var(--kom-accent)}

/* Room and contact */
.kom-split{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:52px!important;
  align-items:center!important;
  padding-top:50px;
  padding-bottom:50px;
  margin:0!important;
}
.kom-split--contact{border-top:1px solid var(--kom-line);padding-top:52px;padding-bottom:52px}
.kom-split>.wp-block-column{margin:0!important;min-width:0}
.kom-split__media{margin:0!important;aspect-ratio:5/4;border-radius:6px;overflow:hidden;background:var(--kom-sand)}
.kom-split__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.kom-split__media:hover img{transform:scale(1.04)}
.kom-split__copy h2{
  font-family:'Inter',sans-serif;
  font-weight:600!important;
  font-size:28px!important;
  line-height:1.18!important;
  letter-spacing:-.02em;
  margin:0 0 14px!important;
}
.kom-split__copy>p:not(.kom-eyebrow):not(.kom-room-note):not(.kom-contact-line){
  font-family:'Inter',sans-serif;
  font-size:14.5px;
  line-height:1.75;
  color:var(--kom-ink-soft);
  max-width:52ch;
  margin:0 0 16px!important;
}
.kom-room-note{
  font-family:'Inter',sans-serif;
  font-size:26px;
  font-weight:600;
  letter-spacing:-.02em;
  margin:18px 0 22px!important;
}
.kom-split .is-style-outline .wp-block-button__link{
  display:inline-flex;
  align-items:center;
  padding:12px 22px;
  border:1.5px solid var(--kom-ink);
  border-radius:999px;
  color:var(--kom-ink);
  background:transparent;
  font-family:'Inter',sans-serif;
  font-size:13.5px;
  font-weight:600;
}
.kom-split .is-style-outline .wp-block-button__link:hover{background:var(--kom-ink);color:#fff}
.kom-contact-line{font-family:'Inter',sans-serif;font-size:18px;font-weight:600;margin:13px 0!important}
.kom-contact-line a{display:inline-flex;align-items:center;gap:10px;color:var(--kom-ink)!important}
.kom-contact-line a::before{font-family:'tabler-icons';font-size:18px;font-weight:400;color:var(--kom-accent)}
.kom-contact-line--phone a::before{content:"\eb09"}
.kom-contact-line--mail a::before{content:"\eae5"}
.kom-contact-line a:hover{color:var(--kom-accent)!important}

/* Clinics */
.kom-clinics{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:56px!important;
  align-items:center!important;
  border-top:1px solid var(--kom-line);
  padding-top:56px;
  padding-bottom:56px;
  margin:0!important;
}
.kom-clinics>.wp-block-column{margin:0!important;min-width:0}
.kom-clinics h2{
  font-family:'Inter',sans-serif;
  font-weight:600!important;
  font-size:26px!important;
  letter-spacing:-.02em;
  margin:0 0 10px!important;
}
.kom-clinics>.wp-block-column>p:not(.kom-eyebrow){font-size:14.5px;line-height:1.65;color:var(--kom-ink-soft);margin:0!important;max-width:56ch}
.kom-clinic-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,220px));justify-content:end;gap:20px!important;margin:0!important}
.kom-clinic-grid>.wp-block-column{margin:0!important;min-width:0}
.kom-card--clinic .kom-card__body{padding:20px 18px 18px!important}

/* Footer — faithful port of the Claude prototype */
.kom-footer{
  background:var(--kom-ink);
  color:var(--kom-paper);
  padding:56px 0 28px;
  position:relative;
  overflow:hidden;
  margin:0!important;
}
.kom-footer__bg{
  position:absolute;
  inset:-20px;
  z-index:0;
  background:url("../images/szpital-pucki.webp") center/cover no-repeat;
  filter:blur(8px) saturate(.9);
}
.kom-footer::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(11,48,76,.82) 0%,rgba(11,48,76,.9) 60%,rgba(11,48,76,.95) 100%);
}
.kom-footer::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,85,58,.5),transparent);
  z-index:2;
}
.kom-footer__wrap{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding-left:48px;
  padding-right:48px;
  position:relative;
  z-index:2;
}
.footer-grid{
  display:grid;
  grid-template-columns:1fr 1.4fr auto;
  gap:40px;
  margin-bottom:36px;
  align-items:center;
}
.footer-tiles{
  display:grid;
  grid-template-columns:repeat(2,minmax(260px,1fr));
  gap:10px;
}
.footer-tile{
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px 14px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  transition:background .15s,border-color .15s,transform .15s;
  color:#fff!important;
}
.footer-tile:hover{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.28);
  transform:translateY(-1px);
}
.footer-tile .ft-ic{
  width:34px;height:34px;border-radius:8px;
  background:rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  color:var(--kom-accent-soft);
  font-size:16px;flex-shrink:0;
}
.footer-tile .ft-body{flex:1;min-width:0}
.footer-tile .ft-label{font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:#fff;line-height:1.2}
.footer-tile .ft-sub{font-family:'Inter',sans-serif;font-size:11px;color:rgba(255,255,255,.5);margin-top:2px}
.footer-nav-tiles{display:flex;flex-direction:column;gap:10px}
.foot-brand .fname{font-family:'Inter',sans-serif;font-weight:600;font-size:28px;letter-spacing:-.025em;line-height:1.1;margin-bottom:6px}
.foot-brand .fname em{font-style:normal;color:var(--kom-accent-soft);font-weight:600}
.foot-brand .fsub{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,230,.45);margin-bottom:24px}
.foot-brand p{font-family:'Inter',sans-serif;color:rgba(245,240,230,.62);font-size:14px;line-height:1.65;max-width:34ch;margin:0 0 24px}
.foot-brand .social{display:flex;gap:8px}
.foot-brand .social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(245,240,230,.16);display:flex;align-items:center;justify-content:center;color:rgba(245,240,230,.7);font-size:16px}
.foot-brand .social a:hover{background:var(--kom-accent);border-color:var(--kom-accent);color:#fff}
.footer-bot{
  padding-top:28px;
  border-top:1px solid rgba(245,240,230,.12);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:rgba(245,240,230,.4);
  letter-spacing:.04em;
  flex-wrap:wrap;
}
.footer-bot .legals{display:flex;gap:18px;flex-wrap:wrap}
.footer-bot a{color:inherit!important}
.footer-bot a:hover{color:var(--kom-paper)!important}

.kom-generic{
  width:min(calc(100% - 96px),1180px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:56px;
  padding-bottom:56px;
}
.kom-generic > .wp-block-post-title,
.kom-generic > .wp-block-post-content{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.kom-generic .wp-block-post-content > *:not(.alignfull){
  max-width:none;
}

@media (max-width:900px){
  .kom-main .alignwide,.kom-header .alignwide,.kom-footer .alignwide{width:min(calc(100% - 48px),1180px)}
  .kom-header__mast{padding-top:16px;padding-bottom:14px;min-height:auto}
  .kom-brand::before{width:44px;height:44px;flex-basis:44px}
  .kom-brand-name{font-size:18px}
  .kom-brand-meta{font-size:9.5px}
  .kom-header__drive{display:none}
  .kom-header__navrow{min-height:50px;padding-top:10px;padding-bottom:10px;justify-content:flex-end!important}
  .kom-nav{width:100%;justify-content:flex-end}
  .kom-hero{padding-top:48px;padding-bottom:34px}
  .kom-hero__title{font-size:32px!important}
  .kom-card-grid--2,.kom-card-grid--3{grid-template-columns:1fr}
  .kom-card,.kom-card--small{aspect-ratio:4/3}
  .kom-card-grid--3{margin-bottom:36px!important}
  .kom-card__body{padding:20px!important}
  .kom-split{grid-template-columns:1fr;gap:24px!important;padding-top:40px;padding-bottom:40px}
  .kom-clinics{grid-template-columns:1fr;gap:28px!important;padding-top:40px;padding-bottom:40px}
  .kom-clinic-grid{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch}
  .kom-card--clinic{aspect-ratio:4/5}
  .kom-footer{padding:40px 0 24px}
  .kom-footer__wrap{padding-left:24px;padding-right:24px}
  .footer-grid{grid-template-columns:1fr;gap:30px;margin-bottom:30px}
  .footer-tiles{grid-template-columns:1fr}
  .footer-bot{align-items:flex-start;flex-direction:column}
}
@media (max-width:560px){
  .kom-main .alignwide,.kom-header .alignwide,.kom-footer .alignwide{width:min(calc(100% - 32px),1180px)}
  .kom-footer__wrap{padding-left:16px;padding-right:16px}
  .kom-brand-meta{white-space:normal;max-width:230px}
  .kom-card,.kom-card--small{aspect-ratio:1/1}
  .kom-card__title{font-size:19px!important}
  .kom-card-grid{gap:14px!important;margin-bottom:14px!important}
  .kom-clinic-grid{grid-template-columns:1fr}
  .kom-card--clinic{aspect-ratio:4/3}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kom-card__image img,a{transition:none!important}}

/* 1.3.7 — mobile layout aligned with the approved Claude prototype */
.kom-nav__drive{display:none!important}

@media (max-width:900px){
  /* Claude uses 24 px side padding throughout mobile. */
  .kom-main .alignwide,
  .kom-header .alignwide,
  .kom-footer .alignwide{
    width:min(calc(100% - 48px),1180px)!important;
  }
  .kom-footer__wrap{padding-left:24px!important;padding-right:24px!important}

  /* Native Navigation block, styled as the prototype's dropdown menu. */
  .kom-header__navrow{
    position:relative;
    min-height:56px;
    padding-top:10px;
    padding-bottom:10px;
    align-items:flex-start!important;
  }
  .kom-header__navrow:has(.wp-block-navigation__responsive-container.is-menu-open){
    border-bottom:0!important;
  }
  .kom-nav{
    width:100%;
    display:flex!important;
    justify-content:flex-end!important;
    position:relative;
  }
  .kom-nav .wp-block-navigation__responsive-container-open{
    margin-left:auto!important;
    padding:4px!important;
    color:var(--kom-ink)!important;
  }
  .kom-nav .wp-block-navigation__responsive-container-open svg,
  .kom-nav .wp-block-navigation__responsive-container-close svg{
    width:26px!important;
    height:26px!important;
  }
  .kom-nav .wp-block-navigation__responsive-container.is-menu-open{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    display:block!important;
    background:var(--kom-paper)!important;
    padding:0!important;
    color:var(--kom-ink)!important;
    z-index:60!important;
    border-bottom:0!important;
    box-shadow:none!important;
  }

  .kom-nav .wp-block-navigation__responsive-container.is-menu-open::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-28px;
    width:100vw;
    height:28px;
    transform:translateX(-50%);
    background:linear-gradient(
      to bottom,
      rgba(11,48,76,.065) 0%,
      rgba(11,48,76,.035) 28%,
      rgba(11,48,76,.014) 58%,
      rgba(11,48,76,0) 100%
    );
    pointer-events:none;
    z-index:1;
  }
  .kom-nav .wp-block-navigation__responsive-dialog{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
  }
  .kom-nav .wp-block-navigation__responsive-container-close{
    position:absolute!important;
    top:3px!important;
    right:0!important;
    margin:0!important;
    padding:4px!important;
    color:var(--kom-ink)!important;
  }
  .kom-nav .wp-block-navigation__responsive-container-content{
    width:100%!important;
    padding-top:54px!important;
    padding-bottom:18px!important;
    display:block!important;
  }
  .kom-nav .wp-block-navigation__container{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    width:100%!important;
  }
  .kom-nav .wp-block-navigation-item{
    width:100%!important;
    margin:0!important;
    border-bottom:1px solid var(--kom-line);
  }
  .kom-nav .wp-block-navigation-item__content{
    display:block!important;
    width:100%!important;
    padding:14px 0!important;
    color:var(--kom-ink)!important;
    font-size:15px!important;
    line-height:1.4!important;
    text-align:left!important;
  }
  .kom-nav .wp-block-navigation-item__content:hover{color:var(--kom-accent)!important}
  .kom-nav .kom-nav__drive{
    display:block!important;
    border-bottom:0!important;
    margin-top:10px!important;
  }
  .kom-nav .kom-nav__drive .wp-block-navigation-item__content{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    padding:13px 18px!important;
    border-radius:10px!important;
    background:var(--kom-ink)!important;
    color:#fff!important;
    font-weight:600!important;
    text-align:center!important;
  }
  .kom-nav .kom-nav__drive .wp-block-navigation-item__content::before{
    content:"\eae8";
    font-family:'tabler-icons';
    font-size:17px;
    font-weight:400;
  }
  html.has-modal-open{overflow:auto!important}

  /* Procedures become one panoramic card per row on mobile. */
  .kom-card-grid--2,
  .kom-card-grid--3{grid-template-columns:1fr!important}
  .kom-card,
  .kom-card--small{aspect-ratio:4/3!important}

  /* Clinics stay two-up on mobile, like the approved reference. */
  .kom-clinic-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    justify-content:stretch!important;
    gap:20px!important;
  }
  .kom-card--clinic{aspect-ratio:4/5!important}
}

@media (max-width:560px){
  /* Do not collapse to 16 px side margins or square procedure cards. */
  .kom-main .alignwide,
  .kom-header .alignwide,
  .kom-footer .alignwide{
    width:min(calc(100% - 48px),1180px)!important;
  }
  .kom-footer__wrap{padding-left:24px!important;padding-right:24px!important}
  .kom-card,
  .kom-card--small{aspect-ratio:4/3!important}
  .kom-clinic-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
  .kom-card--clinic{aspect-ratio:4/5!important}
  .kom-card--clinic .kom-card__body{padding:16px 14px 14px!important}
  .kom-card--clinic .kom-card__title{font-size:8px!important;line-height:1.2!important;padding-right:15px}
}
@media (max-width:900px){
  .kom-nav:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-block-navigation__responsive-container-open{display:none!important}
}


/* Generic pages use the same horizontal rhythm as the header/menu. */
@media (max-width:900px){
  .kom-generic{width:min(calc(100% - 48px),1180px)!important;}
}
@media (max-width:480px){
  .kom-generic{width:min(calc(100% - 48px),1180px)!important;}
}

/* Posts/archives follow the same 1180px content width as the header and pages. */
.kom-generic > .wp-block-query,
.kom-generic .wp-block-post-template,
.kom-generic .wp-block-post,
.kom-generic .wp-block-post > *{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Mobile polish: top Dojazd button hidden; equal breathing room around price band. */
@media (max-width:900px){
  .kom-header__drive{
    display:none!important;
  }

  .kom-price-band{
    margin-top:40px!important;
  }
}
