/* Reset: przywraca domyślne style przeglądarki wewnątrz strony kampanii (motyw Hello i kit Elementora nadpisują nagłówki, akapity, linki, przyciski) */
.ks-root.ks-root,.ks-root.ks-root *,.ks-root.ks-root *::before,.ks-root.ks-root *::after{box-sizing:content-box}
.ks-root.ks-root .ks-need-box{box-sizing:border-box}
.ks-root.ks-root :is(h1,h2,h3,h4,h5,h6){font-family:inherit;font-weight:bold;font-style:normal;line-height:normal;letter-spacing:normal;text-transform:none;text-indent:0;color:inherit}
.ks-root.ks-root h1{font-size:2em;margin-block:.67em}
.ks-root.ks-root h2{font-size:1.5em;margin-block:.83em}
.ks-root.ks-root h3{font-size:1.17em;margin-block:1em}
.ks-root.ks-root h4{font-size:1em;margin-block:1.33em}
.ks-root.ks-root h5{font-size:.83em;margin-block:1.67em}
.ks-root.ks-root h6{font-size:.67em;margin-block:2.33em}
.ks-root.ks-root p{margin-block:1em}
.ks-root.ks-root a{background-color:transparent;color:#5E1623;text-decoration:none}
.ks-root.ks-root a:hover{color:#8A2A38}
.ks-root.ks-root img{height:auto;max-width:none}
.ks-root.ks-root button{font-family:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;line-height:normal;text-decoration:none;box-shadow:none;transition:none;border-radius:0;padding:1px 6px;margin:0;border:2px outset buttonborder;background-color:buttonface;color:buttontext;font-size:13.3333px;display:inline-block;text-align:center;white-space:normal}
html{scroll-behavior:smooth}
body{margin:0;background:#F7F3EC;color:#2A1A1C;font-family:'Jost',sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}
a{color:#5E1623;text-decoration:none}
a:hover{color:#8A2A38}
@keyframes snowfall{0%{transform:translate3d(0,-20px,0)}100%{transform:translate3d(24px,1600px,0)}}
@keyframes sway{0%{transform:rotate(-2.5deg)}100%{transform:rotate(2.5deg)}}
@keyframes foil{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes twinkle{0%,100%{opacity:.15;transform:scale(.6) rotate(0deg)}50%{opacity:1;transform:scale(1) rotate(20deg)}}
::selection{background:#5E1623;color:#F7F3EC}

/* Sloty na zdjęcia: placeholder + <img>, który znika, jeśli pliku jeszcze nie ma */
.ks-slot{position:absolute;inset:0;overflow:hidden;background:#E9E2D6;display:flex;align-items:center;justify-content:center;text-align:center}
.ks-slot>span{padding:0 18px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#8C7B72;line-height:1.5}
.ks-slot>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ks-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}

/* Odpowiedniki style-hover z projektu */
.ks-h-dark:hover{background:#3F0E17 !important;color:#F7F3EC !important}
.ks-needs{margin-top:56px;display:flex;align-items:flex-end;gap:clamp(12px,1.4vw,20px)}
.ks-need{flex:var(--w) 1 0;min-width:0;display:flex;flex-direction:column;gap:12px;cursor:default}
.ks-need-box{width:100%;box-sizing:border-box;border:1px solid rgba(217,193,147,.55);display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.2em;color:#D9C193;transition:background .35s, border-color .35s}
.ks-need-lbl{font-size:12px;letter-spacing:.06em;color:#E4D9CB;line-height:1.35;min-height:2.7em;text-wrap:balance}
@media (max-width:1000px){
  .ks-needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 16px;align-items:end}
  .ks-need-box{width:calc(var(--w) * .62px);max-width:100%}
}
@media (max-width:480px){ .ks-need-box{width:calc(var(--w) * .5px)} .ks-need-lbl{font-size:11px;letter-spacing:.03em} }
.ks-h-need:hover{background:rgba(217,193,147,.16) !important;border-color:#D9C193 !important}
.ks-h-ivory:hover{background:#F7F3EC !important}
.ks-h-card:hover{background:#6A1C2A !important}
.ks-h-pl:hover{transform:translateY(-8px) rotate(-.6deg)}
.ks-h-pr:hover{transform:translateY(-8px) rotate(.6deg)}
.ks-h-seat:hover{transform:scale(1.18)}
.ks-h-gold:hover{background:#D9C193 !important;color:#3F0E17 !important}
.ks-is-hidden{display:none !important}
@media (max-width:480px){
  .ks-sticky-dot{display:none}
  .ks-sticky-txt{font-size:10px !important;letter-spacing:.08em !important}
  .ks-sticky-in{padding-left:16px !important;gap:10px !important}
}

/* Hero – wersja A: karta i wstążka po lewej, wyśrodkowane w pionie */
.ks-hero-a .ks-hero-cardw{left:clamp(28px,7vw,140px);top:50%;transform:translateY(-50%)}
.ks-hero-a .ks-hero-rib{top:0;bottom:0;left:calc(clamp(28px,7vw,140px) + min(420px,100% - 32px) / 2 - 5px)}
/* Hero – wersja B: zdjęcie przybliżone, żeby zaproszenie i taca były po prawej stronie karty */
.ks-hero-b .ks-slot>img{object-position:50% 85% !important;transform:scale(1.2);transform-origin:30% 100%}
.ks-hero-b .ks-hero-cardw,.ks-hero-b>div[style*="bottom:clamp(28px"]{}
@media (max-width:760px){
  .ks-hero-a .ks-hero-cardw{left:50%;top:auto;bottom:clamp(28px,6vh,60px);transform:translateX(-50%)}
  .ks-hero-a .ks-hero-rib{left:50%;margin-left:-5px}
  .ks-hero-b .ks-slot>img{transform:none;object-position:66% 85% !important}
}

.ks-slot>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
