/* =========================================================
   CNWS Hotel frontend base
   Shared lightweight layer only.

   Feature styling lives in the conditional split files:
   - frontend/cnwshotel-search.css
   - frontend/cnwshotel-room.css
   - frontend/cnwshotel-room-grid.css
   - frontend/cnwshotel-addons.css
   - frontend/cnwshotel-booking-summary.css
   - frontend/cnwshotel-combinations.css
   - frontend/cnwshotel-woocommerce-flow.css
========================================================= */

.cnwshotel_scope,
.cnwshotel_scope *,
.cnwshotel_scope *::before,
.cnwshotel_scope *::after {
    box-sizing: border-box;
}

.cnwshotel-theme-container,
.cnwshotel_container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.cnwshotel_scope [hidden] {
    display: none !important;
}

@media (max-width: 767px) {
    .cnwshotel-theme-container,
    .cnwshotel_container {
        padding-left: 14px;
        padding-right: 14px;
    }
}

.cnwshotel-addon-service-time-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.cnwshotel-addon-service-time-grid label,
.cnwshotel-extras-card__field--service-date label,
.cnwshotel-extras-card__field--service-time label {
    display: grid;
    gap: 6px;
    font-weight: 700;
}

.cnwshotel-addon-service-time-grid input,
.cnwshotel-extras-card__field--service-date input,
.cnwshotel-extras-card__field--service-time input {
    width: 100%;
}

.cnwshotel-addon-service-time-note,
.cnwshotel-extras-card__hint {
    margin: 8px 0 0;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #475569;
}

@media (max-width: 640px) {
    .cnwshotel-addon-service-time-grid {
        grid-template-columns: 1fr;
    }
}


.cnwshotel-room-booking-total__guided-currency {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.35;
    color: #64748b;
}
