/* =================================================================
   Only Charming · Listado /listings/ (solo se carga ahí) — estilo Airbnb
   Mobile-first: la base es el móvil; las @media (min-width) añaden lo de pantallas grandes.
   Escritorio (≥1100px): fila superior fija (buscador + filtros) y debajo mitad lista / mitad mapa.
   ================================================================= */

/* ---------- Página ---------- */
main.wp-block-group{margin-top:0!important}
body.oc-page-listings main .wp-block-group{padding-top:0!important}
.oc-listings{max-width:none!important;width:100%;margin-left:auto!important;margin-right:auto!important;padding-bottom:88px;font-family:var(--oc-font);font-size:16px;line-height:1.5;color:var(--oc-text);box-sizing:border-box}
.oc-listings *,.oc-listings *::before,.oc-listings *::after{box-sizing:border-box}
.oc-ls-main,.oc-ls-list{min-width:0}
html.oc-noscroll{overflow:hidden}

/* ---------- Fila superior: buscador + filtros ---------- */
.oc-ls-top{padding:16px 0 12px;background:#fff;border-bottom:1px solid var(--oc-line)}

/* Buscador (móvil: tarjeta apilada con etiquetas) */
.oc-ls-search .hfy-search-form-row{display:grid;grid-template-columns:1fr 1fr;gap:4px 0;margin:0;padding:8px;background:#fff;border:1px solid #ddd;border-radius:var(--oc-radius);box-shadow:0 3px 12px rgba(0,0,0,.08)}
.oc-ls-search .hfy-search-form-row>._col{position:relative;min-width:0;width:auto!important;max-width:none!important;padding:6px 12px!important;float:none!important}
.oc-ls-search .col-location,.oc-ls-search .col-advanced,.oc-ls-search .col-bedrooms{display:none!important}  /* ubicación: una sola ciudad por ahora (quitar al publicar Málaga) */
.oc-ls-search .col-keyword,.oc-ls-search .col-dates,.oc-ls-search .col-action{grid-column:1/-1}
.oc-ls-search .hfy-search-form-row .form-group{margin:0!important}
.oc-ls-search .hfy-search-form-row>._col>.form-group::before{display:block;margin:0 0 2px;font:600 12px/1.2 var(--oc-font);color:var(--oc-text);letter-spacing:.01em}
.oc-ls-search .col-keyword>.form-group::before{content:"Destino"}
.oc-ls-search .col-dates>.form-group::before{content:"Fechas"}
.oc-ls-search .col-guests>.form-group::before{content:"Viajeros"}
.oc-ls-search .col-action>.form-group::before{content:none}
.oc-ls-search .hfy-search-form-row .input-group{position:relative;display:flex;flex-wrap:nowrap;align-items:center;width:100%}
.oc-ls-search .hfy-search-form-row .form-control{width:100%;height:24px;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;font:400 14px/1.2 var(--oc-font);color:var(--oc-text);text-overflow:ellipsis}
.oc-ls-search .hfy-search-form-row .form-control::placeholder{color:var(--oc-muted);opacity:1}
.oc-ls-search .guests-input-label{display:flex;align-items:center;gap:6px;height:24px;font-size:14px;cursor:pointer}
.oc-ls-search .guests-input-label img,.oc-ls-search .ico-guest::before{max-height:16px}
.oc-ls-search .col-action{padding:4px 0 0!important}
.oc-ls-search .col-action .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;padding:0 22px;background:var(--oc-dark)!important;border:0!important;border-radius:999px!important;color:#fff!important;font:600 15px var(--oc-font);box-shadow:none!important;cursor:pointer}
.oc-ls-search .col-action .btn-primary:hover{background:#3a3e35!important}
.oc-ls-search .col-action svg{width:16px;height:16px}
.oc-ls-search .col-action svg path{fill:#fff}
.oc-ls-search .select-guests-wrap{z-index:60}
.oc-ls-search .select-guests-dropdown{background:#fff;border:1px solid var(--oc-line);border-radius:var(--oc-radius);box-shadow:0 12px 32px rgba(0,0,0,.14);padding:12px 16px}
.oc-ls-search .btn-close-guests-box .btn{background:var(--oc-text)!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:8px 18px!important;font:600 14px var(--oc-font)}

/* Calendario del buscador (mismo estilo que la ficha). Móvil: panel fijo abajo */
.oc-ls-search .datepicker{font-family:var(--oc-font);color:var(--oc-text)}
.oc-ls-search .datepicker:not(.datepicker--inline){position:fixed!important;left:8px!important;right:8px!important;top:auto!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:auto!important;max-height:80vh;overflow-y:auto;padding:16px;background:#fff;border:0;border-radius:24px;box-shadow:0 12px 40px rgba(0,0,0,.25);z-index:1000}
.oc-ls-search .datepicker__inner{width:auto!important}
.oc-ls-search .datepicker__months{display:flex!important;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:16px 40px;width:auto!important;height:auto!important}
.oc-ls-search .datepicker__months::before,.oc-ls-search .datepicker__months::after{display:none!important}
.oc-ls-search .datepicker__month{float:none!important;position:static!important;width:280px!important;flex:none;margin:0!important;table-layout:fixed;border-collapse:separate;border-spacing:0 2px}
.oc-ls-search .datepicker__month-caption,.oc-ls-search .datepicker__month-name{font-size:16px;font-weight:600;color:var(--oc-text);text-transform:none;letter-spacing:0;border:0}
.oc-ls-search .datepicker__month-name::first-letter{text-transform:uppercase}
.oc-ls-search .datepicker__week-name{width:40px;padding:0 0 6px!important;text-align:center;font-size:12px;font-weight:500;color:#717171;text-transform:none}
.oc-ls-search .datepicker__month-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;cursor:pointer}
.oc-ls-search .datepicker__month-button:hover{background:#f1f1f1}
.oc-ls-search .datepicker__month-day{width:40px!important;height:40px!important;line-height:40px!important;padding:0!important;text-align:center;font-size:14px;font-weight:600;color:var(--oc-text);background:transparent;border:0;border-radius:50%;cursor:pointer}
.oc-ls-search .datepicker__month-day:not(.datepicker__month-day--visibleMonth){visibility:hidden}
.oc-ls-search .datepicker__month-day--valid:hover{box-shadow:inset 0 0 0 1.5px var(--oc-text)}
.oc-ls-search .datepicker__month-day--today{text-decoration:underline;text-underline-offset:3px}
.oc-ls-search .datepicker__month-day--invalid,.oc-ls-search .datepicker__month-day--disabled{color:#b0b0b0;font-weight:400;text-decoration:line-through;box-shadow:none;cursor:default}
.oc-ls-search .datepicker__month-day--invalid::before,.oc-ls-search .datepicker__month-day--invalid::after,
.oc-ls-search .datepicker__month-day--disabled::before,.oc-ls-search .datepicker__month-day--disabled::after{content:none!important}
.oc-ls-search .datepicker__month-day--selected,.oc-ls-search .datepicker__month-day--hovering{background:#f1f1f1;color:var(--oc-text);border-radius:0}
.oc-ls-search .datepicker__month-day--first-day-selected,.oc-ls-search .datepicker__month-day--last-day-selected{background:var(--oc-text);color:#fff;border-radius:50%;text-decoration:none}

/* Filtros rápidos (píldoras) */
.oc-ls-filters{display:flex;align-items:center;gap:12px;margin-top:14px;min-width:0}
.oc-fbtn{flex:none;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;background:#fff;border:1px solid #ddd;border-radius:12px;font:500 14px var(--oc-font);color:var(--oc-text);cursor:pointer}
.oc-fbtn:hover,.oc-chip:hover{border-color:var(--oc-text)}
.oc-fbtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.oc-fbtn-n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:var(--oc-text);color:#fff;border-radius:999px;font-size:12px;font-weight:600}
.oc-fsep{flex:none;width:1px;height:32px;background:#ddd}
.oc-chips{display:flex;gap:10px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px}
.oc-chips::-webkit-scrollbar{display:none}
.oc-chip{flex:none;display:inline-flex;align-items:center;height:44px;padding:0 18px;background:#fff;border:1px solid #ddd;border-radius:999px;font:400 14px var(--oc-font);color:var(--oc-text);white-space:nowrap;cursor:pointer}
.oc-chip{gap:8px}
.oc-chip svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.oc-chip[aria-pressed="true"]{background:#f7f7f7;border-color:var(--oc-text);box-shadow:inset 0 0 0 1px var(--oc-text);font-weight:500}

/* Ventana «Filtros»: el panel del plugin con aspecto Airbnb */
.oc-fm-backdrop{position:fixed;inset:0;z-index:1999;background:rgba(0,0,0,.5)}
.oc-fm-backdrop[hidden]{display:none}
.hfy-search-form-row-advanced.oc-fm-open{position:fixed!important;inset:0!important;z-index:2000!important;display:block!important;width:auto!important;max-width:none!important;max-height:none;margin:0!important;padding:0!important;overflow-y:auto;background:#fff;border-radius:0;font-family:var(--oc-font);color:var(--oc-text)}
.oc-fm-open>div{display:block!important;padding:24px!important;border-bottom:1px solid #ebebeb;grid-template-columns:none!important}
.oc-fm-head{position:sticky;top:0;z-index:2;display:flex!important;align-items:center;justify-content:center;height:64px;padding:0 24px!important;background:#fff}
.oc-fm-title{margin:0;font:600 16px var(--oc-font);color:var(--oc-text)}
.oc-fm-close{position:absolute;left:16px;top:50%;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-top:-18px;padding:0;background:none;border:0;border-radius:50%;cursor:pointer}
.oc-fm-close:hover{background:#f1f1f1}
.oc-fm-close svg,.oc-mc-close svg{width:14px;height:14px;fill:none;stroke:var(--oc-text);stroke-width:3;stroke-linecap:round}
.oc-fm-open .adv-search-item-title{margin:0 0 16px;font:600 20px/1.3 var(--oc-font);color:var(--oc-text)}
.oc-fm-open .am-title{margin:18px 0 10px;font:600 15px var(--oc-font);color:var(--oc-text)}
.oc-fm-open .toggle-more,.oc-fm-open .toggle-more-container,.oc-fm-open .am-container,.oc-fm-open .col-list{display:block!important;max-height:none!important;overflow:visible!important;height:auto!important}
.oc-fm-open .toggle-more-btn{display:none!important}
.oc-fm-open label{position:relative;display:inline-flex!important;align-items:center;gap:8px;margin:0 8px 10px 0!important;padding:10px 16px;background:#fff;border:1px solid #ddd;border-radius:999px;font:400 14px var(--oc-font);color:var(--oc-text);cursor:pointer;width:auto!important}
.oc-fm-open label:hover{border-color:var(--oc-text)}
.oc-fm-open label input[type=checkbox]{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.oc-fm-open label:has(input:checked){background:#f7f7f7;border-color:var(--oc-text);box-shadow:inset 0 0 0 1px var(--oc-text)}
.oc-fm-open label:has(input:focus-visible){outline:2px solid var(--oc-dark);outline-offset:2px}
.oc-fm-open select{width:100%;max-width:320px;height:48px;padding:0 14px;background:#fff;border:1px solid #b0b0b0;border-radius:8px;font:400 15px var(--oc-font);color:var(--oc-text)}
.oc-fm-open>div:last-child{position:sticky;bottom:0;z-index:2;padding:16px 24px!important;background:#fff;border-top:1px solid #ebebeb;border-bottom:0}
.oc-fm-open>div:last-child>div:first-child:empty{display:none}
.oc-fm-foot{display:flex!important;align-items:center;justify-content:space-between;gap:16px}
.oc-fm-open .btn-reset{padding:10px!important;background:none!important;border:0!important;font:600 15px var(--oc-font)!important;color:var(--oc-text)!important;text-decoration:underline;cursor:pointer}
.oc-fm-foot .btn-primary{padding:14px 24px!important;background:var(--oc-text)!important;border:0!important;border-radius:8px!important;font:600 16px var(--oc-font)!important;color:#fff!important;cursor:pointer}

/* ---------- Título y barra de orden ---------- */
.oc-ls-head{margin:20px 0 4px}
.oc-ls-title{margin:0;font-family:var(--oc-serif);font-weight:400;font-size:clamp(26px,3vw,34px);line-height:1.15;color:var(--oc-dark)}
.oc-ls-info{margin-top:4px;font-size:15px;color:var(--oc-muted)}
.oc-ls-info:empty{display:none}
.oc-ls-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 20px}
.oc-ls-bar .sort-controls-wrap{display:none!important}   /* lo sustituye el menú «Ordenar» */
.oc-sort{position:relative}
.oc-sort-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;background:#fff;border:1px solid #ddd;border-radius:999px;font:400 14px var(--oc-font);color:var(--oc-text);cursor:pointer}
.oc-sort-btn:hover{border-color:var(--oc-text)}
.oc-sort-btn strong{font-weight:600}
.oc-sort svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.oc-sort-btn .oc-sort-chev{width:12px;height:12px}
.oc-sort-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:70;min-width:270px;margin:0;padding:8px 0;list-style:none;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.18)}
.oc-sort-menu[hidden]{display:none}
.oc-sort-menu li{display:flex;align-items:center;gap:12px;padding:12px 18px;font-size:15px;cursor:pointer}
.oc-sort-menu li:hover,.oc-sort-menu li:focus{background:var(--oc-soft);outline:0}
.oc-sort-menu li[aria-selected="true"]{font-weight:600}
.oc-sort-menu li[aria-selected="true"]::after{content:"";width:16px;height:16px;margin-left:auto;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23222' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M6 17l7 7L26 9'/></svg>") center/contain no-repeat}

/* ---------- Rejilla de tarjetas (quita las columnas de Bootstrap del plugin) ---------- */
.oc-ls-list .container{width:auto!important;max-width:none!important;padding:0!important;margin:0!important}
.oc-ls-list .section{padding:0!important;margin:0!important}
.oc-ls-list .row{display:grid!important;grid-template-columns:1fr;gap:32px;margin:0!important}
.oc-ls-list .row::before,.oc-ls-list .row::after{display:none!important}
.oc-ls-list .row>[class*="col-"]{width:auto!important;max-width:none!important;flex:none!important;float:none!important;padding:0!important;margin:0!important}
.oc-ls-list [hidden]{display:none!important}

/* ---------- Tarjeta ---------- */
.oc-ls-list .list-card{position:relative;margin:0;background:none;border:0;box-shadow:none}
.oc-ls-list .list-card a,.oc-ls-list .list-card a *{color:var(--oc-text);text-decoration:none}
.oc-ls-list .list-card a{display:block;width:100%;border-radius:14px}
.oc-ls-list .list-card .img{position:relative;width:100%!important;max-width:none!important;height:auto!important;overflow:hidden;border-radius:14px;background:var(--oc-soft);aspect-ratio:4/3}
.oc-ls-list .list-card .img img{display:block;width:100%!important;height:100%!important;object-fit:cover}
.oc-ls-list .list-card .info{padding:12px 0 0!important;text-align:left!important}
.oc-ls-list .list-card .description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-size:15px;font-weight:500;line-height:1.35}
.oc-ls-list .list-card .title{margin:6px 0 0;font-size:15px;font-weight:600;line-height:1.4}
.oc-ls-list .list-card .title .prefix,.oc-ls-list .list-card .title .suffix{font-weight:400;color:var(--oc-muted)}
/* Información estilo Airbnb: «Apartamento en Malasaña ★ 4,85 (123)», nombre, características */
.oc-ci-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.oc-ci-type{min-width:0;overflow:hidden;font-size:15px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.oc-ci-rate{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:400;white-space:nowrap}
.oc-ci-rate svg{width:12px;height:12px;fill:var(--oc-text)}
.oc-ls-list .oc-ci .description,.oc-map-card .oc-ci .oc-mc-name{-webkit-line-clamp:1;margin-top:2px;font-weight:400;color:var(--oc-muted)!important}
.oc-ci-feat{font-size:15px;color:var(--oc-muted)}
/* Aviso sobre la foto: ¡Qué suerte!, precio por debajo de lo habitual, pocas noches */
.oc-badge{position:absolute;top:12px;left:12px;z-index:2;max-width:calc(100% - 76px);overflow:hidden;padding:6px 12px;background:#fff;border-radius:999px;box-shadow:0 1px 4px rgba(0,0,0,.18);font:600 13px/1.3 var(--oc-font);color:var(--oc-text);white-space:nowrap;text-overflow:ellipsis;pointer-events:none}

/* ---------- Corazón de favoritos ---------- */
.oc-fav{position:absolute;top:10px;right:10px;z-index:3;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:none;border:0;cursor:pointer}
.oc-fav svg{width:26px;height:26px;overflow:visible}
.oc-fav path{fill:rgba(0,0,0,.45);stroke:#fff;stroke-width:2.2}
.oc-fav[aria-pressed="true"] path{fill:var(--oc-accent)}   /* mostaza: es un icono, no texto */
.oc-fav:focus-visible{outline:2px solid #fff;outline-offset:-4px;border-radius:50%}

/* ---------- Carrusel de fotos ---------- */
.oc-car-hidden{display:none!important}
.oc-car-track{display:flex!important;width:100%!important;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.oc-car-track::-webkit-scrollbar{display:none}
.oc-car-track img{flex:0 0 100%;width:100%!important;height:100%!important;object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always}
.oc-car-ui{position:absolute;top:0;left:0;right:0;z-index:2;aspect-ratio:4/3;pointer-events:none}
.oc-car-btn{position:absolute;top:50%;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-top:-16px;padding:0;background:rgba(255,255,255,.92);border:0;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:pointer;opacity:0;pointer-events:auto}
.oc-car-btn[hidden]{display:none}
.oc-car-prev{left:10px}
.oc-car-next{right:10px}
.oc-car-btn svg{width:12px;height:12px;fill:none;stroke:var(--oc-text);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.oc-car-btn:hover{background:#fff;transform:scale(1.06)}
.list-card:hover .oc-car-btn,.oc-map-card:hover .oc-car-btn,.oc-car-btn:focus-visible{opacity:1}
.oc-car-dots{position:absolute;left:50%;bottom:10px;display:flex;align-items:center;gap:5px;transform:translateX(-50%)}
.oc-car-dots i{display:block;width:6px;height:6px;border-radius:50%;background:#fff;opacity:.6;box-shadow:0 0 2px rgba(0,0,0,.35)}
.oc-car-dots i.on{opacity:1}
.oc-car-dots i.sm{width:4px;height:4px}
@media (hover:none) and (pointer:coarse) and (max-width:1099px){.oc-car-btn{display:none}}   /* solo móviles y tabletas: se desliza con el dedo. Portátiles táctiles: flechas */

/* ---------- Paginación y contador de zona ---------- */
.oc-ls-list .pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:48px 0 8px;padding:0;list-style:none}
.oc-ls-list .page-item{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;color:var(--oc-muted)}
.oc-ls-list .page-link{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 14px;border:0;border-radius:999px;background:none;font-weight:500;color:var(--oc-text);text-decoration:none}
.oc-ls-list .page-link:hover{background:var(--oc-soft)}
.oc-ls-list .page-item.disabled .page-link{background:var(--oc-text);color:#fff;pointer-events:none}
.oc-ls-count{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 20px;font-size:15px;font-weight:500}
.oc-ls-count button{min-height:36px;padding:0 16px;background:#fff;border:1px solid #c9c9c9;border-radius:999px;font:600 14px var(--oc-font);color:var(--oc-text);cursor:pointer}

/* ---------- Mapa: precios estilo Airbnb ---------- */
.oc-ls-map .priceMap{display:inline-block;padding:5px 10px!important;background:#fff!important;color:var(--oc-text)!important;border-radius:999px!important;font:700 14px/1.2 var(--oc-font)!important;white-space:nowrap;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.2)!important}
.oc-ls-map .priceMap.oc-pin-on{background:var(--oc-text)!important;color:#fff!important;transform:scale(1.1);box-shadow:0 0 0 1px var(--oc-text),0 4px 10px rgba(0,0,0,.3)!important}
@media (prefers-reduced-motion:no-preference){.oc-ls-map .priceMap{transition:transform .12s,background-color .12s,color .12s}}
.oc-ls-follow{position:absolute;top:12px;left:50%;z-index:5;display:flex!important;align-items:center;gap:10px;margin:0!important;padding:10px 16px;background:#fff;border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.18);font:600 14px var(--oc-font);color:var(--oc-text);white-space:nowrap;cursor:pointer;transform:translateX(-50%)}
.oc-ls-follow input{position:static!important;flex:none;width:18px;height:18px;margin:0!important;opacity:1!important;-webkit-appearance:checkbox!important;appearance:auto!important;accent-color:var(--oc-dark);cursor:pointer}

/* Ficha al pulsar un precio */
.oc-map-card{position:absolute;z-index:8;width:320px;overflow:hidden;background:#fff;border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.28);font-family:var(--oc-font)}
.oc-map-card[hidden]{display:none}
.oc-mc-link{display:block;color:var(--oc-text)!important;text-decoration:none!important}
.oc-mc-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--oc-soft)}
.oc-mc-img img{display:block;width:100%;height:100%;object-fit:cover}
.oc-mc-body{padding:12px 16px 14px}
.oc-mc-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-size:15px;font-weight:500;line-height:1.35}
.oc-mc-price{margin:6px 0 0;font-size:15px;font-weight:600}
.oc-mc-price .prefix,.oc-mc-price .suffix{font-weight:400;color:var(--oc-muted)}
.oc-mc-close,.oc-map-card .oc-mc-fav{position:absolute;top:10px;z-index:3;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:rgba(255,255,255,.95);border:0;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.18);cursor:pointer}
.oc-mc-close{right:10px}
.oc-map-card .oc-mc-fav{right:50px}
.oc-map-card .oc-mc-fav svg{width:16px;height:16px}
.oc-map-card .oc-mc-fav path{fill:none;stroke:var(--oc-text);stroke-width:3}
.oc-map-card .oc-mc-fav[aria-pressed="true"] path{fill:var(--oc-accent);stroke:var(--oc-accent)}
.oc-map-card .oc-car-ui{aspect-ratio:4/3}
.oc-map-card.is-sheet{left:12px;right:12px;top:auto;bottom:calc(88px + env(safe-area-inset-bottom));width:auto}
.oc-map-card.is-sheet .oc-mc-link{display:flex;align-items:stretch}
.oc-map-card.is-sheet .oc-mc-img{flex:none;width:130px;aspect-ratio:auto;min-height:120px}
.oc-map-card.is-sheet .oc-mc-body{flex:1;min-width:0;padding:12px 84px 12px 14px}
.oc-map-card.is-sheet .oc-car-ui{right:auto;bottom:0;width:130px;aspect-ratio:auto}
.oc-map-card.is-sheet .oc-badge{display:none}

/* Botón flotante «Mostrar / Ocultar mapa» (móvil y tableta) */
.oc-listings .hfy-listings-map-toggle{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(24px + env(safe-area-inset-bottom))!important;margin:0!important;transform:translateX(-50%)!important;z-index:10000000!important;width:auto!important}  /* el mapa del plugin en móvil usa z-index 999999 */
.oc-listings .hfy-listings-map-toggle .btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 22px;background:var(--oc-text)!important;color:#fff!important;border:0!important;border-radius:999px!important;font:600 15px var(--oc-font);white-space:nowrap;box-shadow:0 6px 20px rgba(0,0,0,.25)}

/* ---------- Desde 640px ---------- */
@media (min-width:640px){
  .oc-ls-list .row{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:36px 24px}
}

/* ---------- Desde 901px: buscador en una sola píldora y ventana de filtros centrada ---------- */
@media (min-width:901px){
  .oc-ls-top{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + var(--oc-hh,64px));z-index:850;padding:16px 0 14px}
  .oc-ls-search .hfy-search-form-row{display:flex;align-items:center;max-width:820px;margin:0 auto;padding:8px 8px 8px 0;border-radius:999px}
  .oc-ls-search .hfy-search-form-row>._col{flex:1 1 0;padding:10px 24px!important;border-radius:999px}
  .oc-ls-search .hfy-search-form-row>._col:not(.col-action):hover{background:#ebebeb}   /* como Airbnb: cada tramo se ilumina */
  .oc-ls-search .col-dates::after,.oc-ls-search .col-guests::after{content:"";position:absolute;left:0;top:50%;width:1px;height:32px;background:#ddd;transform:translateY(-50%)}
  .oc-ls-search .hfy-search-form-row>._col:hover::after,.oc-ls-search .hfy-search-form-row>._col:hover+._col::after{opacity:0}
  .oc-ls-search .col-dates{flex-grow:1.3}
  .oc-ls-search .col-action{flex:0 0 auto;padding:0!important}
  .oc-ls-search .col-action .btn-primary{width:auto}
  .oc-ls-search .datepicker:not(.datepicker--inline){position:absolute!important;top:calc(100% + 18px)!important;bottom:auto!important;left:-24px!important;right:auto!important;max-height:none;overflow:visible;padding:20px 24px;max-width:calc(100vw - 24px)}
  .oc-ls-search .datepicker__months{flex-wrap:nowrap}
  .oc-ls-search .datepicker__month{width:308px!important}
  .oc-ls-search .datepicker__week-name{width:44px}
  .oc-ls-search .datepicker__month-day{width:44px!important;height:44px!important;line-height:44px!important}
  .oc-ls-filters{justify-content:center}
  .hfy-search-form-row-advanced.oc-fm-open{inset:auto!important;top:50%!important;left:50%!important;width:min(780px,calc(100vw - 48px))!important;max-height:calc(100vh - 80px);border-radius:16px;transform:translate(-50%,-50%);box-shadow:0 12px 40px rgba(0,0,0,.3)}
}

/* ---------- Desde 1100px: mitad lista, mitad mapa fijo (como Airbnb) ---------- */
@media (min-width:1100px){
  .oc-listings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(24px,3vw,48px);align-items:start;padding-bottom:0}
  .oc-ls-top{grid-column:1/-1}
  .oc-ls-map{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + var(--oc-hh,64px) + var(--oc-top-h,140px) + 16px);height:calc(100vh - var(--wp-admin--admin-bar--height,0px) - var(--oc-hh,64px) - var(--oc-top-h,140px) - 32px);min-height:420px;margin-top:16px;overflow:hidden;border-radius:var(--oc-radius);background:#f4f1ea;contain:layout paint}
  .oc-ls-map .hfy-wrap,.oc-ls-map .hfy-listing-map{height:100%!important}
  .oc-ls-map .hfy-map-wrapper{display:block!important;position:relative!important;inset:auto!important;width:100%!important;height:100%!important;z-index:auto!important}
  .oc-listings .hfy-listings-map-toggle{display:none!important}
  .oc-ls-list .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
  body.oc-page-listings .oc-header__in{max-width:none;padding-left:var(--wp--style--root--padding-left,24px);padding-right:var(--wp--style--root--padding-right,24px)}
}

@media (prefers-reduced-motion:no-preference){
  .oc-car-track{scroll-behavior:smooth}
  .oc-car-btn{transition:opacity .2s,transform .15s}
  .oc-fav svg{transition:transform .15s}
  .oc-fav:hover svg{transform:scale(1.1)}
}

/* =================================================================
   Correcciones v3.1
   ================================================================= */
/* Viajeros: sin recuadro ni palabra repetida */
.oc-ls-search .col-guests .input-group,.oc-ls-search .col-guests .guests-input,.oc-ls-search .col-guests .guests-count-num-wrap{height:auto!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
.oc-ls-search .col-guests input.guests{display:none!important}
.oc-ls-search .col-guests .guests-count-num{display:none}
.oc-gtxt{font:400 14px/1.2 var(--oc-font);color:var(--oc-text);white-space:nowrap}

/* Botón «Mostrar mapa»: no tapa la ventana de filtros ni el pie */
html.oc-fm-on .oc-listings .hfy-listings-map-toggle,html.oc-at-footer body:not(.listings-map-visible) .oc-listings .hfy-listings-map-toggle{opacity:0;pointer-events:none}   /* con el mapa abierto, el botón de cerrar nunca se oculta */

/* Ventana «Filtros»: por encima de todo (cabecera incluida) y sin el buscador asomando */
html.oc-fm-on .oc-ls-top{position:relative;z-index:3000}
html.oc-fm-on .oc-ls-search .hfy-search-form-row,html.oc-fm-on .oc-msearch{visibility:hidden}
.oc-fm-backdrop{z-index:1!important}
.hfy-search-form-row-advanced.oc-fm-open{z-index:2!important}
.oc-fm-close{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;min-height:0!important}
.oc-fm-head .oc-fm-title{font:600 16px/1.2 var(--oc-font)!important;letter-spacing:0!important;color:var(--oc-text)!important;margin:0!important}
.oc-pills{display:flex;flex-wrap:wrap;gap:8px}
.oc-pill{min-width:56px;height:40px;padding:0 18px;background:#fff;border:1px solid #ddd;border-radius:999px;font:400 14px var(--oc-font);color:var(--oc-text);cursor:pointer}
.oc-pill:hover{border-color:var(--oc-text)}
.oc-pill[aria-pressed="true"]{background:var(--oc-text);border-color:var(--oc-text);color:#fff}
.oc-am-more{margin:14px 0 4px;padding:0;background:none!important;border:0!important;font:600 15px var(--oc-font);color:var(--oc-text);text-decoration:underline;cursor:pointer}
.oc-am-rest{margin-top:12px}

/* Textos de la tarjeta: el plugin los pintaba en gris */
.oc-ls-list .list-card .description{color:var(--oc-text)!important}
.oc-ls-list .list-card .title{color:var(--oc-text)!important}
.oc-ls-list .list-card .title .prefix,.oc-ls-list .list-card .title .suffix{color:var(--oc-muted)!important}

/* Carrusel: se puede arrastrar con el ratón */
.oc-car-track{cursor:grab;-webkit-user-drag:none;user-select:none}
.oc-car-track.is-drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.oc-car-track img{-webkit-user-drag:none;user-select:none}

/* Móvil: buscador plegado en una píldora («¿Dónde vas?») */
.oc-msearch{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:10px 18px;background:#fff;border:1px solid #ddd;border-radius:999px;box-shadow:0 3px 12px rgba(0,0,0,.1);text-align:left;cursor:pointer}
.oc-msearch svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--oc-text);stroke-width:2.6;stroke-linecap:round}
.oc-msearch span{display:flex;flex-direction:column;min-width:0}
.oc-msearch strong{font:600 15px/1.25 var(--oc-font);color:var(--oc-text)}
.oc-msearch small{overflow:hidden;font:400 13px/1.3 var(--oc-font);color:var(--oc-muted);white-space:nowrap;text-overflow:ellipsis}
@media (max-width:900px){
  .oc-ls-search:not(.is-open) .hfy-search-form-row{display:none!important}
  .oc-ls-search.is-open .oc-msearch{margin-bottom:10px}
}
@media (min-width:901px){
  .oc-msearch{display:none}
  html.oc-fm-on .oc-ls-top{position:sticky}
}

/* =================================================================
   Correcciones v3.2
   ================================================================= */
/* Botón Buscar en mostaza con texto negro: resalta y cumple contraste (9:1) */
.oc-ls-search .col-action .btn-primary{background:var(--oc-accent)!important;color:var(--oc-text)!important}
.oc-ls-search .col-action .btn-primary:hover{background:#e4a52f!important}
.oc-ls-search .col-action svg path{fill:none;stroke:var(--oc-text)}
@keyframes oc-pulse{0%{box-shadow:0 0 0 0 rgba(242,181,68,.7)}100%{box-shadow:0 0 0 14px rgba(242,181,68,0)}}
.oc-ls-search .col-action .btn-primary.oc-pulse{animation:oc-pulse 1s 2}

/* El panel de filtros nunca aparece fuera de la ventana (evita el destello al recargar con filtros) */
.oc-ls-search .hfy-search-form-row-advanced:not(.oc-fm-open){display:none!important}

/* Ventana «Filtros»: cabecera, títulos y botones */
.oc-fm-open>.oc-fm-head{display:flex!important;align-items:center;justify-content:center;height:64px;padding:0 64px!important;border-bottom:1px solid #ebebeb}
.oc-fm-open .oc-fm-head .oc-fm-close{position:absolute!important;left:16px;top:50%;width:36px!important;height:36px!important;margin:-18px 0 0!important;border:0!important;border-radius:50%!important;background:none!important;box-shadow:none!important;outline-offset:2px}
.oc-fm-open .oc-car-hidden,.oc-fm-open .am-title,.oc-fm-open .toggle-more{display:none!important}
.oc-fm-open .adv-search-item-title{width:auto!important;max-width:none!important;flex:none!important}
.oc-fm-open .oc-pill{border-radius:999px!important}
.oc-fm-open .oc-am-pop label,.oc-fm-open .oc-am-rest label{gap:10px}
.oc-fm-open .oc-ico{width:20px;height:20px;flex:none;fill:none;stroke:var(--oc-text);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Destacados con icono propio y precio en rojo */
.oc-badge{display:inline-flex;align-items:center;gap:6px}
.oc-badge .oc-ico{width:15px;height:15px;flex:none;fill:none;stroke:var(--oc-text);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.oc-badge--hot .oc-ico{stroke:#1e6fd9}
.oc-badge--fav .oc-ico{stroke:#b07d10}
.oc-ls-list .list-card .title.oc-price-deal,.oc-mc-price.oc-price-deal{color:#c1121f!important}
.oc-ls-list .list-card .title.oc-price-deal .prefix,.oc-ls-list .list-card .title.oc-price-deal .suffix{color:#c1121f!important;opacity:.85}
.oc-deal{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:13px;font-weight:500;color:#c1121f}
.oc-deal .oc-ico{width:15px;height:15px;flex:none;fill:none;stroke:#c1121f;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.oc-ls-map .priceMap.oc-pin-deal{color:#c1121f!important}
.oc-ls-map .priceMap.oc-pin-deal.oc-pin-on{background:#c1121f!important;color:#fff!important;box-shadow:0 0 0 1px #c1121f,0 4px 10px rgba(0,0,0,.3)!important}

/* Flechas del carrusel: también cuando el JS marca la tarjeta (portátiles táctiles) */
.list-card.oc-hover .oc-car-btn,.oc-map-card:hover .oc-car-btn{opacity:1!important}
.oc-car-btn{z-index:3}

/* Botón del mapa (móvil/tableta): texto centrado */
.hfy-theme1 .hfy-listings-map-toggle.hfy-ctrl-show-map .hfy-lmt-show,.hfy-theme1 .hfy-listings-map-toggle.hfy-ctrl-hide-map .hfy-lmt-hide{display:inline-flex!important;align-items:center;justify-content:center;height:48px;line-height:1!important;padding:0 24px!important}
.oc-listings .hfy-listings-map-toggle .btn::after{display:none}

/* Calendario: el círculo siempre redondo aunque la celda sea más ancha (móvil) y sin desplegable de meses */
.oc-ls-search .datepicker__month-dropdown{display:none!important}
.oc-ls-search .datepicker__month-day--first-day-selected,.oc-ls-search .datepicker__month-day--last-day-selected{background:radial-gradient(circle closest-side,var(--oc-text) 96%,transparent 100%)!important;border-radius:0!important}
.oc-ls-search .datepicker__month-day--valid:hover{box-shadow:none;background:radial-gradient(circle closest-side,transparent 88%,var(--oc-text) 90%,var(--oc-text) 97%,transparent 100%)}

@media (max-width:1099px){
  body:not(.listings-map-visible) .oc-ls-follow{display:none!important}
  /* Mapa en móvil/tableta: deja visible la cabecera (logo y menú) */
  .listings-map-visible-mobile .hfy-map-wrapper,.listings-map-visible-tablet .hfy-map-wrapper{top:calc(var(--wp-admin--admin-bar--height,0px) + var(--oc-hh,60px))!important;z-index:950!important}
  .listings-map-visible .oc-header{z-index:960}
}
@media (min-width:768px) and (max-width:1099px){
  .listings-map-visible-tablet .hfy-map-wrapper,.listings-map-visible-mobile .hfy-map-wrapper{top:calc(var(--wp-admin--admin-bar--height,0px) + var(--oc-hh,64px))!important}
}

/* =================================================================
   v3.3 — buscador, precios, móvil tipo Airbnb
   ================================================================= */
/* En esta página sobra «Buscar alojamiento» en la cabecera */
.oc-header__cta{display:none!important}

/* Buscador: más bajo, todos los tramos alineados y «Huéspedes» */
.oc-ls-search .col-guests>.form-group::before{content:"Huéspedes"}
.oc-ls-search .hfy-search-form-row>._col>.form-group{display:flex;flex-direction:column;justify-content:center;margin:0!important}
.oc-ls-search .col-guests .input-group,.oc-ls-search .col-guests .guests-count-num-wrap,.oc-ls-search .col-guests .guests-input-label{height:22px!important;min-height:0!important;line-height:22px!important;display:flex!important;align-items:center}
.oc-ls-search .hfy-search-form-row .form-control{height:22px}
.oc-ls-search .col-dates .input-group{position:relative}
.oc-dtxt{position:absolute;inset:0;display:flex;align-items:center;overflow:hidden;font:400 14px/1.2 var(--oc-font);color:var(--oc-text);white-space:nowrap;text-overflow:ellipsis;pointer-events:none}
.oc-ls-search .hotel-datepicker.oc-has-d{color:transparent!important}
@media (min-width:901px){
  .oc-ls-search .hfy-search-form-row{padding:4px 4px 4px 0;align-items:stretch}
  .oc-ls-search .hfy-search-form-row>._col{display:flex;flex-direction:column;justify-content:center;padding:8px 24px!important}
  .oc-ls-search .col-action{justify-content:center;padding:0 0 0 8px!important}
  .oc-ls-search .col-action .btn-primary{height:48px}
}

/* Título con número de resultados */
.oc-ls-total{margin:2px 0 0;font-size:15px;color:var(--oc-muted)}

/* Precios: «en total» con fechas (como Airbnb) */
.oc-ls-list .list-card .title.oc-total{text-decoration:underline;text-underline-offset:3px}

/* Ficha del mapa: el destacado no choca con los botones; ✕ redonda */
.oc-map-card .oc-badge{max-width:calc(100% - 120px)}
.oc-map-card .oc-mc-close{border:0!important;border-radius:50%!important;padding:0!important}

/* Rejilla: nada desborda en móvil (títulos largos) */
.oc-ls-list .row{grid-template-columns:minmax(0,1fr)}
.oc-ls-list .row>*{min-width:0}
@media (min-width:640px){.oc-ls-list .row{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}}
@media (min-width:1100px){.oc-ls-list .row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.oc-ci-head,.oc-ci-feat,.oc-ls-list .list-card .info{min-width:0}

/* ---------- Móvil y tableta: mapa arriba + hoja con la lista ---------- */
.oc-mapbtn{display:none}
@media (max-width:1099px){
  /* Cabecera fija tipo app: píldora de búsqueda con el botón de filtros a su derecha y píldoras debajo */
  .oc-ls-top{position:relative;padding:10px 0 8px}
  .oc-msearch{justify-content:flex-start;min-height:56px;width:calc(100% - 58px)}
  .oc-msearch span{flex:1;align-items:center;text-align:center;padding-right:20px}
  .oc-ls-filters{margin-top:10px}
  .oc-ls-filters .oc-fbtn{position:absolute;top:14px;right:0;width:48px;height:48px;padding:0;justify-content:center;border-radius:50%}
  .oc-ls-filters .oc-fbtn>span:not(.oc-fbtn-n){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .oc-ls-filters .oc-fbtn-n{position:absolute;top:-4px;right:-4px}
  .oc-fsep{display:none}
  .oc-chip{height:40px;padding:0 16px}
  html.oc-msheet .oc-listings .hfy-listings-map-toggle{display:none!important}   /* lo sustituyen la hoja y el botón «Mapa» */
}
html.oc-msheet,html.oc-msheet body{height:100%;overflow:hidden;overscroll-behavior:none}
@media (max-width:1099px){
  html.oc-msheet .oc-ls-map{position:static;height:0;margin:0}
  html.oc-msheet .oc-ls-map .hfy-map-wrapper{display:block!important;position:fixed!important;top:var(--oc-map-top,180px)!important;left:0!important;right:0!important;bottom:0!important;z-index:1!important;width:auto!important;height:auto!important;background:#f4f1ea}
  html.oc-msheet .oc-ls-map .hfy-wrap,html.oc-msheet .oc-ls-map .hfy-listing-map,html.oc-msheet .oc-ls-map .hfy-map-wrapper>div:not(.oc-map-card){height:100%!important}
  html.oc-msheet body .oc-ls-follow{display:flex!important;top:10px}
  html.oc-msheet .oc-ls-main{position:fixed;top:var(--oc-map-top,180px);left:0;right:0;bottom:0;z-index:5;padding:0 16px 24px;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -4px 16px rgba(0,0,0,.12);transform:translateY(var(--oc-sheet-y,40vh))}
  html.oc-msheet[data-sheet="full"] .oc-ls-main{border-radius:0;box-shadow:none}
  html.oc-msheet .oc-sheet-handle{position:sticky;top:0;z-index:4;margin:0 -16px 8px;padding:10px 16px 12px;background:#fff;border-radius:20px 20px 0 0;text-align:center;cursor:grab;touch-action:none}
  html.oc-msheet .oc-sheet-grip{display:block;width:40px;height:5px;margin:0 auto 10px;background:#c9c9c9;border-radius:3px}
  html.oc-msheet .oc-sheet-count{margin:0;font:600 16px var(--oc-font);color:var(--oc-text)}
  html.oc-msheet .oc-ls-head{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0}   /* el h1 sigue para Google y lectores de pantalla */
  html.oc-msheet .oc-ls-count{display:none}
  html.oc-msheet .oc-ls-bar{margin:4px 0 16px}
  html.oc-msheet .oc-footer{margin:32px -16px -24px}
  html.oc-msheet .oc-map-card.is-sheet{bottom:calc(var(--oc-peek-gap,92px) + 12px)}
  html.oc-msheet[data-sheet="full"] .oc-mapbtn{display:inline-flex}
  .oc-mapbtn{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:20;align-items:center;gap:8px;height:44px;padding:0 20px;background:var(--oc-text);border:0;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.25);font:600 15px var(--oc-font);color:#fff;cursor:pointer;transform:translateX(-50%)}
  .oc-mapbtn svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linejoin:round}
}
@media (prefers-reduced-motion:no-preference){
  html.oc-msheet .oc-ls-main{transition:transform .28s cubic-bezier(.2,.8,.2,1)}
  html.oc-msheet .oc-ls-main.is-dragging{transition:none}
}
/* Ajustes tras la prueba en Chromium real con el CSS del plugin */
.hfy-search-form-row-advanced.oc-fm-open>.oc-fm-head{display:flex!important;align-items:center!important;justify-content:center!important;padding:0 64px!important}
.hfy-search-form-row-advanced.oc-fm-open>.oc-fm-head .oc-fm-title{width:auto!important;text-align:center}
.oc-fm-foot{width:100%!important}
.oc-ls-search .oc-gtxt{display:block;height:22px;margin:0!important;padding:0!important;line-height:22px!important}
.oc-ls-list .list-card a .oc-deal,.oc-map-card .oc-deal{color:#c1121f!important}
.oc-ls-search .hfy-search-form-row>._col .input-group{height:22px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}
.oc-ls-search .hfy-search-form-row>._col>.form-group{height:auto!important}
.oc-map-card.is-sheet .oc-mc-fav{right:auto;left:90px;top:8px}
.oc-map-card.is-sheet .oc-mc-close{top:8px;right:8px}
.oc-map-card.is-sheet .oc-mc-body{padding:12px 44px 12px 14px}

/* =================================================================
   v3.4
   ================================================================= */
/* Franja superior (cabecera + buscador + filtros) en blanco roto, a todo el ancho, como Airbnb.
   Además tapa por completo los anuncios que pasan por debajo al desplazarse (antes asomaban por los lados) */
.oc-header{background:var(--oc-soft)}
body.oc-page-listings main{overflow-x:clip}
.oc-ls-top{position:relative;z-index:20;background:var(--oc-soft);border-bottom:0}
.oc-ls-top::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;background:var(--oc-soft);border-bottom:1px solid var(--oc-line)}
@media (min-width:901px){.oc-ls-top{position:sticky;z-index:850}}
html.oc-fm-on .oc-ls-top{z-index:3000}
.oc-ls-search .hfy-search-form-row{background:#fff}
.oc-chip,.oc-fbtn{background:#fff}

/* Destacados con una sombra algo más marcada para que se separen de la foto */
.oc-badge{box-shadow:0 2px 8px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.04)}

/* El asa de la hoja solo existe en móvil */
.oc-sheet-handle{display:none}
html.oc-msheet .oc-sheet-handle{display:block}

/* =================================================================
   v3.5
   ================================================================= */
/* Flechas del carrusel: siempre círculo blanco (sin el recuadro de foco del navegador al pulsar) */
.oc-car-btn{border:0!important;border-radius:50%!important;padding:0!important;outline:none}
.oc-car-btn:focus-visible{outline:2px solid #222!important;outline-offset:2px}

/* Fila de filtros: flechas para deslizar en ordenador */
.oc-ls-filters{position:relative}
.oc-chipnav{position:absolute;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-top:-18px;padding:0;background:#fff;border:1px solid #c9c9c9;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.12);cursor:pointer}
.oc-chipnav[hidden]{display:none}
.oc-chipnav svg{width:12px;height:12px;fill:none;stroke:#222;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.oc-chipnav:hover{border-color:#222}
.oc-chipnav--next{right:0}
.oc-chipnav--prev{left:0}
.oc-chipnav--next::before{content:"";position:absolute;right:34px;top:-6px;bottom:-6px;width:48px;background:linear-gradient(90deg,rgba(250,248,243,0),var(--oc-soft));pointer-events:none}
@media (hover:none) and (pointer:coarse){.oc-chipnav{display:none!important}}

/* Destacados: el texto se recorta con «…» si no cabe (ficha del mapa) y son pulsables para ver la explicación */
.oc-badge{pointer-events:auto;cursor:help}
.oc-badge-t{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.oc-map-card .oc-badge{max-width:calc(100% - 124px)}
.oc-ci-rate,.oc-deal{cursor:help}

/* Buscador: las fechas caben enteras */
@media (min-width:901px){
  .oc-ls-search .col-dates{flex:1.6 1 0!important;min-width:230px}
  .oc-ls-search .col-keyword{flex:1 1 0!important}
}

/* Explicación emergente */
.oc-tip{position:fixed;z-index:10001;padding:12px 14px;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.04);font:400 14px/1.45 var(--oc-font);color:#222;pointer-events:none}
.oc-tip[hidden]{display:none}
.oc-tip strong{display:block;margin-bottom:4px;font-weight:600}
.oc-tip span{color:#444}
[data-oc-tip]:focus-visible{outline:2px solid #222;outline-offset:2px}
/* Bootstrap (del plugin) dibuja un marco cuadrado al pulsar cualquier botón: solo se muestra al navegar con teclado */
.oc-listings button:focus:not(:focus-visible),.oc-map-card button:focus:not(:focus-visible),.oc-car-btn:focus:not(:focus-visible),.oc-chipnav:focus:not(:focus-visible),[data-oc-tip]:focus:not(:focus-visible){outline:none!important}
/* Ubicación excelente */
.oc-badge--loc .oc-ico{stroke:#1f7a4d}
/* Precio por debajo de lo habitual: píldora junto al precio (mezcla Airbnb/Booking) */
.oc-deal,.oc-ls-list .list-card a .oc-deal,.oc-map-card .oc-deal{display:inline-flex!important;align-items:center;gap:5px;margin:4px 0 0;padding:4px 10px;background:#fdeced;border-radius:999px;font:600 12px/1.2 var(--oc-font);color:#c1121f!important;vertical-align:middle;width:max-content}
.oc-deal .oc-ico{width:13px;height:13px}
.oc-ls-map .priceMap.oc-pin-deal{color:#c1121f!important}

/* ---------- v3.9 (06/10/2026): píldoras de destacado con color propio ---------- */
.oc-badge.oc-badge--hot{background:#1e5fd0!important;color:#fff!important}
.oc-badge.oc-badge--hot .oc-ico{stroke:#fff!important}
.oc-badge.oc-badge--fav{background:#fff!important;color:#222!important}
.oc-badge.oc-badge--fav .oc-ico{stroke:#b07d10!important}
.oc-badge.oc-badge--loc{background:#fff!important;color:#222!important}
.oc-badge.oc-badge--loc .oc-ico{stroke:#1f7a4d!important}

/* Total de la estancia mientras llega (sin bloquear la página) */
.oc-ls-list .list-card .title.oc-tpend{position:relative;font-size:0!important;min-height:24px}
.oc-ls-list .list-card .title.oc-tpend *{display:none!important}
.oc-ls-list .list-card .title.oc-tpend::before{content:"";display:block;width:120px;height:18px;margin-top:4px;border-radius:6px;background:linear-gradient(90deg,#eee 25%,#f6f6f6 50%,#eee 75%);background-size:200% 100%;animation:oc-shim 1.2s linear infinite}
@keyframes oc-shim{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.oc-ls-list .list-card .title.oc-tpend::before{animation:none}}
.oc-ls-list .list-card .oc-tna{font-size:14px;color:var(--oc-muted)}

/* Precio por defecto = tarifa no reembolsable (se puede cambiar a flexible en la ficha) */
.oc-ls-list .list-card .title .oc-tnr-l,.oc-map-card .title .oc-tnr-l{display:block;margin-top:1px;font-size:12px;font-weight:400;color:var(--oc-muted);text-decoration:none}

/* «X % por debajo de lo habitual»: brillo en bucle, con pausa (igual que en la ficha) */
@media (prefers-reduced-motion:no-preference){
  .oc-deal{position:relative;overflow:hidden}
  .oc-deal::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:50%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.75) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);animation:oc-pill-shine 7s ease-in-out 1.5s infinite;pointer-events:none}
}
@keyframes oc-pill-shine{0%{left:-60%}14%{left:130%}100%{left:130%}}

/* La píldora de oferta aparece junto con su precio (no antes) */
.oc-ls-list [id^="lb-"]:not(.oc-has-total) .oc-deal{visibility:hidden}

/* ---------- v3.28: MÓVIL — búsqueda en hoja a pantalla completa (como la app de Airbnb) ---------- */
.oc-ms-head{display:none}
@media (max-width:900px){
  html.oc-ms-open{overflow:hidden}
  .oc-ls-search.is-open{position:fixed!important;inset:0;z-index:1000;margin:0!important;padding:0 16px calc(100px + env(safe-area-inset-bottom))!important;background:#f7f7f7;overflow-y:auto;overscroll-behavior:contain;animation:oc-ms-in .2s ease-out}
  .oc-ls-search.is-open .oc-msearch{display:none!important}
  .oc-ls-search.is-open .oc-ms-head{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:5;height:56px;margin:0 -16px 12px;padding:0 16px;background:#f7f7f7;font:600 16px var(--oc-font);color:var(--oc-text)}
  .oc-ms-x{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid #ddd;border-radius:50%;background:#fff;cursor:pointer}
  .oc-ms-x svg{width:16px;height:16px;fill:none;stroke:#222;stroke-width:2.4;stroke-linecap:round}
  /* Cada paso en su tarjeta */
  .oc-ls-search.is-open .hfy-search-form-row{display:flex!important;flex-direction:column;gap:12px;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
  .oc-ls-search.is-open .hfy-search-form-row>._col:not(.col-action){padding:16px 18px!important;background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.08);height:auto!important;min-height:0!important}
  .oc-ls-search.is-open .hfy-search-form-row>._col>.form-group{display:block!important;height:auto!important}
  .oc-ls-search.is-open .hfy-search-form-row>._col>.form-group::before{margin:0 0 10px!important;font:700 20px/1.2 var(--oc-font)!important;letter-spacing:0}
  .oc-ls-search.is-open .col-keyword>.form-group::before{content:"¿Dónde?"!important}
  .oc-ls-search.is-open .col-dates>.form-group::before{content:"¿Cuándo?"!important}
  .oc-ls-search.is-open .col-guests>.form-group::before{content:"¿Quién?"!important}
  .oc-ls-search.is-open .hfy-search-form-row .form-control,.oc-ls-search.is-open .col-dates .input-group{height:48px!important;font-size:16px!important}
  .oc-ls-search.is-open .col-keyword .form-control,.oc-ls-search.is-open .col-dates .input-group{padding:0 14px!important;border:1px solid #b0b0b0!important;border-radius:10px!important;background:#fff!important}
  .oc-ls-search.is-open .col-dates .oc-dtxt{font-size:16px}
  /* Viajeros siempre a la vista, con los botones −/+ (sin desplegable que tape nada ni mascotas) */
  .oc-ls-search.is-open .col-guests .guests-count-num-wrap,.oc-ls-search.is-open .col-guests input.guests{display:none!important}
  .oc-ls-search.is-open .col-guests .booking-search-input-container{display:block!important;height:auto!important;background:none!important}
  .oc-ls-search.is-open .col-guests .booking-search-input-container::before,.oc-ls-search.is-open .col-guests .oc-gtxt{display:none!important}
  .oc-ls-search.is-open .col-guests .number-guest-input{display:flex!important;align-items:center;justify-content:space-between;gap:12px;height:auto!important}
  .oc-ls-search.is-open .col-guests .func-box{flex:none}
  .oc-ls-search.is-open .col-guests .input-func-box{display:flex;align-items:center}
  .oc-ls-search.is-open .col-guests .select-guests-wrap{display:block!important;position:static!important}
  .oc-ls-search.is-open .col-guests .select-guests-dropdown{display:block!important;position:static!important;width:auto!important;min-width:0;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important}
  .oc-ls-search.is-open .select-guests-item{margin:0!important;padding:14px 0!important}
  .oc-ls-search.is-open .select-guests-item+.select-guests-item{border-top:1px solid #ebebeb}
  .oc-ls-search.is-open .select-guests-item.pets-control,.oc-ls-search.is-open .btn-close-guests-box{display:none!important}
  .oc-ls-search.is-open .select-guests-wrap .context{font:600 16px/1.3 var(--oc-font);color:var(--oc-text)}
  .oc-ls-search.is-open .select-guests-wrap .subcontext{margin-top:2px;font:400 14px/1.3 var(--oc-font)!important;color:var(--oc-muted)}
  .oc-ls-search.is-open .select-guests-wrap .func-box input{min-width:36px;max-width:36px;padding:0;font:400 16px var(--oc-font);color:var(--oc-text)}
  .oc-ls-search.is-open .select-guests-wrap .ctrl-dec,.oc-ls-search.is-open .select-guests-wrap .ctrl-inc{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #b0b0b0;border-radius:50%;background:#fff none!important;color:#6a6a6a;font:400 20px/1 var(--oc-font);cursor:pointer}
  .oc-ls-search.is-open .select-guests-wrap .ctrl-dec::before{content:"\2212"}
  .oc-ls-search.is-open .select-guests-wrap .ctrl-inc::before{content:"+"}
  .oc-ls-search.is-open .select-guests-wrap .disabled{opacity:.3}
  .oc-ls-search.is-open .select-guests-wrap .extra-description{margin:4px 0 0;padding-top:12px;border-top:1px solid #ebebeb;font:400 13px/1.45 var(--oc-font);color:var(--oc-muted)}
  /* «Buscar» fijo abajo */
  .oc-ls-search.is-open .col-action{position:fixed!important;left:0;right:0;bottom:0;z-index:6;padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;background:#fff;border-top:1px solid var(--oc-line)}
  .oc-ls-search.is-open .col-action .btn-primary{width:100%!important;height:52px!important;border-radius:10px!important;font-size:16px!important}
  /* El calendario se abre por encima de la hoja */
  .oc-ls-search.is-open .datepicker:not(.datepicker--inline){z-index:1010!important}
}
@keyframes oc-ms-in{from{transform:translateY(16px);opacity:.5}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.oc-ls-search.is-open{animation:none}}
@media (max-width:900px){
  /* La hoja de búsqueda va por encima de la cabecera de la web */
  html.oc-ms-open .oc-ls-top{position:relative;z-index:100001!important;transform:none!important}
  html.oc-ms-open .oc-header{visibility:hidden}
}
@media (max-width:900px){.oc-ls-search.is-open .col-keyword .input-group{height:auto!important}}

/* ---------- v3.29: MÓVIL — tira de alojamientos del mapa (deslizable, con «Reservar») ---------- */
.oc-mstrip{display:none}
@media (max-width:900px){
  .oc-mstrip{display:block;position:absolute;left:0;right:0;bottom:calc(var(--oc-peek-gap,92px) + 10px);z-index:9}
  .oc-mstrip[hidden]{display:none}
  .oc-mstrip-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 24px;padding:4px 24px 8px;scrollbar-width:none;overscroll-behavior-x:contain}
  .oc-mstrip-track::-webkit-scrollbar{display:none}
  .oc-mstrip-x{position:absolute;right:16px;top:-42px;z-index:2;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2);cursor:pointer}
  .oc-mstrip-x svg{width:14px;height:14px;fill:none;stroke:var(--oc-text);stroke-width:3;stroke-linecap:round}
  .oc-ms-card{position:relative;flex:0 0 calc(100% - 48px);display:flex;min-height:150px;overflow:hidden;background:#fff;border-radius:16px;box-shadow:0 6px 20px rgba(0,0,0,.22);scroll-snap-align:center;scroll-snap-stop:always;font-family:var(--oc-font)}
  .oc-ms-pic{position:relative;flex:0 0 42%;min-height:150px;overflow:hidden;background:var(--oc-soft)}
  .oc-ms-pic .oc-mc-img{position:absolute;inset:0;display:block}
  .oc-ms-pic .oc-mc-img img,.oc-ms-pic .oc-car-track img{width:100%;height:100%;object-fit:cover}
  .oc-ms-pic .oc-car-track{position:absolute;inset:0}
  .oc-ms-pic .oc-car-ui{inset:0;width:auto;aspect-ratio:auto}
  .oc-ms-pic .oc-badge{position:absolute;left:8px;top:8px;max-width:calc(100% - 52px);font-size:11px}
  .oc-ms-pic .oc-mc-fav{position:absolute;right:8px;top:8px;z-index:3;width:30px;height:30px}
  .oc-ms-body{flex:1;min-width:0;display:flex;flex-direction:column;padding:10px 12px 12px;font-size:13px;line-height:1.35}
  .oc-ms-body .oc-mc-name{-webkit-line-clamp:2;font-size:14px}
  .oc-ms-body .oc-mc-price{margin:4px 0 0;font-size:14px}
  .oc-ms-book{display:flex;align-items:center;justify-content:center;min-height:40px;margin-top:auto;padding:0 12px;border-radius:10px;background:linear-gradient(90deg,#f2b544 0%,#e9963a 100%);color:#222!important;font:600 14px var(--oc-font);text-decoration:none!important}
  .oc-ms-more{margin-top:6px;text-align:center;font:500 12px var(--oc-font);color:var(--oc-text)!important;text-decoration:underline;text-underline-offset:2px}
  .oc-ms-body .oc-deal{font-size:11px}
}
@media (max-width:1099px){
  /* El botón de filtros va a la derecha de la píldora de búsqueda, no encima de las píldoras de filtros */
  .oc-ls-top .oc-ls-filters{position:static}
  .oc-ls-top{position:relative}
  .oc-ls-filters .oc-fbtn{top:14px;right:var(--oc-ls-pad,0px)}
}
@media (max-width:900px){
  /* Hoja de búsqueda: las tarjetas ocupan todo el ancho */
  .oc-ls-search.is-open form,.oc-ls-search.is-open .hfy-search-form-wrap,.oc-ls-search.is-open .hfy-search-form-row{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
  .oc-ls-search.is-open .hfy-search-form-row{align-items:stretch!important}
  .oc-ls-search.is-open .hfy-search-form-row>._col{width:100%!important;max-width:none!important;flex:none!important;box-sizing:border-box}
}

/* ---------- v3.31: móvil y tableta — el mapa solo se carga al pulsar «Mapa» (en el iPhone, cargarlo al abrir cerraba la página) ---------- */
@media (max-width:1099px){
  html:not(.oc-msheet) .oc-ls-map{display:none!important}
  .oc-listings .hfy-listings-map-toggle{display:none!important}
  .oc-mapbtn.oc-mapbtn--pre{display:inline-flex}
  .oc-mapbtn.oc-mapbtn--pre[hidden],html.oc-msheet .oc-mapbtn.oc-mapbtn--pre{display:none!important}
  html.oc-ms-open .oc-mapbtn--pre,html.oc-fm-on .oc-mapbtn--pre{display:none!important}
}

/* v3.32: la hoja de la lista se coloca con «top» en vez de «transform» (en el iPhone, una capa transformada con
   ~80 tarjetas dentro puede consumir mucha memoria de gráficos) */
@media (max-width:1099px){
  html.oc-msheet .oc-ls-main{transform:none!important;top:calc(var(--oc-map-top,180px) + var(--oc-sheet-y,40vh))!important;transition:top .28s cubic-bezier(.2,.8,.2,1)}
  html.oc-msheet .oc-ls-main.is-dragging{transition:none}
}
@media (prefers-reduced-motion:reduce){html.oc-msheet .oc-ls-main{transition:none}}
/* v3.33: en el móvil el navegador no pinta las tarjetas que están lejos de la pantalla (menos memoria y trabajo) */
@media (max-width:1099px){
  .oc-ls-list [id^="lb-"]{content-visibility:auto;contain-intrinsic-size:auto 420px}
}

/* ---------- v3.34: fechas del buscador en dos partes; nada de texto flotando sobre el calendario ---------- */
.oc-dtxt small{display:none}
.oc-dtxt .oc-dt-c b{font-weight:inherit}
.oc-dtxt.is-empty{visibility:hidden}   /* sin fechas, se ve el texto de ayuda del campo («Añade fechas») */
.oc-dp-on .col-dates input.hotel-datepicker{color:transparent!important}
.oc-dp-on .col-dates input.hotel-datepicker::placeholder{color:transparent!important}
.oc-dp-on .col-dates .oc-dtxt{visibility:hidden}
@media (max-width:900px){
  .oc-ls-search.is-open .col-dates .input-group{height:62px!important;padding:0!important;position:relative}
  .oc-ls-search.is-open .col-dates input.hotel-datepicker{height:100%!important;padding:0 14px!important;font-size:16px!important}
  .oc-ls-search.is-open .col-dates .oc-dtxt{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;padding:0;font-size:15px}
  .oc-ls-search.is-open .col-dates .oc-dtxt.is-empty{visibility:visible}
  .oc-ls-search.is-open .col-dates .oc-dt-sep{display:none}
  .oc-ls-search.is-open .col-dates .oc-dt-c{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:0 14px}
  .oc-ls-search.is-open .col-dates .oc-dt-c+.oc-dt-sep+.oc-dt-c{border-left:1px solid #b0b0b0}
  .oc-ls-search.is-open .col-dates .oc-dtxt small{display:block;font:700 10px/1.2 var(--oc-font);letter-spacing:.04em;text-transform:uppercase;color:var(--oc-text)}
  .oc-ls-search.is-open .col-dates .oc-dtxt b{font-weight:400;overflow:hidden;text-overflow:ellipsis}
  .oc-ls-search.is-open .col-dates .oc-dtxt.is-empty b{color:var(--oc-muted)}
  .oc-ls-search.is-open .col-dates input.hotel-datepicker{color:transparent!important}
  .oc-ls-search.is-open .col-dates input.hotel-datepicker::placeholder{color:transparent!important}
  .oc-ls-search.is-open.oc-dp-on .col-dates .oc-dtxt{visibility:hidden}
}
.oc-dtxt .oc-dt-sep{padding:0 .35em}

/* ---------- v3.35: páginas de resultados (20 por página) y «Buscar en esta zona» ---------- */
.oc-pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:32px 0 6px}
.oc-pg{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:50%;font:600 15px var(--oc-font);color:var(--oc-text);text-decoration:none}
a.oc-pg:hover{background:#f2f2f2;text-decoration:underline}
a.oc-pg:focus-visible{outline:2px solid var(--oc-text);outline-offset:2px}
.oc-pg.is-on{background:var(--oc-text);color:#fff}
.oc-pg--nav{border:1px solid #d0d0d0;font-size:20px;line-height:1}
.oc-pg.is-off{opacity:.3}
.oc-pg-gap{padding:0 2px;color:var(--oc-muted)}
.oc-pager-info{margin:4px 0 28px;text-align:center;font:400 14px var(--oc-font);color:var(--oc-muted)}
.oc-ls-allzone{margin-left:10px;padding:0;background:none;border:0;font:600 14px var(--oc-font);color:var(--oc-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.oc-ls-zone{position:absolute;top:14px;left:50%;z-index:6;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border:0;border-radius:999px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.18);font:600 14px var(--oc-font);color:var(--oc-text);cursor:pointer;white-space:nowrap}
.oc-ls-zone[hidden]{display:none}
.oc-ls-zone svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.oc-ls-zone:focus-visible{outline:2px solid var(--oc-text);outline-offset:2px}
@media (max-width:900px){.oc-pg{min-width:36px;height:36px}}

/* ---------- v3.37: paginación centrada; resultados que cambian sin recargar ---------- */
.oc-pager,.oc-pager-info{flex:0 0 100%;width:100%;max-width:100%;box-sizing:border-box}
.oc-pager{justify-content:center}
.oc-ls-list.oc-loading .hfy-widget-wrap-listings{opacity:.45;pointer-events:none;transition:opacity .15s}
.oc-ls-list .hfy-widget-wrap-listings{transition:opacity .15s}
.oc-ls-allzone[hidden]{display:none}

/* ---------- v3.38: paginación centrada aunque el tema o el plugin cambien la maquetación del contenedor ---------- */
.oc-pager-wrap{display:block!important;flex:0 0 100%!important;width:100%!important;max-width:none!important;clear:both;margin:28px 0 24px!important;padding:0!important;text-align:center!important;float:none!important}
.oc-pager-wrap .oc-pager{display:inline-flex!important;width:auto!important;margin:0 auto 6px!important;justify-content:center!important;flex-wrap:nowrap}
.oc-pager-wrap .oc-pager-info{display:block!important;width:100%!important;margin:6px 0 0!important;text-align:center!important}

/* ---------- v3.39: «Quitar zona» en la línea del contador ---------- */
.oc-ls-total{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}
.oc-ls-allzone{display:inline-flex;align-items:center;gap:5px;margin:0!important;padding:4px 10px 4px 8px!important;border:1px solid #d0d0d0!important;border-radius:999px!important;background:#fff!important;font:600 13px/1.2 var(--oc-font)!important;color:var(--oc-text)!important;text-decoration:none!important;cursor:pointer}
.oc-ls-allzone:hover{border-color:var(--oc-text)!important}
.oc-ls-allzone:focus-visible{outline:2px solid var(--oc-text);outline-offset:2px}
.oc-ls-allzone svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}
.oc-ls-allzone[hidden]{display:none!important}

/* ---------- v3.39: «Destino» como desplegable de ciudades ---------- */
.oc-ls-search .col-keyword select.oc-city{width:100%;height:auto;min-height:22px;padding:0 22px 0 0!important;border:0!important;background:transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='2.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right center/14px!important;font:400 14px/1.3 var(--oc-font)!important;color:var(--oc-text)!important;box-shadow:none!important;appearance:none;-webkit-appearance:none;cursor:pointer}
.oc-ls-search .col-keyword select.oc-city:focus-visible{outline:2px solid var(--oc-text);outline-offset:4px;border-radius:4px}
@media (max-width:900px){
  .oc-ls-search.is-open .col-keyword select.oc-city{height:48px!important;padding:0 40px 0 14px!important;border:1px solid #b0b0b0!important;border-radius:10px!important;background-color:#fff!important;background-position:right 14px center!important;font-size:16px!important}
}

/* ---------- v3.39: sección intercalada en los resultados (como Airbnb) ---------- */
.oc-ls-list .oc-sec{float:left;clear:both;width:100%;flex:0 0 100%;max-width:100%;box-sizing:border-box;margin:8px 0 28px;padding:0!important}
.oc-ls-list .oc-sec[hidden]{display:none!important}
.oc-sec-in{padding:20px 0 16px;border-radius:16px;background:#f7f5f0}
.oc-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 16px 12px}
.oc-sec-t{margin:0!important;font:600 20px/1.25 var(--oc-font)!important;color:var(--oc-text)!important;letter-spacing:0}
.oc-sec-s{margin:4px 0 0!important;font:400 14px/1.4 var(--oc-font);color:var(--oc-muted)}
.oc-sec-nav{display:none;gap:8px;flex:none}
.oc-sec-nav button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #d0d0d0;border-radius:50%;background:#fff;font:400 20px/1 var(--oc-font);color:var(--oc-text);cursor:pointer}
.oc-sec-nav button:hover:not(:disabled){border-color:var(--oc-text)}
.oc-sec-nav button:disabled{opacity:.35;cursor:default}
.oc-sec-nav button:focus-visible{outline:2px solid var(--oc-text);outline-offset:2px}
.oc-sec-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;padding:0 16px 4px;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.oc-sec-track::-webkit-scrollbar{display:none}
.oc-sec-card{flex:0 0 72%;min-width:0;display:flex;flex-direction:column;gap:2px;scroll-snap-align:start;color:var(--oc-text)!important;text-decoration:none!important;font-family:var(--oc-font)}
.oc-sec-card:focus-visible{outline:2px solid var(--oc-text);outline-offset:3px;border-radius:12px}
.oc-sec-img{display:block;aspect-ratio:4/3;margin-bottom:8px;overflow:hidden;border-radius:12px;background:#ece8df}
.oc-sec-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.oc-sec-card:hover .oc-sec-img img{transform:scale(1.03)}
.oc-sec-n{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:600 14px/1.35 var(--oc-font)}
.oc-sec-r{font:400 13px/1.4 var(--oc-font);color:var(--oc-text)}
.oc-sec-p{font:400 14px/1.4 var(--oc-font);color:var(--oc-muted)}
.oc-sec-p b{color:var(--oc-text);font-weight:600}
.oc-sec-pend{color:var(--oc-muted);letter-spacing:2px}
.oc-sec-dots{display:flex;justify-content:center;gap:6px;margin:12px 0 0}
.oc-sec-dots[hidden]{display:none}
.oc-sec-dots i{width:6px;height:6px;border-radius:50%;background:#cfc9bc;transition:background .2s,transform .2s}
.oc-sec-dots i.on{background:var(--oc-text);transform:scale(1.25)}
@media (min-width:600px){.oc-sec-card{flex-basis:calc((100% - 24px)/2.4)}}
@media (min-width:901px){
  .oc-sec-in{padding:24px 0 20px}
  .oc-sec-head{padding:0 20px 14px}
  .oc-sec-track{padding:0 20px 4px;scroll-padding:0 20px}
  .oc-sec-nav{display:flex}
  .oc-sec-card{flex-basis:calc((100% - 36px)/3.3)}
  .oc-sec-dots{display:none}
}
@media (prefers-reduced-motion:reduce){.oc-sec-img img{transition:none}}
.oc-ls-list .listing-block>.oc-sec{grid-column:1/-1!important}
@media (max-width:900px){
  .oc-ls-search.is-open .col-keyword select.oc-city{background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='2.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 14px center/16px!important}
}

/* ---------- v3.40: sección intercalada más parecida a Airbnb (tarjetas grandes, misma información que el listado) ---------- */
.oc-sec-in{padding:24px 0 20px;border-radius:20px}
.oc-sec-head{align-items:center;padding:0 16px 16px}
.oc-sec-t{font:600 22px/1.25 var(--oc-font)!important}
.oc-sec-s{font-size:15px}
.oc-sec-nav{align-items:center}
.oc-sec-count{margin-right:6px;font:400 14px var(--oc-font);color:var(--oc-text);white-space:nowrap}
.oc-sec-track{gap:16px}
.oc-sec-card{position:relative;flex:0 0 82%;gap:0}
.oc-sec-img{display:block;aspect-ratio:20/19;margin:0 0 10px;overflow:hidden;border-radius:16px;background:#ece8df}
.oc-sec-info{display:block;color:var(--oc-text)!important;text-decoration:none!important;font-family:var(--oc-font)}
.oc-sec-info:focus-visible{outline:2px solid var(--oc-text);outline-offset:3px;border-radius:8px}
.oc-sec-info .description{margin:0;overflow:hidden;font:400 15px/1.4 var(--oc-font);color:var(--oc-muted);white-space:nowrap;text-overflow:ellipsis}
.oc-sec-info .oc-ci-type{font-size:15px}
.oc-sec-info .oc-ci-feat{font-size:15px;line-height:1.4}
.oc-sec-info .title{margin:6px 0 0;font:400 15px/1.4 var(--oc-font);color:var(--oc-text)}
.oc-sec-info .title b{font-weight:600}
.oc-sec-info .title.oc-total{text-decoration:underline;text-underline-offset:3px}
.oc-sec-info .title.oc-sec-from .prefix,.oc-sec-info .title.oc-sec-from .suffix{color:var(--oc-muted)}
.oc-sec-info .title.oc-price-deal,.oc-sec-info .title.oc-price-deal .prefix,.oc-sec-info .title.oc-price-deal .suffix{color:#c1121f!important}
.oc-sec-info .oc-sec-pend{color:var(--oc-muted);letter-spacing:2px}
.oc-sec-card .oc-badge{top:12px;left:12px}
.oc-sec-card .oc-fav{top:8px;right:8px}
@media (min-width:600px){.oc-sec-card{flex-basis:calc((100% - 16px)/2.2)}}
@media (min-width:901px){
  .oc-sec-in{padding:28px 0 24px}
  .oc-sec-head{padding:0 24px 18px}
  .oc-sec-track{padding:0 24px 4px;scroll-padding:0 24px}
  .oc-sec-t{font-size:26px!important}
  .oc-sec-card{flex-basis:calc((100% - 16px)/2.25)}
}

/* ---------- v3.40: desplegable «Destino» con el estilo de la web ---------- */
.oc-city-wrap{position:relative}
.oc-city-wrap select.oc-city{display:none!important}
.oc-city-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:22px;padding:0;border:0;background:none;font:400 14px/1.3 var(--oc-font);color:var(--oc-text);text-align:left;cursor:pointer}
.oc-city-btn:focus-visible{outline:2px solid var(--oc-text);outline-offset:4px;border-radius:4px}
.oc-city-v{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.oc-city-chev{flex:none;width:14px;height:14px;fill:none;stroke:var(--oc-text);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.oc-city-wrap.is-open .oc-city-chev{transform:rotate(180deg)}
.oc-city-list{position:absolute;z-index:40;top:calc(100% + 18px);left:-20px;min-width:300px;margin:0;padding:10px;list-style:none;background:#fff;border-radius:20px;box-shadow:0 2px 16px rgba(0,0,0,.14),0 0 0 1px rgba(0,0,0,.04)}
.oc-city-list[hidden]{display:none}
.oc-city-list li{display:flex;align-items:center;gap:14px;margin:0;padding:10px 12px;border-radius:12px;font:400 15px/1.3 var(--oc-font);color:var(--oc-text);cursor:pointer}
.oc-city-list li:hover,.oc-city-list li:focus{background:#f7f7f7;outline:none}
.oc-city-list li:focus-visible{box-shadow:inset 0 0 0 2px var(--oc-text)}
.oc-city-list li[aria-selected="true"]{font-weight:600}
.oc-city-ico{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:12px;background:#f1f1f1}
.oc-city-ico svg{width:20px;height:20px;fill:none;stroke:var(--oc-text);stroke-width:1.8;stroke-linejoin:round}
@media (max-width:900px){
  .oc-ls-search.is-open .col-keyword .oc-city-btn{height:48px;padding:0 14px;border:1px solid #b0b0b0;border-radius:10px;background:#fff;font-size:16px}
  .oc-ls-search.is-open .oc-city-list{position:static;min-width:0;margin-top:8px;box-shadow:none;border:1px solid #ebebeb;border-radius:12px}
}
/* v3.41: «Calidad-precio» */
.oc-badge--val .oc-ico,.oc-badge.oc-badge--val .oc-ico{stroke:#3b4cca!important}
.oc-badge.oc-badge--val{background:#fff!important;color:#222!important}

/* ---------- v3.43: distintivos que rotan en la tarjeta (brillo discreto, desfasado del brillo del precio) ---------- */
.oc-badge[data-bl]{position:absolute;overflow:hidden}
.oc-badge[data-bl] .oc-ico,.oc-badge[data-bl] .oc-badge-t{transition:opacity .22s ease,transform .22s ease}
.oc-badge.oc-b-out .oc-ico,.oc-badge.oc-b-out .oc-badge-t{opacity:0;transform:translateY(-3px)}
.oc-badge.oc-b-shine::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,rgba(242,181,68,0) 0%,rgba(242,181,68,.38) 50%,rgba(242,181,68,0) 100%);transform:skewX(-20deg);animation:oc-b-shine 1s ease-out;pointer-events:none}
@keyframes oc-b-shine{from{left:-60%}to{left:130%}}
@media (prefers-reduced-motion:reduce){.oc-badge.oc-b-shine::after{animation:none;display:none}}
/* v3.44: el dedo siempre puede deslizar las fotos y franjas (por si alguna regla del tema o del plugin lo impide) */
.oc-car-track,.oc-sec-track,.oc-mstrip-track{overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-x pan-y}

/* v3.46.3: etiquetas del buscador en inglés (se ponen desde el CSS) */
html[lang^="en"] .oc-ls-search .col-keyword>.form-group::before{content:"Where"}
html[lang^="en"] .oc-ls-search .col-dates>.form-group::before{content:"Dates"}
html[lang^="en"] .oc-ls-search .col-guests>.form-group::before{content:"Guests"}
@media (max-width:900px){
  html[lang^="en"] .oc-ls-search.is-open .col-keyword>.form-group::before{content:"Where?"!important}
  html[lang^="en"] .oc-ls-search.is-open .col-dates>.form-group::before{content:"When?"!important}
  html[lang^="en"] .oc-ls-search.is-open .col-guests>.form-group::before{content:"Who?"!important}
}

/* v3.47.1: precio al mes en estancias mensuales */
.oc-tmo{display:block;margin-top:2px;font:400 13px/1.3 var(--oc-font);color:var(--oc-muted)}

/* v3.47.2: desplegable de huéspedes con aire (como Airbnb): cada fila separada, textos sin cortes */
.oc-ls-search .select-guests-dropdown{min-width:360px;padding:8px 20px!important}
.oc-ls-search .select-guests-item{padding:14px 0;border-top:1px solid #ebebeb}
.oc-ls-search .select-guests-item:first-child{border-top:0}
.oc-ls-search .select-guests-item .number-guest-input{display:flex!important;align-items:center;justify-content:space-between;gap:20px;flex-wrap:nowrap}
.oc-ls-search .select-guests-item .context-box{flex:1 1 auto;min-width:0}
.oc-ls-search .select-guests-item .context{font:600 16px/1.3 var(--oc-font);color:var(--oc-text)}
.oc-ls-search .select-guests-item .subcontext{margin-top:2px;font:400 13px/1.3 var(--oc-font);color:var(--oc-muted);white-space:nowrap}
.oc-ls-search .select-guests-item .func-box{flex:0 0 auto}
/* v3.51 · Contraste suficiente en «Desde» y «/ noche» (PageSpeed) */
.oc-ls-list .list-card .title .prefix,.oc-ls-list .list-card .title .suffix,.oc-mc-price .prefix,.oc-mc-price .suffix{color:#595959!important;opacity:1!important}

/* v3.54 · Destino con sugerencias (ciudad, lugar o nombre del alojamiento) */
.oc-city-in{display:block;width:100%;min-width:0;height:auto;min-height:22px;margin:0;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;font:400 14px/1.3 var(--oc-font);color:var(--oc-text);text-overflow:ellipsis;outline:none;-webkit-appearance:none;appearance:none}
.oc-city-in::placeholder{color:#717171;opacity:1}
.oc-city-in:focus,.oc-city-in:focus-visible{outline:none!important}
.oc-city-q .oc-ac{left:-20px;top:calc(100% + 18px)}
@media (max-width:900px){
  .oc-ls-search.is-open .col-keyword .oc-city-in{height:48px;padding:0 14px!important;border:1px solid #b0b0b0!important;border-radius:10px;background:#fff!important;font-size:16px}
  .oc-city-q .oc-ac{left:0;top:calc(100% + 8px);width:100%}
}

/* v3.60 · Búsqueda cerca de un hospital o centro: etiqueta, distancia en las tarjetas y separador de los de más de 3 km */
.oc-lugar-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;margin:0 0 12px;padding:6px 6px 6px 12px;border:1.5px solid var(--oc-text);border-radius:999px;background:#fff;font:600 14px/1.3 var(--oc-font);color:var(--oc-text)}
.oc-lugar-chip>svg{flex:none;width:18px;height:18px;fill:none;stroke:#c1121f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.oc-lugar-chip a,.oc-lugar-chip .oc-lugar-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--oc-text);text-decoration:none}
.oc-lugar-chip a:hover{text-decoration:underline;text-underline-offset:3px}
.oc-lugar-chip button{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#f1f1f1;color:var(--oc-text);cursor:pointer}
.oc-lugar-chip button:hover{background:#e2e2e2}
.oc-lugar-chip button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.oc-ci-km{display:inline-flex;align-items:center;gap:4px;margin:2px 0 0;font-size:13px;font-weight:600;color:var(--oc-text)}
.oc-ci-km svg{flex:none;width:14px;height:14px;fill:none;stroke:#c1121f;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.oc-lugar-sep{grid-column:1/-1;flex:0 0 100%;width:100%;max-width:100%;box-sizing:border-box;margin:8px 0 18px;padding:18px 20px;border-radius:16px;background:var(--oc-soft,#f7f6f2);border-left:4px solid var(--oc-accent,#f2b544)}
.oc-lugar-sep strong{display:block;font-family:var(--oc-serif);font-weight:400;font-size:22px;line-height:1.2;color:var(--oc-dark,#474c41)}
.oc-lugar-sep span{display:block;margin-top:4px;font-size:14px;color:var(--oc-muted,#6b6f66)}

/* v3.95 · Tarjetas en estancias mensuales: precio al mes destacado con el original tachado en rojo */
.oc-tmo-on{display:flex!important;flex-direction:column;gap:1px}
.oc-tmo-on .oc-tmo{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin:0;font:400 14px/1.25 var(--oc-font);color:var(--oc-text)}
.oc-tmo-on .oc-tmo b{font-size:18px;font-weight:700}
.oc-tmo-on .oc-tmo small{font-size:13px;color:var(--oc-muted)}
.oc-tmo-on .oc-ttot{font:400 13px/1.3 var(--oc-font);color:var(--oc-muted)}
.oc-was{color:#c0392b!important;text-decoration:line-through;text-decoration-thickness:1.5px;font-weight:400}

/* v3.99 · Reembolsable en mensuales */
.oc-tmo-on .oc-tfree{display:inline-flex;align-items:center;gap:4px;margin-top:3px;font:600 12.5px/1.3 var(--oc-font);color:#1e7e34}

/* v3.127 · Qué se compara en el precio tachado */
.oc-was-why{display:block;margin-top:2px;font-size:12px;font-weight:400;line-height:1.3;color:var(--oc-muted)}

/* v3.142 · El precio tachado se ve tachado también dentro del enlace de la tarjeta (la regla general quitaba el tachado) */
.oc-ls-list .list-card a .oc-was,.oc-was{text-decoration:line-through!important;text-decoration-thickness:1.5px}

/* v3.145 · Pocos resultados: fechas cercanas con más disponibilidad */
.oc-sm-shift{margin:0 0 18px;padding:16px;border-radius:14px;background:#f6f3ec;border:1px solid #ebe4d6;font-family:var(--oc-font)}
.oc-sm-shift .oc-sm-t{margin:0 0 4px;font-size:15px;font-weight:700}
.oc-sm-shift .oc-sm-s{margin:6px 0 8px;font-size:13.5px;color:var(--oc-muted)}
.oc-sm-shift .oc-sm-dates{display:flex;flex-wrap:wrap;gap:8px}
.oc-sm-shift .oc-sm-date{padding:7px 12px;border-radius:999px;border:1px solid var(--oc-line,#ddd);background:#fff;font-size:13.5px;color:var(--oc-text)!important;text-decoration:none!important}
.oc-sm-shift .oc-sm-date:hover{border-color:var(--oc-dark,#2b2b2b)}
/* v3.146 · Propuesta de tarifa mensual en la tarjeta */
.oc-ls-list .list-card .oc-sm-card{display:inline-block;margin-top:4px;padding:3px 9px;border-radius:999px;background:#eef6f0;color:#0c6b3b;font-size:12.5px;font-weight:600;line-height:1.35}

/* v3.157 · Precio como Sklum: etiqueta de descuento */
.oc-off{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;background:#ededed;color:#3a3a3a;font-size:12.5px;font-weight:600;line-height:1.5;vertical-align:middle;text-decoration:none!important}
.oc-ls-list .list-card .oc-tmo b{font-size:17px}
.oc-ls-list .list-card .oc-tmo .oc-was{margin-left:6px;font-size:13px}
/* «+1 noche · ahorra 428 €» con (i) */
.oc-ls-list .list-card .oc-sm-card{display:inline-flex;align-items:center;gap:6px}
.oc-sm-i{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1.3px solid currentColor;font:700 10.5px/1 Georgia,serif;font-style:italic;cursor:pointer}
.oc-sm-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.4)}
.oc-sm-modal-b{position:relative;max-width:420px;width:100%;padding:24px 22px 20px;border-radius:16px;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.25);font-family:var(--oc-font);font-size:15px;line-height:1.5;color:var(--oc-text)}
.oc-sm-modal-b p{margin:0 0 10px}
.oc-sm-modal .oc-sm-t{font-size:17px;font-weight:700}
.oc-sm-x{position:absolute;top:8px;right:10px;width:32px;height:32px;border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:var(--oc-muted)}
.oc-sm-modal .oc-sm-go{display:inline-block;margin-top:4px;padding:10px 18px;border-radius:10px;background:var(--oc-dark,#2b2b2b);color:#fff!important;font-weight:600;text-decoration:none}

/* v3.158 · Tarjeta: nombre más grande, precio y total más grandes, etiqueta de descuento mayor y sin subrayar;
   cancelación gratuita en verde con el escudo de la ficha, sin subrayar */
.oc-ci-type{font-size:16.5px}
.oc-ls-list .list-card .title.oc-total.oc-tmo-on{text-decoration:none}
.oc-ls-list .list-card .oc-tmo-on .oc-tmo b{font-size:20px}
.oc-ls-list .list-card .oc-tmo-on .oc-tmo small{font-size:14px}
.oc-ls-list .list-card .oc-tmo .oc-was{font-size:14px}
.oc-ls-list .list-card .oc-off{font-size:13.5px;padding:2px 8px;text-decoration:none!important}
.oc-ls-list .list-card .oc-tmo-on .oc-ttot{display:inline-block;font-size:14.5px;color:var(--oc-text)!important;text-decoration:underline;text-underline-offset:3px}
.oc-ls-list .list-card .oc-tmo-on .oc-tfree,.oc-ls-list .list-card a .oc-tfree{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font:600 13px/1.3 var(--oc-font);color:#1e7e34!important;text-decoration:none!important}
.oc-ls-list .list-card .oc-tfree svg{flex:none;color:#1e7e34}
