/* Tema elegante compartido: navy, coral, dorado */
:root{
    --bg-1: #f8fbfd;
    --bg-2: #f0f6fb;
    --primary: #0b2545;
    --primary-2: #132f5b;
    --accent: #ff6b6b;
    --gold: #f2c94c;
    --muted: #2b2b2b;
    --card: #ffffff;
    --card-border: #ececec;
}

*{box-sizing:border-box}

body{
    margin:0;
    padding:0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(135deg, var(--bg-1) 0%, var(--bg-2) 100%);
    color:var(--muted);
    -webkit-font-smoothing:antialiased;
}

/* Contenedor principal como tarjeta centrada */
#contacto{
    max-width: 1000px;
    margin: 48px auto;
    padding: 32px;
    /* Fondo más suave: cálido, menos brillante para menor fatiga visual */
    background: linear-gradient(180deg, #f2efe9 0%, #e9e7df 100%);
    border-radius: 12px;
    box-shadow: 0 12px 36px rgba(11,37,69,0.08);
    border-left: 6px solid #d6b84a;
    color: #222;
}

.titulo-con-flecha{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:18px;
}

.titulo-con-flecha h2{
    margin:0;
    font-size:1.8rem;
    color:var(--primary);
    font-weight:800;
}

.header-top {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%);
    padding: 22px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-top h1{
    margin:0;
    color: white;
    font-size: 1.8rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
    letter-spacing: 1px;
}

/* botón de regreso consistente con el tema */
.btn-regreso{
    position: absolute;
    left: 18px;
    background: rgba(255,255,255,0.12);
    color: var(--gold);
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all .25s ease;
}

.btn-regreso svg{ display:block; color:currentColor }
.btn-regreso:hover{ background: rgba(255,255,255,0.18); transform: translateX(-3px); }

/* Mapa responsivo en tarjeta */
.mapa-container{ position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:10px; margin-bottom:20px; }
.mapa-container iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:10px; }

/* Redes sociales: botones limpios con icono */
.redes{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.redes .btn{ display:inline-flex; align-items:center; gap:10px; padding:10px 14px; background:var(--primary); color:white; text-decoration:none; border-radius:10px; box-shadow:0 6px 18px rgba(11,37,69,0.08); }
.redes .btn img{ width:22px; height:22px; display:block; }
.redes .btn:hover{ transform:translateY(-3px); }

/* Horario */
.horario{ margin-top:6px; }
.horario h3{ margin:0 0 8px 0; color:var(--primary); }
.horario ul{ list-style:none; padding:0; margin:0; color:#333; }
.horario li{ padding:6px 0; border-bottom:1px dashed #eee; }

/* Responsive adjustments */
@media (max-width: 900px){
    #contacto{ margin: 28px 16px; padding: 22px; }
    .titulo-con-flecha h2{ font-size: 1.4rem; }
    .flecha-regreso{ width: 40px; height: 40px; }
    .redes{ gap: 10px; }
}

@media (max-width: 768px){
    .header-top {
        padding-top: 60px;
    }
}

@media (max-width: 480px){
    .titulo-con-flecha{ gap: 10px; }
    .titulo-con-flecha h2{ font-size: 1.2rem; }
    .redes .btn{ padding: 8px 10px; font-size: 0.95rem }
}

/* fin contactos.css */