/* =================================================================
   Only Charming · Ficha de alojamiento (solo se carga en /listing/)
   ================================================================= */
/* ---------- Página ---------- */
main.wp-block-group{margin-top:0!important}
body.oc-page-listing main .wp-block-group{padding-top:24px!important}
.oc-listing{max-width:1240px!important;width:100%;font-family:var(--oc-font);font-size:16px;line-height:1.6;color:var(--oc-text);box-sizing:border-box}
.oc-listing h1,.oc-listing h2,.oc-listing h3,.oc-listing h4,.oc-listing .hfy-listing-title{font-family:var(--oc-serif);font-weight:400;color:var(--oc-dark)}

/* ---------- Cabecera y galería ---------- */
.oc-listing h1.hfy-listing-title,.oc-head .hfy-listing-title{font-size:clamp(28px,4vw,44px)!important;line-height:1.15;margin:0 0 20px}
.oc-listing .hfy-listing-gallery{border-radius:var(--oc-radius);overflow:hidden}

/* ---------- Datos bajo la galería ---------- */
.oc-facts .hfy-listing-hotel-facilities{display:flex!important;flex-wrap:wrap;gap:0;font-size:17px;color:var(--oc-text)}
.oc-facts .hfy-listing-hotel-facilities>div{border:0!important;background:none!important;padding:0!important;margin:0!important;display:inline!important}
.oc-facts .hfy-listing-hotel-facilities img{display:none!important}
.oc-facts .hfy-listing-hotel-facilities>div:not(:last-child)::after{content:"·";margin:0 8px}
.oc-rating-line{margin:6px 0 0;font-weight:600}
.oc-rating-line a{color:var(--oc-text);text-decoration:underline}

/* ---------- Columnas ---------- */
.oc-cols{display:flex;gap:64px;align-items:flex-start;margin-top:32px}
.oc-main{flex:1 1 auto;min-width:0}
.oc-side{flex:0 0 370px;position:sticky;top:90px}
.oc-section{scroll-margin-top:90px;padding:32px 0;border-bottom:1px solid var(--oc-line)}
.oc-section:first-child{padding-top:0}
.oc-section:last-child{border-bottom:0}
.oc-section>h2{font-size:28px;line-height:1.2;margin:0 0 18px}

/* ---------- Ventajas con icono ---------- */
.oc-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;margin:0;padding:0}
.oc-trust li{background:var(--oc-soft);border-radius:12px;padding:16px}
.oc-trust svg{display:block;width:26px;height:26px;margin-bottom:10px;fill:none;stroke:var(--oc-dark);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.oc-trust strong{display:block;color:var(--oc-dark);font-weight:600;margin-bottom:4px}
.oc-trust span{font-size:14px;color:var(--oc-muted)}
.oc-trust a{color:inherit;text-decoration:none}

/* ---------- Comodidades ---------- */
.oc-amen .hfy-listing-amenities{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px}
.oc-amen .hfy-am{border:0!important;background:none!important;padding:0!important;margin:0!important;display:flex!important;align-items:center;gap:14px;font-size:16px}
.oc-amen .hfy-am img{width:26px;height:26px;opacity:.85;flex:none}
.oc-amen .hfy-am:not(:has(img))::before{content:"";width:26px;height:26px;flex:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23474c41' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center/20px no-repeat}
.oc-amen .hfy-am.oc-hide,.oc-amen .hfy-am.oc-dup{display:none!important}
.oc-more{margin-top:24px;background:#fff;border:1px solid var(--oc-dark);color:var(--oc-dark);border-radius:10px;padding:12px 22px;font-weight:600;font-family:inherit;cursor:pointer}
.oc-more:hover{background:#f6f5f2}

/* ---------- Valoraciones ---------- */
.oc-reviews .reviews-comments-list{display:grid!important;grid-template-columns:1fr 1fr;gap:28px 40px;overflow:visible!important}
.oc-reviews .reviews-comments-item{width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;box-shadow:none!important;border:0!important;padding:0!important}
.oc-reviews .comment-content{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:6px 0 0}
.oc-reviews .comment-content.oc-open{display:block;-webkit-line-clamp:unset}
.oc-readmore{background:none;border:0;padding:0;margin-top:6px;font-family:inherit;font-weight:600;color:var(--oc-dark);text-decoration:underline;cursor:pointer}

/* ---------- Mapa ---------- */
.oc-map .hfy-listing-location{border-radius:var(--oc-radius);overflow:hidden;border:1px solid var(--oc-line);box-shadow:0 6px 24px rgba(0,0,0,.06)}
.oc-map .location-wrapper{height:420px;width:100%;background:#f4f1ea;contain:layout paint}
.oc-map .static-location-wrapper img{width:100%;height:auto;display:block}
.oc-map .location-wrapper img[src*="hostify-booking"]{filter:grayscale(1) brightness(.45) sepia(.35)}
.oc-map .gm-style{font-family:var(--oc-font)!important}
.oc-map .gm-style button.gm-control-active,.oc-map .gm-style .gm-fullscreen-control{border-radius:10px!important;box-shadow:0 2px 8px rgba(0,0,0,.15)!important}
.oc-map-note{font-size:14px;color:var(--oc-muted);margin-top:10px}

/* ---------- Caja de reserva ---------- */
.oc-book{background:#fff;border:1px solid var(--oc-line);border-radius:var(--oc-radius);box-shadow:0 8px 28px rgba(0,0,0,.08);padding:24px}
.oc-book .form-control{border-radius:8px}
.oc-book .discount-code-wrap label{display:flex!important;align-items:center;gap:8px;font-size:13px!important;color:var(--oc-muted);margin:8px 0 4px;cursor:pointer}
.oc-book .discount-code-wrap input[type=checkbox]{width:15px!important;height:15px!important;margin:0!important;flex:none}
.oc-book .discount-code-wrap .input_wrap input[type=text]{display:inline-block;width:calc(100% - 96px)!important;font-size:14px;vertical-align:top}
.oc-book .discount_code_check{display:inline-block;width:88px!important;margin-left:6px;padding:8px!important;font-size:13px!important;background:#fff!important;color:var(--oc-dark)!important;border:1px solid var(--oc-dark)!important;border-radius:8px!important}
.oc-book .direct-inquiry-modal-open{background:var(--oc-dark)!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:15px!important;text-align:center;font-weight:600;cursor:pointer;margin-top:14px}
.oc-book .direct-inquiry-modal-open:hover{opacity:.92}
.oc-book .reset-date-wrap{text-align:center;margin-top:10px}
.oc-book .reset-date{border:0!important;background:none!important;padding:0!important;font-size:13px;color:var(--oc-muted)!important;text-decoration:underline;cursor:pointer}
.oc-book-note{text-align:center;font-size:13px;color:var(--oc-muted);margin:12px 0 0}

/* ---------- Calendario (Hotel Datepicker del plugin) estilo Airbnb ----------
   Vale para el desplegable de la caja de reserva y para el calendario de «Disponibilidad». */
.oc-listing .datepicker{font-family:var(--oc-font);color:var(--oc-text)}
.oc-listing .datepicker:not(.datepicker--inline){background:#fff;border:0;border-radius:24px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:20px 24px}
/* Meses lado a lado y alineados arriba (el plugin los apilaba en escalera) */
.oc-listing .datepicker__months{display:flex!important;flex-wrap:nowrap;align-items:flex-start;gap:16px 40px;height:auto!important;width:auto!important}
.oc-listing .datepicker__inner{width:auto!important}
.oc-listing .datepicker:not(.datepicker--inline){width:auto!important;max-width:calc(100vw - 24px);box-sizing:border-box}
.oc-listing .datepicker__months::before,.oc-listing .datepicker__months::after{display:none!important}
.oc-listing .datepicker__month{float:none!important;position:static!important;width:308px!important;table-layout:fixed;flex:none;margin:0!important;border-collapse:separate;border-spacing:0 2px}
.oc-listing .datepicker__month-caption,.oc-listing .datepicker__month-name{font-size:16px;font-weight:600;color:var(--oc-text);text-transform:none;letter-spacing:0;border:0}
.oc-listing .datepicker__month-name::first-letter{text-transform:uppercase}
.oc-listing .datepicker__week-name{width:44px;padding:0 0 6px!important;text-align:center;font-size:12px;font-weight:500;color:#717171;text-transform:none}
.oc-listing .datepicker__month-button{cursor:pointer;border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}
.oc-listing .datepicker__month-button:hover{background:#f1f1f1}
.oc-listing .datepicker__month-button--disabled{opacity:.25;pointer-events:none}

/* Días */
.oc-listing .datepicker__month-day{width:44px!important;height:44px!important;line-height:44px!important;padding:0!important;text-align:center;vertical-align:middle;font-size:14px;font-weight:600;color:var(--oc-text);background:transparent;border:0;border-radius:50%;cursor:pointer}
.oc-listing .datepicker__month-day:not(.datepicker__month-day--visibleMonth){visibility:hidden}
.oc-listing .datepicker__month-day--valid:hover{box-shadow:inset 0 0 0 1.5px var(--oc-text)}
.oc-listing .datepicker__month-day--today{text-decoration:underline;text-underline-offset:3px}
/* No disponibles: número tachado en gris (sin las ✕ rojas) */
.oc-listing .datepicker__month-day--invalid,.oc-listing .datepicker__month-day--disabled{color:#b0b0b0;font-weight:400;text-decoration:line-through;background:transparent;box-shadow:none;cursor:default}
.oc-listing .datepicker__month-day--invalid::before,.oc-listing .datepicker__month-day--invalid::after,
.oc-listing .datepicker__month-day--disabled::before,.oc-listing .datepicker__month-day--disabled::after{content:none!important}
/* Rango y extremos */
.oc-listing .datepicker__month-day--selected,.oc-listing .datepicker__month-day--hovering{background:#f1f1f1;color:var(--oc-text);border-radius:0}
.oc-listing .datepicker__month-day--first-day-selected,.oc-listing .datepicker__month-day--last-day-selected{background:var(--oc-text);color:#fff;border-radius:50%;text-decoration:none}

/* Resumen «N noches · fechas» que añade oc-listing.js */
.oc-cal-sum{padding:4px 6px 16px;margin-bottom:10px;border-bottom:1px solid #ebebeb}
.oc-cal-sum strong{display:block;font-size:22px;font-weight:600;color:#222;line-height:1.3}
.oc-cal-sum span{font-size:14px;color:#717171}

/* ---------- Similares: carrusel con flechas ---------- */
.oc-similar{margin-top:56px;padding-top:40px;border-top:1px solid var(--oc-line)}
.oc-similar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.oc-similar-head h2{font-size:30px;line-height:1.2;margin:0}
.oc-arrows{display:flex;gap:8px;flex:none}
.oc-arrow{width:40px;height:40px;border-radius:50%;border:1px solid #c9c9c9;background:#fff;color:#222;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.oc-arrow:hover{border-color:#222;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.oc-arrow:disabled{opacity:.3;cursor:default;box-shadow:none}
.oc-similar .listings-selected{display:flex!important;flex-wrap:nowrap!important;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.oc-similar .listings-selected::-webkit-scrollbar{display:none}
.oc-similar .listings-selected>*{flex:0 0 calc((100% - 60px)/4)!important;max-width:calc((100% - 60px)/4)!important;scroll-snap-align:start;margin:0!important}
.oc-similar .listings-selected-item{text-align:left!important;border:0!important;box-shadow:none!important;padding:0!important;background:none!important}
.oc-similar .listings-selected-item .img{border-radius:14px;overflow:hidden}
.oc-similar .listings-selected-item .img img{width:100%!important;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s}
.oc-similar .listings-selected-item:hover .img img{transform:scale(1.04)}
.oc-similar .listings-selected-item .info,.oc-similar .listings-selected-item .description{padding:10px 0 0!important;text-align:left!important}
.oc-similar .listings-selected-item .title{text-align:left!important;margin:0 0 4px}
.oc-similar .listings-selected-item .title a{font-family:var(--oc-font);font-size:15px;font-weight:500;color:#222!important;text-decoration:none;line-height:1.35}
.oc-similar .listings-selected-item .details,.oc-similar .listings-selected-item .more{display:none!important}
.oc-similar .listings-selected-item .price{text-align:left!important;font-size:15px!important;color:#222}
.oc-similar .listings-selected-item .price::first-letter{text-transform:uppercase}
.oc-similar .listings-selected-item .price::after{content:" / noche";color:var(--oc-muted)}
.oc-similar .listings-selected-item .reviews-rating{justify-content:flex-start!important;text-align:left!important}

/* ---------- Móvil ---------- */
.oc-mobile-cta{display:none}
@media(max-width:1100px){
  .oc-similar .listings-selected>*{flex-basis:calc((100% - 40px)/3)!important;max-width:calc((100% - 40px)/3)!important}
}
@media(max-width:900px){
  .oc-cols{flex-direction:column;gap:0}
  .oc-side{flex-basis:auto;width:100%;position:static;margin-top:24px}
  .oc-trust,.oc-amen .hfy-listing-amenities,.oc-reviews .reviews-comments-list{grid-template-columns:1fr}
  .oc-map .location-wrapper{height:300px}
  .oc-arrows{display:none}
  .oc-similar .listings-selected>*{flex-basis:78%!important;max-width:78%!important}
  .oc-listing .datepicker:not(.datepicker--inline){padding:16px}
  .oc-listing .datepicker__month-day{width:40px!important;height:40px!important;line-height:40px!important}
  .oc-listing .datepicker__months{flex-wrap:wrap;justify-content:center}
  .oc-listing .datepicker__month{width:280px!important}
  .oc-listing .datepicker__week-name{width:40px}
  .oc-listing{padding-bottom:84px}
  .oc-mobile-cta{display:block;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:999;background:var(--oc-dark);color:#fff!important;text-align:center;padding:16px;border-radius:12px;font-weight:600;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.25)}
}

@media (prefers-reduced-motion:no-preference){.oc-similar .listings-selected{scroll-behavior:smooth}}

/* =================================================================
   Ficha v2 (estilo Airbnb) — 04/10/2026
   ================================================================= */
.oc-hidden{display:none!important}

/* Galería: 8 px entre fotos, esquinas redondeadas y botón «Mostrar todas las fotos» */
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;height:auto!important;max-height:none!important;aspect-ratio:2.1/1;align-items:stretch!important}
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.main{width:auto!important;height:auto!important;border:0!important;overflow:hidden}
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.list{width:auto!important;height:auto!important;display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px}
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.list>div{width:auto!important;height:auto!important;min-height:0;border:0!important;overflow:hidden}
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb img{width:100%!important;height:100%!important;object-fit:cover}
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb img:hover{transform:none!important;filter:brightness(.92)}
.oc-allphotos{position:absolute;right:20px;bottom:20px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid #222;border-radius:8px;font:600 14px var(--oc-font);color:#222;cursor:pointer}
.oc-allphotos svg{width:16px;height:16px;fill:#222}
.oc-allphotos:hover{background:#f7f7f7}
@media (max-width:900px){
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb{grid-template-columns:1fr;aspect-ratio:4/3}
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.list{display:none!important}
}

/* Recuadro «¡Qué suerte!» sobre la caja de reserva (como Airbnb) */
.oc-luck{margin:0 0 20px;padding:18px 20px;background:#fff;border:1px solid var(--oc-line);border-radius:var(--oc-radius);box-shadow:0 6px 20px rgba(0,0,0,.08)}
.oc-luck-row{display:flex;align-items:flex-start;gap:14px;margin:0;font-size:15px;line-height:1.45;cursor:help}
.oc-luck-row+.oc-luck-row{margin-top:14px;padding-top:14px;border-top:1px solid var(--oc-line)}
.oc-luck-ico{flex:none;width:30px;height:30px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.oc-luck--hot .oc-luck-ico{stroke:#1e6fd9}
.oc-luck--fav .oc-luck-ico{stroke:#b07d10}
.oc-luck--deal .oc-luck-ico{stroke:#c1121f}
.oc-luck--deal strong{color:#c1121f}

/* Botón «Reservar» con degradado de la marca (mostaza → ámbar), texto negro: contraste ≥ 7:1 */
.oc-book .btn-book-now{width:100%;min-height:52px;padding:14px!important;background:linear-gradient(90deg,#f2b544 0%,#e9963a 100%)!important;border:0!important;border-radius:10px!important;font:600 17px var(--oc-font)!important;color:#222!important;cursor:pointer;box-shadow:0 2px 8px rgba(233,150,58,.35)}
.oc-book .btn-book-now:hover{filter:brightness(1.04);box-shadow:0 4px 14px rgba(233,150,58,.45)}
.oc-book .btn-book-now:focus-visible{outline:2px solid #222;outline-offset:3px}
.oc-nocharge{margin:10px 0 0;text-align:center;font-size:14px;color:var(--oc-muted)}
.oc-book .direct-inquiry-modal-open.oc-inq-link{margin-top:14px!important;padding:0!important;background:none!important;border:0!important;color:var(--oc-text)!important;font-weight:500!important;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.oc-book .direct-inquiry-modal-open.oc-inq-link:hover{opacity:1;color:#000!important}
.oc-book .direct-inquiry-modal-open.oc-inq-link:focus-visible{outline:2px solid #222;outline-offset:3px;border-radius:4px}

/* Fechas visibles dd/mm/aaaa sobre el campo del plugin */
.oc-book .oc-dtxt{position:absolute;display:flex;align-items:center;padding:0;font:400 16px var(--oc-font);color:var(--oc-text);white-space:nowrap;overflow:hidden;pointer-events:none}
.oc-book input.hotel-datepicker.oc-has-d{color:transparent!important}
.oc-book .price-block-item ._label small{margin-left:4px;font-size:13px;color:var(--oc-muted)}

/* Valoraciones como Airbnb */
.oc-reviews h2.oc-rv-h2{display:flex;align-items:center;gap:10px;font-family:var(--oc-font)!important;font-weight:600!important;font-size:26px!important;color:var(--oc-text)!important;margin-bottom:6px}
.oc-h2-star{width:22px;height:22px;fill:var(--oc-text)}
.oc-rv-how{margin:0 0 22px;padding:0;background:none;border:0;font:400 14px var(--oc-font);color:var(--oc-muted);text-decoration:underline;cursor:help}
.oc-rv-sum{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(6,minmax(0,1fr));margin:0 0 32px}
.oc-rv-col{padding:0 14px;border-left:1px solid var(--oc-line)}
.oc-rv-col:first-child{padding-left:0;border-left:0}
.oc-rv-lbl{margin:0 0 4px;font-size:14px;font-weight:500;color:var(--oc-text);line-height:1.3}
.oc-rv-val{margin:0 0 18px;font-size:16px;font-weight:600}
.oc-rv-ico{width:28px;height:28px;fill:none;stroke:var(--oc-text);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.oc-rv-bar{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.6;color:var(--oc-text)}
.oc-rv-bar span{width:8px}
.oc-rv-bar i{flex:1;height:4px;background:#ddd;border-radius:2px;overflow:hidden}
.oc-rv-bar b{display:block;height:100%;background:#222;border-radius:2px}
.oc-rv-head{margin-bottom:4px}
.oc-rv-who{margin:0;font-weight:600;font-size:16px}
.oc-rv-meta{margin:2px 0 0;font-size:14px;color:var(--oc-muted)}
.oc-rv-stars{color:#222;font-size:12px;letter-spacing:1px}
.oc-rv-off{color:#ccc}
.oc-reviews .reviews-comments-item{display:grid!important;grid-template-columns:48px 1fr;column-gap:14px}
.oc-reviews .comment-author{width:48px!important;height:48px!important;border-radius:50%;object-fit:cover}
@media (max-width:900px){
  .oc-rv-sum{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}
  .oc-rv-col{padding:0 12px;border-left:0}
  .oc-rv-dist{grid-column:1/-1;padding:0}
  .oc-rv-val{margin-bottom:6px}
}

/* Calendario de «Disponibilidad»: los dos meses enteros (antes se cortaba el segundo) */
.oc-listing .hfy-listing-availability{max-width:none!important;width:auto!important;overflow:visible!important}
.oc-listing .datepicker--inline{width:auto!important;max-width:100%;overflow:visible!important;border:0;padding:0}
.oc-listing .datepicker--inline .datepicker__months{flex-wrap:wrap;justify-content:flex-start}
.oc-listing .datepicker--inline .datepicker__month{width:min(308px,100%)!important}

/* «Otros alojamientos»: nota, destacado y carrusel de fotos con flechas */
.oc-similar .listings-selected-item .img{position:relative;aspect-ratio:4/3}
.oc-similar .oc-car-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
.oc-similar .oc-car-track::-webkit-scrollbar{display:none}
.oc-similar .oc-car-track img{flex:0 0 100%;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover;scroll-snap-align:start;transform:none!important}
.oc-similar .oc-car-btn{position:absolute;top:50%;z-index:3;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-top:-16px;padding:0!important;background:rgba(255,255,255,.95)!important;border:0!important;border-radius:50%!important;box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:pointer;opacity:0;transition:opacity .2s}
.oc-similar .oc-car-btn[hidden]{display:none}
.oc-similar .oc-car-prev{left:10px}
.oc-similar .oc-car-next{right:10px}
.oc-similar .oc-car-btn svg{width:12px;height:12px;fill:none;stroke:#222;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.oc-similar .listings-selected-item:hover .oc-car-btn,.oc-similar .listings-selected-item.oc-hover .oc-car-btn,.oc-similar .oc-car-btn:focus-visible{opacity:1}
.oc-similar .oc-car-btn:focus:not(:focus-visible){outline:none}
.oc-similar .oc-car-dots{position:absolute;left:50%;bottom:10px;z-index:2;display:flex;gap:5px;transform:translateX(-50%)}
.oc-similar .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-similar .oc-car-dots i.on{opacity:1}
.oc-similar .oc-badge{position:absolute;top:12px;left:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px 12px;background:#fff;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.22);font:600 13px/1.3 var(--oc-font);color:#222;cursor:help}
.oc-similar .oc-badge .oc-ico{width:15px;height:15px;flex:none;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.oc-similar .oc-badge--hot .oc-ico{stroke:#1e6fd9}
.oc-similar .oc-badge--fav .oc-ico{stroke:#b07d10}
.oc-similar .oc-badge-t{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.oc-sim-rate{display:inline-flex;align-items:center;gap:4px;margin:2px 0 4px;font-size:15px;color:#222;cursor:help}
.oc-star-s{width:12px;height:12px;fill:#222}
@media (hover:none){.oc-similar .oc-car-btn{display:none}}

/* Explicación emergente de los destacados y de la nota */
.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}
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb{border:0!important}
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.list>div:nth-child(n+5){display:none!important}
/* Bootstrap (del plugin) dibuja un marco cuadrado al pulsar cualquier botón: solo se muestra al navegar con teclado */
.oc-listing button:focus:not(:focus-visible),.oc-listing input[type=submit]:focus:not(:focus-visible),[data-oc-tip]:focus:not(:focus-visible){outline:none!important}
@media (max-width:900px){
  .oc-allphotos{right:12px;bottom:12px;padding:6px 10px;font-size:13px}
  .oc-mobile-cta{background:linear-gradient(90deg,#f2b544 0%,#e9963a 100%)!important;color:#222!important}
}

/* ---------- v2.1 ---------- */
/* Recuadro de distinciones más visible (como Airbnb): icono grande centrado y rotación suave */
.oc-luck{position:relative;padding:20px 22px;border-radius:16px;box-shadow:0 6px 24px rgba(0,0,0,.10);border-color:#e6e2da}
.oc-luck-row{align-items:center;gap:16px;font-size:16px;line-height:1.45}
.oc-luck-row+.oc-luck-row{margin-top:0;padding-top:0;border-top:0}
.oc-luck.is-static .oc-luck-row+.oc-luck-row{margin-top:14px;padding-top:14px;border-top:1px solid var(--oc-line)}
.oc-luck-ico{width:44px;height:44px;padding:9px;border-radius:12px;box-sizing:border-box;stroke-width:2}
.oc-luck--hot .oc-luck-ico{background:#e8f1fd}
.oc-luck--fav .oc-luck-ico{background:#fbf3df}
.oc-luck--loc .oc-luck-ico{background:#e9f5ee;stroke:#1f7a4d}
.oc-luck--mu .oc-luck-ico{background:#fdeced;stroke:#c1121f}
.oc-luck-row strong{font-weight:600}
.oc-luck-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.oc-luck-dots i{width:6px;height:6px;border-radius:50%;background:#d6d3cc}
.oc-luck-dots i.on{background:#222}
@media (prefers-reduced-motion:no-preference){.oc-luck-row:not([hidden]){animation:oc-fade .45s ease}}
@keyframes oc-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* Píldora de precio por debajo de lo habitual, sobre las fechas y a la derecha */
.oc-dealrow{display:flex;justify-content:flex-end;margin:0 0 10px}
.oc-dealpill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fdeced;border-radius:999px;font:600 13px/1.2 var(--oc-font);color:#c1121f;cursor:help}
.oc-dealpill .oc-ico{width:14px;height:14px;fill:none;stroke:#c1121f;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* «Otros alojamientos»: precio total de tus fechas (subrayado, como Airbnb) */
.oc-sim-total{margin:2px 0 0;font-size:15px;font-weight:600;color:#222;text-decoration:underline;text-underline-offset:3px}
.oc-sim-total.is-na{font-weight:400;color:var(--oc-muted);text-decoration:none}
.oc-similar .oc-badge--loc .oc-ico{stroke:#1f7a4d}
.oc-luck-row[hidden]{display:none!important}
.oc-dealpill{border-radius:999px!important}

/* ---------- v3.7 (05/10/2026) ---------- */
/* Galería: siempre 1 + 4 fotos en escritorio (el plugin ocultaba 2 por debajo de 1128 px, p. ej. con zoom del navegador) */
@media (min-width:901px){
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.list>div:nth-child(-n+4){display:block!important}
}
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb img{object-position:50% 50%}

/* Valoraciones: las 6 categorías caben siempre sin cortar palabras.
   Estrecho: reparto arriba y categorías en 3 columnas · medio: 6 columnas · ancho: todo en una fila (como Airbnb) */
.oc-reviews{container-type:inline-size}
.oc-rv-sum{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}
.oc-rv-sum .oc-rv-dist{grid-column:1/-1;max-width:360px;padding:0;border:0}
.oc-rv-cat{min-width:0;padding:0 12px;border-left:1px solid var(--oc-line)}
.oc-rv-sum .oc-rv-cat:nth-child(3n+2){padding-left:0;border-left:0}
.oc-rv-sum--nodist .oc-rv-cat{border-left:1px solid var(--oc-line);padding-left:12px}
.oc-rv-sum--nodist .oc-rv-cat:nth-child(3n+1){padding-left:0;border-left:0}
@container (min-width:640px){
  .oc-rv-sum{grid-template-columns:repeat(6,minmax(0,1fr))}
  .oc-rv-sum .oc-rv-cat:nth-child(n){padding-left:12px;border-left:1px solid var(--oc-line)}
  .oc-rv-sum .oc-rv-cat:nth-child(2),.oc-rv-sum--nodist .oc-rv-cat:nth-child(1){padding-left:0;border-left:0}
}
@container (min-width:980px){
  .oc-rv-sum{grid-template-columns:minmax(170px,1.4fr) repeat(6,minmax(0,1fr))}
  .oc-rv-sum .oc-rv-dist{grid-column:auto;max-width:none;padding-right:14px}
  .oc-rv-sum .oc-rv-cat:nth-child(2){padding-left:14px;border-left:1px solid var(--oc-line)}
  .oc-rv-sum--nodist{grid-template-columns:repeat(6,minmax(0,1fr))}
}
.oc-rv-cat .oc-rv-lbl{font-size:14px;overflow-wrap:normal;word-break:normal}
@container (max-width:420px){
  .oc-rv-sum:not(.oc-rv-sum--x){grid-template-columns:repeat(2,minmax(0,1fr))}
  .oc-rv-sum .oc-rv-cat:nth-child(n){padding-left:12px;border-left:1px solid var(--oc-line)}
  .oc-rv-sum .oc-rv-cat:nth-child(2n){padding-left:0;border-left:0}
  .oc-rv-sum--nodist .oc-rv-cat:nth-child(n){padding-left:12px;border-left:1px solid var(--oc-line)}
  .oc-rv-sum--nodist .oc-rv-cat:nth-child(2n+1){padding-left:0;border-left:0}
}
.oc-rv-val.is-empty{color:var(--oc-muted);font-weight:400}

/* «Otros alojamientos»: títulos de 2 líneas como máximo y precios alineados */
.oc-similar .listings-selected-item .title{min-height:calc(15px*1.35*2);margin-bottom:4px}
.oc-similar .listings-selected-item .title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.oc-similar .oc-sim-rate{height:24px;margin:2px 0 4px;line-height:24px;overflow:hidden}
.oc-similar .listings-selected-item .info .price{margin:2px 0 0}
.oc-sim-total{font-size:15px}
.oc-sim-total.is-na{font-size:15px}
.oc-reviews .reviews-comments-item.oc-hidden,.oc-similar .oc-hidden{display:none!important}

/* ---------- v3.8 (06/10/2026) ---------- */
/* Galería: la foto rellena su hueco recortando solo un eje desde el centro (nunca zoom).
   Se fija en posición absoluta para que ningún estilo o script del plugin la pueda agrandar. */
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.main,
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.list>div{position:relative!important;padding:0!important;margin:0!important}
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.main>img,
.oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.list>div>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;margin:0!important;object-fit:cover!important;object-position:50% 50%!important;transform:none!important;scale:none!important}

/* «Otros alojamientos»: flechas de las fotos visibles en ordenador (en móvil se desliza con el dedo) */
@media (hover:hover){
  .oc-similar .oc-car-btn{opacity:.92}
  .oc-similar .listings-selected-item:hover .oc-car-btn{opacity:1}
}

/* «Muy solicitado»: píldora que resalta (azul de su icono, texto blanco) */
.oc-similar .oc-badge--hot{background:#1e5fd0;color:#fff}
.oc-similar .oc-badge--hot .oc-ico{stroke:#fff}

/* ---------- 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}

/* ---------- Opciones de cancelación (tarifas con cupón), como Airbnb ---------- */
.oc-book.oc-has-rates .discount-code-wrap{display:none!important}
.oc-rates{margin:4px 0 14px}
.oc-rates-h{margin:0 0 8px;font-weight:600;font-size:15px}
.oc-rates-list{border:1px solid #d0d0d0;border-radius:12px;overflow:hidden}
.oc-book .oc-rate{display:flex!important;align-items:center;justify-content:space-between;gap:14px;width:auto;margin:0;padding:14px 16px;cursor:pointer;font-weight:400;line-height:1.4}
.oc-book .oc-rate+.oc-rate{border-top:1px solid #e6e6e6}
.oc-rate-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.oc-rate-txt strong{font-weight:600;font-size:15px;color:#222}
.oc-rate-d{font-size:13px;color:var(--oc-muted)}
.oc-book .oc-rate input{flex:none;width:22px;height:22px;margin:0;accent-color:#222;cursor:pointer}
.oc-book .oc-rate.is-on{background:#fafafa}
.oc-rate:focus-within{outline:2px solid #222;outline-offset:-2px}
.oc-promo{margin:10px 0 0;font-size:13px}
.oc-promo button{padding:0;background:none;border:0;font:500 13px var(--oc-font);color:var(--oc-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.oc-promo-f{display:flex;gap:8px;margin-top:6px}
.oc-promo-f input{flex:1;min-width:0;height:38px;padding:0 10px;border:1px solid #b0b0b0;border-radius:8px;font:400 14px var(--oc-font);text-transform:uppercase}
.oc-promo-f .oc-promo-go{padding:0 14px;border:1px solid #222;border-radius:8px;text-decoration:none;background:#fff}
.oc-promo-err{display:block;margin-top:6px;color:#b42318}
.oc-promo-ok{color:#14532d;font-weight:500}
.oc-promo-x{margin-left:6px}
.oc-similar .oc-sim-total .oc-tnr-l{display:block;margin-top:1px;font-size:12px;font-weight:400;color:var(--oc-muted);text-decoration:none}

/* ---------- Recuadro de distinciones: animación de entrada (como el «¡Date prisa!» de Airbnb) ---------- */
.oc-luck[hidden]{display:none!important}
.oc-luck.has-mu .oc-luck--mu{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--oc-line)}
.oc-luck .oc-luck--mu[hidden]{display:flex!important}
.oc-luck--mu .oc-luck-ico{background:#fdeced;stroke:#c1121f}
.oc-luck--mu strong{color:#c1121f}
@media (prefers-reduced-motion:no-preference){
  .oc-luck-row.oc-anim .oc-luck-ico{animation:oc-ring 1.8s ease-in-out .2s 1}
  .oc-luck-row.oc-anim strong{background:linear-gradient(90deg,currentColor 0%,currentColor 40%,var(--oc-shine,#e9963a) 50%,currentColor 60%,currentColor 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:oc-shine 2.4s ease-out .3s 1 both}
  .oc-luck--fav{--oc-shine:#d4a017}
  .oc-luck--hot{--oc-shine:#1e5fd0}
  .oc-luck--loc{--oc-shine:#1f9a5c}
  .oc-luck--mu{--oc-shine:#ff5a5f}
}
@keyframes oc-ring{0%,100%{transform:rotate(0) scale(1)}8%{transform:rotate(-16deg) scale(1.12)}16%{transform:rotate(14deg) scale(1.12)}24%{transform:rotate(-12deg) scale(1.1)}32%{transform:rotate(10deg) scale(1.08)}40%{transform:rotate(-8deg) scale(1.05)}48%{transform:rotate(6deg)}56%{transform:rotate(-4deg)}64%{transform:rotate(2deg)}72%{transform:rotate(0)}}
@keyframes oc-shine{from{background-position:100% 0}to{background-position:0 0}}

/* ---------- Caja de reserva más protagonista (como Airbnb) ---------- */
@media (min-width:1128px){
  .oc-side{flex:0 0 420px}
}
.oc-book-head{margin:0 0 16px;font:400 15px/1.3 var(--oc-font);color:var(--oc-text)}
.oc-book-head b{font-weight:600;font-size:24px;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.oc-book-head s{margin-right:4px;font-size:20px;color:var(--oc-muted)}
.oc-rates-h{font-size:11px!important;font-weight:700!important;letter-spacing:.04em;text-transform:uppercase}
.oc-rate-txt strong{font-size:15px}
.oc-dp-close{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:100000;min-height:50px;border:0;border-radius:10px;background:#222;color:#fff;font:600 16px var(--oc-font);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.oc-dp-close[hidden]{display:none}

/* ---------- v3.22 ---------- */
/* Desglose: solo descuento y total; el resto se despliega */
.oc-book:not(.oc-bd-open) .oc-bd-line{display:none!important}
.oc-bd-toggle{display:block;margin:6px 0 10px;padding:0;background:none;border:0;font:500 13px var(--oc-font);color:var(--oc-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* Políticas y promoción */
.oc-pol-link{display:inline-flex;align-items:center;gap:6px;margin:8px 0 0;padding:0;background:none;border:0;font:500 13px var(--oc-font);color:var(--oc-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.oc-rate-tag{align-self:flex-start;margin:2px 0;padding:2px 8px;border-radius:999px;background:#e9f5ee;color:#14532d;font:600 12px/1.4 var(--oc-font)}
.oc-rate-note{font-size:12px;color:#14532d}
.oc-rate--nr .oc-rate-note{color:var(--oc-muted)}
.oc-promo-hint{display:block;margin-top:4px;color:var(--oc-muted);font-size:12px}
.oc-promo-hint[hidden]{display:none}
/* Ventana */
.oc-modal{max-width:640px;width:calc(100% - 32px);max-height:85vh;padding:0;border:0;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.oc-modal::backdrop{background:rgba(0,0,0,.45)}
.oc-modal-in{position:relative;padding:28px 28px 24px;overflow:auto;max-height:85vh;font:400 15px/1.6 var(--oc-font);color:var(--oc-text)}
.oc-modal h3{margin:0 0 14px;font:600 20px/1.3 var(--oc-font)}
.oc-modal-x{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:#f2f2f2;font-size:22px;line-height:1;cursor:pointer}
.oc-modal p{margin:0 0 12px}
/* Descripción recortada */
.oc-desc{max-height:calc(1.6em * 6);overflow:hidden;position:relative}
.oc-desc:not(.is-all)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.4em;background:linear-gradient(rgba(255,255,255,0),#fff)}
.oc-desc-more{margin-top:16px}
.oc-desc.is-open{max-height:none}
.oc-desc.is-open::after{display:none}
.oc-desc-full .hfy-wrap{margin:0 0 12px}
/* «X % por debajo de lo habitual»: brillo en bucle, con pausa */
@media (prefers-reduced-motion:no-preference){
  .oc-dealpill{position:relative;overflow:hidden}
  .oc-dealpill::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}
  .oc-dealpill .oc-ico{animation:oc-pill-bounce 7s ease-in-out 1.5s infinite}
}
@keyframes oc-pill-shine{0%{left:-60%}14%{left:130%}100%{left:130%}}
@keyframes oc-pill-bounce{0%,100%{transform:translateY(0)}3%{transform:translateY(2px)}6%{transform:translateY(-1px)}9%{transform:translateY(0)}}

/* ---------- Panel de reserva con más aire (como Airbnb) ---------- */
.oc-book{padding:28px 26px!important}
.oc-book-head{margin:0 0 22px}
.oc-book-head b{font-size:26px}
.oc-book-head s{font-size:22px}
.oc-book input.hotel-datepicker{min-height:52px;font-size:16px}
.oc-rates{margin:20px 0 18px}
.oc-rates-h{margin:0 0 10px!important}
.oc-book .oc-rate{padding:18px 18px;gap:18px}
.oc-rate-txt{gap:5px}
.oc-rate-txt strong{font-size:16px;font-weight:500}
.oc-rate-d{font-size:14px;line-height:1.5}
.oc-book .oc-rate input{width:24px;height:24px}
.oc-pol-link{margin:14px 0 0;font-size:14px}
.oc-promo{margin:14px 0 0;font-size:14px}
.oc-promo button{font-size:14px}
.oc-book .price-block-item{padding:6px 0;font-size:16px}
.oc-book .price-block-total{padding-top:12px}
.oc-bd-toggle{margin:10px 0 18px;font-size:14px}
.oc-book .btn-book-now{min-height:56px;font-size:17px!important}
.oc-dealpill{margin-bottom:14px}

/* ---------- v3.24 ---------- */
/* Botones secundarios iguales («Mostrar más», «Mostrar las N comodidades»…) */
.oc-listing .oc-more{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:20px;padding:12px 24px!important;background:#fff!important;border:1px solid #222!important;border-radius:10px!important;box-shadow:none!important;outline:none;font:600 15px/1.2 var(--oc-font)!important;color:#222!important;cursor:pointer}
.oc-listing .oc-more:hover{background:#f7f7f7!important}
.oc-listing .oc-more:focus-visible{outline:2px solid #222;outline-offset:3px}
/* Caja de reserva más ancha y con más aire */
@media (min-width:1128px){ .oc-side{flex:0 0 440px} }
.oc-pol-link{margin:18px 0 4px!important}
.oc-promo{margin:12px 0 4px!important}
.oc-promo-f{margin-top:10px!important}
.oc-promo-err{margin-top:8px!important}
.oc-book .prices,.oc-book .price-block{margin-top:20px}
/* Desde las valoraciones, ancho completo (como Airbnb) */
.oc-wide{margin-top:8px;padding-top:8px;border-top:1px solid var(--oc-line)}
.oc-wide>.oc-section:first-child{border-top:0}

/* ---------- Formulario «¿Tienes dudas? Envíanos una consulta» con nuestro estilo ---------- */
.hfy-modal-blocker{background:rgba(0,0,0,.45)!important;padding:20px!important}
.hfy-modal.direct-inquiry-modal,.hfy-modal:has(.direct-inquiry-form){max-width:680px!important;width:100%!important;padding:32px 32px 28px!important;border-radius:16px!important;box-shadow:0 20px 60px rgba(0,0,0,.25)!important;font-family:var(--oc-font)!important;color:var(--oc-text)}
.direct-inquiry-modal .modal-title,.direct-inquiry-modal h2,.direct-inquiry-modal h3{margin:0 0 20px!important;font:600 22px/1.3 var(--oc-font)!important;text-align:left!important;color:var(--oc-text)!important}
.direct-inquiry-modal .row{margin-left:-8px!important;margin-right:-8px!important}
.direct-inquiry-modal .inquiry_container_input{padding-left:8px!important;padding-right:8px!important;margin-bottom:14px}
.direct-inquiry-modal .form-control,.direct-inquiry-modal textarea{box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:50px;padding:12px 14px 12px 40px!important;border:1px solid #b0b0b0!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;font:400 16px/1.4 var(--oc-font)!important;color:var(--oc-text)!important}
.direct-inquiry-modal textarea{min-height:120px}
.direct-inquiry-modal .form-control:focus,.direct-inquiry-modal textarea:focus{border-color:#222!important;box-shadow:0 0 0 1px #222!important;outline:0}
.direct-inquiry-modal .form-control[readonly],.direct-inquiry-modal .form-control[disabled]{background:#f7f7f7!important}
.direct-inquiry-modal .fa,.direct-inquiry-modal .text-primary{color:#717171!important}
.direct-inquiry-modal .input-group{position:relative}
.direct-inquiry-modal .direct-inquiry-modal-submit-button{float:none!important;display:inline-flex;align-items:center;justify-content:center;min-height:52px;min-width:180px;padding:14px 28px!important;background:linear-gradient(90deg,#f2b544 0%,#e9963a 100%)!important;border:0!important;border-radius:10px!important;box-shadow:0 2px 8px rgba(233,150,58,.35)!important;font:600 17px var(--oc-font)!important;color:#222!important}
.direct-inquiry-modal .error{color:#b42318;font-size:13px}
.hfy-modal a.close-modal{position:absolute!important;display:block!important;top:14px!important;bottom:auto!important;left:auto!important;right:14px!important;width:36px!important;height:36px!important;border-radius:50%!important;background:#f2f2f2!important;text-indent:-9999px;overflow:hidden}
.hfy-modal a.close-modal::after{content:"×";position:absolute;inset:0;text-indent:0;font:400 24px/36px var(--oc-font);color:#222;text-align:center}
@media (max-width:600px){.hfy-modal.direct-inquiry-modal,.hfy-modal:has(.direct-inquiry-form){padding:24px 18px!important}.direct-inquiry-modal .inquiry_container_input{width:100%!important;max-width:100%!important;flex:0 0 100%!important}}
.direct-inquiry-modal *,.direct-inquiry-modal{box-sizing:border-box}

/* ---------- v3.25: caja de reserva como Airbnb (Reservar justo después de las tarifas) ---------- */
.oc-book form.listing-price .prices{display:flex;flex-direction:column}
.oc-book .prices>.book-now{order:1;margin:0}
.oc-book .prices>.oc-rates-foot{order:2;margin:14px 0 6px}
.oc-book .prices>.price-block{order:3;margin-top:14px;padding-top:14px;border-top:1px solid var(--oc-line)}
.oc-rates{margin:18px 0 16px!important}
.oc-rates-foot .oc-pol-link{margin:0!important}
.oc-rates-foot .oc-promo{margin:10px 0 0!important}
.oc-book .oc-nocharge{margin:10px 0 0;text-align:center}
/* Fechas y huéspedes en un solo bloque */
.oc-book form.listing-price>.row:first-of-type input.hotel-datepicker{border-radius:10px 10px 0 0!important;border-bottom-width:0!important}
.oc-book form.listing-price .guests-input{border-radius:0 0 10px 10px!important}
.oc-book form.listing-price>.row{margin-bottom:0!important}
.oc-book form.listing-price .form-group{margin-bottom:0!important}
.oc-rate-d{font-size:14px}

/* ---------- Ventana de valoraciones (como Airbnb) ---------- */
.oc-modal--wide{max-width:900px}
.oc-rvm-score{margin:0 0 6px;font:600 28px/1.2 var(--oc-font)}
.oc-rvm-score .oc-h2-star{width:24px;height:24px}
.oc-rvm-top .oc-rv-sum{margin:12px 0 18px}
.oc-rvm-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 18px;padding-top:16px;border-top:1px solid var(--oc-line)}
.oc-rvm-count{font-weight:600;font-size:16px}
.oc-rvm-sort select{min-height:42px;padding:0 36px 0 14px;border:1px solid #b0b0b0;border-radius:999px;background:#fff;font:500 14px var(--oc-font);color:#222;cursor:pointer}
.oc-rvm-list{display:grid;grid-template-columns:1fr;gap:26px}
.oc-rvm-who{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.oc-rvm-av{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#e9f5ee;color:#14532d;font-weight:600}
.oc-rvm-av img{width:100%;height:100%;object-fit:cover}
.oc-rvm-n{margin:0;font-weight:600}
.oc-rvm-meta{margin:2px 0 0;font-size:13px;color:var(--oc-muted)}
.oc-rvm-c{margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.oc-rvm-c.is-open{display:block;-webkit-line-clamp:unset}
.oc-rvm-more{margin-top:6px;padding:0;background:none;border:0;font:600 14px var(--oc-font);color:#222;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.oc-rvm-load{color:var(--oc-muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.oc-rv-all{margin-top:28px}
.oc-modal--wide h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- v3.26 ---------- */
/* Ventanas: un solo scroll (el de dentro) y la página de detrás quieta */
.oc-modal{overflow:hidden}
.oc-modal-in{box-sizing:border-box;max-height:85vh;overscroll-behavior:contain}
html.oc-modal-open{overflow:hidden}
/* «Políticas de cancelación» justo debajo de las tarifas */
.oc-rates .oc-pol-link{margin:12px 0 0!important}
/* Descuentos (semanal, mensual, tarifa, código) siempre a la vista, en negativo y resaltados */
.oc-book .price-block-item.oc-disc ._label,.oc-book .price-block-item.oc-disc ._value{color:#1a7f37!important;font-weight:600}
/* «X noches en Madrid»: fechas debajo y estancia marcada en el calendario */
.oc-av-sub{margin:-8px 0 18px;font-size:14px;color:var(--oc-muted)}
.oc-listing .hfy-listing-availability .datepicker__month-day.oc-av-mid{background:#f1f1f1;color:var(--oc-text);font-weight:600;text-decoration:none;border-radius:0}
.oc-listing .hfy-listing-availability .datepicker__month-day.oc-av-in,.oc-listing .hfy-listing-availability .datepicker__month-day.oc-av-out{background:var(--oc-text);color:#fff;font-weight:600;text-decoration:none;border-radius:50%}

/* ---------- v3.27: fechas y viajeros como Airbnb (casillas con etiqueta, a juego con las tarifas) ---------- */
.oc-book input.hotel-datepicker,.oc-book form.listing-price .guests-input{border:1px solid #b0b0b0!important}
.oc-book input.hotel-datepicker{min-height:58px!important;height:58px}
.oc-book .oc-dtxt{display:flex;align-items:stretch;padding:0!important}
.oc-book .oc-dc{flex:1 1 50%;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 14px}
.oc-book .oc-dc+.oc-dc{border-left:1px solid #b0b0b0}
.oc-book .oc-dc small,.oc-book .oc-gtxt small{font:700 10px/1.2 var(--oc-font);letter-spacing:.04em;text-transform:uppercase;color:var(--oc-text)}
.oc-book .oc-dc b,.oc-book .oc-gtxt b{font:400 14px/1.3 var(--oc-font);color:var(--oc-text);overflow:hidden;text-overflow:ellipsis}
.oc-book .oc-dc b.is-empty{color:var(--oc-muted)}
.oc-book .guests-count-num-wrap{position:relative;display:block!important;min-height:58px;padding:0!important;background:#fff}
.oc-book .guests-count-num-wrap .guests-input-label{display:none!important}
.oc-book .oc-gtxt{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:58px;padding:0 48px 0 14px;text-align:left}
.oc-book .oc-gtxt svg{position:absolute;top:50%;right:16px;width:18px;height:18px;margin-top:-9px;fill:none;stroke:var(--oc-text);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.oc-book .guests-count-num-wrap.is-open{outline:2px solid var(--oc-text);outline-offset:-2px;border-radius:0 0 10px 10px}
.oc-book .guests-count-num-wrap.is-open .oc-gtxt svg{transform:rotate(180deg)}
.oc-book .guests-count-num-wrap:focus-visible{outline:2px solid var(--oc-text);outline-offset:-2px}
/* Desplegable de viajeros: encima de las tarifas, no las empuja */
.oc-book .select-guests-wrap{position:relative}
.oc-book .select-guests-wrap .select-guests-dropdown{position:absolute;z-index:30;top:6px;left:0;right:0;width:auto;margin:0;padding:8px 20px 14px;border-radius:12px;box-shadow:0 2px 16px rgba(0,0,0,.14),0 0 0 1px rgba(0,0,0,.04)}
.oc-book .select-guests-wrap .select-guests-item{margin:0;padding:16px 0}
.oc-book .select-guests-wrap .select-guests-item+.select-guests-item{border-top:1px solid #ebebeb}
.oc-book .select-guests-wrap .pets-control{display:none!important}
.oc-book .select-guests-wrap .context{font:600 16px/1.3 var(--oc-font);color:var(--oc-text)}
.oc-book .select-guests-wrap .context-box .subcontext{margin-top:2px;font:400 14px/1.3 var(--oc-font);color:var(--oc-muted)}
.oc-book .select-guests-wrap .input-func-box{display:flex;align-items:center}
.oc-book .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-book .select-guests-wrap .ctrl-dec,.oc-book .select-guests-wrap .ctrl-inc{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #b0b0b0;border-radius:50%;background:#fff none!important;color:#6a6a6a;font:400 20px/1 var(--oc-font);cursor:pointer}
.oc-book .select-guests-wrap .ctrl-dec::before{content:"\2212"}
.oc-book .select-guests-wrap .ctrl-inc::before{content:"+"}
.oc-book .select-guests-wrap .ctrl-dec:hover,.oc-book .select-guests-wrap .ctrl-inc:hover{border-color:var(--oc-text);color:var(--oc-text)}
.oc-book .select-guests-wrap .ctrl-dec.oc-off,.oc-book .select-guests-wrap .ctrl-inc.oc-off,.oc-book .select-guests-wrap .disabled{opacity:.3;cursor:not-allowed;border-color:#dddddd}
.oc-book .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)}
.oc-book .select-guests-wrap .btn-close-guests-box{margin-top:8px;text-align:right}
.oc-book .select-guests-wrap .btn-close-guests-box .btn{padding:8px 6px;background:none!important;border:0!important;box-shadow:none!important;font:600 15px var(--oc-font);color:var(--oc-text);text-decoration:underline;text-underline-offset:3px}

/* ---------- v3.28: MÓVIL (≤ 900 px) con maquetación propia, como la app de Airbnb ---------- */
.oc-mbar,.oc-sheet-head,.oc-gcount{display:none}
@media (max-width:900px){
  /* Fotos a todo el ancho, deslizables con el dedo, con contador */
  .oc-galhost{position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:0!important}
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb{display:flex!important;gap:0;aspect-ratio:4/3;overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-x pan-y;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:0!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb::-webkit-scrollbar{display:none}
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.list{display:contents!important}
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.main,
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.list>div,
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb>.list>div:nth-child(n){display:block!important;position:relative;flex:0 0 100%;width:100%!important;height:100%!important;border-radius:0!important;scroll-snap-align:start;scroll-snap-stop:always}
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;border-radius:0!important}
  .oc-listing .hfy-listing-gallery.hfy-listing-gallery-abnb .oc-allphotos{display:none}
  .oc-gcount{display:block;position:absolute;right:16px;bottom:14px;z-index:2;padding:4px 12px;border-radius:6px;background:rgba(34,34,34,.72);color:#fff;font:600 12px/1.5 var(--oc-font);pointer-events:none}

  /* Barra fija abajo: total + fechas y «Reservar» */
  .oc-mobile-cta{display:none!important}
  .oc-mbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:900;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--oc-line);box-shadow:0 -2px 12px rgba(0,0,0,.06)}
  .oc-mbar-t{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:0;background:none;border:0;text-align:left;cursor:pointer}
  .oc-mbar-t b{font:600 16px/1.3 var(--oc-font);color:var(--oc-text);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
  .oc-mbar-t small{font:400 13px/1.3 var(--oc-font);color:var(--oc-muted)}
  .oc-mbar-b{flex:none;min-height:48px;padding:0 26px;border:0;border-radius:10px;background:linear-gradient(90deg,#f2b544 0%,#e9963a 100%);font:600 16px var(--oc-font);color:#222;cursor:pointer}
  .oc-mbar-b:focus-visible,.oc-mbar-t:focus-visible{outline:2px solid #222;outline-offset:3px}
  .oc-listing{padding-bottom:96px}

  /* La caja de reserva: hoja a pantalla completa al pulsar la barra */
  html:not(.oc-bk-open) .oc-side{display:none!important}
  html.oc-bk-open{overflow:hidden}
  html.oc-bk-open .oc-mbar{display:none}
  html.oc-bk-open .oc-side{display:block!important;position:fixed!important;inset:0;z-index:1000;width:auto;margin:0!important;padding:0 16px calc(24px + env(safe-area-inset-bottom));background:#fff;overflow-y:auto;overscroll-behavior:contain;animation:oc-sheet-in .22s ease-out}
  .oc-sheet-head{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20;height:56px;margin:0 -16px 16px;padding:0 16px;background:#fff;border-bottom:1px solid var(--oc-line);font:600 16px var(--oc-font);color:var(--oc-text)}
  .oc-sheet-x{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#f2f2f2;cursor:pointer}
  .oc-sheet-x svg{width:16px;height:16px;fill:none;stroke:#222;stroke-width:2.4;stroke-linecap:round}
  html.oc-bk-open .oc-side .oc-book{border:0;box-shadow:none;padding:0}
  html.oc-bk-open .oc-listing .datepicker:not(.datepicker--inline){z-index:1010}

  /* «Otros alojamientos»: se asoma la siguiente tarjeta para invitar a deslizar */
  .oc-similar .listings-selected{margin-right:-16px;padding-right:16px;scroll-padding-left:0}
  .oc-similar .listings-selected>*{flex:0 0 calc((100% - 12px)/2.2)!important;min-width:0!important;max-width:calc((100% - 12px)/2.2)!important;width:auto!important}
  .oc-similar .listings-selected{gap:12px}
}
@keyframes oc-sheet-in{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){html.oc-bk-open .oc-side{animation:none}}
@media (max-width:900px){
  /* En la hoja, las distinciones en formato compacto para que la reserva se vea antes */
  html.oc-bk-open .oc-luck{margin:0 0 16px;padding:12px 14px;box-shadow:none;font-size:14px;line-height:1.45}
  html.oc-bk-open .oc-luck svg,html.oc-bk-open .oc-luck img{max-width:32px;max-height:32px}
}
@media (max-width:900px){html.oc-bk-open .oc-luck-row{font-size:14px;gap:12px}}

/* ---------- v3.29 ---------- */
/* Caja de reserva: sin el texto de ayuda del campo de fechas por detrás de LLEGADA/SALIDA ni la casilla de código del plugin
   (el código promocional va en nuestro enlace) */
.oc-book input.hotel-datepicker.oc-has-d::placeholder{color:transparent!important;opacity:0}
.oc-book .discount-code-wrap{display:none!important}
.oc-book .oc-dc b{white-space:nowrap}
/* Paginación de la ventana de valoraciones */
.oc-rvm-pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:28px 0 4px;padding-top:18px;border-top:1px solid var(--oc-line)}
.oc-rvm-pager[hidden]{display:none}
.oc-rvm-pg{min-width:40px;height:40px;padding:0 10px;border:1px solid transparent;border-radius:50%;background:none;font:600 15px var(--oc-font);color:var(--oc-text);cursor:pointer}
.oc-rvm-pg:hover:not(:disabled){background:#f2f2f2}
.oc-rvm-pg[aria-current="page"]{background:var(--oc-text);color:#fff;cursor:default}
.oc-rvm-pg--nav{border-color:#d0d0d0;font-size:20px;line-height:1}
.oc-rvm-pg:disabled:not([aria-current]){opacity:.3;cursor:default}
.oc-rvm-gap{padding:0 4px;color:var(--oc-muted)}
/* Puntos bajo «Otros alojamientos» (móvil) */
.oc-sim-dots{display:none}
@media (max-width:900px){
  /* Valoraciones en la página: 3 en el móvil (las demás, en «Mostrar las N valoraciones») */
  .oc-reviews .reviews-comments-item.oc-rv-desk{display:none!important}
  /* Ventajas (pastillas beige) más pequeñas: una línea por ventaja con el icono a la izquierda */
  .oc-trust{gap:8px}
  .oc-trust li{display:grid;grid-template-columns:22px 1fr;column-gap:12px;align-items:center;padding:10px 14px;border-radius:10px}
  .oc-trust svg{grid-row:1/3;width:22px;height:22px;margin:0}
  .oc-trust strong{margin:0;font-size:14px;line-height:1.3}
  .oc-trust span{font-size:13px;line-height:1.35}
  /* «Otros alojamientos»: dos columnas, la tercera asoma, y puntos debajo */
  .oc-similar .listings-selected-item .title a{font-size:13px}
  .oc-similar .listings-selected-item .price,.oc-similar .listings-selected-item .oc-sim-total{font-size:13px!important}
  .oc-similar .listings-selected-item .oc-badge{max-width:calc(100% - 16px);padding:4px 8px!important;font-size:11px!important;gap:4px}
  .oc-similar .listings-selected-item .oc-badge>span,.oc-similar .listings-selected-item .oc-badge .oc-badge-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .oc-similar .listings-selected-item .oc-badge svg{width:12px;height:12px}
  .oc-sim-dots{display:flex;justify-content:center;gap:6px;margin:14px 0 0}
  .oc-sim-dots i{width:6px;height:6px;border-radius:50%;background:#d0d0d0;transition:background .2s,transform .2s}
  .oc-sim-dots i.on{background:var(--oc-text);transform:scale(1.25)}
  .oc-modal-in{padding:24px 18px 20px}
  .oc-rvm-pg{min-width:36px;height:36px}
}
@media (max-width:900px){
  .oc-similar .listings-selected-item .oc-badge{display:inline-flex!important;align-items:center;overflow:hidden;right:auto}
  .oc-similar .listings-selected-item .oc-badge .oc-badge-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (max-width:900px){
  .oc-similar .listings-selected-item .img{width:100%!important;max-width:100%!important;min-width:0!important}
  .oc-similar .listings-selected-item .img>*{max-width:100%}
}
/* v3.41: «Calidad-precio» */
.oc-luck--val .oc-luck-ico{background:#eef0fb;stroke:#3b4cca}
.oc-similar .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}
@media (prefers-reduced-motion:no-preference){.oc-luck--val{--oc-shine:#4f5fd6}}

/* ---------- v3.42 ---------- */
/* Resumen de Hostify como entradilla, antes de «Sobre este alojamiento» */
.oc-lead{margin:0 0 24px!important;font:400 20px/1.5 var(--oc-font);color:var(--oc-text)}
@media (max-width:900px){.oc-lead{font-size:18px}}
.oc-desc--loc{margin-top:12px}
/* Formulario «Solicitud de reserva»: sin mascotas, código vacío y × de cerrar como en el resto de la web */
.direct-inquiry-modal [name="pets"]{display:none}
.direct-inquiry-modal .oc-inq-hide{display:none!important}
.direct-inquiry-modal .oc-inq-full{width:100%!important;flex:0 0 100%!important;max-width:100%!important}
.oc-inq-x{position:absolute;top:14px;right:14px;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#f2f2f2;cursor:pointer}
.oc-inq-x:hover{background:#e8e8e8}
.oc-inq-x:focus-visible{outline:2px solid #222;outline-offset:2px}
.oc-inq-x svg{width:16px;height:16px;fill:none;stroke:#222;stroke-width:2.4;stroke-linecap:round}
.direct-inquiry-modal,.direct-inquiry-modal-content{position:relative}

/* v3.46.3: «/ night» en inglés */
html[lang^="en"] .oc-similar .listings-selected-item .price::after{content:" / night"}

/* v3.46.4: estancia mínima en el calendario (como Airbnb): etiqueta sobre la primera salida posible */
.datepicker__month-day.oc-min-tip{position:relative}
.datepicker__month-day.oc-min-tip::after{content:attr(data-oc-min);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);z-index:5;padding:6px 10px;border:1px solid #e5e5e5;border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.12);font:400 13px/1.2 var(--oc-font);color:var(--oc-text);white-space:nowrap;text-decoration:none;pointer-events:none}
.oc-cal-sum span{white-space:normal}

/* ---------- v3.47: código promocional con × y tarifa mensual ---------- */
.oc-promo-f{display:flex;align-items:center;gap:6px}
.oc-promo-cancel{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;color:var(--oc-text)}
.oc-promo-cancel:hover{background:#f2f2f2}
.oc-promo-cancel svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.oc-promo-cancel:focus-visible{outline:2px solid var(--oc-text);outline-offset:2px}
.oc-rate--mo{cursor:default}
.oc-mo-plan{margin:12px 0 4px;padding:12px 14px;border:1px solid var(--oc-line);border-radius:12px;background:#fafafa}
.oc-mo-plan-t{margin:0 0 8px;font-size:13px;color:var(--oc-muted);line-height:1.45}
.oc-mo-plan ul{list-style:none;margin:0;padding:0}
.oc-mo-plan li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:14px;border-top:1px solid #eee}
.oc-mo-plan li:first-child{border-top:0;font-weight:600}
.oc-mo-plan li small{color:var(--oc-muted);font-weight:400}
.oc-mo-est{margin:6px 0 0;font-size:12px;color:var(--oc-muted)}
.oc-mo-note{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--oc-muted)}
.oc-mo-plan-h{margin:0 0 4px;font-weight:600;font-size:14px}
.oc-mo-plan li span{display:flex;flex-direction:column}
.oc-mo-plan li em{font-style:normal;font-size:12px;color:var(--oc-muted)}
.oc-ct{font-size:14px;line-height:1.55}
.oc-ct h4{margin:16px 0 4px;font-size:14px;font-weight:700}
.oc-ct h4:first-child{margin-top:0}
.oc-ct p{margin:0 0 6px}
/* v3.51 · Mejor precio garantizado bajo «Reservar» */
.oc-book .oc-guar{margin:6px 0 0;text-align:center;font-size:13px;font-weight:600}
.oc-book .oc-guar a{color:var(--oc-dark);text-underline-offset:3px}
.oc-book .oc-guar a::before{content:"✓ ";color:#2e7d32}
/* v3.53 · «Cerca de» en la ficha (enlaces a las páginas de zona) */
.oc-near{margin:20px 0 0;padding:16px 18px;border:1px solid var(--oc-line);border-radius:14px;background:#fff}
.oc-near h2{margin:0 0 8px;font:600 16px/1.3 var(--oc-font);color:var(--oc-text)}
.oc-near ul{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none}
.oc-near li{font-size:15px}
.oc-near a{color:var(--oc-dark);font-weight:600;text-underline-offset:3px}
.oc-near span{color:var(--oc-muted);font-size:13px}

/* v3.95 · Mensual: precio al mes con el original tachado en rojo */
.oc-book-head--mo{display:flex;flex-direction:column;gap:2px}
.oc-book-head--mo .oc-mo-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}
.oc-book-head--mo b{text-decoration:none;font-size:28px}
.oc-book-head--mo small{font-size:15px;color:var(--oc-muted)}
.oc-book-head--mo .oc-mo-tot{font-size:14px;color:var(--oc-muted)}
.oc-was{color:#c0392b!important;text-decoration:line-through;text-decoration-thickness:1.5px;font-weight:400}
.oc-book-head--mo .oc-was{font-size:20px}

/* v3.99 · Mensual reembolsable */
.oc-book-head--mo .oc-mo-free{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:13.5px;color:#1e5c2e}
.oc-book-head--mo .oc-mo-free svg{color:#1e7e34}
.oc-book-head--mo .oc-mo-free b{text-decoration:none;font-size:13.5px;font-weight:700}
.oc-book-head--mo .oc-mo-free--no{color:var(--oc-muted)}

/* v3.124 · Respuestas rápidas («Lo que más nos preguntáis»), con iconos, tras la descripción */
/* v3.125: la sección usa el estilo de .oc-section (línea y márgenes como el resto de la ficha) */
.oc-qa h2{margin-bottom:20px}
.oc-qa-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}
.oc-qa-i{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--oc-line);border-radius:14px;background:#fff}
.oc-qa-ic{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--oc-soft);color:var(--oc-dark)}
.oc-qa-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.oc-qa-g .oc-qa-dt{display:block;margin:0;color:var(--oc-muted);font-size:13px}
.oc-qa-g .oc-qa-dd{display:block;margin:0;font-size:15px;line-height:1.3;color:var(--oc-text)}
.oc-qa-n{display:block;font-weight:600}
.oc-qa-l{display:block}
.oc-qa-l+.oc-qa-l{margin-top:6px}
.oc-qa-s{display:block;margin-top:1px;font-size:13px;font-weight:400;color:var(--oc-muted)}
.oc-qa-g .oc-qa-dt{display:block;line-height:1.3;margin-bottom:2px}
@media (max-width:1100px){.oc-qa-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.oc-qa-g{grid-template-columns:1fr;gap:10px}.oc-qa-i{padding:12px 14px}}

/* 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.143 · Precio por noche en el calendario */
.datepicker__month-day{position:relative}
.oc-dp-pr{display:block;margin-top:1px;font-size:10px;line-height:1;font-weight:500;color:var(--oc-muted);letter-spacing:-.01em;pointer-events:none}
.datepicker__month-day.oc-dp-low .oc-dp-pr{color:#0c7a43;font-weight:700}
.datepicker__month-day--selected .oc-dp-pr,.datepicker__month-day--first-day-selected .oc-dp-pr,.datepicker__month-day--last-day-selected .oc-dp-pr{color:inherit;opacity:.85}

/* v3.144 · Sugerencias: alternativas y paso a tarifa mensual */
.oc-sm{margin:16px 0 4px;padding:16px;border-radius:14px;background:#f6f3ec;border:1px solid #ebe4d6;font-family:var(--oc-font)}
.oc-sm--ext{background:#eef6f0;border-color:#cfe5d6}
.oc-sm-t{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--oc-dark,#2b2b2b)}
.oc-sm-s{margin:8px 0 6px;font-size:13.5px;line-height:1.45;color:var(--oc-muted)}
.oc-sm-dates{display:flex;flex-wrap:wrap;gap:8px}
.oc-sm-date{padding:7px 12px;border-radius:999px;border:1px solid var(--oc-line,#ddd);background:#fff;font-size:13.5px;font-weight:600;color:var(--oc-text)!important;text-decoration:none!important}
.oc-sm-date:hover,.oc-sm-home:hover{border-color:var(--oc-dark,#2b2b2b)}
.oc-sm-homes{display:grid;gap:8px}
.oc-sm-home{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;border:1px solid var(--oc-line,#ddd);background:#fff;color:var(--oc-text)!important;text-decoration:none!important}
.oc-sm-home img,.oc-sm-ph{flex:0 0 72px;width:72px;height:54px;border-radius:8px;object-fit:cover;background:#eee}
.oc-sm-home b{display:block;font-size:13.5px;line-height:1.3}
.oc-sm-home small{display:block;margin-top:2px;font-size:12px;color:var(--oc-muted)}
.oc-sm-go{display:inline-block;margin-top:8px;padding:9px 16px;border-radius:10px;background:var(--oc-dark,#2b2b2b);color:#fff!important;font-size:14px;font-weight:600;text-decoration:none!important}

/* v3.157 · Cabecera de precio como Sklum (precio, tachado en rojo, etiqueta) */
.oc-off{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:4px;background:#ededed;color:#3a3a3a;font-size:13px;font-weight:600;line-height:1.5;vertical-align:middle;text-decoration:none}
.oc-book-head--mo .oc-mo-line .oc-was{margin-left:8px;font-size:16px}
.oc-book-head s{margin:0 0 0 8px}
/* Caja mensual: desglose plegado */
details.oc-mo-plan>summary{cursor:pointer;list-style:none;font-weight:600}
details.oc-mo-plan>summary::-webkit-details-marker{display:none}
details.oc-mo-plan>summary::after{content:"▾";margin-left:6px;font-size:12px}
details.oc-mo-plan[open]>summary::after{content:"▴"}
/* v3.157 · Calendario: el precio no deforma los círculos (va dentro de la celda, abajo) */
.oc-listing td.datepicker__month-day.oc-dp-has{line-height:36px!important}
.oc-dp-pr{position:absolute;left:0;right:0;bottom:4px;display:block;margin:0;font-size:9.5px;line-height:1;font-weight:600;color:#6d6d6d;text-decoration:none}
.datepicker__month-day--first-day-selected .oc-dp-pr,.datepicker__month-day--last-day-selected .oc-dp-pr{color:#fff;opacity:.9}
.datepicker__month-day--selected .oc-dp-pr{color:#4a4a4a;opacity:1}
/* v3.158 · «Reembolsable» y la fecha de cancelación en dos líneas */
.oc-mo-free{align-items:flex-start!important}
.oc-mo-free>span{display:block;line-height:1.35}
.oc-mo-free svg{flex:none;margin-top:2px}
