/* Relacje z wesel (pionowe filmy) i opinie par. Dodatek do style.css. */
.stories{padding-top:90px;padding-bottom:70px}
.stories-top{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 48px}
.stories-top h2{margin-bottom:0}
.stories-top p{max-width:430px;margin:0;color:var(--muted)}
.stories-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:14px;margin-top:38px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin}
.story{position:relative;display:block;aspect-ratio:9/16;padding:0;border:0;border-radius:18px 5px 18px 5px;overflow:hidden;background:#0d1f38;cursor:pointer;scroll-snap-align:start;color:#fff;text-align:left;font:inherit}
.story video,.story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story::after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(to top,rgba(6,16,32,.82),rgba(6,16,32,0))}
.story-meta{position:absolute;left:14px;right:14px;bottom:14px;z-index:1;display:grid;gap:2px;line-height:1.3}
.story-meta b{font-size:16px;font-weight:600}
.story-meta span{font-size:13px;opacity:.85}
.story-play{position:absolute;top:12px;right:12px;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--blue)}
.story-play svg{width:16px;height:16px;margin-left:2px}
.story:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.story:hover .story-play{background:#fff}

/* Pełnoekranowy podgląd jak w aplikacjach */
.story-viewer{width:min(440px,100vw);height:min(100svh,calc(440px*16/9 + 60px));max-width:100vw;max-height:100svh;padding:0;border:0;border-radius:4px;background:#06101f;color:#fff;overflow:hidden}
.story-viewer::backdrop{background:rgba(4,10,20,.92)}
.story-viewer[open]{display:grid;grid-template-rows:auto 1fr auto}
.viewer-bars{display:flex;gap:4px;padding:12px 12px 8px}
.viewer-bars span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden}
.viewer-bars i{display:block;height:100%;width:0;background:#fff}
.viewer-stage{position:relative;min-height:0}
.viewer-stage video{width:100%;height:100%;object-fit:cover;display:block}
.viewer-tap{position:absolute;top:0;bottom:0;width:38%;border:0;background:transparent;cursor:pointer}
.viewer-tap.prev{left:0}.viewer-tap.next{right:0;width:62%}
.viewer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 14px}
.viewer-caption{display:grid;line-height:1.3}
.viewer-caption b{font-weight:600}
.viewer-caption span{font-size:13px;opacity:.8}
.viewer-close{flex:none;padding:9px 14px;border:1px solid rgba(255,255,255,.45);border-radius:6px;background:transparent;color:#fff;font:inherit;font-size:13px;font-weight:550;cursor:pointer}
.viewer-close:hover{border-color:#fff}

/* Opinie */
.reviews{padding-top:70px}
.reviews-lead{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:40px 64px;align-items:end;margin-top:10px;padding-bottom:44px;border-bottom:1px solid var(--line)}
.review-quote{margin:0}
.review-quote blockquote{margin:0}
.review-quote blockquote p{margin:0;font-family:var(--font-display,Georgia,serif);font-size:clamp(25px,6.4vw,40px);line-height:1.2;letter-spacing:-.015em;font-weight:450;text-wrap:pretty}
.review-quote figcaption{margin-top:20px;font-size:13px;font-weight:550;line-height:1.5;color:var(--muted)}
.review-quote figcaption b{color:var(--ink);font-weight:600}
.reviews-lead .review-link{justify-self:start;display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border:1px solid var(--blue);border-radius:18px 5px 18px 5px;background:transparent;color:var(--blue);font:inherit;font-weight:600;cursor:pointer}
.reviews-lead .review-link:hover{background:var(--blue);color:#fff}
.reviews-grid figure{margin:0}.reviews-grid blockquote{margin:0}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 48px;margin-top:44px}
.reviews-grid blockquote p{margin:0;font-size:16px;line-height:1.75}
.reviews-grid figcaption{margin-top:14px;font-size:13px;font-weight:550;line-height:1.5;color:var(--muted)}
.reviews-grid figcaption b{color:var(--ink);font-weight:600}
.reviews-sources{margin-top:44px;font-size:16px;color:var(--muted)}
.reviews-sources a{color:var(--blue)}

@media (max-width:860px){
  .reviews-lead,.reviews-grid{grid-template-columns:1fr}
  .stories-rail{grid-auto-columns:62%}
}
@media (max-width:700px){
  .stories{padding-top:64px;padding-bottom:48px}
  .stories-rail{margin-left:calc(-1 * var(--space));margin-right:calc(-1 * var(--space));padding-left:var(--space);padding-right:var(--space);scroll-padding-left:var(--space)}
  .story-viewer{width:100vw;height:100svh;border-radius:0}
}
@media (prefers-reduced-motion:reduce){.story video{display:none}}
.viewer-actions{display:flex;gap:8px;flex:none}

/* Materiały z września 2026: wejście do sali w pętli i pionowy pierwszy taniec */
.introduction video{display:block;width:100%;height:450px;object-fit:cover;object-position:50% 40%;border-radius:160px 160px 18px 18px;background:var(--ink)}
.dance-film-shell video.film-pionowy{aspect-ratio:9/16;width:auto;max-width:100%;height:min(78svh,720px);margin:0 auto;object-fit:cover}
@media(max-width:760px){.introduction video{height:420px}.dance-film-shell video.film-pionowy{height:auto;width:100%}}
.gallery .gallery-link img.kadr-pion{object-fit:cover;object-position:50% 62%}
.gallery .gallery-link img.kadr-rz-prowadzenie{object-fit:cover;object-position:50% 38%}.gallery .gallery-link img.kadr-rz-stanowisko{object-fit:cover;object-position:50% 45%}
.hero-photo>img.hero-rzeszow{object-position:42% 55%}
.reviews-grid figure:only-child{grid-column:1/-1;max-width:62ch}
.hero-photo>img.hero-konsola{object-position:50% 30%}
.hero-photo>img.hero-konsola{object-position:50% 35%}
.hero-photo>img.hero-obok{object-position:40% 45%}

/* Familiada na stole LED */
.familiada{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:center}
.familiada figure{margin:0;max-width:520px}.familiada img{display:block;width:100%;height:auto;border-radius:28px 8px 28px 8px}
.familiada h2{margin-bottom:24px}.familiada .lead{margin-bottom:16px;max-width:34ch}.familiada p{max-width:46ch}
@media(max-width:760px){.familiada{grid-template-columns:1fr}.familiada figure{max-width:none}}

/* Przebudowa 20.10.2026: pasek zaufania, rolka, karty opinii, cena, równa galeria */
.trust{max-width:1500px;margin:0 auto;padding:0 var(--space)}
.trust ul{list-style:none;margin:0;padding:26px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust li{display:flex;flex-direction:column;gap:2px}
.trust b{font-family:var(--font-display);font-size:clamp(26px,2.6vw,38px);font-weight:500;line-height:1.1;color:var(--ink)}
.trust span{font-size:13px;font-weight:550;color:var(--muted)}
.reel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(32px,6vw,96px);align-items:center}
.reel-copy h2{margin-bottom:22px}.reel-copy .lead{max-width:30ch;margin-bottom:30px}
.reel-film{margin:0;justify-self:center;width:min(100%,400px)}
.reel-film video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:28px 8px 28px 8px;background:var(--ink)}
.reviews-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.review-card{margin:0;padding:26px;border:1px solid var(--line);border-radius:18px 5px 18px 5px;background:var(--white);display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.review-card blockquote{margin:0}.review-card blockquote p{margin:0;font-size:16px;line-height:1.7}
.review-card{border-top:3px solid var(--blue)}
.review-card figcaption{font-size:13px;font-weight:550;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px 0}
.review-card figcaption b{color:var(--ink)}
.review-card .review-link{margin-left:auto;padding:8px 14px;border:1px solid var(--blue);border-radius:18px 5px 18px 5px;background:transparent;color:var(--blue);font:inherit;font-weight:600;cursor:pointer}
.review-card .review-link:hover{background:var(--blue);color:#fff}
.offer .section-top{align-items:end}
.price{display:flex;flex-direction:column;gap:6px;justify-self:end;text-align:right}
.price b{font-family:var(--font-display);font-size:clamp(36px,4vw,56px);font-weight:500;line-height:1;color:var(--blue)}
.price span{font-size:14px;color:var(--muted);max-width:30ch}
.offer>.button{margin-top:34px}
.gallery .gallery-link img{aspect-ratio:4/3;height:auto;object-fit:cover;background:none}
.gallery figure:nth-child(2n){padding-top:0}
html[data-theme="dark"] .review-card{background:var(--soft)}
@media(max-width:900px){.reviews-cards{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.trust ul{grid-template-columns:1fr 1fr;gap:20px}.reel{grid-template-columns:1fr}.reel-film{width:100%}.reviews-cards{grid-template-columns:1fr}.price{justify-self:start;text-align:left}}
@media(max-width:760px){.reel-film{width:min(78%,320px)}}

/* Sekcja „spokój”: para pod fajerwerkami zawsze w kadrze */
.spokoj{position:relative;background:#081028;color:#fff;overflow:hidden}
.spokoj-copy{position:relative;z-index:1}
.spokoj h2{color:#fff;max-width:14ch;margin-bottom:18px}
.spokoj p{max-width:40ch;font-size:18px;line-height:1.6;color:rgba(255,255,255,.9)}
.spokoj .spokoj-place{margin-top:16px;font-size:13px;font-weight:550;color:rgba(255,255,255,.65)}
.spokoj-film{display:block;object-fit:cover}
@media(min-width:761px){.spokoj{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;gap:clamp(32px,6vw,96px);padding:clamp(48px,7vw,96px) max(var(--space),calc((100vw - 1500px)/2 + var(--space)))}.spokoj-film{order:2;height:min(82svh,760px);aspect-ratio:9/16;width:auto;border-radius:28px 8px 28px 8px}.spokoj-copy{order:1}}
@media(max-width:760px){.spokoj{min-height:100svh}.spokoj-film{position:absolute;inset:0;width:100%;height:100%;object-position:50% 100%}.spokoj:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,30,.85) 0%,rgba(5,10,30,.35) 38%,rgba(5,10,30,0) 55%)}.spokoj-copy{padding:56px var(--space) 0}.spokoj p{font-size:16px}}
.offer-prose{max-width:62ch;border-top:1px solid var(--line);padding-top:32px}.offer-prose .lead{margin-bottom:18px}

/* Coś więcej niż muzyka: kafelki, na telefonie przewijane w bok */
.extras{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.extra{position:relative;aspect-ratio:3/4;border-radius:18px 5px 18px 5px;overflow:hidden;display:flex;align-items:flex-end;padding:18px;background:linear-gradient(160deg,#1b3f86 0%,#0d1f45 100%);color:#fff}
.extra:nth-child(3n+2):not(.has-img){background:linear-gradient(160deg,#2a5bc4 0%,#13306b 100%)}
.extra:nth-child(3n):not(.has-img){background:linear-gradient(160deg,#122a55 0%,#081430 100%)}
.extra img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.extra.has-img:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,30,0) 45%,rgba(5,10,30,.75) 100%)}
.extra span{position:relative;z-index:1;font-family:var(--font-display);font-size:clamp(22px,2vw,28px);line-height:1.15}
.extra:hover img{transform:scale(1.04)}
@media(max-width:760px){.extras{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 calc(var(--space)*-1);padding:0 var(--space) 8px}.extra{flex:0 0 46%;scroll-snap-align:start}}

/* Telefon: zdjęcie główne wyższe, żeby głowa się mieściła */
@media(max-width:760px){.hero-photo{height:auto!important}.hero-photo>img.hero-rzeszow{height:auto!important;aspect-ratio:4/5;object-position:50% 10%!important}}
/* Strzałki przy relacjach */
.rail-wrap{position:relative}
.rail-arrow{position:absolute;top:50%;z-index:3;width:48px;height:48px;margin-top:-24px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#102945;box-shadow:0 6px 20px rgba(10,20,50,.25);display:grid;place-items:center;cursor:pointer;transition:opacity .2s}
.rail-arrow svg{width:22px;height:22px}
.rail-arrow.prev{left:-12px}.rail-arrow.next{right:-12px}
.rail-arrow[disabled]{opacity:0;pointer-events:none}
.rail-arrow:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:760px){.rail-arrow{width:42px;height:42px;margin-top:-21px}.rail-arrow.prev{left:4px}.rail-arrow.next{right:4px}}
.introduction img{object-position:50% 30%}
.introduction video{object-position:50% 25%}
@media(min-width:761px){.introduction figure{max-width:340px}.introduction video{height:auto!important;aspect-ratio:3/4}}

.hero-kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
