/* Placeholder unificado cuando una empresa aún no tiene fotos */

.mat-foto-ph {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    width: 100%;
    height: 100%;
    min-height: 100%;
    border-radius: inherit;
    background: linear-gradient(145deg, #eef2ee 0%, #e2e8e3 42%, #d4ddd6 100%);
    border: 1px solid rgba(88, 115, 96, 0.14);
    color: #3d5244;
    text-align: center;
    user-select: none;
}

.mat-foto-ph__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255, 255, 255, 0.55) 0%, transparent 62%),
        radial-gradient(circle at 88% 92%, rgba(88, 115, 96, 0.08) 0%, transparent 42%),
        radial-gradient(circle at 12% 78%, rgba(88, 115, 96, 0.06) 0%, transparent 38%);
}

.mat-foto-ph__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.35;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23587360' fill-opacity='0.07'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.mat-foto-ph__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 1rem 1.25rem;
    max-width: 92%;
}

.mat-foto-ph__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(2rem, 6vw, 2.75rem);
    height: clamp(2rem, 6vw, 2.75rem);
    margin-bottom: 0.15rem;
    color: #587360;
    opacity: 0.88;
}

.mat-foto-ph__icon svg {
    width: 100%;
    height: 100%;
}

.mat-foto-ph__label {
    font-family: "Cinzel", Georgia, serif;
    font-size: clamp(0.78rem, 2.2vw, 1.05rem);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    line-height: 1.25;
    color: #2d3d2f;
}

.mat-foto-ph__sub {
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: clamp(0.68rem, 1.6vw, 0.82rem);
    font-weight: 500;
    line-height: 1.35;
    color: #5a635a;
    max-width: 18em;
}

/* Perfil empresa — imagen principal */
.mat-foto-ph--hero {
    border-radius: 10px;
    min-height: 100%;
}

.alto_porta .mat-foto-ph--hero {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
}

@media (max-width: 767.98px) {
    .alto_porta .mat-foto-ph--hero {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        min-height: 0;
        max-height: none;
        aspect-ratio: auto;
    }
}

/* Miniaturas galería */
.mat-foto-ph--thumb {
    border-radius: 10px;
    height: var(--empresa-galeria-thumb-h, 160px);
    min-height: var(--empresa-galeria-thumb-h, 160px);
}

.mat-foto-ph--thumb .mat-foto-ph__inner {
    padding: 0.65rem 0.5rem;
    gap: 0.2rem;
}

.mat-foto-ph--thumb .mat-foto-ph__icon {
    width: 1.65rem;
    height: 1.65rem;
    margin-bottom: 0;
}

.mat-foto-ph--thumb .mat-foto-ph__label {
    font-size: 0.62rem;
    letter-spacing: 0.1em;
}

/* Tarjetas listado categorías */
.mat-foto-ph--card {
    border-radius: 18px;
}

.section_empresas_list .cat-empresa-card__mediaInner .mat-foto-ph--card,
.recepciones-premium-slide .cat-empresa-card__mediaInner .mat-foto-ph--card {
    border-radius: 18px;
    min-height: 250px;
}

/* Modal galería vacía */
.mat-foto-ph--modal {
    border-radius: 14px;
    min-height: 220px;
    max-width: 420px;
    margin: 0 auto;
}

.galeria-modal-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    padding: 2rem 1rem 2.5rem;
}
