@import url('https://fonts.googleapis.com/css2?family=Courgette&family=Dancing+Script&family=Montserrat+Alternates:wght@300&display=swap');

 :root{
    --tinta:   #261c05;   /* negro cálido */
    --oro:     #A9812F;   /* ocre / oro del sello */
    --oro-suave:#77602d;
    --papel:   #fff5e0ba;   /* fondo cálido tipo papel */
    --linea:   #DAD1BE;
    --gris:    #6B6355;   /* texto secundario */
    --alerta:  #9A3B2E;
    --paragraph: #261c05;
  }

  *{ box-sizing:border-box; }

  /* Este bloque de fondo es solo para la previsualización.
     Al integrarlo en el sitio, quédate con .cotiza-wrap hacia adentro. */
  body {
    margin: 0;
    background: var(--papel);
    font-family: 'Inter', system-ui, sans-serif;
    color: var(--tinta);
    -webkit-font-smoothing: antialiased;
}
/* =========================================
   PARALLAX
   ========================================= */

.parallax,
.parallax2,
.parallax3,
.parallax4 {
    min-height: 680px;

    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.parallax {
    background-image: url(Compromiso.jpeg);
}

.parallax2 {
    background-image: url(CAPILLA.jpeg);
}

.parallax3 {
    background-image: url("MESA.jpg");
}

.parallax4 {
    background-image: url("../images/equipoGourmet3.jpg");
}


/* =========================================
   PARALLAX EN CELULAR
   ========================================= */

@media (max-width: 700px) {

    .parallax,
    .parallax2,
    .parallax3,
    .parallax4 {
        min-height: 350px;

        /*
         * Algunos celulares no soportan bien
         * background-attachment: fixed.
         */
        background-attachment: scroll;
    }
}
/* =========================================
   TOPBAR
   ========================================= */

.topbar {
    width: 100%;
    min-height: 44px;

    padding: 8px 40px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    background: linear-gradient(
        110deg,
        #f0d27a 0%,
        #d6b45a 55%,
        #a68d56 100%
    );
    

    color: var(--paragraph);

    font-family: "courgette", system-ui, sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}


/* Frase de confianza */

.topbar-confianza {
    flex: 1;
    font-weight: 500;
    letter-spacing: 0.2px;
    align-self: center;
}


/* Contacto + redes */

.topbar-contacto {
    display: flex;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
}


/* Enlaces */

.topbar a {
    display: flex;
    align-items: center;

    color: white;
    text-decoration: none;

    margin: 0;

    font-family: "inter", system-ui, sans-serif;
    font-size: 1rem;

    transition: transform 0.2s ease, opacity 0.2s ease;
}


/* Iconos */
.topbar-contacto svg {
    width: 21px;
    height: 21px;

    fill: white;
    stroke: var(--oro-suave);
    stroke-width: 1.5;

    transition: transform 0.2s ease, opacity 0.2s ease;
}


.topbar a:hover svg {
    transform: scale(1.15);
    opacity: 0.85;
}

/* Efecto al pasar el mouse */

.topbar a:hover {
    opacity: 0.85;
}

.topbar a:hover img {
    transform: scale(1.15);
}


/* Separador */

.topbar-separador {
    color: white;
    opacity: 0.6;
}


/* =========================================
   TOPBAR - CELULAR
   ========================================= */

@media (max-width: 700px) {

    .topbar {
        flex-direction: column;

        justify-content: center;
        text-align: center;

        gap: 7px;

        padding: 10px 15px;
    }

    .topbar-confianza {
        line-height: 1.4;
        font-size: 0.78rem;
    }

    .topbar-contacto {
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px 12px;
    }

    .topbar-contacto svg {
        width: 19px;
        height: 19px;
    }

}

/* =========================================
   HEADER + MENÚ
   ========================================= */

.site-header {
    width: 100%;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 50px;
    background-color: var(--papel);
    border-bottom: 1px solid var(--linea);
}

/* Logo */
.site-logo {
    display: block;
    margin-left:200px;
    padding: 0;
}

.site-logo img {
    display: block;
    width: 180px;
    height: auto;
}

/* Menú */
.main-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 28px;
}

.main-nav a {
    margin: 0;
    padding: 8px 0;
    text-decoration: none;
    font-family: "Courgette", cursive;
    font-size: 1.4em;
    color: var(--paragraph);
    white-space: nowrap;
    transition: color 0.2s ease;
}

/* Hover */
.main-nav a:hover {
    color: var(--oro);
}

/* =========================================
   HERO / MENSAJE PRINCIPAL
   ========================================= */

#first {
    width: 100%;
    background-color: var(--papel);
}

/* Título */
#box {
    width: 100%;
    padding: 55px 20px 25px;
    text-align: center;
}

#box h1 {
    margin: 0;
    font-family: "Dancing Script", cursive;
    font-size: clamp(3em, 6vw, 5em);
    font-weight: 400;
    line-height: 1.1;
    color: var(--oro-suave);
}

/* Texto principal */
#hero_msg {
    width: min(1000px, 90%);
    margin: 0 auto;
    padding: 10px 0 65px;

    text-align: center;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1.2rem, 2vw, 1.7rem);
    line-height: 1.7;
    font-weight: 400;

    color: var(--paragraph);
}

#hero_msg p {
    margin: 0 0 25px;
}

#hero_msg p:last-child {
    margin-bottom: 0;
}


/* =========================================
   HERO EN CELULAR
   ========================================= */

@media (max-width: 700px) {

   .site-logo{
        margin-left: 0px;
   }
    #box {
        padding: 40px 20px 20px;
    }

    #box h1 {
        font-size: 3.2em;
    }

    #hero_msg {
        width: 90%;
        padding-bottom: 45px;
        font-size: 1.2rem;
        line-height: 1.6;
    }

    #hero_msg p {
        margin-bottom: 22px;
    }
}


/* =========================================
   CELULARES PEQUEÑOS
   ========================================= */

@media (max-width: 400px) {

    #box {
        padding-top: 35px;
    }

    #box h1 {
        font-size: 2.8em;
    }

    #hero_msg {
        width: 92%;
        font-size: 1.1rem;
    }
}



/* =========================================
   NUESTROS SERVICIOS
   ========================================= */

.Home-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    padding: 60px 40px;
    max-width: 1400px;
    margin: 0 auto;
}

/* Título */
.Home-grid > h1 {
    grid-column: 1 / -1;
    text-align: center;
    font-family: "Dancing Script", cursive;
    font-weight: 400;
    font-size: 3.5em;
    line-height: 1.2;
    color: var(--oro-suave);
    margin: 0 0 10px;
}

/* Tarjetas de servicios */
.states,
.decoration,
.Catering {
    text-align: center;
    min-width: 0;
}

/* Imágenes */
.Home-grid img {
    display: block;
    width: 100%;
    max-width: 400px;
    height: 300px;
    object-fit: cover;
    margin: 0 auto 15px;

    border: 1px solid #9d815b;
    border-radius: 2px;

    transition: transform 0.3s ease,
                box-shadow 0.3s ease;
}

/* Efecto al pasar el mouse */
.states:hover img,
.decoration:hover img,
.Catering:hover img {
    transform: scale(1.02);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}

/* Nombre del servicio */
.link {
    display: block;
    margin: 0;

    text-decoration: none;
    color: var(--paragraph);

    font-family: "Dancing Script", cursive;
    font-size: 2em;
    line-height: 1.2;

    transition: color 0.2s ease;
}

/* Hover del nombre */
.link:hover {
    color: var(--oro);
}


/* =========================================
   SERVICIOS - TABLET
   ========================================= */

@media (max-width: 900px) {

    .Home-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 50px 25px;
    }

    .Home-grid > h1 {
        font-size: 3.2em;
    }

}


/* =========================================
   SERVICIOS - CELULAR
   ========================================= */

@media (max-width: 700px) {

    .Home-grid {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 45px 20px;
    }

    .Home-grid > h1 {
        grid-column: 1;
        font-size: 3em;
        margin-bottom: 5px;
    }

    .states,
    .decoration,
    .Catering {
        grid-column: 1;
    }

    .Home-grid img {
        width: 100%;
        max-width: 400px;
        height: 280px;
    }

    .link {
        font-size: 1.9em;
    }
}


/* =========================================
   SERVICIOS - CELULARES PEQUEÑOS
   ========================================= */

@media (max-width: 400px) {

    .Home-grid {
        padding: 35px 15px;
        gap: 35px;
    }

    .Home-grid > h1 {
        font-size: 2.7em;
    }

    .Home-grid img {
        height: 240px;
    }

    .link {
        font-size: 1.8em;
    }
}

/* =========================================
   PAGINA BODAS
   ========================================= */



#container > img {
    display: block;
    width: 100%;
    height: 675px;
    object-fit: cover;
    object-position: center 30%;
}

.text-block h1{
    font-family: "dancing script";
    color: var(--papel);
    font-size: 3.5em;
    font-weight: 100;
    text-align: center;
    
}
.text-block {
    position: absolute;
    left: 5%;
    right: 70%;
    bottom: 5%;
    background-color:rgba(0, 0, 0, 0.507);
    color: var(--papel);
    padding: 25px 35px;
}

  .text-block p{
    text-align: center;    
    font-size: 1.4em;   
    font-family: "inter";
    font-weight: lighter;
  }

  .wedding-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
  }

  .wedding-grid .card-image {
    width: 90%;
    max-width: 550px;
    height: 530px;
    object-fit: cover;
    display: block;
    margin: 0 auto;
    box-shadow: 2px 2px 2px 4px rgba(255, 255, 255, 0.842);
}



  .weddingDetails img{
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .sectionOne{
    grid-column: 2/3;
    grid-row: 1/2;
    text-align: center;
    padding: 40px;
  }
  .secondDetail img{
    grid-column: 2/3;
    grid-row: 2/3;
  }

  .wedding-grid p {
    width: 90%;
    font-family: "inter";
    color: #1c1e26;
    font-size: 1.5em;
       
    
  }

  .wedding-grid h2 {
    font-family: "dancing script";
    color: var(--oro-suave);
    font-size: 3.5em;
    font-weight: 100;
    
  }
  .reman{
    margin-top: -10px;
    grid-column: 1/2;
    grid-row: 2/3;
    text-align: center;
    padding: 40px;
    
  }

  ThirdDetail img{
    grid-column: 1/2;
    grid-row: 3/4;
  }
  .sectionThird{
    margin-top: -50px;
    grid-column: 2/3;
    grid-row: 3/4;
    text-align: center;
    padding: 40px;
  }

  /* =========================================================
   SECCIÓN DE CONVERSIÓN
   ========================================================= */

.evento-conversion {
    width: 100%;
    padding: 90px 7% 100px;
    box-sizing: border-box;
    background-color: #ffffff;
}


/* =========================================================
   CONTENIDO
   ========================================================= */

.evento-conversion-contenido {
    max-width: 1200px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;

    align-items: center;
}


/* =========================================================
   TEXTO PRINCIPAL
   ========================================================= */

.evento-conversion-texto {
    text-align: center;
}

.evento-etiqueta {
    display: block;
    margin-bottom: 15px;

    font-family: "montserrat alternates";
    font-size: 0.95em;
    letter-spacing: 3px;
    font-weight: 500;

    color: var(--oro-suave);
}

.evento-conversion-texto h2 {
    margin: 0 0 20px;

    font-family: "dancing script";
    font-size: 4em;
    line-height: 1.1;
    font-weight: 100;

    color: var(--oro-suave);
}

.evento-frase {
    margin: 0 auto 25px;

    max-width: 550px;

    font-family: "montserrat alternates";
    font-size: 1.35em;
    line-height: 1.5;
    font-weight: 500;

    color: #1c1e26;
}

.evento-descripcion {
    width: 90%;
    max-width: 550px;
    margin: 0 auto;

    font-family: "inter";
    font-size: 1.3em;
    line-height: 1.7;

    color: #1c1e26;
}


/* =========================================================
   PASOS
   ========================================================= */

.evento-pasos {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.evento-paso {
    display: grid;
    grid-template-columns: 55px 1fr;
    gap: 20px;

    align-items: start;

    padding-bottom: 25px;

    border-bottom: 1px solid rgba(var(--oro-suave), 0.35);
}

.evento-paso:last-child {
    border-bottom: none;
}

.evento-paso > span {
    font-family: "dancing script";
    font-size: 2.5em;
    line-height: 1;

    color: var(--oro-suave);
}

.evento-paso h3 {
    margin: 0 0 8px;

    font-family: "montserrat alternates";
    font-size: 1.2em;
    font-weight: 600;

    color: #1c1e26;
}

.evento-paso p {
    margin: 0;

    font-family: "inter";
    font-size: 1.2em;
    line-height: 1.6;

    color: #1c1e26;
}


/* =========================================================
   LLAMADO A LA ACCIÓN
   ========================================================= */

.evento-conversion-accion {
    max-width: 850px;
    margin: 80px auto 0;

    padding-top: 50px;

    text-align: center;

    border-top: 1px solid rgba(var(--oro-suave), 0.35);
}

.evento-conversion-accion h3 {
    margin: 0 0 15px;

    font-family: "dancing script";
    font-size: 3em;
    font-weight: 100;

    color: var(--oro-suave);
}

.evento-conversion-accion p {
    max-width: 650px;
    margin: 0 auto 30px;

    font-family: "inter";
    font-size: 1.2em;
    line-height: 1.6;

    color: #1c1e26;
}


/* =========================================================
   BOTÓN
   ========================================================= */

.evento-boton {
    display: inline-block;

    padding: 15px 35px;

    background-color: var(--oro-suave);
    color: white;

    font-family: "montserrat alternates";
    font-size: 0.85em;
    font-weight: 600;
    letter-spacing: 1.5px;

    text-decoration: none;

    transition: all 0.3s ease;
}

.evento-boton:hover {
    background-color: var(--paragraph);
    color: white;

    transform: translateY(-2px);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .evento-conversion {
        padding: 75px 6% 85px;
    }

    .evento-conversion-contenido {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .evento-conversion-texto {
        max-width: 700px;
        margin: 0 auto;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 600px) {

    .evento-conversion {
        padding: 60px 7% 70px;
    }

    .evento-conversion-texto h2 {
        font-size: 3em;
    }

    .evento-frase {
        font-size: 1.1em;
    }

    .evento-descripcion {
        width: 100%;
        font-size: 1em;
    }

    .evento-paso {
        grid-template-columns: 45px 1fr;
        gap: 15px;
    }

    .evento-paso > span {
        font-size: 2em;
    }

    .evento-paso h3 {
        font-size: 1.05em;
    }

    .evento-paso p {
        font-size: 0.95em;
    }

    .evento-conversion-accion {
        margin-top: 60px;
        padding-top: 40px;
    }

    .evento-conversion-accion h3 {
        font-size: 2.5em;
    }

    .evento-boton {
        width: 100%;
        box-sizing: border-box;
    }

}

/* =========================================
   BODAS - CELULAR
   ========================================= */

@media (max-width: 700px) {

    /* HERO */
    #container > img {
        width: 100%;
        height: 430px;
        object-fit: cover;
        object-position: 70% center;
    }

    /* TEXTO SOBRE LA IMAGEN */
    .text-block {
        left: 5%;
        right: 5%;
        bottom: 5%;
        padding: 15px 18px;
    }

    .text-block h1 {
        font-size: 2.3em;
        line-height: 1.1;
        /* margin: 0 0 5px; */
    }

    .text-block p {
        font-size: 1rem;
        line-height: 1.4;
        margin: 0;
    }

    /* CONTENIDO DE BODAS */
    .wedding-grid {
        display: block;
    }

    .wedding-grid .card-image {
        width: 90%;
        max-width: 550px;
        height: 530px;
        object-fit: cover;
        display: block;
        margin: 0 auto;
        box-shadow: 2px 2px 2px 4px rgba(255, 255, 255, 0.842);
    }
}

/* =========================================
   BODAS - TABLET
   ========================================= */

@media (min-width: 701px) and (max-width: 1000px) {

    .text-block {
        left: 5%;
        right: 50%;
        bottom: 5%;
        padding: 20px 25px;
    }

}
  
.card-image{
    
    width: 90%;
    box-shadow: 2px 2px 2px 4px rgba(255, 255, 255, 0.842);
    animation-name: initial;
    animation-duration: 10s;
    animation-direction: normal;
}



#first{
    width: 100%;
    min-height: auto;

}
.deco-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 200px 550px 200px 1fr 300px;
}

h2{
    font-family: "dancing script";
    font-size: 4em;
    font-weight: lighter;
    text-align: center;
    color: white;
    grid-column: 1/3;
    
    
}
.campestre img{
    grid-column: 1/2;
    grid-row: 2/3;
    height: 480px;
    border-radius: 25px;
    
}

.rustica img{
    grid-column: 2/3;
    grid-row: 2/3;
    border-radius: 25px;
}

.text1{
    grid-column: 1/3;
    grid-row: 3/4;
    text-align: center;
    margin-left: 150px;
    margin-right: 150px;
    font-family: "montserrat alternates";
    font-size: 1.5em;
    color: #1c1e26;
    font-weight: 600;

}
.dorado img{
    grid-column: 1/2;
    grid-row: 4/5;
    height: 800px;
    margin-left: 100px;
    border-radius: 25px;
}

.cake img{
    grid-column: 2/3;
    grid-row: 4/5;
    height: 800px;
    margin-left: 80px;
    border-radius: 25px;
}

.text2{
    grid-column: 1/3;
    grid-row: 5/6;
    text-align: center;
    margin-left: 150px;
    margin-right: 150px;
    margin-top: 100px;
    
    font-family: "montserrat alternates";
    font-size: 1.5em;
    color: #1c1e26;
    font-weight: 600;

}
.cotiza{
    margin-top: 100px;
}
.cotiza-wrap{
max-width:520px;
margin:0 auto;
background:#FBF9F3;
border:1px solid var(--linea);
border-radius:2px;               /* casi recto: estética sobria del sello */
padding:40px 34px 36px;
}

/* Sello: elemento de marca (plano, dos colores). Firma visual de la sección. */
.cotiza-sello{
width:56px; height:56px; margin:0 auto 20px;
border:2px solid var(--oro);
border-radius:50%;
display:flex; align-items:center; justify-content:center;
color:var(--oro);
font-family:'Cormorant Garamond',serif;
font-weight:600; font-size:22px; letter-spacing:1px;
}

.cotiza-eyebrow{
text-align:center;
text-transform:uppercase;
letter-spacing:2.5px;
font-size:11px;
font-weight:600;
color:var(--oro);
margin:0 0 8px;
}
.cotiza-titulo{
text-align:center;
font-family:'Cormorant Garamond',serif;
font-weight:600;
font-size:34px;
line-height:1.1;
margin:0 0 8px;
}
.cotiza h2{
    color: var(--oro-suave);
}
.cotiza-bajada{
text-align:center;
color:var(--gris);
font-size:15px;
line-height:1.5;
margin:0 auto 28px;
max-width:38ch;
}

.campo{ margin-bottom:16px; }
.campo label{
display:block;
font-size:13px;
font-weight:600;
margin-bottom:6px;
color:var(--tinta);
}
.campo label .req{ color:var(--oro); }

/* Campos: grandes y cómodos en móvil (44px+ de alto) */
.campo input,
.campo select{
width:100%;
height:50px;
padding:0 14px;
font-size:16px;                  /* 16px evita que el móvil haga zoom */
font-family:inherit;
color:var(--tinta);
background:#fff;
border:1px solid var(--linea);
border-radius:2px;
appearance:none;
transition:border-color .15s ease;
}
.campo select{
/* flechita del select en oro */
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A9812F' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
background-repeat:no-repeat;
background-position:right 14px center;
padding-right:38px;
cursor:pointer;
}
.campo input:focus,
.campo select:focus{
outline:none;
border-color:var(--oro);
box-shadow:0 0 0 2px rgba(169,129,47,.18);  /* foco visible (accesibilidad) */
}

/* Honeypot anti-spam: invisible para humanos, los bots lo llenan */
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.cotiza-boton{
width:100%;
height:54px;
margin-top:6px;
border:none;
border-radius:2px;
background:var(--oro);
color:#fff;
font-family:inherit;
font-size:16px;
font-weight:600;
letter-spacing:.3px;
cursor:pointer;
transition:background .15s ease;
}
.cotiza-boton:hover{ background:#3d2504; }
.cotiza-boton:focus-visible{ outline:3px solid var(--oro-suave); outline-offset:2px; }

.cotiza-nota{
display:flex; align-items:center; justify-content:center; gap:7px;
margin-top:14px;
font-size:12.5px;
color:var(--gris);
}
.cotiza-nota svg{ flex:none; }
.cotiza-error{
display:none;
margin-top:12px;
padding:10px 14px;
background:#fbece9;
border:1px solid #e3bcb4;
border-radius:2px;
color:var(--alerta);
font-size:13.5px;
}

@media (prefers-reduced-motion:reduce){ *{ transition:none !important; } }



/* =========================================
   HEADER EN CELULAR
   ========================================= */

@media (max-width: 800px) {

    .site-header {
        flex-direction: column;
        justify-content: center;
        gap: 20px;
        padding: 20px;
    }

    .site-logo img {
        width: 160px;
    }

    .main-nav {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 20px;
    }

    .main-nav a {
        font-size: 1em;
    }
}


/* =========================================
   CELULARES PEQUEÑOS
   ========================================= */

@media (max-width: 500px) {

    .site-header {
        padding: 15px;
        gap: 15px;
    }

    .site-logo img {
        width: 140px;
    }

    .main-nav {
        gap: 8px 15px;
    }

    .main-nav a {
        font-size: 0.95em;
    }
}
/* =========================================
   FOOTER GOURMET REAL
   ========================================= */

.site-footer {
    width: 100%;
    margin-top: 80px;
    

    background: linear-gradient(
        110deg,
        #f0d27a 0%,
        #d6b45a 55%,
        #a68d56 100%
    );

    color: var(--paragraph);
}


/* =========================================
   CONTENIDO
   ========================================= */

.footer-contenido {

    width: 100%;
    max-width: 1400px;

    margin: 0 auto;

    padding: 55px 60px;

    display: grid;

    grid-template-columns:
        1.2fr
        1.3fr
        1fr
        1.2fr;

    gap: 50px;

    align-items: start;
}


/* =========================================
   MARCA
   ========================================= */

.footer-marca img {

    display: block;

    width: 180px;
    height: auto;

    margin-bottom: 18px;
    
}

.footer-marca p {

    max-width: 260px;

    margin: 0;

    font-family: "Montserrat Alternates", sans-serif;

    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.6;

    color: var(--paragraph);
}


/* =========================================
   TITULOS
   ========================================= */

.footer-contacto h3,
.footer-redes h3,
.footer-extra h3 {

    margin: 0 0 18px;

    font-family: "Inter", system-ui, sans-serif;

    font-size: 1.5rem;

    font-weight: 500;

    color: var(--paragraph);
}


/* =========================================
   CONTACTO
   ========================================= */

.footer-contacto {

    display: flex;

    flex-direction: column;

    gap: 9px;
}

.footer-contacto a,
.footer-contacto p {

    margin: 0;

    font-family: "Montserrat Alternates", sans-serif;

    font-size: 1rem;
    font-weight: 600;

    color: var(--paragraph);

    text-decoration: none;
}

.footer-contacto a:hover {

    color: var(--papel);
}


/* =========================================
   REDES
   ========================================= */

.footer-redes {

    display: flex;

    flex-direction: column;
}

.footer-iconos {

    display: flex;

    gap: 14px;
}


/* Botones sociales */

.footer-iconos a {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--papel);
    border-radius: 50%;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}



/* SVG */

.footer-iconos svg {
    width: 24px;
    height: 24px;
    display: block;
    fill: white;

    stroke: var(--oro-suave);
    stroke-width: 1.5;

    transition: transform 0.2s ease, opacity 0.2s ease;
    
}


/* Hover */

.footer-iconos a:hover {

    background-color: var(--papel);

    transform: translateY(-3px);
}

.footer-iconos a:hover svg {

    fill: var(--paragraph);

    stroke: var(--paragraph);
}


/* =========================================
   MENSAJE EXTRA
   ========================================= */

.footer-extra {

    display: flex;

    flex-direction: column;
}

.footer-extra p {

    max-width: 250px;

    margin: 0;

    font-family: "Montserrat Alternates", sans-serif;

    font-size: 1.1rem;

    line-height: 1.3;

    color: var(--paragraph);
}


/* =========================================
   COPYRIGHT
   ========================================= */

.footer-bottom {

    width: 100%;
    max-width: 1400px;

    margin: 0 auto;

    padding: 18px 60px;

    border-top: 1px solid rgba(255, 255, 255, 0.35);

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;
}

.footer-bottom p {

    margin: 0;

    font-family: "Montserrat Alternates", sans-serif;

    font-size: 0.9rem;

    color: var(--paragraph);
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1000px) {

    .footer-contenido {

        grid-template-columns: 1fr 1fr;

        gap: 40px;

        padding: 50px 40px;
    }

}


/* =========================================
   CELULAR
   ========================================= */

@media (max-width: 700px) {

    .site-footer {

        margin-top: 60px;
    }


    .footer-contenido {

        grid-template-columns: 1fr;

        text-align: center;

        gap: 30px;

        padding: 40px 25px;
    }


    /* Logo */

    .footer-marca img {

        width: 150px;

        margin-left: auto;
        margin-right: auto;

        margin-bottom: 12px;
    }


    .footer-marca p {

        max-width: 280px;

        margin-left: auto;
        margin-right: auto;

        font-size: 0.82rem;

        line-height: 1.5;
    }


    /* Títulos */

    .footer-contacto h3,
    .footer-redes h3,
    .footer-extra h3 {

        font-size: 1.35rem;

        margin-bottom: 12px;
    }


    /* Contacto */

    .footer-contacto {

        align-items: center;

        gap: 7px;
    }


    .footer-contacto a,
    .footer-contacto p {

        font-size: 0.82rem;
    }


    /* Redes */

    .footer-redes {

        align-items: center;
    }


    .footer-iconos {

        gap: 12px;
    }


    .footer-iconos a {

        width: 38px;
        height: 38px;
    }


    .footer-iconos svg {

        width: 17px;
        height: 17px;
    }


    /* Mensaje */

    .footer-extra {

        align-items: center;
    }


    .footer-extra p {

        max-width: 280px;

        font-size: 0.82rem;

        line-height: 1.5;
    }


    /* Copyright */

    .footer-bottom {

        flex-direction: column;

        text-align: center;

        gap: 5px;

        padding: 15px 20px;
    }


    .footer-bottom p {

        font-size: 0.7rem;
    }

}

/* =========================================
   BOTÓN FLOTANTE WHATSAPP
   ========================================= */

.whatsapp-flotante {

    position: fixed;

    right: 25px;
    bottom: 35px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #25D366;

    border-radius: 50%;

    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.22);

    z-index: 9999;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


/* Icono */

.whatsapp-flotante svg {

    width: 30px;
    height: 30px;

    fill: white;
}


/* Hover */

.whatsapp-flotante:hover {

    transform: scale(1.08);

    box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.28);
}


/* =========================================
   WHATSAPP - CELULAR
   ========================================= */

@media (max-width: 700px) {

    .whatsapp-flotante {

        width: 52px;
        height: 52px;

        right: 18px;
        bottom: 18px;
    }

    .whatsapp-flotante svg {

        width: 27px;
        height: 27px;
    }

}

/* =========================================
   GALERÍA
   ========================================= */

.galeria {
    width: 100%;
    max-width: 1400px;
    margin: 100px auto 0;
    padding: 60px 50px;
}


/* =========================================
   ENCABEZADO
   ========================================= */

.galeria-encabezado {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px;
}

.galeria-eyebrow {
    margin: 0 0 10px;

    font-family: "Montserrat Alternates", sans-serif;
    font-size: 0.8rem;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: 3px;

    color: var(--oro);
}

.galeria-encabezado h2 {
    margin: 0 0 15px;

    font-family: "Dancing Script", cursive;
    font-size: 4em;
    font-weight: 400;

    color: var(--oro-suave);
}

.galeria-encabezado > p:last-child {
    margin: 0 auto;

    font-family: "Cormorant Garamond", serif;
    font-size: 1.3rem;
    line-height: 1.6;

    color: var(--paragraph);
}


/* =========================================
   GRID 3 × 2
   ========================================= */

.galeria-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}


/* =========================================
   IMÁGENES
   ========================================= */

.galeria-item {
    overflow: hidden;
    background: var(--papel);
}

.galeria-item img {
    display: block;

    width: 100%;
    height: 320px;

    object-fit: cover;

    transition:
        transform 0.5s ease,
        filter 0.5s ease;
}


/* =========================================
   EFECTO HOVER
   ========================================= */

.galeria-item:hover img {
    transform: scale(1.04);
}

/* =========================================
   GALERÍA - CELULAR
   ========================================= */

@media (max-width: 700px) {

    .galeria {
        margin-top: 60px;
        padding: 45px 20px;
    }

    .galeria-encabezado {
        margin-bottom: 35px;
    }

    .galeria-encabezado h2 {
        font-size: 3em;
    }

    .galeria-encabezado > p:last-child {
        font-size: 1.15rem;
    }

    .galeria-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .galeria-item img {
        height: 280px;
    }
}


/* =========================================
   HEADER - TABLET Y CELULAR
   ========================================= */

@media (max-width: 1000px) {

    .site-header {
        min-height: auto;
        height: auto;

        flex-direction: column;

        justify-content: center;
        align-items: center;

        gap: 15px;

        padding: 15px 20px;
    }


    /* LOGO */

    .site-logo {
        flex-shrink: 0;
    }

    .site-logo img {
        width: 150px;
        height: auto;
        display: block;
    }


    /* MENU */

    .main-nav {
        width: 100%;

        display: flex;
        flex-wrap: wrap;

        justify-content: center;
        align-items: center;

        gap: 10px 16px;
    }


    .main-nav a {
        font-size: 0.9rem;
        white-space: nowrap;
    }

}


/* =========================================
   HEADER - CELULAR PEQUEÑO
   ========================================= */

@media (max-width: 500px) {

    .site-header {
        padding: 12px 15px;
        gap: 12px;
    }


    .site-logo img {
        width: 130px;
    }


    .main-nav {
        gap: 8px 12px;
    }


    .main-nav a {
        font-size: 0.78rem;
    }

}