/* ============================================================
   YOMO — CSS consolidado (child theme de Hello).
   Migrado del snippet "css" (ID 6) de Code Snippets, 2026-06-04.
   Se encola desde functions.php. CSS puro (sin <style> ni PHP).
   ============================================================ */
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
   display: none!important;
}
.jet-button__instance { border-radius: 15px; }
.swiper-pointer-events { padding-bottom: 35px!important; }
.jet-listing-grid__slider-icon.next-arrow, .jet-listing-grid__slider-icon.prev-arrow { border-radius: 25px; }
@media (max-width: 768px) {
  .bcbb, .bcbb--show button.bcbb__close { margin-top: 30px!important; }
}
.elementor-element .swiper .elementor-swiper-button svg { background-color: #00DADF; border-radius: 25px; padding: 3px; }
.jet-mega-menu.jet-mega-menu--layout-horizontal .jet-mega-menu-mega-container__inner { background-color: #000; }

/* ── Contenido rico páginas tipo de hotel ── */
.yomo-content-rico h2 { font-size: 1.4rem; font-weight: 700; color: #111418; margin: 2rem 0 0.75rem; padding-bottom: 0.5rem; border-bottom: 2px solid #00C4CC; letter-spacing: -0.02em; line-height: 1.2; }
.yomo-content-rico h3 { font-size: 1.1rem; font-weight: 600; color: #00a8af; margin: 1.5rem 0 0.5rem; letter-spacing: -0.01em; }
.yomo-content-rico p { font-size: 0.95rem; line-height: 1.75; color: #3d4550; margin-bottom: 0.75rem; }
.yomo-content-rico ul { margin: 0.75rem 0 1rem 0; list-style: none; padding: 0; }
.yomo-content-rico ul li { font-size: 0.95rem; line-height: 1.7; color: #3d4550; padding: 0.4rem 0 0.4rem 1.5rem; position: relative; border-bottom: 1px solid rgba(0,0,0,0.05); }
.yomo-content-rico ul li::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 6px; height: 6px; border-radius: 50%; background: #00C4CC; }
.yomo-content-rico strong { font-weight: 700; color: #111418; }
.elementor-widget-jet-listing-grid { width: 100%; flex-grow: 1; }

/* ── Distancias ficha hotel ── */
.yomo-distancias { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.yomo-distancia-item { display: flex; align-items: center; gap: 12px; font-size: 14px; color: #555; line-height: 1.4; }
.yomo-distancia-icon { width: 28px; height: 28px; background: #F0FAFA; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.yomo-distancia-icon i { font-size: 15px; color: #1BBFBF; }
.yomo-distancia-text strong { color: #1a1a1a; font-weight: 600; margin-right: 6px; }
.yomo-distancia-val { color: #888; }

/* ── Servicios ficha hotel ── */
.yomo-servicios { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.yomo-servicios-grupo-title { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #1BBFBF; margin-bottom: 10px; padding-bottom: 5px; border-bottom: 2px solid #e0f5f5; }
.yomo-servicios-list { list-style: none; display: flex; flex-direction: column; gap: 5px; }
.yomo-servicio-item { display: flex; align-items: center; gap: 5px; font-size: 14px; color: #555; }
.yomo-servicio-icon { width: 26px; height: 26px; background: #F0FAFA; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.yomo-servicio-icon i { font-size: 13px; color: #1BBFBF; }
@media (max-width: 768px) { .yomo-servicios { grid-template-columns: 1fr; gap: 24px; } }
.yomo-servicio-item--no span:last-child { text-decoration: line-through; color: #bbb; }
.yomo-servicio-icon--no { background: #f5f5f5 !important; }
.yomo-servicio-icon--no i { color: #ccc !important; }

/* ── Galería Descúbrenos ── */
.yomo-galeria-wrap { width: 100%; max-width: 100%; }
.yomo-gallery-grid { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 260px 260px; gap: 12px; border-radius: 12px; overflow: hidden; width: 100%; }
.yomo-gal-item { position: relative; overflow: hidden; background: #ccc; display: block; }
.yomo-gal-item.yomo-gal-main { grid-row: 1 / 3; }
.yomo-gal-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.32,.72,0,1); }
.yomo-gal-item:hover img { transform: scale(1.05); }
.yomo-gal-more-badge { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.45); color: #fff; font-size: 18px; font-weight: 600; backdrop-filter: blur(2px); }
.yomo-gal-hidden { display: none; }
.yomo-gal-btn-all { margin-top: 20px; display: inline-flex !important; align-items: center !important; gap: 8px; background: #1BBFBF !important; color: #fff !important; border: none !important; border-radius: 9999px !important; padding: 13px 24px !important; font-family: inherit; font-size: 14px !important; font-weight: 600 !important; cursor: pointer; text-decoration: none; transition: background .2s, transform .15s; }
.yomo-gal-btn-all:hover { background: #178f8f !important; }
@media (min-width: 769px) and (max-width: 1024px) { .yomo-gallery-grid { grid-template-rows: 200px 200px; } }
@media (max-width: 768px) { .yomo-gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 240px 160px; } .yomo-gal-item.yomo-gal-main { grid-row: 1 / 2; grid-column: 1 / 3; } }

/* YOMO — galería de habitación en card (imagen destacada clicable → GLightbox). */

/* Card habitación — altura fija para la galería, recorta verticales y horizontales por igual */
.jet-engine-gallery-slider__item-img{
  height: 240px;            /* alto fijo: ajusta a tu gusto (220-280px típico) */
  object-fit: cover;        /* rellena y recorta sin deformar */
  object-position: center;
  width: 100%;
  display: block;
}

.jet-engine-gallery-slider__item,
.jet-engine-gallery-slider__item-wrap{
  height: 240px;
}
.jet-engine-gallery-slider__item-img img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}


/* ── Contact widgets (yh-) ── */
.yh-wrap { font-family: 'Outfit', 'Poppins', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.yh-wrap *, .yh-wrap *::before, .yh-wrap *::after { box-sizing: border-box; margin: 0; padding: 0; }
.yh-block { background: #fff; border-radius: 16px; border: 1px solid rgba(0,0,0,0.07); box-shadow: 0 1px 4px rgba(0,0,0,0.06); overflow: hidden; }
.yh-header { padding: 16px 20px 14px; border-bottom: 1px solid rgba(0,0,0,0.07); display: flex; align-items: center; gap: 9px; }
.yh-header i { font-size: 16px; color: #1BBFBF; }
.yh-header-title { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #888; }
.yh-list { display: flex; flex-direction: column; }
.yh-item { display: flex; align-items: center; justify-content: space-between; padding: 13px 20px; border-bottom: 1px solid rgba(0,0,0,0.07); gap: 12px; transition: background .15s; }
.yh-item:last-child { border-bottom: none; }
.yh-item:hover { background: #F7F7F7; }
.yh-name { font-size: 13px; font-weight: 600; color: #1a1a1a; white-space: nowrap; }
.yh-name span { font-size: 11px; font-weight: 500; color: #888; display: block; margin-top: 1px; }
.yh-actions { display: flex; gap: 6px; align-items: center; flex-shrink: 0; }
.yh-btn { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 500; color: #555; text-decoration: none; padding: 5px 10px; border-radius: 9999px; border: 1px solid rgba(0,0,0,0.07); background: #fff; transition: all .18s; white-space: nowrap; font-family: inherit; }
.yh-btn i { font-size: 13px; color: #1BBFBF; }
.yh-btn:hover { border-color: #1BBFBF; color: #1BBFBF; background: #F0FAFA; }
.yh-item--special { align-items: flex-start; gap: 14px; padding: 16px 20px; }
.yh-special-icon { width: 36px; height: 36px; border-radius: 9999px; background: #F0FAFA; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.yh-special-icon i { font-size: 17px; color: #1BBFBF; }
.yh-special-info { display: flex; flex-direction: column; gap: 2px; }
.yh-special-label { font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #888; }
.yh-special-value { font-size: 13px; font-weight: 600; color: #1a1a1a; text-decoration: none; transition: color .2s; }
.yh-special-value:hover { color: #1BBFBF; }
.yh-special-desc { font-size: 12px; color: #888; line-height: 1.5; }
@media (max-width: 600px) { .yh-item { flex-direction: column; align-items: flex-start; gap: 8px; } }

/* ── FAQs accordion (yf-) ── */
.yf-accordion { display: flex; flex-direction: column; gap: 0 !important; border: 1px solid rgba(0,0,0,0.07) !important; border-radius: 14px; overflow: hidden; }
.yf-accordion__item { border-bottom: 1px solid rgba(0,0,0,0.07); margin: 0 !important; }
.yf-accordion__item:last-child { border-bottom: none; }
.yf-accordion__trigger { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; background: #fff !important; border: none !important; box-shadow: none !important; padding: 18px 22px; cursor: pointer; text-align: left; transition: background .15s; outline: none; }
.yf-accordion__trigger:hover { background: #F7F7F7 !important; }
.yf-accordion__item.is-open .yf-accordion__trigger { background: #F7F7F7 !important; }
.yf-accordion__q { font-family: 'Outfit', system-ui, sans-serif; font-size: 15px; font-weight: 600; color: #1a1a1a; line-height: 1.4; }
.yf-accordion__item.is-open .yf-accordion__q { color: #1BBFBF; }
.yf-accordion__icon { flex-shrink: 0; color: #aaa; transition: transform .25s cubic-bezier(.32,.72,0,1); }
.yf-accordion__item.is-open .yf-accordion__icon { transform: rotate(180deg); color: #1BBFBF; }
.yf-accordion__body { max-height: 0; overflow: hidden; transition: max-height .3s cubic-bezier(.32,.72,0,1); background: #fff !important; }
.yf-accordion__body[hidden] { display: block !important; visibility: visible !important; max-height: 0 !important; }
.yf-accordion__content { padding: 0 22px 18px; font-family: 'Outfit', system-ui, sans-serif; font-size: 14px; color: #555; line-height: 1.7; }
.yf-accordion__content p { margin: 0 0 10px; }
.yf-accordion__content p:last-child { margin-bottom: 0; }

/* ── Bikefriendly ── */
.yf-bike-services { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.yf-bike-services li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: #1a1a1a; font-family: 'Outfit', system-ui, sans-serif; }
.yf-bike-services li i { font-size: 20px; color: #1BBFBF; flex-shrink: 0; }
.yf-bike-facts { display: flex; gap: 32px; flex-wrap: wrap; }
.yf-bike-fact { display: flex; flex-direction: column; gap: 4px; }
.yf-bike-fact__num { font-family: 'Outfit', system-ui, sans-serif; font-size: 28px; font-weight: 800; color: #1BBFBF; line-height: 1; letter-spacing: -0.02em; }
.yf-bike-fact__label { font-family: 'Outfit', system-ui, sans-serif; font-size: 13px; font-weight: 400; color: #888; line-height: 1.3; }

/* ── GEO snippet (oculto accesible) ── */
.yomo-geo-snippet { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* ── Cards aparcamiento (yp-) ── */
.yp-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; font-family:'Outfit',system-ui,sans-serif; margin:0 auto; }
.yp-card{ background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:16px; padding:24px; display:flex; flex-direction:column; gap:12px; transition:box-shadow .2s,transform .2s; }
.yp-card:hover{ box-shadow:0 8px 24px rgba(0,0,0,.07); transform:translateY(-2px); }
.yp-card__top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.yp-card__icon{ width:44px;height:44px;flex:0 0 44px; display:flex;align-items:center;justify-content:center; border-radius:12px;background:#F2FBFB;color:#1BBFBF;font-size:24px; }
.yp-card__icon i{ line-height:1; }
.yp-badge{ font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase; padding:5px 11px;border-radius:9999px;white-space:nowrap; }
.yp-badge--free{ background:#E6F7EC; color:#1B9E4B; }
.yp-badge--paid{ background:#E6F8F8; color:#0E8C8C; }
.yp-badge--none{ background:#F0F0F0; color:#777; }
.yp-card__hotel{ font-size:18px;font-weight:700;color:#1a1a1a;line-height:1.25;margin:0; }
.yp-card__loc{ font-size:13px;font-weight:500;color:#1BBFBF;margin:0; }
.yp-card__text{ font-size:14px;line-height:1.6;color:#555;margin:4px 0 0; }
.yp-card__tag{ display:inline-flex;align-items:center;gap:6px; font-size:12.5px;font-weight:600;color:#0E8C8C;margin-top:auto;padding-top:8px; }
.yp-card__tag i{ font-size:15px; }
@media(max-width:600px){ .yp-grid{ grid-template-columns:1fr; gap:14px; } .yp-card{ padding:20px; } }

/* ── Cards salas eventos (ys-) ── */
.ys-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:20px; font-family:'Outfit',system-ui,sans-serif; margin:0 auto; }
.ys-card{ background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:16px; padding:24px; transition:box-shadow .2s,transform .2s; }
.ys-card:hover{ box-shadow:0 8px 24px rgba(0,0,0,.07); transform:translateY(-2px); }
.ys-card__name{ font-size:19px;font-weight:700;color:#1a1a1a;line-height:1.2;margin:0 0 4px; }
.ys-card__meta{ font-size:13px;font-weight:600;color:#1BBFBF;margin:0 0 18px; }
.ys-caps{ list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px; }
.ys-caps li{ display:flex;align-items:center;justify-content:space-between; font-size:14px;color:#444;padding-bottom:9px;border-bottom:1px solid #f0f0f0; }
.ys-caps li:last-child{ border:none;padding:0; }
.ys-caps .ys-lab{ display:flex;align-items:center;gap:8px;color:#666; }
.ys-caps .ys-lab i{ color:#1BBFBF;font-size:17px; }
.ys-caps .ys-num{ font-weight:700;color:#1a1a1a; }
.ys-note{ margin-top:24px;font-size:13px;color:#888;font-style:italic;font-family:'Outfit',system-ui,sans-serif; }
@media(max-width:600px){ .ys-grid{ grid-template-columns:1fr;gap:14px; } .ys-card{ padding:20px; } }

/* ── Tipos hotel homepage (yt-) — sección fondo oscuro ── */
.yt-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(255,255,255,.1)}
.yt-row{ display:flex;align-items:center;gap:20px; padding:22px 8px;border-bottom:1px solid rgba(255,255,255,.1); text-decoration:none;color:#fff;transition:padding .25s,background .25s; }
.yt-row:nth-child(odd){border-right:1px solid rgba(255,255,255,.1);padding-right:28px}
.yt-row:nth-child(even){padding-left:28px}
.yt-row:hover{background:rgba(27,191,191,.06);padding-left:18px}
.yt-row:nth-child(even):hover{padding-left:38px}
.yt-ic{font-size:30px;color:#1BBFBF;flex:0 0 auto;transition:transform .25s}
.yt-row:hover .yt-ic{transform:scale(1.1)}
.yt-txt{flex:1}
.yt-q{display:block;font-size:19px;font-weight:700;line-height:1.2;margin-bottom:3px;color:#fff}
.yt-d{display:block;font-size:13.5px;color:#999}
.yt-arrow{font-size:20px;color:#555;transition:color .25s,transform .25s}
.yt-row:hover .yt-arrow{color:#1BBFBF;transform:translateX(4px)}
@media(max-width:760px){ .yt-list{grid-template-columns:1fr} .yt-row,.yt-row:nth-child(odd),.yt-row:nth-child(even){border-right:none;padding-left:8px;padding-right:8px} .yt-row:hover,.yt-row:nth-child(even):hover{padding-left:16px} }

/* ── FOOTER v2 (yf2-) ── */
.yf2 *, .yf2 *::before, .yf2 *::after { box-sizing:border-box; margin:0; padding:0; }
.yf2 a { text-decoration:none; }
.yf2 { font-family:'Outfit','Poppins',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
.yf2-cta { background:#1BBFBF; padding:36px 48px; }
.yf2-cta-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.yf2-cta-txt { color:#fff; }
.yf2-cta-txt h3 { font-size:24px; font-weight:800; letter-spacing:-.02em; line-height:1.15; color:#fff; }
.yf2-cta-txt p { font-size:14px; color:rgba(255,255,255,.85); margin-top:4px; }
.yf2-cta-btn { display:inline-flex; align-items:center; gap:9px; background:#0d0d0d; color:#fff; border-radius:9999px; padding:15px 32px; font-size:14px; font-weight:700; transition:transform .2s,background .2s; white-space:nowrap; }
.yf2-cta-btn:hover { background:#000; transform:translateY(-2px); }
.yf2-cta-btn i { color:#fff; }
.yf2-footer { background:#0d0d0d; padding:56px 48px 0; }
.yf2-inner { max-width:1200px; margin:0 auto; }
.yf2-main { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:48px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.07); }
.yf2-brand { display:flex; flex-direction:column; gap:18px; }
.yf2-logo img { height:36px; width:auto; display:block; }
.yf2-tagline { font-size:15px; color:rgba(255,255,255,.45); line-height:1.65; }
.yf2-contact { display:flex; flex-direction:column; gap:9px; }
.yf2-contact a { display:flex; align-items:center; gap:9px; font-size:14px; color:rgba(255,255,255,.55); transition:color .2s; }
.yf2-contact a:hover { color:rgba(255,255,255,.85); }
.yf2-contact a i { font-size:15px; color:#1BBFBF; flex-shrink:0; }
.yf2-note { font-size:12px; color:rgba(255,255,255,.28); }
.yf2-rrss { display:flex; gap:8px; }
.yf2-rrss a { width:38px; height:38px; border-radius:9999px; border:1px solid rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.62); font-size:17px; transition:all .2s; }
.yf2-rrss a:hover { border-color:#1BBFBF; color:#1BBFBF; }
.yf2-col-title { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.32); margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.06); }
.yf2-list { display:flex; flex-direction:column; gap:10px; }
.yf2-list a { font-size:15px; color:rgba(255,255,255,.58); display:flex; align-items:center; gap:8px; transition:color .2s; }
.yf2-list a:hover { color:#fff; }
.yf2-list a i { font-size:13px; color:#1BBFBF; opacity:.7; flex-shrink:0; }
.yf2-list a .yf2-ext { font-size:10px; color:rgba(255,255,255,.3); }
.yf2-bottom { padding:20px 0 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.yf2-copy { font-size:12px; color:rgba(255,255,255,.24); line-height:1.6; }
.yf2-copy strong { color:rgba(255,255,255,.42); font-weight:600; }
.yf2-copy a { color:rgba(255,255,255,.32); transition:color .2s; }
.yf2-copy a:hover { color:rgba(255,255,255,.62); }
.yf2-legal { display:flex; gap:2px; flex-wrap:wrap; }
.yf2-legal a { font-size:11px; color:rgba(255,255,255,.24); padding:3px 8px; border-radius:9999px; white-space:nowrap; transition:color .2s,background .2s; }
.yf2-legal a:hover { color:rgba(255,255,255,.55); background:rgba(255,255,255,.05); }
@media(max-width:1024px){ .yf2-cta, .yf2-footer { padding-left:32px; padding-right:32px; } .yf2-main { grid-template-columns:1fr 1fr; gap:36px; } }
@media(max-width:768px){ .yf2-cta { padding:28px 24px; } .yf2-cta-inner { flex-direction:column; align-items:flex-start; } .yf2-footer { padding:40px 24px 0; } .yf2-bottom { flex-direction:column; align-items:flex-start; gap:12px; } }
@media(max-width:480px){ .yf2-main { grid-template-columns:1fr; gap:32px; } .yf2-bottom { align-items:center; text-align:center; } .yf2-legal { justify-content:center; } }

/* ── STICKY BAR móvil ficha (yfx-) ── */
.yfx-bar{ position:fixed; left:0; right:0; bottom:0; z-index:9990; display:none; gap:10px; padding:10px 14px; padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px)); background:rgba(13,13,13,.96); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-top:1px solid rgba(255,255,255,.08); font-family:'Outfit',system-ui,sans-serif; }
.yfx-bar a{ text-decoration:none; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:9999px; font-weight:700; font-size:15px; height:50px; transition:background .2s; }
.yfx-bar a.yfx-call{ flex:0 0 54px; background:rgba(255,255,255,.1) !important; color:#fff !important; }
.yfx-bar a.yfx-call:hover{ background:rgba(255,255,255,.18) !important; }
.yfx-bar a.yfx-call i{ font-size:22px; color:#fff !important; }
.yfx-bar a.yfx-book{ flex:1; background:#1BBFBF !important; color:#fff !important; }
.yfx-bar a.yfx-book:hover{ background:#178f8f !important; }
.yfx-bar a.yfx-book i{ font-size:19px; color:#fff !important; }
.yfx-bar a.yfx-book span{ color:#fff !important; }
@media(max-width:768px){ .yfx-bar{ display:flex; } body{ padding-bottom:80px; } }

/* ── HEADER (yh-) ── */
.yh{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .3s,box-shadow .3s;font-family:'Outfit',system-ui,sans-serif}
.yh--top{background:transparent}
.yh--scrolled{background:rgba(13,13,13,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,.25)}
.yh-inner{max-width:1280px;margin:0 auto;padding:0 32px;height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.yh-logo{flex:0 0 auto;line-height:0}
.yh-logo img{height:34px;width:auto}
.yh-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.yh-nav>.yh-item{position:relative}
.yh-item,.yh-item:hover,.yh-item:focus-within{background:transparent!important;box-shadow:none!important}
.yh-link{display:flex;align-items:center;gap:5px;padding:10px 4px;color:rgba(255,255,255,.85)!important;font-size:16px;font-weight:600;text-decoration:none;background:transparent!important;transition:color .2s;cursor:pointer;white-space:nowrap;position:relative;margin:0 10px}
.yh-link::after{content:'';position:absolute;left:4px;right:4px;bottom:2px;height:2px;background:#1BBFBF;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.yh-link:hover{color:#fff!important;background:transparent!important}
.yh-link:hover::after,.yh-item:hover .yh-link::after{transform:scaleX(1)}
.yh-link i{font-size:13px;opacity:.6;transition:transform .2s}
.yh-item:hover .yh-link i{transform:rotate(180deg)}
.yh-item:hover .yh-link{color:#fff!important}
.yh-drop{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;background:#fff;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.18);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .22s}
.yh-item:hover .yh-drop{opacity:1;visibility:visible;transform:translateY(0)}
.yh-drop-group+.yh-drop-group{margin-top:6px;padding-top:8px;border-top:1px solid #f0f0f0}
.yh-drop-title{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#aaa;padding:6px 12px 4px}
.yh-drop a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;color:#333;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}
.yh-drop a:hover{background:#F2FBFB;color:#0E8C8C}
.yh-drop a i{font-size:17px;color:#1BBFBF;flex:0 0 auto}
.yh-drop a .yh-drop-loc{margin-left:auto;font-size:11px;color:#bbb}
.yh-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.yh-call{width:42px;height:42px;border-radius:9999px;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;text-decoration:none;transition:all .2s}
.yh-call:hover{border-color:#1BBFBF;color:#1BBFBF}
.yh-book{display:inline-flex!important;align-items:center;gap:8px;background:#1BBFBF!important;color:#fff!important;border-radius:9999px;padding:12px 26px;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s}
.yh-book:hover{background:#178f8f!important;transform:translateY(-1px);color:#fff!important}
.yh-book i{color:#fff!important}
.yh-burger{display:none;width:44px;height:44px;border:none;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;padding:0}
.yh-burger span{display:block;width:24px;height:2px;background:#fff;margin:0 auto;transition:.3s}
.yh-drawer{position:fixed;inset:0;z-index:1100;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}
.yh-drawer.open{visibility:visible;opacity:1}
.yh-drawer-bg{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.yh-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(86vw,360px);background:#0d0d0d;padding:24px 22px;overflow-y:auto;transform:translateX(100%);transition:transform .3s}
.yh-drawer.open .yh-drawer-panel{transform:translateX(0)}
.yh-drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.yh-drawer-top .yh-logo-txt{color:#fff;font-size:20px;font-weight:800}
.yh-drawer-close{background:none;border:none;color:#fff;font-size:26px;cursor:pointer;line-height:1}
.yh-drawer .yh-book{width:100%;justify-content:center;margin:16px 0 22px;padding:15px}
.yh-m-group{border-top:1px solid rgba(255,255,255,.08);padding:6px 0}
.yh-m-head{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;color:#fff;font-size:16px;font-weight:700;padding:14px 4px;cursor:pointer;font-family:'Outfit',sans-serif}
.yh-m-head i{font-size:16px;transition:transform .2s}
.yh-m-head.open i{transform:rotate(180deg)}
.yh-m-sub{display:none;flex-direction:column;padding:0 4px 10px}
.yh-m-sub.open{display:flex}
.yh-m-sub a{display:flex;align-items:center;gap:10px;padding:10px 8px;color:rgba(255,255,255,.7);font-size:14px;text-decoration:none}
.yh-m-sub a i{color:#1BBFBF;font-size:16px}
.yh-m-link{display:block;color:#fff;font-size:16px;font-weight:700;padding:14px 4px;text-decoration:none;border-top:1px solid rgba(255,255,255,.08)}
.yh-m-call{display:flex;align-items:center;gap:10px;color:#1BBFBF;font-weight:600;padding:16px 4px 0;text-decoration:none}
.yh-m-lang{display:flex;gap:8px;padding:16px 4px 4px;border-top:1px solid rgba(255,255,255,.08);margin-top:6px}
.yh-m-lang a{flex:1;text-align:center;padding:10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:rgba(255,255,255,.7);font-size:13px;font-weight:600;text-decoration:none}
.yh-m-lang a.active{background:#1BBFBF;color:#fff;border-color:#1BBFBF}
@media(max-width:980px){ .yh-nav,.yh-actions .yh-book,.yh-actions .yh-call,.yh-actions .wpml-ls{display:none} .yh-burger{display:flex} }


/* ============================================================
   YOMO — Selector de idioma WPML (dropdown) estilado como pastilla
   Markup WPML: .yh-langwrap > .wpml-ls > ul > li(.wpml-ls-item-toggle) + .wpml-ls-sub-menu
   Abre por HOVER (con puente anti-cierre) y por CLIC (aria-expanded de WPML).
   ============================================================ */

/* contenedor: colapsa a su botón, no ensancha el header, no desborda */
.yh-langwrap{ position:relative; }
.yh-actions .wpml-ls,
.yh-actions .wpml-ls.wpml-ls-legacy-dropdown,
.yh-actions .wpml-ls > ul{
  position:relative; margin:0; padding:0; border:0;
  width:auto !important; max-width:none !important; flex:0 0 auto !important;
}
.yh-actions .wpml-ls > ul{ display:inline-flex !important; list-style:none; white-space:nowrap; }
.yh-actions .wpml-ls, .yh-actions .wpml-ls *{ box-sizing:border-box; }
.yh-actions .wpml-ls li{ margin:0; padding:0; }

/* BOTÓN (idioma actual) = pastilla con borde */
.yh-actions .wpml-ls .wpml-ls-item-toggle{
  display:inline-flex; align-items:center; gap:5px;
  background:transparent; border:1px solid rgba(255,255,255,.2); color:#fff;
  border-radius:9999px; padding:9px 14px;
  font-family:'Outfit',sans-serif; font-size:13px; font-weight:600;
  text-transform:uppercase; letter-spacing:.02em;
  text-decoration:none; cursor:pointer; white-space:nowrap; line-height:1;
  transition:border-color .2s;
}
.yh-actions .wpml-ls .wpml-ls-item-toggle:hover{ border-color:#1BBFBF; }
.yh-actions .wpml-ls .wpml-ls-item-toggle::after{ content:"\25BE"; font-size:9px; opacity:.6; margin-left:2px; }
.yh-actions .wpml-ls .wpml-ls-native{ font:inherit; }

/* SUBMENÚ: siempre absoluto (no ocupa ancho), oculto por defecto */
.yh-actions .wpml-ls .wpml-ls-sub-menu{
  position:absolute !important; top:calc(100% + 8px); right:0; left:auto;
  background:#fff; border-radius:14px; box-shadow:0 12px 30px rgba(0,0,0,.18);
  padding:6px; min-width:74px; z-index:1000;
  opacity:0; visibility:hidden; transform:translateY(6px); pointer-events:none;
  transition:opacity .18s, transform .18s, visibility .18s;
}
/* puente invisible para que el hover no se corte al bajar del botón al menú */
.yh-langwrap .wpml-ls-sub-menu::before{
  content:""; position:absolute; left:0; right:0; top:-10px; height:10px; background:transparent;
}
/* abrir por hover o por clic (WPML pone aria-expanded=true) */
.yh-langwrap:hover .wpml-ls-sub-menu,
.yh-langwrap:focus-within .wpml-ls-sub-menu,
.yh-langwrap .wpml-ls-item-toggle[aria-expanded="true"] ~ .wpml-ls-sub-menu,
.yh-langwrap .wpml-ls-item-toggle[aria-expanded="true"] + .wpml-ls-sub-menu{
  opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;
}
.yh-actions .wpml-ls .wpml-ls-sub-menu a{
  display:block; padding:8px 14px; border:0; border-radius:7px; text-align:center;
  color:#333 !important; font-family:'Outfit',sans-serif; font-size:13px; font-weight:600;
  text-transform:uppercase; text-decoration:none; white-space:nowrap;
}
.yh-actions .wpml-ls .wpml-ls-sub-menu a:hover{ background:#F2FBFB; color:#0E8C8C !important; }
.yh-actions .wpml-ls .wpml-ls-sub-menu .wpml-ls-native{ color:#333 !important; }

/* BLINDAJE: header y contenedor nunca desbordan el viewport */
#yh, .yh, .yh-inner{ max-width:100%; box-sizing:border-box; }
.yh-inner{ overflow:visible; }
.yh-actions{ flex:0 0 auto; margin-left:auto; }

/* ── Selector de idioma en el DRAWER MÓVIL (.yh-langwrap--mobile) ──
   Todos los idiomas (ES actual + CA/FR/EN) como pills iguales en UNA fila. */
.yh-langwrap--mobile{ margin-top:16px; padding-top:16px; border-top:1px solid rgba(255,255,255,.08); }
/* el <ul> raíz y el submenú se aplanan en una sola fila flex */
.yh-langwrap--mobile .wpml-ls,
.yh-langwrap--mobile .wpml-ls > ul{
  display:flex !important; flex-wrap:wrap; gap:8px; width:100% !important;
  list-style:none; margin:0; padding:0; position:static !important;
}
.yh-langwrap--mobile .wpml-ls > ul > li{ flex:1 1 auto; min-width:64px; }
/* el submenú (CA/FR/EN) deja de ser dropdown: se aplana en la misma fila */
.yh-langwrap--mobile .wpml-ls-sub-menu{
  position:static !important; display:contents !important;
  opacity:1 !important; visibility:visible !important; transform:none !important;
  pointer-events:auto !important; background:transparent !important;
  box-shadow:none !important; padding:0 !important; margin:0 !important;
}
.yh-langwrap--mobile .wpml-ls-sub-menu li{ flex:1 1 auto; min-width:64px; }
/* TODOS los enlaces/toggle = mismo pill */
.yh-langwrap--mobile .wpml-ls-item-toggle,
.yh-langwrap--mobile .wpml-ls-sub-menu a{
  display:flex !important; align-items:center; justify-content:center; width:100%;
  padding:11px 8px !important; border:1px solid rgba(255,255,255,.15) !important;
  border-radius:8px !important; background:transparent !important;
  color:rgba(255,255,255,.7) !important; font-size:13px; font-weight:600;
  text-transform:uppercase; text-decoration:none; text-align:center; white-space:nowrap;
}
/* idioma actual (ES) resaltado, pero como pill normal (no barra ancha) */
.yh-langwrap--mobile .wpml-ls-current-language{ flex:1 1 auto; min-width:64px; }
.yh-langwrap--mobile .wpml-ls-current-language .wpml-ls-item-toggle{
  background:#1BBFBF !important; color:#fff !important; border-color:#1BBFBF !important;
}
.yh-langwrap--mobile .wpml-ls-item-toggle::after{ content:none !important; }
.yh-langwrap--mobile .wpml-ls-native{ color:inherit !important; }

/* ── Quitar recuadros/bordes que el tema pinta en los botones del drawer móvil ──
   (Hoteles / Tipo de Viaje = .yh-m-head, y la X de cerrar = .yh-drawer-close) */
.yh-m-head, .yh-drawer-close, .yh-burger{
  border:0 !important; outline:0 !important; box-shadow:none !important;
  -webkit-appearance:none; appearance:none; background:transparent !important;
}
.yh-m-head:focus, .yh-drawer-close:focus, .yh-burger:focus,
.yh-m-head:focus-visible, .yh-drawer-close:focus-visible{
  outline:0 !important; box-shadow:none !important;
}

