
:root{
  --gold:#b8842b;
  --gold-2:#d4a64e;
  --gold-dark:#7a5519;
  --ink:#161616;
  --muted:#66615a;
  --paper:#fffdf8;
  --cream:#f8f4eb;
  --line:#e7d8b8;
  --soft:#fff8e8;
  --shadow:0 18px 45px rgba(55,38,9,.11);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,'Times New Roman',serif;background:radial-gradient(circle at top,#fff 0,#f8f4eb 58%,#f2eadc 100%);color:var(--ink)}
img{max-width:100%;display:block}
a{color:var(--gold-dark);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1200px,94vw);margin:0 auto}
header.hero{background:linear-gradient(180deg,#fffdf9,#fbf6ec);border-bottom:1px solid var(--line);padding:30px 0 26px;position:relative;overflow:hidden}
header.hero:before,header.hero:after{content:"";position:absolute;border:1px solid rgba(184,132,43,.38);border-radius:28px;inset:12px;pointer-events:none}
header.hero:after{inset:18px;border-color:rgba(184,132,43,.16)}
.brand{font-size:18px;color:var(--gold-dark);font-weight:bold;letter-spacing:.08em;text-transform:uppercase}
.hero h1{margin:12px 0 12px;font-size:clamp(34px,5vw,68px);line-height:1.04;letter-spacing:-.02em}
.hero p{font-size:20px;max-width:930px;line-height:1.55;margin:0 auto;text-align:center;color:#3a352c}
.hero .container{text-align:center;position:relative;z-index:1}
.quick-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}
.quick-nav a{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#fff;padding:11px 18px;border-radius:999px;font-size:15px;box-shadow:0 8px 20px rgba(184,132,43,.24);font-weight:bold}
section{padding:30px 0}
.viewer-card,.form-card,.info-card{background:rgba(255,253,248,.96);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 0}
.viewer-head h2{margin:0;font-size:30px}
.viewer-wrap{padding:18px 24px 24px}
.page-stage{position:relative;background:linear-gradient(145deg,#f3ead9,#fffaf0);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.page-stage img{width:100%;height:auto;border-radius:10px;background:#fff;box-shadow:0 10px 25px rgba(0,0,0,.08)}
.page-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0 10px}
button,.btn{font-family:Georgia,'Times New Roman',serif;border:none;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#fff;padding:12px 18px;border-radius:12px;font-size:16px;cursor:pointer;box-shadow:0 8px 18px rgba(184,132,43,.18);font-weight:bold;display:inline-flex;align-items:center;justify-content:center;gap:8px}
button:hover,.btn:hover{filter:brightness(.98);text-decoration:none;transform:translateY(-1px)}
button.secondary,.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--ink);box-shadow:none}
.thumb-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-top:16px}
.thumb{border:1px solid var(--line);background:#fff;border-radius:12px;padding:6px;cursor:pointer;position:relative;box-shadow:none;color:var(--ink)}
.thumb img{width:100%;border-radius:7px}
.thumb span{display:block;text-align:center;margin-top:5px;font-size:12px;color:#4a4339}
.thumb.active{outline:3px solid rgba(184,132,43,.35);border-color:var(--gold)}
.grid-two{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.form-card{padding:0;overflow:hidden}
.form-top{padding:26px 28px;background:linear-gradient(135deg,#1f1b15,#3a2a16);color:#fff;position:relative}
.form-top:after{content:"";position:absolute;right:-40px;top:-40px;width:170px;height:170px;border:1px solid rgba(212,166,78,.35);border-radius:50%}
.form-top h2{margin:0 0 8px;font-size:34px;color:#fff}
.form-top p{margin:0;line-height:1.55;color:#f4ead9}
.form-body{padding:24px 28px 28px}
.form-help{color:var(--muted);line-height:1.55}
.order-section-title{display:flex;align-items:center;gap:10px;margin:22px 0 12px;font-size:20px;font-weight:bold;color:#2b251d}
.order-section-title:before{content:"";width:10px;height:10px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 5px rgba(184,132,43,.12)}
label{display:block;font-weight:bold;margin:14px 0 6px;color:#29231a}
input,textarea,select{width:100%;padding:13px 14px;border:1px solid #d8c9aa;border-radius:12px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink);outline:none;transition:.15s ease}
input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(184,132,43,.16)}
textarea{min-height:140px;resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.preview-box{margin-top:16px;border:1px solid rgba(184,132,43,.35);border-radius:18px;padding:16px;background:linear-gradient(180deg,#fffdf8,#fff7e6)}
.preview-box.hidden{display:none}
.preview-card{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:start}
.preview-card img{border-radius:14px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.08)}
.preview-title{font-size:20px;display:block;margin-bottom:8px}
.badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:#6b4a14;font-weight:bold;margin-bottom:8px}
.info-card{padding:24px 26px}
.info-card h3{margin-top:0;font-size:28px}
.info-list{padding-left:20px;line-height:1.75;color:#3c362f}
.status{padding:14px 16px;border-radius:12px;margin-bottom:16px;font-weight:bold}
.status.success{background:#e9f8eb;color:#246a2d;border:1px solid #bee7c4}
.status.error{background:#fdecec;color:#9b1f1f;border:1px solid #f4c0c0}
.notice{margin-top:18px;background:#fff8e9;border:1px solid #ecd6a0;border-radius:14px;padding:14px;line-height:1.6;color:#3b3329}
.notice strong{color:#7a5519}
.button-row{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap}
.paypal-note{background:linear-gradient(135deg,#fff,#fff6df);border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:18px}
.paypal-note h4{margin:0 0 8px;font-size:19px;color:#2b251d}
footer{padding:34px 0 54px;text-align:center;color:#555}
.small{font-size:14px;color:#666;line-height:1.5}
code{background:#f6eddb;padding:2px 5px;border-radius:5px}
@media (max-width: 900px){
  .grid-two{grid-template-columns:1fr}
  .field-row,.preview-card{grid-template-columns:1fr}
  .viewer-head{flex-direction:column;align-items:flex-start}
  .form-top,.form-body{padding-left:20px;padding-right:20px}
}


/* Korrektur: unten keine Vorschaubilder mehr beim Blaetterflyer */
.thumb-strip{display:none!important}

/* Korrektur: Geschäftspapier im Formular nicht abschneiden, sondern komplett anzeigen */
.preview-box{
  overflow:visible!important;
  background:linear-gradient(180deg,#fffef9,#fff8e8);
  border:1px solid rgba(184,132,43,.40);
  box-shadow:0 16px 34px rgba(49,31,5,.10);
}
.preview-card{
  display:grid;
  grid-template-columns:minmax(420px, 620px) 1fr!important;
  gap:22px;
  align-items:center;
}
.preview-card img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  padding:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
}

/* Korrektur: Preiskategorien als antickbare Auswahl */
.price-options{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:14px 0 22px;
}
.price-card{
  display:block!important;
  position:relative;
  padding:18px 18px 16px 48px;
  min-height:126px;
  border:2px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#fff7e6);
  cursor:pointer;
  box-shadow:0 10px 24px rgba(55,38,9,.08);
}
.price-card input[type="radio"]{
  position:absolute;
  left:16px;
  top:20px;
  width:22px!important;
  height:22px!important;
  accent-color:var(--gold);
}
.price-card .price-amount{
  display:block;
  font-size:18px;
  font-weight:bold;
  color:var(--ink);
  margin-bottom:8px;
}
.price-card strong{
  display:block;
  font-size:34px;
  color:var(--gold-dark);
  line-height:1;
  margin-bottom:8px;
}
.price-card small{
  display:block;
  color:var(--muted);
  font-size:14px;
}
.price-card:has(input:checked){
  border-color:var(--gold);
  background:linear-gradient(180deg,#fffef8,#fff0c9);
  box-shadow:0 0 0 4px rgba(184,132,43,.16),0 12px 26px rgba(55,38,9,.11);
}

/* Korrektur: PayPal-Link sichtbar und auffaellig */
.paypal-box{
  display:flex!important;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:18px;
  border-radius:18px;
  border:2px solid #e7bd43;
  background:linear-gradient(180deg,#fff8dd,#fff1bd);
  margin:12px 0 22px;
}
.paypal-box h4{
  margin:0 0 6px;
  font-size:21px;
  color:var(--gold-dark);
}
.paypal-box p{margin:0;color:var(--muted);line-height:1.45}
.paypal-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:240px;
  padding:15px 22px;
  border-radius:999px;
  background:#ffc439!important;
  color:#113984!important;
  border:2px solid #d99b00;
  font-weight:bold;
  text-decoration:none!important;
  box-shadow:0 10px 22px rgba(109,76,0,.18);
}
.paypal-btn:hover{filter:brightness(.98);text-decoration:none!important}

@media(max-width:900px){
  .preview-card{grid-template-columns:1fr!important}
  .price-options{grid-template-columns:1fr!important}
  .paypal-box{flex-direction:column;align-items:stretch}
  .paypal-btn{width:100%;min-width:0}
}


/* KORREKTUR V4 */
.thumb-strip{display:none!important}
.preview-box{
  display:block;
  overflow:visible!important;
  padding:18px!important;
  background:#fffdf6!important;
  border:2px solid rgba(184,132,43,.45)!important;
}
.preview-card{
  display:block!important;
}
.preview-card img{
  display:block!important;
  width:100%!important;
  max-width:760px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  margin:0 auto 18px auto!important;
  padding:12px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.10)!important;
}
.preview-title{display:block!important;text-align:center!important;font-size:22px!important;margin:10px 0!important}
#templatePreviewLinks{text-align:center!important}
#jumpToPageBtn{display:block!important;margin:10px auto 0!important}

/* Deutlich sichtbare Preise */
.price-options{
  display:grid!important;
  visibility:visible!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  margin:16px 0 24px!important;
}
.price-card{
  display:block!important;
  visibility:visible!important;
  position:relative!important;
  padding:20px 18px 18px 54px!important;
  min-height:138px!important;
  border:2px solid var(--line)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff,#fff5db)!important;
  cursor:pointer!important;
}
.price-card input[type="radio"]{
  position:absolute!important;
  left:18px!important;
  top:22px!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  accent-color:var(--gold)!important;
}
.price-card .price-amount{display:block!important;font-size:19px!important;font-weight:bold!important;margin-bottom:8px!important}
.price-card strong{display:block!important;font-size:36px!important;color:var(--gold-dark)!important;margin-bottom:8px!important}
.price-card small{display:block!important;color:var(--muted)!important}
.price-card:focus-within,.price-card:hover{border-color:var(--gold)!important;box-shadow:0 0 0 4px rgba(184,132,43,.16)!important}

/* Deutlich sichtbarer PayPal-Link */
.paypal-box{
  display:flex!important;
  visibility:visible!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:12px 0 24px!important;
  padding:20px!important;
  border:2px solid #e1ad22!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff6d2,#ffec9f)!important;
}
.paypal-box h4{margin:0 0 6px!important;font-size:22px!important;color:var(--gold-dark)!important}
.paypal-box p{margin:0!important;color:#4d422e!important}
.paypal-btn{
  display:inline-flex!important;
  visibility:visible!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:245px!important;
  padding:16px 24px!important;
  border-radius:999px!important;
  background:#ffc439!important;
  color:#123b7d!important;
  border:2px solid #c98f00!important;
  font-weight:bold!important;
  text-decoration:none!important;
  box-shadow:0 10px 22px rgba(109,76,0,.22)!important;
}
@media(max-width:900px){
  .price-options{grid-template-columns:1fr!important}
  .paypal-box{flex-direction:column!important;align-items:stretch!important}
  .paypal-btn{width:100%!important;min-width:0!important}
  .preview-card img{max-width:100%!important}
}


/* Bankzahlung / Überweisung */
.bank-box{
  display:block!important;
  margin:12px 0 24px!important;
  padding:20px!important;
  border:2px solid var(--line)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#ffffff,#f7f0df)!important;
  box-shadow:0 10px 22px rgba(55,38,9,.08)!important;
}
.bank-box h4{
  margin:0 0 8px!important;
  font-size:22px!important;
  color:var(--gold-dark)!important;
}
.bank-details{
  display:grid;
  gap:10px;
  margin:14px 0;
}
.bank-details div{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:12px;
  align-items:center;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.bank-details span{
  font-weight:bold;
  color:var(--muted);
}
.bank-details strong{
  font-size:16px;
  word-break:break-word;
}
@media(max-width:700px){
  .bank-details div{grid-template-columns:1fr}
}


/* Kundenansicht: internen E-Mail-Hinweis entfernt, Formular zentriert */
.single-form{
  display:block!important;
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.single-form .form-card{
  width:100%;
}


/* Saubere Abschlussansicht des Formulars */
.clean-submit-row{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin-top:24px!important;
}
.submit-btn{
  min-width:260px;
  padding:15px 24px!important;
  text-align:center;
}


/* Korrektur: Textwunsch-Feld deutlich sichtbar */
.details-box{
  margin-top:10px;
  padding:18px;
  border:2px solid rgba(184,132,43,.28);
  border-radius:18px;
  background:linear-gradient(180deg,#fffef9,#fff6e8);
}
.details-help{
  margin:0 0 12px 0;
  color:#5a5146;
  line-height:1.55;
}
#details{
  display:block!important;
  width:100%!important;
  min-height:220px!important;
  padding:16px!important;
  border:2px solid #d7c6a2!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#222!important;
  font-size:16px!important;
  line-height:1.5!important;
  resize:vertical!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.03);
}
#details:focus{
  border-color:#b8842b!important;
  box-shadow:0 0 0 4px rgba(184,132,43,.16)!important;
  outline:none!important;
}


/* FINAL ENDVERSION: sauberes, einheitliches Bestellformular */
.final-form-section,
.single-form{
  display:block!important;
  max-width:1040px!important;
  margin:0 auto!important;
}
.final-form-section .form-card{
  width:100%!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 22px 55px rgba(55,38,9,.13)!important;
}
.form-top{
  text-align:center!important;
  padding:30px 30px!important;
}
.form-body{
  padding:30px!important;
}
.order-section-title{
  margin:30px 0 14px!important;
  padding:10px 14px!important;
  border-radius:14px!important;
  background:linear-gradient(90deg,#fff8e5,#ffffff)!important;
  border:1px solid rgba(184,132,43,.22)!important;
}

/* Vorlage-Vorschau */
.preview-box{
  margin:16px 0 26px!important;
}
.preview-card{
  display:block!important;
}
.preview-card img{
  max-width:780px!important;
  width:100%!important;
  height:auto!important;
  margin:0 auto 16px!important;
}
.badge{
  display:block!important;
  width:max-content!important;
  margin:0 auto 10px!important;
}
.preview-title,
#templatePreviewLinks{
  text-align:center!important;
}
#jumpToPageBtn{
  display:flex!important;
  margin:12px auto 0!important;
}

/* Preise */
.price-options{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:16px!important;
  margin:16px 0 26px!important;
}
.price-card{
  min-height:132px!important;
  border-radius:18px!important;
  transition:.15s ease!important;
}
.price-card:hover{
  transform:translateY(-2px)!important;
}
.price-card input[type="radio"]{
  accent-color:var(--gold)!important;
}
.price-card .price-amount{
  display:block!important;
  font-size:19px!important;
  font-weight:bold!important;
}
.price-card strong{
  display:block!important;
  font-size:34px!important;
  color:var(--gold-dark)!important;
  margin:6px 0!important;
}

/* Zahlung sauber als eigener Bereich */
.payment-area{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  margin:14px 0 28px!important;
}
.clean-payment-box,
.paypal-box,
.bank-box{
  min-height:100%!important;
  margin:0!important;
  border-radius:18px!important;
  padding:20px!important;
}
.paypal-box{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
}
.paypal-btn{
  margin-top:16px!important;
  width:100%!important;
  text-align:center!important;
}
.bank-details{
  margin:14px 0!important;
}
.bank-details div{
  grid-template-columns:115px 1fr!important;
}

/* Textwünsche */
.details-box{
  margin:14px 0 26px!important;
}
.details-box label{
  font-size:18px!important;
}
.details-help{
  margin-bottom:14px!important;
}
#details{
  min-height:240px!important;
}

/* Abschlussbutton */
.clean-submit-row{
  border-top:1px solid rgba(184,132,43,.22)!important;
  padding-top:24px!important;
  margin-top:26px!important;
}
.submit-btn{
  min-width:300px!important;
  font-size:18px!important;
  padding:16px 28px!important;
}

/* Kundenansicht: keine internen Hinweise */
.info-card,
.notice.admin-only{
  display:none!important;
}

@media(max-width:900px){
  .form-body{padding:22px!important}
  .price-options,
  .payment-area{
    grid-template-columns:1fr!important;
  }
  .bank-details div{
    grid-template-columns:1fr!important;
  }
  .submit-btn{
    min-width:0!important;
    width:100%!important;
  }
}


/* Korrekturabzug / Pflicht-Hinweise */
.terms-box{
  margin:14px 0 26px!important;
  padding:20px!important;
  border:2px solid rgba(184,132,43,.34)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fffdf7,#fff4df)!important;
}
.terms-box h4{
  margin:0 0 8px!important;
  font-size:22px!important;
  color:var(--gold-dark)!important;
}
.check-row{
  display:grid!important;
  grid-template-columns:28px 1fr!important;
  gap:12px!important;
  align-items:start!important;
  margin:14px 0!important;
  padding:13px 14px!important;
  border:1px solid rgba(184,132,43,.24)!important;
  border-radius:14px!important;
  background:#fff!important;
  font-weight:normal!important;
  line-height:1.5!important;
  color:#2d281f!important;
}
.check-row input[type="checkbox"]{
  width:21px!important;
  height:21px!important;
  margin-top:2px!important;
  accent-color:var(--gold)!important;
}
.small-business-note{
  margin-top:16px!important;
  padding:14px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  line-height:1.55!important;
}


.approval-info-box{
  margin-top:16px!important;
  padding:14px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  line-height:1.55!important;
}


/* Geschäftspapier: A4-Vorlagen sauber anzeigen */
.page-stage{max-width:980px;margin:0 auto;}
.page-stage img{display:block;max-height:1180px;object-fit:contain;}
.preview-card img{max-width:520px!important;}
.details-help{margin:4px 0 10px;color:var(--muted);line-height:1.55;}
.notice{margin:18px 0;background:#fff8e9;border:1px solid #ecd6a0;border-radius:14px;padding:14px;line-height:1.6;color:#3b3329;}
@media(max-width:900px){.preview-card img{max-width:100%!important;}}
