/* ============================================================
   REN SIDE — fælles stil til sider uden menu og footer
   (spørgeskemaer, AI-værktøjer, kvitteringer).

   Hentes automatisk på alle sider med `minimal: true` i toppen.
   Ny ren side: brug klasserne herunder og skriv kun det, der er
   særligt for netop den side, i sidens egen <style>.

   Opbygning:
   <section class="rs"><div class="rs-wrap">
     <span class="rs-tag">Navn på produktet</span>
     <h1>Overskrift med <em>gult ord</em></h1>
     <p class="rs-lead">Indledning</p>
     <div class="rs-q"><label for="x">Spørgsmål <span class="rs-hint">Hjælpetekst</span></label><input id="x"></div>
     <div class="rs-nav"><button class="rs-btn rs-btn-back">←</button><button class="rs-btn rs-btn-main">Næste →</button></div>
   </div></section>
   ============================================================ */

/* ── Top: logo og kontakt ─────────────────────────────────── */
.min-head { position: absolute; top: 0; left: 0; right: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; }
.min-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.min-logo img { display: block; height: 44px; width: auto; }
.min-logo img.min-logo-navn { height: 20px; }
@media (max-width: 480px) { .min-logo img { height: 36px; } .min-logo img.min-logo-navn { height: 15px; } .min-head { align-items: flex-start; } }
.min-contact { color: rgba(255,255,255,.7); font-size: .82rem; text-align: right; }
.min-contact a { color: var(--gold); text-decoration: none; white-space: nowrap; }

/* ── Bund: firmaoplysninger (e-handelsloven § 7) ─────────── */
.min-foot { background: #080f0b; color: rgba(255,255,255,.45); font-size: .78rem; text-align: center; padding: 18px 16px 28px; }

/* ── Ramme og overskrifter ─────────────────────────────────── */
.rs { min-height: 100vh; background: radial-gradient(ellipse at 60% 0%, #0f2a1a 0%, #080f0b 55%, #0a0a0a 100%); padding: 96px 16px 60px; color: #fff; }
.rs-wrap { max-width: 640px; margin: 0 auto; }
.rs-tag { display: inline-block; background: rgba(255,222,89,.12); border: 1px solid rgba(255,222,89,.25); color: var(--gold); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 6px 16px; border-radius: 40px; margin-bottom: 20px; }
.rs h1 { font-size: clamp(1.9rem, 5vw, 2.8rem); line-height: 1.12; margin-bottom: 14px; color: #fff; }
.rs h1 em, .rs h2 em { color: var(--gold); font-style: normal; }
.rs h2 { font-size: 1.5rem; color: #fff; margin-bottom: 6px; }
.rs-lead { color: rgba(255,255,255,.72); line-height: 1.65; margin-bottom: 28px; }
.rs-progress { height: 4px; background: rgba(255,255,255,.1); border-radius: 2px; overflow: hidden; margin-bottom: 10px; }
.rs-progress span { display: block; height: 100%; background: var(--gold); transition: width .3s; }
.rs-steplabel { color: rgba(255,255,255,.6); font-size: .8rem; font-weight: 700; margin-bottom: 26px; }

/* ── Spørgsmål og felter ─────────────────────────────────── */
.rs-step[hidden], .rs-q[hidden] { display: none !important; }
.rs-q { margin-bottom: 22px; }
.rs-q > label, .rs-q > .rs-label { display: block; font-weight: 800; margin-bottom: 8px; color: #fff; }
.rs-hint { display: block; color: rgba(255,255,255,.6); font-size: .85rem; font-weight: 400; margin-top: 2px; }
.rs input[type=text], .rs input[type=email], .rs input[type=tel], .rs input[type=number], .rs input[type=date], .rs textarea, .rs select {
  width: 100%; background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.18); border-radius: 12px;
  padding: 13px 16px; font-size: 1rem; color: #fff; font-family: 'Nunito', sans-serif; }
.rs select option { color: #0a0a0a; }
.rs input[type=date] { color-scheme: dark; min-height: 50px; }
.rs textarea { min-height: 96px; resize: vertical; line-height: 1.5; }
.rs input:focus, .rs textarea:focus, .rs select:focus { outline: none; border-color: var(--gold); background: rgba(255,222,89,.06); }
.rs-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rs-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.rs-choices label { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.18); border-radius: 40px; padding: 10px 16px; cursor: pointer; font-weight: 700; }
.rs-choices label:has(input:checked) { border-color: var(--gold); background: rgba(255,222,89,.12); }
.rs-choices input { accent-color: #ffde59; }
.rs-help { margin-top: 8px; background: rgba(255,255,255,.04); border-radius: 12px; padding: 4px 14px; }
.rs-help summary { cursor: pointer; color: var(--gold); font-weight: 700; font-size: .9rem; padding: 8px 0; }
.rs-help p { color: rgba(255,255,255,.75); font-size: .92rem; line-height: 1.6; padding-bottom: 10px; }
.rs-levels { display: grid; gap: 10px; }
.rs-levels label { display: flex; gap: 12px; align-items: flex-start; background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.18); border-radius: 14px; padding: 14px 16px; cursor: pointer; }
.rs-levels label:has(input:checked) { border-color: var(--gold); background: rgba(255,222,89,.12); }
.rs-levels input { accent-color: #ffde59; margin-top: 4px; }
.rs-levels strong { color: #fff; }
.rs-levels span { color: rgba(255,255,255,.75); }
.rs-levels em { display: block; font-style: normal; font-size: .9rem; color: rgba(255,255,255,.6); margin-top: 2px; }
.rs-sub { border-left: 3px solid var(--green); padding-left: 14px; }
.rs-err { color: #ffb4a8; font-size: .9rem; font-weight: 700; margin: -6px 0 16px; min-height: 1em; }

/* ── Knapper ──────────────────────────────────────────────── */
.rs-nav { display: flex; gap: 12px; margin-top: 10px; }
.rs-btn { flex: 1; border: none; border-radius: 14px; padding: 16px 20px; font-size: 1rem; font-weight: 800; font-family: 'Nunito', sans-serif; cursor: pointer; }
.rs-btn-main { background: var(--gold); color: #0a0a0a; }
.rs-btn-back { background: rgba(255,255,255,.08); color: #fff; flex: 0 0 auto; }
.rs-btn[disabled] { opacity: .6; cursor: wait; }
.rs-btn { width: 100%; text-align: center; text-decoration: none; }
a.rs-btn, a.rs-btn-sec { display: block; box-sizing: border-box; }
.rs-btn[hidden], .rs-btn-sec[hidden] { display: none; }
.rs-btn-back { width: auto; }
.rs-btn-sec { width: 100%; margin-top: 12px; background: transparent; color: rgba(255,255,255,.7); border: 1.5px solid rgba(255,255,255,.2); border-radius: 14px; padding: 14px 20px; font-size: .92rem; font-weight: 700; font-family: 'Nunito', sans-serif; text-align: center; text-decoration: none; cursor: pointer; }
.rs-btn-sec:hover { border-color: var(--gold); color: var(--gold); }

/* ── Kasser, ventetid og kvittering ────────────────────────── */
.rs-review { background: rgba(255,255,255,.05); border-radius: 14px; padding: 16px 18px; white-space: pre-wrap; font-size: .92rem; line-height: 1.55; color: rgba(255,255,255,.85); margin-bottom: 20px; max-height: 420px; overflow-y: auto; }
.rs-note { color: rgba(255,255,255,.6); font-size: .82rem; line-height: 1.5; margin-top: 14px; }
.rs-note a, .rs-lead a { color: var(--gold); }
.rs-done { text-align: center; }
.rs-reset { background: none; border: none; padding: 0; color: var(--gold); text-decoration: underline; font: inherit; cursor: pointer; }
.rs-done .rs-icon { font-size: 3rem; margin-bottom: 10px; }
.rs-box { display: flex; align-items: flex-start; gap: 10px; background: rgba(255,222,89,.06); border: 1px solid rgba(255,222,89,.18); border-radius: 14px; padding: 12px 16px; margin-bottom: 28px; color: rgba(255,255,255,.7); font-size: .88rem; line-height: 1.55; }
.rs-card { background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,222,89,.35); border-radius: 18px; padding: 22px 20px; margin-bottom: 18px; }
.rs-loading { text-align: center; padding: 40px 0; color: rgba(255,255,255,.6); }
.rs-spinner { width: 52px; height: 52px; border: 3px solid rgba(255,255,255,.1); border-top-color: var(--gold); border-radius: 50%; animation: rs-spin .9s linear infinite; margin: 0 auto 24px; }
@keyframes rs-spin { to { transform: rotate(360deg); } }
.rs-slide { animation: rs-ind .35s ease; }
@keyframes rs-ind { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* Booking-baren skjules her: kunden er midt i et køb og skal ikke forstyrres */
.sticky-book { display: none !important; }
@media (max-width: 480px) { .rs-row { grid-template-columns: 1fr; } }

/* ── Gem som PDF (udskrift) ───────────────────────────────── */
@media print {
  .min-head, .sticky-book, #ck, .rs-nav, .rs-btn-sec { display: none !important; }
  body, .rs { background: #fff !important; color: #0a0a0a !important; }
  .rs { min-height: 0; padding: 0; }
  .rs h1, .rs h2, .rs-lead { color: #0a0a0a !important; }
}
