/* Studio: Oferta apartamentu. Teksty i przyciski z przedrostkiem .studio-block.studio-offer (0,3,0) lub mocniejszym,
   bo Kubio koloruje nagłówki, akapity, listy, linki i przyciski własnymi selektorami. */
.studio-offer{--so-ratio:3/2;--so-radius:20px;--so-accent:#03a9f4;--so-on-accent:#fff;--so-line:rgba(127,127,127,.2);display:grid;gap:18px;align-self:stretch;container-type:inline-size;min-width:0}

/* Karuzela */
.studio-offer__gallery{display:grid;gap:10px;min-width:0}
.studio-offer__viewport{position:relative;overflow:hidden;border-radius:var(--so-radius);background:rgba(127,127,127,.12);outline:none;isolation:isolate}
.studio-offer__viewport:focus-visible{box-shadow:0 0 0 3px var(--so-accent)}
.studio-offer__track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.studio-offer__track::-webkit-scrollbar{display:none}
.studio-block.studio-offer .studio-offer__slide{flex:0 0 100%;margin:0;padding:0;aspect-ratio:var(--so-ratio);scroll-snap-align:start;scroll-snap-stop:always;cursor:zoom-in}
.studio-block.studio-offer .studio-offer__slide img{display:block;width:100%;height:100%;max-width:none;margin:0;border-radius:0;object-fit:cover;-webkit-user-select:none;user-select:none}

.studio-block.studio-offer .studio-offer__nav,.studio-block.studio-offer .studio-offer__zoom{position:absolute;z-index:2;display:grid;place-items:center;width:42px;height:42px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 18px -6px rgba(0,0,0,.4);color:#111827;cursor:pointer;opacity:0;transition:opacity .25s ease,transform .25s ease,background .25s ease}
.studio-block.studio-offer .studio-offer__nav:hover,.studio-block.studio-offer .studio-offer__zoom:hover{background:#fff;color:#111827;transform:scale(1.06)}
.studio-block.studio-offer .studio-offer__nav{top:50%;margin-top:-21px}
.studio-block.studio-offer .studio-offer__nav.is-prev{left:14px}.studio-block.studio-offer .studio-offer__nav.is-next{right:14px}
.studio-block.studio-offer .studio-offer__zoom{top:14px;right:14px;width:38px;height:38px}
.studio-offer__viewport:hover .studio-offer__nav,.studio-offer__viewport:hover .studio-offer__zoom,.studio-offer__viewport:focus-within .studio-offer__nav,.studio-offer__viewport:focus-within .studio-offer__zoom{opacity:1}
@media(hover:none){.studio-block.studio-offer .studio-offer__nav{display:none}.studio-block.studio-offer .studio-offer__zoom{opacity:1}}
.studio-offer svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.studio-offer__count{position:absolute;right:14px;bottom:14px;z-index:2;padding:6px 11px;border-radius:999px;background:rgba(17,24,39,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:12px;font-weight:600;line-height:1;letter-spacing:.04em;font-variant-numeric:tabular-nums;pointer-events:none}
.studio-offer__badge{position:absolute;top:14px;left:14px;z-index:2;padding:7px 13px;border-radius:999px;background:var(--so-accent);box-shadow:0 6px 18px -6px rgba(0,0,0,.4);color:var(--so-on-accent);font-size:12px;font-weight:700;line-height:1.1;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}

/* Miniatury */
.studio-offer__thumbs{display:flex;gap:8px;padding:2px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.studio-offer__thumbs::-webkit-scrollbar{display:none}
.studio-block.studio-offer .studio-offer__thumb{flex:0 0 auto;width:76px;height:54px;margin:0;padding:0;overflow:hidden;border:0;border-radius:calc(var(--so-radius) * .45);background:rgba(127,127,127,.15);box-shadow:none;cursor:pointer;opacity:.55;scroll-snap-align:center;transition:opacity .2s ease,box-shadow .2s ease}
.studio-block.studio-offer .studio-offer__thumb:hover{opacity:.85;background:rgba(127,127,127,.15)}
.studio-block.studio-offer .studio-offer__thumb.is-active{opacity:1;box-shadow:0 0 0 2px var(--so-accent)}
.studio-block.studio-offer .studio-offer__thumb:focus-visible{outline:2px solid var(--so-accent);outline-offset:2px}
.studio-block.studio-offer .studio-offer__thumb img{display:block;width:100%;height:100%;max-width:none;margin:0;border-radius:0;object-fit:cover}

/* Oferta: informacje + cena i przyciski; obok siebie, gdy jest miejsce. */
.studio-offer__details{display:grid;gap:18px;align-items:end}
@container (min-width:620px){.studio-offer__details{grid-template-columns:minmax(0,1fr) auto}}
.studio-offer__info{display:grid;gap:12px;min-width:0}
.studio-block.studio-offer .studio-offer__title{margin:0;color:inherit;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.2}
.studio-block.studio-offer .studio-offer__desc{margin:0;color:inherit;opacity:.75;font-size:1rem;line-height:1.6}
.studio-block.studio-offer .studio-offer__facts,.studio-block.studio-offer .studio-offer__amenities{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.studio-block.studio-offer .studio-offer__facts li,.studio-block.studio-offer .studio-offer__amenities li{display:inline-flex;align-items:center;gap:7px;margin:0;padding:7px 12px;border-radius:999px;background:rgba(127,127,127,.1);box-shadow:inset 0 0 0 1px var(--so-line);color:inherit;font-size:.9rem;line-height:1.25;list-style:none}
.studio-block.studio-offer .studio-offer__facts li{font-weight:600}
.studio-block.studio-offer .studio-offer__facts li::before,.studio-block.studio-offer .studio-offer__amenities li::before,.studio-block.studio-offer .studio-offer__facts li::marker,.studio-block.studio-offer .studio-offer__amenities li::marker{content:none}
.studio-offer__facts svg,.studio-offer__amenities svg{flex:0 0 auto;width:17px;height:17px;color:var(--so-accent)}

.studio-offer__book{display:grid;gap:12px;justify-items:start}
@container (min-width:620px){.studio-offer__book{justify-items:end;text-align:right}}
.studio-offer__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .35em;line-height:1.1}
.studio-offer__prefix,.studio-offer__period{opacity:.7;font-size:.95rem}
.studio-offer__amount{font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.studio-block.studio-offer .studio-offer__note{margin:-6px 0 0;color:inherit;opacity:.65;font-size:.85rem}
.studio-offer__buttons{display:flex;flex-wrap:wrap;gap:10px}
.studio-offer__button{--sob-bg:var(--so-accent);--sob-fg:var(--so-on-accent);--sob-ring:0 0 0 0 transparent}
.studio-offer__button.is-secondary{--sob-bg:transparent;--sob-fg:currentColor;--sob-ring:inset 0 0 0 1.5px currentColor}
.studio-block.studio-offer .studio-offer__buttons .studio-offer__button.studio-offer__button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:12px 24px;border-radius:999px;background:var(--sob-bg);box-shadow:var(--sob-ring);color:var(--sob-fg);font-weight:700;line-height:1.2;text-decoration:none;transition:transform .25s ease,filter .25s ease,background .25s ease}
.studio-block.studio-offer .studio-offer__buttons .studio-offer__button.studio-offer__button:hover{background:var(--sob-bg);color:var(--sob-fg);transform:translateY(-1px);filter:brightness(1.06)}
.studio-block.studio-offer .studio-offer__buttons .studio-offer__button.is-primary::after{content:"→";transition:transform .25s ease}
.studio-block.studio-offer .studio-offer__buttons .studio-offer__button.is-primary:hover::after{transform:translateX(3px)}

/* Pełny ekran */
.studio-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(8,10,14,.94)}
.studio-lightbox[hidden]{display:none}
.studio-lightbox-open,.studio-lightbox-open body{overflow:hidden}
.studio-lightbox__track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:none}
.studio-lightbox__track::-webkit-scrollbar{display:none}
.studio-lightbox__slide{display:grid;flex:0 0 100%;place-items:center;margin:0;padding:clamp(12px,5vw,64px);box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always}
.studio-lightbox__slide img{max-width:100%;max-height:100%;border-radius:10px;object-fit:contain;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.studio-lightbox .studio-lightbox__btn{position:absolute;display:grid;place-items:center;width:48px;height:48px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);box-shadow:none;color:#fff;cursor:pointer;transition:background .2s ease}
.studio-lightbox .studio-lightbox__btn:hover{background:rgba(255,255,255,.24);color:#fff}
.studio-lightbox .studio-lightbox__btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.studio-lightbox .studio-lightbox__btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.studio-lightbox .is-close{top:max(16px,env(safe-area-inset-top));right:16px}
.studio-lightbox .is-prev{top:50%;left:16px;margin-top:-24px}.studio-lightbox .is-next{top:50%;right:16px;margin-top:-24px}
.studio-lightbox__count{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));color:#fff;font:600 13px/1 system-ui,sans-serif;letter-spacing:.06em;transform:translateX(-50%)}
@media(hover:none){.studio-lightbox .is-prev,.studio-lightbox .is-next{display:none}}

/* Edytor */
.studio-offer.is-editor .studio-offer__slide{cursor:default}
.studio-offer.is-editor .studio-offer__nav,.studio-offer.is-editor .studio-offer__zoom{opacity:1}
.studio-offer__empty{display:grid;place-content:center;gap:10px;min-height:260px;padding:24px;border:2px dashed rgba(127,127,127,.4);border-radius:var(--so-radius);text-align:center}
.studio-editor-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 10px}.studio-editor-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}

@media(prefers-reduced-motion:reduce){.studio-offer *,.studio-lightbox *{transition:none!important}}
