:root{
  --blue:#2d388a;
  --blue-dark:#242d6e;
  --blue-deep:#161c45;
  --blue-light:#E3E6F7;
  --amber:#2d388a;
  --amber-dark:#242d6e;
  --teal:#00cf9f;
  --white:#FFFFFF;
  --bg:#F6F4FC;
  --text:#645E78;
  --text-dark:#1f0a4e;
  --line:#E6E0F5;
  --radius:16px;
  --display:'Poppins', sans-serif;
  --body:'Inter', sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 20px 46px -18px rgba(31,10,78,.22);
  --shadow-lg:0 34px 70px -20px rgba(31,10,78,.3);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:hidden;}
body{background-color:var(--bg);background-image:url('../../img/landing/fondo_floral.webp');background-repeat:repeat;background-size:600px;background-attachment:fixed;color:var(--text-dark);font-family:var(--body);line-height:1.65;overflow-x:hidden;width:100%;}

/* ---- Lenis (smooth scroll) ---- */
html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto !important;}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain;}
.lenis.lenis-stopped{overflow:hidden;}
.lenis.lenis-scrolling iframe{pointer-events:none;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;color:var(--text-dark);}
p{color:var(--text);}
.eyebrow{font-size:13px;font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:8px;}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--amber);}
.section-pad{padding:100px 0;}
.section-head{max-width:600px;margin:0 auto 54px;text-align:center;}
.section-head h2{font-size:clamp(28px,3.6vw,40px);margin-top:10px;}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-stagger.in-view > *{transition-delay:calc(var(--i,0) * 90ms);}

/* ---- Variantes de entrada con más movimiento ---- */
.reveal-left{transform:translateX(-48px);}
.reveal-left.in-view{transform:translateX(0);}
.reveal-right{transform:translateX(48px);}
.reveal-right.in-view{transform:translateX(0);}
.reveal-scale{transform:translateY(24px) scale(.9);transition:opacity .6s var(--ease), transform .6s cubic-bezier(.34,1.56,.64,1);}
.reveal-scale.in-view{transform:translateY(0) scale(1);}

@media (prefers-reduced-motion: reduce){
  .reveal:not([data-tilt]),.reveal-left:not([data-tilt]),.reveal-right:not([data-tilt]),.reveal-scale:not([data-tilt]){transition:opacity .3s linear !important;transform:none !important;}
  .hero-content,.hero-map{animation:none !important;opacity:1 !important;}
}

/* ---- Entrada del hero al cargar (no depende de scroll) ---- */
@keyframes heroFadeUp{
  from{opacity:0;transform:translateY(34px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes heroFadeRight{
  from{opacity:0;transform:translateX(34px);}
  to{opacity:1;transform:translateX(0);}
}
.hero-content{opacity:0;animation:heroFadeUp .9s var(--ease) .15s forwards;}
.hero-map{opacity:0;animation:heroFadeRight 1s var(--ease) .35s forwards;}

.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;padding:14px 26px;border-radius:999px;border:none;cursor:pointer;transition:.25s var(--ease);white-space:nowrap;}
.btn:disabled,.btn.is-disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.35);}
.btn:disabled:hover,.btn.is-disabled:hover{transform:none !important;box-shadow:none;}
.btn-amber{background:var(--amber);color:#fff;box-shadow:0 14px 28px -10px rgba(68,28,176,.55);}
.btn-amber:hover{background:var(--amber-dark);transform:translateY(-2px);}
.btn-orange{background:#1fbf8f;color:#fff;box-shadow:0 14px 28px -10px rgba(31,191,143,.5);}
.btn-orange:hover{background:#0f9c72;transform:translateY(-2px);}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 14px 28px -10px rgba(68,28,176,.5);}
.btn-blue:hover{background:var(--blue-dark);transform:translateY(-2px);}
.btn-outline{background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-outline-blue{background:#fff;border:1.5px solid var(--line);color:var(--text-dark);}
.btn-outline-blue:hover{border-color:var(--blue);color:var(--blue);}
.btn-red{background:#e5484d;color:#fff;box-shadow:0 14px 28px -10px rgba(229,72,77,.5);}
.btn-red:hover{background:#c8383d;transform:translateY(-2px);}

/* ---- Botón "glossy" (prueba de estilo, inspirado en referencia) ---- */
.btn-glossy{
  --glossy-c1:#c9611c;--glossy-c2:#f5822c;--glossy-c3:#ffab5e;
  --glossy-shadow:rgba(230,120,30,.65);--glossy-shadow-hover:rgba(230,120,30,.75);
  --glossy-icon:#f5822c;
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 42px 12px 28px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:linear-gradient(100deg, var(--glossy-c1) 0%, var(--glossy-c2) 45%, var(--glossy-c3) 100%);
  box-shadow:0 16px 34px -12px var(--glossy-shadow);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
  overflow:visible;
}
.btn-glossy.btn-glossy-blue{
  --glossy-c1:#161c45;--glossy-c2:#2d388a;--glossy-c3:#5c6bc9;
  --glossy-shadow:rgba(45,56,138,.55);--glossy-shadow-hover:rgba(45,56,138,.65);
  --glossy-icon:#2d388a;
}
.btn-glossy.btn-glossy-teal{
  --glossy-c1:#00a87e;--glossy-c2:#00cf9f;--glossy-c3:#5eeccb;
  --glossy-shadow:rgba(0,207,159,.5);--glossy-shadow-hover:rgba(0,207,159,.6);
  --glossy-icon:#00a87e;
}
.btn-glossy::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 55%);
  border-radius:inherit;
  pointer-events:none;
}
.btn-glossy:hover{transform:translateY(-3px);box-shadow:0 22px 42px -12px var(--glossy-shadow-hover);}
.btn-glossy-icon{
  position:absolute;left:-14px;top:50%;
  width:62px;height:62px;flex-shrink:0;
  transform:translateY(-50%) rotate(45deg);
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff 0%,#eef1f5 45%,#d3d9e2 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:
    0 5px 12px rgba(20,15,10,.32),
    inset 0 1px 1px rgba(255,255,255,1),
    inset 0 -3px 5px rgba(30,20,10,.2);
}
.btn-glossy-icon svg{width:22px;height:22px;color:var(--glossy-icon);transform:rotate(-45deg);margin-left:2px;}
.btn-glossy-icon svg[fill="currentColor"],.btn-glossy-icon svg[fill="currentColor"] path{fill:var(--glossy-icon) !important;}
.btn-glossy-label{margin-left:36px;position:relative;z-index:1;font-size:14.5px;color:#fff !important;}

/* ===== TOPBAR ===== */
.topbar{background:var(--blue);color:#EEE6FB;font-size:12.5px;padding:9px 0;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.topbar .left{display:flex;gap:22px;}
.topbar .left span{display:flex;align-items:center;gap:6px;}
.topbar svg{width:13px;height:13px;}

/* ===== NAV ===== */
header{
  position:absolute;top:38px;left:0;right:0;z-index:100;
  background:transparent;padding:8px 0;
  transition:background .35s var(--ease), padding .35s var(--ease), box-shadow .35s, position 0s;
}
header.scrolled{
  position:fixed;top:0;
  background:rgba(10,12,16,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 6px 26px -10px rgba(0,0,0,.4);
}

nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.logo{font-family:var(--display);color:var(--blue);display:flex;align-items:center;gap:10px;line-height:1.15;}
.logo .logo-mark{width:164px;height:38px;flex-shrink:0;}
.logo .logo-text{display:flex;flex-direction:column;align-items:flex-start;}
.logo .brand-kicker{font-family:var(--body);font-weight:700;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;opacity:.8;}
.logo .brand-name{font-weight:800;font-size:20px;color:#fff;}
.nav-links{display:flex;align-items:center;gap:32px;}
.nav-links a{font-size:14.5px;font-weight:600;color:#fff;position:relative;padding:4px 0;text-shadow:0 1px 4px rgba(0,0,0,.25);}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--blue);transition:width .3s var(--ease);}
.nav-links a:hover::after{width:100%;}
.nav-cta{display:flex;align-items:center;gap:16px;}
.nav-phone{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.25);}
.nav-phone svg{width:16px;height:16px;color:#fff;}
.nav-account-wrap{position:relative;flex-shrink:0;}
.nav-account{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.4);color:#fff;cursor:pointer;transition:background .25s,border-color .25s;overflow:hidden;padding:0;}
.nav-account svg{width:19px;height:19px;}
.nav-account:hover,.nav-account[aria-expanded="true"]{background:rgba(255,255,255,.22);border-color:#fff;}
.nav-account:disabled{opacity:.5;cursor:not-allowed;}
.nav-account:disabled:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);}
.nav-account-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.nav-account-initials{font-family:var(--display);font-weight:700;font-size:14px;color:#fff;}

.account-dropdown{
  position:absolute;top:calc(100% + 14px);right:0;
  width:270px;
  background:#fff;
  border-radius:14px;
  box-shadow:0 24px 48px -12px rgba(22,28,69,.35);
  padding:20px 20px 18px;
  text-align:left;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;
  z-index:50;
}
.account-dropdown::before{
  content:"";position:absolute;top:-6px;right:14px;
  width:12px;height:12px;background:#fff;transform:rotate(45deg);
  border-radius:2px;
}
.account-dropdown.open{opacity:1;visibility:visible;transform:translateY(0);}
.account-dropdown-title{font-family:var(--display);font-weight:700;font-size:15px;color:var(--text-dark);margin-bottom:4px;}
.account-dropdown-sub{font-size:12.5px;color:var(--text);line-height:1.5;margin-bottom:16px;}
.account-dropdown-btn{width:100%;justify-content:center;padding:11px 20px;font-size:14px;}
.account-dropdown-btn + .account-dropdown-btn{margin-top:10px;}
.account-dropdown-register{display:block;text-align:center;margin-top:14px;font-size:12.5px;color:var(--text);}
.account-dropdown-register span{color:var(--blue);font-weight:700;}
.account-dropdown-register:hover span{text-decoration:underline;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;}
.burger span{width:22px;height:2px;background:#fff;border-radius:2px;}

/* ===== HERO ===== */
.hero{position:relative;overflow:hidden;padding:150px 0 150px;}
.hero-bg{position:absolute;top:-12%;left:0;right:0;height:124%;z-index:0;background-size:cover;background-position:center;will-change:transform;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:
    linear-gradient(to top, var(--blue-deep) 0, rgba(31,10,78,.7) 55px, rgba(31,10,78,.35) 115px, rgba(31,10,78,0) 190px),
    linear-gradient(112deg, var(--blue-deep) 0%, var(--blue-deep) 40%, rgba(31,10,78,.6) 52%, transparent 66%);}
.hero-pattern{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.18) 1.6px, transparent 1.6px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(circle at 14% 40%, black 0%, black 28%, transparent 70%);
  mask-image:radial-gradient(circle at 14% 40%, black 0%, black 28%, transparent 70%);
}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;z-index:2;height:100px;line-height:0;pointer-events:none;}
.hero-wave svg{width:100%;height:100%;display:block;}
.hero-wave path{fill:#F4F6FB;}
.hero-wrap{display:flex;align-items:stretch;gap:24px;position:relative;z-index:2;max-width:1260px;padding-left:14px;padding-right:14px;}
.hero-content{position:relative;max-width:478px;flex-shrink:0;}
.hero-map{flex:1;background:#000;border:2px solid var(--blue);border-radius:var(--radius);min-height:395px;overflow:hidden;box-shadow:var(--shadow-lg);}
.hero-map iframe{width:100%;height:100%;min-height:395px;border:0;display:block;pointer-events:none;}
.hero .eyebrow{color:#E9DFFB;}
.hero .eyebrow::before{background:#E9DFFB;}
.hero h1{color:#fff;font-size:clamp(36px,5vw,54px);line-height:1.1;margin:16px 0 18px;}
.hero h1 .accent{
  color:transparent;
  -webkit-text-stroke:2px #fff;
}
.hero-map{position:relative;flex:1;background:#000;border:2px solid var(--blue);border-radius:var(--radius);min-height:395px;overflow:hidden;box-shadow:var(--shadow-lg);}
.custom-marker{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-100%);
  z-index:10;
  width:40px;height:40px;
  color:#ef4444; /* red */
  pointer-events:none;
  filter:drop-shadow(0 4px 6px rgba(0,0,0,0.5));
}
.custom-marker svg{width:100%;height:100%;}
.custom-marker svg path{fill:#ef4444;stroke:#ef4444;}
.custom-marker svg circle{fill:#fff;stroke:none;}
.marker-tag{
  position:absolute;
  top:-6px;left:50%;
  transform:translate(-50%,-100%);
  white-space:nowrap;
  background:#fff;
  color:var(--blue-deep);
  font-family:var(--body);
  font-size:12px;
  font-weight:700;
  padding:5px 10px;
  border-radius:8px;
  box-shadow:0 4px 10px rgba(0,0,0,.35);
}
.marker-tag::after{
  content:"";
  position:absolute;
  top:100%;left:50%;
  transform:translateX(-50%);
  border:5px solid transparent;
  border-top-color:#fff;
}
.hero p.lead{color:rgba(255,255,255,.85);font-size:16.5px;max-width:440px;margin-bottom:32px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}

/* feature cards overlapping hero */
.feat-overlap{position:relative;z-index:3;margin-top:-95px;}
.feat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.feat-card{
  position:relative;background:#fff;border-radius:var(--radius);padding:30px 26px;
  box-shadow:0 26px 54px -16px rgba(31,10,78,.32);overflow:hidden;isolation:isolate;
  border:2px solid #fff;
  transition:transform .35s var(--ease), box-shadow .35s;
}
.feat-card.is-open{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
@media (hover:hover){.feat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}}
.feat-card::before{
  content:"";position:absolute;inset:-6px;z-index:-2;
  background:
    linear-gradient(0deg, rgba(0,0,0,.8), rgba(0,0,0,.48)),
    var(--photo);
  background-size:cover;
  background-position:center;
  filter:blur(2.5px);
  transition:filter .35s var(--ease), background .35s var(--ease);
}
.feat-card.is-open::before{
  filter:none;
  background:var(--photo);
  background-size:cover;
  background-position:center;
}
@media (hover:hover){
  .feat-card:hover::before{
    filter:none;
    background:var(--photo);
    background-size:cover;
    background-position:center;
  }
}
.feat-card::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-color: #2d388a;
  background-image: 
    linear-gradient(rgba(45,56,138,0.96), rgba(45,56,138,0.96)),
    url('/img/landing/logo-rosas-icon.png');
  background-size: cover, 110px;
  background-position: center, 0 0;
  background-repeat: no-repeat, repeat;
  -webkit-mask-image: linear-gradient(-48deg, #000 0%, #000 50%, transparent 50%);
  mask-image: linear-gradient(-48deg, #000 0%, #000 50%, transparent 50%);
  transition:transform .45s var(--ease);
}
.feat-card.is-open::after{transform:translateX(38%);}
@media (hover:hover){.feat-card:hover::after{transform:translateX(38%);}}
.feat-card .ic-wrap{width:62px;height:62px;border-radius:14px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;margin-bottom:18px;box-shadow:0 4px 14px rgba(0,0,0,.35);transition:opacity .4s var(--ease);}
.feat-card .ic-wrap svg{width:34px;height:34px;color:var(--teal);filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));}
.feat-card:nth-child(1) .ic-wrap svg{color:#f5822c;}
.feat-card:nth-child(2) .ic-wrap svg{color:var(--teal);}
.feat-card:nth-child(3) .ic-wrap svg{color:#ef4444;}
.feat-card h3{font-size:21px;margin-bottom:8px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5);transition:opacity .4s var(--ease), text-shadow .35s var(--ease);}
.feat-card p{font-size:15.5px;margin-bottom:14px;color:rgba(255,255,255,.92);text-shadow:0 1px 6px rgba(0,0,0,.45);transition:opacity .4s var(--ease), text-shadow .35s var(--ease);}
.feat-card .go{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:700;
  color:#1a1a2e;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border-radius:999px;
  padding:8px 18px;
  box-shadow:0 4px 16px rgba(0,0,0,.28);
  text-shadow:none;
  transition:opacity .4s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
  position:absolute;
  bottom:20px;
  left:20px;
  opacity:0;
}
.feat-card .go:hover{
  transform:scale(1.05);
  box-shadow:0 6px 22px rgba(0,0,0,.38);
}
.feat-card.is-open h3,
.feat-card.is-open p,
.feat-card.is-open .ic-wrap{opacity:0;}
.feat-card.is-open .go{opacity:1;}
@media (hover:hover){
  .feat-card:hover h3,
  .feat-card:hover p,
  .feat-card:hover .ic-wrap{opacity:0;}
  .feat-card:hover .go{opacity:1;}
}

/* ===== BOOKING WIDGET ===== */
.booking-section{padding:70px 0 100px;}
.booking-card{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;position:relative;}
.booking-collage{position:relative;height:580px;}
.bk-photo{position:absolute;border-radius:16px;box-shadow:0 24px 50px -18px rgba(31,10,78,.35);overflow:hidden;transform:perspective(800px) translateY(0) rotateX(0deg) scale(1);transition:transform .6s cubic-bezier(.16,1,.3,1), box-shadow .6s cubic-bezier(.16,1,.3,1);will-change:transform;}
.bk-photo:hover{transform:perspective(800px) translateY(-30px) rotateX(9deg) scale(1.08);box-shadow:0 50px 84px -18px rgba(31,10,78,.55);z-index:5;}
.bk-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.bk-photo-1{width:70%;top:0;right:0;height:300px;z-index:2;}
.bk-photo-2{width:78%;bottom:0;left:0;height:340px;z-index:1;}
.booking-form .eyebrow{margin-bottom:14px;}
.booking-form h2{color:var(--text-dark);font-size:clamp(24px,3vw,34px);margin-bottom:28px;line-height:1.2;}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.booking-fields-single{grid-template-columns:1fr;}
.booking-form .btn-glossy{margin-top:12px;margin-left:14px;}
.bf{background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:15px 16px;transition:border-color .2s;}
.bf:focus-within{border-color:var(--blue);}
.bf.full{grid-column:1 / -1;}
.bf select,.bf input,.bf textarea{background:transparent;border:none;outline:none;color:var(--text-dark);font-size:14.5px;width:100%;font-family:var(--body);}
.bf textarea{resize:vertical;min-height:70px;font-family:var(--body);}
.bf ::placeholder{color:#9aa2b8;}
.bf-select{position:relative;}
.bf-select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:26px;cursor:pointer;}
.bf-select select:invalid{color:#9aa2b8;}
.bf-select select option{color:var(--text-dark);background:#fff;}
.bf-select::after{
  content:"";position:absolute;right:16px;top:50%;
  width:9px;height:9px;
  border-right:2px solid #9aa2b8;border-bottom:2px solid #9aa2b8;
  transform:translateY(-65%) rotate(45deg);
  pointer-events:none;
}

/* ===== FRANJA DESTACADOS + DETALLE (fondo continuo) ===== */
.highlights-section{
  position:relative;
  display:flow-root;
  background:transparent;
}
.highlights-section .detail-section{position:relative;z-index:1;}

/* ===== DETALLE DEL ESTACIONAMIENTO (basado en Saba) ===== */
.detail-section{padding-top:40px;}

/* descripcion + productos + foto */
.detail-lower{display:grid;grid-template-columns:1fr 340px;gap:44px;align-items:start;max-width:1180px;margin:0 auto;}
.detail-lower-main{min-width:0;}
.detail-lower-photo{
  position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);
  /* Que arranque exactamente al mismo nivel que el contenido principal */
  align-self:start;
  /* La altura se ajusta al carrusel: descripción (~110px) + carrusel (330px + 16px padding) */
  height:calc(110px + 362px);
}
.detail-lower-photo img{width:100%;height:100%;min-height:unset;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.detail-lower-photo:hover img:not(.dlp-logo){transform:scale(1.05);}
.dlp-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);pointer-events:none;}
.detail-lower-photo img.dlp-logo{
  position:absolute;top:50%;left:50%;
  width:180px;height:auto;min-height:0;object-fit:contain;
  transform:translate(-50%,-50%);
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.6));
  pointer-events:none;
}
.detail-desc{margin:0 0 24px;}
.detail-desc h3{font-size:20px;margin-bottom:14px;}
.detail-desc p{font-size:15.5px;line-height:1.75;}

/* ---- Gallery Carousel (coverflow) ---- */
.gallery-carousel{
  position:relative;
  width:100%;
  padding:16px 0 30px;
  overflow:hidden;
}
.gc-track-wrap{
  position:relative;
  width:100%;
  height:330px;
  overflow:visible;
  border-radius:16px;
}
/* perspectiva 3D en el contenedor */
.gc-track{
  position:relative;
  width:100%;
  height:100%;
  perspective:900px;
  perspective-origin:50% 50%;
}

/* Cada item: absolutamente centrado, transición suave */
.gc-item{
  position:absolute;
  top:50%;
  left:50%;
  border-radius:12px;
  overflow:hidden;
  cursor:pointer;
  transform-origin:center center;
  transition: width 1.2s cubic-bezier(0.4, 1.8, 0.4, 1),
              height 1.2s cubic-bezier(0.4, 1.8, 0.4, 1),
              margin 1.2s cubic-bezier(0.4, 1.8, 0.4, 1),
              transform 1.2s cubic-bezier(0.4, 1.8, 0.4, 1),
              opacity 0.8s ease-out,
              box-shadow 0.8s ease-out,
              border-color 0.8s ease-out;
  will-change: transform, opacity, width, height, margin;
}
.gc-item img{
  display:block;
  object-fit:cover;
  width:100%;
  height:100%;
  pointer-events:none;
  user-select:none;
}

/* ACTIVO — imagen central grande, al frente */
.gc-item.is-active{
  width:430px;
  height:295px;
  margin-left:-215px;
  margin-top:-147px;
  transform:translateZ(0) rotateY(0deg);
  opacity:1;
  z-index:5;
  box-shadow:0 8px 20px rgba(0,0,0,.15);
  border:2.5px solid rgba(67,97,238,.4);
}

/* PREV — asoma por la izquierda, ligeramente rotado */
.gc-item.is-prev{
  width:230px;
  height:155px;
  margin-left:-115px;
  margin-top:-77px;
  transform:translateX(-215px) translateZ(-60px) rotateY(28deg);
  opacity:.82;
  z-index:4;
  box-shadow:0 6px 20px rgba(0,0,0,.18);
}

/* NEXT — asoma por la derecha, ligeramente rotado */
.gc-item.is-next{
  width:230px;
  height:155px;
  margin-left:-115px;
  margin-top:-77px;
  transform:translateX(215px) translateZ(-60px) rotateY(-28deg);
  opacity:.82;
  z-index:4;
  box-shadow:0 6px 20px rgba(0,0,0,.18);
}

/* FAR-PREV — más a la izquierda, más pequeño */
.gc-item.is-far-prev{
  width:150px;
  height:100px;
  margin-left:-75px;
  margin-top:-50px;
  transform:translateX(-345px) translateZ(-130px) rotateY(40deg);
  opacity:.5;
  z-index:3;
  box-shadow:0 3px 10px rgba(0,0,0,.12);
}

/* FAR-NEXT — más a la derecha, más pequeño */
.gc-item.is-far-next{
  width:150px;
  height:100px;
  margin-left:-75px;
  margin-top:-50px;
  transform:translateX(345px) translateZ(-130px) rotateY(-40deg);
  opacity:.5;
  z-index:3;
  box-shadow:0 3px 10px rgba(0,0,0,.12);
}

/* Oculto */
.gc-item.is-hidden{
  opacity:0;
  pointer-events:none;
  z-index:0;
  transform:translateX(0) translateZ(-200px);
}

/* Flechas — flotantes sobre el carrusel */
.gc-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,.92);
  color:var(--blue);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s,transform .2s,box-shadow .2s;
  z-index:20;
  box-shadow:0 2px 12px rgba(0,0,0,.16);
}
.gc-arrow:hover{background:var(--blue);color:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 4px 18px rgba(67,97,238,.35);}
.gc-arrow svg{width:18px;height:18px;}
.gc-arrow-left{left:6px;}
.gc-arrow-right{right:6px;}

.gc-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:10px;
  margin-bottom:0;
}
.gc-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:rgba(67,97,238,.3);
  border:none;
  cursor:pointer;
  padding:0;
  transition:background .3s, transform .3s;
}
.gc-dot.active{
  background:rgba(67,97,238,1);
  transform:scale(1.2);
}
.gc-dot:hover{
  background:rgba(67,97,238,.6);
}




/* productos y abonos */
.detail-products{}
.detail-products .eyebrow{display:block;margin-bottom:20px;}
.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.product-card{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(155deg, var(--blue-deep) 0%, var(--blue-dark) 55%, var(--blue) 140%);
  border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);
  padding:28px 26px;transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;
}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(255,255,255,.25);}
.product-card::before{
  content:"";position:absolute;z-index:0;pointer-events:none;inset:0;
  background-image:url('/img/landing/decoracion.png');
  background-repeat:no-repeat;
  background-size:680px auto;
  background-position:right -40px top -30px;
  opacity:.9;
  filter:drop-shadow(0 0 18px rgba(0,207,159,.35));
  mask-image:linear-gradient(to left, black 0%, black 35%, transparent 75%);
  -webkit-mask-image:linear-gradient(to left, black 0%, black 35%, transparent 75%);
}
.product-card-highlight::before{background-position:right -40px top -30px;}
.product-card::after{
  content:"";position:absolute;z-index:0;pointer-events:none;inset:-40px;
  background:
    radial-gradient(circle at 88% 12%, rgba(0,207,159,.5) 0%, transparent 42%),
    radial-gradient(circle at 100% 95%, rgba(160,110,255,.45) 0%, transparent 48%),
    radial-gradient(circle at 8% 92%, rgba(255,255,255,.14) 0%, transparent 38%);
  filter:blur(26px);
}
.product-card-highlight{border-color:rgba(255,255,255,.22);box-shadow:0 18px 40px -18px rgba(31,10,78,.55);}
.product-card-highlight::after{
  background:
    radial-gradient(circle at 90% 10%, rgba(0,207,159,.6) 0%, transparent 42%),
    radial-gradient(circle at 100% 100%, rgba(160,110,255,.55) 0%, transparent 50%),
    radial-gradient(circle at 6% 90%, rgba(255,255,255,.18) 0%, transparent 40%);
}
.pc-tag{position:absolute;top:16px;right:16px;z-index:1;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:7px 14px;border-radius:999px;}
.pc-icon{position:relative;z-index:1;width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.pc-icon svg{width:22px;height:22px;color:#fff;}
.product-card-top,.product-price{position:relative;z-index:1;}
.product-card-top h4{font-size:15px;margin-bottom:6px;color:#fff;}
.product-note{display:flex;align-items:center;gap:7px;font-size:12px;color:rgba(255,255,255,.75);background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.25);border-radius:8px;padding:8px 10px;margin-bottom:14px;}
.product-note svg{width:14px;height:14px;color:var(--teal);flex-shrink:0;}
.product-price{display:flex;align-items:baseline;gap:6px;}
.product-price .pp-label{font-size:12px;color:rgba(255,255,255,.6);}
.product-price strong{font-family:var(--display);font-size:26px;color:#fff;}
.product-price .pp-unit{font-size:13px;color:rgba(255,255,255,.6);}

/* ===== PRICING ===== */
.tarifas-section{
  padding-top:0;
  padding-bottom:0;
  background:transparent;
}
.tarifas-banner-wrap{position:relative;margin-bottom:0;}
.tarifas-banner{width:100%;height:auto;display:block;}
.tarifas-head-overlay{position:absolute;top:8%;left:0;right:0;display:flex;justify-content:center;z-index:3;pointer-events:none;}
.tarifas-head-overlay .section-head{margin:0;text-align:center;max-width:none;}

/* Eyebrow badge sólido con shimmer */
.tarifas-head-overlay .section-head .eyebrow{
  display:inline-flex;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, #00cf9f 0%, #00a87e 100%);
  border:none;
  border-radius:999px;
  padding:8px 22px;
  color:#fff;
  font-weight:700;
  letter-spacing:.1em;
  text-shadow:0 1px 3px rgba(0,0,0,.25);
  box-shadow:
    0 4px 14px rgba(0,0,0,.35),
    0 8px 28px rgba(0,0,0,.2),
    0 0 0 3px rgba(0,207,159,.25);
  margin-bottom:14px;
  animation:badgePulse 3s ease-in-out infinite;
}
.tarifas-head-overlay .section-head .eyebrow::before{
  content:"";
  display:block;
  position:absolute;
  top:0;left:-80%;
  width:55%;height:100%;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,255,255,.5) 50%,
    transparent 100%);
  transform:skewX(-15deg);
  animation:badgeShimmer 2.8s ease-in-out infinite;
}
@keyframes badgeShimmer{
  0%{left:-80%;}
  60%,100%{left:160%;}
}
@keyframes badgePulse{
  0%,100%{box-shadow:0 4px 14px rgba(0,0,0,.35),0 8px 28px rgba(0,0,0,.2),0 0 0 3px rgba(0,207,159,.25);}
  50%{box-shadow:0 4px 14px rgba(0,0,0,.35),0 8px 28px rgba(0,0,0,.2),0 0 0 6px rgba(0,207,159,.0),0 0 22px rgba(0,207,159,.5);}
}

/* Título con blanco sólido y acento azul claro */
.tarifas-head-overlay .section-head h2{
  font-family:'Bebas Neue', var(--display);
  font-size:clamp(48px, 6.5vw, 84px);
  font-weight:400;
  letter-spacing:.04em;
  color:#fff;
  -webkit-text-fill-color:#fff;
  -webkit-text-stroke:3px #fff;
  paint-order:stroke fill;
  background:none;
  -webkit-background-clip:unset;
  background-clip:unset;
  filter:none;
  text-shadow:
    0 2px 4px rgba(0,0,0,1),
    0 6px 16px rgba(0,0,0,0.9),
    0 12px 30px rgba(0,0,0,0.85),
    0 20px 50px rgba(0,0,0,0.7);
  line-height:1.1;
  margin-top:10px;
  white-space: nowrap;
}
.tarifas-head-overlay .section-head h2 .title-accent{
  color:#60c8f5;
  -webkit-text-fill-color:#60c8f5;
  -webkit-text-stroke:3px #fff;
  paint-order:stroke fill;
  text-shadow:
    0 2px 4px rgba(0,0,0,1),
    0 6px 16px rgba(0,0,0,0.9),
    0 12px 30px rgba(0,0,0,0.85),
    0 20px 50px rgba(0,0,0,0.7),
    0 0 30px rgba(96,200,245,0.6);
}


.pricing{position:relative;z-index:2;margin-top:-630px;display:grid;grid-template-columns:repeat(2,1fr);max-width:800px;margin-left:auto;margin-right:auto;gap:24px;}
.price-card{
  position:relative;background:#fff;
  border:2px solid rgba(255,255,255,.9);
  border-radius:var(--radius);padding:34px 30px;text-align:center;
  transition:transform .3s var(--ease), box-shadow .3s;
  box-shadow:
    0 0 0 4px rgba(255,255,255,.25),
    0 28px 60px -12px rgba(0,0,0,.55),
    0 8px 20px -6px rgba(0,0,0,.4);
}
.price-card:hover{
  transform:translateY(-8px);
  box-shadow:
    0 0 0 4px rgba(255,255,255,.3),
    0 40px 80px -12px rgba(0,0,0,.65),
    0 12px 30px -6px rgba(0,0,0,.45);
}
[data-tilt]{will-change:transform;}
.price-card.featured{
  background:
    linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.15) 50%, transparent 70%) -200% 0 / 200% 100% no-repeat,
    linear-gradient(160deg,var(--blue),var(--blue-dark));
  border-color:rgba(255,255,255,.5);
  box-shadow:
    0 0 0 4px rgba(255,255,255,.2),
    0 28px 60px -12px rgba(0,0,0,.6),
    0 0 40px rgba(56,189,248,.5),
    0 0 80px rgba(56,189,248,.25);
  animation: cardShimmer 3.5s linear infinite;
}
@keyframes cardShimmer {
  0% { background-position: -200% 0, 0 0; }
  25%, 100% { background-position: 200% 0, 0 0; } /* pauses between shimmers */
}
.price-card.featured *{color:#fff;}
.price-card.featured .tag{
  position:absolute;top:-15px;left:50%;transform:translateX(-50%);white-space:nowrap;
  background:var(--teal);color:#fff;font-size:13px;font-weight:800;letter-spacing:.02em;padding:7px 18px;border-radius:999px;
  box-shadow:0 0 0 3px rgba(56,189,248,.3), 0 0 10px rgba(56,189,248,.7);
  animation:pcTagGlow 2.6s ease-in-out infinite;
}
.price-card .plan{display:flex;align-items:center;justify-content:center;gap:9px;font-size:19px;font-weight:700;color:var(--text-dark);}
.price-card .plan svg{width:22px;height:22px;flex-shrink:0;}
.price-card.featured .plan{color:#fff;}
.price-card .amount{font-family:var(--display);font-size:42px;font-weight:800;margin:12px 0 2px;}
.price-card .amount small{font-size:13px;font-weight:500;color:var(--text);}
.price-card.featured .amount small{color:rgba(255,255,255,.75);}
.price-card ul{margin:22px 0 26px;display:flex;flex-direction:column;gap:12px;text-align:left;}
.price-card li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--text);}
.price-card li svg{width:17px;height:17px;flex-shrink:0;color:var(--blue);margin-top:1px;}
.price-card li strong{color:var(--text-dark);}
.price-card li .li-text{flex:1;min-width:0;}
.price-card li .li-sub{display:block;font-size:0.82em;opacity:.7;margin-top:1px;}
@media(max-width:640px){
  .price-card li{font-size:12.5px;gap:7px;}
  .price-card li .li-text{font-size:10.5px;}
}
.price-card.featured li{color:rgba(255,255,255,.9);}
.price-card.featured li svg{color:rgba(255,255,255,.75);}
.price-card.featured li strong{color:#fff;}
.price-card-pay{margin-top:28px;display:inline-flex;align-items:center;gap:9px;background:#fff;border-radius:999px;padding:8px 18px;box-shadow:0 6px 16px rgba(15,23,42,.14);}
.price-card-pay span{font-size:12px;font-weight:600;color:var(--text-dark);opacity:.65;white-space:nowrap;}
.price-card-pay img{height:22px;width:auto;display:block;}
.price-card.featured .price-card-pay span{color:var(--text-dark) !important;opacity:.65;}
.price-card .btn{position:relative;z-index:1;width:100%;justify-content:center;}
.price-card .btn.btn-glossy{width:auto;max-width:98%;}
/* Botones naranja en ambas tarjetas */
.price-card .btn-outline-blue,
.price-card .btn-amber{
  background:#f97316;
  color:#fff !important;
  border-color:#f97316;
  box-shadow:0 10px 24px -8px rgba(249,115,22,.45);
}
.price-card .btn-outline-blue:hover,
.price-card .btn-amber:hover{
  background:#ea6c0a;
  border-color:#ea6c0a;
  transform:translateY(-2px);
  box-shadow:0 14px 28px -8px rgba(249,115,22,.55);
}
.pc-sparkle{position:absolute;bottom:22px;right:22px;width:20px;height:20px;color:rgba(255,255,255,.55);filter:drop-shadow(0 0 6px rgba(255,255,255,.6));animation:pcSparkle 2.4s ease-in-out infinite;}
@keyframes pcTagGlow{
  0%,100%{box-shadow:0 0 0 3px rgba(56,189,248,.3), 0 0 10px rgba(56,189,248,.7);}
  50%{box-shadow:0 0 0 4px rgba(56,189,248,.18), 0 0 15px rgba(56,189,248,.9);}
}
@keyframes pcSparkle{
  0%,100%{opacity:.5;transform:scale(1);}
  50%{opacity:1;transform:scale(1.15);}
}
.noplan-section{padding:48px 0 40px;background:transparent;}
.noplan-callout{
  position:relative;overflow:hidden;width:100%;
  background:linear-gradient(160deg, var(--blue-deep) 0%, #0c0f2e 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.noplan-callout::before{
  content:"";position:absolute;left:0;right:0;top:-60px;bottom:-60px;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.14) 1.6px, transparent 1.6px);
  background-size:26px 26px;
  transform:translateY(var(--dots-shift, 0px));
  will-change:transform;
}
.noplan-callout::after{
  content:"";position:absolute;z-index:0;pointer-events:none;border-radius:50%;
  top:50%;right:8%;transform:translateY(-50%);
  width:360px;height:360px;
  background:radial-gradient(circle, rgba(0,207,159,.22) 0%, transparent 72%);
  filter:blur(50px);
}
.noplan-callout-inner{
  position:relative;z-index:1;
  padding-top:40px;padding-bottom:40px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.noplan-text{max-width:640px;}
.noplan-text h3{font-family:var(--display);font-size:34px;line-height:1.2;font-weight:800;margin:12px 0 16px;color:#fff;}
.noplan-text p{font-size:17px;line-height:1.55;color:rgba(255,255,255,.65);}
.noplan-callout .eyebrow{font-size:14.5px;}
.noplan-callout .eyebrow::before{display:none;}
.noplan-highlight{color:var(--teal);text-shadow:0 0 24px rgba(0,207,159,.5);}
.noplan-text p strong{color:#fff;}
.noplan-callout .eyebrow,
.noplan-callout .eyebrow::before{color:var(--teal);}
.noplan-callout .eyebrow::before{background:var(--teal);}
.noplan-cta-wrap{position:relative;display:inline-flex;flex-shrink:0;white-space:nowrap;}
.btn-unavailable-badge{
  position:absolute;top:-11px;right:-8px;z-index:2;
  background:var(--teal);color:var(--blue-deep);
  font-size:10.5px;font-weight:700;letter-spacing:.02em;
  padding:4px 11px;border-radius:999px;
  box-shadow:0 4px 10px rgba(0,0,0,.35),0 0 0 2px var(--blue-deep);
  white-space:nowrap;
  pointer-events:none;
  opacity:1;
}
@media (max-width:860px){
  .noplan-callout-inner{flex-direction:column;text-align:center;padding-top:28px;padding-bottom:28px;}
  .noplan-text{max-width:none;}
  .noplan-callout .eyebrow{justify-content:center;}
}

/* ===== FOOTER ===== */
footer{background:var(--blue-deep);padding:76px 0 0;color:rgba(255,255,255,.72);}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px;}
.foot-brand .logo{color:#fff;}
.foot-brand p{color:rgba(255,255,255,.6);font-size:14px;margin:14px 0 6px;max-width:270px;}
.foot-address{color:rgba(255,255,255,.5);font-size:13px;margin:0 0 18px;}
.foot-col h5{color:#fff;font-size:14.5px;font-weight:700;margin-bottom:18px;}
.foot-col a{display:block;font-size:14px;color:rgba(255,255,255,.62);margin-bottom:12px;transition:color .2s;}
.foot-col a:hover{color:#fff;text-shadow:0 0 12px rgba(255,255,255,.6);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;text-align:center;font-size:13px;}
.foot-bottom a{text-decoration:underline;text-underline-offset:2px;opacity:.85;}
.foot-bottom a:hover{opacity:1;}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .hero{padding:130px 0 100px;}
  .hero-actions .btn-outline{background:rgba(255,255,255,.16);border-color:#fff;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 8px 20px -8px rgba(0,0,0,.4);}
  .hero-wave{height:60px;}
  .hero-wrap{flex-direction:column;gap:32px;}
  .hero-content{max-width:100%;}
  .hero-map{width:100%;min-height:260px;}
  .hero-map iframe{min-height:260px;}
  .feat-overlap{margin-top:-70px;}
  .feat-cards{grid-template-columns:1fr;}
  .feat-card{padding:20px 20px;}
  .feat-card .ic-wrap{width:48px;height:48px;margin-bottom:12px;}
  .feat-card .ic-wrap svg{width:26px;height:26px;}
  .feat-card h3{font-size:14.5px;margin-bottom:6px;white-space:nowrap;}
  .feat-card p{font-size:15px;margin-bottom:10px;}
  .booking-card{grid-template-columns:1fr;gap:36px;}
  .booking-collage{display:none;}
  /* La foto pasa a cubrir TODA la sección (título + ambos planes),
     no solo el título — se convierte en fondo absoluto de la sección
     y las cards flotan encima, en vez del recorte con overlap fijo
     en px que se usa en escritorio. */
  .tarifas-section{position:relative;padding-bottom:20px;overflow:hidden;margin-top:-60px;}
  /* estacionamiento4.1.jpg trae las esquinas recortadas en blanco (para
     el corte diagonal de escritorio) — al estirarla object-fit:cover en
     una sección mucho más alta (2 tarjetas apiladas), esas esquinas
     blancas quedan expuestas. En mobile se usa una foto rectangular
     normal como fondo en su lugar. */
  .tarifas-banner-wrap{position:absolute;inset:0;height:100%;z-index:0;background-image:url('/img/landing/estacionamiento-1.jpg');background-size:cover;background-position:center;clip-path:polygon(0% 4%, 50% 0%, 100% 4%, 100% 100%, 0% 100%);}
  .tarifas-banner-wrap .tarifas-banner{display:none;}
  /* Mismo tratamiento oscuro + puntitos que el fondo del hero, para que
     se sienta parte de la misma familia visual. */
  .tarifas-banner-wrap::before{
    content:"";position:absolute;inset:0;z-index:0;
    background:
      linear-gradient(to top, var(--blue-deep) 0, rgba(31,10,78,.7) 55px, rgba(31,10,78,.35) 115px, rgba(31,10,78,0) 190px),
      linear-gradient(180deg, var(--blue-deep) 0%, rgba(22,28,69,.55) 30%, rgba(22,28,69,.35) 60%, var(--blue-deep) 100%);
  }
  .tarifas-banner-wrap::after{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:radial-gradient(rgba(255,255,255,.18) 1.6px, transparent 1.6px);
    background-size:26px 26px;
  }
  .tarifas-head-overlay,.pricing{z-index:1;}
  .tarifas-head-overlay{position:relative;top:0;padding:40px 0 0;}
  .pricing{position:relative;grid-template-columns:1fr;margin-top:220px;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .topbar .left span:last-child{display:none;}
  .topbar .wrap{flex-wrap:nowrap;}
  .products-grid{grid-template-columns:1fr;}
  .detail-lower{grid-template-columns:1fr;gap:28px;}
  .detail-lower-photo{display:none;}
  .tarifas-head-overlay .section-head h2{white-space:normal;font-size:clamp(48px,13vw,68px);padding:0 16px;}
  .tarifas-head-overlay .section-head h2 .title-accent{display:block;}
  .noplan-section{padding:0px 0 40px;}
}
@media (max-width:640px){
  .nav-links{position:absolute;top:100%;left:0;right:0;background:var(--blue-deep);flex-direction:column;padding:22px 24px;gap:18px;box-shadow:0 24px 40px rgba(10,8,30,.5);transform:translateY(-8px);opacity:0;pointer-events:none;transition:.25s var(--ease);border-top:1px solid rgba(255,255,255,.08);border-bottom-left-radius:24px;border-bottom-right-radius:24px;}
  .nav-links a{color:rgba(255,255,255,.85);text-shadow:none;font-size:16px;text-align:center;padding:8px 0;}
  .nav-links a:hover{color:#fff;}
  .nav-links a::after{display:none;}
  nav.open .nav-links{transform:translateY(0);opacity:1;pointer-events:auto;}
  .burger{display:flex;}
  .nav-cta .nav-phone{display:none;}
  .booking-fields{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;gap:32px;}
  .topbar .left{gap:14px;}
  .topbar .wrap{padding:0 14px;}
  .topbar{font-size:9.5px;}
  .topbar svg{width:11px;height:11px;}
  .topbar .left span{gap:4px;white-space:nowrap;}
  .ds-fields{flex-direction:column;align-items:stretch;}
  .ds-search-btn{width:100%;justify-content:center;}
  /* .gc-item.is-active mide 430px fijo — más ancho que la pantalla, así
     que sus esquinas redondeadas quedaban recortadas fuera de vista. La
     achicamos para que se vea completa con sus esquinas, aunque las
     imágenes de al lado queden tapadas (no importa en celular). */
  .gc-track-wrap{height:230px;}
  .gc-item.is-active{width:300px;height:205px;margin-left:-150px;margin-top:-102px;}
  .booking-section{padding:40px 0 60px;}
  /* El título "Planes" (imagen) trae su tamaño fijo por estilo inline
     (max-height:300px) pensado para desktop — en celular ocupa demasiado
     alto antes de llegar a las tarjetas de tarifas. Se achica solo acá. */
  .tarifas-head-overlay .section-head h2 img{max-height:320px !important;margin-top:-50px !important;margin-bottom:12px !important;}
}


.nav-socials { display: flex; align-items: center; gap: 14px; margin-right: 14px; }
.nav-socials a { display: flex; align-items: center; color: rgba(255,255,255,.8); transition: color .2s var(--ease), transform .2s var(--ease); }
.nav-socials a:hover { color: #fff; transform: translateY(-2px); }
.nav-socials svg { width: 17px; height: 17px; }
@media (max-width: 992px) {
  .nav-socials { margin-right: 0; }
}
@keyframes swing-clock {
  0%, 100% { transform: rotate(-10deg); }
  50% { transform: rotate(10deg); }
}
@keyframes float-cal {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  33% { transform: translateY(-4px) rotate(3deg); }
  66% { transform: translateY(-2px) rotate(-3deg); }
}
@keyframes bounce-pin {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

.feat-card:nth-child(1) .ic-wrap svg {
  transform-origin: top center;
  animation: swing-clock 3s ease-in-out infinite;
}
.feat-card:nth-child(2) .ic-wrap svg {
  animation: float-cal 4s ease-in-out infinite;
}
.feat-card:nth-child(3) .ic-wrap svg {
  animation: bounce-pin 2s ease-in-out infinite;
}

