.elementor-2153 .elementor-element.elementor-element-76642b3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2153 .elementor-element.elementor-element-cd87770{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;}.elementor-2153 .elementor-element.elementor-element-cd87770.e-con{--flex-grow:0;--flex-shrink:0;}:root{--page-title-display:none;}/* Start custom CSS for shortcode, class: .elementor-element-ae4a1b5 *//* Reset & Base */
* { box-sizing: border-box; }
body { font-family: "Segoe UI", Roboto, Arial, sans-serif; color:#333; background:#f9f9f9; margin:0; padding:0; line-height:1.6; }

/* Booking Card */
.booking-step2-card { max-width:900px; margin:30px auto; padding:25px; background:#fff; border-radius:14px; box-shadow:0 8px 24px rgba(0,0,0,0.08); }

/* Headings */
.booking-step2-card h3 { font-size:1.4rem; margin-bottom:15px; color:#111; border-bottom:2px solid #eee; padding-bottom:8px; }

/* Form Elements */
.booking-step2-card label { font-weight:600; display:block; margin-bottom:6px; cursor:pointer; transition: all 0.3s; }
.booking-step2-card input, .booking-step2-card select, .booking-step2-card textarea { width:100%; padding:10px 12px; margin-bottom:15px; border:1px solid #ccc; border-radius:8px; font-size:14px; transition:border-color 0.2s, box-shadow 0.2s; }
.booking-step2-card input:focus, .booking-step2-card select:focus, .booking-step2-card textarea:focus { border-color:#0073e6; box-shadow:0 0 0 3px rgba(0,115,230,0.2); outline:none; }

/* Location Tabs */
.location-tabs { display:flex; justify-content:center; gap:12px; margin-bottom:15px; flex-wrap:wrap; }
.location-tabs button { padding:10px 18px; background:#61ce70; margin-top: 10px; border:none; border-radius:25px; cursor:pointer; font-weight:600; transition: all 0.3s;  }
.location-tabs button.active { background:#0073e6; color:#fff; box-shadow:0 4px 10px rgba(0,115,230,0.25); }
.location-tabs button:hover { background:#0073e6; color:#fff; }

/* Rooms & Payment Boxes Animation */
.room-group, .payment-box { overflow:hidden; max-height:0; opacity:0; transition:max-height 0.5s ease, opacity 0.4s ease, padding 0.3s ease; padding:0 12px; }
.room-group.active, .payment-box.active { max-height:1500px; opacity:1; padding:10px 12px; }

/* Room Highlight on Selection */
.room-group label {
  border:1px solid #ccc;
  border-radius:8px;
  padding:8px 12px;
  display:block;
  margin-bottom:8px;
  transition: all 0.3s;
  background:#f9f9f9;
}
.room-group input[type="radio"]:checked + label,
.room-group input[type="radio"]:checked {
  background:#0073e6;
  color:#fff;
  border-color:#005bb5;
}

/* Payment Boxes styling */
.payment-box { background:#f9f9ff; border-left:3px solid #0073e6; border-radius:6px; margin-top:10px; }

/* Summary */
#live-summary { background:#f9f9f9; padding:12px; border-radius:8px; border:1px solid #eee; margin-top:12px; }

/* Confirm Booking Button */
.wpcf7-submit { display:inline-block; background:#0073e6; color:#fff; border:none; border-radius:8px; padding:12px 22px; cursor:pointer; font-size:15px; font-weight:600; transition:background 0.3s, transform 0.2s; margin-top:10px; }
.wpcf7-submit:hover { background:#005bb5; transform:translateY(-2px); }/* End custom CSS */