/*
 * Master Fooder 1.08.07 — Premium templates
 * One source of truth, loaded after footer.css and its inline compatibility CSS.
 * All selectors are scoped to actual preset rows. Custom footers stay unchanged.
 */
#master-fooder.mf-footer--premium {
    width:100%; max-width:100%; min-width:0; box-sizing:border-box;
}
#master-fooder .mf-preset-main,
#master-fooder .mf-preset-bottom {
    --mf-preset-text:#fff7fa;
    --mf-preset-accent:#f6a0be;
    --mf-preset-line:rgba(255,235,243,.20);
    --mf-preset-hover:rgba(255,255,255,.075);
    --mf-preset-icon:rgba(244,69,131,.20);
    --mf-preset-strip:rgba(37,0,14,.24);
    --mf-preset-gutter:clamp(20px,4vw,80px);
    position:relative; isolation:isolate; width:100%!important; max-width:100%!important;
    min-width:0; box-sizing:border-box!important; color:var(--mf-preset-text)!important;
    padding-inline:var(--mf-preset-gutter)!important;
}
#master-fooder .mf-preset-soft-main {
    --mf-preset-text:#32111f; --mf-preset-accent:#9a1743;
    --mf-preset-line:rgba(94,24,49,.16); --mf-preset-hover:rgba(154,23,67,.06);
    --mf-preset-icon:rgba(154,23,67,.09);
}
#master-fooder .mf-preset-soft-bottom { --mf-preset-strip:#741033; }
#master-fooder .mf-preset-glass-main { --mf-preset-icon:rgba(244,69,131,.16); }
#master-fooder .mf-preset-glass-bottom { --mf-preset-strip:rgba(5,0,3,.30); }
#master-fooder .mf-preset-main { padding-block:clamp(32px,3vw,54px)!important; }
#master-fooder .mf-preset-main .mf-row-inner,
#master-fooder .mf-preset-bottom .mf-row-inner {
    box-sizing:border-box!important; width:100%!important; max-width:1840px!important;
    padding:0!important; margin:0 auto!important; min-width:0;
}
#master-fooder .mf-preset-main .mf-row-grid,
#master-fooder .mf-preset-bottom .mf-row-grid {
    position:relative; z-index:1; display:grid!important; width:100%; min-width:0;
    grid-template-columns:var(--mf-grid-d, minmax(0,1fr));
    gap:clamp(22px,2.3vw,44px)!important; box-sizing:border-box; align-items:stretch!important;
}
#master-fooder .mf-preset-main .mf-col,
#master-fooder .mf-preset-bottom .mf-col {
    min-width:0!important; max-width:100%!important; box-sizing:border-box!important;
}
#master-fooder .mf-preset-main .mf-col + .mf-col {
    border-inline-start:1px solid var(--mf-preset-line)!important;
    padding-inline-start:clamp(22px,2.4vw,44px)!important;
}
#master-fooder .mf-preset-main .mf-module,
#master-fooder .mf-preset-bottom .mf-module {
    min-width:0; max-width:100%; color:inherit!important; box-sizing:border-box;
}
/* Modest background depth, never a fixed-width overflowing decoration. */
#master-fooder .mf-preset-main::before {
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:radial-gradient(ellipse at 85% 100%,rgba(246,69,131,.12),transparent 55%);
}
#master-fooder .mf-preset-main::after {
    content:""; position:absolute; inset:auto 0 0; height:56px; z-index:0; pointer-events:none;
    background:linear-gradient(175deg,transparent 46%,rgba(240,71,129,.09) 47%,transparent 80%);
}
/* Brand sizing honors the widths selected in the builder. */
#master-fooder .mf-preset-main .mf-brand { gap:18px!important; color:inherit!important; }
#master-fooder .mf-preset-main .mf-brand__content { min-width:0; }
#master-fooder .mf-preset-main .mf-brand__title {
    margin:0 0 6px!important; font-size:clamp(17px,1.25vw,21px); line-height:1.4;
}
#master-fooder .mf-preset-main .mf-brand__text {
    margin:0!important; max-width:28ch; color:inherit!important;
    font-size:clamp(16px,1.15vw,20px)!important; line-height:1.5!important;
    overflow-wrap:anywhere; white-space:pre-line;
}
#master-fooder .mf-preset-main .mf-brand__text p { margin:0 0 .5em; }
#master-fooder .mf-preset-main .mf-brand__text p:last-child { margin-bottom:0; }
/* Shared heading rhythm for Kontakt / Navigation / Rechtliches. */
#master-fooder .mf-preset-main .mf-link-list__title,
#master-fooder .mf-preset-main .mf-contact-details__title {
    display:block!important; margin:0 0 18px!important; padding:0!important;
    font-family:inherit!important; font-size:clamp(18px,1.3vw,23px)!important;
    font-weight:700!important; line-height:1.25!important; letter-spacing:0!important;
    color:inherit!important; background:none!important; border:0!important;
    text-transform:none!important; text-decoration:none!important; box-shadow:none!important;
}
#master-fooder .mf-preset-main .mf-link-list__title::after,
#master-fooder .mf-preset-main .mf-contact-details__title::after {
    content:""; display:block!important; width:38px; height:2px;
    margin:13px 0 0; background:var(--mf-preset-accent); border:0; border-radius:2px;
}
/* A real list with full-row targets. No bullets, font glyphs or duplicated arrows. */
#master-fooder .mf-preset-main .mf-link-list {
    display:block!important; width:100%!important; min-width:0; max-width:100%;
    padding:0!important; margin:0!important; color:inherit!important;
    text-align:start!important; box-sizing:border-box;
}
#master-fooder .mf-preset-main .mf-link-list__items {
    display:block!important; width:100%!important; min-width:0!important; max-width:100%!important;
    list-style:none!important; padding:0!important; margin:0!important; gap:0!important;
    box-sizing:border-box!important;
}
#master-fooder .mf-preset-main .mf-link-list__items > li {
    display:block!important; position:relative; width:100%!important; min-width:0!important;
    max-width:100%!important; float:none!important; margin:0!important; padding:0!important;
    list-style:none!important; background:none!important; box-shadow:none!important;
    border:0!important; border-bottom:1px solid var(--mf-preset-line)!important;
    box-sizing:border-box!important;
}
#master-fooder .mf-preset-main .mf-link-list__items > li:last-child { border-bottom:0!important; }
#master-fooder .mf-preset-main .mf-link-list__items > li::marker { content:""!important; }
#master-fooder .mf-preset-main .mf-link-list__items > li::before,
#master-fooder .mf-preset-main .mf-link-list__items > li::after { content:none!important; display:none!important; }
#master-fooder .mf-preset-main .mf-link-list__items > li > a,
#master-fooder .mf-preset-main .mf-link-list__items > li > span {
    display:flex!important; position:relative!important; align-items:center!important; gap:12px!important;
    width:100%!important; max-width:100%!important; min-width:0!important; min-height:44px;
    box-sizing:border-box!important; margin:0!important; padding:10px 8px!important;
    color:inherit!important; background:transparent; border:0!important; border-radius:5px;
    box-shadow:none!important; font-family:inherit!important; font-size:clamp(16px,1vw,18px)!important;
    font-weight:400!important; line-height:1.45!important; letter-spacing:0!important;
    text-align:start!important; text-transform:none!important; text-decoration:none!important;
    white-space:normal!important; overflow-wrap:anywhere!important; word-break:normal!important;
    transform:none!important; transition:background-color .18s ease;
}
#master-fooder .mf-preset-main .mf-link-list__items > li > a::before,
#master-fooder .mf-preset-main .mf-link-list__items > li > span::before {
    content:""!important; display:block!important; position:static!important;
    flex:0 0 7px!important; width:7px!important; height:7px!important; margin:0 2px 0 0!important;
    padding:0!important; box-sizing:border-box!important; opacity:1!important;
    background:none!important; border:0!important;
    border-top:2px solid var(--mf-preset-accent)!important;
    border-right:2px solid var(--mf-preset-accent)!important;
    transform:rotate(45deg)!important; box-shadow:none!important;
}
#master-fooder .mf-preset-main .mf-link-list__items > li > a::after,
#master-fooder .mf-preset-main .mf-link-list__items > li > span::after { content:none!important; display:none!important; }
#master-fooder .mf-preset-main .mf-link-list__items > li > a:hover { background:var(--mf-preset-hover)!important; }
#master-fooder .mf-preset-main .mf-link-list__items > li > a:focus-visible {
    outline:2px solid var(--mf-preset-accent)!important; outline-offset:-2px!important;
    background:var(--mf-preset-hover)!important;
}
/* Contact badges align with the link-list rhythm. */
#master-fooder .mf-preset-main .mf-contact-details { gap:0!important; color:inherit!important; }
#master-fooder .mf-preset-main .mf-contact-details__list { display:flex!important; gap:14px!important; }
#master-fooder .mf-preset-main .mf-contact-details__item {
    grid-template-columns:42px minmax(0,1fr)!important; column-gap:14px!important;
    align-items:center!important; text-decoration:none!important; color:inherit!important;
}
#master-fooder .mf-preset-main .mf-contact-details__icon {
    width:42px!important; min-width:42px!important; max-width:42px!important;
    height:42px!important; min-height:42px!important; max-height:42px!important;
    margin:0!important; padding:10px!important; border-radius:50%; box-sizing:border-box!important;
    display:flex!important; align-items:center!important; justify-content:center!important;
    background:var(--mf-preset-icon)!important; color:inherit!important;
    box-shadow:inset 0 0 0 1px var(--mf-preset-line);
}
#master-fooder .mf-preset-main .mf-contact-details__icon > *,
#master-fooder .mf-preset-main .mf-contact-details__icon .dashicons,
#master-fooder .mf-preset-main .mf-contact-details__icon .mf-icon-svg,
#master-fooder .mf-preset-main .mf-contact-details__icon .mf-icon-svg-url,
#master-fooder .mf-preset-main .mf-contact-details__icon i {
    width:22px!important; min-width:22px!important; max-width:22px!important;
    height:22px!important; min-height:22px!important; max-height:22px!important;
    flex:0 0 22px!important; padding:0!important; margin:0!important; font-size:22px!important;
}
#master-fooder .mf-preset-main .mf-contact-details__value {
    font-size:clamp(16px,1vw,18px)!important; line-height:1.5!important; color:inherit!important;
}
#master-fooder .mf-preset-main .mf-contact-details__item:focus-visible {
    outline:2px solid var(--mf-preset-accent)!important; outline-offset:3px!important;
}
/* These two presets keep their original light-card / dark-card treatment. */
#master-fooder .mf-preset-soft-main .mf-col,
#master-fooder .mf-preset-glass-main .mf-col {
    border:1px solid var(--mf-preset-line)!important; border-radius:18px;
    padding:clamp(18px,1.8vw,28px)!important;
}
#master-fooder .mf-preset-soft-main .mf-col { background:rgba(255,255,255,.68); box-shadow:0 10px 34px rgba(76,17,38,.05); }
#master-fooder .mf-preset-glass-main .mf-col { background:rgba(255,255,255,.045); }
/* Preserve the template accent, but keep it in normal flow so it cannot clip. */
#master-fooder .mf-preset-main .mf-preset-col--legal::after {
    content:"Mit Herz für Viersen. ♡"; display:block; margin:26px 0 0;
    font-family:"Segoe Script","Brush Script MT",cursive; font-size:clamp(20px,1.5vw,28px);
    font-weight:400; font-style:italic; line-height:1.5; color:inherit; text-align:end;
    white-space:normal; overflow-wrap:anywhere; pointer-events:none;
}
/* Copyright + studio credit keep their separate columns and original links. */
#master-fooder .mf-preset-bottom {
    padding-block:18px!important; border-top:1px solid var(--mf-preset-line)!important;
    background:var(--mf-preset-strip)!important;
}
#master-fooder .mf-preset-bottom .mf-row-grid { align-items:center!important; gap:16px 28px!important; }
#master-fooder .mf-preset-bottom .mf-col { padding:0!important; border:0!important; }
#master-fooder .mf-preset-bottom .mf-module,
#master-fooder .mf-preset-bottom .mf-module p,
#master-fooder .mf-preset-bottom .mf-module span,
#master-fooder .mf-preset-bottom .mf-module small,
#master-fooder .mf-preset-bottom .mf-module a {
    font-size:13px!important; line-height:1.55!important; color:inherit!important;
    max-width:100%; white-space:normal!important; overflow-wrap:anywhere!important;
}
#master-fooder .mf-preset-bottom .mf-module p { margin:0!important; }
#master-fooder .mf-preset-bottom .mf-module { margin:0!important; }
#master-fooder .mf-preset-bottom .mf-module + .mf-module { margin-top:8px!important; }
#master-fooder .mf-preset-bottom a { text-decoration:underline!important; text-underline-offset:3px; }
#master-fooder .mf-preset-bottom a:focus-visible { outline:2px solid currentColor!important; outline-offset:2px; }
/* Intermediate desktops/tablets: four tiny columns are less useful than two readable ones. */
@media (max-width:1200px) and (min-width:783px) {
    #master-fooder .mf-preset-main[data-mf-columns="4"] .mf-row-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
    #master-fooder .mf-preset-burgundy-main[data-mf-columns="4"] .mf-col:nth-child(odd) { border-inline-start:0!important; padding-inline-start:0!important; }
}
@media (max-width:991px) {
    #master-fooder .mf-preset-main,
    #master-fooder .mf-preset-bottom { --mf-preset-gutter:clamp(20px,3.5vw,36px); }
    #master-fooder .mf-preset-main .mf-row-grid,
    #master-fooder .mf-preset-bottom .mf-row-grid { grid-template-columns:var(--mf-grid-t,var(--mf-grid-d,minmax(0,1fr))); }
    #master-fooder .mf-preset-main--tablet-b { padding-top:24px!important; border-top:1px solid var(--mf-preset-line); }
}
@media (max-width:782px) {
    #master-fooder .mf-preset-main,
    #master-fooder .mf-preset-bottom { --mf-preset-gutter:20px; }
    #master-fooder .mf-preset-main .mf-row-grid,
    #master-fooder .mf-preset-bottom .mf-row-grid { grid-template-columns:minmax(0,1fr)!important; gap:22px!important; }
    #master-fooder .mf-preset-main .mf-col + .mf-col { border-inline-start:0!important; padding-inline-start:0!important; }
    #master-fooder .mf-preset-main .mf-col + .mf-col { padding-top:24px; border-top:1px solid var(--mf-preset-line); }
    #master-fooder .mf-preset-mobile-brand { padding-block:28px 16px!important; }
    #master-fooder .mf-preset-mobile-section { padding-block:10px!important; }
    #master-fooder .mf-preset-mobile-section .mf-col {
        border:1px solid var(--mf-preset-line)!important; border-radius:14px;
        padding:20px!important; background:var(--mf-preset-hover);
    }
    #master-fooder .mf-preset-main .mf-link-list__title,
    #master-fooder .mf-preset-main .mf-contact-details__title { font-size:19px!important; margin-bottom:12px!important; }
    #master-fooder .mf-preset-main .mf-link-list__items > li > a,
    #master-fooder .mf-preset-main .mf-link-list__items > li > span { font-size:16px!important; min-height:46px; }
    #master-fooder .mf-preset-main .mf-contact-details__item { grid-template-columns:38px minmax(0,1fr)!important; column-gap:10px!important; }
    #master-fooder .mf-preset-main .mf-contact-details__icon {
        width:38px!important; min-width:38px!important; max-width:38px!important;
        height:38px!important; min-height:38px!important; max-height:38px!important; padding:8px!important;
    }
    #master-fooder .mf-preset-main .mf-contact-details__value { font-size:15px!important; }
    #master-fooder .mf-preset-bottom { margin-top:12px; }
    #master-fooder .mf-preset-bottom .mf-col { text-align:start!important; }
    #master-fooder .mf-preset-bottom .mf-col + .mf-col { padding-top:12px!important; border-top:1px solid var(--mf-preset-line)!important; }
    #master-fooder .mf-preset-soft-main .mf-col,
    #master-fooder .mf-preset-glass-main .mf-col { padding:20px!important; }
}
@media (prefers-reduced-motion:reduce) {
    #master-fooder .mf-preset-main .mf-link-list__items > li > a { transition:none!important; }
}
