/* === WooCommerce Digitale Tickets – Frontend Styles === */
.wcdt-event-start {
    font-size: 20px;
    display: block;
    margin: 0 0 20px;
}

/* 1) Produktseite – Inline Ticket-Formular */
.woocommerce div.product form.cart div.quantity {
    float: none;
}

.wcdt-attendees {
  margin: 12px 0;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 12px;
  clear: both;
}
.wcdt-attendees h4 {
  margin: 0 0 8px;
  font-size: 16px;
}
.wcdt-attendees .row .form-row {
  margin: 0;
  width: 100%;
  float: none;
}
@media (max-width: 640px) {
  .wcdt-attendees .row {
    grid-template-columns: 1fr;
  }
}
/* 2) Countdown-Box */
.wc-countdown {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-variant-numeric: tabular-nums;
}
.wc-countdown.blocks .wc-cc-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 58px;
  padding: 0.35rem 0.5rem;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.wc-countdown .wc-cc-val {
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
}
.wc-countdown .wc-cc-lab {
  font-size: 0.75rem;
  color: #6b7280;
}
/* 3) Öffentliche Ticket-Seite (Frontend-Ansicht) */
.wcdt-ticket-page {
  background: #111;
  color: #fff;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif;
}
.wcdt-ticket-page .wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px;
}
.wcdt-ticket-page .card {
  position: relative;
  min-height: 380px;
  border: 1px solid #333;
  border-radius: 12px;
  overflow: hidden;
}
.wcdt-ticket-page .content {
  padding: 20px 20px 120px 20px;
  background: rgba(0, 0, 0, 0.45);
}
.wcdt-ticket-page .qr {
  position: absolute;
  right: 16px;
  top: 16px;
  background: #fff;
  padding: 6px;
  border-radius: 8px;
}
.wcdt-ticket-page .h1 {
  font-size: 28px;
  margin: 0 0 8px;
  font-weight: 800;
  text-transform: uppercase;
}
.wcdt-ticket-page .muted {
  color: #ccc;
}
.wcdt-ticket-page .row {
  margin: 8px 0;
}
.wcdt-ticket-page .foot {
  background: #fff;
  color: #000;
  padding: 12px 16px;
}
/* 4) Check-In Frontend (Admins) */
#wcdt-checkin {
  max-width: 760px;
  margin: 0 auto;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px;
}
#wcdt-checkin .row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
#qr-region {
  width: 100%;
  max-width: 480px;
  margin: 12px 0;
}
#qr-region > div {
  border-radius: 8px;
}
/* === Ticket A4 Frontend (3 Panels, Hochformat) === */
.wcdt-ticket-page {
  background: #111;
  color: #fff;
}
.wcdt-a4-wrap {
  max-width: 210mm;
  margin: 0 auto;
  padding: 8mm 0;
}
.wcdt-a4-sheet {
  width: 210mm;
  background: #fff;
  color: #111;
  border-radius: 6px;
  overflow: hidden;
}
/* Panels: exakt wie im PDF – je 99mm hoch */
.wcdt-a4-panel {
  width: 210mm;
  height: 99mm;
  position: relative;
  overflow: hidden;
}
/* Faltlinie */
.wcdt-fold {
  position: relative;
  height: 0;
  border-top: 1px dashed #888;
}
.wcdt-fold .txt {
  position: absolute;
  left: 50%;
  top: -9px;
  transform: translateX(-50%);
  background: #fff;
  padding: 0 6px;
  color: #666;
  font-size: 9pt;
  letter-spacing: .4pt;
  z-index: 2;
}
/* Vorderseite */
.wcdt-front {
  color: #fff;
  background-color: #111;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.wcdt-front-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .38);
}
.wcdt-front-content {
  position: absolute;
  inset: 0;
  padding: 12mm 60mm 14mm 14mm;
  display: flex;
  flex-direction: column;
}
.wcdt-front .h1 {
  margin: 0 0 4mm;
  font-size: 20pt;
  line-height: 1.15;
  font-weight: 800;
  text-transform: uppercase;
  color: #fff;
}
.wcdt-front-meta {
  display: flex;
  gap: 12mm;
  flex-wrap: wrap;
  margin: 0 0 6mm;
}
.wcdt-front .label {
  font-size: 8.5pt;
  color: #ffd27a;
  text-transform: uppercase;
  letter-spacing: .5pt;
  margin-bottom: 2mm;
}
.wcdt-front .val {
  font-size: 12pt;
  font-weight: 700;
  color: #fff;
}
.wcdt-front .small {
  font-size: 9.5pt;
  color: #ddd;
}
.wcdt-front-foot {
  margin-top: auto;
  font-size: 9pt;
  color: #eee;
}
.wcdt-front-qr {
  position: absolute;
  right: 12mm;
  top: 12mm;
  width: 36mm;
  height: 36mm;
  background: #fff;
  padding: 2.5mm;
  border-radius: 2mm;
}
.wcdt-front-qr img {
  width: 100%;
  height: 100%;
  display: block;
}
.wcdt-front-badge {
  position: absolute;
  right: 12mm;
  top: 51mm;
  background: #ffd27a;
  color: #000;
  padding: 2mm 4mm;
  border-radius: 2mm;
  font-weight: 700;
  font-size: 10pt;
}
/* Rückseite – mit gleicher Hintergrundgrafik + helles Overlay für Lesbarkeit */
.wcdt-back {
  color: #111;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.wcdt-back-scrim {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, .75);
}
.wcdt-back-inner {
  position: relative;
  padding: 10mm 14mm;
}
.wcdt-back h2 {
  margin: 0 0 4mm;
  font-size: 13pt;
  text-transform: uppercase;
  color: #111;
}
.wcdt-back ul {
  margin: 2mm 0 0 4mm;
  padding: 0;
  font-size: 10.5pt;
  line-height: 1;
  color: #111;
  columns: 2;
  -webkit-columns: 2;
}
.wcdt-back li {
  margin: 0 0 3mm;
}
.wcdt-back p {
  margin: 2mm 0;
  padding: 0;
  font-size: 10.5pt;
  line-height: 1.45;
  color: #111;
}
.wcdt-back-transfer-qr {
  display: flex;
  gap: 20px;
}
/* Anleitung */
.wcdt-guide{
  background:#fff;
  color:#111;
  height: auto;
}
.wcdt-guide-inner {
    padding: 10mm 14mm;
}
.wcdt-guide h2{
  margin:0 0 4mm;
  font-size:13pt;
  text-transform:uppercase;
}
.wcdt-guide .steps{
  display:flex;
  column-gap:4mm;
  row-gap:4mm;
  align-items:stretch;
}
.wcdt-guide .step{
  box-sizing:border-box;
  border:1px solid #e5e7eb;
  border-radius:3mm;
  padding:4mm;
  max-width: 55mm;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.wcdt-guide .step .n{
  font-weight:700;
  font-size:10.5pt;
  margin:0 0 2mm;
  color:#444;
}
.wcdt-guide .step p{
  margin:0;
  font-size:10pt;
  line-height:1.4;
}

/* Kleines Tuning für dunklen Seitenhintergrund */
.wcdt-ticket-page .muted {
  color: #ccc;
}
.wcdt-login-wrapper {
  max-width: 380px;
  margin: 40px auto;
  padding: 20px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 6px;
}
.wcdt-login-wrapper h2 {
  text-align: center;
  margin-bottom: 20px;
}
.wcdt-login-wrapper form p {
  margin-bottom: 15px;
}

@media print {
	.wcdt-ticket-page {
		background: #fff;
		color: #fff;
		padding: 0;
		margin: 0;
	}
	.wcdt-a4-wrap {
		margin: 0;
		padding: 0;
	}
}