/* Estetime — układ strony głównej (komponenty: design-system/project/components/bundle.css, tokeny: preview/tokens.css).
   Rytm teł: hero bez → obszary bez-jasny → potrzeby bez → Facemodeling roz (pełna sekcja + pierścienie)
   → zespół bez → opinie bez-jasny → vouchery zielen (pełna sekcja + pierścienie) → kontakt bez → stopka zielen. */

html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; overflow-x: hidden; }
img { max-width: 100%; }
.container { width: 100%; max-width: calc(var(--kontener, 1240px) + 2 * var(--space-7, 48px)); margin-inline: auto; padding-inline: var(--space-7, 48px); box-sizing: border-box; }
@media (max-width: 1079px) { .container { padding-inline: var(--space-6, 32px); } }
@media (max-width: 640px) { .container { padding-inline: var(--space-4, 16px); } }

.skip { position: absolute; left: 16px; top: -60px; z-index: 100; padding: 12px 20px; background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); border-radius: var(--radius-pill, 999px); font-weight: 700; text-decoration: none; }
.skip:focus { top: 12px; outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }

/* Sekcje i rytm pionowy: space-10 / space-9 / space-8 */
.sec { padding-block: var(--space-10, 128px); }
.sec--jasny { background: var(--bez-jasny, #F7F1EB); }
.sec__head { margin-bottom: var(--space-7, 48px); }
@media (max-width: 1079px) { .sec { padding-block: var(--space-9, 96px); } }
@media (max-width: 640px) { .sec { padding-block: var(--space-8, 64px); } .sec__head { margin-bottom: var(--space-6, 32px); } }

/* ============ Nagłówek ============ */
.site-header { position: sticky; top: 0; z-index: 40; background: var(--bez, #EEE2D8); border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.site-header__bar { display: flex; align-items: center; gap: var(--space-6, 32px); min-height: 88px; }
.site-logo { display: block; flex: none; line-height: 0; }
.site-logo img { display: block; width: 80px; height: auto; }
.site-logo:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 6px; border-radius: 4px; }
.site-nav { margin-left: auto; }
.site-nav__list { display: flex; align-items: center; gap: var(--space-1, 4px); list-style: none; margin: 0; padding: 0; }
.site-nav__link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border: 0; border-radius: var(--radius-pill, 999px); background: none; font: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; color: var(--zielen, #20302B); text-decoration: none; cursor: pointer; transition: background-color .25s ease; }
.site-nav__link:hover, .site-nav__toggle[aria-expanded="true"] { background: var(--bez-jasny, #F7F1EB); }
.site-nav__link:focus-visible, .site-header__burger:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }
.site-nav__toggle .es-ic { transition: transform .25s ease; }
.site-nav__toggle[aria-expanded="true"] .es-ic { transform: rotate(180deg); }
.site-header__actions { display: flex; align-items: center; gap: var(--space-3, 12px); }
.site-header__burger { display: none; place-items: center; width: 44px; height: 44px; padding: 0; border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-pill, 999px); background: none; color: var(--zielen, #20302B); cursor: pointer; }
/* Tablet: logo + Umów wizytę + menu. Telefon: logo + menu (Umów wizytę jest w dolnym pasku). */
@media (max-width: 1079px) {
  .site-nav { display: none; }
  .site-header__actions { margin-left: auto; }
  .site-header__burger { display: grid; }
  .site-header__bar { min-height: 76px; }
}
@media (max-width: 767px) {
  .site-header__cta { display: none; }
  .site-header__bar { min-height: 64px; }
  .site-logo img { width: 62px; }
}

/* Panel „Zabiegi” */
.mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--bez-jasny, #F7F1EB); border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); border-radius: 0 0 var(--radius-m, 16px) var(--radius-m, 16px); box-shadow: var(--shadow-panel, 0 18px 40px -24px rgba(32, 48, 43, .35)); }
.mega[hidden] { display: none; }
.mega__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7, 48px); padding-block: var(--space-7, 48px) var(--space-6, 32px); }
.mega__col { min-width: 0; padding-left: var(--space-6, 32px); border-left: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.mega__col:first-child { padding-left: 0; border-left: 0; }
.mega__area { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-bottom: var(--space-3, 12px); font-family: var(--font-display, Cormorant, Garamond, serif); font-size: 26px; line-height: 1.15; font-weight: 500; color: var(--zielen, #20302B); text-decoration: none; }
.mega__area .es-ic { transition: transform .25s ease; }
.mega__area:hover .es-ic { transform: translateX(4px); }
.mega__group { display: inline-block; margin: var(--space-4, 16px) 0 var(--space-2, 8px); padding: 5px 10px 4px 12px; font-size: 11px; line-height: 1.3; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--roz-ciemny, #7A5452); border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-pill, 999px); }
.mega__area + .mega__group { margin-top: 0; }
.mega__list { list-style: none; margin: 0; padding: 0; }
.mega__list a { display: flex; align-items: center; gap: 10px; min-height: 36px; padding: 6px 0; font-size: 15px; line-height: 1.35; font-weight: 500; color: var(--zielen, #20302B); text-decoration: none; }
/* Punktor: gwiazdka z logo (ta sama co es-star) */
.mega__list a::before { content: ""; flex: none; align-self: flex-start; margin-top: 6px; width: 8px; height: 9px; background-color: var(--roz-ciemny, #7A5452); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M12 0C13.2 7.2 16.2 12.6 24 14C16.2 15.4 13.2 20.8 12 28C10.8 20.8 7.8 15.4 0 14C7.8 12.6 10.8 7.2 12 0Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M12 0C13.2 7.2 16.2 12.6 24 14C16.2 15.4 13.2 20.8 12 28C10.8 20.8 7.8 15.4 0 14C7.8 12.6 10.8 7.2 12 0Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.mega__list a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.mega a:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; border-radius: 2px; }
.mega__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3, 12px) var(--space-6, 32px); padding-block: var(--space-4, 16px) var(--space-5, 24px); border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.mega__hint { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; font-size: 15px; color: var(--szary, #5B5B5B); }

/* ============ 1. Hero ============ */
/* v2: nagłówek 88 px w kolumnach 1–7, zdjęcie w KAPSULE 6 : 7 (kształt sygnetu) w kolumnach 8–12 z echem z linii 1 px.
   Pod spodem linia faktów: fakty rozdzielone gwiazdką jak claim w logo, między dwiema liniami 1 px. */
.hero { padding-block: var(--space-7, 48px) var(--space-9, 96px); }
.hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: center; }
.hero__text { grid-column: 1 / span 7; display: flex; flex-direction: column; align-items: flex-start; }
.hero__title { margin-top: var(--space-5, 24px); }
.hero__under { display: flex; flex-direction: column; align-items: flex-start; margin-top: var(--space-6, 32px); max-width: 540px; }
.hero__lead { margin: 0; }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4, 16px) var(--space-6, 32px); margin-top: var(--space-6, 32px); }
.hero__links { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-5, 24px); }
.hero__media { grid-column: 8 / -1; --es-ring-x: 32px; --es-ring-y: -32px; margin-top: var(--space-6, 32px); margin-right: var(--space-5, 24px); }
.hero__photo img { object-position: 46% 38%; }
.hero__facts { list-style: none; margin: var(--space-8, 64px) 0 0; padding: var(--space-4, 16px) 0; border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); display: flex; flex-wrap: wrap; align-items: center; row-gap: var(--space-2, 8px); font-size: 15px; line-height: 1.4; font-weight: 600; color: var(--zielen, #20302B); }
.hero__facts > li { display: flex; align-items: center; min-height: 28px; }
.hero__facts > li + li::before { content: ""; flex: none; width: 10px; height: 12px; margin: 0 var(--space-5, 24px); background-color: var(--roz-ciemny, #7A5452);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M12 0C13.2 7.2 16.2 12.6 24 14C16.2 15.4 13.2 20.8 12 28C10.8 20.8 7.8 15.4 0 14C7.8 12.6 10.8 7.2 12 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M12 0C13.2 7.2 16.2 12.6 24 14C16.2 15.4 13.2 20.8 12 28C10.8 20.8 7.8 15.4 0 14C7.8 12.6 10.8 7.2 12 0Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.hero__facts .es-rating--inline { column-gap: 10px; }
.hero__badge { font-size: 15px; line-height: 1.4; font-weight: 600; color: var(--zielen, #20302B); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--linia-mocna, #7D847E); }
.hero__badge:hover { text-decoration-color: currentColor; }
.hero__badge:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }
@media (max-width: 1079px) {
  .hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; }
  .hero__text, .hero__media { grid-column: auto; }
  .hero__text { padding-bottom: 0; }
  .hero__media { margin-top: 0; }
}
@media (max-width: 767px) {
  .hero { padding-block: var(--space-6, 32px) var(--space-8, 64px); }
  .hero__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-7, 48px); }
  .hero__media { max-width: 300px; margin-top: var(--space-2, 8px); margin-right: var(--space-6, 32px); }
  .hero__facts { margin-top: var(--space-7, 48px); flex-direction: column; align-items: flex-start; row-gap: var(--space-3, 12px); }
  .hero__facts > li + li::before { display: none; }
}

/* ============ 2. Trzy obszary ============ */
/* Desktop: trzy karty na podsiatce — kapsuły, nazwy, opisy, listy i linki zaczynają się na tych samych liniach. */
.obszary__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--space-6, 32px); grid-template-rows: repeat(5, auto); row-gap: 0; }
.obszary__grid .es-area { container-type: normal; grid-row: span 5; display: grid; grid-template-rows: subgrid; height: auto; } /* container-type wyłącza podsiatkę (zawieranie układu) */
.obszary__grid .es-area__inner { grid-row: 1 / -1; display: grid; grid-template-rows: subgrid; row-gap: 0; height: auto; }
.obszary__grid .es-area__text { grid-row: 2 / -1; display: grid; grid-template-rows: subgrid; row-gap: 0; align-items: start; }
.obszary__grid .es-area__media { max-width: none; margin-bottom: var(--space-6, 32px); }
.obszary__grid .es-area__desc { margin-top: var(--space-3, 12px); }
.obszary__grid .es-area__list { margin-top: var(--space-4, 16px); }
.obszary__grid .es-area__more { margin-top: var(--space-4, 16px); padding-top: 0; justify-self: start; }
/* v2: kapsuły schodkowo (0 / 48 / 96 px) — oddech zamiast katalogu; teksty pod nimi dalej na wspólnych liniach (podsiatka). */
@media (min-width: 1080px) {
  .obszary__grid .es-area:nth-child(2) .es-area__media { margin-top: var(--space-7, 48px); }
  .obszary__grid .es-area:nth-child(3) .es-area__media { margin-top: var(--space-9, 96px); }
  .obszary__grid .es-area__media { align-self: start; }
}
@media (max-width: 1079px) {
  .obszary__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: var(--space-8, 64px); }
  .obszary__grid .es-area, .obszary__grid .es-area__inner, .obszary__grid .es-area__text { grid-row: auto; grid-template-rows: none; }
  .obszary__grid .es-area { display: block; container-type: inline-size; }
  .obszary__grid .es-area__inner { display: grid; }
  .obszary__grid .es-area__text { display: flex; }
  .obszary__grid .es-area__media { margin-bottom: 0; }
}
@media (max-width: 640px) {
  .obszary__grid { row-gap: var(--space-8, 64px); }
  /* zdjęcie większe i na środku, wyraźniejszy odstęp od nagłówka obszaru */
  .obszary__grid .es-area__media { width: min(100%, 320px); max-width: none; justify-self: center; }
  .obszary__grid .es-area__inner { row-gap: var(--space-6, 32px); }
}

/* ============ 3. Czego potrzebujesz? ============ */
.potrzeby .sec__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: end; }
.potrzeby .sec__head .es-eyebrow { grid-column: 1 / -1; }
.potrzeby .sec__head .es-h { grid-column: 1 / span 6; }
.potrzeby .sec__head .es-lead { grid-column: 8 / -1; margin: 0 0 6px; }
@media (max-width: 1079px) { .potrzeby .sec__head { display: flex; align-items: flex-start; } .potrzeby .sec__head .es-lead { margin: 0; } }
.potrzeby .es-service--row .es-service__deal { justify-content: flex-end; }
.potrzeby__more { display: flex; justify-content: flex-end; margin-top: var(--space-5, 24px); }
/* Tablet: dwie karty w rzędzie, trzecia na pełną szerokość w układzie poziomym (es-service--wide). */
@media (min-width: 641px) and (max-width: 1079px) {
  .potrzeby .es-needs__panel .es-grid > .es-service:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* Telefon: niższy łuk zdjęcia (16 : 9), żeby trzy karty nie zajmowały trzech ekranów. */
@media (max-width: 640px) {
  .potrzeby .es-service__media { aspect-ratio: 16 / 9; }
  .potrzeby__more { justify-content: flex-start; margin-top: var(--space-4, 16px); }
}

/* ============ 4. Facemodeling (pełna sekcja róż) ============ */
/* „Środkowa połowa”: kapsuła w kolumnach 2–5, tekst w 7–11; na różu wszystko w zieleni (5,1 : 1), pierścienie w prawym górnym rogu. */
.sec--roz { background: var(--roz, #BC9391); color: var(--zielen, #20302B); }
.sec--roz :focus-visible { outline-color: var(--zielen, #20302B) !important; }
.fm .es-rings { --es-rings: 340px; }
.fm__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: center; }
.fm__photo { grid-column: 2 / span 4; background: var(--bez-ciemny, #E3D3C6); }
.fm__text { grid-column: 7 / -1; display: flex; flex-direction: column; align-items: flex-start; }
.fm__title { margin-top: var(--space-3, 12px); }
.fm__lead { margin: var(--space-5, 24px) 0 0; font-size: 19px; line-height: 1.6; color: var(--zielen, #20302B); text-wrap: pretty; }
.fm__effects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3, 12px) var(--space-6, 32px); margin-top: var(--space-6, 32px); font-size: 16px; line-height: 1.5; font-weight: 600; }
.fm__effects > li::before { background-color: var(--zielen, #20302B); }
.fm__deal { align-self: stretch; margin-top: var(--space-7, 48px); padding-top: var(--space-5, 24px); border-top: var(--linia-grubosc, 1px) solid var(--zielen, #20302B); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4, 16px) var(--space-6, 32px); }
.fm__facts { display: flex; align-items: center; gap: 10px; margin: 0; font-variant-numeric: tabular-nums; }
.fm__facts .es-star { color: var(--zielen, #20302B); }
.fm__time { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600; }
.fm__time .es-ic { width: 18px; height: 18px; }
.fm__time .es-czas { margin-right: 2px; }
.fm__price { font-size: 22px; line-height: 1.2; font-weight: 700; }
.fm__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3, 12px) var(--space-6, 32px); }
.fm__link { text-decoration-color: var(--zielen, #20302B); }
@media (max-width: 1279px) and (min-width: 1080px) { .fm__photo { grid-column: 1 / span 5; } }
@media (min-width: 1080px) { .fm__deal { flex-wrap: nowrap; justify-content: flex-start; gap: var(--space-6, 32px); } .fm__actions { flex-wrap: nowrap; gap: var(--space-5, 24px); } }
@media (max-width: 1079px) {
  .fm .es-rings { --es-rings: 360px; }
  .fm__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-7, 48px); }
  .fm__photo, .fm__text { grid-column: auto; }
  .fm__photo { max-width: 320px; }
}
@media (max-width: 640px) {
  .fm .es-rings { --es-rings: 200px; }
  .fm__grid { row-gap: var(--space-6, 32px); }
  .fm__photo { max-width: 240px; }
  .fm__lead { font-size: 17px; }
  .fm__effects { grid-template-columns: minmax(0, 1fr); }
  .fm__deal { margin-top: var(--space-6, 32px); }
}

/* ============ 5. Nowe miejsce i zespół ============ */
.zespol__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: start; margin-bottom: var(--space-8, 64px); }
.zespol__top .es-head { grid-column: 1 / span 6; }
.zespol__intro { grid-column: 8 / -1; padding-top: 28px; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5, 24px); }
.zespol__news { align-self: stretch; display: flex; align-items: center; gap: var(--space-4, 16px); padding: var(--space-4, 16px) var(--space-5, 24px); background: var(--bez-jasny, #F7F1EB); border-radius: var(--radius-m, 16px); }
.zespol__sygnet { width: 40px; height: auto; flex: none; }
.zespol__news-title { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 700; font-variant-numeric: tabular-nums; }
.zespol__news-addr { display: flex; align-items: center; gap: 6px; margin: 2px 0 0; font-size: 14px; line-height: 1.5; color: var(--szary, #5B5B5B); }
.zespol__news-addr .es-ic { width: 16px; height: 16px; }
.zespol__grid { padding-top: var(--space-5, 24px); }
/* Cztery osoby: na desktopie cztery kolumny, na tablecie dwie, na telefonie jedna (z bazowego es-grid). */
@media (min-width: 1080px) { .zespol__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 641px) and (max-width: 1079px) { .zespol__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.zespol__grid .es-person--soon { align-self: start; }
/* Desktop: karta „wkrótce” niska (kapsuła 96 px + zdanie), dół kapsuły równo z dołem portretów obok. */
@media (min-width: 1080px) {
  .zespol__grid .es-person--soon { flex-direction: row; align-items: center; gap: var(--space-5, 24px); margin-top: calc(min(100%, 320px) * 1473 / 1271 - 96px * 1473 / 1271); }
  .zespol__grid .es-person--soon .es-person__photo { width: 96px; flex: none; margin: 0; }
  .zespol__grid .es-person--soon .es-kapsula--line .es-star { --es-star-w: 14px; }
  .zespol__grid .es-person--soon .es-person__bio { margin: 0; }
}
/* Tablet: karta „wkrótce” nie zostaje sama w trzecim rzędzie z pustą kapsułą — idzie na pełną szerokość, poziomo i nisko. */
@media (min-width: 641px) and (max-width: 1079px) {
  .zespol__grid .es-person--soon { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: var(--space-5, 24px); }
  .zespol__grid .es-person--soon .es-person__photo { width: 96px; flex: none; margin: 0; }
  .zespol__grid .es-person--soon .es-kapsula--line .es-star { --es-star-w: 14px; }
  .zespol__grid .es-person--soon .es-person__bio { margin: 0; }
}
@media (max-width: 1079px) {
  .zespol__top { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-6, 32px); margin-bottom: var(--space-7, 48px); }
  .zespol__top .es-head, .zespol__intro { grid-column: auto; }
}

/* ============ 6. Opinie ============ */
/* v2: bez kart i cudzysłowów. Duży cytat (Cormorant 40) w kolumnach 1–7, dwa mniejsze w 8–12 za linią 1 px. Ocena gwiazdkami marki. */
.opinie__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-6, 32px); margin-bottom: var(--space-7, 48px); }
.opinie__sum { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2, 8px); }
.opinie__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: start; }
.opinie__feature { grid-column: 1 / span 7; padding-right: var(--space-6, 32px); }
.opinie__feature .es-quote__author { padding-top: var(--space-6, 32px); }
.opinie__side { grid-column: 8 / -1; display: flex; flex-direction: column; padding-left: var(--space-7, 48px); border-left: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
@media (max-width: 1079px) {
  .opinie__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-7, 48px); }
  .opinie__feature, .opinie__side { grid-column: auto; }
  .opinie__feature { padding-right: 0; padding-bottom: var(--space-7, 48px); border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
  .opinie__side { padding-left: 0; border-left: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-7, 48px); }
  .opinie__side .es-quote + .es-quote { margin-top: 0; padding-top: 0; border-top: 0; padding-left: var(--space-7, 48px); margin-left: calc(-1 * var(--space-7, 48px) / 2); border-left: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
}
@media (max-width: 640px) {
  .opinie__side { grid-template-columns: minmax(0, 1fr); }
  .opinie__side .es-quote + .es-quote { margin: var(--space-6, 32px) 0 0; padding: var(--space-6, 32px) 0 0; border-left: 0; border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
}

/* ============ 7. Vouchery ============ */
/* Voucher u góry z lewej, tekst z prawej; lewy dolny róg zostaje pusty dla pierścieni (nie wchodzą pod tekst ani voucher). */
.sec--zielen { background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); }
.vouchery .es-rings { --es-rings: 380px; }
.vouchery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: start; }
.vouchery__card { grid-column: 1 / span 6; max-width: 540px; margin-top: var(--space-2, 8px); }
/* Voucher przyklejony pod nagłówkiem strony, przewija się razem z tekstem do końca sekcji (tylko gdy są dwie kolumny). */
@media (min-width: 641px) {
  /* dolny odstęp sekcji przechodzi do kolumny tekstu, żeby obszar karty (wiersz siatki) sięgał końca sekcji */
  .vouchery { padding-bottom: 0; }
  .vouchery__text { padding-bottom: var(--sec-pad, 128px); }
  .vouchery__card { position: sticky; top: calc(var(--naglowek-h, 89px) + var(--space-6, 32px)); margin-bottom: var(--space-8, 64px); }
}
@media (min-width: 641px) and (max-width: 1079px) { .vouchery__card { --naglowek-h: 77px; } .vouchery__text { --sec-pad: 96px; } }
.vouchery__text { grid-column: 7 / -1; display: flex; flex-direction: column; align-items: flex-start; }
.vouchery__steps { align-self: stretch; margin: var(--space-7, 48px) 0 var(--space-6, 32px); }
@media (max-width: 1079px) {
  .vouchery .es-rings { --es-rings: 340px; }
  .vouchery__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .vouchery__card, .vouchery__text { grid-column: auto; }
  .vouchery__text .es-h--l { font-size: 36px; }
}
@media (max-width: 640px) {
  .vouchery { padding-bottom: 168px; }
  .vouchery .es-rings { --es-rings: 180px; }
  .vouchery__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-7, 48px); }
  .vouchery__card { order: 2; margin-top: 0; }
  .vouchery__steps { margin: var(--space-6, 32px) 0 var(--space-5, 24px); }
}

/* ============ 8. Kontakt ============ */
.kontakt__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7, 48px) var(--space-6, 32px); align-items: start; }
.kontakt__col { min-width: 0; }
.kontakt__list { list-style: none; margin: 0; padding: 0; }
.kontakt__list li:first-child { padding-top: 0; min-height: 0; }
.kontakt__list li { display: flex; align-items: flex-start; gap: var(--space-3, 12px); min-height: 56px; padding: 15px 0; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); font-size: 16px; line-height: 1.5; box-sizing: border-box; }
.kontakt__list li > .es-ic { margin-top: 2px; }
.kontakt__list li > div { display: flex; flex-direction: column; gap: 2px; }
.kontakt__list a { color: var(--zielen, #20302B); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--linia-mocna, #7D847E); }
.kontakt__list a:hover { text-decoration-color: currentColor; }
.kontakt__list a:focus-visible, .kontakt a:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }
.kontakt__tel { font-size: 18px; font-variant-numeric: tabular-nums; }
.kontakt__handle { display: block; font-weight: 400; font-size: 14px; color: var(--szary, #5B5B5B); text-decoration: none; }
.kontakt__todo { font-size: 14px; line-height: 1.5; font-weight: 400; color: var(--szary, #5B5B5B); letter-spacing: 0; text-transform: none; }
.kontakt__todo--block { margin: var(--space-2, 8px) 0 0; }
.kontakt__text { margin: var(--space-2, 8px) 0 0; font-size: 15px; line-height: 1.6; color: var(--szary, #5B5B5B); max-width: 42ch; }
.kontakt__actions { display: flex; flex-wrap: wrap; gap: var(--space-3, 12px); margin-top: var(--space-6, 32px); }
.kontakt__label { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 var(--space-3, 12px); font-size: 16px; line-height: 1.5; font-weight: 700; }
.kontakt__label .es-ic { width: 18px; height: 18px; }
.kontakt__label--gap { margin-top: var(--space-6, 32px); margin-bottom: 0; }
.kontakt__hours { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.kontakt__hours th, .kontakt__hours td { padding: 10px 0; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); text-align: left; vertical-align: top; }
.kontakt__hours tr:first-child th, .kontakt__hours tr:first-child td { border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.kontakt__hours th { font-weight: 400; color: var(--zielen, #20302B); padding-right: var(--space-4, 16px); }
.kontakt__hours td { font-weight: 600; text-align: right; white-space: nowrap; }
.kontakt__mapcol { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4, 16px); }
.kontakt__map { aspect-ratio: 400 / 460; background: var(--bez-jasny, #F7F1EB); }
.kontakt__map > svg { display: block; width: 100%; height: 100%; }
.map-road path { fill: none; stroke: var(--linia-mocna, #7D847E); stroke-width: 1.5; }
.map-street path { fill: none; stroke: var(--linia, #20302B29); stroke-width: 1; }
.map-pin rect { fill: var(--zielen, #20302B); }
.map-pin .map-star { fill: var(--roz, #BC9391); }
.map-pin .map-tail { stroke: var(--zielen, #20302B); stroke-width: 1; }
.map-pin .map-dot { fill: var(--zielen, #20302B); }
.kontakt__route { align-self: flex-start; }

/* Mapa wektorowa (img/mapa.svg z danych OpenStreetMap, kolory marki, generator tools/mapa-osm.py): pinezka z sygnetem na środku, po kliknięciu chmurka */
.kontakt__map { position: relative; --pin-y: 62%; border: var(--linia-grubosc, 1px) solid var(--zielen, #20302B); }
.kontakt__map-credit { position: absolute; right: 10px; bottom: 6px; margin: 0; font-size: 10px; line-height: 1.4; color: var(--szary, #5B5B5B); opacity: .8; }
.kontakt__map-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; user-select: none; }
.es-pin-btn { position: absolute; left: 50%; top: var(--pin-y); width: 44px; height: 66px; padding: 0; border: 0; background: none; cursor: pointer; transform: translate(-50%, -100%); transform-origin: 50% 100%; transition: transform .25s ease; }
.es-pin-btn:hover, .es-pin-btn[aria-expanded="true"] { transform: translate(-50%, -100%) scale(1.08); }
.es-pin-btn:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 4px; border-radius: 22px; }
.es-pin { display: block; width: 44px; height: 66px; overflow: visible; filter: drop-shadow(0 6px 10px rgba(32, 48, 43, .28)); }
.es-pin__body { fill: var(--zielen, #20302B); }
.es-pin__sign { fill: var(--bez, #EEE2D8); }
.es-pin__tail { stroke: var(--zielen, #20302B); stroke-width: 40; }
.es-pin__dot { fill: var(--zielen, #20302B); }
.es-mapa__chmurka { position: absolute; left: 50%; bottom: calc(100% - var(--pin-y) + 72px); width: 220px; transform: translateX(-50%); padding: 18px 20px; background: var(--bez-jasny, #F7F1EB); color: var(--zielen, #20302B); border: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); border-radius: var(--radius-m, 16px); box-shadow: var(--shadow-panel, 0 18px 40px -24px rgba(32, 48, 43, .35)); font-size: 14px; line-height: 1.5; }
.es-mapa__chmurka::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 12px; height: 12px; background: var(--bez-jasny, #F7F1EB); border-right: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); transform: translateX(-50%) rotate(45deg); }
.es-mapa__chmurka[hidden] { display: none; }
.es-mapa__name { margin: 0 0 6px; font-family: var(--font-display, Cormorant, serif); font-size: 26px; line-height: 1.1; font-weight: 500; }
.es-mapa__adr { margin: 0 0 10px; }
.es-mapa__link { font-weight: 700; color: var(--zielen, #20302B); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.es-mapa__link::after { content: " →"; }
/* Desktop: kolumna z mapą na całą wysokość sekcji – od napisu „Kontakt” do dołu treści (nagłówek nad dwiema pierwszymi kolumnami). */
@media (min-width: 1080px) {
  .kontakt > .container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto 1fr; column-gap: var(--space-6, 32px); }
  .kontakt .sec__head { grid-column: 1 / 3; grid-row: 1; }
  .kontakt__grid { display: contents; }
  .kontakt__col:nth-child(1) { grid-column: 1; grid-row: 2; }
  .kontakt__col:nth-child(2) { grid-column: 2; grid-row: 2; }
  .kontakt__mapcol { grid-column: 3; grid-row: 1 / 3; }
  .kontakt__map { flex: 1 1 auto; aspect-ratio: auto; min-height: 480px; --pin-y: 58%; }
}
@media (max-width: 1079px) {
  .kontakt__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kontakt__mapcol { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
  .kontakt__map { aspect-ratio: 16 / 9; }
  .kontakt__route { align-self: end; }
}
@media (max-width: 640px) {
  .kontakt__grid { grid-template-columns: minmax(0, 1fr); }
  .kontakt__mapcol { display: flex; }
  .kontakt__map { aspect-ratio: 358 / 420; --pin-y: 62%; }
  .kontakt__actions .es-btn { flex: 1 1 auto; }
}

/* ============ Stopka ============ */
.stopka { background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); }
.stopka__main { padding-block: var(--space-9, 96px) var(--space-8, 64px); }
.stopka__grid { display: grid; grid-template-columns: minmax(0, 5fr) repeat(3, minmax(0, 2fr)); gap: var(--space-7, 48px) var(--space-6, 32px); }
.stopka__brand { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4, 16px); padding-right: var(--space-7, 48px); }
.stopka__logo { width: 200px; height: auto; display: block; margin-bottom: var(--space-1, 4px); }
.stopka__motto { margin: var(--space-2, 8px) 0 0; font-family: var(--font-display, Cormorant, Garamond, serif); font-size: 26px; line-height: 1.25; font-weight: 500; max-width: 26ch; text-wrap: balance; }
.stopka__h { margin: 0 0 var(--space-3, 12px); font-size: 12px; line-height: 1.3; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--roz, #BC9391); }
.stopka__col ul { list-style: none; margin: 0; padding: 0; }
.stopka__col a, .stopka__txt { display: inline-flex; align-items: center; min-height: 40px; font-size: 15px; line-height: 1.4; color: var(--bez, #EEE2D8); text-decoration: none; }
.stopka__col a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--roz, #BC9391); }
.stopka a:focus-visible { outline: 2px solid var(--roz, #BC9391); outline-offset: 2px; }
.stopka__num { font-variant-numeric: tabular-nums; font-weight: 600; }
.stopka__social { display: flex; gap: var(--space-2, 8px); margin-top: var(--space-2, 8px); }
.stopka__social a { justify-content: center; width: 44px; height: 44px; border: var(--linia-grubosc, 1px) solid var(--roz, #BC9391); border-radius: var(--radius-pill, 999px); }
.stopka__legal { background: var(--sliwka, #211E24); color: var(--bez, #EEE2D8); }
.stopka__legal-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px var(--space-6, 32px); padding-block: var(--space-4, 16px); }
.stopka__firm, .stopka__links { margin: 0; font-size: 14px; line-height: 1.5; color: var(--szary-jasny, #A0A0A0); }
.stopka__links { display: flex; gap: var(--space-5, 24px); }
.stopka__links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--bez, #EEE2D8); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--szary-jasny, #A0A0A0); }
.stopka__autor { margin: 0; font-size: 14px; line-height: 1.5; color: var(--szary-jasny, #A0A0A0); }
.stopka__autor a { display: inline-flex; align-items: center; min-height: 44px; color: var(--bez, #EEE2D8); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--szary-jasny, #A0A0A0); }
@media (max-width: 1079px) {
  .stopka__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stopka__brand { grid-column: 1 / -1; padding-right: 0; }
}
@media (max-width: 640px) {
  .stopka__main { padding-block: var(--space-8, 64px) var(--space-7, 48px); }
  .stopka__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stopka__grid > .stopka__col:last-child { grid-column: 1 / -1; }
  .stopka__motto { font-size: 24px; }
}

/* ============ Dolny pasek na telefonie ============ */
@media (max-width: 767px) {
  body { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)); }
}

/* ============ Menu mobilne ============ */
.mmenu { position: fixed; inset: 0 0 auto 0; z-index: 60; max-height: 100dvh; overflow-y: auto; background: var(--bez, #EEE2D8); display: flex; flex-direction: column; }
.mmenu[hidden] { display: none; }
.mmenu__bar { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 0 var(--space-4, 16px); background: var(--bez, #EEE2D8); border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.mmenu__bar img { width: 136px; height: auto; display: block; }
.mmenu__close { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-pill, 999px); background: none; color: var(--zielen, #20302B); cursor: pointer; }
.mmenu__nav { padding: var(--space-5, 24px) var(--space-4, 16px) var(--space-6, 32px); }
.mmenu__nav > .es-eyebrow { margin-bottom: var(--space-2, 8px); }
.mmenu__group { border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.mmenu__group summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3, 12px); min-height: 60px; font-family: var(--font-display, Cormorant, Garamond, serif); font-size: 26px; line-height: 1.15; font-weight: 500; color: var(--zielen, #20302B); cursor: pointer; list-style: none; }
.mmenu__group summary::-webkit-details-marker { display: none; }
.mmenu__group summary .es-ic { transition: transform .25s ease; }
.mmenu__group[open] summary .es-ic { transform: rotate(180deg); }
.mmenu__list { list-style: none; margin: 0 0 var(--space-4, 16px); padding: 0 0 0 var(--space-1, 4px); }
.mmenu__list a { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 16px; line-height: 1.35; font-weight: 500; color: var(--zielen, #20302B); text-decoration: none; }
.mmenu__all { font-weight: 700 !important; text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 5px; }
.mmenu__need { display: flex; align-items: center; justify-content: space-between; min-height: 60px; margin-top: var(--space-3, 12px); padding: 0 var(--space-5, 24px); background: var(--bez-jasny, #F7F1EB); border-radius: var(--radius-pill, 999px); font-size: 16px; font-weight: 700; color: var(--zielen, #20302B); text-decoration: none; }
.mmenu__main { list-style: none; margin: var(--space-5, 24px) 0 0; padding: 0; }
.mmenu__main a { display: flex; align-items: center; min-height: 56px; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); font-family: var(--font-display, Cormorant, Garamond, serif); font-size: 26px; font-weight: 500; color: var(--zielen, #20302B); text-decoration: none; }
.mmenu__cta { position: sticky; bottom: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); gap: var(--space-2, 8px); padding: 12px var(--space-4, 16px) calc(12px + env(safe-area-inset-bottom, 0px)); background: var(--bez-jasny, #F7F1EB); border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.mmenu__cta .es-btn { min-height: 48px; padding: 0 16px; }
.mmenu a:focus-visible, .mmenu summary:focus-visible, .mmenu__close:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }

/* v11: uwagi klienta z 28–29.10 */
.mega__group { border-radius: var(--radius-s, 10px); }
.mmenu__logo { display: block; width: 56px; height: auto; }
.mmenu__sub { margin-top: var(--space-3, 12px); padding: 4px 0; font-size: 11px; line-height: 1.4; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--roz-ciemny, #7A5452); }
.potrzeby__brak { margin: 0; font-size: 16px; color: var(--szary, #5B5B5B); }
@media (min-width: 900px) { .zespol__grid--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 641px) and (max-width: 899px) { .zespol__grid--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.zespol__brak { display: grid; place-items: center; background: var(--bez-jasny, #F7F1EB); }
.zespol .zespol__brak img { width: 34%; height: auto; object-fit: contain; opacity: .35; }
.mmenu__bar .mmenu__logo { width: 56px; height: auto; }
.zespol__grid--6 { row-gap: var(--space-7, 48px); }

/* ============ v12: uwagi klienta z 2–3.11 ============ */

/* Nagłówek (#595): logo wyraźnie większe; po przewinięciu (body.is-scrolled, site.js) wraca do zwartego paska. */
.site-header__bar { min-height: 152px; transition: min-height .3s ease; }
.site-logo img { width: 124px; transition: width .3s ease; }
.is-scrolled .site-header__bar { min-height: 88px; }
.is-scrolled .site-logo img { width: 80px; }
@media (max-width: 1079px) {
  .site-header__bar { min-height: 124px; }
  .site-logo img { width: 100px; }
  .is-scrolled .site-header__bar { min-height: 76px; }
  .is-scrolled .site-logo img { width: 72px; }
}
@media (max-width: 767px) {
  .site-header__bar { min-height: 100px; }
  .site-logo img { width: 82px; }
  .is-scrolled .site-header__bar { min-height: 64px; }
  .is-scrolled .site-logo img { width: 62px; }
  .mmenu__bar .mmenu__logo { width: 82px; }
  .mmenu__bar { min-height: 100px; }
}
@media (prefers-reduced-motion: reduce) { .site-header__bar, .site-logo img { transition: none; } }

/* Mega menu: dłuższe listy — mniejsze odstępy między pozycjami */
.mega__list a { min-height: 32px; padding: 4px 0; }
.mega__cols { padding-block: var(--space-6, 32px) var(--space-5, 24px); }

/* Karty obszarów: dłuższe listy (do 12 pozycji) — gęściej */
.obszary__grid .es-area__list a { min-height: 36px; padding: 5px 0; }
.obszary__grid .es-area__list > li::before { top: 12px; }

/* ============ „Czego potrzebujesz?” — lista zabiegów w wierszach (do 14 pozycji) ============ */
.pz-count { margin: 0 0 var(--space-3, 12px); font-size: 14px; line-height: 1.5; font-weight: 600; color: var(--szary, #5B5B5B); }
.pz-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
@media (min-width: 1080px) {
  .pz-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-8, 64px); }
  /* linia nad drugą kolumną też zaczyna się od góry: lista ma border-top, wiersze border-bottom */
}
.pz { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: var(--space-5, 24px); min-height: 84px; padding: var(--space-3, 12px) 0; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); box-sizing: border-box; }
.pz__text { min-width: 0; }
.pz__name { font-family: var(--font-display, Cormorant, Garamond, serif); font-size: 23px; line-height: 1.15; font-weight: 500; color: var(--zielen, #20302B); text-decoration: none; text-wrap: balance; }
.pz__name:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: var(--linia-mocna, #7D847E); }
.pz__name:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; border-radius: 2px; }
.pz__benefit { margin: 4px 0 0; font-size: 14px; line-height: 1.45; color: var(--szary, #5B5B5B); max-width: 46ch; }
.pz__deal { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-4, 16px); }
.pz__facts { flex-wrap: nowrap; }
.pz__facts .es-service__price { font-size: 18px; }
.pz__facts .es-service__time { font-size: 14px; }
.pz__act { display: flex; align-items: center; gap: var(--space-1, 4px); margin-left: auto; }
.pz__gift { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-pill, 999px); color: var(--roz-ciemny, #7A5452); transition: background-color .25s ease; }
.pz__gift--brak { visibility: hidden; }
.pz__gift:hover { background: var(--bez-jasny, #F7F1EB); }
.pz__gift:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }
/* szersza kolumna od 1080: cena i czas w jednej linii pod nazwą, przycisk po prawej */
@media (min-width: 1080px) and (max-width: 1279px) {
  .pz { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-2, 8px); }
  .pz__deal { justify-content: space-between; }
}
@media (max-width: 640px) {
  .pz { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-2, 8px); min-height: 0; padding: var(--space-4, 16px) 0; }
  .pz__deal { justify-content: space-between; }
  .pz__name { font-size: 22px; }
}

/* ============ Strona voucherów ============ */
.vp-page .site-nav__link[aria-current="page"] { background: var(--bez-jasny, #F7F1EB); }
.vp-hero { padding-block: var(--space-6, 32px) var(--space-8, 64px); }
.vp-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: var(--space-7, 48px); font-size: 14px; line-height: 1.5; color: var(--szary, #5B5B5B); }
.vp-crumbs a { color: var(--zielen, #20302B); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--linia-mocna, #7D847E); }
.vp-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: end; }
.vp-hero__grid > .es-head { grid-column: 1 / span 6; }
.vp-hero__grid .es-h--xl { margin-top: var(--space-4, 16px); }
.vp-hero__lead { grid-column: 8 / -1; }
.vp-facts { list-style: none; margin: var(--space-5, 24px) 0 0; padding: var(--space-4, 16px) 0 0; border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 1.5; font-weight: 600; }
.vp-facts li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.vp-facts li::before { content: ""; flex: none; width: 9px; height: 11px; background-color: var(--roz-ciemny, #7A5452);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M12 0C13.2 7.2 16.2 12.6 24 14C16.2 15.4 13.2 20.8 12 28C10.8 20.8 7.8 15.4 0 14C7.8 12.6 10.8 7.2 12 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M12 0C13.2 7.2 16.2 12.6 24 14C16.2 15.4 13.2 20.8 12 28C10.8 20.8 7.8 15.4 0 14C7.8 12.6 10.8 7.2 12 0Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.vp-facts .kontakt__todo { font-weight: 400; }
@media (max-width: 1079px) {
  .vp-hero__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-5, 24px); }
  .vp-hero__grid > .es-head, .vp-hero__lead { grid-column: auto; }
  .vp-crumbs { margin-bottom: var(--space-5, 24px); }
}

/* Zamówienie: formularz w kolumnach 1–7, podgląd przyklejony w 8–12 */
.vp-order { padding-bottom: var(--space-10, 128px); border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.vp-order__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: start; }
.vp-form { grid-column: 1 / span 7; }
.vp-aside { grid-column: 9 / -1; align-self: stretch; }
.vp-aside__in { position: sticky; top: calc(89px + var(--space-6, 32px)); padding-top: var(--space-8, 64px); display: flex; flex-direction: column; gap: var(--space-4, 16px); }
.vp-step { margin: 0; padding: var(--space-8, 64px) 0 var(--space-7, 48px); border: 0; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); min-width: 0; }
.vp-step__title { float: left; width: 100%; box-sizing: border-box; display: flex; align-items: center; gap: var(--space-4, 16px); margin: 0 0 var(--space-5, 24px); padding: 0; font-family: var(--font-display, Cormorant, Garamond, serif); font-size: 34px; line-height: 1.12; font-weight: 500; color: var(--zielen, #20302B); }
.vp-step__title + * { clear: both; }
.vp-step__nr { display: grid; place-items: center; flex: none; width: 38px; aspect-ratio: 1271 / 1473; border: var(--linia-grubosc, 1px) solid var(--roz-ciemny, #7A5452); border-radius: var(--kapsula-promien, 50% / 43.1%); font-size: 24px; line-height: 1; font-weight: 600; color: var(--roz-ciemny, #7A5452); }
.vp-step > .vp-field:last-child { margin-bottom: 0; }
.vp-step { padding-bottom: var(--space-6, 32px) !important; }
.vp-hint { margin: var(--space-2, 8px) 0 0; font-size: 14px; line-height: 1.5; color: var(--szary, #5B5B5B); }
.vp-hint--top { margin: calc(-1 * var(--space-2, 8px)) 0 var(--space-5, 24px); }
.vp-hint--right { text-align: right; font-variant-numeric: tabular-nums; }
.vp-req { color: var(--roz-ciemny, #7A5452); }
.vp-opt { font-weight: 400; color: var(--szary, #5B5B5B); }

/* przełącznik Kwota / Zabieg */
.vp-switch { display: inline-flex; padding: 4px; margin-bottom: var(--space-5, 24px); border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-pill, 999px); }
.vp-switch label { position: relative; }
.vp-switch input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.vp-switch span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; border-radius: var(--radius-pill, 999px); font-size: 15px; font-weight: 700; color: var(--zielen, #20302B); cursor: pointer; transition: background-color .25s ease, color .25s ease; }
.vp-switch input:checked + span { background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); }
.vp-switch input:focus-visible + span { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }
.vp-pane[hidden] { display: none; }

/* kwoty jako kapsuły */
.vp-chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3, 12px); margin-top: var(--space-4, 16px); }
.vp-chip { position: relative; }
.vp-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.vp-chip span { display: grid; place-items: center; min-height: 64px; border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-pill, 999px); font-size: 20px; line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--zielen, #20302B); background: transparent; cursor: pointer; transition: background-color .25s ease, border-color .25s ease; }
.vp-chip span:hover { background: var(--bez-jasny, #F7F1EB); border-color: var(--zielen, #20302B); }
.vp-chip input:checked + span { background: var(--zielen, #20302B); border-color: var(--zielen, #20302B); color: var(--bez, #EEE2D8); }
.vp-chip input:focus-visible + span { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }
@media (max-width: 640px) { .vp-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vp-chip span { min-height: 56px; } }

/* pola */
.vp-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-5, 24px); }
@media (max-width: 640px) { .vp-row { grid-template-columns: minmax(0, 1fr); } }
.vp-field { margin-bottom: var(--space-5, 24px); min-width: 0; }
.vp-label { display: block; margin-bottom: var(--space-2, 8px); font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--zielen, #20302B); }
.vp-input { display: block; width: 100%; box-sizing: border-box; min-height: 52px; padding: 12px 18px; border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-m, 16px); background: var(--bialy, #FFFFFF); font: inherit; font-size: 16px; line-height: 1.5; color: var(--zielen, #20302B); }
.vp-input::placeholder { color: var(--szary-jasny, #A0A0A0); }
.vp-input:focus { outline: 2px solid var(--fokus, #7A5452); outline-offset: 1px; border-color: var(--zielen, #20302B); }
.vp-input--area { resize: vertical; min-height: 104px; }
.vp-field .vp-hint--right { margin-top: 6px; }
.vp-select { position: relative; }
.vp-select select { appearance: none; -webkit-appearance: none; display: block; width: 100%; min-height: 52px; padding: 12px 52px 12px 18px; border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-pill, 999px); background: var(--bialy, #FFFFFF); font: inherit; font-size: 16px; color: var(--zielen, #20302B); cursor: pointer; }
.vp-select select:focus { outline: 2px solid var(--fokus, #7A5452); outline-offset: 1px; }
.vp-select .es-ic { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.vp-check { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; font-size: 16px; line-height: 1.5; cursor: pointer; }
.vp-check input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--zielen, #20302B); cursor: pointer; }
.vp-check a { color: var(--zielen, #20302B); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.vp-faktura { margin-top: var(--space-4, 16px); }
.vp-faktura[hidden] { display: none; }

/* płatność */
.vp-pay { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3, 12px); }
.vp-pay__opt { position: relative; display: flex; flex-direction: column; gap: 2px; padding: var(--space-4, 16px) var(--space-4, 16px) var(--space-4, 16px) 52px; border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-m, 16px); background: var(--bialy, #FFFFFF); cursor: pointer; transition: border-color .25s ease, box-shadow .25s ease; }
.vp-pay__opt input { position: absolute; left: 18px; top: 19px; width: 20px; height: 20px; margin: 0; accent-color: var(--zielen, #20302B); }
.vp-pay__opt:has(input:checked) { border-color: var(--zielen, #20302B); box-shadow: inset 0 0 0 1px var(--zielen, #20302B); }
.vp-pay__name { font-size: 16px; line-height: 1.4; font-weight: 700; }
.vp-pay__note { font-size: 13px; line-height: 1.4; color: var(--szary, #5B5B5B); }
@media (max-width: 767px) { .vp-pay { grid-template-columns: minmax(0, 1fr); } }
.vp-step .vp-check { margin-top: var(--space-5, 24px); }
.vp-rodo { margin: var(--space-3, 12px) 0 0; font-size: 13px; line-height: 1.55; color: var(--szary, #5B5B5B); max-width: 70ch; }
.vp-rodo a { color: var(--zielen, #20302B); text-decoration: underline; text-underline-offset: 3px; }
.vp-submit { padding-top: var(--space-7, 48px); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2, 8px); }
.vp-submit__btn { min-height: 60px; padding: 0 36px; font-size: 16px; }

/* podgląd + podsumowanie */
.vp-preview { max-width: none; }
.vp-sum { margin: var(--space-3, 12px) 0 0; padding: var(--space-5, 24px); background: var(--bez-jasny, #F7F1EB); border-radius: var(--radius-m, 16px); }
.vp-sum > div { display: flex; justify-content: space-between; gap: var(--space-4, 16px); padding: 10px 0; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); font-size: 15px; line-height: 1.45; }
.vp-sum dt { color: var(--szary, #5B5B5B); }
.vp-sum dd { margin: 0; text-align: right; font-weight: 600; }
.vp-sum > div.vp-sum__total { border-bottom: 0; padding-bottom: 0; align-items: baseline; }
.vp-sum__total dt { color: var(--zielen, #20302B); font-weight: 700; }
.vp-sum__total dd { font-size: 26px; line-height: 1.2; font-weight: 700; font-variant-numeric: tabular-nums; }
@media (max-width: 1079px) {
  .vp-order__grid { grid-template-columns: minmax(0, 1fr); }
  .vp-form, .vp-aside { grid-column: auto; }
  /* tablet/telefon: podgląd nad formularzem, mniejszy; podsumowanie zostaje przy przycisku płatności (kopia w formularzu nie jest potrzebna — suma jest na przycisku) */
  .vp-aside { order: -1; }
  .vp-aside__in { position: static; padding-top: var(--space-6, 32px); max-width: 520px; }
  .vp-sum { display: none; }
  .vp-order { padding-bottom: var(--space-9, 96px); }
  .vp-step { padding-top: var(--space-7, 48px); }
}
@media (max-width: 640px) {
  .vp-step__title { font-size: 28px; }
  .vp-submit__btn { width: 100%; }
}

/* realizacja i pytania */
.vp-how__grid, .vp-faq__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: start; }
.vp-how__grid > .es-head, .vp-faq__grid > .es-head { grid-column: 1 / span 5; }
.vp-how__steps, .vp-faq__list { grid-column: 7 / -1; }
.vp-how__steps strong { margin-bottom: 2px; font-size: 17px; }
.vp-faq__item { border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.vp-faq__item:first-child { border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.vp-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4, 16px); min-height: 64px; padding: 12px 0; font-size: 18px; line-height: 1.4; font-weight: 700; cursor: pointer; list-style: none; }
.vp-faq__item summary::-webkit-details-marker { display: none; }
.vp-faq__item summary .es-ic { flex: none; transition: transform .25s ease; }
.vp-faq__item[open] summary .es-ic { transform: rotate(180deg); }
.vp-faq__item summary:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }
.vp-faq__item p { margin: 0 0 var(--space-5, 24px); font-size: 16px; line-height: 1.6; max-width: 60ch; }
.vp-faq__item a { color: var(--zielen, #20302B); font-weight: 600; }
@media (max-width: 1079px) {
  .vp-how__grid, .vp-faq__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-6, 32px); }
  .vp-how__grid > .es-head, .vp-faq__grid > .es-head, .vp-how__steps, .vp-faq__list { grid-column: auto; }
}

/* ============ Po płatności: potwierdzenie, wzór PDF, wzór maila ============ */
.vp-thanks { padding-block: var(--space-9, 96px); text-align: center; }
.vp-thanks__in { display: flex; flex-direction: column; align-items: center; gap: var(--space-4, 16px); }
.vp-thanks__in .es-lead { max-width: 58ch; }
.vp-thanks__ic { display: grid; place-items: center; width: 64px; aspect-ratio: 1271 / 1473; border-radius: var(--kapsula-promien, 50% / 43.1%); background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); margin-bottom: var(--space-2, 8px); }
.vp-thanks__ic .es-ic { width: 28px; height: 28px; stroke-width: 2; }
.vp-thanks__actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-4, 16px) var(--space-6, 32px); margin-top: var(--space-4, 16px); }
.vw-head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: start; margin-bottom: var(--space-7, 48px); }
.vw-head .es-eyebrow { grid-column: 1 / span 5; padding-top: 4px; }
.vw-note { grid-column: 7 / -1; margin: 0; font-size: 16px; line-height: 1.6; color: var(--szary, #5B5B5B); }
@media (max-width: 1079px) { .vw-head { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-3, 12px); } .vw-head .es-eyebrow, .vw-note { grid-column: auto; } }

/* mail */
.vw-mail { max-width: 680px; margin-inline: auto; border: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); border-radius: var(--radius-m, 16px); overflow: hidden; background: var(--bialy, #FFFFFF); box-shadow: 0 30px 60px -40px rgba(32, 48, 43, .45); }
.vw-mail__meta { padding: 16px 24px; background: var(--bez-jasny, #F7F1EB); border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); font-size: 14px; line-height: 1.6; }
.vw-mail__meta p { margin: 0; }
.vw-mail__meta span { display: inline-block; min-width: 52px; color: var(--szary, #5B5B5B); }
.vw-mail__att { display: inline-flex !important; align-items: center; gap: 8px; margin-top: 8px !important; padding: 6px 12px; background: var(--bialy, #FFFFFF); border: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); border-radius: var(--radius-s, 6px); font-weight: 600; }
.vw-mail__att .es-ic { width: 16px; height: 16px; }
.vw-mail__body { max-width: 600px; margin-inline: auto; }
.vw-mail__top { padding: 32px 32px 24px; border-bottom: 3px solid var(--roz, #BC9391); }
.vw-mail__top img { display: block; width: 150px; height: auto; }
.vw-mail__content { padding: 28px 32px 8px; font-size: 16px; line-height: 1.6; color: var(--zielen, #20302B); }
.vw-mail__content p { margin: 0 0 16px; }
.vw-mail__h { font-family: var(--font-display, Cormorant, Garamond, serif); font-size: 32px !important; line-height: 1.15 !important; font-weight: 500; }
.vw-mail__btn a { display: inline-block; padding: 14px 28px; border-radius: 999px; background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); font-weight: 700; text-decoration: none; }
.vw-mail__table { width: 100%; margin: 8px 0 24px; border-collapse: collapse; font-size: 15px; }
.vw-mail__table th, .vw-mail__table td { padding: 10px 0; border-bottom: 1px solid var(--szary-linia, #DBDBDB); text-align: left; }
.vw-mail__table th { width: 40%; font-weight: 400; color: var(--szary, #5B5B5B); }
.vw-mail__table td { font-weight: 700; font-variant-numeric: tabular-nums; }
.vw-mail__foot { padding: 20px 32px 28px; font-size: 13px; line-height: 1.6; color: var(--szary, #5B5B5B); border-top: 1px solid var(--szary-linia, #DBDBDB); }
@media (max-width: 640px) {
  .vw-mail__top, .vw-mail__content, .vw-mail__foot { padding-inline: 20px; }
  .vw-mail__meta { padding-inline: 16px; }
}

/* ============ Voucher według projektu Estetime (A5 pionowo, tło img/voucher-tlo.webp) ============ */
/* Pozycje pól w % wysokości grafiki 1287 × 1795: linie na 53,0 / 62,4 / 71,9 %, etykiety pod liniami; wartości nad kolejną linią. */
.ev { container-type: inline-size; margin: 0; width: 100%; }
.ev__card { position: relative; aspect-ratio: 1000 / 1395; overflow: hidden; border-radius: 4px; background: #EDE2D8; box-shadow: 0 34px 60px -34px rgba(20, 30, 26, .55); color: #123B22; }
.ev__bg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ev__ded, .ev__f { position: absolute; left: 7.2%; right: 7.2%; margin: 0; display: flex; align-items: flex-end; }
.ev__ded { top: 43.6%; height: 8.2%; align-items: center; justify-content: center; text-align: center; font-family: var(--font-display, Cormorant, Garamond, serif); font-style: italic; font-size: 4.1cqi; line-height: 1.15; font-weight: 500; color: var(--roz-ciemny, #7A5452); text-wrap: balance; overflow: hidden; }
.ev__f { font-family: var(--font-display, Cormorant, Garamond, serif); font-weight: 600; line-height: 1.05; justify-content: space-between; gap: 3cqi; }
.ev__f--dla { top: 55.2%; height: 6.6%; font-size: 6.4cqi; }
.ev__f--kwota { top: 64.6%; height: 6.6%; font-size: 7.6cqi; letter-spacing: -0.01em; font-variant-numeric: lining-nums; }
.ev--zabieg .ev__f--kwota, .ev__f--kwota.is-zabieg { font-size: 4.2cqi; line-height: 1.04; text-wrap: balance; padding-bottom: .4cqi; }
.ev__f--data { top: 74.0%; height: 4.6%; font-size: 4.6cqi; font-variant-numeric: lining-nums; }
.ev__od { font-size: 4.6cqi; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 48%; }
.ev__od[hidden] { display: none; }
.ev__lab { font-family: var(--font-sans, Manrope, sans-serif); font-size: 1.85cqi; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; vertical-align: .35em; margin-right: .6cqi; }
.ev__kod { font-family: var(--font-sans, Manrope, sans-serif); font-size: 2.6cqi; font-weight: 700; letter-spacing: .08em; }
.ev__f--dla > span:first-child, .ev__f--data > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* strona główna: wzór zamiast poziomej karty */
.vouchery__card.ev { max-width: 400px; }
.vouchery__card.ev .ev__card { box-shadow: 0 0 0 1px rgba(238, 226, 216, .28), 0 34px 60px -30px rgba(0, 0, 0, .6); }
@media (max-width: 1079px) { .vouchery__card.ev { max-width: 340px; } }
@media (max-width: 640px) { .vouchery__card.ev { max-width: 300px; justify-self: center; } }

/* ścieżka zakupu: podgląd w kolumnie bocznej */
/* #630: podgląd na całą szerokość kolumny, tak jak podsumowanie pod nim */
.vp-preview.ev { max-width: none; width: 100%; }
.vp-aside__in { align-items: stretch; }
@media (max-width: 1079px) { .vp-preview.ev { max-width: 280px; } }
@media (min-width: 1080px) { .vp-aside__in { padding-top: var(--space-6, 32px); } }
@media (max-width: 640px) { .vp-preview.ev { max-width: none; } }  /* #631: na telefonie na całą szerokość, jak podsumowanie */

/* strona po płatności: wzór PDF */
.vw-ev-wrap { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 300px); justify-content: center; align-items: end; gap: var(--space-8, 64px); }
.vw-ev-side { display: flex; flex-direction: column; gap: var(--space-4, 16px); }
.vw-ev-side .vw-cap { margin: 0; text-align: left; }
@media (max-width: 900px) { .vw-ev-wrap { grid-template-columns: minmax(0, 420px); } .vw-ev-side { max-width: 300px; } }

/* ===================================================================== v14 */
/* Strona główna: voucher przyklejony pod nagłówkiem zatrzymuje się 40 px nad końcem sekcji (wiersz siatki sięga dołu sekcji). */
@media (min-width: 641px) {
  .vouchery__card { margin-bottom: 40px; top: calc(88px + var(--space-6, 32px)); }
}
@media (min-width: 641px) and (max-width: 1079px) { .vouchery__card { top: calc(76px + var(--space-6, 32px)); } }

/* Podstrony prawne: polityka-prywatnosci.html, regulamin.html */
.lg-hero { padding-bottom: var(--space-8, 64px); }
.lg-meta { margin-top: var(--space-5, 24px); padding-top: var(--space-4, 16px); border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.lg-meta__data { margin: 0; font-size: 15px; line-height: 1.5; }
.lg-meta__data strong { font-weight: 700; }
.lg-switch { display: inline-flex; padding: 4px; gap: 4px; background: var(--bez-jasny, #F7F1EB); border-radius: var(--radius-pill, 999px); }
.lg-switch a { padding: 8px 16px; border-radius: var(--radius-pill, 999px); font-size: 14px; line-height: 1.3; font-weight: 600; color: var(--zielen, #20302B); text-decoration: none; white-space: nowrap; }
.lg-switch a:hover { background: var(--bez, #EEE2D8); }
.lg-switch a[aria-current="page"] { background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); }

.lg { padding-block: var(--space-8, 64px) var(--space-10, 128px); background: var(--bez-jasny, #F7F1EB); border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.lg__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: start; }
.lg-toc { grid-column: 1 / span 3; position: sticky; top: calc(88px + var(--space-6, 32px)); max-height: calc(100vh - 88px - 64px); overflow: auto; }
.lg-toc__h { margin: 0 0 var(--space-3, 12px); font-size: 13px; line-height: 1.4; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--roz-ciemny, #7A5452); }
.lg-toc ol { list-style: none; margin: 0; padding: 0; border-left: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); counter-reset: toc; }
.lg-toc li { counter-increment: toc; }
.lg-toc a { display: flex; gap: 10px; margin-left: -1px; padding: 7px 0 7px 16px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.45; color: var(--szary, #5B5B5B); text-decoration: none; transition: color .2s ease, border-color .2s ease; }
.lg-toc a::before { content: counter(toc, decimal-leading-zero); flex: none; min-width: 20px; font-variant-numeric: tabular-nums; color: var(--szary-jasny, #A0A0A0); }
.lg-toc a:hover { color: var(--zielen, #20302B); }
.lg-toc a.is-active { color: var(--zielen, #20302B); font-weight: 600; border-left-color: var(--roz-ciemny, #7A5452); }
.lg-toc a.is-active::before { color: var(--roz-ciemny, #7A5452); }

.lg-doc { grid-column: 4 / -1; min-width: 0; font-size: 16px; line-height: 1.7; color: var(--zielen, #20302B); }
.lg-doc a { color: var(--zielen, #20302B); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: var(--roz, #BC9391); }
.lg-doc a:hover { text-decoration-color: currentColor; }
.lg-doc p { margin: 0 0 var(--space-4, 16px); max-width: 72ch; }
.lg-skrot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4, 16px); margin-bottom: var(--space-8, 64px); }
.lg-skrot__item { padding: var(--space-5, 24px); background: var(--bialy, #fff); border-radius: var(--radius-m, 16px); box-shadow: 0 0 0 1px var(--linia, #20302B29); }
.lg-skrot__item p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--szary, #5B5B5B); }
.lg-skrot__item .lg-skrot__h { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; font-family: var(--font-display); font-size: 24px; line-height: 1.15; font-weight: 600; color: var(--zielen, #20302B); }
.lg-skrot__h::before { content: ""; flex: none; width: 10px; height: 12px; background: var(--roz-ciemny, #7A5452);
  clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); }

.lg-sec { padding-top: var(--space-7, 48px); margin-top: var(--space-7, 48px); border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); scroll-margin-top: calc(88px + var(--space-5, 24px)); }
.lg-skrot + .lg-sec { margin-top: 0; }
.lg-h { display: flex; align-items: baseline; gap: 14px; margin: 0 0 var(--space-5, 24px); font-family: var(--font-display); font-size: 34px; line-height: 1.15; font-weight: 600; letter-spacing: -.01em; }
.lg-nr { flex: none; min-width: 44px; font-family: var(--font-sans); font-size: 14px; line-height: 1; font-weight: 700; letter-spacing: .06em; color: var(--roz-ciemny, #7A5452); transform: translateY(-4px); }

.lg-list { list-style: none; margin: 0 0 var(--space-5, 24px); padding: 0; display: flex; flex-direction: column; gap: 8px; max-width: 72ch; }
.lg-list li { position: relative; padding-left: 22px; }
.lg-list li::before { content: ""; position: absolute; left: 0; top: .62em; width: 9px; height: 11px; background: var(--roz-ciemny, #7A5452);
  clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); }
.lg-list--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px var(--space-6, 32px); max-width: none; }
.lg-pkt { margin: 0 0 var(--space-4, 16px); padding: 0; list-style: none; counter-reset: pkt; display: flex; flex-direction: column; gap: 10px; max-width: 72ch; }
.lg-pkt > li { counter-increment: pkt; position: relative; padding-left: 36px; }
.lg-pkt > li::before { content: counter(pkt) "."; position: absolute; left: 0; top: 0; min-width: 24px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--roz-ciemny, #7A5452); }
.lg-kroki { list-style: none; margin: 0 0 var(--space-6, 32px); padding: 0; counter-reset: krok; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3, 12px); }
.lg-kroki li { counter-increment: krok; position: relative; padding: var(--space-4, 16px) var(--space-4, 16px) var(--space-4, 16px) 60px; background: var(--bialy, #fff); border-radius: var(--radius-m, 16px); box-shadow: 0 0 0 1px var(--linia, #20302B29); font-size: 15px; line-height: 1.55; }
.lg-kroki li::before { content: counter(krok); position: absolute; left: 16px; top: 16px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); font-size: 14px; font-weight: 700; }
.lg-kroki strong { display: block; }
.lg-def { margin: 0; display: flex; flex-direction: column; }
.lg-def > div { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: var(--space-5, 24px); padding: 14px 0; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.lg-def > div:first-child { border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.lg-def dt { font-weight: 700; }
.lg-def dd { margin: 0; }
.lg-note { padding: var(--space-4, 16px) var(--space-5, 24px); border-left: 3px solid var(--roz, #BC9391); background: var(--bialy, #fff); border-radius: 0 var(--radius-s, 6px) var(--radius-s, 6px) 0; font-size: 15px; line-height: 1.6; }
.lg-doc .kontakt__todo { font-size: 13px; }

.lg-tab-wrap { margin: var(--space-5, 24px) 0; border-radius: var(--radius-m, 16px); background: var(--bialy, #fff); box-shadow: 0 0 0 1px var(--linia, #20302B29); overflow: hidden; }
.lg-tab { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.55; }
.lg-tab th, .lg-tab td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.lg-tab tbody tr:last-child > * { border-bottom: 0; }
.lg-tab thead th { background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.lg-tab tbody th { width: 21%; font-weight: 700; }
.lg-tab tbody th span { display: block; margin-top: 2px; font-weight: 400; font-size: 13px; color: var(--szary, #5B5B5B); }
.lg-tab td:last-child { width: 22%; color: var(--szary, #5B5B5B); }
.lg-tab tbody tr:nth-child(even) > * { background: #FBF8F5; }
.lg-tab--cookies td:last-child { color: var(--zielen, #20302B); font-weight: 600; }

.lg-wzor { padding: var(--space-6, 32px); background: var(--bialy, #fff); border-radius: var(--radius-m, 16px); box-shadow: 0 0 0 1px var(--linia, #20302B29); }
.lg-wzor__lead { font-size: 14px; color: var(--szary, #5B5B5B); }
.lg-wzor__pole { margin: 0 0 var(--space-5, 24px) !important; padding-top: 28px; border-bottom: 1px dashed var(--linia-mocna, #7D847E); }
.lg-wzor__pole span { display: block; transform: translateY(26px); font-size: 12px; line-height: 1.3; color: var(--szary, #5B5B5B); }
.lg-wzor__pole { padding-bottom: 0; margin-bottom: 40px !important; }
.lg-wzor__przyp { margin: var(--space-6, 32px) 0 0 !important; font-size: 13px; color: var(--szary, #5B5B5B); }

.lg-kontakt { margin-top: var(--space-8, 64px); padding: var(--space-6, 32px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-5, 24px); background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); border-radius: var(--radius-m, 16px); }
.lg-kontakt__h { margin: 0 0 4px !important; font-family: var(--font-display); font-size: 28px; line-height: 1.15; font-weight: 600; }
.lg-kontakt p { margin: 0; color: var(--bez, #EEE2D8); }
.lg-kontakt__akcje { display: flex; flex-wrap: wrap; gap: 12px; }
.lg-doc .lg-kontakt a.es-btn { text-decoration: none; }
.lg-doc .lg-kontakt .es-btn--light { color: var(--zielen, #20302B); }
.lg-kontakt .lg-kontakt__tel { color: var(--bez, #EEE2D8); }

@media (max-width: 1079px) {
  .lg__grid { grid-template-columns: minmax(0, 1fr); }
  .lg-toc { grid-column: auto; position: static; max-height: none; margin-bottom: var(--space-7, 48px); padding: var(--space-5, 24px); background: var(--bialy, #fff); border-radius: var(--radius-m, 16px); box-shadow: 0 0 0 1px var(--linia, #20302B29); }
  .lg-toc ol { columns: 2; column-gap: var(--space-6, 32px); border-left: 0; }
  .lg-toc a { margin-left: 0; padding: 6px 0; border-left: 0; break-inside: avoid; }
  .lg-doc { grid-column: auto; }
  .lg-sec { scroll-margin-top: calc(76px + var(--space-5, 24px)); }
  .lg-tab tbody th { width: 24%; }
}
@media (max-width: 760px) {
  .lg-skrot, .lg-kroki, .lg-list--2 { grid-template-columns: minmax(0, 1fr); }
  .lg-toc ol { columns: 1; }
  .lg-def > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  /* tabele jako karty: nagłówek wiersza na górze, etykiety kolumn nad wartościami */
  .lg-tab thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .lg-tab, .lg-tab tbody, .lg-tab tr, .lg-tab th, .lg-tab td { display: block; width: auto !important; }
  .lg-tab tr { padding: 16px; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
  .lg-tab tbody tr:last-child { border-bottom: 0; }
  .lg-tab tbody tr:nth-child(even) { background: #FBF8F5; }
  .lg-tab th, .lg-tab td { padding: 0; border: 0; background: none !important; }
  .lg-tab tbody th { margin-bottom: 10px; font-size: 16px; }
  .lg-tab td { margin-top: 8px; }
  .lg-tab td::before { content: attr(data-l); display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--roz-ciemny, #7A5452); }
  .lg-h { font-size: 28px; gap: 10px; }
  .lg-nr { min-width: 0; }
  .lg-wzor, .lg-kontakt { padding: var(--space-5, 24px); }
  .lg { padding-bottom: var(--space-9, 96px); }
}
@media (max-width: 640px) { .lg-sec { scroll-margin-top: calc(64px + var(--space-4, 16px)); } .lg-meta { justify-content: flex-start; } }

/* #654: wartości wpisane NAD kreską, podpis pola (DLA:, NA KWOTĘ / USŁUGĘ:, WAŻNY DO:) pod nią – jak w projekcie klienta.
   Kreski tła: 53,0% / 62,4% / 71,8% wysokości. Dedykacja nad imieniem, pod „PODARUNKOWY” (kończy się na 42,4%). */
.ev__ded { top: 42.9%; height: 5.3%; font-size: 3.1cqi; line-height: 1.08; }
.ev__f--dla { top: 48.2%; height: 4.4%; font-size: 5.8cqi; }
.ev__f--kwota { top: 55.4%; height: 6.4%; }
.ev__f--data { top: 64.8%; height: 6.4%; font-size: 5cqi; }
.ev__f--data .ev__kod { font-size: 2.6cqi; }

/* ================================================================ v17: cennik, podstrona zabiegu, o nas */

/* ---------------------------------------------------------------- cennik */
.cn-meta { margin: var(--space-4, 16px) 0 0; font-size: 14px; line-height: 1.55; color: var(--szary, #5B5B5B); max-width: 60ch; }
.cn__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: start; }
.cn-body { grid-column: 4 / -1; min-width: 0; }
.cn-toc ol ol { border-left: 0; margin: 2px 0 10px; }
.cn-toc .cn-toc__obszar { counter-increment: none; }
.cn-toc .cn-toc__obszar > .cn-toc__area { padding-top: 10px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--zielen, #20302B); }
.cn-toc .cn-toc__obszar > .cn-toc__area::before { content: none; }
.cn-toc .cn-toc__obszar:first-child > .cn-toc__area { padding-top: 4px; }
.cn-toc ol ol a { padding-left: 16px; }
.cn-toc ol ol a::before { content: none; }

.cn-search { position: relative; display: flex; align-items: center; gap: var(--space-4, 16px); margin-bottom: var(--space-7, 48px); }
.cn-search > .es-ic { position: absolute; left: 18px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: var(--szary, #5B5B5B); pointer-events: none; }
.cn-search__input { flex: 1 1 auto; min-width: 0; height: 56px; padding: 0 20px 0 50px; font: inherit; font-size: 16px; color: var(--zielen, #20302B); background: var(--bialy, #fff); border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-pill, 999px); }
.cn-search__input::placeholder { color: var(--szary, #5B5B5B); }
.cn-search__input:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }
.cn-search__wynik { flex: none; margin: 0; font-size: 14px; font-weight: 600; color: var(--szary, #5B5B5B); }

.cn-area { scroll-margin-top: calc(88px + var(--space-5, 24px)); }
.cn-area + .cn-area { margin-top: var(--space-9, 96px); }
.cn-area__head { display: grid; grid-template-columns: 136px minmax(0, 1fr); gap: var(--space-6, 32px); align-items: center; padding-bottom: var(--space-6, 32px); border-bottom: var(--linia-grubosc, 1px) solid var(--zielen, #20302B); }
.cn-area__img { width: 136px; }
.cn-area__txt .es-h { margin-top: var(--space-3, 12px); }
.cn-area__desc { margin: var(--space-3, 12px) 0 0; font-size: 16px; line-height: 1.6; color: var(--szary, #5B5B5B); max-width: 60ch; }

.cn-group { margin-top: var(--space-7, 48px); scroll-margin-top: calc(88px + var(--space-5, 24px)); }
.cn-group__h { display: flex; align-items: baseline; gap: 12px; margin: 0 0 var(--space-3, 12px); font-family: var(--font-display, Cormorant, serif); font-size: 30px; line-height: 1.15; font-weight: 500; color: var(--zielen, #20302B); }
.cn-group__n { font-family: var(--font-sans, Manrope, sans-serif); font-size: 13px; font-weight: 700; color: var(--roz-ciemny, #7A5452); font-variant-numeric: tabular-nums; }
.cn-list { list-style: none; margin: 0; padding: 0; border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.cn-row { padding: var(--space-4, 16px) 0; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); scroll-margin-top: calc(88px + var(--space-6, 32px)); }
.cn-row:target { background: linear-gradient(90deg, var(--bialy, #fff), transparent); }
.cn-row__main { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: var(--space-6, 32px); row-gap: var(--space-2, 8px); }
.cn-row__text { min-width: 0; }
.cn-row__name { font-family: var(--font-display, Cormorant, serif); font-size: 24px; line-height: 1.15; font-weight: 500; color: var(--zielen, #20302B); text-decoration: none; text-wrap: balance; }
a.cn-row__name:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: var(--linia-mocna, #7D847E); }
a.cn-row__name:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; border-radius: 2px; }
.cn-row__desc { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--szary, #5B5B5B); max-width: 62ch; text-wrap: pretty; }
.cn-row__more { min-height: 32px; margin-top: 2px; }
.cn-row__deal { flex-wrap: nowrap; }
.cn-var { list-style: none; margin: var(--space-3, 12px) 0 0; padding: 0 0 0 var(--space-5, 24px); border-left: 2px solid var(--roz, #BC9391); display: grid; gap: 2px; }
.cn-var li { display: grid; grid-template-columns: minmax(0, 1fr) 96px 104px; align-items: center; column-gap: var(--space-4, 16px); min-height: 36px; font-size: 15px; line-height: 1.4; }
.cn-var__name { color: var(--zielen, #20302B); }
.cn-var__time:empty { visibility: hidden; }
.cn-var__time { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cn-var__price { font-weight: 700; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cn-var .es-czas { width: 16px; height: 18px; }
.cn-row[hidden], .cn-group[hidden], .cn-area[hidden] { display: none; }
.cn-empty { margin: var(--space-6, 32px) 0 0; padding: var(--space-5, 24px); background: var(--bialy, #fff); border-radius: var(--radius-m, 16px); font-size: 16px; }
.cn-empty a, .zt-card__note a, .zt-przeciw__info a { color: var(--zielen, #20302B); font-weight: 700; }
.cn-voucher .es-btn .es-ic, .on-cta .es-btn .es-ic { width: 18px; height: 18px; }
.cn-voucher .es-btn--light { color: var(--zielen, #20302B); }
.cn-voucher .es-btn--outline-light, .on-cta .es-btn--outline-light { color: var(--bez, #EEE2D8); }

@media (max-width: 1079px) {
  .cn__grid { grid-template-columns: minmax(0, 1fr); }
  .cn-body { grid-column: auto; }
  .cn-toc ol { columns: 3; }
  .cn-toc ol ol { columns: 1; }
  .cn-toc .cn-toc__obszar { break-inside: avoid; }
  .cn-area, .cn-group { scroll-margin-top: calc(76px + var(--space-5, 24px)); }
}
@media (max-width: 760px) {
  .cn-toc ol { columns: 1; }
  .cn-toc ol ol { display: none; }
  .cn-toc .cn-toc__obszar > .cn-toc__area { padding: 8px 0; }
  .cn-search { flex-wrap: wrap; }
  .cn-search > .es-ic { top: 28px; }
  .cn-search__wynik { width: 100%; }
  .cn-area__head { grid-template-columns: 88px minmax(0, 1fr); gap: var(--space-4, 16px); }
  .cn-area__img { width: 88px; }
  .cn-area__head .es-h--l { font-size: 34px; }
  .cn-area__desc { grid-column: 1 / -1; }
  .cn-row__main { grid-template-columns: minmax(0, 1fr); }
  .cn-row__deal { justify-content: space-between; }
  .cn-row__name { font-size: 22px; }
  .cn-var { padding-left: var(--space-4, 16px); }
  .cn-var li { grid-template-columns: minmax(0, 1fr) auto; row-gap: 0; padding: 6px 0; }
  .cn-var__time { grid-column: 1; grid-row: 2; font-weight: 500; color: var(--szary, #5B5B5B); }
  .cn-var__price { grid-column: 2; grid-row: 1 / span 2; }
  .cn-group__h { font-size: 26px; }
}

/* ---------------------------------------------------------------- podstrona zabiegu */
.zt-hero { position: relative; overflow: hidden; }
.zt-hero .es-rings { --es-rings: 420px; }
.zt-hero > .container { position: relative; z-index: 1; }
.zt-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: center; }
.zt-hero__text { grid-column: 1 / span 7; display: flex; flex-direction: column; align-items: flex-start; }
.zt-hero__h { margin-top: var(--space-4, 16px); text-wrap: balance; }
.zt-hero__h em { display: inline; }
.zt-hero__lead { margin-top: var(--space-5, 24px); }
.zt-deal { margin-top: var(--space-7, 48px); border-top-color: var(--linia-mocna, #7D847E); }
.zt-deal .fm__facts .es-star { color: var(--roz-ciemny, #7A5452); }
.zt-deal .es-link .es-ic { color: var(--roz-ciemny, #7A5452); }
.zt-hero__media { grid-column: 9 / -1; width: 100%; max-width: 420px; justify-self: end; }
.zt-hero__brak img { width: 30%; height: auto; object-fit: contain; opacity: .35; }

.zt { padding-block: var(--space-9, 96px) var(--space-10, 128px); background: var(--bez-jasny, #F7F1EB); border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.zt__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: start; }
.zt-doc { grid-column: 1 / span 7; min-width: 0; font-size: 17px; line-height: 1.7; color: var(--zielen, #20302B); }
.zt-doc p { margin: 0 0 var(--space-4, 16px); max-width: 66ch; text-wrap: pretty; }
.zt-sec { margin-top: var(--space-7, 48px); }
.zt-doc > .es-eyebrow + .zt-sec { margin-top: var(--space-5, 24px); }
.zt-sec__h { margin: 0 0 var(--space-4, 16px); }
.zt-list { display: flex; flex-direction: column; gap: 10px; max-width: 66ch; margin-bottom: var(--space-4, 16px); }
.zt-list--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px var(--space-6, 32px); max-width: none; }
.zt-note { margin-top: var(--space-7, 48px); padding: var(--space-5, 24px) var(--space-6, 32px); background: var(--bialy, #fff); border-left: 3px solid var(--roz, #BC9391); border-radius: 0 var(--radius-m, 16px) var(--radius-m, 16px) 0; }
.zt-note__h { display: flex; align-items: center; gap: 10px; margin: 0 0 6px !important; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--roz-ciemny, #7A5452); }
.zt-note__h .es-ic { width: 18px; height: 18px; }
.zt-note p:last-child { margin-bottom: 0; }
.zt-przeciw { padding: var(--space-6, 32px); border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-m, 16px); }
.zt-przeciw__list { font-size: 15px; line-height: 1.55; }
.zt-przeciw__info { margin: 0 !important; font-size: 15px; color: var(--szary, #5B5B5B); }

.zt-aside { grid-column: 9 / -1; position: sticky; top: calc(88px + var(--space-6, 32px)); }
.zt-card { padding: var(--space-6, 32px); background: var(--bialy, #fff); border-radius: var(--radius-l, 24px); box-shadow: 0 0 0 1px var(--linia, #20302B29), 0 24px 48px -32px rgba(32, 48, 43, .35); }
.zt-card__h { margin: 0 0 var(--space-4, 16px); font-family: var(--font-display, Cormorant, serif); font-size: 30px; line-height: 1.1; font-weight: 500; color: var(--zielen, #20302B); }
.zt-card__usl { margin: var(--space-4, 16px) 0 4px; font-size: 13px; font-weight: 700; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; color: var(--roz-ciemny, #7A5452); }
.zt-card__usl:first-of-type { margin-top: 0; }
.zt-var { list-style: none; margin: 0; padding: 0; border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.zt-var li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; padding: 10px 0; border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); font-size: 15px; line-height: 1.4; }
.zt-var__name { grid-column: 1; color: var(--zielen, #20302B); }
.zt-var__time:empty { display: none; }
.zt-var__time { grid-column: 1; display: inline-flex; align-items: center; gap: 6px; margin-top: 2px; font-size: 13px; font-weight: 600; color: var(--szary, #5B5B5B); font-variant-numeric: tabular-nums; }
.zt-var__time .es-czas { width: 14px; height: 16px; }
.zt-var__price { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 17px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.zt-card .es-btn--block { width: 100%; margin-top: var(--space-5, 24px); }
.zt-card__gift { margin-top: var(--space-2, 8px); }
.zt-card__gift .es-ic, .zt-deal .es-link .es-ic:first-child { width: 20px; height: 20px; }
.zt-card__note { margin: var(--space-3, 12px) 0 0; font-size: 13px; line-height: 1.5; color: var(--szary, #5B5B5B); }

.zt-gal__grid { display: grid; gap: var(--space-6, 32px); }
.zt-gal__grid--1 { grid-template-columns: minmax(0, 720px); justify-content: center; }
.zt-gal__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.zt-gal__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.zt-gal__item { margin: 0; }
.zt-gal__item .es-luk { aspect-ratio: 4 / 5; }
.zt-gal__grid--1 .es-luk { aspect-ratio: 3 / 2; }

.zt-inne__top { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--space-5, 24px); margin-bottom: var(--space-8, 64px); }
.zt-inne__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7, 48px) var(--space-6, 32px); }
.zt-inne__item { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3, 12px); }
.zt-inne__img { max-width: 260px; margin-bottom: var(--space-3, 12px); }
.zt-inne__link { color: var(--zielen, #20302B); text-decoration: none; }
.zt-inne__link::after { content: ""; position: absolute; inset: 0; }
.zt-inne__item:hover .zt-inne__link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.zt-inne__link:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 4px; }
.zt-inne__desc { margin: 0; font-size: 15px; line-height: 1.6; color: var(--szary, #5B5B5B); }

@media (max-width: 1079px) {
  .zt-hero__text { grid-column: 1 / span 7; }
  .zt-hero__media { grid-column: 8 / -1; }
  .zt__grid { grid-template-columns: minmax(0, 1fr); }
  .zt-doc { grid-column: auto; }
  .zt-aside { grid-column: auto; position: static; margin-top: var(--space-8, 64px); max-width: 520px; }
  .zt-inne__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zt-inne__item:nth-child(3) { display: none; }
}
@media (max-width: 760px) {
  .zt-hero__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-7, 48px); }
  .zt-hero__text, .zt-hero__media { grid-column: auto; }
  .zt-hero__media { max-width: 300px; justify-self: center; grid-row: 1; }
  .zt-hero__h.es-h--xl { font-size: 46px; }
  .zt-deal { margin-top: var(--space-6, 32px); }
  .zt { padding-block: var(--space-8, 64px) var(--space-9, 96px); }
  .zt-doc { font-size: 16px; }
  .zt-list--2 { grid-template-columns: minmax(0, 1fr); }
  .zt-przeciw, .zt-card { padding: var(--space-5, 24px); }
  .zt-gal__grid--2, .zt-gal__grid--3 { grid-template-columns: minmax(0, 1fr); }
  .zt-gal__item .es-luk { aspect-ratio: 4 / 3; }
  .zt-inne__grid { grid-template-columns: minmax(0, 1fr); }
  .zt-inne__item:nth-child(3) { display: flex; }
  .zt-inne__img { max-width: 200px; }
}

/* ---------------------------------------------------------------- o nas */
.on-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: center; }
.on-hero__text { grid-column: 1 / span 6; }
.on-hero__text .es-h--xl { margin-top: var(--space-4, 16px); text-wrap: balance; }
.on-hero__lead { margin-top: var(--space-5, 24px); }
.on-hero__foto { grid-column: 7 / -1; aspect-ratio: 4 / 5; }
.on-fakty { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4, 16px); margin: var(--space-7, 48px) 0 0; padding: var(--space-5, 24px) 0 0; border-top: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); font-size: 15px; line-height: 1.5; font-weight: 600; color: var(--zielen, #20302B); }
.on-fakty__h { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--roz-ciemny, #7A5452); }

.on-opis__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: center; }
.on-opis__foto { grid-column: 1 / span 5; max-width: 460px; }
.on-opis__txt { grid-column: 7 / -1; }
.on-opis__txt .es-h { margin-top: var(--space-4, 16px); }
.on-opis__dlugi { margin-top: var(--space-6, 32px); font-size: 17px; line-height: 1.7; color: var(--zielen, #20302B); }
.on-opis__dlugi p { margin: 0 0 var(--space-4, 16px); max-width: 62ch; text-wrap: pretty; }
.on-opis__lh { margin: var(--space-5, 24px) 0 var(--space-3, 12px); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--roz-ciemny, #7A5452); }
.on-opis__lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px var(--space-6, 32px); margin-bottom: var(--space-5, 24px); font-size: 16px; line-height: 1.5; font-weight: 600; }
.on-opis__lista a { color: var(--zielen, #20302B); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--roz, #BC9391); }
.on-opis__lista a:hover { text-decoration-color: currentColor; }

.on-zespol__head { margin-bottom: var(--space-8, 64px); }
.on-osoby { display: grid; gap: var(--space-9, 96px); }
.on-osoba { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6, 32px); align-items: start; }
.on-osoba__foto { grid-column: 1 / span 4; max-width: 360px; margin: 0; }
.on-osoba__txt { grid-column: 6 / -1; padding-top: var(--space-5, 24px); }
.on-osoba:nth-child(even) .on-osoba__foto { grid-column: 9 / -1; grid-row: 1; justify-self: end; }
.on-osoba:nth-child(even) .on-osoba__txt { grid-column: 1 / span 7; grid-row: 1; }
.on-osoba__krotki { margin: var(--space-5, 24px) 0 0; font-size: 19px; line-height: 1.6; color: var(--zielen, #20302B); max-width: 56ch; text-wrap: pretty; }
.on-osoba__wiecej { margin-top: var(--space-5, 24px); }
.on-osoba__wiecej > summary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; list-style: none; cursor: pointer; font-size: 15px; font-weight: 700; color: var(--zielen, #20302B); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: var(--roz, #BC9391); }
.on-osoba__wiecej > summary::-webkit-details-marker { display: none; }
.on-osoba__wiecej > summary:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; border-radius: 2px; }
.on-osoba__wiecej > summary .es-ic { width: 18px; height: 18px; transition: transform .25s ease; }
.on-osoba__wiecej[open] > summary .es-ic { transform: rotate(180deg); }
.on-rozwin, .on-osoba__wiecej[open] .on-zwin { display: none; }
.on-osoba__wiecej[open] .on-rozwin { display: inline; }
.on-osoba__dlugi { margin-top: var(--space-4, 16px); font-size: 16px; line-height: 1.7; color: var(--zielen, #20302B); }
.on-osoba__dlugi p { margin: 0 0 var(--space-4, 16px); max-width: 62ch; }
.on-osoba__kh { margin: var(--space-6, 32px) 0 var(--space-3, 12px) !important; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--roz-ciemny, #7A5452); }
.on-osoba__kursy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px var(--space-6, 32px); font-size: 15px; line-height: 1.5; }
.on-reszta { margin-top: var(--space-10, 128px); padding-top: var(--space-8, 64px); border-top: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.on-reszta .es-person__photo { max-width: 200px; }
.on-reszta .zespol__brak img { width: 34%; height: auto; object-fit: contain; opacity: .35; }
.on-reszta .es-person__bio { color: var(--szary, #5B5B5B); font-size: 15px; }
.on-cta { padding-top: 0; }
.on-cta__box { margin-top: 0; }

@media (max-width: 1079px) {
  .on-hero__text { grid-column: 1 / span 7; }
  .on-hero__foto { grid-column: 8 / -1; }
  .on-fakty { grid-template-columns: minmax(0, 1fr); }
  .on-opis__foto { grid-column: 1 / span 5; }
  .on-reszta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .on-hero__grid, .on-opis__grid, .on-osoba { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-6, 32px); }
  .on-hero__text, .on-hero__foto, .on-opis__foto, .on-opis__txt, .on-osoba__foto, .on-osoba__txt,
  .on-osoba:nth-child(even) .on-osoba__foto, .on-osoba:nth-child(even) .on-osoba__txt { grid-column: auto; grid-row: auto; justify-self: start; }
  .on-hero__text .es-h--xl { font-size: 46px; }
  .on-hero__foto { aspect-ratio: 1 / 1; }
  .on-opis__foto { max-width: 300px; }
  .on-opis__lista, .on-osoba__kursy { grid-template-columns: minmax(0, 1fr); }
  .on-osoba__foto { max-width: 280px; }
  .on-osoba__txt { padding-top: 0; }
  .on-osoby { gap: var(--space-8, 64px); }
  .on-reszta { margin-top: var(--space-9, 96px); }
}
@media (max-width: 480px) { .on-reszta { grid-template-columns: repeat(2, minmax(0, 1fr)); --es-gap: var(--space-5, 24px); } }

/* ---------------------------------------------------------------- v19: uwagi zespołu #632–#635 */
/* #635: czas i cena wyśrodkowane w pionie (cennik, „Czego potrzebujesz?”, karty „Inne zabiegi”, nagłówek zabiegu) */
.pz__facts, .zt-inne .es-service__facts { align-items: center; }
.pz__facts .es-service__price, .zt-inne .es-service__price, .zt-deal .fm__price { line-height: 1; }
.pz__facts .es-service__time, .zt-inne .es-service__time { line-height: 1; }
.zt-deal .fm__facts { align-items: center; }
/* #632: całe postacie w kadrze – łuk w proporcjach zdjęcia */
.on-hero__foto { aspect-ratio: 3 / 2; align-self: center; }
.on-hero__foto img { object-position: 50% 45% !important; }
/* #633: zdjęcie przy „Nasze podejście” na 90% wysokości tekstu */
@media (min-width: 761px) {
  .on-opis__grid { align-items: stretch; }
  .on-opis__foto { align-self: center; height: 90%; aspect-ratio: auto; max-width: none; }
  .on-opis__foto img { height: 100%; }
}
@media (max-width: 760px) { .on-hero__foto { aspect-ratio: 3 / 2; } }
/* #634: link „Opis zabiegu” zawsze w osobnej linii pod nazwą */
.cn-row__more { display: flex; width: fit-content; }
/* #636: bez ozdobnych okręgów w tle nagłówka zabiegu na telefonie */
@media (max-width: 760px) { .zt-hero .es-rings { display: none; } }
/* #668: zdjęcie w hero O nas – na desktopie stała wysokość 500 px (tablet i telefon bez zmian, 3:2) */
@media (min-width: 1080px) { .on-hero__foto { aspect-ratio: auto; height: 500px; } }

/* ===================================================================== v22 */
/* Kontakt i dojazd: jedna sekcja, dwa kontenery. 1) Kontakt – kanały, godziny, rezerwacja (pasek w 3 kolumnach).
   2) Jak trafić – adres z „Kopiuj adres”, zakładki Samochodem / Autobusem / Pieszo, obok mapa w łuku. */
.kt__boxes { display: grid; gap: var(--space-5, 24px); }
.kt-box { min-width: 0; padding: var(--space-7, 48px); background: var(--bez-jasny, #F7F1EB); border: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); border-radius: var(--radius-m, 16px); }
.kt-h { margin: 0 0 var(--space-6, 32px); font-family: var(--font-display, Cormorant, Garamond, serif); font-size: 38px; line-height: 1.1; font-weight: 500; color: var(--zielen, #20302B); }

/* 1. Kontakt */
.kt-kontakt__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-6, 32px) var(--space-7, 48px); align-items: start; }
.kt-kontakt__col { min-width: 0; }
.kt .kontakt__label { margin-bottom: var(--space-4, 16px); }
.kt .kontakt__list li:first-child { padding-top: 0; }
.kt .kontakt__hours tr:first-child th, .kt .kontakt__hours tr:first-child td { border-top: 0; padding-top: 0; }
.kt-kontakt__txt { margin: 0; font-size: 16px; line-height: 1.6; color: var(--szary, #5B5B5B); max-width: 36ch; }
.kt-kontakt__cta .kontakt__actions { margin-top: var(--space-5, 24px); }

/* 2. Jak trafić */
.kt-dojazd { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--space-7, 48px); align-items: stretch; }
.kt-dojazd__info { min-width: 0; display: flex; flex-direction: column; }
.kt-adres { display: flex; align-items: center; gap: var(--space-3, 12px) var(--space-4, 16px); flex-wrap: wrap; padding-bottom: var(--space-5, 24px); margin-bottom: var(--space-5, 24px); border-bottom: var(--linia-grubosc, 1px) solid var(--linia, #20302B29); }
.kt-adres > .es-ic { width: 22px; height: 22px; color: var(--roz-ciemny, #7A5452); }
.kt-adres__txt { margin: 0; display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
.kt-adres__lab { font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--szary, #5B5B5B); }
.kt-adres__txt strong { font-size: 18px; line-height: 1.4; font-weight: 600; color: var(--zielen, #20302B); }
.kt-copy { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-pill, 999px); background: transparent; font: inherit; font-size: 14px; font-weight: 700; color: var(--zielen, #20302B); cursor: pointer; transition: background-color .25s ease; }
.kt-copy:hover { background: var(--bez, #EEE2D8); }
.kt-copy:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }
.kt-copy .es-ic { width: 18px; height: 18px; }
.kt-copy.is-done { background: var(--zielen, #20302B); border-color: var(--zielen, #20302B); color: var(--bez, #EEE2D8); }

/* zakładki jak przełącznik „Kwota / Konkretny zabieg” na stronie voucherów */
.kt-tabs { display: inline-flex; align-self: flex-start; max-width: 100%; padding: 4px; margin-bottom: var(--space-6, 32px); border: var(--linia-grubosc, 1px) solid var(--linia-mocna, #7D847E); border-radius: var(--radius-pill, 999px); }
.kt-tab { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px; border: 0; border-radius: var(--radius-pill, 999px); background: transparent; font: inherit; font-size: 15px; font-weight: 700; color: var(--zielen, #20302B); cursor: pointer; white-space: nowrap; transition: background-color .25s ease, color .25s ease; }
.kt-tab .es-ic { width: 18px; height: 18px; }
.kt-tab:hover { background: var(--bez, #EEE2D8); }
.kt-tab[aria-selected="true"] { background: var(--zielen, #20302B); color: var(--bez, #EEE2D8); }
.kt-tab:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 2px; }

.kt-panel { display: flex; flex-direction: column; outline: none; }
.kt-panel[hidden] { display: none; }
.kt-panel:focus-visible { outline: 2px solid var(--fokus, #7A5452); outline-offset: 6px; border-radius: 4px; }
.kt-panel__top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 var(--space-3, 12px); }
.kt-panel__nr { font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--roz-ciemny, #7A5452); }
.kt-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: var(--radius-pill, 999px); background: var(--bez, #EEE2D8); font-size: 13px; line-height: 1.3; font-weight: 600; color: var(--zielen, #20302B); }
.kt-panel__h { margin: 0 0 var(--space-3, 12px); font-family: var(--font-display, Cormorant, Garamond, serif); font-size: 30px; line-height: 1.15; font-weight: 500; color: var(--zielen, #20302B); text-wrap: balance; }
.kt-panel__txt { margin: 0; font-size: 16px; line-height: 1.6; color: var(--szary, #5B5B5B); max-width: 54ch; }
.kt-panel__txt .kontakt__todo { white-space: nowrap; }
.kt-steps { list-style: none; counter-reset: kt; margin: var(--space-5, 24px) 0 var(--space-6, 32px); padding: 0; display: grid; gap: var(--space-3, 12px); }
.kt-steps li { counter-increment: kt; position: relative; padding-left: 44px; min-height: 30px; font-size: 16px; line-height: 1.5; color: var(--zielen, #20302B); }
.kt-steps li::before { content: counter(kt); position: absolute; left: 0; top: -2px; display: grid; place-items: center; width: 30px; height: 30px; border: var(--linia-grubosc, 1px) solid var(--roz, #BC9391); border-radius: 50%; font-size: 13px; font-weight: 700; color: var(--roz-ciemny, #7A5452); font-variant-numeric: lining-nums; }
.kt-panel__route { align-self: flex-start; }

.kt-dojazd__map { min-width: 0; display: flex; }
.kt-dojazd .kontakt__map { flex: 1 1 auto; aspect-ratio: auto; min-height: 460px; --pin-y: 58%; }

@media (max-width: 1079px) {
  .kt-box { padding: var(--space-6, 32px); }
  .kt-kontakt__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .kt-kontakt__cta { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-6, 32px); align-items: end; }
  .kt-kontakt__cta .kontakt__label { grid-column: 1 / -1; }
  .kt-kontakt__cta .kontakt__actions { margin-top: 0; }
  .kt-dojazd { grid-template-columns: minmax(0, 1fr); gap: var(--space-6, 32px); }
  .kt-dojazd .kontakt__map { aspect-ratio: 16 / 9; min-height: 0; --pin-y: 62%; }
}
@media (max-width: 760px) {
  .kt-box { padding: var(--space-5, 24px) var(--space-4, 16px); }
  .kt-h { font-size: 32px; margin-bottom: var(--space-5, 24px); }
  .kt-kontakt__grid { grid-template-columns: minmax(0, 1fr); }
  .kt-kontakt__cta { display: block; }
  .kt-kontakt__cta .kontakt__actions { margin-top: var(--space-5, 24px); }
  .kt-copy { width: 100%; justify-content: center; }
  .kt-tabs { display: flex; align-self: stretch; }
  .kt-tab { flex: 1 1 0; padding: 0 6px; gap: 6px; font-size: 14px; }
  .kt-panel__h { font-size: 26px; }
  .kt-panel__route { align-self: stretch; justify-content: center; }
  .kt-dojazd .kontakt__map { aspect-ratio: 4 / 5; }
}
@media (max-width: 380px) { .kt-tab .es-ic { display: none; } }
/* poprawki po zrzutach */
.kt-kontakt__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr); column-gap: var(--space-6, 32px); }
@media (max-width: 1079px) {
  .kt-kontakt__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-6, 32px); }
  .kt-kontakt__txt { max-width: 52ch; }
}
@media (max-width: 760px) {
  .kt-kontakt__grid { grid-template-columns: minmax(0, 1fr); }
  .kt-adres { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .kt-adres > .es-ic { margin-top: 2px; }
  .kt-adres .kt-copy { grid-column: 1 / -1; }
}
@media (max-width: 1079px) { .kt-kontakt__cta { display: block; } .kt-kontakt__cta .kontakt__actions { margin-top: var(--space-5, 24px); } }
@media (max-width: 760px) { .kt-tab { font-size: 13px; gap: 5px; padding: 0 5px; } .kt-tab .es-ic { width: 16px; height: 16px; } }
