/* Bembé – bembe-studio.css · erzeugt 2026-10-14 aus style.css + responsive.css · ersetzt die alte style.css + responsive.css */
/* Studio Section */
.responsive .ec-map .av-image-hotspot {
    height: 10px;
    width: 10px;
    line-height: 10px;
    font-size: 10px;
}
/* =================================================================== */
/* Bembé Standort-Sektion – an themes/bembe/style.css anhängen.        */
/* Alle Selektoren mit #top geprefixt, um Enfolds globale             */
/* #top-Basisstyles (Headings/Listen/Links) sicher zu überschreiben.   */
/* Komplett unter .bembe-standort gescoped -> keine Kollision mit      */
/* .contact-studio / .open-days-table o. ä.                            */
/* =================================================================== */
#top .bembe-standort {
    --ink: #333;
    --ink-soft: #333;
    --line: #f3efec;
    --paper: #f3efec;
    --card: #fff;
    --accent: #f49800;
    --accent-soft: #f3efec;
    --open: #3f8a4d;
    --closed: #c0392b;
    --radius: 8px;
    --shadow: var(--bembe-shadow-hover);
    font-family: "Nunito Sans", system-ui, sans-serif;
    color: var(--ink);
    font-size: 16px;
    width: 100%;
}
#top .bembe-standort * {
    box-sizing: border-box;
}
#top .bembe-standort .eyebrow {
    margin: 0 0 10px;
    font-size: var(--bembe-eyebrow-size, 16px);
    letter-spacing: .02em;
    text-transform: none;
    color: var(--accent);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 10px;
}
#top .bembe-standort .eyebrow::after {
    content: "";
    height: 1px;
    flex: 1;
    background: var(--line);
}
#top .bembe-standort .section-title {
    margin: 0 0 32px;
    font-weight: 800 !important;
    font-size: clamp(26px,4vw,32px);
    letter-spacing: -.01em;
    line-height: 1.1;
    color: var(--ink);
}
#top .bembe-standort .grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}
@media(max-width:900px) {
    #top .bembe-standort .grid {
        grid-template-columns: 1fr;
    }
}
#top .bembe-standort .card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 28px;
    box-shadow: var(--shadow);
    position: relative;
    display: flex;
    flex-direction: column;
}
/* Live-Status-Pill – per JS sichtbar (Enhancement) */
#top .bembe-standort .status {
    position: absolute;
    top: 24px;
    right: 24px;
    display: none;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .02em;
    padding: 6px 12px 6px 10px;
    border-radius: 999px;
}
#top .bembe-standort .status.is-open {
    display: inline-flex;
    color: var(--open);
    background: var(--light-grey,#f3efec);
}
#top .bembe-standort .status.is-closed {
    display: inline-flex;
    color: var(--closed);
    background: var(--light-grey,#f3efec);
}
#top .bembe-standort .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: relative;
}
#top .bembe-standort .is-open .dot {
    background: var(--open);
}
#top .bembe-standort .is-closed .dot {
    background: var(--closed);
}
#top .bembe-standort .is-open .dot::after {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background: var(--open);
    opacity: .35;
    animation: bembe-pulse 2s infinite;
}
@keyframes bembe-pulse {0%{transform:scale(.6); opacity:.5}100%{transform:scale(1.8); opacity:0}}
/* Mobil: Pill im Fluss statt absolut – muss NACH der absolut-Regel stehen,
   sonst gewinnt bei gleicher Spezifität die spätere (absolut) und überlappt. */
@media(max-width:900px) {
    #top .bembe-standort .status {
        position: static;
        align-self: flex-start;
        margin: 0 0 14px;
    }
}
#top .bembe-standort .hours {
    list-style: none;
    margin: 2px 0 0;
    padding: 0;
}
#top .bembe-standort .hours li .day {
    color: var(--ink-soft);
}
#top .bembe-standort .hours li .time {
    font-variant-numeric: tabular-nums;
    text-align: right;
}
#top .bembe-standort .hours li .time small {
    display: block;
    font-weight: inherit;
    color: inherit;
    font-size: inherit;
    margin-top: 2px;
}
#top .bembe-standort .hours li .subnote {
    grid-column: 1 / -1;
    font-size: 16px;
    color: var(--ink-soft);
    font-style: italic;
    margin-top: 2px;
}
#top .bembe-standort .hours li.today {
    background: var(--accent-soft);
}
#top .bembe-standort .hours li.today .day {
    color: var(--ink);
    font-weight: 800;
}
#top .bembe-standort .hours li.today .time {
    color: var(--ink);
    font-weight: 800;
}
/* Desktop: zweites Zeitfenster (Mittagspause) in dieselbe Zeile */
@media(min-width:901px) {
    #top .bembe-standort .hours li .time small {
        display: inline;
        margin: 0;
        font-size: inherit;
    }
    #top .bembe-standort .hours li .time small::before {
        content: ", ";
    }
}
#top .bembe-standort .note {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 8px;
    background: var(--accent-soft);
    border: 1px solid var(--light-grey,#f3efec);
    font-size: 16px;
    line-height: 1.55;
    color: var(--dark-grey,#333);
}
#top .bembe-standort .note b {
    color: var(--melon-yellow,#f49800);
}
#top .bembe-standort .note .hl {
    color: var(--accent);
    font-weight: 800;
}
#top .bembe-standort .row {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 9px 0;
    margin: 0;
    font-size: 16px;
}
#top .bembe-standort .row-text {
    display: flex;
    flex-direction: column;
}
#top .bembe-standort .row-label {
    color: var(--ink-soft);
    font-size: 16px;
}
#top .bembe-standort address {
    font-style: normal;
    color: var(--ink-soft);
    line-height: 1.5;
    padding: 9px 0;
    margin: 0;
}
#top .bembe-standort .spacer {
    flex: 1;
}
#top .bembe-standort .advice {
    font-size: 16px;
    line-height: 1.55;
    color: var(--ink-soft);
    margin: 18px 0 0;
}
#top .bembe-standort .advice-strong {
    color: var(--ink);
    font-weight: 600;
}
#top .bembe-standort .advice-strong b {
    color: var(--accent);
    font-weight: 800;
}
/* Buttons nutzen Avias Standard-Klassen (.avia-button avia-color-theme-color …).
   Hier nur Layout im Card-Kontext – Farbe/Radius/Padding/Hover kommen aus Avia. */
#top .bembe-standort .card,
#top .bembe-standort .eyebrow,
#top .bembe-standort .section-title {
    animation: bembe-rise .6s ease backwards;
}
#top .bembe-standort .grid .card:nth-child(1) {
    animation-delay: .05s;
}
#top .bembe-standort .grid .card:nth-child(2) {
    animation-delay: .12s;
}
#top .bembe-standort .grid .card:nth-child(3) {
    animation-delay: .19s;
}
@keyframes bembe-rise {from{opacity:0; transform:translateY(14px)}to{opacity:1; transform:none}}
/* Studio Map */
.studio-map .wpgmza-store-locator.wpgmza_sl_main_div {
    position: absolute;
    top: 10%;
    right: 5%;
    opacity: 1;
    z-index: 1;
    background: #fff;
    padding: 30px;
    box-shadow: var(--bembe-shadow);
    width: 420px;
}
.wpgmza-radius-container {
    margin: 10px 0 0 0px;
}
#top select.wpgmza-radius.wpgmza-form-field__input.wpgmza_sl_radius_select {
    background-color: #fff;
}
input.wpgmza-search.wpgmza_sl_search_button,
input.wpgmza-search.wpgmza_sl_search_button_1 {
    font-size: 16px;
    background: var(--melon-yellow);
    border: 1px solid var(--melon-yellow);
    color: #fff;
    font-family: inherit;
    padding: 13px 30px;
    display: block;
    margin: 20px 0 0 0;
    width: 100%;
    cursor: pointer;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}
input.wpgmza-search.wpgmza_sl_search_button:hover,
input.wpgmza-search.wpgmza_sl_search_button_1:hover {
    background: var(--dark-grey,#333);
}
input.wpgmza-search.wpgmza_sl_search_button:focus,
input.wpgmza-search.wpgmza_sl_search_button_1:focus {
    outline: none;
}
input.wpgmza-reset.wpgmza_sl_reset_button_1 {
    font-size: 16px;
    background: #fff;
    color: var(--dark-grey,#333);
    border: 1px solid var(--melon-yellow,#f49800);
    font-family: inherit;
    padding: 13px 30px;
    display: block;
    margin: 20px 0 0 0;
    width: 100%;
    cursor: pointer;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}
input.wpgmza-reset.wpgmza_sl_reset_button_1:hover {
    background-color: var(--melon-yellow,#f49800);
    color: #fff;
}
.wpgmza-search.wpgmza_sl_search_button_div,
.wpgmza-reset.wpgmza_sl_reset_button_div {
    display: inline-block;
    width: 49%;
}
.wpgmza-no-results.wpgmza-not-found-msg {
    background-color: var(--light-grey);
    color: var(--dark-grey);
    padding: 20px;
    display: block;
    margin: 20px 0 0 0;
    line-height: normal;
    text-align: center;
}
/* Store-Locator Suchfeld "PLZ/Stadt" */
.wpgmza-store-locator {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    max-width: 520px;
    margin-bottom: 24px;
}
.wpgmza-store-locator .wpgmza-address-container {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.wpgmza-store-locator label.wpgmza-address {
    font-size: 13px;
    font-weight: 700;
    color: var(--grey);
    margin-bottom: 6px;
}
#top .main_color .wpgmza-store-locator input.addressInput {
    height: 48px;
    line-height: 48px;
    border: 1px solid var(--middle-grey) !important;
    border-radius: 8px;
    padding: 0 16px;
    background: #fff;
    font-size: 14px;
    margin: 0;
}
.wpgmza-store-locator svg.wpgmza-search {
    width: 48px !important;
    height: 48px !important;
    flex: none;
    padding: 13px !important;
    background: var(--melon-yellow) !important;
    stroke: #fff !important;
    color: #fff !important;
    border-radius: 8px;
    cursor: pointer;
    box-sizing: border-box;
}
.wpgmza-store-locator svg.wpgmza-reset {
    width: 48px !important;
    height: 48px !important;
    flex: none;
    padding: 13px !important;
    background: #fff !important;
    stroke: var(--grey) !important;
    border: 1px solid var(--middle-grey);
    border-radius: 8px;
    cursor: pointer;
    box-sizing: border-box;
}
/* Kontakt-Icons (Adresse=Pin, Telefon=tel:, Mail=mailto:) – Listing + Info-Fenster */
.wpgmza-desc a[href^="tel:"]::before,
.wpgmza_infowindow_description a[href^="tel:"]::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: -3px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23f49800'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.wpgmza-desc a[href^="mailto:"]::before,
.wpgmza_infowindow_description a[href^="mailto:"]::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: -3px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23f49800'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm8 7L4 6.5V8l8 4.5L20 8V6.5L12 11z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.wpgmza-desc a[href^="tel:"],
.wpgmza-desc a[href^="mailto:"],
.wpgmza_infowindow_description a[href^="tel:"],
.wpgmza_infowindow_description a[href^="mailto:"] {
    color: var(--dark-grey);
    text-decoration: none;
}
/* Studio - Map Kacheln */
.main_color .wpgmza-grid-item {
    background: #fff;
}
.main_color .wpgmza-grid-item {
    border: 1px solid var(--light-grey);
    transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--bembe-shadow);
}
.main_color .wpgmza-grid-footer {
    border-top: 1px solid var(--light-grey);
    background: #fff;
    padding: 16px 18px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    height: auto;
}
.wpgmza-directions-box {
    display: none !important;
}
.wpgmza-grid-item .wpgmza-address,
p.wpgmza_infowindow_address,
.wpgmza-infowindow .wpgmza_infowindow_image {
    display: none;
}
.wpgmza-grid-item .wpgmza-desc {
    padding: 0px !important;
}
.wpgmza-marker-grid .wpgmza-grid-footer .wpgmza-link {
    display: inline-block;
    font-size: 12px;
    margin-left: 0;
    font-weight: 800;
    text-transform: uppercase;
    line-height: normal;
    width: 49%;
    text-align: center;
    order: 1;
}
.wpgmza-marker-grid .wpgmza-grid-footer a.wpgmza_gd::after {
    content: "Wegbeschreibung";
    font-size: 14px;
    font-weight: 600;
}
/* Sprachabhaengiger Button-Text (WPML setzt html[lang]) */
html[lang^="en"] .wpgmza-marker-grid .wpgmza-grid-footer a.wpgmza_gd::after {
    content: "Directions";
}
html[lang^="nl"] .wpgmza-marker-grid .wpgmza-grid-footer a.wpgmza_gd::after {
    content: "Routebeschrijving";
}
.wpgmza-marker-grid .wpgmza-grid-footer .wpgmza-link:hover * {
    color: #fff;
}
#top .wpgmza_marker_list_class {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
}
.wpgmza-grid-row {
    height: auto;
    margin: 0 !important;
    flex-basis: auto !important;
    padding: 0px !important;
}
/* Desktop/Laptop: durchgehend 4 Spalten + Gap */
.wpgmza-standalone-component .wpgmza-marker-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px;
}
/* Tablet: 2 Spalten */
@media only screen and (max-width: 989px) {
    .wpgmza-standalone-component .wpgmza-marker-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
/* Mobile: 1 Spalte */
@media only screen and (max-width: 767px) {
    .wpgmza-standalone-component .wpgmza-marker-grid {
        grid-template-columns: 1fr !important;
        gap: 16px;
    }
    /* Studio-Bild auch mobil als vollbreiter Banner (wie Desktop) */
}
.wpgmza-marker-grid .wpgmza-grid-item:hover {
    box-shadow: var(--bembe-shadow-hover);
    transform: translateY(-3px);
}
.main_color p.wpgmza_infowindow_link,
.main_color p.wpgmza_infowindow_link + p {
    display: inline-block;
    width: 49%;
    margin-right: 1%;
}
.main_color p.wpgmza_infowindow_link + p {
    margin-left: 1%;
    margin-right: 0;
}
.main_color p.wpgmza_infowindow_link a.wpgmza_infowindow_link,
.main_color p.wpgmza_infowindow_link + p a.wpgmza_gd {
    border: 1px solid var(--melon-yellow);
    background-color: var(--melon-yellow);
    padding: 13px 30px;
    font-weight: 800;
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    line-height: normal;
    display: block;
    text-align: center;
    border-radius: 8px;
}
.main_color p.wpgmza_infowindow_link + p a.wpgmza_gd {
    background: transparent;
    color: var(--dark-grey,#333);
    border-color: var(--dark-grey,#333);
}
.main_color p.wpgmza_infowindow_link a.wpgmza_infowindow_link:hover,
.main_color p.wpgmza_infowindow_link + p a.wpgmza_gd:hover {
    color: #fff;
    background-color: var(--dark-grey,#333);
    border-color: var(--melon-yellow,#f49800);
}
.wpgmza-infowindow {
    min-height: 200px;
}
.gm-style .gm-style-iw.gm-style-iw-c {
    padding: 18px 20px !important;
    min-width: 340px !important;
    border-radius: 8px !important;
}
.wpgmza-grid-item .wpgmza-basic-listing-image-holder {
    border: 0;
    float: none;
    height: 150px;
    width: calc(100% + 36px);
    margin: 0 -18px 16px;
}
.wpgmza-grid-item .wpgmza-basic-listing-image-holder img.wpgmza_map_image {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover;
    object-position: center;
    display: block;
    float: none !important;
}
/* Studio Gallery */
#top .studio-gallery.main_color div .avia-gallery .avia-gallery-big {
    background-color: transparent;
    border: 0;
    margin: 0;
    padding: 0 4px 1px;
}
#top .studio-gallery.main_color div .avia-gallery .avia-gallery-big img {
    padding: 0;
}
#top .studio-gallery.main_color div .avia-gallery img {
    background-color: transparent;
    border: 0;
    padding: 4px;
    padding-bottom: 0;
}
#top .studio-gallery div .avia-gallery {
    padding-bottom: 0;
    margin: 0 -4px;
}
#top .studio-gallery .flex_column_table .flex_column:last-child {
    overflow-y: scroll;
}
#top .studio-gallery .flex_column_table .flex_column.first {
    min-width: 770px;
}
/* Gallery with outside Thumbs */
@media only screen and (min-width: 1025px) {
    #top .equal-height-with-gallery .flex_column_table.av-equal-height-column-flextable .flex_column.equal-height-column-text {
        overflow-y: scroll;
    }
    #top .equal-height-with-gallery .flex_column_table.av-equal-height-column-flextable div.flex_column .avia-gallery,
    #top .equal-height-with-gallery .flex_column_table.av-equal-height-column-flextable div.flex_column .avia-gallery a.avia-gallery-big {
        height: 100% !important;
    }
}
/* Studio - Unterseiten */
#top .max-scroll-y .flex_column_table .no_margin.av_one_half {
    display: block !important;
    float: left !important;
    height: 100% !important;
    max-height: 800px;
}
#top .max-studio .flex_column_table .no_margin.av_one_half {
    height: 100% !important;
    max-height: 619px;
    display: block !important;
    float: left !important;
}
/* =====================================================================
   EINGEBETTETE KONTAKT-SECTION auf Standortseiten (Section-ID #kontakt)
   1/3 Ansprechpartner-Panel + 2/3 Gravity Forms als zusammenhaengende */
#top #kontakt .entry-content-wrapper {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--middle-grey,#e0d7cf);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--bembe-shadow);
}
#top #kontakt .entry-content-wrapper:before,
#top #kontakt .entry-content-wrapper:after {
    content: none;
}
#top #kontakt .flex_column.left-column-information {
    width: 33.333%;
    flex: 0 0 33.333%;
    margin: 0;
    background: var(--dark-grey);
    padding: 44px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#top #kontakt .flex_column.right-column-formular {
    width: 66.667%;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    background: #fff;
    padding: 44px 48px 40px;
    position: relative;
}
@media only screen and (min-width: 768px) {
    /* Feste Mindesthoehe: Formular springt nicht beim Wechsel zwischen
       den 3 Schritten (Panel wird durch align-items:stretch mitgezogen).
       Wert grosszuegig auf den laengsten Schritt (Kontaktdaten) ausgelegt;
       bei Bedarf anpassen. */
    #top #kontakt .flex_column.right-column-formular {
        min-height: 680px;
    }
}
#top #kontakt .avia_codeblock_section {
    margin: 0;
}
/* GF-Kopfzeile ausblenden: die Section-Ueberschrift im Builder uebernimmt */
#top #kontakt .gform_heading {
    display: none;
}
/* Stepper: volle Breite der Formularspalte, groesser als im Popup */
#top #kontakt .gf_page_steps {
    max-width: none;
    width: 100%;
    margin-bottom: 50px;
}
#top #kontakt .gf_page_steps .gf_step_number {
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 18px;
}
#top #kontakt .gf_page_steps .gf_step_label {
    font-size: 15px;
}
/* Buttons unten rechts in der Karte fixieren (unabhaengig von der Feldanzahl) */
@media only screen and (min-width: 768px) {
    #top #kontakt .gform_page_footer,
    #top #kontakt .gform_footer {
        position: absolute;
        left: 48px;
        right: 48px;
        bottom: 40px;
        margin: 0;
    }
    #top #kontakt .gform-body.gform_body {
        padding-bottom: 92px;
    }
}
/* Mobil: Panel oben, Formular darunter */
@media only screen and (max-width: 767px) {
    #top #kontakt .entry-content-wrapper {
        flex-direction: column;
    }
    #top #kontakt .flex_column.left-column-information,
    #top #kontakt .flex_column.right-column-formular {
        width: 100%;
        flex: none;
    }
    #top #kontakt .flex_column.left-column-information {
        padding: 28px 20px;
    }
    #top #kontakt .flex_column.right-column-formular {
        padding: 30px 18px 34px;
    }
}
/* --- Standort-Kacheln: Ausstellungsfoto-Karte (bembe_standort) --- */
#top .bembe-standort .card.card-ausstellung {
    padding: 0;
    overflow: hidden;
}
#top .bembe-standort .card-ausstellung img {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    display: block;
}
@media only screen and (max-width: 989px) {
    #top .bembe-standort .card-ausstellung img {
        min-height: 200px;
        max-height: 320px;
    }
}
/* ===================================================================
   Standort-Kacheln „Parkettleger Berlin" (Hub-Seite)
   Nutzt die Website-Variablen aus :root (--melon-yellow, --dark-grey, */
#top .berlin-standorte {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 0 0 30px;
}
#top .berlin-standorte * {
    box-sizing: border-box;
}
/* --- Kachel ------------------------------------------------------- */
#top .berlin-standort {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--light-grey);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--bembe-shadow);
    transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
}
#top .berlin-standort:hover {
    box-shadow: var(--bembe-shadow-hover);
    transform: translateY(-3px);
}
/* --- Bild --------------------------------------------------------- */
#top .berlin-standort__img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
}
/* --- Textkoerper -------------------------------------------------- */
#top .berlin-standort__body {
    padding: 18px 18px 4px;
    flex: 1 1 auto;
}
#top .berlin-standort__title {
    margin: 0 0 6px;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 600 !important;
    color: var(--dark-grey);
}
#top .berlin-standort__role {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--grey);
}
#top .berlin-standort__meta {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
}
/* Adresse mit Pin – gleiche Icons wie in den WP-Go-Maps-Kacheln */
#top .berlin-standort__adr {
    position: relative;
    display: block;
    padding-left: 24px;
    margin: 0 0 10px;
    font-style: normal;
    color: var(--dark-grey);
}
#top .berlin-standort__adr::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 16px;
    height: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23f49800'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") no-repeat center / contain;
}
#top .berlin-standort__meta a[href^="tel:"],
#top .berlin-standort__meta a[href^="mailto:"] {
    display: block;
    color: var(--dark-grey);
    text-decoration: none;
    word-break: break-word;
}
#top .berlin-standort__meta a[href^="tel:"]:hover,
#top .berlin-standort__meta a[href^="mailto:"]:hover {
    color: var(--melon-yellow);
}
#top .berlin-standort__meta a[href^="tel:"]::before,
#top .berlin-standort__meta a[href^="mailto:"]::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: -3px;
}
#top .berlin-standort__meta a[href^="tel:"]::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23f49800'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1z'/%3E%3C/svg%3E") no-repeat center / contain;
}
#top .berlin-standort__meta a[href^="mailto:"]::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23f49800'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm8 7L4 6.5V8l8 4.5L20 8V6.5L12 11z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* --- Buttonleiste ------------------------------------------------- */
#top .berlin-standort__actions {
    display: flex;
    gap: 12px;
    margin-top: 18px;
    padding: 16px 18px;
    border-top: 1px solid var(--light-grey);
    background: #fff;
}
#top .berlin-standort__btn {
    flex: 1 1 0;
    display: block;
    padding: 13px 12px;
    text-align: center;
    font-weight: 600;
    line-height: normal;
    text-transform: none;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.4s ease;
}
#top .berlin-standort__btn--primary {
    background-color: var(--melon-yellow);
    border: 1px solid var(--melon-yellow);
    color: #fff;
}
#top .berlin-standort__btn--ghost {
    background: transparent;
    border: 1px solid var(--dark-grey);
    color: var(--dark-grey);
}
#top .berlin-standort__btn--primary:hover,
#top .berlin-standort__btn--ghost:hover {
    background-color: var(--dark-grey);
    border-color: var(--dark-grey);
    color: #fff;
}
/* --- Tablet ------------------------------------------------------- */
@media only screen and (max-width: 989px) {
    #top .berlin-standorte {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* --- Mobil -------------------------------------------------------- */
@media only screen and (max-width: 767px) {
    #top .berlin-standorte {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    #top .berlin-standort__actions {
        flex-wrap: wrap;
    }
    #top .berlin-standort__btn {
        flex: 1 1 100%;
    }
}

/* ===== Karten-Standard (einheitlicher Hover) ===== */
.wpgmza-marker-grid .wpgmza-grid-item,
#top .berlin-standort {
    transition: transform var(--bembe-transition, .35s ease), box-shadow var(--bembe-transition, .35s ease), border-color var(--bembe-transition, .35s ease), background-color var(--bembe-transition, .35s ease);
}
.wpgmza-marker-grid .wpgmza-grid-item:hover,
#top .berlin-standort:hover {
    transform: translateY(var(--bembe-lift, -3px));
    box-shadow: var(--bembe-shadow-hover);
    border-color: var(--melon-yellow, #f49800);
}
