/* =========================================================================
   Casa de Yoli — Portada rediseño (Nivel 2)
   Estilos namespaced con prefijo .cdy- para no chocar con Bootstrap/OnePress.
   Fase 1 (maquetado). Imágenes y textos provisionales se afinan en fases 2-6.
   ========================================================================= */

:root{
  --cdy-teal:#0c8ea0; --cdy-teal-d:#0a7383; --cdy-sand:#f6f1e9;
  --cdy-ink:#16282b; --cdy-muted:#5f7274; --cdy-line:#e7ecec;
}

/* Reset acotado al landing */
.cdy-page *{box-sizing:border-box;margin:0;padding:0}
.cdy-page{font-family:'Open Sans',sans-serif;color:var(--cdy-ink);line-height:1.7;background:#fff}
.cdy-page h1,.cdy-page h2,.cdy-page h3{font-family:'Raleway',sans-serif}
.cdy-page img{max-width:100%}
.cdy-in{max-width:1180px;margin:0 auto}

/* Barra superior sticky */
.cdy-bar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--cdy-line)}
.cdy-bar .cdy-in{padding:15px 24px;display:flex;align-items:center;justify-content:space-between}
.cdy-brand{font-family:'Raleway';font-weight:900;font-size:21px;color:var(--cdy-ink);text-decoration:none}
.cdy-brand span{color:var(--cdy-teal)}
.cdy-nav{display:flex;gap:24px;align-items:center;font-weight:600;font-size:14px;color:#46504f}
.cdy-nav a{color:inherit;text-decoration:none}
.cdy-nav .cdy-btn{background:var(--cdy-teal);color:#fff;padding:10px 18px;border-radius:999px;font-weight:700}
@media(max-width:820px){.cdy-nav a:not(.cdy-btn):not(.cdy-lang-link){display:none}}
/* Selector de idioma EN/ES */
.cdy-lang{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:700}
.cdy-lang-link{color:#9aa7a6;text-decoration:none;padding:4px 7px;border-radius:6px;line-height:1}
.cdy-lang-link.is-active{color:var(--cdy-teal);background:#e7f6f4}
.cdy-lang-link:hover{color:var(--cdy-teal)}

/* Botones */
.cdy-btn{display:inline-block;text-decoration:none;cursor:pointer;border:0;font-family:'Raleway';transition:.15s}
.cdy-btn-lg{background:var(--cdy-teal);color:#fff;padding:15px 30px;border-radius:999px;font-weight:700;font-size:16px}
.cdy-btn-lg:hover{background:var(--cdy-teal-d);transform:translateY(-2px);color:#fff}

/* Hero */
.cdy-hero{position:relative;min-height:88vh;display:flex;align-items:center;color:#fff;background-size:cover;background-position:center;
  background-image:linear-gradient(105deg,rgba(8,30,33,.78) 30%,rgba(8,30,33,.15))}
.cdy-hero .cdy-in{padding:24px}
.cdy-hero .cdy-h{max-width:620px}
.cdy-kick{letter-spacing:.32em;text-transform:uppercase;font-size:13px;font-weight:700;color:#7fe3d6}
.cdy-hero h1{font-weight:900;font-size:clamp(36px,6.4vw,64px);line-height:1.05;margin:16px 0 18px;color:#fff}
.cdy-hero p{font-size:19px;opacity:.92;margin-bottom:30px;max-width:520px}
.cdy-stats{display:flex;gap:34px;margin-top:34px;flex-wrap:wrap}
.cdy-stats .cdy-s b{font-family:'Raleway';font-weight:800;font-size:26px;display:block}
.cdy-stats .cdy-s span{font-size:13px;opacity:.8;letter-spacing:.05em}

/* Secciones */
.cdy-page section{padding:96px 24px}
.cdy-sec-head{text-align:center;max-width:660px;margin:0 auto 60px}
.cdy-sec-head .cdy-kick{color:var(--cdy-teal);letter-spacing:.24em;text-transform:uppercase;font-size:13px;font-weight:700}
.cdy-sec-head h2{font-size:38px;font-weight:800;margin:10px 0 12px}
.cdy-sec-head p{color:var(--cdy-muted)}

/* Unidades */
.cdy-unit-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-bottom:86px}
.cdy-unit-row:last-child{margin-bottom:0}
.cdy-unit-row.cdy-rev .cdy-media{order:2}
@media(max-width:880px){.cdy-unit-row{grid-template-columns:1fr;gap:26px}.cdy-unit-row.cdy-rev .cdy-media{order:0}}
.cdy-media{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(14,60,55,.18)}
/* Slideshow rotatorio por unidad */
.cdy-slides{position:relative;width:100%;height:420px}
.cdy-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity 1s ease}
.cdy-slide.is-active{opacity:1}
.cdy-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;gap:8px;justify-content:center;z-index:2}
.cdy-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.2s;cursor:pointer}
.cdy-dot.is-active{background:#fff;transform:scale(1.25)}
.cdy-badge{position:absolute;top:16px;left:16px;z-index:3;background:#fff;color:var(--cdy-ink);font-family:'Raleway';font-weight:800;padding:8px 16px;border-radius:999px;font-size:14px}
.cdy-badge b{color:var(--cdy-teal)}
.cdy-u-info h3{font-size:30px;font-weight:800;margin-bottom:10px}
.cdy-u-info .cdy-desc{color:var(--cdy-muted);margin-bottom:22px}
.cdy-amen{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-bottom:28px}
.cdy-amen .cdy-a{display:flex;align-items:center;gap:10px;font-size:15px;color:#33474a}
.cdy-amen .cdy-ic{width:38px;height:38px;border-radius:10px;background:#e7f6f4;color:var(--cdy-teal);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}

/* Reseñas */
.cdy-reviews{background:var(--cdy-sand)}
/* Carrusel de reseñas: fila de 3 deslizable (swipe/scroll-snap) + flechas + dots */
.cdy-rev-carousel{position:relative;display:flex;align-items:center;gap:10px}
.cdy-rev-track{display:flex;gap:24px;flex:1;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px 2px}
.cdy-rev-track::-webkit-scrollbar{display:none}
.cdy-rev-track .cdy-rcard{flex:0 0 calc((100% - 48px) / 3);scroll-snap-align:start}
@media(max-width:880px){.cdy-rev-track .cdy-rcard{flex:0 0 86%}}
.cdy-rev-arrow{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--cdy-teal);box-shadow:0 4px 14px rgba(20,60,55,.15);font-size:24px;line-height:0;cursor:pointer;font-family:'Raleway';transition:.15s}
.cdy-rev-arrow:hover{background:var(--cdy-teal);color:#fff;transform:scale(1.06)}
@media(max-width:880px){.cdy-rev-arrow{display:none}}
.cdy-rev-dots{display:flex;gap:8px;justify-content:center;margin-top:24px}
.cdy-rev-dots .cdy-rdot{width:9px;height:9px;border-radius:50%;background:#cdd9d8;border:0;padding:0;cursor:pointer;transition:.2s}
.cdy-rev-dots .cdy-rdot.is-active{background:var(--cdy-teal);transform:scale(1.25)}
.cdy-rcard{background:#fff;border-radius:16px;padding:26px;box-shadow:0 8px 26px rgba(20,60,55,.06);display:flex;flex-direction:column}
.cdy-rcard .cdy-stars{color:#f4b400;letter-spacing:2px;margin-bottom:10px}
/* Recorta reseñas largas a 6 líneas para igualar altura de tarjetas */
.cdy-rcard p{font-size:15px;color:#3a4c4e;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.cdy-who{display:flex;align-items:center;gap:12px;margin-top:auto}
.cdy-av{width:40px;height:40px;border-radius:50%;background:var(--cdy-teal) center/cover no-repeat;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Raleway';font-weight:800;flex:none}
.cdy-who b{display:block;font-size:14px}.cdy-who span{font-size:12px;color:#90a0a1}
.cdy-glabel{text-align:center;margin-top:30px;color:#90a0a1;font-size:13px}

/* Galería mosaico */
.cdy-gal-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:130px;gap:12px}
.cdy-gal-grid img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}
.cdy-gal-grid .cdy-big{grid-column:span 2;grid-row:span 2}
@media(max-width:880px){.cdy-gal-grid{grid-template-columns:repeat(2,1fr)}.cdy-gal-grid .cdy-big{grid-column:span 2}}

/* CTA */
.cdy-cta{background:linear-gradient(120deg,#0c8ea0,#14b3a2);color:#fff;text-align:center}
.cdy-cta h2{font-size:36px;font-weight:900;margin-bottom:12px;color:#fff}
.cdy-cta p{opacity:.92;margin-bottom:26px}
.cdy-cta .cdy-btn-lg{background:#fff;color:var(--cdy-teal-d)}
.cdy-cta .cdy-btn-lg:hover{color:var(--cdy-teal-d)}

/* Footer del landing */
.cdy-footer{background:#0e1f22;color:#9fb4b3;text-align:center;padding:56px 24px;font-size:14px}

/* Barra fija de reserva (móvil/desktop) */
.cdy-stickybook{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#0e1f22;color:#fff;display:flex;align-items:center;justify-content:center;gap:18px;padding:14px;flex-wrap:wrap;font-family:'Raleway'}
.cdy-stickybook b{font-weight:800}
.cdy-stickybook .cdy-btn-lg{padding:11px 24px;font-size:14px}
/* Espacio para que la barra fija no tape el footer */
.cdy-page{padding-bottom:72px}

/* Respeto a la admin bar de WP */
.admin-bar .cdy-bar{top:32px}
@media(max-width:782px){.admin-bar .cdy-bar{top:46px}}
