/* Lashadas Lux · selector de fechas (llegada + salida en un solo calendario) */
.lux-dp{--lx-ink:#083A50;--lx-text:#3A515B;--lx-muted:#6B7C84;--lx-line:#DCD8D3;--lx-band:#E3EAED;--lx-off:#B9BFC2;--lx-surface:#fff;
  position:relative;width:100%;margin-bottom:14px;font-family:"EB Garamond",Georgia,serif;color:var(--lx-text);box-sizing:border-box}
.lux-dp *{box-sizing:border-box}
.lux-dp__fields{display:grid;grid-template-columns:1fr;border:1px solid var(--lx-ink);background:var(--lx-surface)}
.lux-dp__field{all:unset;box-sizing:border-box;cursor:pointer;padding:12px 14px;display:grid;gap:2px;min-width:0}
.lux-dp__field+.lux-dp__field{border-top:1px solid var(--lx-ink)}
.lux-dp__field small{font:600 11px "Josefin Sans",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lx-ink)}
.lux-dp__field span{font-size:19px;line-height:1.3;white-space:nowrap;color:var(--lx-text)}
.lux-dp__field span.ph{color:var(--lx-muted);font-style:italic}
.lux-dp__field:focus-visible,.lux-dp__field.on{background:var(--lx-band);outline:2px solid var(--lx-ink);outline-offset:-2px}
.lux-dp__pop{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:99999;background:var(--lx-surface);border:1px solid var(--lx-ink);box-shadow:0 24px 50px -22px rgba(8,58,80,.45);padding:16px 14px 12px;width:auto;max-width:100%;overflow:hidden}
.lux-dp__pop[hidden]{display:none}
.lux-dp__months{display:block}
.lux-dp__month{width:100%}
.lux-dp__mh{display:flex;align-items:center;justify-content:space-between;height:38px;margin-bottom:6px}
.lux-dp__mh h3{font:400 16px "Josefin Sans",system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--lx-ink);margin:0;flex:1;text-align:center}
.lux-dp__nav{all:unset;box-sizing:border-box;width:34px;height:34px;border:1px solid var(--lx-ink);border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--lx-ink);font:400 18px "Josefin Sans",system-ui,sans-serif}
.lux-dp__nav:hover:not([disabled]){background:var(--lx-band)}
.lux-dp__nav[disabled]{opacity:.25;cursor:not-allowed}
.lux-dp__nav:focus-visible{outline:2px solid var(--lx-ink);outline-offset:2px}
.lux-dp__nav.ghost{visibility:hidden}
.lux-dp__grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
.lux-dp__wd{height:30px;display:grid;place-items:center;font:600 11px "Josefin Sans",system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lx-muted)}
.lux-dp__cell{height:42px;position:relative;display:grid;place-items:center}
.lux-dp__d{all:unset;box-sizing:border-box;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;position:relative;z-index:1;border-radius:50%;font-size:17px;color:var(--lx-text)}
.lux-dp__cell.in::before{content:"";position:absolute;inset:3px 0;background:var(--lx-band)}
.lux-dp__cell.in.s::before{left:50%}
.lux-dp__cell.in.e::before{right:50%}
.lux-dp__cell.in.s.e::before{display:none}
.lux-dp__cell.s .lux-dp__d,.lux-dp__cell.e .lux-dp__d{background:var(--lx-ink);color:#fff}
.lux-dp__cell.pv .lux-dp__d{box-shadow:inset 0 0 0 2px var(--lx-ink)}
.lux-dp__d:hover:not([disabled]){box-shadow:inset 0 0 0 2px var(--lx-ink)}
.lux-dp__d:focus-visible{outline:2px solid var(--lx-ink);outline-offset:-2px}
.lux-dp__d[disabled]{cursor:not-allowed;color:var(--lx-off);text-decoration:line-through}
.lux-dp__cell.today .lux-dp__d::after{content:"";position:absolute;bottom:6px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--lx-ink)}
.lux-dp__cell.s.today .lux-dp__d::after,.lux-dp__cell.e.today .lux-dp__d::after{background:#fff}
.lux-dp__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--lx-line);flex-wrap:wrap}
.lux-dp__status{font:600 13px "Josefin Sans",system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--lx-ink)}
.lux-dp__clear{all:unset;cursor:pointer;text-decoration:underline;color:var(--lx-muted);font-size:15px}
.lux-dp__clear:focus-visible{outline:2px solid var(--lx-ink);outline-offset:2px}
.lux-dp__err{color:#A5532C;font-size:15px;margin-top:6px}
.lux-dp-hidden{display:none!important}

/* El tema pinta [type=button]:hover/:focus en rosa; se fija el aspecto de cada estado con más especificidad */
.lux-dp button.lux-dp__field,.lux-dp button.lux-dp__field:hover,.lux-dp button.lux-dp__field:active{background:var(--lx-surface);color:var(--lx-text);border-radius:0;box-shadow:none;text-decoration:none}
.lux-dp button.lux-dp__field:hover{background:var(--lx-band)}
.lux-dp button.lux-dp__field:focus{background:var(--lx-surface)}
.lux-dp button.lux-dp__field.on,.lux-dp button.lux-dp__field.on:hover,.lux-dp button.lux-dp__field.on:focus,.lux-dp button.lux-dp__field:focus-visible{background:var(--lx-band);outline:2px solid var(--lx-ink);outline-offset:-2px}
.lux-dp button.lux-dp__field small{color:var(--lx-ink)}
.lux-dp button.lux-dp__field span{color:var(--lx-text)}
.lux-dp button.lux-dp__field span.ph{color:var(--lx-muted)}
.lux-dp button.lux-dp__field small{letter-spacing:.1em;white-space:nowrap}
.lux-dp button.lux-dp__nav,.lux-dp button.lux-dp__nav:focus,.lux-dp button.lux-dp__nav:active{background:transparent;color:var(--lx-ink);border:1px solid var(--lx-ink);border-radius:50%;box-shadow:none;padding:0}
.lux-dp button.lux-dp__nav:hover:not([disabled]){background:var(--lx-band);color:var(--lx-ink)}
.lux-dp button.lux-dp__d,.lux-dp button.lux-dp__d:focus,.lux-dp button.lux-dp__d:active{background:transparent;color:var(--lx-text);border:0;border-radius:50%;padding:0;box-shadow:none}
.lux-dp button.lux-dp__d:hover:not([disabled]){background:transparent;color:var(--lx-text);box-shadow:inset 0 0 0 2px var(--lx-ink)}
.lux-dp .lux-dp__cell.s button.lux-dp__d,.lux-dp .lux-dp__cell.e button.lux-dp__d,.lux-dp .lux-dp__cell.s button.lux-dp__d:hover,.lux-dp .lux-dp__cell.e button.lux-dp__d:hover{background:var(--lx-ink);color:#fff}
.lux-dp .lux-dp__cell.pv button.lux-dp__d{box-shadow:inset 0 0 0 2px var(--lx-ink)}
.lux-dp button.lux-dp__d[disabled]{color:var(--lx-off)}
.lux-dp button.lux-dp__clear,.lux-dp button.lux-dp__clear:hover,.lux-dp button.lux-dp__clear:focus{background:none;border:0;padding:0;color:var(--lx-muted);box-shadow:none;text-decoration:underline}
.lux-dp button.lux-dp__clear:hover{color:var(--lx-ink)}

.lux-dp button.lux-dp__field small{letter-spacing:.12em}
@media(max-width:380px){.lux-dp__cell{height:38px}.lux-dp__d{width:36px;height:36px}.lux-dp__pop{padding:14px 10px 10px}}

/* adultos y niños */
.lux-gs{--lx-ink:#083A50;--lx-text:#3A515B;--lx-muted:#6B7C84;--lx-line:#DCD8D3;--lx-band:#E3EAED;width:100%;margin-bottom:14px;border:1px solid var(--lx-line);background:#fff;font-family:"EB Garamond",Georgia,serif;color:var(--lx-text);box-sizing:border-box}
.lux-gs *{box-sizing:border-box}
.lux-gs__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}
.lux-gs__row+.lux-gs__row{border-top:1px solid var(--lx-line)}
.lux-gs__t{min-width:0}
.lux-gs__t b{display:block;font:600 12px "Josefin Sans",system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--lx-ink)}
.lux-gs__t small{color:var(--lx-muted);font-size:15px}
.lux-gs__step{display:flex;align-items:center;gap:12px;flex-shrink:0}
.lux-gs .lux-gs__btn,.lux-gs .lux-gs__btn:hover,.lux-gs .lux-gs__btn:focus,.lux-gs .lux-gs__btn:active{all:unset;box-sizing:border-box;width:34px;height:34px;border:1px solid var(--lx-ink);border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--lx-ink);background:transparent;font:400 18px "Josefin Sans",system-ui,sans-serif;text-decoration:none}
.lux-gs .lux-gs__btn:hover:not([disabled]){background:var(--lx-band)}
.lux-gs .lux-gs__btn[disabled]{opacity:.25;cursor:not-allowed}
.lux-gs .lux-gs__btn:focus-visible{outline:2px solid var(--lx-ink);outline-offset:2px}
.lux-gs__n{min-width:20px;text-align:center;font:400 18px "Josefin Sans",system-ui,sans-serif;color:var(--lx-ink);font-variant-numeric:tabular-nums}

/* botón y nota */
.lux-dp-form .vbo-search-submit{width:100%}
.lux-dp-form .vbo-search-submit input[type=submit],.lux-dp-form .vbo-search-submit input[type=submit]:focus,.lux-dp-form .vbo-search-submit input[type=submit]:active{width:100%;background:#083A50;color:#fff;border:0;border-radius:0;padding:15px 18px;font:600 13px "Josefin Sans",system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;box-shadow:none;-webkit-appearance:none;appearance:none}
.lux-dp-form .vbo-search-submit input[type=submit]:hover{background:#083A50;color:#fff;filter:brightness(1.12)}
.lux-dp-form .vbo-search-submit input[type=submit]:focus-visible{outline:2px solid #083A50;outline-offset:3px}
.lux-dp__fine{margin:10px 0 0;text-align:center;font:400 14px "EB Garamond",Georgia,serif;color:#6B7C84}

/* barra de resumen de la estancia */
.lux-dp__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%;margin:-4px 0 14px;padding:11px 14px;background:#E3EAED;color:#083A50;box-sizing:border-box}
.lux-dp__bar[hidden]{display:none}
.lux-dp__bar-r{font:400 18px "EB Garamond",Georgia,serif;color:#083A50}
.lux-dp__bar-n{font:600 12px "Josefin Sans",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#083A50;border-left:1px solid #083A50;padding-left:12px}

/* paso Opciones omitido: la tabla no se ve mientras se decide (3 s máx.) */
body.lux-skip-opts form[action*="task=oconfirm"] .vbo-showprc-wrapper{visibility:hidden}

/* bloque de huéspedes a todo el ancho (VikBooking lo pone en flex) */
.lux-dp-form .vb-search-inner .vbo-search-num-racblock,.lux-dp-form .vbo-search-num-racblock{display:block!important}

/* móvil: el calendario va en el flujo de la página (empuja el contenido) para que nada lo recorte ni lo tape, y el botón de reservar queda debajo */
@media(max-width:767px){
  .lux-dp__pop{position:static;left:auto;right:auto;top:auto;margin-top:8px;width:100%;max-width:100%;box-shadow:none}
}

/* junta 12-oct: nota bajo huéspedes (niños cuentan como adultos) */
.lux-gs .lux-gs__note { margin: 6px 2px 0; font-size: 12px; line-height: 1.4; opacity: .7; }
/* nota "Los niños cuentan como adultos": alineada con el texto de las filas, con respiro y separada por una línea */
.lux-gs .lux-gs__note{margin:0;padding:10px 14px 12px;border-top:1px solid var(--lx-line);font-size:15px;line-height:1.4;opacity:1;color:var(--lx-muted);text-align:left}
