.tv-booking-cards{border:1px solid #e2e6ea;border-radius:3px;overflow:hidden;margin-top:10px}
.tv-card{background:#fff}
.tv-card+.tv-card{border-top:1px solid #e2e6ea}
.tv-card-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-weight:600;font-size:15px;color:#1f2a3d;background:#bfbbb5;border:0;cursor:pointer;transition:background-color .2s ease}
.tv-card-header:hover{background:#bfbbb5}
.tv-card-title{line-height:1.2}
.tv-card-chevron{width:10px;height:10px;border-right:2px solid #4a5568;border-bottom:2px solid #4a5568;transform:rotate(45deg);transition:transform .2s ease}
.tv-card:not(.tv-collapsed) .tv-card-chevron{transform:rotate(225deg)}
.tv-card-body{padding:18px 16px;background:#fff}
.tv-card-payment.tv-collapsed .tv-card-body{display:none}

.gdlr-booking-contact-container .gdlr-error-message{margin-bottom:10px}
.gdlr-booking-contact-container .gdlr-form-term-and-agreement{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.gdlr-booking-contact-container .gdlr-form-term-and-agreement input[type=checkbox]{width:27px;height:27px;min-width:27px;cursor:pointer}
.gdlr-booking-contact-container .gdlr-form-term-and-agreement-inline{display:flex;align-items:center;gap:10px;padding-top:28px}
.gdlr-booking-contact-container .gdlr-form-term-and-agreement-inline input[type=checkbox]{width:27px;height:27px;min-width:27px;cursor:pointer}
.gdlr-email-mismatch-error{margin-top:5px;display:none}
.gdlr-booking-contact-form span:not(.gdlr-email-mismatch-error){
  display: inline-block !important;
}

/* Services Card Styles */
.tv-card-services.tv-collapsed .tv-card-body{display:none}
.tv-card-services .gdlr-booking-service-wrapper{margin:0;padding:0;border:none}
.tv-card-services .gdlr-booking-service-wrapper .gdlr-room-selection-divider{display:none}
.tv-card-services .gdlr-booking-service-head{display:none}
.tv-card-services .gdlr-booking-service-form{margin:0;padding:0}
.tv-card-services .gdlr-room-service-option{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0}
.tv-card-services .gdlr-room-service-option:last-child{border-bottom:none}
.tv-card-services .gdlr-room-service-checkbox{display:flex;align-items:center;flex-shrink:0}
.tv-card-services .gdlr-room-service-checkbox input[type="checkbox"]{width:20px;height:20px;cursor:pointer;accent-color:#1f2a3d}
.tv-card-services .gdlr-room-service-title{flex:1;font-size:14px;color:#333;line-height:1.4}
.tv-card-services .gdlr-room-service-unit{font-size:13px;color:#666;white-space:nowrap;text-align:right;min-width:80px}
.tv-card-services .gdlr-room-service-unit .sep{margin:0 2px;color:#999}
.tv-card-services h3.gdlr-room-service-title{flex:none;width:100%;margin:20px 0 8px;padding:0 0 8px;font-size:15px;font-weight:600;color:#1f2a3d;border-bottom:2px solid #e2e6ea}
.tv-card-services h3.gdlr-room-service-title:first-child{margin-top:0}
.tv-card-services .tv-services-next-step{display:block;margin-top:20px;text-align:center}

/* Inline Payment Form Styles */
.tv-inline-payment-form{margin:15px 0}
.tv-payment-loading{display:flex;align-items:center;justify-content:center;padding:30px 20px;background:#f8f9fa;border-radius:8px;color:#666;font-size:14px}
.tv-payment-loading .gdlr-loading{display:inline-block;width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#666;border-radius:50%;animation:tv-spin 0.8s linear infinite;margin-right:10px}
@keyframes tv-spin{to{transform:rotate(360deg)}}
.tv-payment-form-content{margin-top:10px}
.tv-payment-form-content .gdlr-payment-form{margin:0;padding:0}
.tv-payment-form-content .gdlr-payment-form label{display:block;margin-bottom:8px;font-weight:500;color:#333}
.tv-payment-form-content .gdlr-payment-form input[type="text"]{width:100%;padding:12px 15px;border:1px solid #e2e6ea;border-radius:6px;font-size:14px}
.tv-payment-form-content .gdlr-payment-form #card-element{background:#f8f9fa;padding:15px;border:1px solid #e2e6ea;border-radius:6px}
.tv-payment-form-content .gdlr-payment-form .gdlr-form-button{width:100%;padding:14px 20px;margin-top:15px;border-radius:6px}
.tv-payment-form-content .gdlr-form-loading{padding:12px;text-align:center;border-radius:6px;margin-top:10px}
.tv-payment-form-content .gdlr-form-notice{padding:12px;border-radius:6px;margin-top:10px}
.tv-payment-form-content .gdlr-form-error{padding:12px;border-radius:6px;margin-top:10px}

/* Hide Pay Now button when inline payment is active */
.tv-inline-active .gdlr-booking-payment-submit{display:none!important}


.gdlr-booking-service-wrapper{
  max-width: auto !important;
}

.gdlr-room-service-checkbox{
  width: 16px;
    height: 16px;
   background-color: transparent; 
}


@media only screen and (max-width: 767px) {
    body .container {
        max-width: 560px;
    }
     body .body-wrapper.gdlr-boxed-style {
        max-width: 600px;
    }
    
    /* Add top spacing to Additional Note field on mobile */
    .gdlr-booking-contact-form p.gdlr-form-half-right[class*="additional"] textarea[name="additional-note"],
    .gdlr-booking-contact-form p.gdlr-form-half-right:has(textarea[name="additional-note"]) {
        margin-top: 20px;
    }
}
 


#card-toggle .toggle-title,
#card-toggle .toggle-icon
{
  margin-bottom: 0 !important;
}

#card-content .gdlr-form-half-left{
  float: none;
  width: 100%;
  margin: 0;
}

.tv-payment-form-content .gdlr-payment-form input[type="text"]{
  box-sizing: border-box;
}

.tv-contact-map-embed{
  width: 100%;
  height: 300px;
  overflow: hidden;
  background: #f5f5f5;
}

.tv-contact-map-embed iframe{
  width: 100%;
  height: 300px;
  border: 0;
  display: block;
}
