/* hogast Smart-Pay – Hotel Post Gries Overrides
   #hgPaymentWidget fuer Spezifitaet (hogast-CSS laedt spaeter)
   Farben & Fonts via Elementor Global Settings */

/* Zentrierung (auf dem aeusseren Container — hogast setzt max-width: 748px) */
#hgPaymentWidget { max-width: 680px; margin: 0 auto; }

/* Basis */
#hgPaymentWidget .hgPaymentWidget {
    font-family: var(--e-global-typography-text-font-family), Georgia, serif;
    color: var(--e-global-color-text);
}

/* Hotelname */
#hgPaymentWidget .hgpName {
    font-family: var(--e-global-typography-primary-font-family), Georgia, serif;
    font-weight: var(--e-global-typography-primary-font-weight);
    color: var(--e-global-color-primary);
}

/* Ueberschriften */
#hgPaymentWidget .hgpHeadline {
    font-family: var(--e-global-typography-primary-font-family), Georgia, serif;
    font-weight: var(--e-global-typography-primary-font-weight);
    color: var(--e-global-color-text);
}

/* Fortschrittsbalken */
#hgPaymentWidget .hgpProgress { border-bottom-color: var(--e-global-color-primary); }
#hgPaymentWidget .hgpStepActive .hgpRect { background-color: var(--e-global-color-primary); color: #fff; }
#hgPaymentWidget .hgpRect { border-color: var(--e-global-color-primary); color: var(--e-global-color-primary); background-color: transparent; }
#hgPaymentWidget .hgpStep:not(:last-child) .hgpStepInner > div:last-child::before { border-top-color: var(--e-global-color-primary); }
#hgPaymentWidget .hgpProgress .hgpSumContainer { background-color: var(--e-global-color-primary); color: #fff; }
#hgPaymentWidget .hgpLabel { color: var(--e-global-color-primary); }

/* Checkboxen & Radios */
#hgPaymentWidget .hgpCheckBox { font-family: var(--e-global-typography-text-font-family), serif; color: var(--e-global-color-primary); }
#hgPaymentWidget .hgpCheckBox input[type=checkBox] + span::before,
#hgPaymentWidget .hgpCheckBox input[type=checkBox] + span::after { border-color: var(--e-global-color-primary); }
#hgPaymentWidget .hgpRadioButton { font-family: var(--e-global-typography-text-font-family), serif; color: var(--e-global-color-primary); }
#hgPaymentWidget .hgpRadioButton input[type=radio] + span::before { border-color: var(--e-global-color-primary); }
#hgPaymentWidget .hgpRadioButton input[type=radio] + span::after { background-color: var(--e-global-color-primary); }

/* Buttons */
#hgPaymentWidget .hgpButtonPrimary { background-color: var(--e-global-color-secondary); color: var(--e-global-color-text); }
#hgPaymentWidget .hgpButtonPrimary:hover { background-color: var(--e-global-color-accent); }
#hgPaymentWidget .hgpButton:not(.hgpButtonPrimary) { background-color: var(--e-global-color-cf7ac51); color: var(--e-global-color-primary); }

/* Formularfelder */
#hgPaymentWidget .hgpForm input[type=text],
#hgPaymentWidget .hgpForm input[type=email],
#hgPaymentWidget .hgpForm input[type=number],
#hgPaymentWidget .hgpForm select,
#hgPaymentWidget .hgpForm textarea { font-family: var(--e-global-typography-text-font-family), serif; color: var(--e-global-color-text); }
#hgPaymentWidget .hgpForm input:focus,
#hgPaymentWidget .hgpForm select:focus,
#hgPaymentWidget .hgpForm textarea:focus { box-shadow: 0 0 0 2px var(--e-global-color-primary); }
#hgPaymentWidget .hgpForm .hgpHighlight { background-color: var(--e-global-color-primary); color: #fff; }
#hgPaymentWidget .hgpForm .hgpHighlight * { color: #fff; }

/* Links */
#hgPaymentWidget a { color: var(--e-global-color-primary); }

/* Summary & Finish */
#hgPaymentWidget .hgpSummaryHeadline,
#hgPaymentWidget .hgpSummaryHeadlineRssv,
#hgPaymentWidget .hgpFinishHeader,
#hgPaymentWidget .hgpFinishHeaderRssv { background-color: var(--e-global-color-primary); }
#hgPaymentWidget .hgpSummarySum .hgpSummaryHeadline { background-color: var(--e-global-color-cf7ac51); color: var(--e-global-color-text); }

/* Kalender */
#hgPaymentWidget .hgpCalendar-is-edge { background-color: var(--e-global-color-primary); }
#hgPaymentWidget .hgpCalendar-button,
#hgPaymentWidget .hgpCalendar-header-month { color: var(--e-global-color-primary); }

/* Betragsrechner */
#hgPaymentWidget .hgpFormAmountCalculator .hgpAmount { background-color: var(--e-global-color-primary); color: #fff; }
#hgPaymentWidget .hgpFormAmountCalculator .hgpAmount * { color: #fff; }
#hgPaymentWidget .hgpFormAmountCalculator .hgpBooked { background-color: var(--e-global-color-8a54d96); color: #fff; }
#hgPaymentWidget .hgpFormAmountCalculator .hgpBooked * { color: #fff; }

/* Footer */
#hgPaymentWidget .hgpFooterHeader { color: var(--e-global-color-primary); border-bottom-color: var(--e-global-color-4bfc3ab); }

/* Icons */
#hgPaymentWidget .hgpIcon svg { color: var(--e-global-color-primary); fill: var(--e-global-color-primary); }

/* Fehler */
#hgPaymentWidget .hgpText.hgpError,
#hgPaymentWidget .hgpTestState { background-color: var(--e-global-color-3b739ee); }
#hgPaymentWidget .hgpFormElementMessage { background-color: var(--e-global-color-3b739ee); }
#hgPaymentWidget .hgpFormElement.hgpError input,
#hgPaymentWidget .hgpFormElement.hgpError select,
#hgPaymentWidget .hgpFormElement.hgpError textarea,
#hgPaymentWidget .hgpFormElementGroup.hgpError input,
#hgPaymentWidget .hgpFormElementGroup.hgpError select { box-shadow: 0 0 0 2px var(--e-global-color-3b739ee); }
