/* ===== RESET + VARIABLES ===== */
:root{
    --azul:#1E3A5F;
    --gris:#F2F2F2;
    --font-titulo:"Rubik Dirt", system-ui, sans-serif;
    --font-ui:"Faculty Glyphic", system-ui, sans-serif;
  
    /* Alinear Bootstrap a tu paleta */
    --bs-primary: var(--azul);
    --bs-primary-rgb: 30,58,95;
  }
  
  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  
  body{
    background:#F4E1D2;
    font-family:var(--font-ui);
    color:#111;
    overflow-x:hidden;
  }
  
  /* ===== TOPBAR CONTACTO ===== */
  .topbar{ background:var(--gris); }
  .topbar-link{
    color:#111;
    font-size:1.1rem;
    display:inline-flex; align-items:center; justify-content:center;
    width:34px; height:34px; border-radius:50%;
  }
  .topbar-link:hover{ color:var(--azul); }
  
  /* ===== NAVBAR / MARCA ===== */
  .navbar-brand{ padding:.4rem 0; }
  .brand-logo{ width:clamp(36px,8vw,64px); height:auto; display:block; }
  .brand-text{
    font-family:var(--font-titulo);
    font-size:clamp(20px,6vw,40px);
    line-height:1; color:#fff; letter-spacing:.5px;
  }
  .nav-link{
    padding:.5rem .75rem !important;
    font-family:var(--font-titulo);
    font-size:clamp(14px, 1.2vw + 10px, 22px);
  }
  .nav-link:hover,.nav-link:focus{
    color:#fff; background:rgba(255,255,255,.12); border-radius:.5rem;
  }
  .navbar a:focus-visible{ outline:2px solid #fff; outline-offset:2px; border-radius:.5rem; }
  
  /* ===== MAIN ===== */
  main{ padding-bottom: 2rem; }
  
  /* Carrusel */
  .carousel{
    margin: 1rem auto 2rem;
    max-width: 1100px;
  }
  .carousel-item > img{
    width:100%;
    aspect-ratio: 16 / 9;      /* mantiene formato */
    object-fit: cover;          /* recorta sin deformar */
    display:block;
    border-radius: 16px;
  }
  .carousel-indicators [data-bs-target]{ background:#000; }
  .carousel-control-prev-icon,
  .carousel-control-next-icon{ filter: drop-shadow(0 0 3px rgba(0,0,0,.6)); }
  
  /* Secciones de novedades */
  .seccion{
    max-width:1100px;
    margin: 0 auto;
    padding: 1.25rem 1rem;
  }
  .novedad{
    display:grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items:center;
    margin: 1.5rem 0;
  }
  .novedad img{
    width:100%;
    max-width: 420px;          /* no excede ancho grande */
    aspect-ratio: 1 / 1;       /* cuadrada como pedías */
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
  }
  .novedad .texto{
    font-family: var(--font-titulo);
    font-size: clamp(18px, 2.6vw, 28px);
    line-height: 1.45;
  }
  
  /* Alternancia en desktop */
  @media (min-width: 900px){
    .novedad{ grid-template-columns: 420px 1fr; }
    .novedad.reverse{ grid-template-columns: 1fr 420px; }
  }
  
  /* Separador */
  hr.sep{
    border: none;
    height: 5px;
    background: #ccc;
    margin: 24px auto;
    max-width: 1100px;
    border-radius: 6px;
  }
  
  /* WhatsApp flotante */
  .whatsapp-float{
    position:fixed; width:60px; height:60px; bottom:20px; right:20px;
    background:#25D366; color:#fff; border-radius:50%;
    font-size:30px; display:flex; align-items:center; justify-content:center;
    box-shadow:2px 2px 5px rgba(0,0,0,.3); z-index:100;
  }
  .whatsapp-float:hover{ background:#128C7E; }
  
  /* Footer */
  footer{ background:var(--gris); margin-top:2rem; padding:1rem 0; }
  .contacto-pie{ display:flex; justify-content:center; gap:2rem; }
  .contacto-pie .icono{ width:24px; height:24px; }
  