*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080808;color:#f5f5f5;font-family:Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.c{width:min(1180px,calc(100% - 40px));margin:auto}.hdr{position:sticky;top:0;z-index:50;background:#090909ed;border-bottom:1px solid #242424}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.logo{font-size:24px;font-weight:900}.logo b,.yel{color:#f2b90d}.menu{display:flex;gap:22px;font-size:14px;color:#ccc}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:50px;font-weight:900}.pri{background:#f2b90d;color:#111}.out{border:1px solid #555}.hero{min-height:720px;display:flex;align-items:center;background:radial-gradient(circle at 80% 25%,#6d43ff33,transparent 28%),#080808}.grid2{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.hero .grid2{padding:70px 0}.kick{font-size:13px;font-weight:900;letter-spacing:2px;color:#f2b90d;text-transform:uppercase}h1{font-size:clamp(48px,6.5vw,82px);line-height:.96;letter-spacing:-3px;margin:16px 0 24px}h2{font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-2px;margin:12px 0 22px}h3{font-size:24px;margin:0 0 12px}.lead{font-size:20px;color:#c8c8c8;max-width:760px}.price{font-size:68px;font-weight:900;color:#f2b90d;line-height:.9}.pricebox{display:flex;gap:16px;align-items:flex-end;margin:30px 0}.ctas{display:flex;gap:12px;flex-wrap:wrap}.micro{font-size:14px;color:#999;margin-top:18px}.photo{min-height:530px;border-radius:30px;border:1px solid #292929;background:radial-gradient(circle at 30% 25%,#f2b90d44,transparent 18%),radial-gradient(circle at 72% 28%,#6d43ff55,transparent 20%),linear-gradient(145deg,#21162e,#09090d 72%);box-shadow:0 30px 80px #0008}.trust{border-top:1px solid #292929;border-bottom:1px solid #292929;background:#0e0e0e}.trustg{display:grid;grid-template-columns:repeat(4,1fr)}.trustg div{text-align:center;padding:24px 12px;border-right:1px solid #292929}.trustg div:last-child{border:0}.trustg b{display:block}.trustg span{font-size:13px;color:#888}.sec{padding:95px 0}.alt{background:#0e0e0e}.card,.quote,.review,.extra,.contact,.faq details{background:#161616;border:1px solid #292929;border-radius:24px}.quote{padding:40px}.quote strong{font-size:40px;line-height:1.08;display:block}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.card{padding:28px;display:flex;flex-direction:column;min-height:250px}.card .ico{font-size:32px;margin-bottom:30px}.card p,.extra p,.review p{color:#aaa}.card a{margin-top:auto;color:#f2b90d;font-weight:900;font-size:13px}.offer{display:grid;grid-template-columns:1fr 1fr;border:1px solid #292929;border-radius:28px;overflow:hidden;background:#111;margin-top:36px}.ov{min-height:560px;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 30% 30%,#f2b90d38,transparent 18%),radial-gradient(circle at 72% 25%,#6d43ff55,transparent 20%),linear-gradient(140deg,#241834,#08080b 70%)}.ov .big{font-size:96px;line-height:.9;color:#f2b90d;font-weight:900}.oi{padding:44px}.tick{margin:11px 0;color:#ddd}.tick:before{content:"✓ ";color:#f2b90d;font-weight:900}.gasca{background:radial-gradient(circle at 35% 25%,#f2b90d33,transparent 18%),radial-gradient(circle at 70% 30%,#6d43ff55,transparent 22%),linear-gradient(145deg,#1d1d1d,#080808 70%)}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0}.pill{padding:7px 12px;border:1px solid #444;border-radius:30px;color:#ccc;font-size:13px}.reviews,.extras,.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.review,.extra{padding:27px}.stars{color:#f2b90d}.faq{max-width:900px;margin:auto}.faq details{padding:0 22px;margin:11px 0}.faq summary{padding:20px 0;font-weight:900;cursor:pointer}.faq p{color:#aaa;padding-bottom:18px}.pagehero{padding:105px 0 78px;background:radial-gradient(circle at 75% 10%,#6d43ff2d,transparent 26%),#090909}.feature{padding:27px;border:1px solid #292929;border-radius:22px;background:#131313}.feature p{color:#999}.final{text-align:center;padding:65px 25px;border:1px solid #292929;border-radius:30px;background:radial-gradient(circle at 50% 0,#f2b90d2b,transparent 42%),#111}.contactg{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px}.contact{padding:32px}.form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px}.full{grid-column:1/-1}input,select,textarea{background:#0b0b0b;color:#fff;border:1px solid #3b3b3b;border-radius:12px;padding:14px;font:inherit}textarea{min-height:130px}.foot{border-top:1px solid #292929;padding:40px 0 100px;color:#888}.footg{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:30px}.foot a{display:block;color:#aaa;margin:7px 0}.wa{position:fixed;right:18px;bottom:18px;background:#fff;color:#111;padding:14px 18px;border-radius:50px;font-weight:900;z-index:60}.mt{display:none;background:none;border:0;color:#fff;font-size:26px}@media(max-width:950px){.menu{display:none;position:absolute;top:76px;left:0;right:0;background:#0b0b0b;padding:20px;flex-direction:column}.menu.open{display:flex}.mt{display:block}.nav>.btn{display:none}.grid2,.offer,.contactg{grid-template-columns:1fr}.hero{min-height:auto}.photo{min-height:400px}.cards{grid-template-columns:1fr 1fr}.reviews,.extras,.features{grid-template-columns:1fr}.trustg{grid-template-columns:1fr 1fr}.footg{grid-template-columns:1fr}}@media(max-width:620px){.c{width:calc(100% - 26px)}.hero .grid2{padding:55px 0}.cards{grid-template-columns:1fr}.sec{padding:68px 0}.ov,.oi{padding:28px}.ov .big{font-size:72px}.form{grid-template-columns:1fr}.full{grid-column:auto}.ctas{display:grid}.btn{width:100%}.wa{left:13px;right:13px;text-align:center}}
.logo-img{display:flex;align-items:center;flex:0 0 auto}
.logo-img img{display:block;width:250px;max-width:100%;height:auto}
.footer-logo{display:inline-flex;margin-bottom:12px}
.footer-logo img{width:230px}
@media(max-width:620px){
  .logo-img img{width:205px}
  .footer-logo img{width:215px}
}

.legal{max-width:900px;margin:auto}
.legal h2{font-size:32px;letter-spacing:-1px;margin-top:42px}
.legal h3{font-size:22px;margin-top:28px}
.legal p,.legal li{color:#c3c3c3}
.legal ul{padding-left:22px}
.legal a{color:#f2b90d;text-decoration:underline}
.privacy-note{margin:18px 0;padding:16px 18px;border:1px solid #333;border-radius:14px;background:#121212;color:#bbb;font-size:14px}
.privacy-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#cfcfcf}
.privacy-check input{margin-top:4px;width:auto}
.legal-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px}
.legal-links a{display:inline-block}

.wa{display:flex;align-items:center;justify-content:center;gap:9px}
.wa-icon{width:24px;height:24px;display:block;flex:0 0 24px}
input[type="date"]{color-scheme:dark;cursor:pointer}

/* =========================================================
   IMÁGENES EDITABLES
   Para cambiar una foto, sube otra con el mismo nombre a /assets/img/
   ========================================================= */

.photo-home{
  background:
    linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.48)),
    url("/assets/img/home-fiesta.jpg") center/cover no-repeat;
}

.photo-fiesta{
  background:
    linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.48)),
    url("/assets/img/fiesta-privada.jpg") center/cover no-repeat;
}

.photo-boda{
  background:
    linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.48)),
    url("/assets/img/boda.jpg") center/cover no-repeat;
}

.photo-empresa{
  background:
    linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.48)),
    url("/assets/img/empresa.jpg") center/cover no-repeat;
}

.photo-popular{
  background:
    linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.48)),
    url("/assets/img/fiesta-popular.jpg") center/cover no-repeat;
}

.photo-gasca-real{
  background:
    linear-gradient(rgba(0,0,0,.03),rgba(0,0,0,.28)),
    url("/assets/img/dj-gasca.png") center 18%/cover no-repeat;
}

@media(max-width:620px){
  .photo-gasca-real{background-position:center 14%}
}
/* OFERTA PREMIUM LIMPIA */

.offer-clean-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:34px;
}

.offer-clean-head h2{
  margin-bottom:0;
}

.offer-clean-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.offer-clean-meta span{
  border:1px solid #343434;
  color:#cfcfcf;
  background:#111;
  padding:9px 13px;
  border-radius:999px;
  font-size:13px;
}

.offer-clean-card{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:590px;
  background:#111;
  border:1px solid #292929;
  border-radius:30px;
  overflow:hidden;
}

.offer-clean-visual{
  position:relative;
  min-height:590px;
  overflow:hidden;
  background:#0a0a0a;
}

.offer-clean-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  position:absolute;
  inset:0;
}

.offer-clean-overlay{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.02) 25%,
      rgba(0,0,0,.72) 100%
    );
}

.offer-clean-caption{
  position:absolute;
  left:34px;
  bottom:32px;
}

.offer-clean-caption span{
  display:block;
  color:#f2b90d;
  font-weight:900;
  letter-spacing:1.6px;
  font-size:12px;
  margin-bottom:5px;
}

.offer-clean-caption strong{
  color:#fff;
  font-size:25px;
}

.offer-clean-info{
  padding:44px 44px 40px;
  display:flex;
  flex-direction:column;
}

.offer-clean-title{
  font-size:31px;
  font-weight:900;
  margin-bottom:20px;
}

.offer-clean-list{
  border-top:1px solid #262626;
}

.offer-clean-list > div{
  display:flex;
  gap:11px;
  padding:13px 0;
  border-bottom:1px solid #262626;
  color:#dedede;
  font-size:16px;
}

.offer-clean-list span{
  color:#f2b90d;
  font-weight:900;
}

.offer-clean-note{
  display:flex;
  gap:13px;
  margin-top:22px;
  padding:16px 18px;
  background:#0d0d0d;
  border:1px solid #333;
  border-radius:16px;
}

.offer-clean-star{
  color:#f2b90d;
  font-size:25px;
}

.offer-clean-note p{
  margin:0;
  color:#aaa;
  font-size:14px;
}

.offer-clean-actions{
  margin-top:auto;
  padding-top:24px;
  display:flex;
  gap:12px;
}

.offer-clean-actions .btn{
  flex:1;
}

.offer-clean-wa{
  min-height:50px;
  padding:0 18px;
  border:1px solid #3d3d3d;
  border-radius:999px;

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

  gap:8px;

  color:#fff;
  font-weight:800;
}

.offer-clean-wa img{
  width:22px;
  height:22px;
}


/* TABLET */

@media(max-width:950px){

  .offer-clean-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .offer-clean-card{
    grid-template-columns:1fr;
  }

  .offer-clean-visual{
    min-height:460px;
  }

}


/* MÓVIL */

@media(max-width:620px){

  .offer-clean-card{
    border-radius:22px;
  }

  .offer-clean-visual{
    min-height:350px;
  }

  .offer-clean-info{
    padding:28px 22px;
  }

  .offer-clean-title{
    font-size:27px;
  }

  .offer-clean-actions{
    display:grid;
  }

  .offer-clean-actions .btn,
  .offer-clean-wa{
    width:100%;
  }

}
/* FOTO BODA MULTIGENERACIONAL */

.boda-multi {
    position: relative;
    overflow: hidden;
    padding: 0;
}

.boda-multi img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
/* =========================================================
   ICONOS MODERNOS - TIPOS DE EVENTO HOME
   ========================================================= */

.service-card {
    position: relative;
    overflow: hidden;

    transition:
        transform .28s ease,
        border-color .28s ease,
        background-color .28s ease,
        box-shadow .28s ease;
}


/* ICONO */

.service-card .service-icon {
    width: 76px;
    height: 76px;

    display: block;
    object-fit: contain;

    margin: 0 0 30px 0;

    transition:
        transform .28s ease,
        filter .28s ease;
}


/* HOVER TARJETA */

.service-card:hover {
    transform: translateY(-5px);

    border-color: rgba(255,255,255,.16);

    background-color: #191919;

    box-shadow:
        0 20px 50px rgba(0,0,0,.25);
}


/* HOVER ICONO */

.service-card:hover .service-icon {
    transform:
        translateY(-3px)
        scale(1.06);

    filter:
        brightness(1.18);
}


/* ENLACES */

.service-card a {
    transition:
        color .2s ease,
        transform .2s ease;
}

.service-card:hover a {
    color: #ffd044;
}


/* TABLET */

@media (max-width:950px) {

    .service-card .service-icon {
        width: 70px;
        height: 70px;
        margin-bottom: 26px;
    }

}


/* MÓVIL */

@media (max-width:620px) {

    .service-card .service-icon {
        width: 64px;
        height: 64px;
        margin-bottom: 24px;
    }

    .service-card:hover {
        transform: none;
    }

    .service-card:hover .service-icon {
        transform: none;
    }

}
/* =========================================================
   RESEÑAS GOOGLE - HOME
   ========================================================= */

.google-reviews-section{
    background:#0e0e0e;
    overflow:hidden;
}


/* CABECERA */

.google-reviews-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin-bottom:40px;
}

.google-reviews-header h2{
    max-width:800px;
}


/* GOOGLE SCORE */

.google-score{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:24px;
}

.google-logo{
    display:inline-flex;
    align-items:center;
    gap:9px;

    padding:10px 14px;

    background:#fff;
    color:#202124;

    border-radius:999px;
}

.google-logo svg{
    width:24px;
    height:24px;
}

.google-logo strong{
    font-size:16px;
}

.google-score-data{
    display:flex;
    align-items:center;
    gap:10px;
}

.google-score-data > strong{
    font-size:25px;
    color:#fff;
}

.google-score-data span{
    color:#888;
    font-size:14px;
}

.google-stars{
    color:#f2b90d;
    letter-spacing:2px;
    font-size:18px;
}


/* NAVEGACIÓN */

.reviews-navigation{
    display:flex;
    gap:10px;
}

.review-arrow{
    width:50px;
    height:50px;

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

    border-radius:50%;

    border:1px solid #363636;

    background:#151515;
    color:#fff;

    font-size:21px;

    cursor:pointer;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.review-arrow:hover{
    background:#f2b90d;
    color:#111;
    border-color:#f2b90d;

    transform:scale(1.05);
}


/* CARRUSEL */

.reviews-slider{
    display:flex;
    gap:18px;

    overflow-x:auto;

    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;

    scrollbar-width:none;

    padding:4px 2px 22px;
}

.reviews-slider::-webkit-scrollbar{
    display:none;
}


/* TARJETA */

.google-review-card{
    flex:0 0 calc((100% - 36px) / 3);

    scroll-snap-align:start;

    min-height:330px;

    display:flex;
    flex-direction:column;

    padding:28px;

    border-radius:24px;

    border:1px solid #2b2b2b;

    background:
        linear-gradient(
            145deg,
            #191919,
            #111
        );

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.google-review-card:hover{
    transform:translateY(-5px);

    border-color:#414141;

    box-shadow:
        0 22px 55px
        rgba(0,0,0,.28);
}


/* CABECERA TARJETA */

.review-card-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;

    gap:20px;
}

.review-name{
    color:#fff;

    font-size:18px;
    font-weight:900;

    line-height:1.25;
}

.review-category{
    display:inline-block;

    margin-top:7px;

    color:#f2b90d;

    font-size:11px;
    font-weight:900;

    letter-spacing:1.3px;
}


/* MINI LOGO GOOGLE */

.review-google-mini{
    width:38px;
    height:38px;

    flex:0 0 38px;

    border-radius:50%;

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

    background:#fff;
}

.review-google-mini svg{
    width:23px;
    height:23px;
}


/* ESTRELLAS */

.review-stars{
    margin:20px 0 16px;

    color:#f2b90d;

    font-size:18px;
    letter-spacing:2px;
}


/* TEXTO */

.review-excerpt{
    margin:0;

    color:#c6c6c6;

    font-size:16px;
    line-height:1.65;
}


/* LEER MÁS */

.review-more{
    margin-top:auto;
    padding-top:20px;
}

.review-more summary{
    list-style:none;

    cursor:pointer;

    color:#f2b90d;

    font-size:13px;
    font-weight:900;

    text-transform:uppercase;

    letter-spacing:.4px;
}

.review-more summary::-webkit-details-marker{
    display:none;
}

.review-more summary::after{
    content:" +";
}

.review-more[open] summary::after{
    content:" −";
}

.review-more p{
    color:#aaa;

    font-size:14px;
    line-height:1.65;

    margin:15px 0 0;

    padding-top:15px;

    border-top:1px solid #292929;
}


/* BOTÓN GOOGLE */

.reviews-google-footer{
    margin-top:15px;

    display:flex;
    justify-content:center;
}


/* TABLET */

@media(max-width:950px){

    .google-review-card{
        flex-basis:
            calc((100% - 18px) / 2);
    }

}


/* MÓVIL */

@media(max-width:620px){

    .google-reviews-header{
        align-items:flex-start;
        flex-direction:column;

        margin-bottom:30px;
    }

    .google-score{
        flex-wrap:wrap;
    }

    .google-score-data{
        flex-wrap:wrap;
    }

    .reviews-navigation{
        align-self:flex-end;
    }

    .google-review-card{
        flex-basis:90%;

        padding:24px;

        min-height:300px;
    }

    .review-name{
        font-size:17px;
    }

}
/* =========================================================
   PÁGINA DE OPINIONES
   ========================================================= */

.reviews-page-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.reviews-page-grid .google-review-card{
    min-height:330px;
}

@media(max-width:950px){

    .reviews-page-grid{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:620px){

    .reviews-page-grid{
        grid-template-columns:1fr;
    }

}