:root{
 --ink:#20162a;--muted:#6e6274;--purple:#2a1238;--purple2:#12091b;
 --gold:#d4a43e;--gold2:#f2d27d;--paper:#fffdfa;--cream:#f5efe7;--line:#dfd5c8;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}body.modal-open{overflow:hidden}
h1,h2,h3{font-family:Georgia,serif;margin:0}.header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:100;background:rgba(16,8,24,.96);border-bottom:1px solid rgba(212,164,62,.28);backdrop-filter:blur(10px)}
.brand img{width:270px;display:block}.nav{display:flex;gap:28px}.nav a{color:#fff;text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.nav a:hover{color:var(--gold2)}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:26px}
.hero{min-height:650px;background:linear-gradient(90deg,#100817 0%,#160a20 52%,#0d0713 100%);color:#fff;display:grid;grid-template-columns:1fr 1.2fr;overflow:hidden}
.hero-copy{padding:90px 6vw 65px max(24px,calc((100vw - 1180px)/2));align-self:center;z-index:2}.eyebrow{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero h1{font-size:clamp(50px,6vw,82px);line-height:.98;margin:14px 0 25px}.hero h1 em{font-style:normal;color:var(--gold2)}.hero-copy>p{max-width:620px;color:#ddd4e0;font-size:18px;line-height:1.7}.hero-actions{display:flex;gap:14px;margin:30px 0}.btn{border:0;border-radius:8px;padding:15px 24px;font-weight:800;cursor:pointer;text-decoration:none;text-align:center;font-size:14px}.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#211225}.btn-outline{background:transparent;color:#fff;border:1px solid var(--gold)}.btn-dark{background:var(--purple);color:#fff}.trust{display:flex;flex-wrap:wrap;gap:20px;color:#ded5e0;font-size:13px}.hero-visual{position:relative;min-height:650px}.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#160a20 0%,transparent 26%);z-index:1}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.section{padding:90px max(24px,calc((100vw - 1180px)/2))}.section-head{text-align:center;max-width:760px;margin:0 auto 45px}.section-head h2{font-size:46px;margin:10px 0 12px}.section-head p{color:var(--muted);line-height:1.7}.offer{background:#f7f2ec}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:0 18px 45px rgba(45,25,54,.08)}.card.featured{border:2px solid var(--gold);box-shadow:0 24px 55px rgba(106,57,119,.18)}.card>img{width:100%;height:205px;object-fit:cover}.badge{position:absolute;top:14px;right:14px;background:var(--gold2);padding:8px 12px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase}.card-body{padding:25px;display:flex;flex-direction:column;flex:1}.package{font-size:11px;color:#8a5d21;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.card h3{font-size:29px;margin:8px 0 4px}.lead{color:#6d5f72;margin:0 0 10px}.card ul{padding-left:21px;color:#514757;line-height:1.6;flex:1}.card li{margin:7px 0}.card li::marker{color:var(--gold)}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px}.card-bottom strong{font:700 34px Georgia,serif;color:#5b276e}.card-bottom .btn{min-width:130px}.light{background:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps>div{padding:28px;border:1px solid var(--line);border-radius:15px;background:#fff}.steps b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--purple);color:#fff}.steps h3{margin:16px 0 8px}.steps p{color:var(--muted);line-height:1.55}.faq{max-width:850px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:18px 5px}.faq summary{cursor:pointer;font-weight:800}.faq p{color:var(--muted);line-height:1.6}.contact{background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact h2{font-size:42px;margin:10px 0}.contact a:not(.btn){color:var(--gold2)}footer{background:#0d0713;color:#cfc4d2;padding:35px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:30px;font-size:12px}footer img{width:220px}footer div{display:flex;gap:18px}footer a{color:#ddd;text-decoration:none}
.modal{position:fixed;inset:0;background:rgba(8,4,12,.75);z-index:200;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-box{background:#fff;width:min(720px,100%);max-height:92vh;overflow:auto;border-radius:18px;padding:32px;position:relative}.close{position:absolute;top:12px;right:16px;border:0;background:none;font-size:32px;cursor:pointer}.modal-head{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.modal-head h2{font-size:34px;margin:7px 0}.modal-head>strong{font-size:24px;color:#6b2d7a}form{display:grid;gap:15px}form label{display:grid;gap:7px;font-weight:700;font-size:13px}input,textarea{width:100%;border:1px solid #cfc3d3;border-radius:9px;padding:13px;font:inherit}textarea{resize:vertical}.topics-head{display:flex;justify-content:space-between;gap:12px}.topics-head small{color:var(--muted)}.topics{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:10px}.topics button{padding:12px;border:1px solid #d7ccd9;border-radius:10px;background:#fff;cursor:pointer;font-weight:800;color:#36263d}.topics button.selected{background:#efe3f3;border-color:#774184;box-shadow:0 0 0 2px rgba(119,65,132,.12)}.topics button.disabled{opacity:.38;cursor:not-allowed}.topicsCounter{font-size:12px}.question-field{display:grid;gap:7px}.question-field span{font-size:12px;color:#6c5e72}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input{width:auto}.submit{width:100%}
@media(max-width:980px){.nav{position:fixed;top:82px;left:0;right:0;background:#14091d;display:none;flex-direction:column;padding:22px}.nav.open{display:flex}.menu-btn{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 24px 35px}.hero-visual{min-height:420px}.pricing{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.card>img{height:230px}.contact{display:block}.contact .btn{display:inline-block;margin-top:15px}footer{grid-template-columns:1fr}.brand img{width:220px}}
@media(max-width:580px){.section{padding:65px 18px}.section-head h2{font-size:36px}.hero h1{font-size:50px}.hero-actions{flex-direction:column}.steps{grid-template-columns:1fr}.topics{grid-template-columns:1fr}.modal-box{padding:25px 18px}.card-bottom{align-items:stretch;flex-direction:column}.card-bottom .btn{width:100%}}

/* V2.1 — większe odstępy i alternatywa pytania/opis */
#questions{
  display:grid;
  gap:18px;
  margin-top:6px;
}
.question-field{
  gap:9px;
}
.question-field + .question-field{
  margin-top:2px;
}
.question-field input{
  min-height:46px;
}
.or-separator{
  display:flex;
  align-items:center;
  gap:14px;
  margin:8px 0 2px;
  color:#8b6a2a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
}
.or-separator::before,
.or-separator::after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,#d9c59a,transparent);
}
.situation{
  margin-top:2px;
}
.situation textarea{
  margin-top:2px;
  min-height:138px;
}
.situation small{
  color:var(--muted);
  font-weight:400;
  line-height:1.45;
}
.field-disabled{
  opacity:.52;
}
.field-disabled input,
.field-disabled textarea{
  background:#f0edf1;
  cursor:not-allowed;
}
.check{
  margin-top:7px;
}

/* V2.2 — czysty obraz hero bez panelu i napisów */
.hero-visual img{
  object-position:center center;
}
@media(max-width:980px){
  .hero-visual img{
    object-position:center 35%;
  }
}

.section.offer .section-head h2,.section.offer .section-head p,.section.offer .section-head .eyebrow{position:relative;z-index:1}

/* Poprawa czytelności nagłówków na ciemnym tle sekcji Oferta */
.offer .section-head h2{
  color:#ffffff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.offer .section-head p{
  color:#e8e2ef !important;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.offer .section-head .eyebrow{
  color:#f0bd4d !important;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}





/* Oferta uses exactly the same background color gradient as hero */
.offer{
    background:linear-gradient(90deg,#100817 0%,#160a20 52%,#0d0713 100%) !important;
}
.offer .section-head h2{
    color:#ffffff !important;
}
.offer .section-head p{
    color:#ddd4e0 !important;
}
.offer .section-head .eyebrow{
    color:var(--gold) !important;
}

/* Dopieszczona sekcja „Jak to działa” */
#jak-to-dziala{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 18%,rgba(126,67,160,.18),transparent 30%),
    radial-gradient(circle at 86% 72%,rgba(211,164,62,.10),transparent 27%),
    linear-gradient(90deg,#100817 0%,#160a20 52%,#0d0713 100%) !important;
  color:#fff;
}
#jak-to-dziala::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.45;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 1.4px),
    radial-gradient(circle,rgba(242,210,125,.7) 0 1px,transparent 1.5px);
  background-size:150px 150px,220px 220px;
  background-position:18px 32px,100px 74px;
}
#jak-to-dziala > *{
  position:relative;
  z-index:1;
}
#jak-to-dziala .section-head{
  margin-bottom:50px;
}
#jak-to-dziala .section-head .eyebrow{
  color:var(--gold2) !important;
  font-size:13px;
  letter-spacing:.24em;
}
#jak-to-dziala .section-head h2{
  color:#fff !important;
  font-size:clamp(38px,4vw,52px);
  text-shadow:0 4px 24px rgba(0,0,0,.35);
}
#jak-to-dziala .section-head p{
  max-width:690px;
  margin:0 auto;
  color:#e7dfea !important;
  font-size:17px;
  line-height:1.7;
}
#jak-to-dziala .steps{
  background:none !important;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  counter-reset:none;
}
#jak-to-dziala .steps > div{
  position:relative;
  min-height:300px;
  padding:30px 24px 26px;
  text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025)) !important;
  border:1px solid rgba(226,180,76,.42) !important;
  border-radius:20px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 45px rgba(0,0,0,.22);
  backdrop-filter:blur(10px);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
#jak-to-dziala .steps > div:hover{
  transform:translateY(-7px);
  border-color:rgba(242,210,125,.85) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 24px 55px rgba(0,0,0,.32),
    0 0 28px rgba(126,67,160,.16);
}
#jak-to-dziala .steps > div:not(:last-child)::after{
  content:"→";
  position:absolute;
  right:-19px;
  top:50%;
  transform:translateY(-50%);
  color:var(--gold2);
  font-size:27px;
  font-weight:700;
  text-shadow:0 0 15px rgba(242,210,125,.45);
  z-index:2;
}
#jak-to-dziala .steps b{
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  margin:0 auto 16px;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.16),transparent 30%),
    linear-gradient(145deg,#6c337d,#2b1538) !important;
  border:1px solid rgba(242,210,125,.75);
  box-shadow:
    0 0 0 7px rgba(126,67,160,.13),
    0 0 25px rgba(126,67,160,.32);
  color:var(--gold2) !important;
  font:700 27px Georgia,serif;
  letter-spacing:.04em;
}
#jak-to-dziala .step-icon{
  display:block;
  margin:0 auto 12px;
  color:var(--gold2);
  font-size:27px;
  line-height:1;
  text-shadow:0 0 16px rgba(242,210,125,.35);
}
#jak-to-dziala .steps h3{
  color:#fff !important;
  margin:10px 0 13px;
  font-size:23px;
  line-height:1.2;
}
#jak-to-dziala .steps p{
  color:#e9e2eb !important;
  margin:0;
  font-size:15px;
  line-height:1.68;
}
@media(max-width:980px){
  #jak-to-dziala .steps{
    grid-template-columns:1fr 1fr;
  }
  #jak-to-dziala .steps > div:not(:last-child)::after{
    display:none;
  }
}
@media(max-width:580px){
  #jak-to-dziala .steps{
    grid-template-columns:1fr;
  }
  #jak-to-dziala .steps > div{
    min-height:auto;
  }
}

/* FAQ dark */
#faq{
background:linear-gradient(90deg,#100817 0%,#160a20 52%,#0d0713 100%)!important;
color:#fff;
}
#faq .section-head h2,#faq .section-head p{color:#fff!important}
#faq .eyebrow{color:var(--gold2)!important}
#faq details{
background:rgba(255,255,255,.04);
border:1px solid rgba(212,175,55,.25);
border-radius:14px;
margin:14px 0;
padding:18px 22px;
}
#faq summary{cursor:pointer;color:#fff;font-weight:600}
#faq details p{color:#ddd;line-height:1.7;margin-top:12px}

/* FIX FAQ — pełna szerokość sekcji, wyśrodkowana lista pytań */
#faq.faq{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
#faq .faq-list{
  width:min(850px,100%);
  margin:0 auto;
}

/* FAQ — wszystkie pytania domknięte i mocniejsze złote obramowania */
#faq details{
  border:2px solid #d6a93f !important;
  box-shadow:
    0 0 0 1px rgba(255,220,130,.10),
    0 10px 28px rgba(0,0,0,.18);
}
#faq details:hover{
  border-color:#f0c85a !important;
  box-shadow:
    0 0 0 1px rgba(255,220,130,.18),
    0 12px 32px rgba(0,0,0,.24),
    0 0 18px rgba(214,169,63,.12);
}


@media(max-width:980px){
  .hero-visual::before{
    background:linear-gradient(
      180deg,
      #160a20 0%,
      rgba(22,10,32,.72) 14%,
      rgba(22,10,32,.28) 30%,
      rgba(22,10,32,0) 48%
    );
  }
}



/* HERO — miękkie, przezroczyste przejście obrazu w tło */
.hero{
  position:relative;
  overflow:hidden;
}
.hero-copy{
  position:relative;
  z-index:3;
}
.hero-visual{
  position:relative;
  overflow:hidden;
}
.hero-visual::before{
  content:none !important;
}
.hero-visual img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  -webkit-mask-image:linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,.08) 7%,
    rgba(0,0,0,.28) 15%,
    rgba(0,0,0,.58) 27%,
    rgba(0,0,0,.82) 40%,
    #000 56%
  );
  mask-image:linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,.08) 7%,
    rgba(0,0,0,.28) 15%,
    rgba(0,0,0,.58) 27%,
    rgba(0,0,0,.82) 40%,
    #000 56%
  );
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}

@media(max-width:980px){
  .hero-visual img{
    -webkit-mask-image:linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.28) 12%,
      rgba(0,0,0,.72) 27%,
      #000 45%
    );
    mask-image:linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.28) 12%,
      rgba(0,0,0,.72) 27%,
      #000 45%
    );
  }
}

/* Kontakt — spójny z ciemnym motywem strony */
#kontakt{
  background:
    radial-gradient(circle at 15% 25%,rgba(126,67,160,.16),transparent 30%),
    linear-gradient(90deg,#100817 0%,#160a20 52%,#0d0713 100%) !important;
  color:#fff;
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:54px;
  align-items:start;
}
#kontakt .contact-intro h2{
  color:#fff;
  font-size:46px;
  margin:10px 0 16px;
}
#kontakt .contact-intro p{
  color:#ddd4e0;
  line-height:1.7;
  max-width:520px;
}
#kontakt .contact-details{
  display:grid;
  gap:12px;
  margin-top:24px;
  color:#f0d17b;
  font-weight:700;
}
#kontakt .contact-form{
  display:grid;
  gap:15px;
  padding:28px;
  border:1px solid rgba(212,164,62,.45);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:0 22px 50px rgba(0,0,0,.25);
  backdrop-filter:blur(10px);
}
#kontakt .contact-form label{
  color:#fff;
}
#kontakt .contact-form input,
#kontakt .contact-form textarea{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(212,164,62,.35);
}
#kontakt .contact-form input:focus,
#kontakt .contact-form textarea:focus{
  outline:none;
  border-color:#d4a43e;
  box-shadow:0 0 0 3px rgba(212,164,62,.15);
}
#kontakt .contact-form .btn{
  width:100%;
}
#kontakt .contact-status{
  min-height:22px;
  margin:0;
  color:#f2d27d;
  font-weight:700;
  text-align:center;
}
@media(max-width:980px){
  #kontakt{
    grid-template-columns:1fr;
  }
}


/* Złota nić wyłącznie pomiędzy Ofertą a sekcją „Jak to działa” */
.gold-thread-divider{
  position:relative;
  width:100%;
  height:56px;
  background:linear-gradient(90deg,#100817 0%,#160a20 52%,#0d0713 100%);
}
.gold-thread-divider::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(82%,920px);
  height:1px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(212,164,62,.08) 10%,
    rgba(212,164,62,.48) 30%,
    rgba(247,220,145,.98) 50%,
    rgba(212,164,62,.48) 70%,
    rgba(212,164,62,.08) 90%,
    transparent 100%
  );
  box-shadow:
    0 0 4px rgba(212,164,62,.24),
    0 0 10px rgba(212,164,62,.10);
}


/* ===== Oddzielenie stopki złotą linią ===== */
footer{
    position:relative;
    border-top:none !important;
}

footer::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:100%;
    height:1px;
    background:linear-gradient(
        90deg,
        rgba(212,164,62,.10) 0%,
        rgba(212,164,62,.55) 15%,
        rgba(247,220,145,1) 50%,
        rgba(212,164,62,.55) 85%,
        rgba(212,164,62,.10) 100%
    );
    box-shadow:
        0 0 4px rgba(212,164,62,.20),
        0 0 10px rgba(212,164,62,.08);
}

.order-status{
  min-height:22px;
  margin:0;
  text-align:center;
  font-weight:700;
  line-height:1.5;
}
.order-status.success{color:#2f7b45}
.order-status.error{color:#a12828}


/* =========================================================
   JEDNOLITE TŁO — IDENTYCZNE JAK W HERO
   ========================================================= */
:root{
  --hero-background:linear-gradient(90deg,#100817 0%,#160a20 52%,#0d0713 100%);
}

body,
main{
  background:#100817;
}

.hero,
#oferta,
#jak-to-dziala,
#faq,
#kontakt{
  background:var(--hero-background) !important;
  background-image:var(--hero-background) !important;
  background-color:#100817 !important;
}

/* Usuń dodatkowe rozjaśnienia, gwiazdki i radialne plamy z sekcji. */
#jak-to-dziala::before,
#jak-to-dziala::after,
#kontakt::before,
#kontakt::after,
#faq::before,
#faq::after,
#oferta::before,
#oferta::after{
  content:none !important;
  display:none !important;
  background:none !important;
  box-shadow:none !important;
}

/* Kroków nie otacza dodatkowy kolor tła. */
#jak-to-dziala .steps{
  background:transparent !important;
}

/* Kontakt bez własnego radialnego rozjaśnienia. */
#kontakt{
  background:var(--hero-background) !important;
}

/* FAQ bez innego odcienia. */
#faq.faq{
  background:var(--hero-background) !important;
}

/* Oferta bez innego odcienia. */
#oferta.offer{
  background:var(--hero-background) !important;
}

/* Dedykowany separator zachowuje dokładnie ten sam kolor tła. */
.gold-thread-divider{
  background:var(--hero-background) !important;
}

/* Usuń przypadkowe przejścia i szczeliny między sekcjami. */
main > section{
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  background-clip:border-box !important;
}


/* Złote linie między wszystkimi głównymi sekcjami */
#jak-to-dziala,
#faq,
#kontakt{
  position:relative;
}
#jak-to-dziala::after,
#faq::before,
#kontakt::before{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:min(82%,920px);
  height:1px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(212,164,62,.10) 12%,
    rgba(212,164,62,.55) 35%,
    rgba(247,220,145,.98) 50%,
    rgba(212,164,62,.55) 65%,
    rgba(212,164,62,.10) 88%,
    transparent 100%);
  box-shadow:0 0 4px rgba(212,164,62,.18);
}
#jak-to-dziala::after{bottom:-28px;}
#faq::before{top:28px;}
#kontakt::before{top:28px;}


/* Pewne separatory jako osobne elementy HTML */
#jak-to-dziala::before,
#jak-to-dziala::after,
#faq::before,
#faq::after,
#kontakt::before,
#kontakt::after{
  content:none !important;
  display:none !important;
}

.section-thread-divider{
  position:relative;
  width:100%;
  height:54px;
  margin:0;
  background:linear-gradient(90deg,#100817 0%,#160a20 52%,#0d0713 100%);
}

.section-thread-divider::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(82%,920px);
  height:1px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(212,164,62,.10) 10%,
    rgba(212,164,62,.55) 32%,
    rgba(247,220,145,.98) 50%,
    rgba(212,164,62,.55) 68%,
    rgba(212,164,62,.10) 90%,
    transparent 100%
  );
  box-shadow:
    0 0 4px rgba(212,164,62,.22),
    0 0 10px rgba(212,164,62,.10);
}


/* =========================================================
   BANER COOKIES
   ========================================================= */
.cookie-banner{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:500;
  display:none;
}
.cookie-banner.show{
  display:block;
}
.cookie-banner__content{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  padding:24px 26px;
  border:1px solid rgba(212,164,62,.65);
  border-radius:18px;
  color:#fff;
  background:linear-gradient(90deg,rgba(16,8,23,.98) 0%,rgba(22,10,32,.98) 52%,rgba(13,7,19,.98) 100%);
  box-shadow:0 22px 70px rgba(0,0,0,.45),0 0 24px rgba(212,164,62,.10);
  backdrop-filter:blur(12px);
}
.cookie-banner h2{
  margin:7px 0 9px;
  font-size:28px;
  color:#fff;
}
.cookie-banner p{
  margin:0;
  max-width:760px;
  color:#ddd4e0;
  line-height:1.65;
}
.cookie-banner__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.cookie-banner .btn-outline,
.cookie-modal .btn-outline{
  color:#fff;
  border:1px solid rgba(212,164,62,.65);
}

.cookie-modal{
  position:fixed;
  inset:0;
  z-index:520;
  display:none;
  place-items:center;
  padding:20px;
  background:rgba(5,2,8,.78);
}
.cookie-modal.open{
  display:grid;
}
.cookie-modal__box{
  position:relative;
  width:min(680px,100%);
  max-height:92vh;
  overflow:auto;
  padding:32px;
  border:1px solid rgba(212,164,62,.65);
  border-radius:18px;
  color:#fff;
  background:linear-gradient(180deg,#160a20,#0d0713);
  box-shadow:0 28px 80px rgba(0,0,0,.55);
}
.cookie-modal__close{
  position:absolute;
  top:12px;
  right:16px;
  border:0;
  background:none;
  color:#fff;
  font-size:32px;
  cursor:pointer;
}
.cookie-modal h2{
  margin:8px 0 10px;
  font-size:36px;
}
.cookie-modal__intro{
  color:#ddd4e0;
  line-height:1.65;
}
.cookie-option{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  margin-top:14px;
  padding:18px;
  border:1px solid rgba(212,164,62,.32);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.cookie-option strong{
  color:#f2d27d;
  font-size:17px;
}
.cookie-option p{
  margin:6px 0 0;
  color:#d8cedb;
  line-height:1.55;
}
.cookie-switch{
  position:relative;
  width:50px;
  height:28px;
}
.cookie-switch input{
  position:absolute;
  opacity:0;
}
.cookie-switch span{
  position:absolute;
  inset:0;
  cursor:pointer;
  border-radius:999px;
  background:#5b5060;
  transition:.2s;
}
.cookie-switch span::after{
  content:"";
  position:absolute;
  width:22px;
  height:22px;
  left:3px;
  top:3px;
  border-radius:50%;
  background:#fff;
  transition:.2s;
}
.cookie-switch input:checked + span{
  background:#d4a43e;
}
.cookie-switch input:checked + span::after{
  transform:translateX(22px);
}
.cookie-switch input:disabled + span{
  opacity:.72;
  cursor:not-allowed;
}
.cookie-modal__actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px;
}
.cookie-modal__policy{
  margin:18px 0 0;
  color:#bfb4c3;
  font-size:13px;
}
.cookie-modal__policy a{
  color:#f2d27d;
}

@media(max-width:780px){
  .cookie-banner{
    left:10px;
    right:10px;
    bottom:10px;
  }
  .cookie-banner__content{
    grid-template-columns:1fr;
    padding:21px 18px;
  }
  .cookie-banner__actions{
    justify-content:stretch;
  }
  .cookie-banner__actions .btn{
    flex:1 1 100%;
  }
  .cookie-modal__box{
    padding:28px 18px 22px;
  }
  .cookie-modal__actions{
    flex-direction:column;
  }
  .cookie-modal__actions .btn{
    width:100%;
  }
}


/* Mobile footer order */
@media (max-width:768px){
  .footer-links{order:2;}
  .footer-copy,.copyright,.footer-copyright{order:3;}
}


/* Poprawna kolejność elementów stopki wyłącznie na urządzeniach mobilnych */
@media (max-width: 768px) {
  footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  footer > img {
    order: 1;
  }

  footer > div {
    order: 2;
  }

  footer > p {
    order: 3;
  }
}


/* Tablet + mobile footer order */
@media (max-width:1024px){
  footer{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  footer > img{order:1;}
  footer > div{order:2;}
  footer > p{order:3;}
}

/* Wyróżnienie przycisku w pakiecie PREMIUM */
.card:nth-child(3) .order{
  background:linear-gradient(135deg,#7a2f68 0%,#4d1b4c 100%) !important;
  color:#f6d77d !important;
  border:1px solid #d4a43e !important;
  box-shadow:0 8px 20px rgba(78,27,76,.28),0 0 12px rgba(212,164,62,.10);
}

.card:nth-child(3) .order:hover{
  background:linear-gradient(135deg,#913b7d 0%,#5b2058 100%) !important;
  border-color:#f2d27d !important;
  transform:translateY(-1px);
}


/* Wyróżnienie całej karty PREMIUM */
.card:nth-child(3){
    border:2px solid #d4a43e !important;
    box-shadow:0 14px 35px rgba(212,164,62,.18);
    position:relative;
}

.card:nth-child(3):hover{
    border-color:#f2d27d !important;
    box-shadow:0 18px 45px rgba(212,164,62,.28);
}


/* Dane osoby dla tematu Miłość */
.love-person-fields{
  margin:18px 0;
  padding:18px;
  border:1px solid rgba(212,164,62,.45);
  border-radius:14px;
  background:rgba(212,164,62,.06);
}
.love-person-fields[hidden]{
  display:none !important;
}
.love-person-fields__head{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:14px;
}
.love-person-fields__head strong{
  color:#2b1538;
}
.love-person-fields__head small{
  color:#6b5d70;
}
.love-person-fields label{
  display:block;
  margin-top:12px;
}


/* =========================================================
   MOBILNY FORMULARZ ZAMÓWIENIA — STABILNY UKŁAD KROKOWY
   ========================================================= */
.mobile-wizard-progress,
.mobile-wizard-nav,
.mobile-step-title{
  display:none;
}

@media (max-width:768px){
  #orderModal{
    position:fixed !important;
    inset:0 !important;
    display:none;
    align-items:flex-start !important;
    justify-content:center !important;
    padding:12px !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    background:rgba(10,5,15,.90) !important;
  }

  #orderModal.open{
    display:flex !important;
  }

  #orderModal .modal-card{
    position:relative !important;
    width:100% !important;
    max-width:560px !important;
    min-width:0 !important;
    margin:8px auto 32px !important;
    padding:22px 18px 24px !important;
    border-radius:20px !important;
    background:#fff !important;
    color:#24172d !important;
    box-shadow:0 26px 80px rgba(0,0,0,.48) !important;
    overflow:hidden !important;
    opacity:1 !important;
    transform:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  #orderModal .close{
    position:absolute !important;
    top:14px !important;
    right:14px !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#3578e5 !important;
    font-size:38px !important;
    line-height:1 !important;
    z-index:20 !important;
  }

  #orderModal .eyebrow{
    margin:0 54px 7px 0 !important;
    color:#b78122 !important;
    font-size:11px !important;
    letter-spacing:.18em !important;
  }

  #orderModal h2,
  #orderModal #packageName{
    max-width:calc(100% - 54px) !important;
    margin:0 0 4px !important;
    color:#24172d !important;
    font-size:clamp(31px,8.5vw,42px) !important;
    line-height:1.04 !important;
    overflow-wrap:anywhere !important;
  }

  #orderModal #packagePrice{
    display:block !important;
    margin:9px 0 17px !important;
    color:#6c2f80 !important;
    font-size:32px !important;
    line-height:1.1 !important;
  }

  #orderModal hr{
    margin:15px 0 18px !important;
    border-color:#dfd3c3 !important;
  }

  .mobile-wizard-progress{
    display:block !important;
    margin:0 0 22px !important;
  }

  .mobile-wizard-progress__bar{
    height:7px !important;
    overflow:hidden !important;
    border-radius:999px !important;
    background:#eee8f0 !important;
  }

  .mobile-wizard-progress__bar span{
    display:block !important;
    width:33.333%;
    height:100% !important;
    border-radius:inherit !important;
    background:linear-gradient(90deg,#d4a43e,#f2d27d) !important;
    transition:width .2s ease !important;
  }

  .mobile-wizard-progress__label{
    margin-top:7px !important;
    color:#6f6474 !important;
    font-size:13px !important;
    text-align:right !important;
  }

  .mobile-wizard-step{
    display:none !important;
    min-width:0 !important;
  }

  .mobile-wizard-step.is-active{
    display:block !important;
  }

  .mobile-step-title{
    display:block !important;
    margin:0 0 15px !important;
    color:#a16d17 !important;
    font-size:12px !important;
    font-weight:800 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
  }

  .mobile-wizard-step > label,
  .love-person-fields label,
  .question-field{
    display:block !important;
    margin:0 0 15px !important;
    color:#24172d !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
  }

  #orderForm label small{
    color:#6f6474 !important;
    font-size:13px !important;
    font-weight:400 !important;
  }

  #orderForm input,
  #orderForm textarea,
  #orderForm select{
    box-sizing:border-box !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:7px 0 0 !important;
    padding:13px 14px !important;
    border:1px solid #d7cadb !important;
    border-radius:13px !important;
    background:#fff !important;
    color:#24172d !important;
    box-shadow:none !important;
    opacity:1 !important;
    font-size:16px !important;
    line-height:1.3 !important;
  }

  #orderForm input{
    min-height:50px !important;
  }

  #orderForm input[type="date"]{
    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:50px !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    text-align:left !important;
  }

  #orderForm input[type="date"]::-webkit-date-and-time-value{
    min-width:0 !important;
    text-align:left !important;
  }

  #orderForm textarea{
    min-height:135px !important;
    resize:vertical !important;
  }

  .topics-head{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:4px !important;
    margin-bottom:12px !important;
  }

  .topics-head strong{
    color:#24172d !important;
    font-size:18px !important;
  }

  .topics-head small{
    color:#6f6474 !important;
    font-size:14px !important;
  }

  .topics{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .topics button{
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    min-height:52px !important;
    padding:10px 8px !important;
    border:1px solid #d7cadb !important;
    border-radius:13px !important;
    background:#fff !important;
    color:#2c2131 !important;
    box-shadow:none !important;
    opacity:1 !important;
    font-size:14px !important;
    line-height:1.25 !important;
  }

  .topics button.selected{
    border-color:#d4a43e !important;
    background:#fff5d9 !important;
    box-shadow:0 0 0 2px rgba(212,164,62,.12) !important;
  }

  .topics button.disabled{
    opacity:.42 !important;
  }

  #topicsCounter{
    margin:10px 0 0 !important;
    color:#6f6474 !important;
    font-size:14px !important;
  }

  .love-person-fields{
    margin:17px 0 0 !important;
    padding:15px !important;
    border:1px solid #e1c77f !important;
    border-radius:14px !important;
    background:#fffaf0 !important;
    color:#24172d !important;
    opacity:1 !important;
  }

  .love-person-fields[hidden]{
    display:none !important;
  }

  .love-person-fields__head{
    margin-bottom:12px !important;
  }

  .love-person-fields__head strong{
    color:#24172d !important;
    font-size:17px !important;
  }

  .love-person-fields__head small{
    color:#6f6474 !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .or-separator{
    margin:20px 0 !important;
  }

  #orderForm .check{
    display:grid !important;
    grid-template-columns:22px 1fr !important;
    gap:10px !important;
    align-items:start !important;
    margin:14px 0 !important;
    color:#24172d !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.48 !important;
  }

  #orderForm .check input[type="checkbox"]{
    width:20px !important;
    height:20px !important;
    min-height:0 !important;
    margin:2px 0 0 !important;
    padding:0 !important;
  }

  .mobile-wizard-nav{
    display:flex !important;
    gap:10px !important;
    margin-top:18px !important;
  }

  .mobile-wizard-nav .btn{
    flex:1 1 0 !important;
    min-height:50px !important;
    padding:13px 15px !important;
    border-radius:13px !important;
    font-size:16px !important;
  }

  .mobile-wizard-back[hidden],
  .mobile-wizard-next[hidden]{
    display:none !important;
  }

  #orderForm .submit{
    width:100% !important;
    min-height:52px !important;
    margin-top:10px !important;
    padding:14px 16px !important;
    border-radius:13px !important;
    font-size:15px !important;
  }

  @media(max-width:390px){
    .topics{
      grid-template-columns:1fr !important;
    }
  }
}

@media(min-width:769px){
  .mobile-wizard-step{
    display:contents !important;
  }

  .mobile-wizard-nav,
  .mobile-wizard-progress,
  .mobile-step-title{
    display:none !important;
  }
}


/* =========================================================
   FINALNE POPRAWKI FORMULARZA MOBILNEGO
   ========================================================= */
@media (max-width:768px){
  .mobile-wizard-step{
    width:100% !important;
    min-width:0 !important;
  }

  .mobile-wizard-nav{
    display:flex !important;
    gap:10px !important;
    margin-top:20px !important;
  }

  .mobile-wizard-nav--step1 .mobile-wizard-next{
    width:100% !important;
    flex:1 1 100% !important;
  }

  .mobile-wizard-nav--final{
    margin-top:18px !important;
    margin-bottom:10px !important;
  }

  .mobile-wizard-nav--final .mobile-wizard-back{
    width:100% !important;
    flex:1 1 100% !important;
  }

  #orderForm .check{
    display:grid !important;
    grid-template-columns:22px minmax(0,1fr) !important;
    column-gap:12px !important;
    align-items:start !important;
    width:100% !important;
    min-width:0 !important;
  }

  #orderForm .check > span{
    display:block !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  #orderForm .check a{
    display:inline !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  #orderForm textarea{
    width:100% !important;
    min-height:122px !important;
    max-height:220px !important;
    padding:14px !important;
    line-height:1.45 !important;
    font-size:16px !important;
    overflow:auto !important;
  }

  #orderForm textarea::placeholder{
    white-space:pre-line !important;
    font-size:15px !important;
    line-height:1.45 !important;
    color:#7d747f !important;
    opacity:1 !important;
  }

  .situation{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }

  .situation small{
    display:block !important;
    margin-top:8px !important;
    line-height:1.45 !important;
  }

  #orderForm .submit{
    margin-top:0 !important;
  }
}
