
/* DESIGN 4.0 — reference image(1).png: compact footer, line icons, badges, cards */
:root{--red:#cf003a;--ink:#192029;--muted:#58626f;--line:#e7eaed}
.ref-shell,.mestra-ref-embedded .ref-shell{box-sizing:border-box!important;width:100%!important;max-width:1320px!important;margin-left:auto!important;margin-right:auto!important;padding-left:28px!important;padding-right:28px!important}
.ref-slider{width:calc(100% - 40px)!important;max-width:1320px!important;margin:0 auto!important;border-radius:3px}
.ref-header .ref-headerin{max-width:1320px!important}.ref-header{box-shadow:0 1px 10px #0b142112}
.ref-shop,.ref-button{background:#c60038!important;border-radius:4px!important;box-shadow:none!important}
.ref-shop:hover,.ref-button:hover{background:#a90030!important}
.ref-kicker{font-size:10px!important;font-weight:850!important}.ref-kicker:before,.ref-section-head h2:before{background:#cf003a!important}
.ref-feature,.ref-product,.ref-catalog,.dl-item{border-radius:6px!important;box-shadow:0 3px 8px #1c27300d!important;border:1px solid #e8ebef!important}
.ref-feature-copy{position:relative}.ref-feature-copy h3{letter-spacing:-.02em}.ref-feature a,.ref-textlink{color:#cc003a!important}
.ref-news-badge{display:inline-flex;align-items:center;min-height:18px;background:#c90036;color:white!important;border-radius:2px;padding:3px 6px;letter-spacing:.02em;font-size:9px!important;line-height:1.1}
.ui-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;color:#d0003b;flex:0 0 auto}
.ui-icon-category{margin-right:8px;width:24px;height:24px}
.ref-category-tiles .ref-feature h3{display:flex;align-items:center;gap:4px}
.ref-trust{display:flex!important;align-items:stretch;justify-content:space-between;gap:0!important}
.ref-trust>div{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;border-right:1px solid #e1e5e9;padding:6px 13px!important}
.ref-trust>div:last-child{border-right:0}
.ref-trust-icon .ui-icon{width:27px;height:27px}
.ref-trust b{font-size:11px!important;line-height:1.25}
.ref-footer{background:#252b32!important;color:#f0f2f4!important;margin-top:0!important}
.ref-footerinner{max-width:1320px!important;display:grid!important;grid-template-columns:1.6fr 1.35fr 1.15fr 1fr 1fr!important;gap:20px!important;align-items:center!important;padding-top:17px!important;padding-bottom:17px!important;min-height:83px}
.ref-footerinner>div{display:flex;align-items:center;gap:10px;min-width:0}
.ref-footbrand{flex-direction:row!important;border-right:1px solid #7c858e;padding-right:15px}
.ref-footbrand img{width:122px;max-width:122px;filter:grayscale(1) brightness(2)!important}
.ref-footbrand span{color:#fff;font-size:11px;font-weight:700;white-space:nowrap}
.ref-footcontact{align-items:flex-start!important;font-size:11px;line-height:1.5;color:#eff0f2}
.ref-footcontact .ui-icon{color:#f5f5f5;width:18px;height:18px;margin-top:1px}
.ref-footerinner .ref-footcontact a,.ref-footerinner .ref-footnav a{font-size:11px!important;color:#f0f2f4!important}
.ref-footnav{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important}
.ref-footnav a:hover{text-decoration:underline}
@media(max-width:1100px){.ref-footerinner{grid-template-columns:1fr 1fr 1fr!important;align-items:start!important}.ref-footbrand{border-right:0}.ref-trust>div{padding:6px!important}}
@media(max-width:760px){.ref-shell,.mestra-ref-embedded .ref-shell{padding-left:18px!important;padding-right:18px!important}.ref-slider{width:100%!important}.ref-footerinner{grid-template-columns:1fr 1fr!important;gap:17px!important}.ref-footbrand{grid-column:1/-1}.ref-trust{flex-wrap:wrap}.ref-trust>div{flex:0 0 50%}}
@media(max-width:480px){.ref-footerinner{grid-template-columns:1fr!important}.ref-footbrand{grid-column:auto}}
/* keep documented four-column library */
.dl-section .dl-results{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
@media(max-width:1250px){.dl-section .dl-results{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:950px){.dl-section .dl-results{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.dl-section .dl-results{grid-template-columns:1fr!important}}

/* Kontaktseite 6.1 */
.mestra-contact-v61 .contact-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.mestra-contact-v61 .contact-top-grid>.contact-vcard{min-width:0;overflow:hidden}
.mestra-contact-v61 .contact-top-grid .contact-vcard-top{font-size:11px;letter-spacing:.06em;font-weight:800;color:#bc0037;margin-bottom:15px}
.mestra-contact-v61 .contact-person-card{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:16px;align-items:start}
.mestra-contact-v61 .contact-person-photo{width:112px;height:132px;object-fit:cover;object-position:center top;border-radius:9px;background:#f1f3f5;border:1px solid #dee3e8;display:block}
.mestra-contact-v61 .contact-person-card h3{font-size:20px;margin:0 0 5px}
.mestra-contact-v61 .contact-region{font-weight:700;font-size:13px;color:#a80035}
.mestra-contact-v61 .contact-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.mestra-contact-v61 .contact-people-grid .contact-person-card{padding:22px;border:1px solid #e5e8ed;border-radius:11px;background:#fff;box-shadow:0 4px 15px #1a26350a;grid-template-columns:minmax(0,1fr) 128px}
.mestra-contact-v61 .contact-people-grid .contact-person-photo{width:128px;height:148px}
.mestra-contact-v61 .contact-partner-logo{height:76px;max-width:240px;margin-bottom:14px;display:flex;align-items:center}
.mestra-contact-v61 .contact-partner-logo img{max-width:100%;max-height:100%;object-fit:contain}
.mestra-contact-v61 .contact-links a,.mestra-contact-v61 .contact-links span{overflow-wrap:anywhere}
@media(max-width:1000px){.mestra-contact-v61 .contact-top-grid{grid-template-columns:1fr 1fr}.mestra-contact-v61 .contact-top-grid>.contact-vcard:last-child{grid-column:1/-1}}
@media(max-width:720px){.mestra-contact-v61 .contact-top-grid,.mestra-contact-v61 .contact-people-grid{grid-template-columns:1fr}.mestra-contact-v61 .contact-top-grid>.contact-vcard:last-child{grid-column:auto}.mestra-contact-v61 .contact-people-grid .contact-person-card{grid-template-columns:minmax(0,1fr) 102px}.mestra-contact-v61 .contact-people-grid .contact-person-photo{width:102px;height:128px}}


/* Kontakt 6.7: Grid-Fix auch nach dem zuletzt geladenen design-final.css.
   Die Elterncontainer bestimmen die Breite, nicht ältere v61-Regeln. */
@media (min-width:701px) {
  main.mestra-contact-v64 .contact-top-grid {
    display:grid;
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
  }
  main.mestra-contact-v64 .contact-top-grid > .contact-vcard {
    grid-column:auto;
    width:100%;
    min-width:0;
  }
  main.mestra-contact-v64 .contact-region-three {
    display:grid;
    width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }
  main.mestra-contact-v64 .contact-region-three > .contact-person-card {
    grid-column:1 / span 1;
    min-width:0;
    width:100%;
  }
}
@media (max-width:700px) {
  main.mestra-contact-v64 .contact-top-grid,
  main.mestra-contact-v64 .contact-region-three {grid-template-columns:minmax(0,1fr);}
}


/* 7.0: Real image and precise 1:2 inner columns for Frank Andrée. */
.mestra-contact-v64 .contact-top-grid .contact-person-card.contact-person-card-left {
 display:grid !important;
 grid-template-columns:minmax(0,1fr) minmax(0,2fr) !important;
 gap:20px;
 align-items:start;
 width:100%;
}
.mestra-contact-v64 .contact-top-grid .contact-person-card.contact-person-card-left > img.contact-person-photo {
 grid-column:1 !important;grid-row:1 !important;
 width:100% !important;height:auto !important;
 aspect-ratio:1 / 1;object-fit:cover;object-position:center;
 border-radius:9px;display:block;
}
.mestra-contact-v64 .contact-top-grid .contact-person-card.contact-person-card-left > .contact-person-text {
 grid-column:2 !important;grid-row:1 !important;min-width:0;
}
@media(max-width:380px){.mestra-contact-v64 .contact-top-grid .contact-person-card.contact-person-card-left{gap:12px;}}
