body{font-family:'Open Sans',sans-serif;line-height:1.6;color:#333;background-color:#f4f7f6}.custom-booking-page{max-width:1200px;margin:40px auto;padding:20px;background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 10px rgb(0 0 0 / .08);display:flex;flex-direction:column;gap:30px}.custom-booking-page .page-title{font-size:2.2em;color:#333;text-align:center;margin-bottom:30px;position:relative;font-weight:700;padding-bottom:15px;border-bottom:2px solid #BB843A}.booking-summary-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .07);padding:30px;margin-bottom:20px}.booking-summary-section h2{color:#BB843A;margin-top:0;margin-bottom:20px;font-size:1.8em;border-bottom:1px solid #eee;padding-bottom:10px}.summary-details{display:flex;align-items:flex-start;gap:20px;margin-bottom:20px}.summary-details .room-thumbnail{width:150px;height:110px;object-fit:cover;border-radius:6px;box-shadow:0 2px 4px rgb(0 0 0 / .1)}.summary-text{flex-grow:1}.summary-text h3{font-size:1.5em;color:#333;margin-top:0;margin-bottom:5px}.summary-text p{font-size:1em;color:#555;margin-bottom:5px}.summary-text .room-address{font-style:italic;color:#777;margin-bottom:10px}.summary-price-details{margin-top:20px;border-top:1px solid #eee;padding-top:15px}.summary-price-details p{display:flex;justify-content:space-between;font-size:1em;color:#555;margin-bottom:8px}.summary-price-details p span{font-weight:700;color:#333}.summary-price-details .total-price{font-size:1.3em;font-weight:700;color:#283618;margin-top:15px;padding-top:10px;border-top:2px solid #f0f0f0}.modify-travel-button{background-color:#4B572D;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:1em;margin-top:20px;display:block;width:fit-content;margin-left:auto;margin-right:auto;transition:background-color 0.3s ease}.modify-travel-button:hover{background-color:#7C894F}.payment-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .07);padding:30px;margin-bottom:20px}.payment-section h2,.payment-section h3{color:#BB843A;margin-top:0;margin-bottom:20px;font-size:1.8em;border-bottom:1px solid #eee;padding-bottom:10px}.payment-section h3{font-size:1.4em;color:#333;margin-top:30px;margin-bottom:15px;border-bottom:none;padding-bottom:0}.payment-section .info-message{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404;padding:15px;border-radius:5px;margin-bottom:25px;text-align:center;font-size:1.1em;font-weight:700}.payment-options{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.payment-option-card{padding:20px;border:2px solid #ddd;border-radius:8px;background-color:#fdfdfd;cursor:pointer;transition:all 0.3s ease}.payment-option-card.selected{border-color:#4B572D;background-color:#fefefe;box-shadow:0 4px 10px rgb(0 0 0 / .05)}.payment-option-card:hover{border-color:#7C894F}.payment-option-card label{display:flex;align-items:center;font-weight:700;color:#333;font-size:1.1em;cursor:pointer}.payment-option-card input[type="radio"]{margin-right:10px;transform:scale(1.2);cursor:pointer}.payment-option-card .payment-details{font-size:.9em;color:#666;margin-top:8px;margin-left:30px}.secure-info{font-size:1.1em;color:#28a745;margin-bottom:20px;display:flex;align-items:center;gap:8px;font-weight:700}.payment-methods{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap;justify-content:center}.payment-methods i{font-size:3em;color:#555;padding:8px;border:1px solid #eee;border-radius:6px;background-color:#fff;box-shadow:0 2px 5px rgb(0 0 0 / .05);width:1.8em;height:1.2em;text-align:center;display:flex;align-items:center;justify-content:center}.credit-card-form{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.credit-card-form .form-group{margin-bottom:0}.credit-card-form label{display:block;font-weight:700;color:#555;margin-bottom:8px}.credit-card-form input[type="text"],.credit-card-form select{width:100%;padding:12px;border:1px solid #ccc;border-radius:5px;font-size:1em;box-sizing:border-box;transition:border-color 0.3s ease,box-shadow 0.3s ease}.credit-card-form input[type="text"]:focus,.credit-card-form select:focus{border-color:#BB843A;box-shadow:0 0 0 3px rgb(187 132 58 / .25);outline:none}.credit-card-form .form-row{display:flex;gap:20px;flex-wrap:wrap}.credit-card-form .form-group-half{flex:1;min-width:150px}.gift-card-link,.holiday-voucher-link{font-size:.95em;color:#007bff;text-decoration:none;margin-bottom:10px;display:block;text-align:center}.gift-card-link:hover,.holiday-voucher-link:hover{text-decoration:underline}.button.button-primary{width:100%;max-width:400px;padding:15px 20px;background-color:#4B572D;color:#fff;border:none;border-radius:8px;font-size:1.2em;font-weight:700;cursor:pointer;transition:background-color 0.3s ease,transform 0.2s ease;display:block;margin:20px auto 0 auto;text-align:center;box-sizing:border-box}.button.button-primary:hover{background-color:#7C894F;transform:translateY(-2px)}.button.button-primary:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7;transform:none}#booking-form-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .07);padding:30px;margin-bottom:20px}#booking-form-wrapper h2{color:#BB843A;margin-top:0;margin-bottom:20px;font-size:1.8em;border-bottom:1px solid #eee;padding-bottom:10px}#booking-form-wrapper.disabled-content{opacity:.6;pointer-events:none;filter:grayscale(80%)}.booking-contact-info .form-row{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.booking-contact-info .form-row .form-group{flex:1;min-width:280px;margin-bottom:0}.booking-contact-info .form-group.full-width{width:100%;flex:1 1 100%}.booking-contact-info label{display:block;font-weight:700;color:#555;margin-bottom:8px}.booking-contact-info input[type="text"],.booking-contact-info input[type="email"],.booking-contact-info input[type="tel"],.booking-contact-info textarea{width:100%;padding:12px;border:1px solid #ccc;border-radius:5px;font-size:1em;box-sizing:border-box;transition:border-color 0.3s ease,box-shadow 0.3s ease}.booking-contact-info input[type="text"]:focus,.booking-contact-info input[type="email"]:focus,.booking-contact-info input[type="tel"]:focus,.booking-contact-info textarea:focus{border-color:#606C38;box-shadow:0 0 0 3px rgb(96 108 56 / .25);outline:none}.booking-contact-info .required{color:red;margin-left:3px}.booking-contact-info textarea{resize:vertical;min-height:80px}.terms-conditions{width:100%;display:flex;align-items:flex-start;margin-top:20px;padding-top:15px;border-top:1px solid #eee}.terms-conditions input[type="checkbox"]{margin-right:10px;transform:scale(1.1);cursor:pointer;flex-shrink:0;margin-top:3px}.terms-conditions label{font-size:.95em;color:#333;line-height:1.5;cursor:pointer;display:inline}.terms-conditions label a{color:#007bff;text-decoration:underline}.terms-conditions label a:hover{color:#0056b3}.terms-conditions .error-message{color:red;font-size:.9em;margin-top:5px;margin-left:25px;width:100%}.custom-modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:rgb(0 0 0 / .6);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s ease-in-out}.custom-modal.is-visible{opacity:1}.custom-modal-content{background-color:#fefefe;padding:30px;border:1px solid #888;width:90%;max-width:500px;border-radius:8px;box-shadow:0 5px 15px rgb(0 0 0 / .3);position:relative;text-align:center;transform:translateY(-50px);transition:transform 0.3s ease-in-out}.custom-modal.is-visible .custom-modal-content{transform:translateY(0)}.close-button-modal{color:#aaa;position:absolute;top:15px;right:20px;font-size:28px;font-weight:700;cursor:pointer}.close-button-modal:hover,.close-button-modal:focus{color:#000;text-decoration:none}#custom-error-modal-title{color:#BB843A;font-size:26px;margin-bottom:15px}#custom-error-modal-message{font-size:17px;color:#333;margin-bottom:25px;line-height:1.5}.custom-modal-ok-button{background-color:#BB843A;color:#fff;padding:10px 25px;border:none;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color 0.3s ease}.custom-modal-ok-button:hover{background-color:#C08D4D}@media (max-width:992px){.custom-booking-page{margin:20px auto;padding:15px}.booking-summary-section,.payment-section,#booking-form-wrapper{padding:20px}.summary-details{flex-direction:column;align-items:center;text-align:center}.summary-details .room-thumbnail{max-width:200px;height:auto;margin-bottom:15px}.payment-options{flex-direction:column}.booking-contact-info .form-row{flex-direction:column;gap:15px}.booking-contact-info .form-row .form-group{min-width:unset;width:100%}.credit-card-form .form-row{flex-direction:column;gap:15px}.credit-card-form .form-group-half{width:100%;min-width:unset}.payment-methods{justify-content:center}}@media (max-width:600px){.custom-booking-page .page-title{font-size:1.8em}.booking-summary-section h2,.payment-section h2,#booking-form-wrapper h2{font-size:1.5em}.summary-text h3{font-size:1.3em}.payment-methods i{font-size:2.5em}.button.button-primary{font-size:1.1em;padding:12px 15px}.custom-modal-content{width:95%;padding:20px}}@media (max-width:480px){.custom-booking-page .page-title{font-size:1.5em}.booking-summary-section,.payment-section,#booking-form-wrapper{padding:15px}}#installment-methods .payment-partners-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:15px 0}#installment-methods .payment-partner-btn{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:10px 15px;cursor:pointer;transition:all 0.3s ease;display:flex;justify-content:center;align-items:center;min-width:120px;height:60px;text-decoration:none;color:inherit}#installment-methods .payment-partner-btn:hover{border-color:#4B572D;box-shadow:0 4px 8px rgb(0 0 0 / .1);transform:translateY(-2px)}#installment-methods .payment-partner-btn img{max-width:100px;max-height:40px;height:auto;display:block}#installment-methods p{text-align:center;margin-bottom:20px;font-size:1.1em;color:#333}