.ch-property main{padding-top:20px}.breadcrumb{font-size:11px;color:#636e85;margin:0 0 12px}.breadcrumb a{color:inherit}.ch-property .subtitle{margin:4px 0 18px}.property-gallery{display:grid;grid-template-columns:3.85fr .95fr .97fr;grid-template-rows:124px 124px;gap:12px 16px;margin-bottom:20px}.gallery-photo{position:relative;border:0;padding:0;background:#ebedff;border-radius:9px;overflow:hidden;cursor:pointer;min-width:0}.gallery-photo:first-child{grid-row:span 2}.gallery-photo:only-child{grid-column:1/-1}.gallery-photo:nth-child(n+6){display:none}.gallery-photo img{width:100%;height:100%;object-fit:cover;display:block}.gallery-photo span{position:absolute;inset:auto 0 0;background:#17184adb;color:white;padding:10px}.photo-empty{grid-column:1/-1;grid-row:1/3;display:grid;place-items:center;background:#ebedff;border-radius:9px;color:#1f21d1}.property-overview{display:grid;grid-template-columns:1.92fr 1fr;gap:16px}.ch-property .panel h2{font-size:12px;text-transform:uppercase;margin:0 0 18px;font-weight:600}.about{font-size:13px}.about h3{font-size:12px;color:#636e85;font-weight:500;text-transform:uppercase;margin:24px 0 4px}.about p{margin:0 0 8px}.about .description{white-space:normal;overflow-wrap:anywhere}.about>p:not(.description){color:#636e85;font-size:12px}.ch-property dl{font-size:12px;margin:0}.ch-property dl>div{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px}.ch-property dt{color:#636e85}.ch-property dd{margin:0;text-align:right;overflow-wrap:anywhere;max-width:65%}.property-info .button{width:100%;margin-top:20px}.muted{font-size:11px;color:#636e85}.policy-details{font-size:12px;margin-top:14px}.policy-details summary{cursor:pointer;color:#1f21d1;margin-bottom:10px}.accommodation-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.accommodation{display:flex;flex-direction:column;min-height:190px;padding:13px}.accommodation h3{font-size:14px;margin:0 0 14px}.accommodation p{font-size:11px;color:#636e85;margin:0 0 4px}.accommodation .rates{margin:6px 0 16px}.accommodation .button{width:100%;margin-top:auto}.ch-property button:disabled{opacity:.55;cursor:not-allowed}.stay-rules{background:#f9f9ff;margin-top:22px;font-size:11px}.stay-rules p{margin:5px 0}.booking-area{margin-top:22px}.booking-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.booking-fields label{font-size:12px;color:#636e85}.booking-fields input,.booking-fields select{display:block;width:100%;height:42px;border:1px solid #d6dbf0;border-radius:7px;background:#fff;color:#12173b;margin-top:5px;padding:8px;font:inherit}.booking-area p{font-size:13px}.booking-area .button{min-width:220px}.ch-property dialog{border:1px solid #d6dbf0;border-radius:12px;width:min(960px,90vw);padding:16px;background:white}.ch-property dialog::backdrop{background:#101233d9}#viewer-image{display:block;width:100%;height:65vh;object-fit:contain;margin:12px 0}.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:16px}
input[type="date"], input[type="time"], input[type="datetime-local"] {
  cursor: pointer !important;
  position: relative !important;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 10 !important;
}
@media(max-width:1100px){.accommodation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.property-overview{grid-template-columns:1.65fr 1fr}}
@media(max-width:767px){.ch-property main{padding-top:18px}.breadcrumb{font-size:10px;margin-bottom:10px}.property-header-row{flex-direction:column;align-items:flex-start;gap:12px}.ch-property .subtitle{margin:4px 0 18px;min-height:auto}.property-gallery{display:flex;height:210px;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-bottom:16px}.gallery-photo,.gallery-photo:nth-child(n+6){display:block;flex:0 0 100%;scroll-snap-align:start}.photo-empty{width:100%}.property-overview{display:flex;flex-direction:column}.about{min-height:262px;font-size:12px;padding:13px}.property-info{order:1}.accommodation-grid{grid-template-columns:1fr;gap:16px}.accommodation{min-height:186px}.accommodation .button{min-height:40px}.ch-property .section-heading{font-size:18px;margin-top:20px}.booking-fields{grid-template-columns:1fr}.booking-area .button{width:100%;min-width:0}.ch-property dialog{width:calc(100vw - 24px);max-width:none;padding:12px}#viewer-image{height:55vh}}
.property-highlight{font-size:12px;color:#1f21d1;margin:4px 0 0}

/* Favorite Button Styling */
.favorite-btn {
    border: 1.5px solid #1f21d1 !important;
    background: #ffffff !important;
    color: #1f21d1 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    transition: all 0.15s ease !important;
    box-shadow: 0 1px 3px rgba(31, 33, 209, 0.08) !important;
}
.favorite-btn:hover {
    background: #f0f2fe !important;
    border-color: #1517a6 !important;
    color: #1517a6 !important;
}
.favorite-btn.is-saved {
    background: #1f21d1 !important;
    color: #ffffff !important;
}
.favorite-btn.is-saved:hover {
    background: #1517a6 !important;
    border-color: #1517a6 !important;
    color: #ffffff !important;
}

/* Multi-Variant Quantity Stepper & Selection Styling */
.variant-selection-control {
    margin-top: auto;
    padding-top: 10px;
}
.qty-stepper-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.qty-label {
    font-size: 11px;
    font-weight: 600;
    color: #475569;
}
.qty-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    height: 36px;
}
.qty-btn {
    width: 34px;
    height: 100%;
    background: #f1f5f9;
    border: none;
    color: #1f21d1;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
    user-select: none;
}
.qty-btn:hover:not(:disabled) {
    background: #e2e8f0;
}
.qty-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.qty-input {
    width: 36px !important;
    height: 100% !important;
    text-align: center;
    border: none !important;
    background: transparent !important;
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
}
.accommodation.is-selected {
    border-color: #1f21d1 !important;
    background: #f8faff !important;
    box-shadow: 0 0 0 2px rgba(31, 33, 209, 0.25);
}
.selected-variants-panel {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 16px;
}
.selected-variants-panel h3 {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
}
.selected-variants-summary {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 13px;
}
.selected-variants-summary .no-selection-msg {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}
.selected-variants-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.selected-variants-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    padding-bottom: 6px;
    border-bottom: 1px dashed #e2e8f0;
}
.selected-variants-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.selection-totals-bar {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #e2e8f0;
    font-size: 13px;
}
.continue-booking-btn {
    margin-top: 16px;
    width: 100%;
}
