:root{--navy:#162f73;--navy-2:#0d1d48;--blue:#294a96;--gold:#f4a51c;--gold-2:#d89013;--ivory:#fbf7ef;--paper:#ffffff;--ink:#13213d;--muted:#6f7a8f;--line:rgba(22,47,115,.12);--shadow:0 28px 90px rgba(13,29,72,.14);--logo-width:220px}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--ivory);color:var(--ink)}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(1220px,92%);margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:14px 22px;font-weight:850;border:1px solid transparent;background:var(--gold);color:var(--navy-2);box-shadow:0 16px 36px rgba(244,165,28,.25);cursor:pointer}.btn-dark{background:var(--navy);color:white;box-shadow:0 16px 38px rgba(22,47,115,.25)}.btn-soft{background:white;color:var(--navy);border-color:var(--line);box-shadow:none}.header{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 0}.nav-wrap{width:min(1240px,94%);margin:auto;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 60px rgba(13,29,72,.10);border-radius:28px}.nav{height:82px;display:grid;grid-template-columns:250px 1fr auto;align-items:center;gap:22px;padding:0 22px}.logo{width:var(--logo-width);max-height:72px;object-fit:contain}.menu{justify-self:center;display:flex;align-items:center;gap:28px;color:var(--navy);font-size:.88rem;font-weight:850}.menu a{position:relative}.menu a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--gold);transition:.25s}.menu a:hover:after{width:100%}.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(13,29,72,.93) 0%,rgba(22,47,115,.78) 39%,rgba(22,47,115,.26) 68%,rgba(22,47,115,.04) 100%),var(--hero-image, url('../img/hero-gema.svg')) center/cover}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(244,165,28,.22),transparent 30%)}.hero-inner{position:relative;z-index:2;padding:180px 0 90px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:end}.hero-copy{max-width:720px;color:white}.pill{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);backdrop-filter:blur(12px);padding:10px 14px;border-radius:999px;color:#ffe2a0;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(4rem,8vw,8.5rem);line-height:.86;margin:26px 0 24px;letter-spacing:-.055em}.hero h1 span{color:var(--gold)}.hero p{font-size:1.16rem;line-height:1.8;color:rgba(255,255,255,.86);font-weight:500;max-width:620px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-panel{background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.65);box-shadow:var(--shadow);border-radius:34px;padding:24px;max-width:460px;justify-self:end;color:var(--ink)}.hero-panel small{display:block;color:var(--gold-2);font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.hero-panel h3{font-family:"Playfair Display",Georgia,serif;color:var(--navy-2);font-size:2.5rem;line-height:.95;margin:0 0 12px}.hero-panel p{color:var(--muted);font-size:.94rem;line-height:1.6;margin-bottom:18px}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.panel-grid div{background:var(--ivory);border-radius:20px;padding:14px;border:1px solid var(--line)}.panel-grid strong{display:block;color:var(--navy);font-size:1.35rem}.panel-grid span{color:var(--muted);font-size:.78rem;font-weight:700}.booking-strip{position:relative;z-index:3;margin-top:-56px}.booking{background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:30px;padding:20px;display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:14px;align-items:end}label{display:block;font-size:.78rem;color:var(--navy);font-weight:900;margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}input,select,textarea{width:100%;border:1px solid var(--line);background:white;border-radius:16px;padding:14px 14px;font:inherit;color:var(--ink)}.section{padding:104px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;margin-bottom:42px}.kicker{display:block;color:var(--gold-2);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px}.section-head h2{font-family:"Playfair Display",Georgia,serif;color:var(--navy-2);font-size:clamp(3rem,5vw,5.8rem);line-height:.92;letter-spacing:-.035em;margin:0}.section-head p{max-width:530px;color:var(--muted);line-height:1.75;font-weight:500}.collection{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}.main-package,.side-card{background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.main-package{border-radius:36px;overflow:hidden}.main-img{height:460px;background:linear-gradient(180deg,rgba(13,29,72,.08),rgba(13,29,72,.55)),var(--featured-image, url('../img/lima-peru.svg')) center/cover;position:relative}.tag{position:absolute;left:24px;top:24px;background:white;color:var(--navy);border-radius:999px;padding:10px 15px;font-weight:900;font-size:.78rem;box-shadow:0 12px 30px rgba(0,0,0,.12)}.main-body{padding:30px}.meta{color:var(--gold-2);font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.main-body h3{font-family:"Playfair Display",Georgia,serif;font-size:3.9rem;line-height:.9;color:var(--navy-2);margin:10px 0 16px}.main-body p{color:var(--muted);line-height:1.75;font-weight:500}.includes{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.includes span{background:var(--ivory);border:1px solid var(--line);border-radius:999px;padding:10px 12px;color:var(--navy);font-weight:850;font-size:.82rem}.price-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:22px;gap:16px}.price-row small{color:var(--muted);font-weight:800;text-transform:uppercase;font-size:.72rem}.price-row strong{display:block;color:var(--navy);font-size:2.65rem;line-height:1}.side-packages{display:grid;gap:18px}.side-card{border-radius:30px;overflow:hidden;display:grid;grid-template-columns:165px 1fr;min-height:210px;box-shadow:0 18px 50px rgba(13,29,72,.08)}.side-img{background:linear-gradient(180deg,rgba(13,29,72,.05),rgba(13,29,72,.42)),var(--side-image, url('../img/cancun.svg')) center/cover}.side-img.visa{background:linear-gradient(135deg,var(--navy),var(--blue));display:grid;place-items:center;color:white;font-size:2.4rem}.side-info{padding:20px}.side-info h3{font-family:"Playfair Display",Georgia,serif;color:var(--navy-2);font-size:2.05rem;line-height:1;margin:6px 0}.side-info p{color:var(--muted);font-size:.91rem;line-height:1.58;margin:0 0 14px}.side-info strong{color:var(--gold-2);font-size:1.7rem}.experience{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}.experience-photo{height:620px;border-radius:42px;overflow:hidden;box-shadow:var(--shadow);background:var(--experience-image, url('../img/about-gema.svg')) center/cover}.experience-copy h2{font-family:"Playfair Display",Georgia,serif;color:var(--navy-2);font-size:clamp(3rem,5vw,5.6rem);line-height:.92;margin:10px 0 18px}.experience-copy p{color:var(--muted);line-height:1.78;font-weight:500}.checks{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:26px 0}.checks div{background:var(--ivory);border:1px solid var(--line);border-radius:22px;padding:16px;font-weight:850;color:var(--navy)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{background:white;border:1px solid var(--line);border-radius:30px;padding:26px;box-shadow:0 18px 50px rgba(13,29,72,.07)}.icon{width:62px;height:62px;background:var(--navy);border-radius:18px;display:grid;place-items:center;margin-bottom:18px}.icon svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.service h3{color:var(--navy-2);margin:0 0 8px;font-size:1.18rem}.service p{color:var(--muted);line-height:1.65;font-size:.93rem;margin:0}.cta{padding:104px 0;background:linear-gradient(135deg,var(--navy-2),var(--blue));color:white;position:relative;overflow:hidden}.cta:before{content:"";position:absolute;right:-100px;top:-120px;width:480px;height:480px;border-radius:50%;background:rgba(244,165,28,.2)}.cta-grid{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}.cta h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(3.2rem,5vw,5.7rem);line-height:.9;margin:8px 0 18px}.cta p{color:rgba(255,255,255,.78);line-height:1.78;max-width:520px}.contact-form{background:white;border-radius:32px;padding:28px;color:var(--ink);box-shadow:var(--shadow)}.contact-form .btn{width:100%;margin-top:4px}.socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.footer{background:#071633;color:white;padding:46px 0 22px}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:30px}.footer-logo{background:white;border-radius:18px;padding:10px;width:220px}.footer p,.footer a{color:rgba(255,255,255,.72);line-height:1.65;font-size:.93rem}.footer a{display:block;margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;color:rgba(255,255,255,.62)}.float{position:fixed;right:18px;bottom:18px;z-index:80}.detail-hero{padding:160px 0 68px;background:linear-gradient(135deg,var(--navy-2),var(--blue));color:white}.detail-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:34px}.gallery-main{border-radius:36px;overflow:hidden;box-shadow:var(--shadow)}.gallery-main img{width:100%;height:560px;object-fit:cover}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.thumbs img{height:118px;width:100%;object-fit:cover;border-radius:18px;cursor:pointer}.detail-card{background:white;color:var(--ink);border-radius:34px;padding:30px;box-shadow:var(--shadow);align-self:start;position:sticky;top:130px}.detail-card h1{font-family:"Playfair Display",Georgia,serif;color:var(--navy-2);font-size:4rem;line-height:.9;margin:8px 0 16px}.detail-price{background:var(--ivory);border:1px solid var(--line);border-radius:24px;padding:18px;margin:20px 0}.detail-price strong{display:block;font-size:3rem;color:var(--navy)}.detail-section{padding:72px 0}.description,.conditions{color:var(--muted);line-height:1.8;font-weight:500}.popup-overlay{position:fixed;inset:0;background:rgba(13,29,72,.74);z-index:999;display:none;align-items:center;justify-content:center;padding:18px}.popup-overlay.is-visible{display:flex}.popup{width:min(880px,96vw);background:white;border-radius:32px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;position:relative;box-shadow:var(--shadow)}.popup-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:var(--gold);font-size:1.4rem;font-weight:900}.popup-img{background:var(--navy)}.popup-img img{width:100%;height:100%;object-fit:cover}.popup-content{padding:34px}.popup-content h2{font-family:"Playfair Display",Georgia,serif;font-size:2.7rem;line-height:.95;color:var(--navy-2);margin:0 0 12px}.popup-content p{color:var(--muted);line-height:1.6}.popup-form{display:grid;gap:12px}.popup-message,.popup-error{display:none;padding:12px;border-radius:14px;font-weight:850;margin-top:10px}.popup-message{background:#e4fbeb;color:#117b35}.popup-error{background:#ffe7e7;color:#9a1616}.admin-body{background:var(--ivory)}.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:var(--navy-2);padding:26px;color:white}.sidebar img{background:white;border-radius:16px;padding:10px;margin-bottom:22px}.sidebar a{display:block;color:white;font-weight:850;padding:13px;border-radius:14px}.sidebar a:hover{background:rgba(255,255,255,.1)}.admin-main{padding:34px}.admin-card{background:white;border-radius:28px;box-shadow:0 18px 50px rgba(13,29,72,.09);padding:26px;margin-bottom:24px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:14px}.status{padding:6px 10px;border-radius:999px;font-size:.76rem;font-weight:900}.on{background:#e4fbeb;color:#117b35}.off{background:#ffe7e7;color:#9a1616}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.full{grid-column:1/-1}.icon-checks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.icon-checks label{display:flex;gap:8px;align-items:center;background:var(--ivory);border-radius:14px;padding:12px}.icon-checks input{width:auto}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy-2),var(--blue))}.login-card{background:white;border-radius:30px;padding:34px;width:min(440px,92%);box-shadow:var(--shadow)}.alert{padding:14px;border-radius:16px;margin:14px 0;font-weight:850}.error{background:#ffe7e7;color:#9a1616}.ok{background:#e4fbeb;color:#117b35}.preview-img{width:150px;height:96px;object-fit:cover;border-radius:12px}@media(max-width:1040px){.nav{grid-template-columns:1fr auto}.menu{display:none}.hero-inner,.collection,.experience-grid,.cta-grid,.footer-grid,.detail-grid{grid-template-columns:1fr}.hero-panel{justify-self:start}.booking{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.icon-checks{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.header{padding:10px 0}.nav{height:76px}.logo{width:min(var(--logo-width),185px)}.hero-inner{padding:130px 0 70px}.hero h1{font-size:4rem}.booking{grid-template-columns:1fr}.section{padding:74px 0}.section-head{display:block}.side-card{grid-template-columns:1fr}.side-img{height:210px}.main-img{height:330px}.main-body h3{font-size:3rem}.price-row{display:block}.experience-photo{height:420px}.checks,.services-grid{grid-template-columns:1fr}.footer-bottom{display:block}.gallery-main img{height:360px}.popup{grid-template-columns:1fr;max-height:92vh;overflow:auto}.popup-img img{height:210px}}


/* FIX FINAL FOTOS: imágenes reales, no fondos escondidos */
.hero {
  background: var(--navy-2) !important;
}

.hero-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13,29,72,.93) 0%, rgba(22,47,115,.78) 39%, rgba(22,47,115,.26) 68%, rgba(22,47,115,.04) 100%);
  z-index: 1;
  pointer-events: none;
}

.hero:before {
  z-index: 2;
  pointer-events: none;
}

.hero-inner {
  position: relative;
  z-index: 3;
}

.main-img,
.side-img,
.experience-photo {
  background: #dfe5f2 !important;
  position: relative;
  overflow: hidden;
}

.package-cover,
.experience-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* La etiqueta de paquete destacado siempre queda encima de la foto */
.main-img .tag {
  z-index: 3;
}

/* Si una imagen no carga, el cuadro no se rompe */
.package-cover[src=""],
.experience-cover[src=""],
.hero-bg-img[src=""] {
  display: none;
}

.side-img.visa {
  background: #162f73 !important;
}

.admin-card .form-grid p strong {
  color: var(--navy);
}


/* FIX: paquetes del mismo tamaño en carrusel */
.packages-head-inline{align-items:end;gap:18px}
.packages-head-right{display:grid;gap:14px;justify-items:end}
.packages-head-right p{max-width:520px;text-align:right}
.carousel-controls{display:flex;gap:10px}
.carousel-btn{width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--navy);font-size:2rem;font-weight:800;display:grid;place-items:center;box-shadow:0 10px 24px rgba(13,29,72,.08);cursor:pointer;transition:.2s ease}
.carousel-btn:hover{transform:translateY(-2px);background:var(--navy);color:#fff}
.packages-carousel{overflow:hidden}
.packages-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 4px 18px;scrollbar-width:none}
.packages-track::-webkit-scrollbar{display:none}
.package-card{min-width:min(360px,88vw);max-width:min(360px,88vw);background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:0 18px 50px rgba(13,29,72,.08);scroll-snap-align:start;display:flex;flex-direction:column}
.package-card.is-featured{border-color:rgba(244,165,28,.38);box-shadow:0 24px 60px rgba(13,29,72,.12)}
.package-card-media{height:280px;background:linear-gradient(180deg,#eef2f8,#dde5f3);position:relative;display:flex;align-items:center;justify-content:center;padding:14px}
.package-card-image{width:100%;height:100%;object-fit:contain;display:block}
.package-badge{position:absolute;top:16px;left:16px;background:#fff;color:var(--navy-2);padding:10px 14px;border-radius:999px;font-size:.85rem;font-weight:900;box-shadow:0 10px 24px rgba(13,29,72,.1)}
.package-card-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.package-card-body h3{font-family:"Playfair Display",Georgia,serif;color:var(--navy-2);font-size:2.4rem;line-height:.95;margin:0}
.package-card-body p{color:var(--muted);line-height:1.65;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:78px}
.package-includes-mini{display:flex;flex-wrap:wrap;gap:8px}
.package-includes-mini span{padding:8px 12px;border-radius:999px;background:var(--ivory);border:1px solid var(--line);font-size:.8rem;font-weight:800;color:var(--navy)}
.package-card-bottom{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-top:auto;padding-top:8px;border-top:1px solid var(--line)}
.package-price-block small{display:block;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;margin-bottom:4px}
.package-price-block strong{display:block;color:var(--navy);font-size:2.1rem;line-height:1}
@media(max-width:1040px){.packages-head-inline{display:block}.packages-head-right{justify-items:start}.packages-head-right p{text-align:left}}
@media(max-width:620px){.package-card{min-width:88vw;max-width:88vw}.package-card-media{height:240px}.package-card-body h3{font-size:2rem}.package-card-bottom{display:block}.package-card-bottom .btn{margin-top:12px;width:100%}}


/* FIX: quitar textos internos del público */
.public-services-checks {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-services-checks div {
  background: #ffffff;
}

@media(max-width:620px){
  .public-services-checks {
    grid-template-columns: 1fr;
  }
}
