/* ==========================================================================
   oferta.css – grupa „oferta”: 14 podstron /oferta-*-bielany/ + /oferta/ (po uwagach klientki 14.09.2026)
   Mobile-first (baza = telefon 360–390 px), rozszerzenia tylko min-width.
   Tylko tokeny kitu, klasy z prefiksem .of-, każdy svg z jawnym rozmiarem.
   ========================================================================== */

/* ---------- Hero usługi: koło z ikoną zamiast zdjęcia (TECAR, dzieci) ---------- */
.of-media-ico{display:grid;place-items:center;background:var(--mint-100);color:var(--mint-d)}
.of-media-ico svg.i{position:static;width:40%;height:40%}
/* zdjęcie bez tła na miętowym dysku (masaż klasyczny) */
.of-media-cut{background:var(--mint-100)}
.of-media-cut img{object-fit:cover;object-position:50% 12%}
.of-hero-note{margin-top:12px}

/* (14.09: pigułki .of-chips pod przyciskami hero usunięte na życzenie klientki) */

/* ---------- Pytania-haki (jej pytania z opisu usługi) ---------- */
.of-hooks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.of-hooks li{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px 16px;font:600 15.5px/1.4 var(--ff-h);color:var(--navy)}
.of-hooks .ico{width:44px;height:44px;box-shadow:none}
.of-hooks .ico svg.i{width:21px;height:21px}
.of-sub{font-size:19px}
@media (min-width:1024px){
  .of-hooks{grid-template-columns:repeat(2,1fr);gap:16px}
  .of-hooks li{padding:16px 20px;font-size:16.5px}
  .of-sub{font-size:21px}
}

/* ---------- Opis: zdjęcie obok tekstu ---------- */
.of-photo{margin:0;border-radius:var(--r);overflow:hidden;background:var(--mint-50);box-shadow:var(--shadow);max-width:440px;justify-self:center;width:100%}
.of-photo img{width:100%;height:auto}
.of-photo figcaption{padding:12px 16px;font-size:14px;line-height:1.45;background:#fff;color:var(--text)}
.of-fig-circle{margin-top:8px}
.of-fig-wrap{display:grid;justify-items:center;gap:22px}
.of-fig-note{max-width:300px}
.of-fig-ico{display:grid;place-items:center}
.of-fig-ico .ico{width:min(44vw,160px);height:auto;aspect-ratio:1;box-shadow:0 0 0 10px var(--mint-50),0 0 0 12px var(--mint-100)}
@media (min-width:1024px){ .of-fig-ico .ico{width:240px} }
/* odstęp nad listą pigułek (kit: .pills{margin:0} nadpisuje .mt-*) */
.of-pills-wrap{margin-top:14px}
.of-hero .of-pills-wrap{margin-top:22px}
.of-fig-ico .ico svg.i{width:40%;height:40%}
.of-desc.split .prose{max-width:none}
@media (min-width:1024px){
  .of-desc.split{align-items:start}
  .of-desc.split>:last-child{position:sticky;top:110px}
}

/* ---------- Ramki: cena i kto prowadzi ---------- */
.of-price-grid{display:grid;gap:20px}
.of-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.of-box h3{font-size:18px}
.of-box>*+*{margin-top:12px}
.of-box .price-mini{margin-top:8px}
.of-box .price-mini small{white-space:nowrap}
.of-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.of-links .link-arrow{min-height:44px}
.of-people{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:16px}
.of-person{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center}
.of-person .ph{position:relative;display:block;width:76px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--mint-100);box-shadow:0 0 0 4px #fff,0 0 0 6px var(--mint)}
.of-person .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.of-person h3{font-size:17px}
.of-person h3 a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);text-decoration:none}
/* cel dotyku ≥44 px: samodzielne linki ze strzałką w treści usługi */
.page-usluga main .link-arrow{min-height:44px}
.of-person h3 a:hover{color:var(--mint-d);text-decoration:underline}
.of-person .role{font-size:14px;line-height:1.4;margin-top:2px}
.of-box .btns .btn{flex:1 1 200px}
@media (min-width:768px){
  .of-box{padding:28px}
  .of-person{grid-template-columns:96px minmax(0,1fr);gap:18px}
  .of-person .ph{width:96px}
}
@media (min-width:1024px){ .of-price-grid{grid-template-columns:1fr 1fr;gap:28px;align-items:start} }

/* ---------- Opinie: linia ocen, siatka 2 kart ---------- */
.of-rating{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;color:var(--navy)}
.of-rating>span{display:inline-flex;align-items:center;gap:6px}
.of-rating .small{color:var(--text)}
.of-rating b{font:600 17px/1 var(--ff-h)}
.of-q2{display:grid;gap:16px}
@media (min-width:768px){ .of-q2{grid-template-columns:repeat(2,1fr);gap:20px} }

/* ---------- Pakiety regeneracji (karty bez linku) ---------- */
.of-packs{display:grid;gap:16px;list-style:none;margin:0;padding:0}
.of-packs li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px}
.of-packs li.is-top{border:2px solid var(--mint)}
.of-packs .ico{width:56px;height:56px;box-shadow:none}
.of-packs .ico svg.i{width:26px;height:26px}
.of-packs h3{font-size:19px}
.of-packs .inc{font-weight:700;color:var(--navy)}
.of-packs .of-pack-price{margin-top:auto;padding-top:6px;font:700 28px/1.1 var(--ff-h);color:var(--navy)}
@media (min-width:768px){ .of-packs{grid-template-columns:repeat(3,1fr);gap:20px} }

/* ---------- Przeciwwskazania / uwagi (lista w ramce) ---------- */
.of-warn{background:var(--mint-50);border-radius:var(--r);padding:20px}
.of-warn h3{font-size:18px}
.of-warn>*+*{margin-top:10px}
@media (min-width:768px){ .of-warn{padding:28px} }

/* ---------- /oferta/: nagłówek działu + karty ---------- */
.of-hubhead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 16px;align-items:center;margin-bottom:26px}
.of-hubhead .ico{width:60px;height:60px;box-shadow:0 0 0 5px #fff,0 0 0 6px var(--mint-100)}
.of-hubhead .ico svg.i{width:28px;height:28px}
.of-hubhead p{font-size:15px;margin-top:4px}
.of-hubhead .btn{grid-column:1/-1;justify-self:start}
.sec--alt .of-hubhead .ico{box-shadow:0 0 0 5px var(--mint-50),0 0 0 6px var(--mint-100)}
.of-price{display:inline-flex;align-items:center;gap:6px;font:600 14px/1.3 var(--ff-h);color:var(--navy)}
.of-price svg.i{width:18px;height:18px;color:var(--mint-d)}
.of-card .card-img{width:96px;height:96px}
.of-card .small{margin-top:-4px}
@media (min-width:1024px){
  .of-hubhead{grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:36px}
  .of-hubhead .ico{width:76px;height:76px}
  .of-hubhead .ico svg.i{width:34px;height:34px}
  .of-hubhead .btn{grid-column:auto;justify-self:end}
  .of-hubhead p{font-size:16px;max-width:44em}
}
