/* mitholzfeuer – Gestaltung der Info- und Rechtsseiten
   Markenfarben: Orange #F48C06, Schwarz #202020, Schrift Outfit (vom Theme) */

body.mhf-info-page {
    --mhf-orange: #F48C06;
    --mhf-orange-dark: #D97A00;
    --mhf-ink: #202020;
    --mhf-text: #3b3b3b;
    --mhf-soft: #FFF6EA;
    --mhf-line: #EFE6DA;
}

/* ---------- Titelband ---------- */
.mhf-info-page .breadcrumb-title-wrapper {
    background: var(--mhf-ink) !important;
    background-image: none !important;
    border-bottom: 5px solid var(--mhf-orange);
    padding: 54px 0 46px !important;
    text-align: center;
}
.mhf-info-page .breadcrumb-title-wrapper:before,
.mhf-info-page .breadcrumb-title-wrapper:after { display: none !important; }
.mhf-info-page .breadcrumb-title { text-align: center; }
.mhf-info-page .breadcrumb-title h1.heading-title {
    color: #fff !important;
    font-size: clamp(28px, 4.2vw, 44px) !important;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.15;
    margin: 0 0 14px !important;
}
.mhf-info-page .breadcrumb-title h1.heading-title:after {
    content: "";
    display: block;
    width: 64px;
    height: 4px;
    border-radius: 4px;
    background: var(--mhf-orange);
    margin: 16px auto 0;
}
.mhf-info-page .breadcrumbs,
.mhf-info-page .breadcrumbs a,
.mhf-info-page .breadcrumbs span { color: #c9c9c9 !important; font-size: 14px; }
.mhf-info-page .breadcrumbs a:hover { color: var(--mhf-orange) !important; }
.mhf-info-page .breadcrumbs .breadcrumbs-container { justify-content: center; }

/* ---------- Inhaltsbereich ---------- */
.mhf-info-page .page-container { padding-top: 0 !important; }
.mhf-info-page .mhf-section > .e-con-inner,
.mhf-info-page .mhf-section { width: 100%; }
.mhf-info-page .mhf-card {
    background: #fff;
    border: 1px solid var(--mhf-line);
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(32, 32, 32, .06);
}

.mhf-prose { font-size: 16.5px; line-height: 1.85; color: var(--mhf-text); }
.mhf-prose .elementor-widget-container { padding: 0; }
.mhf-prose p { margin: 0 0 1.15em; color: var(--mhf-text); }
.mhf-prose strong, .mhf-prose b { color: var(--mhf-ink); font-weight: 700; }
.mhf-prose em { color: #555; }

.mhf-prose h1, .mhf-prose h2, .mhf-prose h3, .mhf-prose h4, .mhf-prose h5 {
    color: var(--mhf-ink) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    letter-spacing: -.005em;
}
.mhf-prose h2 { font-size: 28px !important; margin: 1.9em 0 .7em !important; }
.mhf-prose h3 { font-size: 23px !important; margin: 1.7em 0 .6em !important; padding-left: 16px; border-left: 5px solid var(--mhf-orange); }
.mhf-prose h4, .mhf-prose h5 { font-size: 19px !important; margin: 1.5em 0 .5em !important; }
.mhf-prose > .elementor-widget-container > :first-child,
.mhf-prose > :first-child { margin-top: 0 !important; }
.mhf-prose h2 span, .mhf-prose h3 span, .mhf-prose h4 span { color: inherit !important; }

.mhf-prose a { color: var(--mhf-orange-dark); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.mhf-prose a:hover { color: var(--mhf-ink); }

.mhf-prose ul, .mhf-prose ol { margin: 0 0 1.3em 0; padding-left: 1.4em; }
.mhf-prose li { margin-bottom: .45em; padding-left: .2em; }
.mhf-prose ul li::marker { color: var(--mhf-orange); font-size: 1.15em; }
.mhf-prose ol li::marker { color: var(--mhf-orange); font-weight: 700; }

.mhf-prose blockquote {
    margin: 1.6em 0; padding: 18px 24px;
    background: var(--mhf-soft); border-left: 5px solid var(--mhf-orange); border-radius: 0 14px 14px 0;
}
.mhf-prose hr { border: 0; border-top: 1px solid var(--mhf-line); margin: 2.2em 0; }

.mhf-prose table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 1.6em 0; border: 1px solid var(--mhf-line); border-radius: 14px; overflow: hidden; font-size: 15.5px; }
.mhf-prose th { background: var(--mhf-ink); color: #fff; text-align: left; padding: 12px 16px; font-weight: 600; }
.mhf-prose td { padding: 12px 16px; border-top: 1px solid var(--mhf-line); }
.mhf-prose tr:nth-child(even) td { background: #FFFBF5; }

.mhf-prose img { max-width: 100%; height: auto; border-radius: 14px; }

/* Buttons aus den uebernommenen Texten (Bootstrap/Odoo-Klassen) */
.mhf-prose .btn, .mhf-prose a.btn {
    display: inline-block; background: var(--mhf-orange); color: var(--mhf-ink) !important;
    border: 0; border-radius: 999px; padding: 13px 28px; font-weight: 700; text-decoration: none;
    line-height: 1.3; transition: background .2s, transform .2s;
}
.mhf-prose .btn:hover { background: var(--mhf-ink); color: #fff !important; transform: translateY(-1px); }

/* Odoo-/Bootstrap-Gerueste aus den uebernommenen Texten entschaerfen */
.mhf-prose section { padding: 0 !important; margin: 0 !important; background: none !important; }
.mhf-prose .container, .mhf-prose .s_allow_columns { max-width: 100% !important; width: 100% !important; padding: 0 !important; }
.mhf-prose .row { display: block !important; margin: 0 !important; }
.mhf-prose [class*="col-md-"], .mhf-prose [class*="col-lg-"] { width: 100% !important; max-width: 100% !important; float: none !important; padding: 0 !important; }
.mhf-prose .lead { font-size: 18px; color: var(--mhf-ink); }
.mhf-prose .mb16, .mhf-prose .mt16 { margin-top: 0 !important; margin-bottom: 0 !important; }
.mhf-prose .alignleft, .mhf-prose .alignright { float: none !important; display: block; margin: 1em auto !important; }

/* eingebettete Elementor-Bausteine im Text (z. B. Hinweisbox in "Lieferung") */
.mhf-prose .elementor-widget-icon-box { margin: 2em 0 .6em; }
.mhf-prose .elementor-icon-box-title {
    display: inline-block; background: var(--mhf-orange); color: var(--mhf-ink); font-weight: 700;
    padding: 9px 20px; border-radius: 999px; margin: 0 !important; font-size: 17px;
}
.mhf-prose .elementor-widget-text-editor em { display: block; background: var(--mhf-soft); border-left: 5px solid var(--mhf-orange); border-radius: 0 14px 14px 0; padding: 18px 24px; font-style: normal; color: var(--mhf-text); }

/* ---------- Abschluss-Band mit Kontaktangaben ---------- */
.mhf-cta { background: var(--mhf-ink); position: relative; overflow: hidden; }
.mhf-cta:before {
    content: ""; position: absolute; right: -90px; top: -90px; width: 280px; height: 280px; border-radius: 50%;
    background: radial-gradient(circle, rgba(244, 140, 6, .55) 0, rgba(244, 140, 6, 0) 70%);
}
.mhf-cta .elementor-heading-title { color: #fff !important; font-weight: 700; font-size: clamp(24px, 3vw, 34px); line-height: 1.2; }
.mhf-cta-text, .mhf-cta-text p { color: #d8d8d8 !important; font-size: 17px; line-height: 1.7; text-align: center; margin: 0; }
.mhf-cta-text a { color: var(--mhf-orange) !important; font-weight: 700; text-decoration: none; }
.mhf-cta-text a:hover { color: #fff !important; }
.mhf-btn .elementor-button, .mhf-btn a.elementor-button {
    background: var(--mhf-orange) !important; color: var(--mhf-ink) !important; border-radius: 999px !important;
    font-weight: 700; padding: 15px 34px; font-size: 15px; letter-spacing: .02em; text-transform: uppercase;
    transition: background .2s, color .2s, transform .2s;
}
.mhf-btn .elementor-button:hover { background: #fff !important; color: var(--mhf-ink) !important; transform: translateY(-2px); }

/* ---------- Haeufige Fragen ---------- */
.mhf-info-page #xs_faq_5 { background: #FFF6EA !important; }
.mhf-info-page .elementskit-single-faq {
    background: #fff !important; border: 1px solid var(--mhf-line) !important; border-radius: 18px !important;
    box-shadow: 0 8px 28px rgba(32, 32, 32, .06); overflow: hidden; border-top: 5px solid var(--mhf-orange) !important;
}
.mhf-info-page .elementskit-faq-header { background: transparent !important; padding: 20px 24px 6px !important; }
.mhf-info-page .elementskit-faq-title { color: var(--mhf-ink) !important; font-size: 19px !important; font-weight: 700 !important; line-height: 1.35 !important; margin: 0 !important; }
.mhf-info-page .elementskit-faq-body { border: 0 !important; background: transparent !important; padding: 6px 24px 22px !important; color: var(--mhf-text); line-height: 1.75; font-size: 16px; }

/* ---------- Kontaktseite ---------- */
.mhf-contact-card { background: #fff; border: 1px solid var(--mhf-line); border-radius: 20px; padding: 30px 26px !important; box-shadow: 0 10px 40px rgba(32, 32, 32, .06); text-align: center; height: 100%; }
.mhf-contact-card .elementor-icon-box-wrapper { flex-direction: column; text-align: center; }
.mhf-contact-card .elementor-icon-box-icon { margin: 0 0 14px !important; }
.mhf-contact-card .elementor-icon { background: var(--mhf-soft); color: var(--mhf-orange) !important; width: 68px; height: 68px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px !important; }
.mhf-contact-card .elementor-icon svg { fill: var(--mhf-orange) !important; width: 28px; height: 28px; }
.mhf-contact-card .elementor-icon-box-title { color: var(--mhf-ink) !important; font-size: 21px; font-weight: 700; margin: 0 0 8px !important; }
.mhf-contact-card .elementor-icon-box-description { color: var(--mhf-text); font-size: 16px; line-height: 1.7; }
.mhf-contact-card a { color: var(--mhf-orange-dark); font-weight: 700; text-decoration: none; }
.mhf-contact-card a:hover { color: var(--mhf-ink); }
.mhf-contact-form { background: #fff; border: 1px solid var(--mhf-line); border-radius: 24px; padding: 40px 36px !important; box-shadow: 0 10px 40px rgba(32, 32, 32, .06); }
.mhf-contact-form input[type="text"], .mhf-contact-form input[type="email"], .mhf-contact-form textarea {
    border: 1px solid #E5DDD1 !important; border-radius: 14px !important; background: #FFFCF8 !important; padding: 14px 18px !important; width: 100%;
}
.mhf-contact-form input:focus, .mhf-contact-form textarea:focus { border-color: var(--mhf-orange) !important; outline: 0; box-shadow: 0 0 0 3px rgba(244, 140, 6, .18); }
.mhf-contact-form input[type="submit"], .mhf-contact-form button[type="submit"] {
    background: var(--mhf-orange) !important; color: var(--mhf-ink) !important; border-radius: 999px !important; border: 0 !important;
    font-weight: 700; padding: 15px 44px !important; text-transform: uppercase; letter-spacing: .03em; cursor: pointer;
}
.mhf-contact-form input[type="submit"]:hover { background: var(--mhf-ink) !important; color: #fff !important; }

@media (max-width: 767px) {
    .mhf-info-page .breadcrumb-title-wrapper { padding: 38px 0 32px !important; }
    .mhf-prose { font-size: 16px; }
    .mhf-prose h2 { font-size: 24px !important; }
    .mhf-prose h3 { font-size: 20px !important; }
    .mhf-contact-form { padding: 26px 18px !important; }
}

/* Kontakt: Ueberschriften und Formularbreite */
.mhf-lead-title .elementor-heading-title, .mhf-form-title .elementor-heading-title { color: var(--mhf-ink) !important; font-weight: 700; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.2; text-align: center; margin: 0; }
.mhf-form-title .elementor-heading-title { font-size: 26px; margin-bottom: 22px; }
.mhf-lead-text { max-width: 720px; margin: -14px auto 0; }
.mhf-contact-form { width: 100%; max-width: 780px; margin: 0 auto; }
.mhf-contact-form .wpcf7-form p { margin: 0 0 16px; }
.mhf-contact-form .wpcf7-form { text-align: center; }

/* Titelband: Brotkrumen unter die Ueberschrift, graue Theme-Leiste entfernen */
.mhf-info-page .breadcrumbs:before, .mhf-info-page .breadcrumbs:after { display: none !important; }
.mhf-info-page .breadcrumbs { padding: 0 !important; order: 3 !important; background: transparent !important; }
.mhf-info-page .breadcrumb-title h1.heading-title { order: 1 !important; }
.mhf-info-page .breadcrumb-content { padding: 0 25px; }

/* h4 der uebernommenen Texte wie Zwischenueberschriften behandeln */
.mhf-prose h4 { font-size: 23px !important; margin: 1.7em 0 .6em !important; padding-left: 16px; border-left: 5px solid var(--mhf-orange); }

.mhf-contact-card .elementor-icon-box-wrapper { align-items: center; }
.mhf-contact-card .elementor-icon-box-icon { display: flex; justify-content: center; width: 100%; }
.mhf-contact-card .elementor-icon-box-content { width: 100%; }

/* Kontakt: drei Karten in einer Reihe, auf Tablet/Handy untereinander */
.mhf-contact-row { flex-wrap: nowrap !important; align-items: stretch; }
.mhf-contact-row > .e-con { flex: 1 1 0 !important; min-width: 0; width: auto !important; --width: auto; }
.mhf-contact-row .mhf-contact-card { height: 100%; }
@media (max-width: 1024px) { .mhf-contact-row { flex-direction: column !important; } }

/* FAQ: aufklappbare Fragen (ohne Zusatzplugin) */
.mhf-info-page .mhf-faq details { background: #fff; border: 1px solid #EFE3D0; border-radius: 16px; margin: 0 0 14px; box-shadow: 0 6px 22px rgba(32,32,32,.06); overflow: hidden; }
.mhf-info-page .mhf-faq summary { cursor: pointer; list-style: none; position: relative; padding: 20px 64px 20px 26px; font-size: 18px; font-weight: 700; line-height: 1.4; color: var(--mhf-ink, #202020); }
.mhf-info-page .mhf-faq summary::-webkit-details-marker { display: none; }
.mhf-info-page .mhf-faq summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; background: #F48C06; color: #202020; font-size: 22px; font-weight: 700; line-height: 30px; text-align: center; }
.mhf-info-page .mhf-faq details[open] summary::after { content: "\2013"; }
.mhf-info-page .mhf-faq details[open] summary { color: #D97A00; }
.mhf-info-page .mhf-faq .mhf-faq-a { padding: 0 26px 22px; }
.mhf-info-page .mhf-faq .mhf-faq-a p { margin: 0; font-size: 16px; line-height: 1.75; color: var(--mhf-text, #333); }
.mhf-info-page .mhf-faq a { color: #D97A00; font-weight: 600; text-decoration: underline; }
