/* ===== RESET / BASE ===== */
:root {
  /* Fondo principal */
  --navy-foundation: #f8e6ec;

  /* Variantes suaves */
  --navy-elevated: #ffffff;
  --navy-architectural: #f3d6df;

  /* Colores tipo rose-gold (adaptados al logo) */
  --gold-material: #c58ca0;
  --gold-hover: #d6a5b6;
  --gold-subtle: rgba(197, 140, 160, 0.35);

  /* Tipografía */
  --stone-text: #3a2b30;
  --muted-text: #7a6a70;
  --muted-caption: #a08f95;
}

body {
  background: var(--navy-foundation);
  color: var(--stone-text);
  font-family: "Inter", system-ui, sans-serif;
  margin: 0;
}
/* WRAPPER */
.map-wrapper{
    margin-top:20px;
}

/* LINK */
.map-link{
    text-decoration:none;
    display:block;
}

/* CONTENEDOR */
.map-container{
    position:relative;
    border-radius:18px;
    overflow:hidden;
    border:1px solid var(--gold-subtle);
    transition:all .4s cubic-bezier(0.2, 0.6, 0.2, 1);
}

/* IFRAME */
.map-container iframe{
    width:100%;
    height:300px;
    border:0;
    display:block;
    transition:transform .6s cubic-bezier(0.2, 0.6, 0.2, 1);
}

/* OVERLAY */
.map-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,0.0);
    color:white;
    font-size:16px;
    letter-spacing:.04em;
    opacity:0;
    transition:all .4s ease;
}

/* TEXTO BOTÓN */
.map-overlay span{
    background:rgba(0,0,0,0.6);
    padding:10px 18px;
    border-radius:999px;
    backdrop-filter:blur(6px);
    transform:translateY(10px);
    transition:all .4s ease;
}

/* ✨ HOVER PREMIUM */
.map-container:hover{
    transform:translateY(-4px) scale(1.01);
    border-color:var(--gold-material);
}

.map-container:hover iframe{
    transform:scale(1.05);
}

.map-container:hover .map-overlay{
    background:rgba(0,0,0,0.15);
    opacity:1;
}

.map-container:hover .map-overlay span{
    transform:translateY(0);
}

/* MOBILE */
@media (max-width:768px){
    .map-container iframe{
        height:240px;
    }
}