:root{
  --bg:#f5f5f7;
  --surface:#ffffff;
  --ink:#1f2027;
  --muted:#676b75;
  --header:#45464d;
  --line:#e7e7ec;
  --accent:#d7b64a;
  --accent-2:#b8962b;
  --shadow:0 14px 34px rgba(0,0,0,.08);
  --radius:28px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;overflow-x:hidden}
body{
  font-family: Inter, Arial, sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1280px, calc(100% - 32px));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:1000;
  background:var(--header);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset;
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:94px;position:relative}
.logo{font-size:24px;font-weight:900;color:#fff;white-space:nowrap}
.logo span{color:var(--accent)}
.desktop-nav ul{list-style:none;display:flex;gap:30px;margin:0;padding:0;align-items:center}
.desktop-nav a{color:#fff;font-weight:800;font-size:16px;opacity:.98}
.desktop-nav a.active,.desktop-nav a:hover{color:var(--accent)}
.menu-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:18px;width:64px;height:64px;font-size:28px;cursor:pointer}
.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#3f4047;padding:16px;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px rgba(0,0,0,.2)}
.mobile-menu.active{display:flex;flex-direction:column;gap:12px}
.mobile-menu a{color:#fff;font-weight:800;font-size:22px;padding:18px 16px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.02)}
.hero{
  background:
    linear-gradient(rgba(31,32,39,.46), rgba(31,32,39,.46)),
    linear-gradient(135deg,#63656c 0%, #767982 45%, #b8a35a 100%);
  color:#fff;
  min-height:760px;
  display:flex;align-items:center;
}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:80px 0}
.badge{display:inline-block;padding:14px 26px;border-radius:999px;background:linear-gradient(135deg,#d8bd62,#b8962b);font-weight:900;font-size:18px;box-shadow:0 0 0 8px rgba(215,182,74,.14)}
.hero h1{font-size:78px;line-height:1.04;margin:22px 0 18px;font-weight:900;letter-spacing:-1px;max-width:760px}
.hero p{font-size:19px;max-width:760px;opacity:.96;margin-bottom:28px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.btn-primary,.btn-secondary{display:inline-block;padding:18px 30px;border-radius:999px;font-weight:900;font-size:18px}
.btn-primary{background:linear-gradient(135deg,#d8bd62,#b8962b);color:#1f2027;box-shadow:0 16px 34px rgba(184,150,43,.28)}
.btn-secondary{border:2px solid rgba(255,255,255,.32);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.hero-stats{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px);border-radius:34px;padding:26px;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.hero-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.stat-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:28px 22px;text-align:center}
.stat-card strong{display:block;font-size:52px;line-height:1;font-weight:900;color:#fff}
.stat-card span{display:block;color:#f4f4f7;font-size:20px;margin-top:8px}
.section{padding:84px 0}
.section-head{text-align:center;max-width:940px;margin:0 auto 42px}
.section-head h2{font-size:56px;line-height:1.08;margin:16px 0 14px}
.section-head p{font-size:19px;color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line)}
.card-image{height:240px;background:linear-gradient(135deg,#9da0a7,#ddd0a4)}
.card-body{padding:28px}
.price{display:block;color:var(--accent-2);font-weight:900;font-size:18px;margin-bottom:12px}
.card h3{font-size:34px;line-height:1.12;margin:0 0 12px}
.card p{font-size:18px;color:var(--muted);margin:0 0 24px}
.card-btn{display:inline-block;padding:16px 28px;border-radius:999px;background:linear-gradient(135deg,#d8bd62,#b8962b);font-weight:900;color:#1f2027}
.list-block{background:var(--surface);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);border:1px solid var(--line)}
.list-block h3{font-size:34px;margin-top:0;margin-bottom:16px}
.list-block p,.list-block li{font-size:18px;color:var(--muted)}
.list-block ul{padding-left:22px;margin:0}
.cta-band{background:linear-gradient(135deg,#3d3f46,#6c6857);color:#fff;border-radius:34px;padding:48px 34px;text-align:center;box-shadow:var(--shadow)}
.cta-band h2{font-size:48px;margin:0 0 12px}
.cta-band p{font-size:19px;opacity:.95;max-width:900px;margin:0 auto 24px}
.site-footer{background:#16171d;color:#fff;padding:70px 0 24px;margin-top:70px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.08)}
.site-footer h3{font-size:24px;margin:0 0 14px}
.site-footer p,.site-footer a{color:rgba(255,255,255,.78);font-size:16px}
.site-footer a{display:block;margin-bottom:10px}
.footer-bottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:20px;color:rgba(255,255,255,.66)}
.page-hero{background:linear-gradient(135deg,#1f2027,#5d604f 60%, #b8962b);color:#fff;padding:90px 0}
.page-hero h1{font-size:62px;line-height:1.08;margin:18px 0 14px}
.page-hero p{font-size:20px;max-width:820px;opacity:.95}
.simple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.feature-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.feature-card h3{font-size:32px;margin:0 0 12px}
.feature-card p{font-size:18px;color:var(--muted);margin:0}
@media (max-width:1100px){
  .desktop-nav{display:none}
  .menu-toggle{display:flex;align-items:center;justify-content:center}
  .hero-inner,.simple-grid,.footer-grid,.grid-3,.grid-4{grid-template-columns:1fr}
  .hero h1{font-size:56px}
  .page-hero h1{font-size:48px}
}
@media (max-width:700px){
  .container{width:min(100% - 24px, 1280px)}
  .nav-wrap{min-height:84px}
  .logo{font-size:22px}
  .hero{min-height:auto}
  .hero-inner{padding:56px 0}
  .badge{font-size:16px;padding:12px 22px}
  .hero h1{font-size:44px}
  .hero p,.page-hero p,.section-head p,.card p,.list-block p,.list-block li,.feature-card p{font-size:17px}
  .section{padding:64px 0}
  .section-head h2{font-size:40px}
  .card h3,.list-block h3,.feature-card h3{font-size:28px}
  .page-hero h1{font-size:40px}
  .cta-band h2{font-size:34px}
}
.hero-solteros{
  position:relative;
  padding:120px 20px 100px;
  max-width:1200px;
  margin:auto;
  color:white;

  background-image:url("../img/hero-solteros.jpg");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.hero-overlay{
  position:absolute;
  inset:0;

  background:linear-gradient(
    90deg,
    rgba(40,40,40,0.85) 0%,
    rgba(40,40,40,0.70) 40%,
    rgba(40,40,40,0.40) 100%
  );
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:1200px;
  margin:auto;
  padding:80px 20px;
  color:white;
}
/* =========================
   CONFIGURADOR PREMIUM
   Gris mate + blanco + amarillo mate
========================= */

.pack-builder{
  padding: 90px 20px;
  background: #f3f3f6;
}

.pack-builder-container{
  max-width: 1450px;
  margin: 0 auto;
}

.pack-builder-head{
  text-align: center;
  max-width: 980px;
  margin: 0 auto 48px;
}

.pack-builder-mini{
  display: inline-block;
  margin: 0 0 16px;
  padding: 10px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #d8bd62, #b8962b);
  color: #1f2027;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(184,150,43,.20);
}

.pack-builder-head h2{
  margin: 0 0 16px;
  font-size: 62px;
  line-height: 1.08;
  font-weight: 900;
  color: #1f2027;
  letter-spacing: -1px;
}

.pack-builder-subtext{
  margin: 0 auto;
  max-width: 920px;
  font-size: 20px;
  line-height: 1.8;
  color: #6a6d77;
}

.pack-builder-layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 34px;
  align-items: start;
}

.pack-builder-main{
  min-width: 0;
}

.builder-personas-box{
  background: #ffffff;
  border: 1px solid #e7e7ec;
  border-radius: 34px;
  padding: 28px;
  margin-bottom: 26px;
  box-shadow: 0 16px 36px rgba(0,0,0,.06);
}

.builder-personas-box label{
  display: block;
  margin-bottom: 16px;
  font-size: 17px;
  font-weight: 800;
  color: #1f2027;
}

.builder-personas-box input{
  width: 100%;
  height: 70px;
  border-radius: 22px;
  border: 1px solid #d9dbe3;
  background: #f7f7fa;
  padding: 0 18px;
  font-size: 20px;
  font-weight: 700;
  color: #1f2027;
  outline: none;
  transition: .2s ease;
}

.builder-personas-box input:focus{
  border-color: #b8962b;
  box-shadow: 0 0 0 4px rgba(184,150,43,.12);
  background: #fff;
}

.builder-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 28px;
}

.builder-tab{
  border: 0;
  background: #ffffff;
  color: #2a2c35;
  border-radius: 18px;
  padding: 16px 22px;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  border: 1px solid #e4e4ea;
  box-shadow: 0 8px 20px rgba(0,0,0,.04);
  transition: .2s ease;
}

.builder-tab:hover{
  transform: translateY(-2px);
  border-color: #cbb365;
}

.builder-tab.active{
  background: linear-gradient(135deg, #d8bd62, #b8962b);
  color: #1f2027;
  border-color: transparent;
  box-shadow: 0 12px 28px rgba(184,150,43,.22);
}

.builder-panel{
  display: none;
}

.builder-panel.active{
  display: block;
}

.builder-accordion-item,
.builder-section{
  background: #ffffff;
  border: 1px solid #e7e7ec;
  border-radius: 34px;
  box-shadow: 0 16px 36px rgba(0,0,0,.06);
  overflow: hidden;
}

.builder-accordion-title{
  width: 100%;
  border: 0;
  background: transparent;
  padding: 28px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  font-size: 22px;
  font-weight: 900;
  color: #1f2027;
  cursor: pointer;
}

.builder-accordion-title span{
  font-size: 34px;
  line-height: 1;
  color: #b8962b;
}

.builder-accordion-content{
  padding: 0 26px 26px;
  display: grid;
  gap: 16px;
}

.builder-option{
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 18px;
  background: #f8f8fb;
  border: 1px solid #e6e6ec;
  border-radius: 22px;
  padding: 22px 20px;
  transition: .2s ease;
}

.builder-option:hover{
  border-color: #d5c07a;
  background: #fffef8;
}

.builder-option input[type="checkbox"]{
  width: 22px;
  height: 22px;
  accent-color: #b8962b;
  cursor: pointer;
}

.builder-option-name{
  font-size: 17px;
  font-weight: 800;
  color: #1f2027;
}

.builder-option-price,
.builder-option .precio{
  font-size: 16px;
  font-weight: 900;
  color: #b8962b;
  white-space: nowrap;
}

.builder-section{
  padding: 28px;
}

.builder-section h3{
  margin: 0 0 18px;
  font-size: 30px;
  line-height: 1.15;
  color: #1f2027;
}

.builder-section .builder-option{
  grid-template-columns: 1fr auto auto;
}

.builder-section .builder-option span:first-child{
  font-size: 17px;
  font-weight: 800;
  color: #1f2027;
}

.botellas{
  min-width: 180px;
  height: 52px;
  border-radius: 16px;
  border: 1px solid #d9dbe3;
  background: #fff;
  padding: 0 14px;
  font-size: 16px;
  font-weight: 700;
  color: #1f2027;
  outline: none;
}

.botellas:focus{
  border-color: #b8962b;
  box-shadow: 0 0 0 4px rgba(184,150,43,.10);
}

.builder-sidebar{
  position: sticky;
  top: 110px;
}

.builder-summary{
  background: linear-gradient(180deg, #2a2c35 0%, #1f2027 100%);
  color: #fff;
  border-radius: 34px;
  padding: 32px;
  box-shadow: 0 22px 46px rgba(0,0,0,.18);
}

.builder-summary-mini{
  margin: 0 0 16px;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(255,255,255,.66);
}

.builder-summary h3{
  margin: 0 0 28px;
  font-size: 54px;
  line-height: 1;
  font-weight: 900;
  color: #fff;
}

.builder-selected-items{
  min-height: 170px;
  display: grid;
  gap: 14px;
  margin-bottom: 24px;
}

.builder-empty{
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
  color: rgba(255,255,255,.72);
}

.builder-selected-items .builder-item{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 14px 16px;
}

.builder-selected-items .builder-item strong{
  display: block;
  font-size: 16px;
  margin-bottom: 4px;
  color: #fff;
}

.builder-selected-items .builder-item span{
  font-size: 15px;
  color: rgba(255,255,255,.72);
}

.builder-total{
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  padding: 24px 0;
  margin-top: 10px;
  border-top: 1px solid rgba(255,255,255,.10);
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.builder-total span{
  font-size: 17px;
  color: rgba(255,255,255,.78);
}

.builder-total strong{
  font-size: 46px;
  line-height: 1;
  font-weight: 900;
  color: #d8bd62;
}

.builder-btn{
  width: 100%;
  margin-top: 26px;
  border: 0;
  background: linear-gradient(135deg, #d8bd62, #b8962b);
  color: #1f2027;
  border-radius: 999px;
  padding: 20px 28px;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(184,150,43,.25);
  transition: .2s ease;
}

.builder-btn:hover{
  transform: translateY(-2px);
  filter: brightness(1.02);
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1250px){
  .pack-builder-layout{
    grid-template-columns: 1fr;
  }

  .builder-sidebar{
    position: static;
  }
}

@media (max-width: 900px){
  .pack-builder{
    padding: 70px 16px;
  }

  .pack-builder-head h2{
    font-size: 42px;
  }

  .pack-builder-subtext{
    font-size: 17px;
  }

  .builder-tabs{
    gap: 10px;
  }

  .builder-tab{
    font-size: 15px;
    padding: 14px 16px;
  }

  .builder-accordion-title{
    font-size: 20px;
    padding: 24px 22px;
  }

  .builder-accordion-content{
    padding: 0 18px 18px;
  }

  .builder-option{
    grid-template-columns: 24px 1fr;
    gap: 14px;
  }

  .builder-option-price{
    grid-column: 2;
  }

  .builder-section{
    padding: 22px 18px;
  }

  .builder-section .builder-option{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .botellas{
    width: 100%;
    min-width: 100%;
  }

  .builder-summary{
    padding: 26px 22px;
  }

  .builder-summary h3{
    font-size: 42px;
  }

  .builder-total strong{
    font-size: 38px;
  }
}

@media (max-width: 640px){
  .pack-builder-head h2{
    font-size: 34px;
  }

  .builder-personas-box{
    padding: 22px 18px;
  }

  .builder-personas-box input{
    height: 62px;
    font-size: 18px;
  }

  .builder-tab{
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .builder-summary h3{
    font-size: 36px;
  }

  .builder-total{
    align-items: center;
  }

  .builder-total strong{
    font-size: 32px;
  }

  .builder-btn{
    font-size: 17px;
    padding: 18px 22px;
  }
}
.builder-item{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 14px 16px;
}

.builder-item strong{
  display: block;
  font-size: 16px;
  margin-bottom: 4px;
  color: #fff;
}

.builder-item span{
  display: block;
  font-size: 14px;
  color: rgba(255,255,255,.72);
}
.solteros-claim{
  padding: 110px 20px;
  background: linear-gradient(135deg, #4a4b52 0%, #6a685f 100%);
  text-align: center;
  color: #fff;
}

.solteros-claim-inner{
  max-width: 1100px;
  margin: 0 auto;
}

.solteros-claim-mini{
  margin: 0 0 22px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 6px;
  text-transform: uppercase;
  opacity: .85;
}

.solteros-claim-socials{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 42px;
  margin-bottom: 52px;
}

.solteros-claim-socials a{
  color: #fff;
  text-decoration: none;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  opacity: .92;
}

.solteros-claim h2{
  margin: 0 0 26px;
  font-size: 66px;
  line-height: 1.08;
  font-weight: 800;
}

.solteros-claim-text{
  max-width: 980px;
  margin: 0 auto;
  font-size: 23px;
  line-height: 1.7;
  color: rgba(255,255,255,.92);
}

@media (max-width: 768px){
  .solteros-claim{
    padding: 80px 16px;
  }

  .solteros-claim-socials{
    gap: 20px;
    margin-bottom: 36px;
  }

  .solteros-claim-socials a{
    font-size: 14px;
    letter-spacing: 2px;
  }

  .solteros-claim h2{
    font-size: 40px;
  }

  .solteros-claim-text{
    font-size: 18px;
  }
}
/* SECCION PACKS DESTACADOS */

.packs-destacados{
  padding:100px 20px;
  background:linear-gradient(135deg,#f1f2f7,#e7eaf3);
  color:white;
}

.packs-destacados .container{
  max-width:1200px;
  margin:auto;
}

.section-head{
  text-align:center;
  margin-bottom:70px;
}

.section-head h2{
  font-size:48px;
  font-weight:800;
  margin-bottom:20px;
}

.section-head p{
  font-size:18px;
  max-width:800px;
  margin:auto;
  opacity:.9;
}


/* GRID */

.packs-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
}


/* TARJETA */

.pack-card{
  background:#2b2c34;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,.4);
  transition:all .35s ease;
}

.pack-card:hover{
  transform:translateY(-10px);
  box-shadow:0 30px 60px rgba(0,0,0,.5);
}


/* TITULO */

.pack-card-top{
  background:#fbfbff;
  text-align:center;
  padding:18px;
}

.pack-card-top h3{
  margin:0;
  font-size:18px;
  letter-spacing:2px;
  color:#1f2027;
}


/* PRECIO */

.pack-card-price{
  text-align:center;
  padding:30px 0;
  background:#1f2027;
}

.pack-card-price span{
  font-size:42px;
  font-weight:800;
  color:white;
}


/* IMAGEN */

.pack-card-image img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}


/* CONTENIDO */

.pack-card-body{
  padding:30px;
}

.pack-card-body ul{
  list-style:none;
  padding:0;
  margin:0;
}

.pack-card-body li{
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:16px;
}

.pack-card-body li:last-child{
  border-bottom:none;
}


/* BOTON OPCIONAL */

.pack-btn{
  display:inline-block;
  margin-top:20px;
  padding:14px 28px;
  border-radius:40px;
  background:linear-gradient(135deg,#d8bd62,#b8962b);
  color:#1f2027;
  font-weight:700;
  text-decoration:none;
  transition:all .3s;
}

.pack-btn:hover{
  transform:scale(1.05);
}


/* RESPONSIVE */

@media (max-width:1000px){

  .packs-grid{
    grid-template-columns:1fr 1fr;
  }

}

@media (max-width:700px){

  .packs-grid{
    grid-template-columns:1fr;
  }

  .section-head h2{
    font-size:34px;
  }

}
/* =========================
   TOP ACTIVIDADES SOLTEROS
========================= */

.top-actividades{
  padding: 100px 20px;
  background: #f4f4f7;
}

.top-actividades .container{
  max-width: 1400px;
  margin: 0 auto;
}

.top-actividades .section-head{
  text-align: center;
  max-width: 980px;
  margin: 0 auto 60px;
}

.top-actividades .badge{
  display: inline-block;
  padding: 12px 22px;
  border-radius: 999px;
  background: #e7cfd8;
  color: #6b4a57;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 18px;
}

.top-actividades .section-head h2{
  margin: 0 0 18px;
  font-size: 58px;
  line-height: 1.08;
  font-weight: 900;
  color: #1f2027;
  letter-spacing: -1px;
}

.top-actividades .section-head p{
  margin: 0 auto;
  max-width: 900px;
  font-size: 22px;
  line-height: 1.7;
  color: #6b6f7a;
}

.actividades-grid{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 28px;
  align-items: stretch;
}

.actividad-card{
  background: #ffffff;
  border-radius: 30px;
  padding: 34px 28px 30px;
  box-shadow: 0 18px 40px rgba(0,0,0,.06);
  border: 1px solid #ececf2;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: transform .25s ease, box-shadow .25s ease;
}

.actividad-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 24px 48px rgba(0,0,0,.10);
}

.actividad-num{
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: linear-gradient(135deg,#d89aba,#be7fa0);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: 900;
  margin-bottom: 26px;
  flex-shrink: 0;
}

.actividad-card h3{
  margin: 0 0 18px;
  font-size: 30px;
  line-height: 1.12;
  font-weight: 900;
  color: #23242c;
}

.actividad-card p{
  margin: 0 0 28px;
  font-size: 17px;
  line-height: 1.7;
  color: #666b76;
  flex-grow: 1;
}

.btn-actividad{
  display: inline-block;
  align-self: flex-start;
  padding: 16px 26px;
  border-radius: 999px;
  background: linear-gradient(135deg,#d89aba,#be7fa0);
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, opacity .2s ease;
}

.btn-actividad:hover{
  transform: translateY(-2px);
  opacity: .96;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1280px){
  .actividades-grid{
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px){
  .top-actividades{
    padding: 80px 16px;
  }

  .top-actividades .section-head{
    margin-bottom: 42px;
  }

  .top-actividades .section-head h2{
    font-size: 40px;
  }

  .top-actividades .section-head p{
    font-size: 18px;
  }

  .actividades-grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .actividad-card{
    padding: 26px 22px 24px;
  }

  .actividad-card h3{
    font-size: 24px;
  }
}

@media (max-width: 640px){
  .actividades-grid{
    grid-template-columns: 1fr;
  }

  .top-actividades .section-head h2{
    font-size: 34px;
  }

  .top-actividades .section-head p{
    font-size: 17px;
  }

  .actividad-num{
    width: 56px;
    height: 56px;
    font-size: 28px;
  }

  .btn-actividad{
    width: 100%;
    text-align: center;
  }
}
/* ===============================
   ACTIVIDADES DESPEDIDAS SEVILLA
================================ */

.top-actividades{
  padding:100px 20px;
  background:#f5f5f7;
}

.top-actividades .container{
  max-width:1300px;
  margin:auto;
}

/* TITULO */

.section-head{
  text-align:center;
  max-width:900px;
  margin:0 auto 70px;
}

.section-head .badge{
  display:inline-block;
  padding:12px 26px;
  border-radius:40px;
  background:#e6d39a;
  color:#1f2027;
  font-weight:700;
  margin-bottom:18px;
}

.section-head h2{
  font-size:56px;
  margin-bottom:20px;
  color:#1f2027;
}

.section-head p{
  font-size:20px;
  color:#666;
}

/* GRID */

.actividades-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:30px;
}

/* TARJETA */

.actividad-card{
  background:white;
  border-radius:28px;
  padding:34px 28px;
  box-shadow:0 15px 40px rgba(0,0,0,.06);
  transition:.3s;
  display:flex;
  flex-direction:column;
}

.actividad-card:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 60px rgba(0,0,0,.12);
}

/* NUMERO */

.actividad-num{
  width:58px;
  height:58px;
  border-radius:50%;
  background:linear-gradient(135deg,#d7b64a,#b8962b);
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:26px;
  margin-bottom:22px;
}

/* TITULO */

.actividad-card h3{
  font-size:28px;
  margin-bottom:14px;
  color:#1f2027;
}

/* TEXTO */

.actividad-card p{
  font-size:17px;
  color:#666;
  line-height:1.6;
  margin-bottom:24px;
  flex-grow:1;
}

/* BOTON */

.btn-actividad{
  display:inline-block;
  padding:16px 28px;
  border-radius:40px;
  background:linear-gradient(135deg,#d7b64a,#b8962b);
  color:#1f2027;
  font-weight:800;
  text-decoration:none;
  text-align:center;
  transition:.3s;
}

.btn-actividad:hover{
  transform:scale(1.05);
}

/* RESPONSIVE */

@media (max-width:1200px){

.actividades-grid{
grid-template-columns:repeat(3,1fr);
}

}

@media (max-width:900px){

.actividades-grid{
grid-template-columns:repeat(2,1fr);
}

.section-head h2{
font-size:40px;
}

}

@media (max-width:600px){

.actividades-grid{
grid-template-columns:1fr;
}

.section-head h2{
font-size:32px;
}

}
.sevilla-solteros{
padding:100px 20px;
background:#4c4f57;
color:white;
}

.container-solteros{
max-width:1300px;
margin:auto;
}

.solteros-grid{
display:grid;
grid-template-columns:1.1fr 1fr;
gap:60px;
align-items:center;
}

.badge-solteros{
display:inline-block;
background:#d7b64a;
color:#1f2027;
padding:10px 18px;
border-radius:8px;
font-weight:700;
margin-bottom:16px;
}

.solteros-text h2{
font-size:52px;
margin-bottom:24px;
line-height:1.1;
}

.solteros-text p{
font-size:19px;
color:#e0e0e0;
margin-bottom:20px;
line-height:1.7;
}

.btn-solteros{
display:inline-block;
margin-top:20px;
background:#d7b64a;
color:#1f2027;
padding:16px 34px;
border-radius:40px;
font-weight:800;
text-decoration:none;
transition:.3s;
}

.btn-solteros:hover{
transform:scale(1.05);
}

.solteros-img img{
width:100%;
border-radius:20px;
box-shadow:0 20px 60px rgba(0,0,0,.4);
}

/* responsive */

@media(max-width:900px){

.solteros-grid{
grid-template-columns:1fr;
}

.solteros-text h2{
font-size:38px;
}

}
.soltera-sevilla{

padding:100px 20px;
background:#f5f5f7;

}

.soltera-container{

max-width:1300px;
margin:auto;

}

.soltera-grid{

display:grid;
grid-template-columns:1.1fr 1fr;
gap:60px;
align-items:center;

}

.soltera-text h2{

font-size:48px;
margin-bottom:25px;
color:#1f2027;
line-height:1.1;

}

.soltera-text p{

font-size:18px;
line-height:1.7;
color:#666;
margin-bottom:20px;

}

.btn-soltera{

display:inline-block;
margin-top:20px;
background:linear-gradient(135deg,#d7b64a,#b8962b);
color:#1f2027;
padding:16px 34px;
border-radius:40px;
font-weight:800;
text-decoration:none;
transition:.3s;

}

.btn-soltera:hover{

transform:scale(1.05);

}

.soltera-img img{

width:100%;
border-radius:20px;
box-shadow:0 20px 60px rgba(0,0,0,.2);

}

/* RESPONSIVE */

@media(max-width:900px){

.soltera-grid{

grid-template-columns:1fr;

}

.soltera-text h2{

font-size:34px;

}

}
.seo-solteros-sevilla{
  padding: 90px 20px;
  background: #f5f5f7;
}

.seo-solteros-container{
  max-width: 1320px;
  margin: 0 auto;
}

.seo-solteros-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 46px;
  align-items: center;
}

.seo-solteros-image img{
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
  border-radius: 0;
  display: block;
}

.seo-solteros-content h2{
  font-size: 58px;
  line-height: 1.05;
  font-weight: 900;
  color: #1f2027;
  margin: 0 0 28px;
  letter-spacing: -1px;
}

.seo-solteros-content h2 span{
  background: #d7b64a;
  color: #1f2027;
  padding: 0 14px 4px;
  border-radius: 4px;
  display: inline-block;
}

.seo-solteros-content p{
  font-size: 18px;
  line-height: 1.8;
  color: #4f545f;
  margin: 0 0 24px;
}

.seo-solteros-btn{
  display: inline-block;
  margin-top: 12px;
  background: #c8b891;
  color: #1f2027;
  padding: 18px 34px;
  border-radius: 999px;
  font-size: 17px;
  font-weight: 800;
  text-decoration: none;
  transition: .25s ease;
}

.seo-solteros-btn:hover{
  transform: translateY(-2px);
}

@media (max-width: 980px){
  .seo-solteros-grid{
    grid-template-columns: 1fr;
  }

  .seo-solteros-image img{
    min-height: 420px;
  }

  .seo-solteros-content h2{
    font-size: 40px;
  }
}

@media (max-width: 640px){
  .seo-solteros-sevilla{
    padding: 70px 16px;
  }

  .seo-solteros-content h2{
    font-size: 33px;
  }

  .seo-solteros-content p{
    font-size: 17px;
  }

  .seo-solteros-btn{
    width: 100%;
    text-align: center;
  }
}
.ideas-solteros{
padding:90px 20px;
background:#f5f5f7;
}

.ideas-container{
max-width:1300px;
margin:auto;
}

.ideas-header{
text-align:center;
max-width:800px;
margin:auto;
margin-bottom:60px;
}

.ideas-header h2{
font-size:44px;
font-weight:800;
color:#1f2027;
margin-bottom:16px;
}

.ideas-header p{
font-size:18px;
color:#6b6f76;
}

.ideas-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.idea-card{
background:white;
border-radius:26px;
overflow:hidden;
box-shadow:0 15px 40px rgba(0,0,0,0.08);
transition:0.3s;
}

.idea-card:hover{
transform:translateY(-6px);
}

.idea-img img{
width:100%;
height:200px;
object-fit:cover;
}

.idea-content{
padding:28px;
}

.idea-content h3{
font-size:24px;
margin-bottom:14px;
color:#1f2027;
}

.idea-content p{
font-size:16px;
color:#6b6f76;
line-height:1.6;
margin-bottom:20px;
}

.idea-btn{
display:inline-block;
padding:12px 24px;
border-radius:30px;
border:2px solid #d7b64a;
color:#d7b64a;
font-weight:600;
text-decoration:none;
transition:0.3s;
}

.idea-btn:hover{
background:#d7b64a;
color:#1f2027;
}

@media(max-width:1000px){

.ideas-grid{
grid-template-columns:1fr;
}

.ideas-header h2{
font-size:32px;
}

}
.proceso-despedida{
padding:90px 20px;
background:#f5f5f7;
}

.proceso-container{
max-width:1200px;
margin:auto;
}

.proceso-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
}

.proceso-col h2{
font-size:32px;
margin-bottom:30px;
color:#1f2027;
}

.proceso-item{
margin-bottom:24px;
}

.proceso-item strong{
display:block;
font-size:18px;
margin-bottom:6px;
color:#1f2027;
}

.proceso-item p{
font-size:16px;
color:#6a6f77;
line-height:1.6;
}

.cta-despedida{
text-align:center;
margin-top:60px;
}

.cta-btn-despedida{
display:inline-block;
padding:24px 60px;
font-size:22px;
font-weight:700;
border-radius:60px;
text-decoration:none;
color:white;

background:linear-gradient(90deg,#ff7b4a,#ff5e7a);

box-shadow:0 10px 25px rgba(0,0,0,0.15);
transition:0.3s;
}

.cta-btn-despedida:hover{
transform:scale(1.05);
}

@media(max-width:900px){

.proceso-grid{
grid-template-columns:1fr;
}

.cta-btn-despedida{
font-size:18px;
padding:20px 40px;
}

}
.faq-solteros{
  padding: 100px 20px;
  background: #f5f5f7;
}

.faq-solteros-container{
  max-width: 1200px;
  margin: 0 auto;
}

.faq-solteros-head{
  text-align: center;
  max-width: 950px;
  margin: 0 auto 50px;
}

.faq-solteros-mini{
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 4px;
  color: #6a6f77;
}

.faq-solteros-head h2{
  margin: 0 0 20px;
  font-size: 58px;
  line-height: 1.08;
  font-weight: 900;
  color: #1f2027;
}

.faq-solteros-sub{
  margin: 0 auto;
  max-width: 900px;
  font-size: 20px;
  line-height: 1.7;
  color: #666b76;
}

.faq-list{
  display: grid;
  gap: 22px;
}

.faq-item{
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(0,0,0,.06);
  overflow: hidden;
  border: 1px solid #ececf2;
}

.faq-question{
  width: 100%;
  border: 0;
  background: transparent;
  padding: 28px 34px;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-size: 22px;
  font-weight: 900;
  color: #1f2027;
  cursor: pointer;
}

.faq-question span{
  flex-shrink: 0;
  font-size: 34px;
  line-height: 1;
  color: #d7b64a;
}

.faq-answer{
  display: none;
  padding: 0 34px 28px;
}

.faq-item.active .faq-answer{
  display: block;
}

.faq-answer p{
  margin: 0;
  font-size: 18px;
  line-height: 1.8;
  color: #666b76;
}

@media (max-width: 900px){
  .faq-solteros{
    padding: 80px 16px;
  }

  .faq-solteros-head h2{
    font-size: 40px;
  }

  .faq-solteros-sub{
    font-size: 18px;
  }

  .faq-question{
    font-size: 18px;
    padding: 22px 22px;
  }

  .faq-answer{
    padding: 0 22px 22px;
  }

  .faq-answer p{
    font-size: 17px;
  }
}
.cta-reserva{

margin:80px auto;
padding:60px 50px;

max-width:1200px;

border-radius:40px;

background:linear-gradient(135deg,#1f2027,#3a3d46);

color:white;

}

.cta-reserva-container{

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

}

.cta-mini{

color:#d7b64a;
font-weight:700;
letter-spacing:2px;
margin-bottom:10px;

}

.cta-reserva h2{

font-size:34px;
margin-bottom:10px;

}

.cta-reserva p{

color:#d0d3d9;
max-width:600px;

}

.cta-btn-reserva{

background:#d7b64a;
color:#1f2027;

padding:18px 40px;

border-radius:50px;

font-weight:700;

text-decoration:none;

transition:0.3s;

}

.cta-btn-reserva:hover{

transform:scale(1.05);
background:#e6c45b;

}

@media(max-width:900px){

.cta-reserva-container{

flex-direction:column;
text-align:center;

}

}
.footer-premium{
  background: linear-gradient(135deg,#070b1d 0%, #050814 55%, #0c1227 100%);
  color: #fff;
  padding: 90px 20px 34px;
}

.footer-premium-container{
  max-width: 1320px;
  margin: 0 auto;
}

.footer-premium-grid{
  display: grid;
  grid-template-columns: 1.3fr 0.9fr 0.9fr 1fr;
  gap: 60px;
  align-items: start;
}

.footer-brand h3{
  margin: 0 0 24px;
  font-size: 34px;
  line-height: 1.1;
  font-weight: 900;
  color: #fff;
}

.footer-brand h3 span{
  color: #c3800c;
}

.footer-brand p{
  margin: 0 0 28px;
  font-size: 18px;
  line-height: 1.75;
  color: rgba(255,255,255,.78);
  max-width: 470px;
}

.footer-contact{
  display: grid;
  gap: 14px;
}

.footer-contact a,
.footer-links a,
.footer-bottom-links a{
  text-decoration: none;
  color: rgba(255,255,255,.82);
  transition: .2s ease;
}

.footer-contact a{
  font-size: 18px;
  font-weight: 500;
}

.footer-contact a:hover,
.footer-links a:hover,
.footer-bottom-links a:hover{
  color: #948a04;
}

.footer-links h4,
.footer-cta h4{
  margin: 0 0 24px;
  font-size: 22px;
  font-weight: 800;
  color: #fff;
}

.footer-links{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-links a{
  font-size: 18px;
}

.footer-cta p{
  margin: 0 0 28px;
  font-size: 18px;
  line-height: 1.75;
  color: rgba(255,255,255,.78);
  max-width: 320px;
}

.footer-btn{
  display: inline-block;
  padding: 18px 34px;
  border-radius: 999px;
  background: linear-gradient(135deg,#c8ab05,#d7a309);
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  font-weight: 800;
  box-shadow: 0 16px 34px rgba(255,90,169,.28);
  transition: .25s ease;
}

.footer-btn:hover{
  transform: translateY(-2px);
}

.footer-bottom{
  margin-top: 48px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.10);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.footer-bottom p{
  margin: 0;
  font-size: 16px;
  color: rgba(255,255,255,.66);
}

.footer-bottom-links{
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
}

.footer-bottom-links a{
  font-size: 16px;
  color: rgba(255,255,255,.70);
}

@media (max-width: 1100px){
  .footer-premium-grid{
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

@media (max-width: 700px){
  .footer-premium{
    padding: 70px 16px 28px;
  }

  .footer-premium-grid{
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .footer-brand h3{
    font-size: 30px;
  }

  .footer-brand p,
  .footer-contact a,
  .footer-links a,
  .footer-cta p{
    font-size: 17px;
  }

  .footer-bottom{
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-bottom-links{
    gap: 18px;
  }
}
.packs{

padding:80px 20px;

background:#f5f5f7;

}

.packs h2{

text-align:center;

font-size:40px;

margin-bottom:60px;

color:#1f2027;

}

.packs-grid{

max-width:1200px;

margin:auto;

display:grid;

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

gap:30px;

}

.pack{

background:#2a2c34;

border-radius:20px;

overflow:hidden;

box-shadow:0 20px 40px rgba(0,0,0,0.15);

}

.pack img{

width:100%;

height:220px;

object-fit:cover;

}

.pack-body{

padding:30px;

color:white;

}

.pack-body h3{

font-size:30px;

margin-bottom:10px;

}

.pack-body h4{

font-size:22px;

margin-bottom:20px;

color:#d7b64a;

}

.pack-body ul{

list-style:none;

padding:0;

margin-bottom:20px;

}

.pack-body li{

margin-bottom:10px;

color:#d0d0d0;

}

.nota{

font-size:14px;

color:#9fa2ab;

margin-bottom:20px;

}

.btn-pack{

display:inline-block;

background:#d7b64a;

color:#1f2027;

padding:14px 30px;

border-radius:40px;

font-weight:700;

text-decoration:none;

transition:0.3s;

}

.btn-pack:hover{

background:#e6c96c;

transform:translateY(-3px);

}



@media(max-width:900px){

.packs-grid{

grid-template-columns:1fr;

}

}
:root{
--gris-fondo:#f5f5f7;
--blanco:#ffffff;
--texto:#1f2027;
--texto-gris:#6b6f76;
--borde:#e6e6e6;

--amarillo:#d7b64a;
--amarillo-oscuro:#b89b3a;
}

/* CONTENEDOR */

.actividades-page{
padding:90px 20px;
background:var(--gris-fondo);
}

.actividades-container{
max-width:1300px;
margin:auto;
}

/* TITULO */

.actividades-head{
text-align:center;
max-width:800px;
margin:auto;
margin-bottom:60px;
}

.actividades-mini{
display:inline-block;
padding:10px 22px;
background:var(--amarillo);
border-radius:40px;
font-weight:700;
margin-bottom:15px;
}

.actividades-head h2{
font-size:46px;
margin-bottom:15px;
}

.actividades-head p{
font-size:18px;
color:var(--texto-gris);
line-height:1.6;
}

/* GRID */

.actividades-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

/* TARJETAS */

.actividad-card{
background:var(--blanco);
border-radius:28px;
overflow:hidden;
border:1px solid var(--borde);
transition:0.3s;
}

.actividad-card:hover{
transform:translateY(-6px);
box-shadow:0 15px 35px rgba(0,0,0,0.1);
}

/* IMAGEN */

.actividad-img{
width:100%;
height:230px;
object-fit:cover;
}

/* CONTENIDO */

.actividad-content{
padding:30px;
}

.actividad-precio{
color:var(--amarillo-oscuro);
font-weight:700;
font-size:18px;
display:block;
margin-bottom:10px;
}

.actividad-content h3{
font-size:32px;
margin-bottom:12px;
}

.actividad-content p{
color:var(--texto-gris);
line-height:1.6;
font-size:17px;
margin-bottom:25px;
}

/* BOTON */

.btn-actividad{
display:inline-block;
background:var(--amarillo);
color:#222;
padding:14px 28px;
border-radius:40px;
font-weight:700;
transition:0.3s;
}

.btn-actividad:hover{
background:var(--amarillo-oscuro);
}

/* RESPONSIVE */

@media (max-width:1000px){

.actividades-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media (max-width:600px){

.actividades-grid{
grid-template-columns:1fr;
}

.actividades-head h2{
font-size:32px;
}

}
.mapa-cta{
padding:100px 20px;
background:linear-gradient(135deg,#3d3f46,#6c6857);
color:white;
text-align:center;
}

.mapa-cta-container{
max-width:900px;
margin:auto;
}

.mapa-mini{
display:inline-block;
padding:10px 22px;
background:linear-gradient(135deg,#d7b64a,#b8962b);
border-radius:999px;
font-weight:800;
margin-bottom:20px;
color:#1f2027;
}

.mapa-cta h2{
font-size:42px;
margin-bottom:20px;
}

.mapa-cta p{
font-size:18px;
line-height:1.7;
margin-bottom:35px;
opacity:0.9;
}

.mapa-btn{
display:inline-block;
padding:18px 32px;
background:linear-gradient(135deg,#d7b64a,#b8962b);
color:#1f2027;
font-weight:800;
border-radius:999px;
text-decoration:none;
font-size:18px;
box-shadow:0 12px 30px rgba(0,0,0,.2);
transition:.3s;
}

.mapa-btn:hover{
transform:translateY(-3px);
}
.planes-cena{

padding:80px 20px;
background:#f6f6f8;

}

.planes-grid{

max-width:1200px;
margin:auto;

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

}

.plan-card{

background:white;
border-radius:30px;
overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,0.08);

}

.plan-card img{

width:100%;
height:300px;
object-fit:cover;

}

.plan-info{

padding:35px;

}

.plan-info h2{

font-size:42px;
margin-bottom:20px;
color:#222;

}

.plan-info p{

font-size:18px;
color:#666;
line-height:1.7;
margin-bottom:20px;

}

.plan-info ul{

padding-left:20px;
margin-bottom:25px;

}

.plan-info li{

margin-bottom:10px;
font-size:17px;
color:#555;

}

.btn-plan{

display:inline-block;

background:linear-gradient(135deg,#9d7706,#af830a);

color:white;

padding:16px 35px;

border-radius:50px;

text-decoration:none;

font-weight:700;

font-size:18px;

transition:.3s;

}

.btn-plan:hover{

transform:translateY(-3px);

box-shadow:0 10px 25px rgba(0,0,0,0.15);

}

@media(max-width:900px){

.planes-grid{

grid-template-columns:1fr;

}

.plan-info h2{

font-size:34px;

}

}
.menus-cena{

padding:80px 20px;
background:#f6f6f8;
text-align:center;

}

.menus-cena h2{

font-size:42px;
margin-bottom:50px;

}

.menus-grid{

max-width:1100px;
margin:auto;

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

}

.menu-box{

background:white;

padding:40px;

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,0.08);

text-align:left;

}

.menu-box h3{

font-size:30px;
margin-bottom:20px;
color:#b8962b;

}

.menu-box h4{

margin-top:20px;
margin-bottom:10px;

font-size:20px;

}

.menu-box ul{

padding-left:20px;

}

.menu-box li{

margin-bottom:6px;
color:#555;

}

.menu-nota{

margin-top:20px;
font-size:14px;
color:#777;

}

@media(max-width:900px){

.menus-grid{

grid-template-columns:1fr;

}

}
.salas-fiesta{
  padding:90px 20px;
  background:#f6f6f8;
}

.salas-header{
  max-width:900px;
  margin:0 auto 50px;
  text-align:center;
}

.salas-badge{
  display:inline-block;
  padding:10px 24px;
  border-radius:999px;
  background:linear-gradient(135deg,#797204,#6e690c);
  color:#fff;
  font-weight:800;
  margin-bottom:18px;
  letter-spacing:.5px;
}

.salas-header h2{
  font-size:44px;
  margin:0 0 14px;
  color:#1f2027;
}

.salas-header p{
  font-size:18px;
  color:#666c75;
  line-height:1.7;
  margin:0;
}

.salas-grid{
  max-width:1300px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}

.sala-card{
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 16px 35px rgba(0,0,0,.08);
  transition:.3s ease;
}

.sala-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 45px rgba(0,0,0,.12);
}

.sala-card img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
}

.sala-info{
  padding:26px 24px 28px;
  text-align:center;
}

.sala-info h3{
  font-size:28px;
  margin:0 0 12px;
  color:#1f2027;
}

.sala-info p{
  font-size:16px;
  color:#666c75;
  line-height:1.6;
  margin:0 0 22px;
}

.btn-sala{
  display:inline-block;
  padding:15px 28px;
  border-radius:999px;
  background:linear-gradient(135deg,#a18d08,#ada507);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  font-size:17px;
  transition:.25s ease;
}

.btn-sala:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(176,43,227,.25);
}

@media(max-width:1100px){
  .salas-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:700px){
  .salas-grid{
    grid-template-columns:1fr;
  }

  .salas-header h2{
    font-size:34px;
  }

  .sala-card img{
    height:220px;
  }
}
.promos-despedidas{

padding:100px 20px;
background:#f6f6f8;

}

.promo-header{

max-width:900px;
margin:auto;
text-align:center;
margin-bottom:60px;

}

.promo-badge{

background:linear-gradient(135deg,#7a6725,#e3ca6c);
color:white;

padding:10px 22px;

border-radius:999px;

font-weight:700;

display:inline-block;

margin-bottom:15px;

}

.promo-header h2{

font-size:44px;
margin-bottom:15px;

}

.promo-header p{

color:#666;
font-size:18px;
line-height:1.6;

}

.promo-grid{

max-width:1200px;
margin:auto;

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

gap:30px;

}

.promo-card{

background:white;

border-radius:25px;

padding:40px 30px;

box-shadow:0 15px 40px rgba(0,0,0,0.08);

text-align:center;

position:relative;

}

.promo-card h3{

font-size:26px;
margin-bottom:20px;

}

.promo-card ul{

list-style:none;

padding:0;

margin-bottom:25px;

}

.promo-card li{

margin-bottom:10px;
color:#555;

}

.promo-price{

font-size:28px;
font-weight:800;

margin-bottom:20px;

color:#222;

}

.btn-promo{

display:inline-block;

background:linear-gradient(135deg,#666603,#7b7302);

color:white;

padding:14px 30px;

border-radius:40px;

text-decoration:none;

font-weight:700;

}

.featured{

transform:scale(1.05);
border:3px solid #816c08;

}

.promo-top{

position:absolute;

top:-12px;

left:50%;

transform:translateX(-50%);

background:#cfc252;

color:white;

padding:6px 16px;

border-radius:20px;

font-size:14px;

}

@media(max-width:1000px){

.promo-grid{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:600px){

.promo-grid{

grid-template-columns:1fr;

}

}
.reservados-discotecas{

padding:100px 20px;
background:#f7f7f7;
text-align:center;

}

.reservados-discotecas h2{

font-size:42px;
margin-bottom:60px;

}

.reservados-grid{

max-width:1200px;
margin:auto;

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

gap:30px;

}

.reservado-card{

background:white;

padding:40px 30px;

border-radius:20px;

box-shadow:0 10px 35px rgba(0,0,0,0.08);

}

.reservado-card h3{

font-size:26px;
margin-bottom:15px;

}

.precio{

color:#cda806;
font-weight:700;
font-size:22px;

margin-bottom:20px;

}

.reservado-card ul{

list-style:none;
padding:0;

margin-bottom:25px;

}

.reservado-card li{

margin-bottom:10px;
color:#555;

}

.btn-reservar{

display:inline-block;

background:#c8a84f;

color:white;

padding:14px 34px;

border-radius:40px;

font-weight:600;

text-decoration:none;

transition:0.3s;

}

.btn-reservar:hover{

background:#b49640;

}

@media(max-width:1000px){

.reservados-grid{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:600px){

.reservados-grid{

grid-template-columns:1fr;

}

}
.pack-builder-mini{
  padding:90px 20px;
  background:#f6f6f8;
}

.pack-builder-mini__wrap{
  max-width:1300px;
  margin:auto;
}

.pack-builder-mini__head{
  text-align:center;
  max-width:900px;
  margin:0 auto 45px;
}

.pack-builder-mini__badge{
  display:inline-block;
  padding:10px 22px;
  border-radius:999px;
  background:linear-gradient(135deg,#736f04,#7a7545);
  color:#fff;
  font-weight:800;
  margin-bottom:16px;
}

.pack-builder-mini__head h2{
  font-size:46px;
  margin:0 0 14px;
  color:#1f2027;
}

.pack-builder-mini__head p{
  font-size:18px;
  line-height:1.7;
  color:#666c75;
  margin:0;
}

.pack-builder-mini__box{
  background:#fff;
  border-radius:32px;
  padding:35px;
  box-shadow:0 16px 40px rgba(0,0,0,.08);
}

.pack-builder-mini__top{
  margin-bottom:28px;
}

.pack-builder-mini__field label{
  display:block;
  font-size:17px;
  font-weight:700;
  margin-bottom:10px;
  color:#1f2027;
}

.pack-builder-mini__field input{
  width:100%;
  max-width:260px;
  height:58px;
  border:2px solid #ececf1;
  border-radius:18px;
  padding:0 18px;
  font-size:22px;
  font-weight:700;
  color:#1f2027;
  outline:none;
}

.pack-builder-mini__grid{
  display:grid;
  grid-template-columns:1fr 1fr .9fr;
  gap:28px;
  align-items:start;
}

.pack-builder-mini__col,
.pack-builder-mini__summary{
  background:#fafafa;
  border:1px solid #ececf1;
  border-radius:24px;
  padding:24px;
}

.pack-builder-mini__col h3,
.pack-builder-mini__summary h3{
  font-size:28px;
  margin:0 0 18px;
  color:#1f2027;
}

.pb-mt{
  margin-top:28px !important;
}

.pb-option{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 0;
  border-bottom:1px solid #ececf1;
  cursor:pointer;
}

.pb-option:last-child{
  border-bottom:none;
}

.pb-option input{
  margin-top:5px;
  transform:scale(1.15);
}

.pb-option span{
  display:flex;
  justify-content:space-between;
  width:100%;
  gap:15px;
  color:#555;
  line-height:1.5;
}

.pb-option strong{
  color:#1f2027;
  white-space:nowrap;
}

.pb-items{
  min-height:180px;
  margin-bottom:20px;
}

.pb-empty{
  color:#777;
  margin:0;
}

.pb-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #ececf1;
  color:#555;
}

.pb-item strong{
  color:#1f2027;
}

.pb-total-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:18px;
  padding-top:18px;
  border-top:2px solid #ececf1;
}

.pb-total-box span{
  color:#666c75;
  font-size:17px;
}

.pb-total-box strong{
  font-size:34px;
  color:#1f2027;
}

.pb-btn{
  display:block;
  width:100%;
  text-align:center;
  margin-top:22px;
  padding:18px 24px;
  border-radius:999px;
  background:#8b8000;
  color:#fff;
  text-decoration:none;
  font-size:20px;
  font-weight:800;
  transition:.25s ease;
}

.pb-btn:hover{
  background:#756c00;
  transform:translateY(-2px);
}

@media(max-width:1100px){
  .pack-builder-mini__grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .pack-builder-mini{
    padding:70px 16px;
  }

  .pack-builder-mini__head h2{
    font-size:34px;
  }

  .pack-builder-mini__box{
    padding:22px;
  }

  .pack-builder-mini__col h3,
  .pack-builder-mini__summary h3{
    font-size:24px;
  }

  .pb-total-box strong{
    font-size:28px;
  }
}
.contacto-despedidas{
  padding:100px 20px;
  background:#f7f7f5;
  color:#1f2027;
}

.contacto-wrap{
  max-width:1100px;
  margin:auto;
}

.contacto-info{
  text-align:center;
}

.contacto-badge{
  background:#b89a3b;
  color:#fff;
  padding:10px 22px;
  border-radius:40px;
  font-weight:700;
  display:inline-block;
  margin-bottom:20px;
}

.contacto-info h2{
  font-size:42px;
  margin-bottom:20px;
  color:#1f2027;
}

.contacto-info p{
  max-width:700px;
  margin:auto;
  margin-bottom:40px;
  color:#666c75;
  font-size:18px;
  line-height:1.7;
}

.contacto-datos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
  margin-bottom:40px;
}

.contacto-item{
  display:flex;
  gap:15px;
  align-items:flex-start;
  background:#efefec;
  padding:24px;
  border-radius:18px;
  border:1px solid #e2e2dc;
}

.contacto-icon{
  font-size:22px;
}

.contacto-item strong{
  display:block;
  margin-bottom:6px;
  color:#1f2027;
}

.contacto-item p{
  margin:0;
  color:#666c75;
}

.contacto-item a{
  color:#b89a3b;
  text-decoration:none;
  font-weight:700;
}

.contacto-botones{
  display:flex;
  gap:20px;
  justify-content:center;
  flex-wrap:wrap;
}

.btn-contacto-whatsapp{
  background:#b89a3b;
  color:#fff;
  padding:15px 35px;
  border-radius:40px;
  font-weight:700;
  text-decoration:none;
  transition:.3s;
}

.btn-contacto-whatsapp:hover{
  background:#9f852f;
}

.btn-contacto-llamar{
  background:#6b6b66;
  color:#fff;
  padding:15px 35px;
  border-radius:40px;
  font-weight:700;
  text-decoration:none;
  transition:.3s;
}

.btn-contacto-llamar:hover{
  background:#575752;
}

@media(max-width:700px){
  .contacto-datos{
    grid-template-columns:1fr;
  }
}
.contacto-plan{
  padding:90px 20px;
  background:#f7f7f5;
}

.contacto-plan__grid{
  max-width:1300px;
  margin:auto;
  display:grid;
  grid-template-columns:1.25fr .95fr;
  gap:40px;
  align-items:start;
}

.contacto-plan__card{
  background:#fbfbfa;
  border:1px solid #e8def0;
  border-radius:34px;
  box-shadow:0 14px 35px rgba(0,0,0,0.06);
  padding:34px;
}

.contacto-plan__card h2{
  font-size:36px;
  line-height:1.1;
  color:#1f2027;
  margin:0 0 26px;
}

.contacto-plan__form{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.contacto-plan__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.contacto-plan__form input,
.contacto-plan__form select,
.contacto-plan__form textarea{
  width:100%;
  border:2px solid #e5d9ef;
  background:#fff;
  border-radius:24px;
  padding:20px 22px;
  font-size:18px;
  color:#1f2027;
  outline:none;
  transition:.25s ease;
}

.contacto-plan__form input::placeholder,
.contacto-plan__form textarea::placeholder{
  color:#9a9aa0;
}

.contacto-plan__form input:focus,
.contacto-plan__form select:focus,
.contacto-plan__form textarea:focus{
  border-color:#c6a44d;
  box-shadow:0 0 0 4px rgba(198,164,77,0.12);
}

.contacto-plan__form textarea{
  min-height:220px;
  resize:vertical;
}

.btn-contacto-plan{
  align-self:flex-start;
  border:none;
  padding:18px 34px;
  border-radius:999px;
  background:linear-gradient(135deg,#bdb0bf,#8a7b92);
  color:#fff;
  font-size:18px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,0.10);
  transition:.25s ease;
}

.btn-contacto-plan:hover{
  transform:translateY(-2px);
}

.contacto-plan__mapa{
  width:100%;
  height:470px;
  overflow:hidden;
  border-radius:28px;
  border:1px solid #ebe4f1;
  background:#eee;
}

@media(max-width:1000px){
  .contacto-plan__grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .contacto-plan{
    padding:70px 16px;
  }

  .contacto-plan__card{
    padding:24px;
    border-radius:26px;
  }

  .contacto-plan__card h2{
    font-size:30px;
  }

  .contacto-plan__row{
    grid-template-columns:1fr;
    gap:16px;
  }

  .contacto-plan__form input,
  .contacto-plan__form select,
  .contacto-plan__form textarea{
    font-size:17px;
    padding:18px 18px;
    border-radius:20px;
  }

  .contacto-plan__mapa{
    height:360px;
    border-radius:22px;
  }

  .btn-contacto-plan{
    width:100%;
    text-align:center;
  }
}
.blog-despedidas{

padding:100px 20px;
background:#f7f7f5;

}

.blog-wrap{

max-width:1200px;
margin:auto;

}

.blog-title{

text-align:center;
font-size:40px;
margin-bottom:50px;

}

.blog-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;

}

.blog-card{

background:white;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
transition:0.3s;

}

.blog-card:hover{

transform:translateY(-6px);

}

.blog-card img{

width:100%;
height:200px;
object-fit:cover;

}

.blog-card h3{

font-size:20px;
padding:20px 20px 10px 20px;

}

.blog-card p{

padding:0 20px 20px 20px;
color:#666;

}

.blog-card a{

display:inline-block;
margin:0 20px 20px 20px;
background:#c8a84f;
color:white;
padding:10px 20px;
border-radius:30px;
text-decoration:none;
font-weight:600;

}

.blog-card a:hover{

background:#b4953f;

}

@media(max-width:900px){

.blog-grid{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:600px){

.blog-grid{

grid-template-columns:1fr;

}

}
.experiencia-despedida{

padding:100px 20px;
background:#f7f7f7;
text-align:center;

}

.experiencia-despedida h2{

font-size:40px;
margin-bottom:60px;

}

.experiencia-grid{

max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;

}

.experiencia-card{

background:white;
padding:40px 25px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
transition:0.3s;

}

.experiencia-card:hover{

transform:translateY(-6px);

}

.numero{

width:60px;
height:60px;
background:#c8a84f;
color:white;
font-size:28px;
font-weight:bold;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:auto;
margin-bottom:20px;

}

.experiencia-card h3{

margin-bottom:15px;

}

.experiencia-card p{

color:#666;

}

@media(max-width:900px){

.experiencia-grid{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:600px){

.experiencia-grid{

grid-template-columns:1fr;

}

}