/* ================================================================
   SMB Casa Blanca — Booking Page (casa-blanca-booking.css)
   Paleta: mismas variables --cbh-* del home
   ================================================================ */

/* ----------------------------------------------------------------
   Wrap raíz
   ---------------------------------------------------------------- */
.scbb-wrap {
  font-family: "Inter", Arial, sans-serif;
  color: var(--cbh-text, #2c1e0e);
  background: var(--cbh-bg, #faf3e8);
  box-sizing: border-box;
}
.scbb-wrap * { box-sizing: border-box; }

/* ----------------------------------------------------------------
   BARRA SUPERIOR FIJA
   ---------------------------------------------------------------- */
.scbb-bar {
  position: sticky;
  top: 0;
  z-index: 900;
  background: rgba(44, 30, 14, 0.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(181, 138, 66, 0.25);
  box-shadow: 0 3px 20px rgba(0,0,0,.3);
}

.scbb-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .7rem clamp(16px, 4vw, 44px);
  min-height: 56px;
}

/* Grupo izquierdo: nombre + fechas/huéspedes */
.scbb-bar__group {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .22rem;
}

.scbb-bar__name {
  font-family: "Marcellus", Georgia, serif;
  font-size: 1rem;
  color: #fff;
  letter-spacing: .04em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.scbb-bar__meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .35rem;
  font-size: .78rem;
  color: rgba(255,255,255,.68);
}

.scbb-bar__date-range {
  display: flex;
  align-items: center;
  gap: .3rem;
}

.scbb-bar__arrow { color: rgba(255,255,255,.4); }
.scbb-bar__dot   { color: rgba(255,255,255,.3); font-size: .65rem; }

/* Botón Modificar */
.scbb-btn--modify {
  display: inline-flex;
  align-items: center;
  padding: .45rem 1.2rem;
  background: var(--cbh-gold, #b58a42);
  color: #fff;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .18s;
}
.scbb-btn--modify:hover { background: var(--cbh-gold-light, #d4a94e); }

/* ----------------------------------------------------------------
   CONTAINER COMÚN
   ---------------------------------------------------------------- */
.scbb-container {
  width: min(1100px, 94%);
  margin-inline: auto;
}

/* ----------------------------------------------------------------
   HABITACIONES — sección a ancho completo
   ---------------------------------------------------------------- */
.scbb-rooms-outer {
  padding: 2.4rem 0 2rem;
  background: var(--cbh-bg, #faf3e8);
}

/* ----------------------------------------------------------------
   CALCULADORA — aparece al seleccionar habitación
   ---------------------------------------------------------------- */
.scbb-calc-outer {
  background: var(--cbh-bg-warm, #f2e8d4);
  padding: 1.8rem 0 2rem;
  border-top: 1px solid var(--cbh-border, rgba(160,128,75,.2));
  border-bottom: 1px solid var(--cbh-border, rgba(160,128,75,.2));
}

.scbb-calc-outer .scbb-calc {
  max-width: 680px;
}

/* ----------------------------------------------------------------
   INFO INFERIOR — overview + mapa (layout de 2 cols en desktop)
   ---------------------------------------------------------------- */
.scbb-info-outer {
  padding: 2.4rem 0 3.5rem;
  background: var(--cbh-bg, #faf3e8);
  border-top: 1px solid var(--cbh-border, rgba(160,128,75,.2));
}

.scbb-info-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: start;
}

@media (max-width: 760px) {
  .scbb-info-layout { grid-template-columns: 1fr; }
}

/* Overview */
.scbb-overview__gallery {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 6px;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16/7;
  margin-bottom: 1.2rem;
}

.scbb-overview__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.scbb-overview__img.is-main {
  grid-row: 1 / 3;
}

@media (max-width: 560px) {
  .scbb-overview__gallery {
    grid-template-columns: 1fr;
    aspect-ratio: 4/3;
  }
  .scbb-overview__img:not(.is-main) { display: none; }
}

.scbb-overview__eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--cbh-gold-dark, #8a6428);
  margin: 0 0 .5rem;
}

.scbb-overview__title {
  font-family: "Marcellus", Georgia, serif;
  font-size: clamp(1.5rem, 3.5vw, 2.2rem);
  font-weight: 400;
  margin: 0 0 .9rem;
  color: var(--cbh-text, #2c1e0e);
  text-transform: capitalize;
}

.scbb-overview__chips {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1rem;
}

.scbb-overview__chips span {
  font-size: .76rem;
  background: var(--cbh-bg-warm, #f2e8d4);
  border: 1px solid var(--cbh-border, rgba(160,128,75,.2));
  border-radius: 20px;
  padding: .22rem .75rem;
  color: var(--cbh-muted, #7a6248);
}

.scbb-overview__desc {
  font-size: .96rem;
  line-height: 1.76;
  color: var(--cbh-muted, #7a6248);
  margin: 0 0 1rem;
}

.scbb-idealpara {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .6rem;
}

.scbb-idealpara__item {
  font-size: .8rem;
  background: rgba(181,138,66,.1);
  border: 1px solid rgba(181,138,66,.22);
  border-radius: 20px;
  padding: .28rem .85rem;
  color: var(--cbh-gold-dark, #8a6428);
}

/* Section heading */
.scbb-section-h {
  font-family: "Marcellus", Georgia, serif;
  font-size: clamp(1.3rem, 3vw, 1.9rem);
  font-weight: 400;
  color: var(--cbh-text, #2c1e0e);
  margin: 0 0 1.1rem;
}

/* Mapa */
.scbb-map__label {
  font-size: .85rem;
  color: var(--cbh-muted, #7a6248);
  margin: 0 0 .8rem;
}

.scbb-map__frame {
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16/7;
  border: 1px solid var(--cbh-border, rgba(160,128,75,.2));
  margin-bottom: .9rem;
}

.scbb-map__frame iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

.scbb-map__cta {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--cbh-gold-dark, #8a6428);
  text-decoration: none;
  border: 1px solid rgba(181,138,66,.35);
  border-radius: 30px;
  padding: .5rem 1.2rem;
  transition: background .18s, color .18s;
}
.scbb-map__cta:hover {
  background: var(--cbh-gold, #b58a42);
  color: #fff;
  border-color: transparent;
}

/* ----------------------------------------------------------------
   HABITACIONES
   ---------------------------------------------------------------- */
.scbb-rooms__eyebrow {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .2em;
  color: var(--cbh-gold-dark, #8a6428);
  margin: 0 0 .4rem;
}

.scbb-rooms__list {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

/* Hint superior de selección de habitaciones */
@keyframes scbb-hint-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(181,138,66,.0); }
  50%       { box-shadow: 0 0 0 6px rgba(181,138,66,.22); }
}

@keyframes scbb-hint-arrow {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(4px); }
}

@keyframes scbb-hint-attention {
  0%   { transform: scale(1);    box-shadow: 0 0 0 0   rgba(181,138,66,.0);  background: rgba(181,138,66,.07); }
  20%  { transform: scale(1.04); box-shadow: 0 0 0 8px rgba(181,138,66,.35); background: rgba(181,138,66,.18); }
  50%  { transform: scale(1.02); box-shadow: 0 0 0 5px rgba(181,138,66,.22); background: rgba(181,138,66,.13); }
  80%  { transform: scale(1.03); box-shadow: 0 0 0 7px rgba(181,138,66,.28); background: rgba(181,138,66,.16); }
  100% { transform: scale(1);    box-shadow: 0 0 0 0   rgba(181,138,66,.0);  background: rgba(181,138,66,.07); }
}

.scbb-rooms-hint-top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  margin: .9rem 0 1.4rem;
  padding: .75rem 1.1rem;
  background: rgba(181,138,66,.07);
  border: 1.5px solid rgba(181,138,66,.35);
  border-radius: 10px;
  font-size: .86rem;
  font-weight: 700;
  color: var(--cbh-gold-dark, #8a6428);
  text-align: center;
  animation: scbb-hint-pulse 2.2s ease-in-out infinite;
  transition: background .3s, border-color .3s, color .3s;
}

.scbb-rooms-hint-top__arrow {
  font-size: 1.1rem;
  display: inline-block;
  animation: scbb-hint-arrow 1.4s ease-in-out infinite;
}

.scbb-rooms-hint-top.is-done {
  background: rgba(120,180,100,.1);
  border-color: rgba(80,160,80,.45);
  color: #3a7a3a;
  animation: none;
}

.scbb-rooms-hint-top.is-done .scbb-rooms-hint-top__arrow {
  animation: none;
  content: '✓';
}

.scbb-rooms-hint-top.is-attention {
  animation: scbb-hint-attention 2.2s ease-in-out forwards;
  border-color: var(--cbh-gold, #b58a42);
  color: var(--cbh-gold-dark, #8a6428);
}

@media (prefers-reduced-motion: reduce) {
  .scbb-rooms-hint-top { animation: none; }
  .scbb-rooms-hint-top__arrow { animation: none; }
}

/* Barra de progreso de selección de habitaciones */
.scbb-rooms-status {
  margin-top: 1.4rem;
  padding: .85rem 1rem;
  background: rgba(181,138,66,.08);
  border: 1px solid rgba(181,138,66,.25);
  border-radius: 10px;
  text-align: center;
}

#scbb-status-text {
  font-size: .84rem;
  font-weight: 600;
  color: var(--cbh-gold-dark, #8a6428);
  margin: 0 0 .55rem;
}

.scbb-rooms-status__track {
  height: 6px;
  background: rgba(181,138,66,.18);
  border-radius: 99px;
  overflow: hidden;
}

.scbb-rooms-status__fill {
  height: 100%;
  background: var(--cbh-gold, #b58a42);
  border-radius: 99px;
  transition: width .35s ease;
}

.scbb-room-card {
  background: var(--cbh-panel, rgba(255,250,242,.95));
  border: 1.5px solid var(--cbh-border, rgba(160,128,75,.2));
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow .22s, border-color .22s;
  display: grid;
  grid-template-columns: 280px 1fr;
}

.scbb-room-card.is-selected {
  border-color: var(--cbh-gold, #b58a42);
  box-shadow: 0 0 0 3px rgba(181,138,66,.18);
}

@media (max-width: 640px) {
  .scbb-room-card { grid-template-columns: 1fr; }
}

/* Media / carrusel */
.scbb-room-card__media {
  position: relative;
  overflow: hidden;
  background: var(--cbh-bg-warm, #f2e8d4);
  aspect-ratio: 4/3;
}

.scbb-room-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .38s ease;
}
.scbb-room-slide.is-active { opacity: 1; }
.scbb-room-slide:first-child { position: relative; }

.scbb-room-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.scbb-room-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--cbh-bg-warm, #f2e8d4), var(--cbh-bg-section, #f8f1e4));
}

.scbb-room-dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 6px;
  z-index: 2;
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(6px);
  border-radius: 20px;
  padding: 5px 9px;
}

.scbb-room-dots .scbb-room-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.45);
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .22s, transform .22s, width .22s;
}
.scbb-room-dots .scbb-room-dot:hover {
  background: rgba(255,255,255,.75);
  transform: scale(1.15);
}
.scbb-room-dots .scbb-room-dot.is-active {
  background: var(--cbh-gold, #b58a42);
  width: 16px;
  border-radius: 3px;
}

.scbb-room-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(30,15,0,.55);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 20px;
  padding: .24rem .7rem;
}

/* Cuerpo */
.scbb-room-card__body {
  padding: 1.3rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.scbb-room-card__name {
  font-family: "Marcellus", Georgia, serif;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--cbh-text, #2c1e0e);
  margin: 0;
}

.scbb-room-card__meta {
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
  font-size: .8rem;
  color: var(--cbh-muted, #7a6248);
}

.scbb-room-card__features {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

.scbb-room-card__features span {
  font-size: .74rem;
  color: var(--cbh-sage, #7c8c60);
  background: rgba(124,140,96,.08);
  border: 1px solid rgba(124,140,96,.22);
  border-radius: 4px;
  padding: .18rem .55rem;
}

.scbb-room-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  flex-wrap: wrap;
  margin-top: auto;
}

.scbb-room-card__price {
  margin: 0;
  font-size: .92rem;
  color: var(--cbh-gold-dark, #8a6428);
}

.scbb-room-card__price strong {
  font-family: "Marcellus", Georgia, serif;
  font-size: 1.1rem;
}

.scbb-room-card__price small {
  font-size: .74rem;
  color: var(--cbh-muted, #7a6248);
}

/* ----------------------------------------------------------------
   BOTÓN SELECT DE HABITACIÓN
   ---------------------------------------------------------------- */
.scbb-btn--select {
  display: inline-flex;
  align-items: center;
  padding: .6rem 1.2rem;
  background: var(--cbh-gold, #b58a42);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background .18s, transform .18s;
}
.scbb-btn--select:hover { background: var(--cbh-gold-light, #d4a94e); transform: translateY(-1px); }
.scbb-btn--select.is-selected {
  background: var(--cbh-sage, #7c8c60);
}

/* ----------------------------------------------------------------
   CALCULADORA DE RESERVA
   ---------------------------------------------------------------- */
.scbb-calc {
  background: var(--cbh-panel, rgba(255,250,242,.95));
  border: 1px solid var(--cbh-border, rgba(160,128,75,.2));
  border-radius: 16px;
  padding: 1.6rem 1.4rem 1.8rem;
  box-shadow: 0 8px 40px rgba(60,40,10,.1);
}

.scbb-calc__title {
  font-family: "Marcellus", Georgia, serif;
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--cbh-text, #2c1e0e);
  margin: 0 0 1.2rem;
}

/* Fechas en la calc */
.scbb-calc__dates {
  display: flex;
  align-items: center;
  gap: .6rem;
  background: var(--cbh-bg-warm, #f2e8d4);
  border: 1px solid var(--cbh-border, rgba(160,128,75,.2));
  border-radius: 10px;
  padding: .8rem 1rem;
  margin-bottom: .4rem;
}

.scbb-calc__date-field {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .1rem;
}

.scbb-calc__date-field small {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cbh-gold-dark, #8a6428);
}

.scbb-calc__date-field strong {
  font-size: .88rem;
  color: var(--cbh-text, #2c1e0e);
}

.scbb-calc__date-sep {
  color: var(--cbh-gold, #b58a42);
  font-size: 1rem;
}

.scbb-calc__nights {
  font-size: .75rem;
  color: var(--cbh-muted, #7a6248);
  margin: 0 0 1.1rem;
  text-align: right;
}

/* Steppers */
.scbb-calc__steppers {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  background: var(--cbh-bg-warm, #f2e8d4);
  border: 1px solid var(--cbh-border, rgba(160,128,75,.2));
  border-radius: 10px;
  padding: .9rem 1rem;
  margin-bottom: 1rem;
}

.scbb-stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.scbb-stepper__label {
  font-size: .84rem;
  color: var(--cbh-text, #2c1e0e);
}

.scbb-stepper__ctrl {
  display: flex;
  align-items: center;
  gap: .6rem;
}

.scbb-stepper__btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--cbh-border, rgba(160,128,75,.2));
  background: var(--cbh-bg, #faf3e8);
  color: var(--cbh-gold-dark, #8a6428);
  font-size: 1.25rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex-shrink: 0;
  transition: background .15s, border-color .15s;
}
.scbb-stepper__btn:hover {
  background: var(--cbh-gold, #b58a42);
  border-color: var(--cbh-gold, #b58a42);
  color: #fff;
}

.scbb-stepper__ctrl input[type="number"] {
  width: 48px;
  text-align: center;
  border: 1.5px solid var(--cbh-border, rgba(160,128,75,.2));
  background: var(--cbh-bg, #faf3e8);
  border-radius: 8px;
  padding: .3rem 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--cbh-text, #2c1e0e);
  font-family: "Inter", Arial, sans-serif;
  -moz-appearance: textfield;
}
.scbb-stepper__ctrl input[type="number"]::-webkit-inner-spin-button,
.scbb-stepper__ctrl input[type="number"]::-webkit-outer-spin-button { display: none; }

/* Habitación seleccionada */
.scbb-calc__selected {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  background: rgba(181,138,66,.1);
  border: 1px solid rgba(181,138,66,.3);
  border-radius: 8px;
  padding: .55rem .85rem;
  margin-bottom: .9rem;
  color: var(--cbh-text, #2c1e0e);
}

.scbb-calc__selected strong {
  color: var(--cbh-gold-dark, #8a6428);
  text-transform: capitalize;
}

/* Chips de habitaciones seleccionadas */
.scbb-calc__room-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}

.scbb-calc__room-chip {
  display: inline-block;
  background: var(--cbh-gold, #b58a42);
  color: #fff;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  padding: .18rem .6rem;
  border-radius: 20px;
  text-transform: capitalize;
}

/* Servicios Extra */
.scbb-calc__svc-title {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cbh-gold-dark, #8a6428);
  margin: 0 0 .6rem;
}

.scbb-svc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  margin-bottom: 1rem;
}

@keyframes scbb-svc-select {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.09); }
  70%  { transform: scale(.97); }
  100% { transform: scale(1.04); }
}

.scbb-svc-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .22rem;
  padding: .65rem .5rem;
  background: var(--cbh-bg-warm, #f2e8d4);
  border: 1.5px solid var(--cbh-border, rgba(160,128,75,.2));
  border-radius: 10px;
  cursor: pointer;
  text-align: center;
  transition: border-color .18s, background .18s, box-shadow .18s, transform .18s;
}

.scbb-svc-card:hover {
  border-color: var(--cbh-gold, #b58a42);
  box-shadow: 0 0 0 3px rgba(181,138,66,.18);
  transform: scale(1.03);
}

.scbb-svc-card input[type="radio"] { display: none; }

.scbb-svc-card.is-selected {
  border-color: var(--cbh-gold-dark, #8a6428);
  background: rgba(181,138,66,.14);
  box-shadow: 0 0 0 3px rgba(138,100,40,.28), 0 3px 10px rgba(60,40,10,.15);
  animation: scbb-svc-select .38s cubic-bezier(.34,1.56,.64,1) forwards;
}

.scbb-svc-card.is-selected .scbb-svc-card__icon {
  transform: scale(1.15);
  transition: transform .2s cubic-bezier(.34,1.56,.64,1);
}

@media (prefers-reduced-motion: reduce) {
  .scbb-svc-card.is-selected { animation: none; transform: scale(1.04); }
  .scbb-svc-card.is-selected .scbb-svc-card__icon { transform: none; }
}

.scbb-svc-card__icon { font-size: 1.2rem; transition: transform .2s; }

.scbb-svc-card__label {
  font-size: .72rem;
  color: var(--cbh-text, #2c1e0e);
  line-height: 1.3;
}

.scbb-svc-card__price {
  font-size: .68rem;
  font-weight: 700;
  color: var(--cbh-gold-dark, #8a6428);
}

/* Desglose de precio */
.scbb-calc__breakdown {
  border-top: 1px solid var(--cbh-border, rgba(160,128,75,.2));
  padding-top: .9rem;
  margin-bottom: 1rem;
}

.scbb-calc__total-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .9rem;
  color: var(--cbh-text, #2c1e0e);
}

.scbb-calc__total-line strong {
  font-family: "Marcellus", Georgia, serif;
  font-size: 1.5rem;
  color: var(--cbh-gold-dark, #8a6428);
}

.scbb-calc__detail-lines {
  margin-top: .4rem;
}

.scbb-calc__line-detail {
  font-size: .74rem;
  color: var(--cbh-muted, #7a6248);
  line-height: 1.9;
}

/* CTA principal */
@keyframes scbb-reserve-float {
  0%, 100% { transform: translateY(0);    box-shadow: 0 4px 18px rgba(181,138,66,.38); }
  50%       { transform: translateY(-5px); box-shadow: 0 10px 28px rgba(181,138,66,.56); }
}

@keyframes scbb-reserve-shimmer {
  0%   { background-position: 180% center; }
  100% { background-position: -180% center; }
}

.scbb-btn--reserve {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: .95rem;
  background: linear-gradient(100deg,
    var(--cbh-gold, #b58a42) 0%,
    var(--cbh-gold-light, #d4a94e) 40%,
    #e8c278 50%,
    var(--cbh-gold-light, #d4a94e) 60%,
    var(--cbh-gold, #b58a42) 100%
  );
  background-size: 300% 100%;
  color: #fff;
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: transform .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s, background-position .22s;
}

.scbb-btn--reserve:not(:disabled) {
  animation: scbb-reserve-float 2.6s ease-in-out infinite,
             scbb-reserve-shimmer 3.2s linear infinite;
}

.scbb-btn--reserve:hover:not(:disabled) {
  animation-play-state: paused;
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 12px 30px rgba(181,138,66,.6);
  background-position: 50% center;
}

.scbb-btn--reserve:active:not(:disabled) {
  transform: translateY(1px) scale(.97);
  box-shadow: 0 2px 8px rgba(181,138,66,.3);
  transition: transform .1s, box-shadow .1s;
}

.scbb-btn--reserve:disabled {
  opacity: .45;
  cursor: not-allowed;
  animation: none;
  background-position: 0% center;
}

@media (prefers-reduced-motion: reduce) {
  .scbb-btn--reserve:not(:disabled) { animation: none; }
  .scbb-btn--reserve:hover:not(:disabled) { transform: translateY(-2px); }
}

.scbb-calc__hint {
  text-align: center;
  font-size: .74rem;
  color: var(--cbh-muted, #7a6248);
  margin: .6rem 0 0;
}

/* ----------------------------------------------------------------
   MODAL CONFIRMACIÓN — datos del huésped
   ---------------------------------------------------------------- */
.scbb-guest-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  visibility: hidden;
  opacity: 0;
  transition: opacity .25s ease, visibility .25s ease;
}

.scbb-guest-modal.is-open {
  visibility: visible;
  opacity: 1;
}

.scbb-guest-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20,12,4,.78);
  backdrop-filter: blur(6px);
  cursor: pointer;
}

.scbb-guest-modal__panel {
  position: relative;
  z-index: 1;
  width: min(480px, 100%);
  max-height: 90dvh;
  overflow-y: auto;
  background: var(--cbh-bg, #faf3e8);
  border-radius: 20px;
  box-shadow: 0 40px 100px rgba(20,12,4,.5), 0 0 0 1px rgba(181,138,66,.15);
  padding: 0;
  transform: translateY(24px) scale(.96);
  transition: transform .32s cubic-bezier(.22,1,.36,1);
}

.scbb-guest-modal.is-open .scbb-guest-modal__panel {
  transform: translateY(0) scale(1);
}

/* Franja dorada superior */
.scbb-guest-modal__panel::before {
  content: '';
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--cbh-gold,#b58a42), #e8c46a, var(--cbh-gold,#b58a42));
  border-radius: 20px 20px 0 0;
}

.scbb-guest-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--cbh-bg-warm, #f2e8d4);
  border: 1px solid var(--cbh-border, rgba(160,128,75,.2));
  cursor: pointer;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cbh-muted, #7a6248);
  transition: background .15s, color .15s;
  z-index: 2;
}
.scbb-guest-modal__close:hover { background: var(--cbh-gold, #b58a42); color: #fff; }

/* Header del modal */
.scbb-guest-modal__header {
  padding: 1.6rem 1.8rem .4rem;
}

.scbb-guest-modal__badge {
  display: inline-block;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cbh-gold-dark, #8a6428);
  background: rgba(181,138,66,.1);
  border: 1px solid rgba(181,138,66,.25);
  border-radius: 20px;
  padding: .2rem .7rem;
  margin-bottom: .55rem;
}

.scbb-guest-modal__title {
  font-family: "Marcellus", Georgia, serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--cbh-text, #2c1e0e);
  margin: 0;
}

/* Resumen de la reserva */
.scbb-guest-modal__summary {
  margin: 1rem 1.8rem;
  background: rgba(44,30,14,.04);
  border: 1px solid var(--cbh-border, rgba(160,128,75,.18));
  border-left: 3px solid var(--cbh-gold, #b58a42);
  border-radius: 0 10px 10px 0;
  padding: .8rem 1rem;
  font-size: .84rem;
  color: var(--cbh-muted, #7a6248);
  line-height: 1.9;
}

.scbb-guest-modal__summary strong { color: var(--cbh-text, #2c1e0e); font-weight: 600; }
.scbb-guest-modal__summary em { color: var(--cbh-gold-dark, #8a6428); font-style: normal; }
.scbb-guest-modal__summary p { margin: 0; }

/* Referencia de reserva */
.scbb-booking-ref {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  margin: 0 1.8rem .8rem;
  padding: .65rem 1rem;
  background: linear-gradient(90deg, rgba(181,138,66,.12), rgba(181,138,66,.06));
  border: 1.5px solid rgba(181,138,66,.35);
  border-radius: 10px;
  animation: scbb-ref-pop .35s cubic-bezier(.22,1,.36,1);
}

@keyframes scbb-ref-pop {
  from { opacity: 0; transform: translateY(-6px) scale(.97); }
  to   { opacity: 1; transform: translateY(0)    scale(1);   }
}

.scbb-booking-ref__label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--cbh-gold-dark, #8a6428);
}

.scbb-booking-ref__code {
  font-family: "Marcellus", Georgia, serif;
  font-size: 1.05rem;
  color: var(--cbh-text, #2c1e0e);
  letter-spacing: .04em;
}

/* Formulario */
.scbb-guest-form {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: .4rem 1.8rem 1.8rem;
}

.scbb-guest-form__field {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.scbb-guest-form__label {
  display: none !important;
}

.scbb-guest-form__icon {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  color: var(--cbh-gold, #b58a42);
}

.scbb-guest-form__field input,
.scbb-phone-country {
  padding: .7rem 1rem;
  border: 1.5px solid var(--cbh-border, rgba(160,128,75,.22));
  border-radius: 10px;
  background: #fff;
  color: var(--cbh-text, #2c1e0e);
  font-family: "Inter", Arial, sans-serif;
  font-size: 1rem; /* min 16px evita el auto-zoom de iOS Safari */
  outline: none;
  transition: border-color .18s, box-shadow .18s;
}

.scbb-guest-form__field input:focus,
.scbb-phone-country:focus {
  border-color: var(--cbh-gold, #b58a42);
  box-shadow: 0 0 0 3px rgba(181,138,66,.12);
}

/* Fila de teléfono: select indicativo + input número */
.scbb-phone-row {
  display: flex;
  gap: .5rem;
}

.scbb-phone-country {
  width: 110px;
  flex-shrink: 0;
  cursor: pointer;
  appearance: auto;
  padding-right: .5rem;
}

.scbb-phone-row input {
  flex: 1;
  min-width: 0;
}

/* ----------------------------------------------------------------
   BOTÓN WHATSAPP CON ANIMACIÓN
   ---------------------------------------------------------------- */
@keyframes scbb-wa-shine {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}

@keyframes scbb-wa-pulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(37,211,102,.35), 0 0 0 0 rgba(37,211,102,.0); }
  50%       { box-shadow: 0 8px 32px rgba(37,211,102,.65), 0 0 0 8px rgba(37,211,102,.12); }
}

@keyframes scbb-wa-float {
  0%, 100% { transform: translateY(0)   scale(1); }
  45%       { transform: translateY(-5px) scale(1.015); }
  75%       { transform: translateY(-2px) scale(1.005); }
}

@keyframes scbb-wa-icon-bounce {
  0%, 100% { transform: scale(1)    rotate(0deg); }
  25%       { transform: scale(1.22) rotate(-8deg); }
  50%       { transform: scale(1.18) rotate(6deg); }
  75%       { transform: scale(1.1)  rotate(-3deg); }
}

.scbb-btn--whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: 1rem 1.2rem;
  background: linear-gradient(105deg, #128c3e 0%, #25d366 30%, #5cfa96 50%, #25d366 70%, #128c3e 100%);
  background-size: 300% 100%;
  color: #fff;
  font-size: .84rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 14px;
  margin-top: .5rem;
  animation:
    scbb-wa-shine  2.6s linear        infinite,
    scbb-wa-pulse  2s   ease-in-out   infinite,
    scbb-wa-float  2.8s ease-in-out   infinite;
  transition: filter .18s;
  will-change: transform;
}

.scbb-btn--whatsapp:hover {
  animation-play-state: paused;
  transform: translateY(-6px) scale(1.04) !important;
  filter: brightness(1.12) saturate(1.2);
  box-shadow: 0 14px 36px rgba(37,211,102,.7), 0 0 0 6px rgba(37,211,102,.18);
}

.scbb-btn--whatsapp:active {
  transform: translateY(1px) scale(.96) !important;
  filter: brightness(.95);
  transition: transform .08s, filter .08s;
}

.scbb-wa-icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  animation: scbb-wa-icon-bounce 2.8s ease-in-out infinite;
  animation-delay: .8s;
}

@media (prefers-reduced-motion: reduce) {
  .scbb-btn--whatsapp { animation: scbb-wa-shine 2.6s linear infinite; }
  .scbb-btn--whatsapp:hover { transform: translateY(-2px) !important; }
  .scbb-wa-icon { animation: none; }
}

/* ================================================================
   Hello Elementor / Elementor Pro — booking page compat
   Elementor's global button rules override plugin styles unless
   we apply !important at a higher specificity level.
   ================================================================ */

/* Top bar — Modificar button */
.scbb-bar .scbb-btn--modify,
.scbb-wrap .scbb-btn--modify {
  background: var(--cbh-gold, #b58a42) !important;
  color: #fff !important;
  border: none !important;
  text-decoration: none !important;
}
.scbb-bar .scbb-btn--modify:hover,
.scbb-wrap .scbb-btn--modify:hover {
  background: var(--cbh-gold-light, #d4a94e) !important;
  color: #fff !important;
}

/* Room selection — SELECCIONAR HABITACIÓN button */
.scbb-wrap .scbb-btn--select {
  background: var(--cbh-gold, #b58a42) !important;
  color: #fff !important;
  border: none !important;
  display: inline-flex !important;
}
.scbb-wrap .scbb-btn--select:hover {
  background: var(--cbh-gold-light, #d4a94e) !important;
  color: #fff !important;
}
.scbb-wrap .scbb-btn--select.is-selected {
  background: var(--cbh-sage, #7c8c60) !important;
  color: #fff !important;
}

/* Calculator — Continuar / Reserve button */
.scbb-wrap .scbb-btn--reserve {
  color: #fff !important;
  border: none !important;
}

/* Confirmation modal — WhatsApp CTA */
.scbb-guest-modal .scbb-btn--whatsapp {
  background: linear-gradient(105deg,#128c3e 0%,#25d366 30%,#5cfa96 50%,#25d366 70%,#128c3e 100%) !important;
  background-size: 300% 100% !important;
  color: #fff !important;
  border: none !important;
  display: flex !important;
  animation:
    scbb-wa-shine  2.6s linear      infinite,
    scbb-wa-pulse  2s   ease-in-out infinite,
    scbb-wa-float  2.8s ease-in-out infinite !important;
}

/* Confirmation modal — close × button */
.scbb-guest-modal__close {
  background: var(--cbh-bg-warm, #f2e8d4) !important;
  border: 1px solid var(--cbh-border, rgba(160,128,75,.2)) !important;
  color: var(--cbh-muted, #7a6248) !important;
  border-radius: 50% !important;
}
.scbb-guest-modal__close:hover {
  background: var(--cbh-gold, #b58a42) !important;
  color: #fff !important;
}

/* Confirmation modal — input / select fields */
.scbb-guest-form__field input,
.scbb-phone-country {
  background: #fff !important;
  border: 1.5px solid var(--cbh-border, rgba(160,128,75,.22)) !important;
  border-radius: 10px !important;
  color: var(--cbh-text, #2c1e0e) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 1rem !important;
  padding: .7rem 1rem !important;
}
.scbb-guest-form__field input:focus,
.scbb-phone-country:focus {
  border-color: var(--cbh-gold, #b58a42) !important;
  box-shadow: 0 0 0 3px rgba(181,138,66,.12) !important;
  outline: none !important;
}

/* Calculator steppers — Huéspedes / Niños / Habitaciones +/- buttons */
.scbb-wrap .scbb-stepper__btn,
.scbb-calc .scbb-stepper__btn {
  background: var(--cbh-bg, #faf3e8) !important;
  color: var(--cbh-gold-dark, #8a6428) !important;
  border: 1.5px solid var(--cbh-border, rgba(160,128,75,.2)) !important;
  border-radius: 50% !important;
  width: 34px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  font-size: 1.25rem !important;
  cursor: pointer !important;
}
.scbb-wrap .scbb-stepper__btn:hover,
.scbb-calc .scbb-stepper__btn:hover {
  background: var(--cbh-gold, #b58a42) !important;
  border-color: var(--cbh-gold, #b58a42) !important;
  color: #fff !important;
}

/* Number input inside steppers */
.scbb-wrap .scbb-stepper__ctrl input[type="number"],
.scbb-calc .scbb-stepper__ctrl input[type="number"] {
  background: var(--cbh-bg, #faf3e8) !important;
  border: 1.5px solid var(--cbh-border, rgba(160,128,75,.2)) !important;
  color: var(--cbh-text, #2c1e0e) !important;
  font-family: "Inter", Arial, sans-serif !important;
}

/* Carousel dots — booking page, 3-class chain to beat Elementor */
.scbb-wrap .scbh-card-carousel__dots .scbh-card-carousel__dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  border: none !important;
  background: rgba(255,255,255,.45) !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  transition: background .22s, transform .22s, width .22s !important;
}
.scbb-wrap .scbh-card-carousel__dots .scbh-card-carousel__dot:hover {
  background: rgba(255,255,255,.75) !important;
  transform: scale(1.2) !important;
}
.scbb-wrap .scbh-card-carousel__dots .scbh-card-carousel__dot.is-active {
  background: var(--cbh-gold, #b58a42) !important;
  width: 18px !important;
  border-radius: 3px !important;
  transform: none !important;
}

/* ================================================================
   scbb-room-dot — Elementor compat (correct class, 3-chain selector)
   The dots inside room cards use scbb-room-dot, not scbh-card-carousel__dot
   ================================================================ */
.scbb-wrap .scbb-room-dots .scbb-room-dot,
.scbb-room-card .scbb-room-dots .scbb-room-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  border: none !important;
  background: rgba(255,255,255,.45) !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  transition: background .22s, transform .22s, width .22s !important;
}
.scbb-wrap .scbb-room-dots .scbb-room-dot:hover,
.scbb-room-card .scbb-room-dots .scbb-room-dot:hover {
  background: rgba(255,255,255,.75) !important;
  transform: scale(1.15) !important;
}
.scbb-wrap .scbb-room-dots .scbb-room-dot.is-active,
.scbb-room-card .scbb-room-dots .scbb-room-dot.is-active {
  background: var(--cbh-gold, #b58a42) !important;
  width: 16px !important;
  border-radius: 3px !important;
  transform: none !important;
}

/* ================================================================
   Sin disponibilidad — panel con fechas alternativas
   ================================================================ */
/* ----------------------------------------------------------------
   Bloque sin disponibilidad
   ---------------------------------------------------------------- */
.scbb-no-avail {
  text-align: center;
  padding: 2rem 1.5rem 1.75rem;
  margin: 1.5rem 0 2rem;
  background: #ffffff !important;
  border: 2px solid #b58a42 !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 8px 32px rgba(90,60,20,.12) !important;
}

.scbb-no-avail__icon {
  font-size: 2.4rem;
  line-height: 1;
  margin-bottom: .6rem;
}

.scbb-no-avail__title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c1e0e;
  margin: 0 0 .4rem;
}

.scbb-no-avail__sub {
  font-size: .88rem;
  color: #7a6a50;
  margin: 0 0 1.25rem;
}

.scbb-no-avail__alts {
  margin-bottom: 1.25rem;
}

.scbb-no-avail__back {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .7rem 2rem;
  background: linear-gradient(135deg, #b58a42, #d4a94e);
  color: #fff !important;
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(181,138,66,.4);
  transition: box-shadow .22s, transform .18s, background .2s;
}
.scbb-no-avail__back:hover {
  background: linear-gradient(135deg, #9a7030, #b58a42);
  box-shadow: 0 6px 22px rgba(181,138,66,.55);
  transform: translateY(-2px);
  color: #fff !important;
}

.scbb-no-avail__no-alts {
  font-size: .88rem;
  color: #7a6a50;
  margin: 0 0 .25rem;
}

/* ----------------------------------------------------------------
   Mini calendario de disponibilidad — layout 3 meses en fila
   ---------------------------------------------------------------- */
.scbb-cal__hint {
  font-size: .82rem;
  font-weight: 600;
  color: #5a4020;
  margin: 0 0 .75rem;
  text-align: center;
}

/* Leyenda de 4 niveles */
.scbb-cal__legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .6rem 1rem;
  margin: 0 0 .85rem;
  font-size: .7rem;
  color: #5a4020;
}
.scbb-cal__legend span {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  white-space: nowrap;
}
.scbb-cal__legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}
.scbb-cal__legend-dot--avail    { background: #27ae60; }
.scbb-cal__legend-dot--busy-low { background: #f4c518; }
.scbb-cal__legend-dot--busy-hi  { background: #e67e22; }
.scbb-cal__legend-dot--full     { background: #e74c3c; }

/* Cuadrícula de 2 meses lado a lado */
.scbb-cal {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .75rem;
  margin-bottom: .75rem;
}

.scbb-cal__month {
  background: #faf8f4;
  border: 1px solid rgba(181,138,66,.18);
  border-radius: .6rem;
  padding: .5rem .4rem .4rem;
}

.scbb-cal__month-name {
  font-size: .65rem;
  font-weight: 700;
  color: #2c1e0e;
  text-align: center;
  margin-bottom: .35rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.scbb-cal__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
}

.scbb-cal__dow {
  font-size: .52rem;
  font-weight: 700;
  color: #9a8060;
  text-align: center;
  padding: 2px 0;
}

.scbb-cal__empty { }

/* Reset total de Elementor sobre <button> */
.scbb-wrap .scbb-cal__day,
.scbb-no-avail .scbb-cal__day {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 !important;
  border-radius: 5px !important;
  font-size: .62rem !important;
  font-weight: 700 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  cursor: default !important;
  transition: background .15s, transform .12s, color .15s !important;
  padding: 0 !important;
  line-height: 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  color: #ccc !important;
}

.scbb-wrap .scbb-cal__day.is-past,
.scbb-no-avail .scbb-cal__day.is-past {
  color: #cdc7be !important;
  background: transparent !important;
}

/* 🔴 Sin disponibilidad — todas las hab. ocupadas */
.scbb-wrap .scbb-cal__day.is-full,
.scbb-no-avail .scbb-cal__day.is-full {
  background: #e74c3c !important;
  color: #fff !important;
  text-decoration: line-through !important;
  text-decoration-color: rgba(255,255,255,.7) !important;
  cursor: not-allowed !important;
  opacity: .75 !important;
}

/* 🟠 Alta ocupación — mayoría ocupada, queda 1 libre */
.scbb-wrap .scbb-cal__day.is-busy-hi,
.scbb-no-avail .scbb-cal__day.is-busy-hi {
  background: #e67e22 !important;
  color: #fff !important;
  cursor: pointer !important;
}
.scbb-wrap .scbb-cal__day.is-busy-hi:hover,
.scbb-no-avail .scbb-cal__day.is-busy-hi:hover {
  background: #ca6f1e !important;
  transform: scale(1.12) !important;
}

/* 🟡 Baja ocupación — menos de la mitad ocupadas */
.scbb-wrap .scbb-cal__day.is-busy-low,
.scbb-no-avail .scbb-cal__day.is-busy-low {
  background: #f4c518 !important;
  color: #4a3000 !important;
  cursor: pointer !important;
}
.scbb-wrap .scbb-cal__day.is-busy-low:hover,
.scbb-no-avail .scbb-cal__day.is-busy-low:hover {
  background: #d4a800 !important;
  color: #fff !important;
  transform: scale(1.12) !important;
}

/* 🟢 Libre — ninguna hab. ocupada */
.scbb-wrap .scbb-cal__day.is-avail,
.scbb-no-avail .scbb-cal__day.is-avail {
  background: #27ae60 !important;
  color: #fff !important;
  cursor: pointer !important;
}
.scbb-wrap .scbb-cal__day.is-avail:hover,
.scbb-no-avail .scbb-cal__day.is-avail:hover {
  background: #1e8449 !important;
  transform: scale(1.12) !important;
}

/* Día seleccionado (1er click del rango) */
.scbb-wrap .scbb-cal__day.is-range-start,
.scbb-no-avail .scbb-cal__day.is-range-start {
  background: #b58a42 !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #b58a42 !important;
  transform: scale(1.15) !important;
}

/* Hint de selección de rango */
.scbb-cal__pick-hint {
  font-size: .78rem;
  color: #5a4020;
  text-align: center;
  margin: .4rem 0 .2rem;
  min-height: 1.4em;
}
.scbb-cal__pick-hint.is-error { color: #c0392b; }

/* ================================================================
   Habitación no disponible
   ================================================================ */
.scbb-room-card.is-unavailable {
  position: relative;
  opacity: .5;
  pointer-events: none;
}

.scbb-room-card.is-unavailable::after {
  content: 'Sin disponibilidad';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(30,15,0,.72);
  backdrop-filter: blur(2px);
  color: #fff;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .04em;
  padding: .5rem 1.2rem;
  border-radius: .6rem;
  pointer-events: none;
  z-index: 4;
  white-space: nowrap;
}
