:root{
    --brand:#A01B20; --brand-deep:#7A1418; --brand-soft:#C64148; --brand-tint:#F7E1DF;
    --gold:#C9A24B; --ink:#241C1B; --ink-soft:#5B4F4C; --sand:#F7F3EE; --line:#E7DEDA; --ok:#2F7D5E;
  }
.room-card{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; height:100%;}
/* .room-card:hover {transform: translateY(-4px);box-shadow: 0 20px 25px -5px #0000001a;} */
.room-card .img-wrap{position:relative; aspect-ratio:4/3; overflow:hidden;}
.room-card .img-wrap img{width:100%; height:100%; object-fit:cover;}
.tag-destino{position:absolute; top:12px; left:0; background:var(--brand); color:#fff; padding:6px 16px 6px 12px; font-size:.72rem; border-radius:0 20px 20px 0;}
.room-card .body-pad{padding:16px 18px 18px;}
.room-title{font-size:1rem; font-weight:700; margin-bottom:8px;}
.desayuno-chip{display:inline-flex; align-items:center; gap:5px; background:var(--brand-tint); color:var(--brand-deep); font-size:.72rem; padding:3px 9px; border-radius:20px; white-space:nowrap;}
.bullets{list-style:none; padding:0; margin:10px 0 12px; font-size:.78rem; color:var(--ink-soft);}
.bullets li{display:flex; gap:6px; margin-bottom:4px;}
.bullets i{font-size:.85rem; margin-top:1px;}
.btn-reservar{background:var(--brand); border:none; color:#fff; font-size:.875rem; padding:.5rem 1rem; border-radius:20px;}
.btn-reservar.disabled {background: gray; cursor: not-allowed;}
.btn-reservar:hover{background:var(--brand-deep); color:#fff;}
.accordion-toggle{
display:flex; justify-content:space-between; align-items:center; cursor:pointer;font-size:.78rem; color:var(--brand-deep); padding:6px 0;
border-top:1px dashed var(--line); margin-top:12px; padding-top: 1rem;}
.accordion-tier-row{display:flex; justify-content:space-between; padding:6px 0; font-size:.85rem;}
.accordion-tier-row + .accordion-tier-row{border-top:1px solid var(--line);}
.price-stack{border-top:1px dashed var(--line); padding-top:10px; margin-top:2px;}
.price-row-tier + .price-row-tier{border-top:1px solid var(--line);}
.tier-label{font-size:.72rem; color:var(--ink-soft);}
.tier-label b{display:block; font-size:.75rem; color:var(--ink);}
.tier-price{font-size:1.15rem; font-weight:700; color:var(--brand-deep);}
.tier-socio .tier-price{color:var(--gold);}
.socio-flag{background:var(--gold); color:#fff; font-size:.6rem; font-weight:700; padding:2px 6px; border-radius:6px; margin-left:6px;}

/* filas seleccionables tipo radio */
.price-row-tier.selectable, .price-row-tier .is-selectable {
cursor:pointer; border:1.5px solid var(--line); border-radius:10px;
padding:8px 10px; margin-bottom:6px; transition:border-color .15s ease, background .15s ease;
}
/* .price-row-tier.selectable + .price-row-tier.selectable{border-top:1.5px solid var(--line);} */
.price-row-tier.selectable.is-selected{border-color:var(--brand); background:var(--brand-tint);}
.price-row-tier.selectable .radio-dot{
width:16px; height:16px; border-radius:50%; border:2px solid #C9BEBB;
display:inline-block; margin-right:8px; position:relative; flex-shrink:0; vertical-align:middle;
}
.price-row-tier.selectable.is-selected .radio-dot{border-color:var(--brand);}
.price-row-tier.selectable.is-selected .radio-dot::after{
content:""; position:absolute; inset:3px; border-radius:50%; background:var(--brand);
}
.selected-summary{font-size:.72rem; color:var(--ink-soft); margin-top:6px; text-align:right;}
.selected-summary b{color:var(--brand-deep);}
.promotion__card .promotion__card--content {
    padding-inline: 1rem;
    padding-block: 1rem;
}
.btn-reservar:hover:not(:disabled) {
    background: var(--brand-deep);
}

.btn-reservar:disabled,
.btn-reservar.is-disabled {
    background: #B9AFAC;
    cursor: not-allowed;
    opacity: .85;
}

.selected-summary {
    font-size: .7rem;
    color: var(--ink-soft);
    margin-top: 8px;
    text-align: right;
}

.selected-summary b {
    color: var(--brand-deep);
}

.selected-summary.is-pending b {
    color: #B9AFAC;
}

.accordion-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: .74rem;
    color: var(--brand-deep);
    font-weight: 600;
    padding: 9px 0 0;
    border-top: 1px dashed var(--line);
    margin-top: 10px;
}

.accordion-toggle i {
    transition: transform .2s ease;
}

.accordion-toggle.open i {
    transform: rotate(0deg);
}

.accordion-body {
    display: none;
    padding-top: 10px;
}

.accordion-body.open {
    display: block;
}
.promotion__card--content .swiper-button-next, .promotion__card--content .swiper-button-prev {
    color: var(--brand);
    font-size: 1rem;
    background-color: #ffffff78;
    padding: .875rem;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(10px);
}
.price-row-tier {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    border: 1.5px solid var(--line);
    border-radius: 10px;
    padding: 8px 10px;
    margin-bottom: 7px;
    transition: border-color .15s ease, background .15s ease;
}
.price-row-tier:last-child {
    margin-bottom: 0;
}

.price-row-tier.is-selected {
    border-color: var(--brand);background: var(--brand-tint);
}

.price-row-tier .left {
    display: flex;align-items: center;gap: 7px;
}

.radio-dot {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    border: 2px solid #C9BEBB;
    position: relative;
    flex-shrink: 0;
}

.price-row-tier.is-selected .radio-dot {
    border-color: var(--brand);
}

.price-row-tier.is-selected .radio-dot::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--brand);
}

.price-row-tier .t-name {
    font-size: .85rem;
}

.price-row-tier .t-price {
    font-size: 1rem;font-weight: 600;
}
.price-row-tier .t-discount {
    background:var(--gold); color:#fff; font-size:.6rem; font-weight:700; padding:2px 6px; border-radius:6px; margin-left:4px;
}
.price-row-tier .t-price_discount {
    color:var(--gold);
}