/* Hochzeitstombola – sommerlich & festlich, responsive */
:root{
  --bg: #fffdf8;
  --card: #ffffff;
  --ink: #28323B;
  --muted: #61707C;
  --sun: #FFD580;
  --rose: #FFB3C1;
  --sea: #7FD1C5;
  --leaf: #A3D977;
  --shadow: 0 8px 24px rgba(0,0,0,.07);
  --radius: 18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Color Emoji", "Apple Color Emoji", sans-serif;
  line-height:1.6; color:var(--ink);
  background: radial-gradient(1200px 800px at 10% -10%, rgba(255,213,128,.25), transparent 60%),
              radial-gradient(1000px 700px at 110% 10%, rgba(127,209,197,.18), transparent 60%),
              var(--bg); min-height:100svh;
}
h1,h2,h3,h4{
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  line-height:1.2; margin:0 0 .5rem; letter-spacing:.2px;
}
.container{max-width:1100px;margin:0 auto;padding: clamp(14px, 2.5vw, 28px);}
.site-header{position:sticky; top:0; z-index:10;
  background: linear-gradient(120deg, rgba(255,179,193,.35), rgba(127,209,197,.35));
  backdrop-filter: blur(6px); border-bottom:1px solid rgba(0,0,0,.06);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:1rem;}
.brand{display:flex; align-items:center; gap:.9rem;}
.brand .emoji{font-size:1.6rem}
.brand-text{display:flex; flex-direction:column; gap:.15rem}
.brand h1{font-size: clamp(1.35rem, 2vw, 1.9rem); margin:0}
.brand .tagline{margin:0;color:var(--muted); font-size:.95rem}
.quick-nav.hidden{display:none !important}

.card{background:var(--card); border-radius:var(--radius); box-shadow: var(--shadow);
  padding: clamp(16px, 2.2vw, 28px); margin-block: clamp(14px, 2.4vw, 24px);
  border:1px solid rgba(0,0,0,.06);
}

.grid.two{display:grid; gap: clamp(12px, 2vw, 22px); grid-template-columns: 1fr; }
@media (min-width: 860px){
  .grid.two{grid-template-columns: 1.1fr .9fr;}
}

.price-list h3, .explain h3{margin-top:.2rem}
.prices{list-style:none; padding:0; margin:.6rem 0 1rem; display:grid; gap:.6rem}
.prices li{display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  padding:.6rem .8rem; border:1px dashed rgba(0,0,0,.12); border-radius:12px;
  background:linear-gradient(0deg, rgba(255,213,128,.18), rgba(255,213,128,.12));
}
.prices em{color:var(--muted); font-style:normal; font-weight:500; margin-left:.2rem}
.special-offer{margin-top:1rem; padding: .9rem; border-radius:14px;
  background: linear-gradient(120deg, rgba(255,179,193,.26), rgba(127,209,197,.22));
  border:1px solid rgba(0,0,0,.06);
}
.badge{display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.3px;
  background: #fff; border:1px solid rgba(0,0,0,.08); padding:.2rem .5rem; border-radius:999px; margin-bottom:.4rem;
}
.info-block{margin: clamp(10px, 1.6vw, 18px) 0}
.info-block h3{margin: 0 0 .35rem}
.steps{margin:.4rem 0 0; padding-left:1.2rem}
.steps li{margin:.25rem 0}
.bullets{margin:.4rem 0 0; padding-left:1.1rem}
.bullets li{margin:.35rem 0}

.prize-list{display:grid; gap: clamp(12px, 1.6vw, 18px)}
.prize-row{display:grid; gap:12px; align-items:stretch; grid-template-columns: 1fr;
  border:1px solid rgba(0,0,0,.06); border-radius:14px; overflow:hidden; background:#fff;
}
.prize-row img{width:100%; aspect-ratio: 16 / 10; height:auto; object-fit: cover; display:block}
.prize-row .text{padding:14px 16px}
.prize-row .text h3{margin:.2rem 0 .4rem; font-size: clamp(1.05rem, 2.2vw, 1.25rem)}
.prize-row .text p{margin:.2rem 0 0; color:var(--muted)}
@media (min-width: 860px){
  .prize-row{grid-template-columns: 1.25fr 1fr;}
}

.site-footer{margin-top: 20vh; text-align:center; color:var(--muted); padding: 28px 0;}
