/* ==========================================================================
   CUBA WITH YOYO — PREMIUM LAYER v1 (21/10/2026)
   Vanilla-CSS adaptations of open patterns (Magic UI / Aceternity / Uiverse):
   Magic Card spotlight · Border Beam · Shimmer Button · Blur-Fade reveal ·
   Animated Shiny (gold) Text · animated nav underlines.
   Brand tokens: azur cielo-mar + oro pleno (hoja de marca v3).
   No layout properties are animated -> no layout shift. Everything is
   disabled or neutralised under prefers-reduced-motion.
   ========================================================================== */

:root{
  --p-gold:#C9A227;
  --p-gold-bright:#D4AF37;
  --p-gold-pale:#F7E7A0;
  --p-gold-deep:#8A6A1F;
  --p-azur:#2389CE;
  --p-azur-deep:#1668A8;
  --p-azur-shadow:#063A5E;
  --p-ease:cubic-bezier(.22,.61,.36,1);
  --p-shadow-lift:0 24px 48px -16px rgba(6,58,94,.22),0 8px 20px -8px rgba(6,58,94,.12);
}

/* ---- Global polish: selection + impeccable focus ----------------------- */
::selection{background:rgba(212,175,55,.38);color:#1b1c1a}
a,button,input,select,textarea,[tabindex]{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid rgba(201,162,39,.85);outline-offset:3px;border-radius:4px}

/* ---- Header gains depth once the page scrolls -------------------------- */
header.p-scrolled{
  box-shadow:0 18px 40px -12px rgba(6,58,94,.25),0 4px 14px -6px rgba(6,58,94,.12)!important;
  border-color:rgba(201,162,39,.35)!important;
}

/* ---- Reveal on scroll: blur -> sharp + fade, once (Blur Fade pattern) -- */
@media (prefers-reduced-motion: no-preference){
  html.p-js .p-reveal{
    opacity:0;
    transform:translateY(18px);
    filter:blur(8px);
    transition:
      opacity .85s var(--p-ease),
      transform .85s var(--p-ease),
      filter .85s var(--p-ease);
    transition-delay:var(--p-delay,0ms);
    will-change:opacity,transform,filter;
  }
  html.p-js .p-reveal.p-in{opacity:1;transform:translateY(0);filter:blur(0)}
}

/* ---- Cards: lift + soft shadow + spotlight + travelling gold beam ----- */
.p-card:not(.absolute):not(.fixed):not(.sticky){position:relative}
.p-card{
  transition:transform .55s var(--p-ease),box-shadow .55s var(--p-ease),border-color .55s var(--p-ease);
}
.p-card::before{ /* spotlight that follows the cursor (Magic Card) */
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;
  background:radial-gradient(520px circle at var(--p-mx,50%) var(--p-my,50%),
    rgba(212,175,55,.16),rgba(35,137,206,.07) 42%,transparent 65%);
  opacity:0;transition:opacity .45s ease;
}
.p-card:hover::before,.p-card:focus-within::before{opacity:1}
@property --p-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes p-beam-spin{to{--p-angle:360deg}}
.p-card::after{ /* border beam: a gold ray travelling the edge (Border Beam) */
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.2px;pointer-events:none;z-index:2;
  background:conic-gradient(from var(--p-angle,0deg) at 50% 50%,
    transparent 0deg,transparent 262deg,
    rgba(201,162,39,.55) 302deg,rgba(247,231,160,.95) 326deg,rgba(201,162,39,.55) 348deg,
    transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity .4s ease;
}
.p-card:hover::after,.p-card:focus-within::after{
  opacity:1;animation:p-beam-spin 3.4s linear infinite;
}
.p-card:hover{border-color:rgba(201,162,39,.45)}
.p-card:not(.fixed):not(.absolute):not(.sticky):hover{
  transform:translateY(-6px);
  box-shadow:var(--p-shadow-lift);
}
section.p-card:hover{transform:none} /* giant glass sections: light, no lift */
/* content photo zoom, contained by the card's overflow */
.p-card img.object-cover{transition:transform 1.1s var(--p-ease)}
.p-card:hover img.object-cover{transform:scale(1.06)}

/* ---- Buttons / CTA: shine sweep (Shimmer Button) + lift ---------------- */
.p-btn{position:relative;overflow:hidden;isolation:isolate;
  transition:transform .35s var(--p-ease),box-shadow .35s var(--p-ease),background-color .3s ease,color .3s ease;
}
.p-btn::after{
  content:"";position:absolute;inset:-2px;z-index:1;pointer-events:none;
  background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.5) 50%,transparent 68%);
  transform:translateX(-130%) skewX(-8deg);
}
@keyframes p-shine{
  0%{transform:translateX(-130%) skewX(-8deg)}
  14%,100%{transform:translateX(130%) skewX(-8deg)}
}
@media (prefers-reduced-motion: no-preference){
  .p-btn::after{animation:p-shine 5.2s var(--p-ease) infinite}
  .p-btn:hover{transform:translateY(-2px);
    box-shadow:0 16px 32px -10px rgba(22,104,168,.5),0 6px 16px -6px rgba(6,58,94,.25)}
  .p-btn:active{transform:translateY(0)}
}
.p-btn:focus-visible{outline:2px solid rgba(201,162,39,.9);outline-offset:3px}

/* ---- Nav / inline links: gold underline that grows --------------------- */
.p-link{
  background-image:linear-gradient(90deg,var(--p-gold-deep),var(--p-gold-bright),var(--p-gold-pale));
  background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .38s var(--p-ease),color .3s ease;
  padding-bottom:2px;
}
.p-link:hover,.p-link:focus-visible{background-size:100% 2px}

/* ---- Shiny gold gradient text (Animated Shiny Text, brand gold) -------- */
.p-gold{
  background:linear-gradient(110deg,var(--p-gold-deep) 0%,var(--p-gold) 28%,var(--p-gold-pale) 50%,var(--p-gold) 72%,var(--p-gold-deep) 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
@keyframes p-gold-pan{to{background-position:-220% 0}}
@media (prefers-reduced-motion: no-preference){
  .p-gold{animation:p-gold-pan 7s linear infinite}
}

/* ---- Reduced motion: calm everything down ------------------------------ */
@media (prefers-reduced-motion: reduce){
  .p-card,.p-card:hover,.p-btn,.p-btn:hover{transform:none!important;box-shadow:inherit}
  .p-card::after,.p-btn::after{display:none}
  .p-card img.object-cover{transition:none}
  .p-link{transition:none}
}

/* ==========================================================================
   PREMIUM LAYER v2 — AJUSTE DEL DUEÑO (21/10/2026, misión 27)
   Card media headers · equal-height card grids · brand contact buttons ·
   booking chips. Palette: azur cielo-mar + oro + marfil + negro (sin rojo).
   ========================================================================== */
.cwy-media{
  margin:-1.5rem -1.5rem 1.1rem;aspect-ratio:4/3;overflow:hidden;position:relative;
  border-radius:1.35rem 1.35rem 0 0;flex:none;
}
.cwy-media img{width:100%;height:100%;object-fit:cover;display:block}
.cwy-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,58,94,0) 55%,rgba(6,58,94,.28) 100%)}
.cwy-media-lg{margin:-2rem -2rem 1.25rem;height:11rem}
@media (max-width:640px){.cwy-media-lg{height:10rem}}
.cwy-card{display:flex!important;flex-direction:column;height:100%}
.cwy-card .cwy-foot{margin-top:auto;padding-top:1rem;display:flex;align-items:center;
  justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.cwy-grid{align-items:stretch}
.cwy-grid>*{height:100%}
.cwy-book{
  display:inline-flex;align-items:center;gap:.45rem;flex:none;
  background:linear-gradient(135deg,#063A5E 0%,#1668A8 100%);
  color:#F7F3E8!important;border:1px solid rgba(201,162,39,.75);
  border-radius:999px;padding:.5rem 1.05rem;
  font-family:'Oswald',sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;text-decoration:none;
  box-shadow:0 10px 22px -10px rgba(6,58,94,.55);
  transition:transform .3s var(--p-ease),box-shadow .3s var(--p-ease);
}
.cwy-book:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(6,58,94,.6)}
.cwy-book .material-symbols-outlined{font-size:16px;color:#D4AF37}
.cwy-contact-btn{
  background:linear-gradient(135deg,#063A5E 0%,#1668A8 100%)!important;
  border:1.5px solid rgba(201,162,39,.8)!important;
  box-shadow:0 18px 36px -14px rgba(6,58,94,.55)!important;
}
.cwy-contact-btn h3,.cwy-contact-btn p,.cwy-contact-btn span{color:#F7F3E8!important}
.cwy-contact-btn .cwy-wa-ic{color:#D4AF37!important}
.cwy-chip{
  display:inline-flex;align-items:center;gap:.5rem;
  background:linear-gradient(135deg,#063A5E,#1668A8);color:#F7F3E8!important;
  border:1px solid rgba(201,162,39,.75);border-radius:999px;
  padding:.55rem 1.15rem;font-weight:600;text-decoration:none;
  box-shadow:0 10px 22px -10px rgba(6,58,94,.5);
}
.cwy-chip svg{width:17px;height:17px;fill:#D4AF37;flex:none}
.cwy-chip .material-symbols-outlined{font-size:17px;color:#D4AF37}
.cwy-offer{
  display:flex;gap:.8rem;align-items:flex-start;
  background:linear-gradient(120deg,rgba(6,58,94,.96),rgba(22,104,168,.94));
  border:1px solid rgba(201,162,39,.8);border-radius:1.1rem;
  padding:1rem 1.2rem;color:#F7F3E8;
}
.cwy-offer .material-symbols-outlined{color:#D4AF37;font-size:26px;flex:none;margin-top:2px}
.cwy-offer strong{color:#F7E7A0}
.cwy-tour-chip{
  border:1.5px solid rgba(22,104,168,.45);background:rgba(255,255,255,.75);
  color:#063A5E;border-radius:999px;padding:.42rem .95rem;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.83rem;font-weight:600;
  transition:all .25s var(--p-ease);
}
.cwy-tour-chip:hover{border-color:#C9A227}
.cwy-tour-chip[aria-pressed="true"]{
  background:linear-gradient(135deg,#063A5E,#1668A8);color:#F7F3E8;border-color:#C9A227;
}
html,body{overflow-x:clip}
img,video,iframe{max-width:100%}
@media (max-width:400px){.cwy-offer{flex-direction:column}}

/* ==========================================================================
   PREMIUM LAYER v3 — MISIÓN DUEÑO 21/10/2026 (feedback): tarjetas uniformes,
   selector de idioma funcional, flotantes WhatsApp + música, banda CTA.
   ========================================================================== */
.cwy-card>p{flex:1 1 auto}
.cwy-lang{display:inline-flex;align-items:center;gap:.15rem;background:rgba(247,243,232,.8);
  border:1px solid rgba(201,162,39,.65);border-radius:999px;padding:.22rem;
  font-family:'Oswald',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.05em}
.cwy-lang a{color:#063A5E;text-decoration:none;padding:.18rem .55rem;border-radius:999px;line-height:1}
.cwy-lang a:hover{color:#1668A8}
.cwy-lang a.cwy-lang-on{background:linear-gradient(135deg,#063A5E,#1668A8);color:#F7F3E8!important}
.cwy-lang svg{margin:0 .05rem 0 .3rem;flex:none}
.cwy-lang .cwy-lang-sep{color:rgba(6,58,94,.35);font-size:.65rem}
.cwy-wa-float{position:fixed;right:1.1rem;bottom:1.1rem;z-index:65;width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,#063A5E,#1668A8);border:1.5px solid rgba(201,162,39,.85);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 30px -10px rgba(6,58,94,.55);transition:transform .3s ease}
.cwy-wa-float:hover{transform:translateY(-3px)}
.cwy-wa-float svg{width:29px;height:29px;fill:#F7F3E8}
.cwy-music-float{position:fixed;left:1.1rem;bottom:1.1rem;z-index:65}
.cwy-music-btn{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;
  background:linear-gradient(135deg,rgba(6,58,94,.96),rgba(22,104,168,.94));color:#F7F3E8;
  border:1.5px solid rgba(201,162,39,.85);border-radius:999px;padding:.6rem 1.05rem;
  font-family:'Oswald',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  box-shadow:0 14px 30px -12px rgba(6,58,94,.55);transition:transform .3s ease}
.cwy-music-btn:hover{transform:translateY(-2px)}
.cwy-music-btn svg{width:17px;height:17px;fill:#D4AF37;flex:none}
.cwy-music-btn.is-playing svg{fill:#F7E7A0}
.cwy-music-dot{width:7px;height:7px;border-radius:50%;background:#D4AF37;flex:none}
.cwy-music-btn.is-playing .cwy-music-dot{animation:cwy-pulse 1.2s ease-in-out infinite}
@keyframes cwy-pulse{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion: reduce){.cwy-music-btn.is-playing .cwy-music-dot{animation:none}}
.cwy-cta-band{position:relative;overflow:hidden;border-radius:1.5rem;
  background:linear-gradient(120deg,rgba(6,58,94,.97),rgba(22,104,168,.95));
  border:1px solid rgba(201,162,39,.8);padding:2.2rem 2rem;text-align:center;color:#F7F3E8}
.cwy-cta-band h2,.cwy-cta-band h3{color:#F7F3E8}
.cwy-cta-band p{color:rgba(247,243,232,.88)}
.cwy-cta-row{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.4rem}
.cwy-cta-btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.7rem 1.5rem;
  font-family:'Oswald',sans-serif;font-size:.88rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  text-decoration:none;transition:transform .3s ease}
.cwy-cta-btn:hover{transform:translateY(-2px)}
.cwy-cta-btn-solid{background:#F7F3E8;color:#063A5E!important;border:1px solid #F7F3E8}
.cwy-cta-btn-line{background:transparent;color:#F7F3E8!important;border:1.5px solid rgba(201,162,39,.9)}
.cwy-cta-btn svg{width:17px;height:17px;fill:#C9A227;flex:none}
.cwy-cta-btn-solid svg{fill:#063A5E}

.cwy-hero-wa{display:inline-flex}.cwy-hero-wa svg{width:19px;height:19px;fill:#063A5E}
