/* =========================================================
   DESPEDIDAS SOLTERA ALBACETE — Editorial Style (Manchego)
   Parte de Eventos Grupo Alma
   ========================================================= */
*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:hidden;overscroll-behavior-x:none;overscroll-behavior:contain;touch-action:pan-y;max-width:100%}
:root{
  --wine:#8b2c3e;
  --wine-dark:#5e1d2a;
  --wine-soft:#e8c5cc;
  --gold:#c89860;
  --gold-soft:#e8d4b3;
  --cream:#faf2e7;
  --cream-2:#f0e3cd;
  --ink:#241318;
  --ink-soft:#4a2e36;
  --line:rgba(36,19,24,.12);
}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;font-weight:400}
img{max-width:100%;display:block}
a{color:var(--wine);text-decoration:none;transition:color .2s}
a:hover{color:var(--wine-dark)}

/* HEADER */
header{position:sticky;top:0;background:rgba(250,242,231,.96);backdrop-filter:blur(10px);z-index:100;border-bottom:1px solid var(--line)}
.nav{max-width:1280px;margin:0 auto;padding:18px 28px;display:flex;justify-content:space-between;align-items:center}
.logo{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;letter-spacing:.5px;color:var(--ink)}
.logo em{color:var(--wine);font-style:italic}
.menu{display:flex;gap:30px;list-style:none}
.menu a{color:var(--ink);font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;transition:color .2s}
.menu a:hover{color:var(--wine)}
.menu a.active{color:var(--wine)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--ink)}

/* HERO */
.hero{position:relative;padding:120px 28px 100px;text-align:center;color:#fff;min-height:520px;display:flex;align-items:center;justify-content:center}
.hero.home{background:linear-gradient(135deg,rgba(36,19,24,.55) 0%,rgba(36,19,24,.78) 100%),url('../img/hero-home.jpg') center/cover no-repeat}
.hero.packs{background:linear-gradient(135deg,rgba(36,19,24,.6) 0%,rgba(36,19,24,.78) 100%),url('../img/hero-packs.jpg') center/cover no-repeat}
.hero.actividades{background:linear-gradient(135deg,rgba(36,19,24,.6) 0%,rgba(36,19,24,.78) 100%),url('../img/hero-actividades.jpg') center/cover no-repeat}
.hero.blog{background:linear-gradient(135deg,rgba(36,19,24,.6) 0%,rgba(36,19,24,.78) 100%),url('../img/hero-blog.jpg') center/cover no-repeat}
.hero.contacto{background:linear-gradient(135deg,rgba(36,19,24,.6) 0%,rgba(36,19,24,.78) 100%),url('../img/hero-contacto.jpg') center/cover no-repeat}
.hero.legal{background:linear-gradient(135deg,rgba(36,19,24,.7) 0%,rgba(36,19,24,.85) 100%),url('../img/hero-legal.jpg') center/cover no-repeat;min-height:340px;padding:80px 28px}
.hero-inner{max-width:880px;margin:0 auto;position:relative;z-index:2}
.kicker{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--gold-soft);margin-bottom:18px;letter-spacing:1px}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,7vw,76px);font-weight:500;line-height:1.05;margin-bottom:24px;letter-spacing:-.5px}
.hero h1 em{color:var(--wine-soft);font-style:italic}
.hero p{font-size:18px;color:rgba(255,255,255,.88);max-width:640px;margin:0 auto 36px;font-weight:300}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* BUTTONS */
.btn{display:inline-block;padding:14px 32px;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;transition:all .25s;cursor:pointer;border:none;font-family:'Inter',sans-serif}
.btn-primary{background:var(--wine);color:#fff}
.btn-primary:hover{background:var(--wine-dark);color:#fff}
.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}
.btn-outline:hover{background:#fff;color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000;color:#fff}

/* SECCIÓN BASE */
section{padding:90px 28px}
.container{max-width:1180px;margin:0 auto}
.section-head{text-align:center;margin-bottom:60px}
.section-kicker{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--wine);margin-bottom:14px;letter-spacing:1px}
.section-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5vw,54px);font-weight:500;line-height:1.1;margin-bottom:18px}
.section-head h2 em{color:var(--wine);font-style:italic}
.section-head p{color:var(--ink-soft);font-size:16px;max-width:640px;margin:0 auto;font-weight:300}

/* INTRO */
.intro{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.intro-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,5vw,52px);font-weight:500;line-height:1.1;margin-bottom:24px}
.intro-text h2 em{color:var(--wine);font-style:italic}
.intro-text p{color:var(--ink-soft);margin-bottom:18px;font-weight:300}
.intro-img{aspect-ratio:4/5;background:var(--cream-2) url('../img/intro-albacete.jpg') center/cover no-repeat;border:1px solid var(--line)}

/* PACK CARDS */
.packs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.pack-card{background:#fff;border:1px solid var(--line);padding:36px 32px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.pack-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(36,19,24,.08)}
.pack-card.featured{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.pack-card.featured h3,.pack-card.featured .pack-price{color:var(--cream)}
.pack-card.featured .pack-price em{color:var(--gold-soft)}
.pack-card.featured ul li{color:rgba(250,242,231,.78)}
.pack-card.featured .pack-tag{background:var(--gold);color:var(--ink)}
.pack-tag{display:inline-block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;background:var(--wine-soft);color:var(--wine-dark);padding:4px 14px;margin-bottom:14px;align-self:flex-start;letter-spacing:.5px}
.pack-card h3{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:500;line-height:1.1;margin-bottom:8px}
.pack-card h3 em{color:var(--wine);font-style:italic}
.pack-card.featured h3 em{color:var(--gold-soft)}
.pack-price{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:500;color:var(--wine);margin-bottom:22px;line-height:1}
.pack-price em{font-size:14px;font-style:italic;color:var(--ink-soft);font-weight:400;letter-spacing:.5px}
.pack-card ul{list-style:none;margin-bottom:28px;flex:1}
.pack-card ul li{padding:7px 0;color:var(--ink-soft);font-size:14px;padding-left:18px;position:relative;font-weight:400}
.pack-card ul li::before{content:"—";position:absolute;left:0;color:var(--wine)}
.pack-card.featured ul li::before{color:var(--gold)}
.pack-cta{margin-top:auto}

/* ACTIVIDADES GRID */
.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.act-card{background:#fff;border:1px solid var(--line);padding:30px 26px;transition:all .3s}
.act-card:hover{border-color:var(--wine);transform:translateY(-3px)}
.act-card h4{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;margin-bottom:10px}
.act-card h4 em{color:var(--wine);font-style:italic}
.act-card .act-price{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--wine);font-weight:500;margin-bottom:14px}
.act-card p{color:var(--ink-soft);font-size:14px;font-weight:300;margin-bottom:8px}
.act-card .opt{padding:6px 0;border-top:1px dashed var(--line);font-size:14px;color:var(--ink-soft);display:flex;justify-content:space-between;align-items:center}
.act-card .opt strong{color:var(--wine);font-weight:500}

/* WHY US */
.why{background:var(--cream-2)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}
.why-item{text-align:center;padding:20px}
.why-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:48px;color:var(--wine);margin-bottom:12px;font-weight:500;line-height:1}
.why-item h4{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;margin-bottom:10px}
.why-item p{color:var(--ink-soft);font-size:14px;font-weight:300}

/* CONTACTO WHATSAPP */
.contacto-whatsapp{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contacto-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}
.contacto-info h3{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:500;margin-bottom:18px;line-height:1.15}
.contacto-info h3 em{color:var(--wine);font-style:italic}
.contacto-info p{color:var(--ink-soft);margin-bottom:24px;font-weight:300}
.info-list{list-style:none;margin-bottom:32px}
.info-list li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}
.info-list li:last-child{border-bottom:none}
.info-label{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--wine);font-weight:600;min-width:90px;padding-top:2px}
.info-value{color:var(--ink);font-weight:500}
.info-value a{color:var(--ink)}
.info-value a:hover{color:var(--wine)}
.contacto-form{background:var(--cream);padding:40px;border:1px solid var(--line)}
.contacto-form h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:500;margin-bottom:8px}
.contacto-form h3 em{color:var(--wine);font-style:italic}
.contacto-form > p{color:var(--ink-soft);font-size:14px;margin-bottom:28px;font-weight:300}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-row-full{grid-column:1 / -1}
.form-field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-soft);margin-bottom:8px;font-weight:600}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);background:#fff;font-family:'Inter',sans-serif;font-size:14px;color:var(--ink);transition:border-color .2s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--wine)}
.form-field textarea{resize:vertical;min-height:110px}
.form-submit{margin-top:24px}

/* MAPA */
.mapa-section{padding:0;background:#fff}
.mapa-head{text-align:center;padding:80px 28px 50px;max-width:880px;margin:0 auto}
.mapa-frame{width:100%;height:480px;border:none;display:block;filter:grayscale(.2) contrast(.95)}

/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.blog-card{background:#fff;border:1px solid var(--line);overflow:hidden;transition:all .3s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(36,19,24,.08)}
.blog-card .thumb{aspect-ratio:4/3;background:var(--cream-2) center/cover no-repeat}
.blog-card .body{padding:26px 24px;display:flex;flex-direction:column;flex:1}
.blog-card .blog-meta{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;color:var(--wine);margin-bottom:10px;letter-spacing:.5px}
.blog-card h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;line-height:1.2;margin-bottom:12px}
.blog-card h3 em{color:var(--wine);font-style:italic}
.blog-card p{color:var(--ink-soft);font-size:14px;font-weight:300;margin-bottom:18px;flex:1}
.blog-card .read-more{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--wine);font-weight:600;border-bottom:1px solid var(--wine);padding-bottom:3px;align-self:flex-start}

/* LEGAL */
.legal-content{background:#fff;padding:80px 28px}
.legal-inner{max-width:860px;margin:0 auto}
.legal-inner h2{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:500;margin:36px 0 14px;color:var(--wine)}
.legal-inner h2:first-child{margin-top:0}
.legal-inner h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;margin:24px 0 10px}
.legal-inner p,.legal-inner li{color:var(--ink-soft);margin-bottom:14px;font-weight:400;font-size:15px;line-height:1.7}
.legal-inner ul,.legal-inner ol{padding-left:22px;margin-bottom:14px}
.legal-inner strong{color:var(--ink)}
.legal-inner a{color:var(--wine);border-bottom:1px solid var(--wine-soft)}

/* GRUPO ALMA STRIP */
.grupoalma-strip{background:var(--ink);color:var(--cream);text-align:center;padding:50px 28px;border-top:1px solid var(--wine-dark)}
.grupoalma-strip p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;margin-bottom:12px;color:var(--cream)}
.grupoalma-strip p em{color:var(--gold-soft);font-style:italic;font-weight:600}
.grupoalma-strip .strip-sub{font-size:14px;font-style:normal;font-family:'Inter',sans-serif;font-weight:300;color:rgba(250,242,231,.7);margin-bottom:20px}
.grupoalma-strip a.cta{color:var(--wine-soft);font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--wine-soft);padding-bottom:3px}
.grupoalma-strip a.cta:hover{color:#fff;border-color:#fff}

/* FOOTER */
footer{background:var(--ink);color:rgba(250,242,231,.7);padding:70px 28px 30px;font-size:14px}
.footer-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;margin-bottom:50px}
.footer-brand h4{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--cream);margin-bottom:14px;font-weight:500}
.footer-brand h4 em{color:var(--wine-soft);font-style:italic}
.footer-brand p{font-weight:300;line-height:1.7}
.footer-col h5{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--gold-soft);margin-bottom:18px;font-weight:500;font-style:italic}
.footer-col ul{list-style:none}
.footer-col li{padding:5px 0}
.footer-col a{color:rgba(250,242,231,.7);font-size:13px;transition:color .2s}
.footer-col a:hover{color:var(--wine-soft)}
.footer-bottom{max-width:1180px;margin:0 auto;padding-top:25px;border-top:1px solid rgba(250,242,231,.1);text-align:center;font-size:12px;color:rgba(250,242,231,.5);font-weight:300}

/* MOBILE */
@media (max-width:1000px){
  .packs-grid,.act-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .menu-toggle{display:block}
  .menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;padding:30px;gap:18px;border-bottom:1px solid var(--line)}
  .menu.active{display:flex}
  .menu a{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;text-transform:none;letter-spacing:0}
  .hero{padding:80px 24px 70px;min-height:auto}
  section{padding:60px 24px}
  .packs-grid,.act-grid,.blog-grid,.contacto-grid,.intro-grid,.why-grid{grid-template-columns:1fr;gap:30px}
  .form-grid{grid-template-columns:1fr}
  .contacto-form{padding:28px}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .hero-cta{flex-direction:column;align-items:center}
  .btn{width:100%;max-width:340px;text-align:center}
}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:all .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
/* INTRO IMG — versión con <img> */
.intro-img{
  position:relative;
  aspect-ratio:4/5;
  background:var(--cream-2);
  border:1px solid var(--line);
  overflow:hidden;
}
.intro-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .8s ease;
}
.intro-img:hover img{transform:scale(1.03)}

/* Móvil: ratio más bajo para que no se haga gigante */
@media (max-width:760px){
  .intro-img{aspect-ratio:4/3}
}
/* FAQ */
.faq{background:var(--cream-2)}
.faq-list{max-width:880px;margin:0 auto}
.faq-item{background:#fff;border:1px solid var(--line);margin-bottom:14px;transition:all .3s}
.faq-item.active{border-color:var(--wine);box-shadow:0 8px 28px rgba(36,19,24,.06)}
.faq-q{width:100%;background:none;border:none;padding:24px 28px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:500;color:var(--ink);line-height:1.3;transition:color .2s}
.faq-q:hover{color:var(--wine)}
.faq-item.active .faq-q{color:var(--wine)}
.faq-ico{font-family:'Inter',sans-serif;font-size:24px;font-weight:300;color:var(--wine);transition:transform .3s;flex-shrink:0;line-height:1}
.faq-item.active .faq-ico{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;padding:0 28px}
.faq-item.active .faq-a{max-height:400px;padding:0 28px 24px}
.faq-a p{color:var(--ink-soft);font-size:15px;font-weight:400;line-height:1.7;margin:0}
.faq-a strong{color:var(--ink);font-weight:500}

@media (max-width:760px){
  .faq-q{padding:20px 22px;font-size:18px}
  .faq-item.active .faq-a{padding:0 22px 20px}
}
/* MAPA + ZONAS */
.mapa-zonas{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mapa-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:stretch}
.mapa-info{display:flex;flex-direction:column}
.mapa-info h2{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,5vw,52px);font-weight:500;line-height:1.1;margin-bottom:20px}
.mapa-info h2 em{color:var(--wine);font-style:italic}
.mapa-info > p{color:var(--ink-soft);font-weight:300;margin-bottom:24px}

.zonas-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;margin:30px 0 16px;color:var(--ink)}
.zonas-title em{color:var(--wine);font-style:italic}
.zonas-grid{display:flex;flex-wrap:wrap;gap:8px}
.zona{display:inline-block;padding:7px 14px;background:var(--cream-2);color:var(--ink-soft);font-size:13px;letter-spacing:.3px;border:1px solid var(--line);transition:all .2s}
.zona:hover{background:var(--wine);color:#fff;border-color:var(--wine)}

.mapa-wrap{position:relative;min-height:520px;border:1px solid var(--line);overflow:hidden;background:var(--cream-2)}
.mapa-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.15) contrast(.95)}

@media (max-width:900px){
  .mapa-grid{grid-template-columns:1fr;gap:40px}
  .mapa-wrap{min-height:380px}
}
/* CIFRAS */
.stats{background:var(--ink);color:var(--cream);padding:60px 28px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1180px;margin:0 auto;text-align:center}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5vw,58px);font-weight:500;color:var(--gold-soft);line-height:1;margin-bottom:8px}
.stat-label{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:rgba(250,242,231,.7);font-weight:500}

/* TABLA COMPARATIVA */
.comparativa{background:#fff}
.tabla-wrap{overflow-x:auto;border:1px solid var(--line)}
.tabla-packs{width:100%;border-collapse:collapse;min-width:720px;font-size:14px}
.tabla-packs th,.tabla-packs td{padding:14px 12px;text-align:center;border-bottom:1px solid var(--line)}
.tabla-packs th:first-child,.tabla-packs td:first-child{text-align:left;font-weight:500;color:var(--ink)}
.tabla-packs thead th{background:var(--cream-2);font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:500;color:var(--ink);padding:18px 12px}
.tabla-packs thead th span{display:block;font-family:'Inter',sans-serif;font-size:13px;color:var(--wine);font-weight:600;margin-top:4px}
.tabla-packs tbody tr:hover{background:var(--cream)}
.tabla-packs td{color:var(--ink-soft)}

/* TIPOS */
.tipos{background:var(--cream-2)}
.tipos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tipo-card{background:#fff;border:1px solid var(--line);padding:0;transition:all .3s;display:flex;flex-direction:column;color:var(--ink)}
.tipo-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(36,19,24,.08);color:var(--ink)}
.tipo-img{aspect-ratio:16/10;background-color:var(--cream);background-size:cover;background-position:center}
.tipo-card h4{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;margin:22px 24px 10px}
.tipo-card h4 em{color:var(--wine);font-style:italic}
.tipo-card p{color:var(--ink-soft);font-size:14px;font-weight:300;margin:0 24px 18px;flex:1}
.tipo-link{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--wine);font-weight:600;border-bottom:1px solid var(--wine);padding-bottom:3px;margin:0 24px 24px;align-self:flex-start}

/* PROCESO */
.proceso{background:#fff}
.proceso-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;counter-reset:proc}
.proceso-item{position:relative;padding:30px 24px;border-left:1px solid var(--line)}
.proceso-item:first-child{border-left:none}
.proceso-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:48px;color:var(--wine);line-height:1;margin-bottom:14px;font-weight:500}
.proceso-item h4{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;margin-bottom:10px}
.proceso-item p{color:var(--ink-soft);font-size:14px;font-weight:300}

/* GALERÍA */
.galeria{background:var(--cream-2)}
.galeria-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.galeria-item{margin:0;aspect-ratio:1;overflow:hidden;background:var(--cream)}
.galeria-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.galeria-item:hover img{transform:scale(1.05)}

/* EXTRAS */
.extras{background:#fff}
.extras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.extra-card{padding:28px 26px;border:1px solid var(--line);background:var(--cream);transition:all .3s}
.extra-card:hover{border-color:var(--wine);background:#fff}
.extra-card h4{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;color:var(--wine);margin-bottom:8px}
.extra-card p{color:var(--ink-soft);font-size:14px;font-weight:300}

/* CIUDAD */
.ciudad{background:var(--cream)}
.ciudad-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ciudad-img{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}
.ciudad-img img{width:100%;height:100%;object-fit:cover}
.ciudad-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,52px);font-weight:500;line-height:1.1;margin-bottom:24px}
.ciudad-text h2 em{color:var(--wine);font-style:italic}
.ciudad-text p{color:var(--ink-soft);margin-bottom:18px;font-weight:300}

/* TESTIMONIOS */
.testimonios{background:#fff}
.rating-stars{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:20px}
.rating-stars .stars{color:var(--gold);font-size:22px;letter-spacing:2px}
.rating-stars .rating-num{font-size:14px;color:var(--ink-soft);font-weight:500}
.testimonios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testi{background:var(--cream);padding:30px 28px;border-left:3px solid var(--wine)}
.testi-stars{color:var(--gold);font-size:16px;letter-spacing:2px;margin-bottom:14px}
.testi p{font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;color:var(--ink);line-height:1.5;margin-bottom:18px}
.testi-author{font-size:13px;color:var(--ink-soft)}
.testi-author strong{color:var(--ink);font-weight:600}

/* BLOG HOME */
.blog-home{background:var(--cream-2)}

/* WA FLOTANTE */
.wa-float{position:fixed;bottom:24px;right:24px;width:58px;height:58px;background:#25d366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(37,211,102,.4);z-index:998;transition:transform .25s,box-shadow .25s}
.wa-float:hover{transform:scale(1.08);color:#fff;box-shadow:0 8px 28px rgba(37,211,102,.55)}
.wa-float:before{content:"";position:absolute;inset:-6px;border-radius:50%;background:rgba(37,211,102,.3);z-index:-1;animation:wa-pulse 2s infinite}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.4);opacity:0}}

/* MOBILE */
@media (max-width:1000px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:40px}
  .tipos-grid,.extras-grid,.testimonios-grid{grid-template-columns:repeat(2,1fr)}
  .galeria-grid{grid-template-columns:repeat(3,1fr)}
  .proceso-list{grid-template-columns:repeat(2,1fr);gap:0}
  .proceso-item:nth-child(3){border-left:none}
}
@media (max-width:760px){
  .tipos-grid,.extras-grid,.testimonios-grid,.ciudad-grid{grid-template-columns:1fr;gap:30px}
  .galeria-grid{grid-template-columns:repeat(2,1fr)}
  .proceso-list{grid-template-columns:1fr;gap:0}
  .proceso-item{border-left:none;border-top:1px solid var(--line);padding:24px 0}
  .proceso-item:first-child{border-top:none}
  .wa-float{bottom:16px;right:16px;width:54px;height:54px}
  .tabla-packs{font-size:13px;min-width:600px}
  .tabla-packs th,.tabla-packs td{padding:12px 8px}
}
/* BLOG CARDS — versión con <img> */
.blog-card .thumb{
  display:block;
  position:relative;
  aspect-ratio:4/3;
  background:var(--cream-2);
  overflow:hidden;
  line-height:0;
}
.blog-card .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .6s ease;
}
.blog-card:hover .thumb img{transform:scale(1.04)}
/* HERMANAS DEL GRUPO */
.hermanas{background:var(--cream)}
.hermanas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.hermana-card{background:#fff;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;color:var(--ink);transition:all .35s}
.hermana-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(36,19,24,.1);color:var(--ink);border-color:var(--wine)}
.hermana-img{aspect-ratio:4/3;overflow:hidden;background:var(--cream-2)}
.hermana-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .6s ease}
.hermana-card:hover .hermana-img img{transform:scale(1.04)}
.hermana-body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.hermana-tag{display:inline-block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);letter-spacing:.5px;margin-bottom:8px;align-self:flex-start;border-bottom:1px solid var(--gold-soft);padding-bottom:2px}
.hermana-card h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:500;line-height:1.15;margin-bottom:12px}
.hermana-card h3 em{color:var(--wine);font-style:italic}
.hermana-card p{color:var(--ink-soft);font-size:14px;font-weight:300;margin-bottom:18px;flex:1}
.hermana-link{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--wine);font-weight:600;border-bottom:1px solid var(--wine);padding-bottom:3px;align-self:flex-start;transition:all .2s}
.hermana-card:hover .hermana-link{color:var(--wine-dark);border-color:var(--wine-dark)}

@media (max-width:1000px){
  .hermanas-grid{grid-template-columns:1fr;gap:24px;max-width:540px;margin:0 auto}
}
/* BLOG CARDS — versión con <img> */
.blog-card .thumb{
  display:block;
  position:relative;
  aspect-ratio:4/3;
  background:var(--cream-2);
  overflow:hidden;
  line-height:0;
}
.blog-card .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .6s ease;
}
.blog-card:hover .thumb img{transform:scale(1.04)}
@media (max-width: 768px){
  .menu{
    display:none;
    position:absolute;
    top:100%; left:0; right:0;
    background:#fff;
    flex-direction:column;
    padding:20px;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
  }
  .menu.active{ display:flex; }
}