/*
 * GastgeberPilot Theme-Anbindung für öffentliche Endkundenseiten.
 * Diese Datei verbindet bestehende öffentliche Seiten mit den CSV-basierten
 * Designwerten aus theme_generated.css, ohne die Fachlogik zu verändern.
 */

html.gp-public-theme,
body.gp-public-theme {
  max-width: 100%;
}

body.gp-public-theme {
  font-family: var(--gp-theme-font-family, Arial, sans-serif) !important;
  background: var(--gp-theme-background, #f5f1eb) !important;
  color: var(--gp-theme-text, #2b2b2b) !important;
}

body.gp-public-theme a {
  color: var(--gp-theme-primary, #8b1d2c);
}

body.gp-public-theme h1,
body.gp-public-theme h2,
body.gp-public-theme h3,
body.gp-public-theme .code,
body.gp-public-theme .voucher-card h3,
body.gp-public-theme .data-box strong,
body.gp-public-theme .field label,
body.gp-public-theme .checkrow label,
body.gp-public-theme .newsletter-box strong,
body.gp-public-theme .booking-label {
  color: var(--gp-theme-primary, #8b1d2c) !important;
  -webkit-text-fill-color: var(--gp-theme-primary, #8b1d2c) !important;
}

body.gp-public-theme .container,
body.gp-public-theme .box,
body.gp-public-theme .card,
body.gp-public-theme .success-box,
body.gp-public-theme .newsletter-box,
body.gp-public-theme .booking-preferences-box,
body.gp-public-theme .booking-communication-placeholder,
body.gp-public-theme .data-box,
body.gp-public-theme .voucher-card,
body.gp-public-theme .checkrow,
body.gp-public-theme .birthday-form-box {
  border-radius: var(--gp-theme-card-radius, 18px) !important;
  border-color: var(--gp-theme-border, #e5ddd3) !important;
}

body.gp-public-theme .container,
body.gp-public-theme .box,
body.gp-public-theme .card,
body.gp-public-theme .newsletter-popup-window {
  background: var(--gp-theme-surface, #ffffff) !important;
  box-shadow: var(--gp-theme-shadow, 0 8px 24px rgba(0,0,0,.06)) !important;
}

body.gp-public-theme .data-box,
body.gp-public-theme .voucher-card,
body.gp-public-theme .checkrow,
body.gp-public-theme .birthday-form-box,
body.gp-public-theme .newsletter-box,
body.gp-public-theme .booking-preferences-box,
body.gp-public-theme .booking-communication-placeholder,
body.gp-public-theme .success-box {
  background: var(--gp-theme-soft-surface, #f8f4ee) !important;
}

body.gp-public-theme input,
body.gp-public-theme select,
body.gp-public-theme textarea,
body.gp-public-theme .booking-combo-button,
body.gp-public-theme .booking-date-combo-button,
body.gp-public-theme .booking-time-combo-button,
body.gp-public-theme .booking-person-combo-button {
  border-color: var(--gp-theme-border, #e5ddd3) !important;
  border-radius: var(--gp-theme-field-radius, 12px) !important;
  color: var(--gp-theme-text, #2b2b2b) !important;
  background: #ffffff !important;
  font-family: var(--gp-theme-font-family, Arial, sans-serif) !important;
}

body.gp-public-theme .btn,
body.gp-public-theme button.booking-submit,
body.gp-public-theme .button,
body.gp-public-theme form button:not(.light),
body.gp-public-theme .action-link,
body.gp-public-theme .wr-popup-button,
body.gp-public-theme .wr-booking-button-action {
  background: var(--gp-theme-primary, #8b1d2c) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: var(--gp-theme-primary, #8b1d2c) !important;
  border-radius: var(--gp-theme-field-radius, 12px) !important;
  font-family: var(--gp-theme-font-family, Arial, sans-serif) !important;
}

body.gp-public-theme .btn:hover,
body.gp-public-theme button.booking-submit:hover,
body.gp-public-theme .button:hover,
body.gp-public-theme .action-link:hover {
  background: var(--gp-theme-primary-dark, #6f1622) !important;
}

body.gp-public-theme .btn.secondary,
body.gp-public-theme .button.secondary,
body.gp-public-theme .booking-public-button-secondary {
  background: #555555 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #555555 !important;
}

body.gp-public-theme .btn.light,
body.gp-public-theme button.light {
  background: #ded8cf !important;
  color: var(--gp-theme-text, #2b2b2b) !important;
  -webkit-text-fill-color: var(--gp-theme-text, #2b2b2b) !important;
  border-color: var(--gp-theme-border, #e5ddd3) !important;
}

body.gp-public-theme .notice,
body.gp-public-theme .info,
body.gp-public-theme .mailhint,
body.gp-public-theme .newsletter-hint-box,
body.gp-public-theme .booking-notice {
  background: #fff5bf !important;
  border-left-color: var(--gp-theme-warning, #d7a400) !important;
  border-radius: var(--gp-theme-field-radius, 12px) !important;
}

body.gp-public-theme .message.ok,
body.gp-public-theme .success,
body.gp-public-theme .pill.ok {
  background: #e8f5e9 !important;
  border-left-color: var(--gp-theme-success, #2e7d32) !important;
}

body.gp-public-theme .message.err,
body.gp-public-theme .error,
body.gp-public-theme .pill.bad {
  background: #fdecec !important;
  border-left-color: var(--gp-theme-danger, #b3261e) !important;
}

body.gp-public-theme .fineprint,
body.gp-public-theme .hint,
body.gp-public-theme .lead,
body.gp-public-theme .small,
body.gp-public-theme .footer,
body.gp-public-theme .last-saved {
  color: var(--gp-theme-muted, #666666) !important;
}

body.gp-public-theme .logo img,
body.gp-public-theme .booking-logo img,
body.gp-public-theme .gp-theme-logo {
  max-width: var(--gp-theme-logo-max-width, 360px);
}

body.gp-public-theme .ggp-public-footer {
  opacity: var(--gp-theme-public-branding-opacity, .55);
  font-size: var(--gp-theme-small-size, 14px) !important;
}

body.gp-public-theme .footer-links a {
  color: var(--gp-theme-primary, #8b1d2c) !important;
  -webkit-text-fill-color: var(--gp-theme-primary, #8b1d2c) !important;
}

/* Speisekarten-/PDF-Viewer behalten ihren dunklen Bühnencharakter. */
body.gp-public-speisekarte-viewer {
  background: #050505 !important;
}

body.gp-public-speisekarte-viewer .viewer-btn,
body.gp-public-speisekarte-viewer .wr-speisekarte-open,
body.gp-public-speisekarte-viewer .wr-speisekarte-close {
  color: var(--gp-theme-primary, #8b1d2c) !important;
  -webkit-text-fill-color: var(--gp-theme-primary, #8b1d2c) !important;
}

@media (max-width: 640px) {
  body.gp-public-theme .container,
  body.gp-public-theme .box,
  body.gp-public-theme .card {
    border-radius: var(--gp-theme-card-radius, 18px) !important;
  }
}

body.gp-public-theme .newsletter-popup-header {
  background: linear-gradient(135deg,var(--gp-theme-primary,#8b1d2c),var(--gp-theme-primary-dark,#6f1622)) !important;
  color: #ffffff !important;
}
