/* =========================================================
   Visit Maramures | Frontend Location Map V2 | E2.5.2
   CSS exclusiv pentru <x-frontend.location-map>.
   Nu suprascrie Hero, Surface, Visual Menu, containerul sau CTA shared.
   Variabilele de design sunt furnizate de infrastructura frontend.
========================================================= */

.frontend-location-map {
    display: grid;
    gap: 0.875rem;
    min-width: 0;
    width: 100%;
    color: var(--color-text, #192923);
    font-family: var(--type-font-body, "Manrope", sans-serif);
}

.frontend-location-map__embed {
    position: relative;
    width: 100%;
    height: clamp(240px, 30vw, 360px);
    overflow: hidden;
    border: 1px solid var(--color-border, #e4dfd6);
    border-radius: 18px;
    background: var(--color-surface, #fff);
}

.frontend-location-map__frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.frontend-location-map__footer {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-width: 0;
}

/* Link simplu: componentele globale de buton nu sunt recreate local. */
.frontend-location-map__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    max-width: 100%;
    color: var(--color-primary, #28624e);
    font-family: inherit;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    overflow-wrap: anywhere;
}

.frontend-location-map__link:hover {
    text-decoration-thickness: 2px;
}

.frontend-location-map__link:focus-visible {
    outline: 3px solid var(--color-primary, #28624e);
    outline-offset: 3px;
    border-radius: 3px;
}

/* Tablet landscape: 992–1199px. */
@media (min-width: 992px) and (max-width: 1199px) {
    .frontend-location-map__embed {
        height: 310px;
    }
}

/* Tablet portrait: 768–991px. */
@media (min-width: 768px) and (max-width: 991px) {
    .frontend-location-map__embed {
        height: 320px;
    }
}

/* Mobile landscape: 576–767px. */
@media (min-width: 576px) and (max-width: 767px) {
    .frontend-location-map__embed {
        height: 285px;
        border-radius: 16px;
    }
}

/* Mobile portrait: 0–575px. */
@media (max-width: 575px) {
    .frontend-location-map {
        gap: 0.65rem;
    }

    .frontend-location-map__embed {
        height: 250px;
        border-radius: 14px;
    }

    .frontend-location-map__link {
        font-size: 0.875rem;
    }
}
