/* ============================================================
   VOUCHER — strona premium (Exclusive Apartment Centrum)
   ============================================================ */

/* ---------- HERO ---------- */
.vch-hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  background:radial-gradient(120% 90% at 50% 0%, #26201A 0%, #14110E 60%, #0C0A08 100%);
  color:var(--cream); overflow:hidden; padding:120px 0 70px;
}
.vch-hero::before{
  content:""; position:absolute; inset:0;
  background-image:url("/img/apartament-galaxy-2.jpg");
  background-size:cover; background-position:center; opacity:.16; filter:saturate(.9);
}
.vch-hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(12,10,8,.55), rgba(12,10,8,.82));
}
.vch-hero .wrap{ position:relative; z-index:2; }
.vch-eyebrow{
  display:inline-flex; align-items:center; gap:10px; font:600 .72rem/1 Montserrat,sans-serif;
  letter-spacing:.28em; text-transform:uppercase; color:var(--gold-lite);
  padding:10px 22px; border:1px solid rgba(196,179,147,.35); border-radius:100px; margin-bottom:28px;
  background:rgba(156,133,96,.08); backdrop-filter:blur(6px);
}
.vch-hero h1{
  font:600 clamp(2.4rem,6vw,4.6rem)/1.05 "Playfair Display",serif; letter-spacing:-.01em; margin:0 0 20px;
}
.vch-hero h1 em{ color:var(--gold-lite); font-style:italic; }
.vch-hero p.lead{
  font:300 clamp(1rem,1.6vw,1.15rem)/1.7 Montserrat,sans-serif; color:rgba(245,242,238,.82);
  max-width:540px; margin:0 0 30px;
}

/* ---------- COUNTDOWN ---------- */
.vch-clock{
  display:inline-flex; flex-direction:column; gap:14px; align-items:center;
  padding:26px 34px; border-radius:22px; margin:0 auto 36px;
  background:linear-gradient(180deg, rgba(156,133,96,.16), rgba(20,17,14,.5));
  border:1px solid rgba(196,179,147,.35); box-shadow:0 20px 60px rgba(0,0,0,.45);
  backdrop-filter:blur(10px);
}
.vch-clock__label{
  font:600 .72rem/1 Montserrat,sans-serif; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold-lite); display:flex; align-items:center; gap:9px;
}
.vch-clock__dot{ width:9px; height:9px; border-radius:50%; background:#E5484D; box-shadow:0 0 0 0 rgba(229,72,77,.6); animation:vchPulse 1.6s infinite; }
@keyframes vchPulse{ 0%{box-shadow:0 0 0 0 rgba(229,72,77,.55)} 70%{box-shadow:0 0 0 12px rgba(229,72,77,0)} 100%{box-shadow:0 0 0 0 rgba(229,72,77,0)} }
.vch-clock__digits{ display:flex; gap:12px; }
.vch-clock__box{ min-width:78px; text-align:center; }
.vch-clock__num{
  font:700 clamp(2rem,5vw,3rem)/1 "Playfair Display",serif; color:#fff;
  background:linear-gradient(180deg,#2A241D,#171310); border:1px solid rgba(196,179,147,.28);
  border-radius:14px; padding:14px 8px; display:block; letter-spacing:.02em;
}
.vch-clock__unit{ display:block; margin-top:8px; font:600 .62rem/1 Montserrat,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,242,238,.55); }

.vch-cta{
  display:inline-flex; align-items:center; gap:12px; cursor:pointer;
  font:600 .8rem/1 Montserrat,sans-serif; letter-spacing:.14em; text-transform:uppercase;
  color:#14110E; background:linear-gradient(135deg,#E8D6AC,#C4B393 55%,#9C8560);
  padding:18px 40px; border:none; border-radius:100px; text-decoration:none;
  box-shadow:0 14px 40px rgba(156,133,96,.4); transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  position:relative; overflow:hidden;
}
.vch-cta:hover{ transform:translateY(-3px); box-shadow:0 20px 55px rgba(156,133,96,.55); }
.vch-cta::after{ content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg); animation:vchShine 3.5s infinite; }
@keyframes vchShine{ 0%{left:-60%} 55%,100%{left:130%} }

.vch-price-hero{ margin-top:26px; font:400 1rem/1 Montserrat,sans-serif; color:rgba(245,242,238,.7); }
.vch-price-hero s{ opacity:.55; margin-right:10px; }
.vch-price-hero b{ color:var(--gold-lite); font-size:1.5rem; font-weight:700; }

/* ---------- SEKCJE ---------- */
.vch-sec{ padding:90px 0; }
.vch-sec--cream{ background:var(--cream); color:var(--text); }
.vch-sec--dark{ background:var(--ink); color:var(--cream); }
.vch-head{ text-align:center; max-width:680px; margin:0 auto 54px; }
.vch-head .eyebrow{ color:var(--gold); }
.vch-head h2{ font:600 clamp(1.8rem,4vw,2.8rem)/1.15 "Playfair Display",serif; margin:14px 0 12px; }
.vch-sec--dark .vch-head h2{ color:var(--cream); }
.vch-head h2 em{ color:var(--gold); font-style:italic; }
.vch-head p{ font:300 1.05rem/1.7 Montserrat,sans-serif; color:var(--muted); }
.vch-sec--dark .vch-head p{ color:rgba(245,242,238,.7); }

/* ---------- CO ZAWIERA (features) ---------- */
.vch-feat{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.vch-feat__card{
  background:var(--cream-3); border:1px solid var(--line); border-radius:18px; padding:32px 26px; text-align:center;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.vch-feat__card:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(26,27,26,.1); }
.vch-feat__ic{
  width:60px; height:60px; margin:0 auto 18px; border-radius:16px; display:grid; place-items:center;
  background:linear-gradient(135deg,#E8D6AC,#9C8560); color:#fff;
}
.vch-feat__ic svg{ width:28px; height:28px; }
.vch-feat__card h3{ font:600 1.1rem/1.3 "Playfair Display",serif; margin:0 0 8px; color:var(--text-strong); }
.vch-feat__card p{ font:300 .9rem/1.6 Montserrat,sans-serif; color:var(--muted); }

/* ---------- CENY ---------- */
.vch-plans{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; max-width:820px; margin:0 auto; }
.vch-plan{
  position:relative; background:linear-gradient(180deg,#211A14,#14110E); border:1px solid rgba(196,179,147,.28);
  border-radius:22px; padding:44px 34px 40px; text-align:center; color:var(--cream); overflow:visible;
}
.vch-plan--best{ border-color:var(--gold); box-shadow:0 24px 60px rgba(156,133,96,.28); }
.vch-plan__tag{ position:absolute; top:18px; right:18px; font:600 .62rem/1 Montserrat,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#14110E; background:var(--gold-lite); padding:6px 12px; border-radius:100px; }
.vch-plan h3{ font:600 1.4rem/1.2 "Playfair Display",serif; margin:0 0 6px; }
.vch-plan__sub{ font:300 .85rem/1.5 Montserrat,sans-serif; color:rgba(245,242,238,.6); margin-bottom:22px; }
.vch-plan__price{ font:800 2.7rem/1 Montserrat,sans-serif; letter-spacing:-.02em; color:var(--gold-lite); }
.vch-plan__price s{ display:block; font-size:1.05rem; color:rgba(245,242,238,.4); font-weight:500; margin-bottom:6px; letter-spacing:0; }
.vch-plan__price span{ font-size:.9rem; color:rgba(245,242,238,.6); font-weight:500; letter-spacing:.02em; }
.vch-plan ul{ list-style:none; margin:24px 0 28px; padding:0; text-align:left; }
.vch-plan li{ font:300 .92rem/1.5 Montserrat,sans-serif; padding:9px 0 9px 30px; position:relative; border-bottom:1px solid rgba(255,255,255,.06); }
.vch-plan li::before{ content:""; position:absolute; left:0; top:12px; width:18px; height:18px; border-radius:50%; background:var(--gold-glow); }
.vch-plan li::after{ content:""; position:absolute; left:6px; top:16px; width:6px; height:9px; border:solid var(--gold-lite); border-width:0 2px 2px 0; transform:rotate(45deg); }

/* ---------- APARTAMENTY (showcase) ---------- */
.vch-aps{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.vch-ap{
  position:relative; border-radius:16px; overflow:hidden; aspect-ratio:3/4; display:block; text-decoration:none;
  box-shadow:0 14px 34px rgba(0,0,0,.3);
}
.vch-ap img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.vch-ap:hover img{ transform:scale(1.07); }
.vch-ap::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(12,10,8,.9)); }
.vch-ap__name{ position:absolute; left:18px; bottom:16px; z-index:2; color:#fff; }
.vch-ap__name b{ display:block; font:600 1.05rem/1.2 "Playfair Display",serif; }
.vch-ap__name span{ font:400 .72rem/1 Montserrat,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-lite); }

/* ---------- DODATKI ---------- */
.vch-add{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:900px; margin:0 auto; }
.vch-add__card{ background:var(--cream-3); border:1px solid var(--line); border-radius:16px; padding:26px; display:flex; align-items:center; gap:18px; }
.vch-add__ic{ font-size:1.8rem; }
.vch-add__card b{ display:block; font:600 1rem/1.3 "Playfair Display",serif; color:var(--text-strong); }
.vch-add__card span{ font:300 .85rem/1.4 Montserrat,sans-serif; color:var(--muted); }
.vch-add__price{ margin-left:auto; font:700 1.05rem/1 "Playfair Display",serif; color:var(--gold); white-space:nowrap; }

/* ---------- KROKI ---------- */
.vch-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; counter-reset:vs; }
.vch-step{ text-align:center; }
.vch-step__n{ counter-increment:vs; width:56px; height:56px; margin:0 auto 18px; border-radius:50%; display:grid; place-items:center; border:1.5px solid var(--gold); color:var(--gold); font:600 1.3rem/1 "Playfair Display",serif; }
.vch-step__n::before{ content:counter(vs); }
.vch-sec--dark .vch-step h3{ color:var(--cream); }
.vch-step h3{ font:600 1.05rem/1.3 "Playfair Display",serif; margin:0 0 8px; }
.vch-step p{ font:300 .88rem/1.6 Montserrat,sans-serif; color:var(--muted); }
.vch-sec--dark .vch-step p{ color:rgba(245,242,238,.65); }

/* ---------- FAQ ---------- */
.vch-faq{ max-width:760px; margin:0 auto; }
.vch-faq__item{ border-bottom:1px solid var(--line); }
.vch-faq__q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:22px 40px 22px 0; position:relative; font:500 1.05rem/1.4 "Playfair Display",serif; color:var(--text-strong); }
.vch-faq__q::after{ content:"+"; position:absolute; right:6px; top:20px; font-size:1.5rem; color:var(--gold); transition:transform .3s; }
.vch-faq__item.open .vch-faq__q::after{ content:"−"; }
.vch-faq__a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.vch-faq__a p{ padding:0 0 22px; font:300 .95rem/1.7 Montserrat,sans-serif; color:var(--muted); }

/* ---------- CTA FINAL ---------- */
.vch-final{ text-align:center; padding:100px 0; background:radial-gradient(120% 100% at 50% 0%,#26201A,#14110E); color:var(--cream); }
.vch-final h2{ font:600 clamp(2rem,4vw,3rem)/1.15 "Playfair Display",serif; margin:0 0 16px; }
.vch-final h2 em{ color:var(--gold-lite); font-style:italic; }
.vch-final p{ font:300 1.05rem/1.7 Montserrat,sans-serif; color:rgba(245,242,238,.75); max-width:560px; margin:0 auto 34px; }
.vch-final__phone{ display:block; margin-top:22px; font:600 1.3rem/1 "Playfair Display",serif; color:var(--gold-lite); text-decoration:none; }

/* ---------- FOMO TOAST ---------- */
.vch-fomo{
  position:fixed; left:24px; bottom:24px; z-index:1500; max-width:330px;
  background:rgba(20,17,14,.92); border:1px solid rgba(196,179,147,.3); border-radius:14px;
  padding:14px 16px 14px 14px; display:flex; align-items:center; gap:13px;
  box-shadow:0 18px 50px rgba(0,0,0,.5); backdrop-filter:blur(12px);
  transform:translateY(140%); opacity:0; transition:transform .55s var(--ease), opacity .55s var(--ease);
}
.vch-fomo.show{ transform:translateY(0); opacity:1; }
.vch-fomo__ic{ width:42px; height:42px; border-radius:11px; flex:none; display:grid; place-items:center; background:linear-gradient(135deg,#E8D6AC,#9C8560); color:#14110E; font-size:1.2rem; }
.vch-fomo__txt b{ display:block; font:600 .82rem/1.3 Montserrat,sans-serif; color:var(--cream); }
.vch-fomo__txt span{ font:400 .74rem/1.4 Montserrat,sans-serif; color:rgba(245,242,238,.6); }
.vch-fomo__txt em{ color:var(--gold-lite); font-style:normal; }

/* ---------- RESPONSYWNOSC ---------- */
@media(max-width:900px){
  .vch-feat,.vch-aps{ grid-template-columns:repeat(2,1fr); }
  .vch-steps{ grid-template-columns:repeat(2,1fr); }
  .vch-add{ grid-template-columns:1fr; }
}
@media(max-width:620px){
  .vch-plans{ grid-template-columns:1fr; }
  .vch-clock__box{ min-width:64px; }
  .vch-clock{ padding:20px; }
  .vch-fomo{ left:12px; right:12px; bottom:12px; max-width:none; }
  .vch-hero{ padding:100px 0 50px; }
}

/* ============================================================
   HERO SPLIT + KARTA VOUCHERA + POPRAWKI IKON (v2)
   ============================================================ */
.vch-hero{ padding:135px 0 80px; }
.vch-hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; text-align:left; }
.vch-hero__grid h1{ font-size:clamp(2.2rem,4.4vw,3.7rem); margin-bottom:18px; }
.vch-hero__content .lead{ margin:0 0 30px; }
.vch-hero__content .vch-eyebrow{ background:none; border:none; padding:0; margin-bottom:22px; color:var(--gold-lite); }
.vch-hero__content .vch-eyebrow::before{ content:""; display:inline-block; width:30px; height:1px; background:var(--gold); margin-right:13px; vertical-align:middle; }
.vch-hero__content .vch-clock{ display:inline-flex; margin:0 0 30px; }
.vch-clock__sep{ font:700 2rem/1 "Playfair Display",serif; color:var(--gold); align-self:flex-start; margin-top:14px; }
.vch-clock__box{ min-width:66px; }
.vch-hero__row{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.vch-hero__row .vch-price-hero{ margin-top:0; }

.vch-hero__visual{ position:relative; display:grid; place-items:center; }
.vch-hero__glow{ position:absolute; width:78%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(196,179,147,.45), transparent 68%); filter:blur(34px); }
.vch-hero__card{ position:relative; margin:0; width:min(440px,92%); border-radius:20px; overflow:hidden;
  box-shadow:0 44px 100px rgba(0,0,0,.62); transform:rotate(-3deg); transition:transform .6s var(--ease);
  border:1px solid rgba(196,179,147,.3); }
.vch-hero__card:hover{ transform:rotate(0) scale(1.02); }
.vch-hero__card img{ display:block; width:100%; }
.vch-hero__ribbon{ position:absolute; top:6%; right:0; z-index:3; font:600 .7rem/1 Montserrat,sans-serif;
  letter-spacing:.14em; text-transform:uppercase; color:#14110E;
  background:linear-gradient(135deg,#E8D6AC,#9C8560); padding:11px 20px; border-radius:100px;
  box-shadow:0 12px 34px rgba(156,133,96,.55); transform:rotate(3deg); }

/* ikony dodatków — złote kafelki */
.vch-add__ic{ width:54px; height:54px; flex:none; border-radius:14px; display:grid; place-items:center;
  background:linear-gradient(135deg,#E8D6AC,#9C8560); color:#14110E; font-size:0; }
.vch-add__ic svg{ width:26px; height:26px; }
.vch-fomo__ic svg{ width:22px; height:22px; }

@media(max-width:900px){
  .vch-hero__grid{ grid-template-columns:1fr; text-align:center; gap:44px; }
  .vch-hero__content .vch-eyebrow::before{ display:none; }
  .vch-hero__content .vch-clock{ margin-left:auto; margin-right:auto; }
  .vch-hero__row{ justify-content:center; }
  .vch-hero__card{ transform:none; width:min(360px,80%); }
  .vch-hero__ribbon{ right:8%; }
}

/* ============================================================
   KARUZELA APARTAMENTÓW + DOPRACOWANIE SEKCJI (v3)
   ============================================================ */
.vch-sec--aps{ padding-bottom:60px; }
.vch-gal{ position:relative; margin-top:8px; }
.vch-gal__track{ display:flex; gap:26px; overflow-x:auto; scroll-snap-type:none;
  padding:8px max(24px, calc((100vw - min(1200px,92vw))/2)) 26px;
  -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.vch-gal__track::-webkit-scrollbar{ display:none; }
.vch-gal__item{ flex:0 0 clamp(300px,32vw,400px); scroll-snap-align:start; }
.vch-gal__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  padding-bottom:14px; border-bottom:1px solid rgba(196,179,147,.25); margin-bottom:16px; }
.vch-gal__head h3{ font:600 1.4rem/1 "Playfair Display",serif; color:var(--cream); }
.vch-gal__head span{ font:600 .62rem/1 Montserrat,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); white-space:nowrap; }
.vch-gal__big{ position:relative; display:block; border-radius:16px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 24px 60px rgba(0,0,0,.45); }
.vch-gal__big img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.vch-gal__item:hover .vch-gal__big img{ transform:scale(1.05); }
.vch-gal__badge{ position:absolute; top:14px; left:14px; font:600 .6rem/1 Montserrat,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#14110E; background:linear-gradient(135deg,#E8D6AC,#9C8560); padding:7px 13px; border-radius:100px; }
.vch-gal__thumbs{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.vch-gal__thumbs a{ display:block; border-radius:11px; overflow:hidden; aspect-ratio:3/2; }
.vch-gal__thumbs img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.vch-gal__thumbs a:hover img{ transform:scale(1.08); }
.vch-gal__desc{ font:300 .95rem/1.6 Montserrat,sans-serif; color:rgba(245,242,238,.72); margin:18px 0 14px; min-height:66px; }
.vch-gal__link{ display:inline-flex; align-items:center; gap:8px; font:600 .72rem/1 Montserrat,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-lite); text-decoration:none; transition:gap .3s var(--ease), color .3s var(--ease); }
.vch-gal__link:hover{ color:#fff; gap:13px; }
.vch-gal__arrow{ position:absolute; top:44%; z-index:5; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; cursor:pointer; border:1px solid rgba(196,179,147,.4); background:rgba(20,17,14,.78); color:var(--gold-lite); backdrop-filter:blur(8px); transition:all .3s var(--ease); }
.vch-gal__arrow:hover{ background:var(--gold); color:#14110E; border-color:var(--gold); transform:scale(1.08); }
.vch-gal__arrow svg{ width:22px; height:22px; }
.vch-gal__arrow--prev{ left:14px; }
.vch-gal__arrow--next{ right:14px; }

/* CTA pełna szerokość w planach */
.vch-cta--full{ width:100%; justify-content:center; margin-top:6px; }

/* Kroki - linia łącząca (timeline) */
.vch-steps{ position:relative; }
@media(min-width:901px){ .vch-steps::before{ content:""; position:absolute; top:28px; left:13%; right:13%; height:1px; background:linear-gradient(90deg,transparent,rgba(156,133,96,.45),transparent); } }
.vch-step{ position:relative; }
.vch-step__n{ position:relative; z-index:2; background:var(--cream); }

/* Final - trust signals */
.vch-final__trust{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px 30px; margin:0 auto 36px; max-width:660px; }
.vch-final__trust span{ font:300 .85rem/1.3 Montserrat,sans-serif; color:rgba(245,242,238,.62); display:flex; align-items:center; gap:8px; }
.vch-final__trust b{ color:var(--gold-lite); font-weight:700; font-family:"Playfair Display",serif; font-size:1.1rem; }

@media(max-width:620px){
  .vch-gal__arrow{ width:44px; height:44px; }
  .vch-gal__desc{ min-height:auto; }
}

/* ============================================================
   CENNIK 3-tier + DODATKI + KROKI-KARTY (v4)
   ============================================================ */
/* --- Cennik 3 kolumny --- */
.vch-plans--3{ grid-template-columns:repeat(3,1fr); max-width:1080px; align-items:stretch; }
.vch-plan{ display:flex; flex-direction:column; }
.vch-plan ul{ flex:1; }
.vch-plans__note{ text-align:center; margin-top:30px; font:300 .9rem/1.6 Montserrat,sans-serif; color:var(--muted); }

/* --- Środkowy voucher: ZŁOTY, wyróżniony --- */
.vch-plan--best{ background:linear-gradient(165deg,#EFE0BC,#D6C193 55%,#B89E70); color:#14110E;
  border:1px solid #E8D6AC; transform:scale(1.05); z-index:3;
  box-shadow:0 34px 80px rgba(156,133,96,.5); }
.vch-plan--best h3{ color:#14110E; }
.vch-plan--best .vch-plan__sub{ color:rgba(20,17,14,.68); }
.vch-plan--best .vch-plan__price{ color:#14110E; }
.vch-plan--best .vch-plan__price s{ color:rgba(20,17,14,.42); }
.vch-plan--best .vch-plan__price span{ color:rgba(20,17,14,.6); }
.vch-plan--best li{ color:#14110E; border-bottom-color:rgba(20,17,14,.14); }
.vch-plan--best li::before{ background:rgba(20,17,14,.14); }
.vch-plan--best li::after{ border-color:#14110E; }
.vch-plan__ribbon{ position:absolute; top:-15px; left:50%; transform:translateX(-50%);
  font:600 .62rem/1 Montserrat,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-lite);
  background:var(--ink); padding:9px 20px; border-radius:100px; white-space:nowrap; box-shadow:0 10px 26px rgba(0,0,0,.35); }
.vch-plan__save{ display:inline-block; margin:-4px 0 16px; font:700 .8rem/1 Montserrat,sans-serif;
  color:#14110E; background:rgba(20,17,14,.12); padding:7px 16px; border-radius:100px; }

/* --- warianty CTA --- */
.vch-cta--dark{ background:var(--ink); color:var(--gold-lite); box-shadow:0 14px 34px rgba(20,17,14,.4); }
.vch-cta--dark:hover{ background:#000; color:#fff; }

/* --- DODATKI (8 kart) --- */
.vch-addons{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.vch-addon{ position:relative; background:rgba(255,255,255,.035); border:1px solid rgba(196,179,147,.2);
  border-radius:16px; padding:28px 22px 26px; text-align:center;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
.vch-addon:hover{ transform:translateY(-6px); border-color:rgba(196,179,147,.55); box-shadow:0 22px 46px rgba(0,0,0,.35); }
.vch-addon__ic{ width:56px; height:56px; margin:0 auto 16px; border-radius:15px; display:grid; place-items:center;
  background:linear-gradient(135deg,#E8D6AC,#9C8560); color:#14110E; }
.vch-addon__ic svg{ width:26px; height:26px; }
.vch-addon b{ display:block; font:600 1.02rem/1.3 "Playfair Display",serif; color:var(--cream); margin-bottom:7px; }
.vch-addon p{ font:300 .82rem/1.5 Montserrat,sans-serif; color:rgba(245,242,238,.6); margin-bottom:14px; min-height:37px; }
.vch-addon__price{ font:700 1.15rem/1 "Playfair Display",serif; color:var(--gold-lite); }
.vch-addon__tag{ position:absolute; top:12px; right:12px; font:600 .54rem/1 Montserrat,sans-serif; letter-spacing:.1em;
  text-transform:uppercase; color:#14110E; background:var(--gold-lite); padding:5px 9px; border-radius:100px; }
.vch-addons__note{ text-align:center; max-width:640px; margin:38px auto 0; font:300 .98rem/1.7 Montserrat,sans-serif; color:rgba(245,242,238,.62); }
.vch-addons__note b{ color:var(--gold-lite); font-weight:600; }

/* --- KROKI jako karty z ikonami --- */
.vch-steps--cards::before{ display:none; }
.vch-steps--cards .vch-step{ background:var(--cream-3); border:1px solid var(--line); border-radius:18px;
  padding:30px 26px; text-align:left; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.vch-steps--cards .vch-step:hover{ transform:translateY(-6px); box-shadow:0 22px 46px rgba(26,27,26,.1); }
.vch-step__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.vch-steps--cards .vch-step__n{ width:42px; height:42px; margin:0; font-size:1.15rem; background:var(--cream-3); }
.vch-step__ic{ width:48px; height:48px; border-radius:13px; display:grid; place-items:center;
  background:linear-gradient(135deg,#E8D6AC,#9C8560); color:#14110E; }
.vch-step__ic svg{ width:24px; height:24px; }
.vch-steps--cards .vch-step h3{ font-size:1.15rem; }

@media(max-width:900px){
  .vch-plans--3{ grid-template-columns:1fr; max-width:440px; }
  .vch-plan--best{ transform:none; }
  .vch-addons{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:560px){
  .vch-addons{ grid-template-columns:1fr; }
  .vch-addon p{ min-height:auto; }
}

/* ============================================================
   FORMULARZ ZAMÓWIENIA (v5)
   ============================================================ */
.vch-form-sec{ background:radial-gradient(120% 100% at 15% 0%,#26201A,#14110E 70%); }
.vch-form-wrap{ display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center; }
.vch-form-intro .eyebrow{ color:var(--gold); }
.vch-form-intro h2{ font:600 clamp(1.9rem,3.6vw,2.7rem)/1.15 "Playfair Display",serif; color:var(--cream); margin:12px 0 14px; }
.vch-form-intro h2 em{ color:var(--gold-lite); font-style:italic; }
.vch-form-intro p{ font:300 1.02rem/1.7 Montserrat,sans-serif; color:rgba(245,242,238,.72); margin-bottom:26px; }
.vch-form-intro p a{ color:var(--gold-lite); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(196,179,147,.4); }
.vch-form-usp{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.vch-form-usp li{ display:flex; align-items:center; gap:12px; font:400 .92rem/1.4 Montserrat,sans-serif; color:rgba(245,242,238,.82); }
.vch-form-usp svg{ width:20px; height:20px; flex:none; color:var(--gold); background:var(--gold-glow); border-radius:50%; padding:4px; }

.vch-form{ background:var(--cream-3); border:1px solid rgba(196,179,147,.3); border-radius:22px; padding:38px 36px;
  box-shadow:0 34px 80px rgba(0,0,0,.45); display:grid; gap:18px; }
.vch-field{ display:flex; flex-direction:column; gap:8px; }
.vch-field label, .vch-field__lbl{ font:600 .72rem/1 Montserrat,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--text-strong); }
.vch-field input{ font:400 1rem/1.4 Montserrat,sans-serif; color:var(--text-strong); background:#fff;
  border:1px solid var(--line-2); border-radius:12px; padding:14px 16px; transition:border-color .3s, box-shadow .3s; }
.vch-field input::placeholder{ color:var(--muted); }
.vch-field input:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-glow); }
.vch-field input.is-invalid{ border-color:#C0392B; box-shadow:0 0 0 3px rgba(192,57,43,.12); }

.vch-check{ display:flex; align-items:flex-start; gap:12px; cursor:pointer; padding:11px 14px; border:1px solid var(--line);
  border-radius:12px; transition:border-color .3s, background .3s; }
.vch-check:hover{ border-color:rgba(196,179,147,.6); background:rgba(156,133,96,.04); }
.vch-check input{ position:absolute; opacity:0; width:0; height:0; }
.vch-check__box{ width:22px; height:22px; flex:none; border:1.5px solid var(--line-2); border-radius:7px; margin-top:1px; position:relative; transition:all .25s; }
.vch-check input:checked + .vch-check__box{ background:linear-gradient(135deg,#E8D6AC,#9C8560); border-color:#9C8560; }
.vch-check input:checked + .vch-check__box::after{ content:""; position:absolute; left:7px; top:3px; width:6px; height:11px; border:solid #14110E; border-width:0 2px 2px 0; transform:rotate(45deg); }
.vch-check__txt{ font:400 .92rem/1.4 Montserrat,sans-serif; color:var(--text); }
.vch-check__txt b{ color:var(--gold-deep); font-weight:700; }
.vch-hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.vch-form__submit{ width:100%; justify-content:center; margin-top:6px; }
.vch-form__submit.is-loading{ opacity:.7; pointer-events:none; }
.vch-form__msg{ font:500 .92rem/1.5 Montserrat,sans-serif; text-align:center; }
.vch-form__msg.is-ok{ color:#2E7D32; background:rgba(46,125,50,.1); padding:12px; border-radius:10px; }
.vch-form__msg.is-err{ color:#C0392B; }

@media(max-width:900px){
  .vch-form-wrap{ grid-template-columns:1fr; gap:36px; }
  .vch-form{ padding:30px 24px; }
}

/* ============================================================
   OPINIE (Google / Facebook / Booking) — v6
   ============================================================ */
.vch-rev-scores{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:840px; margin:0 auto 52px; }
.vch-rev-score{ display:flex; flex-direction:column; align-items:center; gap:6px; text-decoration:none;
  background:var(--cream-3); border:1px solid var(--line); border-radius:18px; padding:30px 20px; text-align:center;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
.vch-rev-score:hover{ transform:translateY(-6px); box-shadow:0 22px 48px rgba(26,27,26,.12); border-color:rgba(196,179,147,.55); }
.vch-rev-score__plat{ display:flex; align-items:center; gap:9px; font:600 .82rem/1 Montserrat,sans-serif; letter-spacing:.04em; color:var(--text-strong); }
.vch-rev-score__plat svg{ width:20px; height:20px; }
.vch-rev-score__val{ font:700 2.7rem/1 "Playfair Display",serif; color:var(--text-strong); margin-top:8px; }
.vch-rev-score__val small{ font-size:1rem; color:var(--muted); font-weight:400; margin-left:2px; }
.vch-rev-score__stars{ color:#F5A623; font-size:1rem; letter-spacing:3px; }
.vch-rev-score__label{ color:#003580; background:rgba(0,53,128,.09); font:700 .8rem/1 Montserrat,sans-serif; letter-spacing:.02em; padding:6px 14px; border-radius:100px; }
.vch-rev-score__cnt{ font:400 .78rem/1.3 Montserrat,sans-serif; color:var(--muted); }
.vch-bk-logo{ display:grid; place-items:center; width:22px; height:22px; border-radius:5px; background:#003580; color:#fff; font:800 .68rem/1 Montserrat,sans-serif; }

.vch-rev-quotes{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.vch-rev-quotes .g-card{ background:var(--cream-3); border:1px solid var(--line); border-radius:16px; padding:24px 22px;
  display:flex; flex-direction:column; gap:12px; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.vch-rev-quotes .g-card:hover{ transform:translateY(-5px); box-shadow:0 20px 42px rgba(26,27,26,.1); }
.vch-rev-quotes .g-card__top{ display:flex; align-items:center; gap:12px; }
.vch-rev-quotes .g-card__top > div{ display:flex; flex-direction:column; gap:2px; }
.vch-rev-quotes .g-avatar{ width:42px; height:42px; border-radius:50%; background:var(--c,#8E63CE); color:#fff;
  display:grid; place-items:center; font:600 1.05rem/1 Montserrat,sans-serif; flex:none; }
.vch-rev-quotes .g-name{ font:600 .92rem/1.2 Montserrat,sans-serif; color:var(--text-strong); }
.vch-rev-quotes .g-time{ font:400 .74rem/1.2 Montserrat,sans-serif; color:var(--muted); }
.vch-rev-quotes .g-mark{ width:20px; height:20px; margin-left:auto; flex:none; }
.vch-rev-quotes .g-card__stars{ color:#F5A623; font-size:.95rem; letter-spacing:2px; }
.vch-rev-quotes .g-card__text{ font:300 .89rem/1.65 Montserrat,sans-serif; color:var(--text); margin:0; }
.vch-rev-cta{ text-align:center; margin-top:42px; }

@media(max-width:900px){ .vch-rev-quotes{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .vch-rev-scores{ grid-template-columns:1fr; max-width:400px; } .vch-rev-quotes{ grid-template-columns:1fr; } }

/* ============================================================
   MOBILE — dopracowanie responsywności (v7)
   ============================================================ */
@media(max-width:640px){
  /* karuzela: 2 kompaktowe apartamenty na widoku + podgląd 3-go, ukryj strzałki (swipe + auto) */
  .vch-gal__item{ flex:0 0 44vw; }
  .vch-gal__arrow{ display:none; }
  .vch-gal__track{ padding-left:16px; padding-right:16px; gap:14px; }
  .vch-gal__thumbs{ display:none; }
  .vch-gal__desc{ display:none; }
  .vch-gal__big{ aspect-ratio:3/4; border-radius:13px; }
  .vch-gal__head{ flex-direction:column; align-items:flex-start; gap:3px; padding-bottom:10px; margin-bottom:12px; }
  .vch-gal__head h3{ font-size:1.02rem; }
  .vch-gal__head span{ font-size:.56rem; }
  .vch-gal__badge{ font-size:.5rem; padding:5px 9px; top:10px; left:10px; }
  .vch-gal__link{ margin-top:12px; font-size:.62rem; }

  /* CTA: zawijanie i mniejszy padding, by nigdy nie wychodziło poza ekran */
  .vch-cta{ padding:15px 24px; font-size:.72rem; max-width:100%; white-space:normal; text-align:center; line-height:1.3; }

  /* sekcje: mniejszy odstęp pionowy na telefonie */
  .vch-sec{ padding:64px 0; }
  .vch-final{ padding:70px 0; }
}

/* zegar: nie może wychodzić poza ekran na małych telefonach (320-380px) */
@media(max-width:400px){
  .vch-clock{ padding:18px 14px; gap:12px; }
  .vch-clock__box{ min-width:52px; }
  .vch-clock__num{ font-size:1.55rem; padding:11px 4px; }
  .vch-clock__sep{ font-size:1.35rem; margin-top:9px; }
  .vch-clock__label{ font-size:.6rem; letter-spacing:.12em; }
  .vch-clock__digits{ gap:8px; }
}

/* najmniejsze ekrany: karta vouchera w hero i formularz komfortowo */
@media(max-width:400px){
  .vch-hero__card{ width:min(320px,86vw); }
  .vch-hero__ribbon{ font-size:.58rem; padding:9px 15px; }
  .vch-form{ padding:26px 18px; }
  .vch-plan{ padding:34px 24px; }
  .vch-addon{ padding:24px 18px; }
}
