.mpam-wrap{--accent:#8b5368;--accent-dark:#6f3e52;--accent-soft:#f7f1f4;--highlight-bg:#fbf7f9;--text:#29262a;--muted:#676067;--line:#ded3d8;max-width:980px;margin:0 auto;font-family:inherit}.mpam-filterbox,.mpam-list{background:#fff;border:1px solid #ece5e8;border-radius:12px;box-shadow:0 8px 28px rgba(43,31,37,.06)}.mpam-filterbox{margin-bottom:1.5rem;padding:1rem 1.25rem}.mpam-filter-main{display:grid;grid-template-columns:minmax(190px,260px) minmax(280px,1fr) auto;gap:.8rem;align-items:end}.mpam-filter-label{display:block;margin-bottom:.35rem;color:var(--text);font-size:.74rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.mpam-label-placeholder{visibility:hidden}.mpam-branch-field select,#mpam-branch{display:block;width:100%;height:42px;box-sizing:border-box;padding:.6rem 2.2rem .6rem .75rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit}.mpam-search-field-wrap{min-width:0}.mpam-search-field{position:relative}.mpam-search-field input{width:100%;height:42px;box-sizing:border-box;padding:.6rem 2.6rem .6rem .8rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit}.mpam-search-clear{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);width:1.9rem;height:1.9rem;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font:inherit;font-size:1.25rem;cursor:pointer}.mpam-search-clear:hover{background:var(--accent-soft);color:var(--accent-dark)}.mpam-reset{height:42px;padding:.6rem .9rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--accent-dark);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;white-space:nowrap}.mpam-reset:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.mpam-reset:disabled{opacity:.45;cursor:default}.mpam-alpha-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.mpam-alpha-left{display:flex;align-items:center;gap:.7rem;min-width:0}.mpam-alpha-label{margin:0;white-space:nowrap}.mpam-letters{display:flex;flex-wrap:wrap;gap:.32rem}.mpam-letter{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .55rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.mpam-letter:hover{border-color:var(--accent);color:var(--accent-dark)}.mpam-letter.mpam-active{border-color:var(--accent);background:var(--accent);color:#fff}.mpam-result-count{flex:0 0 auto;padding:.35rem .65rem;color:var(--accent-dark);background:var(--accent-soft);border-radius:999px;font-size:.78rem;white-space:nowrap}.mpam-empty{margin-top:.8rem;padding:.75rem .9rem;background:var(--accent-soft);border-radius:8px;color:var(--text)}.mpam-list{padding:0 2rem}.mpam-entry{padding:2rem 0;border-bottom:1px solid var(--line)}.mpam-entry:last-child{border-bottom:0}.mpam-category{display:inline-block;margin-bottom:.65rem;padding:.28rem .65rem;color:var(--accent);background:var(--accent-soft);border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mpam-entry h3{margin:0 0 .75rem;color:var(--text);font-size:1.35rem;line-height:1.3}.mpam-description{max-width:none;margin:0 0 1rem;color:var(--muted);line-height:1.7}.mpam-highlight{margin:1.15rem 0 1rem;padding:1rem 1.15rem;background:var(--highlight-bg);border-left:4px solid var(--accent);border-radius:0 8px 8px 0}.mpam-highlight span{display:block;margin-bottom:.3rem;color:var(--accent-dark);font-size:.78rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.mpam-highlight p{margin:0;color:var(--text);line-height:1.6;font-size:16px}.mpam-website{display:inline-flex;align-items:center;gap:.45rem;color:var(--accent);font-weight:700;text-decoration:none;overflow-wrap:anywhere}.mpam-website:before{content:"↗"}.mpam-website:hover{color:var(--accent-dark);text-decoration:underline}@media(max-width:760px){.mpam-filter-main{grid-template-columns:1fr}.mpam-label-placeholder{display:none}.mpam-reset-field{display:flex;justify-content:flex-end}.mpam-reset{width:100%}.mpam-alpha-row{align-items:flex-start}.mpam-alpha-left{display:block}.mpam-alpha-label{margin-bottom:.45rem}.mpam-result-count{margin-top:.1rem}.mpam-list{padding:0 1.25rem}.mpam-entry{padding:1.55rem 0}}@media(max-width:480px){.mpam-filterbox{padding:.9rem}.mpam-alpha-row{display:block}.mpam-result-count{display:inline-flex;margin-top:.7rem}}

.mpam-entry-has-logo{display:grid;grid-template-columns:280px minmax(0,1fr);gap:34px;align-items:start}
.mpam-logo-box{display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:0;padding:0;box-sizing:border-box;overflow:visible}
.mpam-logo-box img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.mpam-logo-box-landscape{width:270px;height:155px}
.mpam-logo-box-square{width:240px;height:230px}
.mpam-logo-box-portrait{width:245px;height:280px}

@media(max-width:680px){.mpam-entry-has-logo{grid-template-columns:1fr;gap:14px}.mpam-logo-box-landscape{width:245px;height:145px}.mpam-logo-box-square{width:215px;height:205px}.mpam-logo-box-portrait{width:215px;height:245px}}


.mpam-logo-link{display:flex;width:100%;height:100%;align-items:center;justify-content:center;text-decoration:none}
.mpam-logo-link img{transition:transform .18s ease}
.mpam-logo-link:hover img,.mpam-logo-link:focus-visible img{transform:scale(1.03)}
.mpam-logo-link:focus-visible{outline:2px solid #8b5368;outline-offset:4px}


.mpam-entry-content{position:relative;min-padding-right:120px;width:100%;max-width:none;min-width:0}
.mpam-hall-badge{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;min-width:86px;min-height:34px;padding:.45rem .8rem;box-sizing:border-box;border-radius:999px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.025em;white-space:nowrap;box-shadow:0 4px 12px rgba(43,31,37,.08)}
@media(max-width:680px){.mpam-entry-content{padding-right:0}.mpam-hall-badge{position:static;display:flex;width:max-content;margin:0 0 .75rem auto}}


/* Betriebsbeschreibung: feste Schriftgröße, unabhängig vom Theme */
.mpam-entry .mpam-description,
.mpam-entry .mpam-description p,
.mpam-entry .mpam-description li,
.mpam-entry .mpam-description span{
    font-size:16px !important;
}


/* Beschreibung und Messe-Highlight bis zum rechten Kartenrand nutzen */
.mpam-entry .mpam-content,
.mpam-entry .mpam-entry-content{
    width:100%;
    max-width:none;
    min-width:0;
}

.mpam-entry .mpam-description,
.mpam-entry .mpam-highlight{
    width:100%;
    max-width:none;
    box-sizing:border-box;
}

/* Kein künstlicher rechter Einzug für Beschreibung oder Highlight */
.mpam-entry .mpam-description,
.mpam-entry .mpam-description p,
.mpam-entry .mpam-highlight,
.mpam-entry .mpam-highlight p{
    margin-right:0;
}






/* Filterleiste einheitlich 16 px */
.mpam-wrap .mpam-filters label,
.mpam-wrap .mpam-filter label,
.mpam-wrap .mpam-filter-bar label,
.mpam-wrap .mpam-branch-field label,
.mpam-wrap .mpam-search-field label{
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
}

.mpam-wrap .mpam-branch-field select,
.mpam-wrap #mpam-branch,
.mpam-wrap select[name="branch"],
.mpam-wrap select[data-filter="branch"],
.mpam-wrap .mpam-search-field input,
.mpam-wrap input[type="search"],
.mpam-wrap input[data-filter="search"]{
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:600 !important;
}

.mpam-wrap .mpam-branch-field select option,
.mpam-wrap #mpam-branch option,
.mpam-wrap select[name="branch"] option,
.mpam-wrap select[data-filter="branch"] option{
    font-size:16px !important;
    font-weight:600 !important;
}

.mpam-wrap .mpam-search-field input::placeholder,
.mpam-wrap input[type="search"]::placeholder,
.mpam-wrap input[data-filter="search"]::placeholder{
    font-size:16px !important;
    font-weight:600 !important;
    opacity:1;
}


/* Überschrift „Branche“ exakt wie „Suche“ darstellen */
.mpam-wrap .mpam-branch-field .mpam-filter-label{
    font-size:.74rem !important;
    line-height:normal !important;
    font-weight:800 !important;
    letter-spacing:.035em !important;
    text-transform:uppercase !important;
}


/* =========================================================
   Layout-Option: Variante B / Editorial
   Aktiv per Shortcode:
   [messepilot_aussteller jahr="2026" layout="editorial"]
   ========================================================= */

.mpam-wrap.mpam-layout-editorial{
    max-width:1120px;
}

/* Filterbox bleibt kompakt und bewusst zurückhaltend */
.mpam-wrap.mpam-layout-editorial .mpam-filterbox{
    margin-bottom:28px;
    border-color:#eee7ea;
    box-shadow:0 5px 18px rgba(43,31,37,.035);
}

/* Der äußere Listenrahmen verschwindet im Editorial-Layout */
.mpam-wrap.mpam-layout-editorial .mpam-list{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

/* Einzelner Aussteller: feine, ruhige Karte */
.mpam-wrap.mpam-layout-editorial .mpam-entry{
    position:relative;
    display:grid;
    grid-template-columns:minmax(180px,230px) minmax(0,1fr);
    gap:38px;
    margin:0 0 22px;
    padding:34px 36px;
    border:1px solid #ebe4e7;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 28px rgba(43,31,37,.045);
    transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.mpam-wrap.mpam-layout-editorial .mpam-entry:hover{
    border-color:#dfd0d6;
    box-shadow:0 12px 32px rgba(43,31,37,.065);
    transform:translateY(-1px);
}

.mpam-wrap.mpam-layout-editorial .mpam-entry:not(.mpam-entry-has-logo){
    grid-template-columns:1fr;
}

/* Logo: kein sichtbarer Rahmen, viel Luft, bewusst ruhig */
.mpam-wrap.mpam-layout-editorial .mpam-logo-box{
    width:100%;
    height:100%;
    min-height:170px;
    margin:0;
    padding:6px 0;
    display:flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    background:transparent;
    border:0;
    border-radius:0;
    overflow:visible;
}

.mpam-wrap.mpam-layout-editorial .mpam-logo-box-landscape{
    height:170px;
}
.mpam-wrap.mpam-layout-editorial .mpam-logo-box-square{
    height:205px;
}
.mpam-wrap.mpam-layout-editorial .mpam-logo-box-portrait{
    height:240px;
}

.mpam-wrap.mpam-layout-editorial .mpam-logo-link,
.mpam-wrap.mpam-layout-editorial .mpam-logo-box img{
    width:100%;
    height:100%;
}

.mpam-wrap.mpam-layout-editorial .mpam-logo-box img{
    object-fit:contain;
}

/* Rechte Informationsspalte */
.mpam-wrap.mpam-layout-editorial .mpam-entry-content{
    position:relative;
    display:flex;
    flex-wrap:wrap;
    align-content:flex-start;
    align-items:center;
    gap:8px 10px;
    width:100%;
    max-width:none;
    min-width:0;
    padding:0;
}

/* Kategorie: sehr dezent, ohne Pillenoptik */
.mpam-wrap.mpam-layout-editorial .mpam-category{
    order:1;
    margin:0;
    padding:0;
    border-radius:0;
    background:transparent;
    color:var(--accent-dark);
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* Halle: nicht mehr als kräftiger Button, sondern ruhige Metainfo */
.mpam-wrap.mpam-layout-editorial .mpam-hall-badge{
    order:2;
    position:static;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:92px;
    min-height:34px;
    margin:0 0 0 auto;
    padding:7px 13px;
    border-radius:999px;
    background:var(--accent);
    color:#fff;
    box-shadow:none;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.025em;
    text-transform:none;
    white-space:nowrap;
}

.mpam-wrap.mpam-layout-editorial .mpam-hall-badge:before{
    content:"";
    margin:0;
}

/* Firmenname */
.mpam-wrap.mpam-layout-editorial .mpam-entry h3{
    order:3;
    width:100%;
    margin:5px 0 8px;
    color:var(--text);
    font-size:28px;
    font-weight:700;
    line-height:1.18;
    letter-spacing:-.015em;
}

/* Beschreibung */
.mpam-wrap.mpam-layout-editorial .mpam-description{
    order:4;
    width:100%;
    margin:0;
    color:#5f595e;
    font-size:16px !important;
    font-weight:400;
    line-height:1.62;
}

/* Messe-Highlight: feine Trennung statt großer Box */
.mpam-wrap.mpam-layout-editorial .mpam-highlight{
    order:5;
    width:100%;
    margin:10px 0 0;
    padding:14px 0 0;
    border:0;
    border-top:1px solid #e9e0e4;
    border-radius:0;
    background:transparent;
}

.mpam-wrap.mpam-layout-editorial .mpam-highlight span{
    display:block;
    margin:0 0 5px;
    color:var(--accent-dark);
    font-size:11px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.085em;
    text-transform:uppercase;
}

.mpam-wrap.mpam-layout-editorial .mpam-highlight p{
    margin:0;
    color:var(--text);
    font-size:15px;
    line-height:1.55;
}

/* Website: unaufdringlich, aber gut auffindbar */
.mpam-wrap.mpam-layout-editorial .mpam-website{
    order:6;
    margin-top:8px;
    color:var(--accent-dark);
    font-size:14px;
    font-weight:700;
    text-decoration:none;
}

.mpam-wrap.mpam-layout-editorial .mpam-website:before{
    content:"";
}

.mpam-wrap.mpam-layout-editorial .mpam-website:after{
    content:"  ↗";
    font-size:.9em;
}

.mpam-wrap.mpam-layout-editorial .mpam-website:hover{
    color:var(--accent);
    text-decoration:underline;
}

/* Tablet */
@media(max-width:860px){
    .mpam-wrap.mpam-layout-editorial .mpam-entry{
        grid-template-columns:170px minmax(0,1fr);
        gap:26px;
        padding:28px;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-logo-box-landscape{
        height:145px;
    }
    .mpam-wrap.mpam-layout-editorial .mpam-logo-box-square{
        height:175px;
    }
    .mpam-wrap.mpam-layout-editorial .mpam-logo-box-portrait{
        height:205px;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-entry h3{
        font-size:25px;
    }
}

/* Mobil: Logo oben, Inhalt darunter */
@media(max-width:640px){
    .mpam-wrap.mpam-layout-editorial .mpam-entry,
    .mpam-wrap.mpam-layout-editorial .mpam-entry-has-logo{
        grid-template-columns:1fr;
        gap:18px;
        padding:22px 20px;
        border-radius:16px;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-logo-box{
        min-height:0;
        justify-self:center;
        max-width:280px;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-logo-box-landscape{
        height:140px;
    }
    .mpam-wrap.mpam-layout-editorial .mpam-logo-box-square{
        height:170px;
    }
    .mpam-wrap.mpam-layout-editorial .mpam-logo-box-portrait{
        height:205px;
        max-width:220px;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-hall-badge{
        margin-left:auto;
        width:max-content;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-entry h3{
        font-size:23px;
    }
}


/* ---------------------------------------------------------
   Editorial v1.4.4: seitlicher Ausstellerlisten-Drawer
   --------------------------------------------------------- */
body.mpam-directory-open{
    overflow:hidden;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-fab{
    position:fixed;
    top:50%;
    right:0;
    z-index:9998;
    display:flex;
    align-items:center;
    gap:10px;
    padding:22px 16px 22px 15px;
    border:0;
    border-radius:18px 0 0 18px;
    background:var(--accent);
    color:#fff;
    box-shadow:0 10px 32px rgba(43,31,37,.24);
    font:inherit;
    cursor:pointer;
    writing-mode:vertical-rl;
    transform:translateY(-50%) rotate(180deg);
    transition:background .18s ease, padding .18s ease, box-shadow .18s ease;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-fab:hover,
.mpam-wrap.mpam-layout-editorial .mpam-directory-fab:focus-visible{
    background:var(--accent-dark);
    padding-left:19px;
    box-shadow:0 12px 36px rgba(43,31,37,.28);
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-fab:focus-visible{
    outline:3px solid rgba(139,83,104,.30);
    outline-offset:3px;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-fab-icon{
    font-size:21px;
    line-height:1;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-fab-label{
    font-size:16px;
    font-weight:800;
    letter-spacing:.05em;
}


.mpam-wrap.mpam-layout-editorial .mpam-directory-overlay{
    position:fixed;
    inset:0;
    z-index:10000;
    background:rgba(36,29,33,.30);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
    backdrop-filter:blur(2px);
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-overlay[hidden]{
    display:none;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-overlay.is-open{
    opacity:1;
    pointer-events:auto;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-drawer{
    position:absolute;
    top:50%;
    right:0;
    display:flex;
    flex-direction:column;
    width:min(660px,92vw);
    max-height:min(92vh,1120px);
    background:#fff;
    box-shadow:-18px 0 50px rgba(43,31,37,.16);
    transform:translate(100%,-50%);
    transition:transform .24s cubic-bezier(.22,.61,.36,1);
    outline:0;
    overflow:hidden;
    border-radius:18px 0 0 18px;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-overlay.is-open .mpam-directory-drawer{
    transform:translate(0,-50%);
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-head{
    position:relative;
    z-index:4;
    flex:0 0 auto;
    padding:26px 68px 21px 28px;
    border-bottom:1px solid #e6dce1;
    background:#fff;
    box-shadow:0 6px 16px rgba(43,31,37,.035);
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-kicker{
    display:block;
    margin:0 0 5px;
    color:var(--accent-dark);
    font-size:11px;
    font-weight:800;
    letter-spacing:.085em;
    text-transform:uppercase;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-head h2{
    margin:0;
    color:var(--text);
    font-size:25px;
    font-weight:700;
    line-height:1.15;
    letter-spacing:-.015em;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-subtitle{
    margin:7px 0 0;
    color:var(--muted);
    font-size:13px;
    line-height:1.45;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-close{
    position:absolute;
    top:22px;
    right:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid var(--line);
    border-radius:50%;
    background:#fff;
    color:var(--text);
    font:inherit;
    font-size:25px;
    line-height:1;
    cursor:pointer;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-close:hover{
    border-color:var(--accent);
    background:var(--accent-soft);
    color:var(--accent-dark);
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-list{
    flex:0 1 auto;
    max-height:min(78vh,930px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-row{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(120px,.60fr) minmax(170px,.85fr);
    gap:18px;
    align-items:center;
    min-height:38px;
    padding:8px 28px;
    border-bottom:1px solid #f1ebee;
    box-sizing:border-box;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-header{
    position:sticky;
    top:0;
    z-index:3;
    min-height:34px;
    padding-top:7px;
    padding-bottom:7px;
    background:#fbf9fa;
    color:#777076;
    font-size:10px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
    box-shadow:0 1px 0 #ebe4e7;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-item{
    transition:background .15s ease;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-item:hover{
    background:#fdfbfc;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-name a{
    color:var(--text);
    font-size:14px;
    font-weight:700;
    line-height:1.35;
    text-decoration:none;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-name a:hover{
    color:var(--accent-dark);
    text-decoration:underline;
    text-underline-offset:3px;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-hall span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:27px;
    padding:5px 9px;
    border-radius:999px;
    background:var(--accent-soft);
    color:var(--accent-dark);
    font-size:11px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-web a{
    color:var(--accent-dark);
    font-size:12px;
    font-weight:600;
    line-height:1.35;
    text-decoration:none;
    overflow-wrap:anywhere;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-web a:after{
    content:" ↗";
    font-size:.9em;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-web a:hover{
    color:var(--accent);
    text-decoration:underline;
}

.mpam-wrap.mpam-layout-editorial .mpam-directory-empty{
    padding:0 !important;
    background:transparent !important;
    color:#aaa3a8 !important;
}

/* Zielkarte nach Klick aus der Liste kurz dezent hervorheben */
.mpam-wrap.mpam-layout-editorial .mpam-entry{
    scroll-margin-top:24px;
}


/* Suchmaschinen & Accessibility: semantisches Markup bleibt vollständig sichtbar/indexierbar */
.mpam-wrap.mpam-layout-editorial article[itemscope]{
    content-visibility:auto;
    contain-intrinsic-size:auto 310px;
}

@media(max-width:760px){
    .mpam-wrap.mpam-layout-editorial .mpam-directory-drawer{
        width:min(560px,96vw);
        max-height:94vh;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-row{
        grid-template-columns:minmax(0,1fr) auto;
        column-gap:12px;
        row-gap:4px;
        min-height:78px;
        padding:13px 18px;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-name{
        grid-column:1;
        grid-row:1;
        min-width:0;
        align-self:center;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-name a{
        display:block;
        padding:3px 0 4px;
        font-size:18px;
        line-height:1.22;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-hall{
        grid-column:2;
        grid-row:1;
        justify-self:end;
        align-self:center;
        line-height:1.15;
        white-space:nowrap;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-hall span{
        min-height:26px;
        padding:4px 9px;
        font-size:12px;
        line-height:1.15;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-web{
        grid-column:1 / -1;
        grid-row:2;
        line-height:1.1;
        margin-top:4px;
        padding-top:3px;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-web a{
        display:inline-block;
        padding:3px 0 2px;
        font-size:15px;
        line-height:1.22;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-item:nth-child(odd){
        background:#fff;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-item:nth-child(even){
        background:#fbf8fa;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-item:hover{
        background:#f7f1f4;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-header{
        display:none;
    }
}

@media(max-width:640px){
    .mpam-wrap.mpam-layout-editorial .mpam-directory-fab{
        top:auto;
        right:auto;
        left:50%;
        bottom:18px;
        min-width:220px;
        padding:16px 24px;
        border-radius:999px;
        writing-mode:horizontal-tb;
        transform:translateX(-50%);
        gap:9px;
        white-space:nowrap;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-fab:hover,
    .mpam-wrap.mpam-layout-editorial .mpam-directory-fab:focus-visible{
        padding-left:20px;
        transform:translateX(-50%);
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-drawer{
        width:100%;
        max-height:96vh;
        border-radius:16px 0 0 16px;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-head{
        padding:22px 62px 17px 20px;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-close{
        top:18px;
        right:16px;
    }
}

@media(prefers-reduced-motion:reduce){
    .mpam-wrap.mpam-layout-editorial .mpam-directory-overlay,
    .mpam-wrap.mpam-layout-editorial .mpam-directory-drawer,
    .mpam-wrap.mpam-layout-editorial .mpam-directory-fab,
    .mpam-wrap.mpam-layout-editorial .mpam-entry{
        transition:none !important;
        scroll-behavior:auto !important;
    }
}


/* Exakt zentrierter Fokus: etwas Luft zwischen den Editorial-Einträgen,
   damit beim Anspringen der vorherige und nächste Aussteller erkennbar bleiben. */
.mpam-wrap.mpam-layout-editorial .mpam-list{
    scroll-padding-top:24px;
    scroll-padding-bottom:24px;
}

.mpam-wrap.mpam-layout-editorial .mpam-entry{
    scroll-margin-top:24px;
    scroll-margin-bottom:24px;
}


/* ---------------------------------------------------------
   Editorial v1.4.20: Fokusmodus statt Scrollpositionierung
   --------------------------------------------------------- */
body.mpam-focus-open{
    overflow:hidden;
}

.mpam-focus-overlay{
    position:fixed;
    inset:0;
    z-index:11000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:34px;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
}

.mpam-focus-overlay[hidden]{
    display:none;
}

.mpam-focus-overlay.is-open{
    opacity:1;
    pointer-events:auto;
}

.mpam-focus-backdrop{
    position:absolute;
    inset:0;
    background:rgba(247,244,246,.84);
    -webkit-backdrop-filter:blur(5px) saturate(.82);
    backdrop-filter:blur(5px) saturate(.82);
}

.mpam-focus-panel{
    position:relative;
    z-index:2;
    width:min(1080px,calc(100vw - 96px));
    max-height:calc(100vh - 80px);
    overflow:visible;
    border-radius:26px;
    outline:0;
    box-shadow:none;
    transform:translateY(10px) scale(.985);
    transition:transform .18s ease;
}

.mpam-focus-overlay.is-open .mpam-focus-panel{
    transform:translateY(0) scale(1);
}

.mpam-focus-card{
    position:relative;
    max-width:none !important;
    width:100%;
    margin:0 !important;
}

.mpam-focus-card .mpam-entry{
    margin:0 !important;
    width:100%;
    padding:40px 44px !important;
    border:4px solid var(--accent) !important;
    border-radius:24px !important;
    background:#fff !important;
    box-shadow:
        0 28px 80px rgba(43,31,37,.30),
        0 8px 24px rgba(139,83,104,.16) !important;
    transform:none !important;
    box-sizing:border-box;
}

.mpam-focus-card .mpam-entry:hover{
    transform:none !important;
}

.mpam-focus-close{
    position:absolute;
    top:18px;
    right:18px;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid #d9ccd2;
    border-radius:50%;
    background:rgba(255,255,255,.96);
    color:var(--text);
    box-shadow:0 6px 18px rgba(43,31,37,.12);
    font:inherit;
    font-size:28px;
    line-height:1;
    cursor:pointer;
}

.mpam-focus-close:hover,
.mpam-focus-close:focus-visible{
    border-color:var(--accent);
    color:var(--accent-dark);
    outline:none;
}

@media(max-width:760px){
    .mpam-focus-overlay{
        display:block;
        overflow-y:auto;
        overflow-x:hidden;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
        padding:
            max(16px, env(safe-area-inset-top))
            18px
            max(28px, calc(env(safe-area-inset-bottom) + 18px));
    }

    .mpam-focus-panel{
        position:relative;
        width:100%;
        max-width:none;
        max-height:none;
        min-height:0;
        margin:0 auto;
        overflow:visible;
        border-radius:20px;
    }

    .mpam-focus-card{
        width:100%;
        padding-bottom:max(12px, env(safe-area-inset-bottom));
    }

    .mpam-focus-card .mpam-entry{
        padding:28px 22px 34px !important;
        border-width:3px !important;
        border-radius:18px !important;
        box-shadow:
            0 20px 54px rgba(43,31,37,.28),
            0 6px 18px rgba(139,83,104,.14) !important;
    }

    .mpam-focus-close{
        position:sticky;
        top:max(10px, env(safe-area-inset-top));
        right:auto;
        float:right;
        margin:10px 10px -52px 0;
        width:42px;
        height:42px;
    }
}

/* Moderne mobile Browser: sichtbare Viewport-Höhe statt statischem 100vh */
@supports (height: 100dvh){
    @media(max-width:760px){
        .mpam-focus-overlay{
            height:100dvh;
            max-height:100dvh;
        }
    }
}

@supports (height: 100svh){
    @media(max-width:760px){
        .mpam-focus-overlay{
            min-height:100svh;
        }
    }
}

@media(prefers-reduced-motion:reduce){
    .mpam-focus-overlay,
    .mpam-focus-panel{
        transition:none !important;
    }
}

@media(max-width:640px){
    .mpam-wrap.mpam-layout-editorial .mpam-directory-fab-label{
        font-size:18px;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-fab-icon{
        font-size:22px;
    }
}


/* ---------------------------------------------------------
   Editorial v1.4.23: Hallenbutton in Fokuskarte mit Abstand zum Schließen-X
   --------------------------------------------------------- */
@media(min-width:761px){
    .mpam-focus-card.mpam-layout-editorial .mpam-hall-badge{
        margin-right:58px !important;
    }
}


/* ---------------------------------------------------------
   Editorial v1.4.24: Rückkehr von der Fokuskarte
   --------------------------------------------------------- */
.mpam-wrap.mpam-layout-editorial .mpam-entry.mpam-return-target{
    border-color:var(--accent) !important;
    box-shadow:
        0 16px 42px rgba(139,83,104,.14),
        0 0 0 3px rgba(139,83,104,.07) !important;
    transition:
        border-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease;
}


/* ---------------------------------------------------------
   MessePilot v1.4.25: Aussteller-Logoleiste / Logo-Ticker
   Shortcode: [messepilot_logoleiste jahr="2026"]
   --------------------------------------------------------- */
.mpam-logo-ticker{
    --mpam-logo-ticker-duration:42s;
    width:100%;
    overflow:hidden;
    background:transparent;
}

.mpam-logo-ticker-viewport{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:18px 0;
}

.mpam-logo-ticker-track{
    display:flex;
    flex-wrap:nowrap;
    width:max-content;
    will-change:transform;
    transform:translate3d(0,0,0);
    animation:mpam-logo-ticker-scroll var(--mpam-logo-ticker-duration) linear infinite;
    backface-visibility:hidden;
}

.mpam-logo-ticker-set{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    flex-shrink:0;
    gap:54px;
    padding-right:54px;
}

.mpam-logo-ticker-item{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 170px;
    height:92px;
}

.mpam-logo-ticker-item a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    text-decoration:none;
}

.mpam-logo-ticker-item img{
    display:block;
    width:auto;
    height:auto;
    max-width:168px;
    max-height:82px;
    object-fit:contain;
    filter:none;
    opacity:1;
    visibility:visible;
    transform:translateZ(0);
    transition:transform .18s ease;
}

.mpam-logo-ticker-item a:hover img,
.mpam-logo-ticker-item a:focus-visible img{
    transform:scale(1.045);
}

.mpam-logo-ticker:hover .mpam-logo-ticker-track,
.mpam-logo-ticker:focus-within .mpam-logo-ticker-track{
    animation-play-state:paused;
}

.mpam-logo-ticker-note{
    font-size:14px;
}

@keyframes mpam-logo-ticker-scroll{
    from{
        transform:translate3d(0,0,0);
    }
    to{
        transform:translate3d(-50%,0,0);
    }
}

@media(max-width:760px){
    .mpam-logo-ticker-viewport{
        padding:14px 0;
    }

    .mpam-logo-ticker-set{
        gap:34px;
        padding-right:34px;
    }

    .mpam-logo-ticker-item{
        flex-basis:142px;
        height:78px;
    }

    .mpam-logo-ticker-item img{
        max-width:138px;
        max-height:70px;
    }
}

@media(prefers-reduced-motion:reduce){
    .mpam-logo-ticker-viewport{
        overflow-x:auto;
    }

    .mpam-logo-ticker-track{
        animation:none;
    }

    .mpam-logo-ticker-set[aria-hidden="true"]{
        display:none;
    }
}


.mpam-logo-ticker-name{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    padding:8px 10px;
    box-sizing:border-box;
    color:var(--text, #29262a);
    font-size:16px;
    font-weight:700;
    line-height:1.2;
    text-align:center;
    text-wrap:balance;
}

.mpam-logo-ticker-item a .mpam-logo-ticker-name{
    color:var(--text, #29262a);
    text-decoration:none;
    transition:
        color .18s ease,
        transform .18s ease;
}

.mpam-logo-ticker-item a:hover .mpam-logo-ticker-name,
.mpam-logo-ticker-item a:focus-visible .mpam-logo-ticker-name{
    color:var(--accent-dark, #6f3e52);
    transform:scale(1.025);
}

@media(max-width:760px){
    .mpam-logo-ticker-name{
        padding:7px 8px;
        font-size:15px;
    }
}


/* v1.4.27: Logoleiste vollständig transparent */
.mpam-logo-ticker,
.mpam-logo-ticker-viewport,
.mpam-logo-ticker-track,
.mpam-logo-ticker-set,
.mpam-logo-ticker-item{
    background:transparent !important;
}


/* ---------------------------------------------------------
   MessePilot v1.4.29: mobile Ausstellerliste scrollbar
   --------------------------------------------------------- */
@media(max-width:760px){
    .mpam-wrap.mpam-layout-editorial .mpam-directory-drawer{
        display:flex;
        flex-direction:column;
        height:min(94dvh, 920px);
        max-height:94dvh;
        overflow:hidden;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-head{
        flex:0 0 auto;
        position:relative;
        z-index:4;
    }

    .mpam-wrap.mpam-layout-editorial .mpam-directory-list{
        flex:1 1 auto;
        min-height:0;
        max-height:none;
        overflow-y:auto;
        overflow-x:hidden;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior:contain;
        scrollbar-gutter:stable;
        padding-bottom:max(18px, env(safe-area-inset-bottom));
    }
}

@supports not (height: 100dvh){
    @media(max-width:760px){
        .mpam-wrap.mpam-layout-editorial .mpam-directory-drawer{
            height:94vh;
            max-height:94vh;
        }
    }
}
