/* Markentest pfui / rein (lib/warteliste.mjs). Eine Datei für beide Seiten; die Marke setzt die Klasse am body. */
@font-face { font-family: "Bricolage"; src: url("/fonts/bricolage-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Bricolage"; src: url("/fonts/bricolage-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Bricolage"; src: url("/fonts/bricolage-800.woff2") format("woff2"); font-weight: 800; font-display: swap; }
@font-face { font-family: "InterTight"; src: url("/fonts/intertight-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "InterTight"; src: url("/fonts/intertight-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "InterTight"; src: url("/fonts/intertight-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }

* { box-sizing: border-box; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
.pfui { --grund: #FFF7E6; --tinte: #12392E; --leise: #2F4F45; --karte: #FFFFFF; --akzent: #E5533D; --gelb: #F2C230; --dunkel: #12392E; --hell: #FFF7E6;
        --schrift: "Bricolage", system-ui, sans-serif; --kopf: 800; --spur: -0.045em; --rund: 28px; }
.rein { --grund: #FFFFFF; --tinte: #1D1D1F; --leise: #5E5E63; --karte: #F5F5F7; --akzent: #1D1D1F; --gelb: #2E7D5B; --dunkel: #1D1D1F; --hell: #FFFFFF;
        --schrift: "InterTight", system-ui, sans-serif; --kopf: 700; --spur: -0.035em; --rund: 22px; }
body { background: var(--grund); color: var(--tinte); font-family: var(--schrift); font-size: 18px; line-height: 1.5; }
a { color: inherit; }
.huelle { max-width: 1120px; margin: 0 auto; padding: 0 20px; }

.kopf { display: flex; justify-content: space-between; align-items: center; height: 72px; }
.marke { font-weight: var(--kopf); font-size: 30px; letter-spacing: var(--spur); text-decoration: none; }
.pfui .marke span { color: var(--akzent); }

.held { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; padding: 40px 0 72px; }
.held h1 { margin: 0 0 20px; font-weight: var(--kopf); letter-spacing: var(--spur); line-height: 0.92; font-size: clamp(52px, 8vw, 104px); text-wrap: balance; }
.pfui .held h1 em { font-style: normal; color: var(--akzent); }
.rein .held h1 em { font-style: normal; }
.unter { margin: 0 0 32px; font-size: 21px; color: var(--leise); max-width: 30ch; }

.bild { position: relative; min-height: 400px; border-radius: calc(var(--rund) + 8px); overflow: hidden; }
.pfui .bild { background: var(--gelb); }
.rein .bild { background: var(--karte); }
.packung { position: absolute; display: flex; flex-direction: column; justify-content: space-between; padding: 16px; border-radius: 18px;
           font-weight: var(--kopf); letter-spacing: -0.02em; box-shadow: 0 30px 40px -24px rgba(0, 0, 0, 0.45); }
.packung b { font-size: 22px; letter-spacing: var(--spur); }
.packung span { font-size: 20px; line-height: 0.95; }
.p1 { left: 10%; top: 18%; width: 34%; height: 52%; transform: rotate(-6deg); }
.p2 { right: 9%; top: 9%; width: 28%; height: 70%; transform: rotate(3deg); }
.p3 { left: 38%; bottom: 7%; width: 24%; height: 34%; transform: rotate(8deg); }
.pfui .p1 { background: #12392E; color: #FFF7E6; } .pfui .p2 { background: #E5533D; color: #FFF7E6; } .pfui .p3 { background: #FFF7E6; color: #12392E; }
.rein .packung { box-shadow: 0 1px 0 #E8E8ED, 0 30px 50px -30px rgba(0, 0, 0, 0.35); transform: none; }
.rein .p1 { background: #FFFFFF; color: #1D1D1F; } .rein .p2 { background: #2A2A2D; color: #F5F5F7; } .rein .p3 { background: #DDE7E1; color: #1D1D1F; }

.form { display: flex; flex-direction: column; gap: 12px; max-width: 520px; }
.feld { display: flex; gap: 8px; padding: 6px; border-radius: 40px; background: var(--karte); border: 2px solid var(--tinte); }
.rein .feld { border: 1px solid #D2D2D7; }
.feld input { flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 18px; border: 0; background: transparent; font: inherit; color: var(--tinte); }
.feld input:focus { outline: none; }
.feld:focus-within { box-shadow: 0 0 0 3px rgba(229, 83, 61, 0.35); }
.rein .feld:focus-within { box-shadow: 0 0 0 3px rgba(46, 125, 91, 0.35); }
.knopf { flex: none; height: 52px; padding: 0 26px; border: 0; border-radius: 26px; background: var(--akzent); color: #FFFFFF; font: inherit; font-weight: var(--kopf); cursor: pointer; }
.haken { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--leise); }
.haken input { width: 22px; height: 22px; margin: 1px 0 0; flex: none; accent-color: var(--akzent); }
.klein { font-size: 14px; color: var(--leise); }
.versteckt { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.drei { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 0 0 80px; }
.drei div { padding: 26px; border-radius: var(--rund); background: var(--karte); }
.pfui .drei div { background: var(--dunkel); color: #DCE6E1; }
.drei h2 { margin: 0 0 8px; font-size: 24px; font-weight: var(--kopf); letter-spacing: -0.02em; }
.pfui .drei h2 { color: var(--gelb); }
.drei p { margin: 0; font-size: 16px; }

.fuss { max-width: 1120px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding: 28px 20px; font-size: 14px; color: var(--leise); border-top: 1px solid rgba(0, 0, 0, 0.08); }
.fuss nav { display: flex; gap: 20px; flex-wrap: wrap; }
.fuss button { border: 0; background: none; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }

.mitte { min-height: 70vh; display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: 40px 0; max-width: 640px; }
.mitte h1 { margin: 0; font-weight: var(--kopf); letter-spacing: var(--spur); line-height: 0.9; font-size: clamp(56px, 10vw, 112px); }
.mitte p { margin: 0; font-size: 20px; color: var(--leise); }

.banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 10; max-width: 560px; margin: 0 auto; padding: 20px; border-radius: 22px;
          background: var(--dunkel); color: #FFFFFF; box-shadow: 0 20px 50px -20px rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; gap: 14px; font-size: 15px; }
.banner[hidden] { display: none; }
.banner p { margin: 0; }
.banner a { color: #FFFFFF; }
.banner div { display: flex; gap: 10px; }
.banner button { flex: 1 1 0; height: 48px; border-radius: 24px; border: 2px solid #FFFFFF; font: inherit; font-weight: 700; cursor: pointer; background: transparent; color: #FFFFFF; }

@media (max-width: 760px) {
  .held { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-top: 16px; }
  .bild { min-height: 300px; }
  .drei { grid-template-columns: minmax(0, 1fr); }
  .feld { flex-direction: column; border-radius: 26px; }
  .knopf { width: 100%; }
}
