 .wpt-booking-elementor{--tb-primary:#007cba;--tb-primary-light:#e3f2fd;--tb-primary-dark:#1976d2;--tb-success:#28a745;--tb-warning:#ffeaa7;--tb-danger:#d63031;--tb-light:#f8f9fa;--tb-border:#ddd;--tb-border-light:#f0f0f0;--tb-text:#333;--tb-text-muted:#666;--tb-text-light:#6c757d;--tb-shadow:0 2px 8px rgba(0,0,0,.1);--tb-radius:4px;--tb-transition:all .3s ease;--tb-font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}.wpt-booking-elementor{font-family:var(--tb-font-family);box-sizing:border-box;position:relative}.wpt-booking-elementor .booking-form{display:flex;flex-direction:column}.wpt-booking-elementor .booking-selection{margin-bottom:20px}.wpt-booking-elementor .booking-selection h4{margin:0 0 15px 0;font-size:1.1em}.wpt-booking-elementor .form-group{margin-bottom:15px}.wpt-booking-elementor .form-group:last-child{margin-bottom:0}.wpt-booking-elementor .form-group label{display:block;margin-bottom:6px;font-weight:500}.wpt-booking-elementor .form-group input,.wpt-booking-elementor .form-group select{width:100%;padding:12px 16px;border:1px solid var(--tb-border);border-radius:var(--tb-radius);font-size:14px;box-sizing:border-box;transition:var(--tb-transition)}.wpt-booking-elementor .form-group input:focus,.wpt-booking-elementor .form-group select:focus{outline:none;border-color:var(--tb-primary);box-shadow:0 0 0 2px rgba(0,124,186,.1)}.wpt-booking-elementor .price-info{margin-bottom:20px}.wpt-booking-elementor .price-info>div{margin-bottom:8px}.wpt-booking-elementor .price-info .label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-right:8px}.wpt-booking-elementor .price-current{display:flex;align-items:baseline;gap:4px}.wpt-booking-elementor .price-current .total-price{font-size:1.8em;font-weight:bold}.wpt-booking-elementor .price-current .per-person{font-size:.9em;opacity:.8}.wpt-booking-elementor .price-original,.wpt-booking-elementor .price-savings{font-size:.9em}.wpt-booking-elementor .currency-selector{position:relative;display:inline-block}.wpt-booking-elementor .currency-toggle{appearance:none;-webkit-appearance:none;background:transparent;font-size:1em;font-weight:600;cursor:pointer;transition:var(--tb-transition);min-width:25px;display:flex;align-items:center;gap:4px;justify-content:center}.wpt-booking-elementor .currency-toggle:focus{outline:none;border-color:var(--tb-primary);box-shadow:0 0 0 1px var(--tb-primary)}.wpt-booking-elementor .currency-toggle:hover{border-color:#999}.wpt-booking-elementor .currency-symbol{font-weight:600}.wpt-booking-elementor .currency-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--tb-border);border-top:none;border-radius:0 0 var(--tb-radius) var(--tb-radius);box-shadow:var(--tb-shadow);z-index:1000;max-height:200px;overflow-y:auto;min-width:234px}.wpt-booking-elementor .currency-option{padding:8px 12px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid var(--tb-border-light);display:flex;align-items:center;gap:8px;font-size:14px}.wpt-booking-elementor .currency-option:last-child{border-bottom:none}.wpt-booking-elementor .currency-option:hover{background-color:#f5f5f5}.wpt-booking-elementor .currency-option.selected{background-color:var(--tb-primary-light);color:var(--tb-primary-dark)}.wpt-booking-elementor .currency-option-symbol{font-weight:600;min-width:20px}.wpt-booking-elementor .currency-option-name{flex:1}.wpt-booking-elementor .dropdown-arrow{transition:transform .2s ease;font-size:10px;color:var(--tb-text-muted)}.wpt-booking-elementor .currency-selector.open .dropdown-arrow{transform:rotate(180deg)}.wpt-booking-elementor .currency-selector.open .currency-toggle{border-radius:var(--tb-radius) var(--tb-radius) 0 0}.wpt-booking-elementor .currency-message{font-size:12px;margin-top:4px;border-radius:var(--tb-radius);font-style:italic;display:none;color:#495057}.wpt-booking-elementor .time-input-group{display:flex;flex-direction:column;gap:10px}.wpt-booking-elementor .tour-time-custom,.wpt-booking-elementor .tour-time-input{padding:10px 12px;border:1px solid var(--tb-border);border-radius:var(--tb-radius);font-size:14px;width:100%;transition:var(--tb-transition)}.wpt-booking-elementor .tour-time-custom:focus,.wpt-booking-elementor .tour-time-input:focus{outline:none;border-color:var(--tb-primary);box-shadow:0 0 0 1px var(--tb-primary)}@media (max-width:768px){.wpt-booking-elementor .currency-toggle{font-size:.9em;padding:3px 16px 3px 6px;min-width:40px}.wpt-booking-elementor .currency-option{padding:6px 10px;font-size:13px}}@media (max-width:480px){.wpt-booking-elementor .currency-toggle{font-size:.8em;padding:2px 14px 2px 5px;min-width:35px}.wpt-booking-elementor .currency-option{padding:5px 8px;font-size:12px}}.wpt-booking-elementor .price-original,.wpt-booking-elementor .price-savings{font-size:.9em}.wpt-booking-elementor .currency-message{font-size:12px;margin-top:4px;border-radius:4px;font-style:italic;display:none;color:#495057}.wpt-booking-elementor .booking-selection{margin-bottom:20px}.wpt-booking-elementor .booking-selection h4{margin:0 0 15px 0;font-size:1.1em}.wpt-booking-elementor .form-group{margin-bottom:15px}.wpt-booking-elementor .form-group:last-child{margin-bottom:0}.wpt-booking-elementor .form-group label{display:block;margin-bottom:6px;font-weight:500}.wpt-booking-elementor .form-group input,.wpt-booking-elementor .form-group select{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus,.wpt-booking-elementor .form-group select:focus{outline:none;border-color:#007cba;box-shadow:0 0 0 2px rgba(0,124,186,.1)}.wpt-booking-elementor .booking-button{margin-top:20px}.wpt-booking-elementor .btn-booking{width:100%;padding:14px 24px;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;text-align:center;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease;box-sizing:border-box}.wpt-booking-elementor .btn-booking:hover{transform:translateY(-1px)}.wpt-booking-elementor .btn-booking:active{transform:translateY(0)}.wpt-booking-elementor .btn-booking:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.wpt-booking-elementor .btn-loading{position:relative;color:transparent!important}.wpt-booking-elementor .btn-loading::after{content:'';position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.wpt-booking-elementor .time-input-group{display:flex;flex-direction:column;gap:10px}.wpt-booking-elementor .tour-time-custom{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s ease}.wpt-booking-elementor .tour-time-custom:focus{outline:none;border-color:#007cba;box-shadow:0 0 0 1px #007cba}.wpt-booking-elementor .tour-time-input{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:100%;transition:border-color .3s ease}.wpt-booking-elementor .tour-time-input:focus{outline:none;border-color:#007cba;box-shadow:0 0 0 1px #007cba}@media (max-width:768px){.wpt-booking-elementor .time-input-group{gap:8px}.wpt-booking-elementor .tour-time-custom,.wpt-booking-elementor .tour-time-input{padding:8px 10px;font-size:13px}}.wpt-booking-elementor .people-group{display:flex;align-items:center;gap:12px;margin-bottom:15px}.people-group label{flex-shrink:0;margin-bottom:0!important;font-weight:500;min-width:70px}.wpt-booking-elementor .people-selector{position:relative;flex:1}.wpt-booking-elementor .people-toggle{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:4px;text-align:left;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;align-items:center}.wpt-booking-elementor .people-selector.is-singular .hide-singular{display:none}.wpt-booking-elementor .people-selector.is-plural .hide-plural{display:none}.wpt-booking-elementor .people-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:1000;padding:16px}.wpt-booking-elementor .people-type{display:flex;justify-content:space-between;align-items:center;padding:8px 0;min-height:40px}.wpt-booking-elementor .people-type:not(:last-child){border-bottom:1px solid #f0f0f0;margin-bottom:8px;padding-bottom:12px}.wpt-booking-elementor .people-info{flex:1;display:flex;flex-direction:column;gap:2px}.wpt-booking-elementor .people-label{font-weight:500;color:#333;font-size:14px;line-height:1.2}.wpt-booking-elementor .people-price{font-size:12px;color:#666;line-height:1}.wpt-booking-elementor .people-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.wpt-booking-elementor .people-btn{width:32px;height:32px;border:1px solid #ddd;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;font-weight:bold;color:#333;transition:all .2s ease}.wpt-booking-elementor .people-btn:hover{background:#f5f5f5;border-color:#999}.wpt-booking-elementor .people-btn:disabled{opacity:.5;cursor:not-allowed;background:#f9f9f9}.wpt-booking-elementor .people-value{min-width:24px;text-align:center;font-weight:500;font-size:16px;color:#333}.wpt-booking-elementor .dropdown-arrow{transition:transform .2s ease;font-size:12px}.people-selector.open .dropdown-arrow{transform:rotate(180deg)}.people-selector.open .people-toggle{border-radius:4px 4px 0 0}@media (max-width:768px){.wpt-booking-elementor .people-group{flex-direction:column;align-items:stretch;gap:8px}.people-group label{min-width:auto;margin-bottom:0}.wpt-booking-elementor .people-dropdown{padding:12px}.wpt-booking-elementor .people-type{padding:6px 0;min-height:36px}.wpt-booking-elementor .people-controls{gap:8px}.wpt-booking-elementor .people-btn{width:28px;height:28px;font-size:16px}.wpt-booking-elementor .people-value{min-width:20px;font-size:14px}.wpt-booking-elementor .people-label{font-size:13px}.wpt-booking-elementor .people-price{font-size:11px}.price-current .total-price{font-size:1.6em}.wpt-booking-elementor .btn-booking{padding:12px 20px;font-size:15px}}@media (max-width:480px){.form-group input,.form-group select{padding:10px 14px;font-size:14px}.price-current .total-price{font-size:1.4em}.wpt-booking-elementor .btn-booking{font-size:14px}}.wpt-booking-elementor .circuit-selector{position:relative;width:100%}.wpt-booking-elementor .circuit-toggle{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;text-align:left;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:border-color .3s ease,box-shadow .3s ease}.wpt-booking-elementor .circuit-toggle:hover{border-color:#999}.wpt-booking-elementor .circuit-toggle:focus{outline:none;border-color:#007cba;box-shadow:0 0 0 2px rgba(0,124,186,.1)}.wpt-booking-elementor .circuit-selected{flex:1;color:#333;font-weight:400}.wpt-booking-elementor .circuit-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:1000;max-height:200px;overflow-y:auto}.wpt-booking-elementor .circuit-option{padding:12px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;gap:4px}.wpt-booking-elementor .circuit-option:last-child{border-bottom:none}.wpt-booking-elementor .circuit-option:hover{background-color:#f5f5f5}.circuit-option.selected{background-color:#e3f2fd;color:#1976d2}.wpt-booking-elementor .circuit-option-label{font-weight:500;color:#333;font-size:14px;line-height:1.3}.circuit-option.selected .circuit-option-label{color:#1976d2}.wpt-booking-elementor .circuit-option-description{font-size:12px;color:#666;line-height:1.2;margin:0}.circuit-option.selected .circuit-option-description{color:#1565c0}.wpt-booking-elementor .circuit-selected-description{margin-top:8px;padding:8px 12px;background-color:#f8f9fa;border-radius:4px;border-left:3px solid #007cba}.circuit-selected-description small{font-size:12px;color:#666;line-height:1.3;display:block}.circuit-selector.open .dropdown-arrow{transform:rotate(180deg)}.circuit-selector.open .circuit-toggle{border-radius:4px 4px 0 0;border-color:#007cba}.wpt-booking-elementor .circuits-group{margin-bottom:15px}.circuits-group label{display:block;margin-bottom:6px;font-weight:500}@media (max-width:768px){.wpt-booking-elementor .circuit-toggle{padding:10px 14px;font-size:13px}.wpt-booking-elementor .circuit-option{padding:10px 14px}.wpt-booking-elementor .circuit-option-label{font-size:13px}.wpt-booking-elementor .circuit-option-description{font-size:11px}.wpt-booking-elementor .circuit-selected-description{padding:6px 10px;margin-top:6px}.circuit-selected-description small{font-size:11px}}@media (max-width:480px){.wpt-booking-elementor .circuit-toggle{padding:8px 12px;font-size:12px}.wpt-booking-elementor .circuit-option{padding:8px 12px}.wpt-booking-elementor .circuit-option-label{font-size:12px}.wpt-booking-elementor .circuit-option-description{font-size:10px}.wpt-booking-elementor .circuit-selected-description{padding:5px 8px}.circuit-selected-description small{font-size:10px}}.wpt-booking-elementor .variant-selector{position:relative;width:100%}.wpt-booking-elementor .variant-toggle{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;text-align:left;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:border-color .3s ease,box-shadow .3s ease}.wpt-booking-elementor .variant-toggle:hover{border-color:#999}.wpt-booking-elementor .variant-toggle:focus{outline:none;border-color:#007cba;box-shadow:0 0 0 2px rgba(0,124,186,.1)}.wpt-booking-elementor .variant-selected{flex:1;color:#333;font-weight:400}.wpt-booking-elementor .variant-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:1000;max-height:250px;overflow-y:auto}.wpt-booking-elementor .variant-option{padding:12px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;gap:4px}.wpt-booking-elementor .variant-option:last-child{border-bottom:none}.wpt-booking-elementor .variant-option:hover{background-color:#f5f5f5}.variant-option.selected{background-color:#e3f2fd;color:#1976d2}.wpt-booking-elementor .variant-option-label{font-weight:500;color:#333;font-size:14px;line-height:1.3}.variant-option.selected .variant-option-label{color:#1976d2}.wpt-booking-elementor .variant-option-description{font-size:12px;color:#666;line-height:1.2;margin:0}.variant-option.selected .variant-option-description{color:#1565c0}.wpt-booking-elementor .variant-description{margin-top:8px;padding:8px 12px;background-color:#f8f9fa;border-radius:4px;border-left:3px solid #28a745}.variant-description small{font-size:12px;color:#666;line-height:1.3;display:block}.variant-selector.open .dropdown-arrow{transform:rotate(180deg)}.variant-selector.open .variant-toggle{border-radius:4px 4px 0 0;border-color:#007cba}.wpt-booking-elementor .variants-group{margin-bottom:15px}.variants-group label{display:block;margin-bottom:6px;font-weight:500}@media (max-width:768px){.wpt-booking-elementor .variant-toggle{padding:10px 14px;font-size:13px}.wpt-booking-elementor .variant-option{padding:10px 14px}.wpt-booking-elementor .variant-option-label{font-size:13px}.wpt-booking-elementor .variant-option-description{font-size:11px}.wpt-booking-elementor .variant-description{padding:6px 10px;margin-top:6px}.variant-description small{font-size:11px}}@media (max-width:480px){.wpt-booking-elementor .variant-toggle{padding:8px 12px;font-size:12px}.wpt-booking-elementor .variant-option{padding:8px 12px}.wpt-booking-elementor .variant-option-label{font-size:12px}.wpt-booking-elementor .variant-option-description{font-size:10px}.wpt-booking-elementor .variant-description{padding:5px 8px}.variant-description small{font-size:10px}}.wpt-booking-elementor .additionals-hotels-groups{margin-bottom:20px}.wpt-booking-elementor .additional-hotel-group{margin-bottom:15px}.wpt-booking-elementor .additional-hotel-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--tb-text)}.wpt-booking-elementor .additional-hotel-selector{position:relative;width:100%}.wpt-booking-elementor .additional-hotel-toggle{width:100%;padding:12px 16px;border:1px solid var(--tb-border);border-radius:var(--tb-radius);background:#fff;text-align:left;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:var(--tb-transition)}.wpt-booking-elementor .additional-hotel-toggle:hover{border-color:var(--tb-primary)}.wpt-booking-elementor .additional-hotel-toggle:focus{outline:none;border-color:var(--tb-primary);box-shadow:0 0 0 2px rgba(0,124,186,.1)}.wpt-booking-elementor .additional-hotel-selected{flex:1;color:var(--tb-text);font-weight:400}.wpt-booking-elementor .additional-hotel-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--tb-border);border-top:none;border-radius:0 0 var(--tb-radius) var(--tb-radius);box-shadow:var(--tb-shadow);z-index:1000;max-height:250px;overflow-y:auto}.wpt-booking-elementor .additional-hotel-option{padding:12px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid var(--tb-border-light);display:flex;flex-direction:column;gap:4px}.wpt-booking-elementor .additional-hotel-option:last-child{border-bottom:none}.wpt-booking-elementor .additional-hotel-option:hover{background-color:#f5f5f5}.wpt-booking-elementor .additional-hotel-option.selected{background-color:var(--tb-primary-light);color:var(--tb-primary-dark)}.wpt-booking-elementor .additional-hotel-option-label{font-weight:500;color:var(--tb-text);font-size:14px;line-height:1.3}.wpt-booking-elementor .additional-hotel-option.selected .additional-hotel-option-label{color:var(--tb-primary-dark)}.wpt-booking-elementor .additional-hotel-option-label-name{font-weight:600}.wpt-booking-elementor .additional-hotel-option-description{font-size:12px;color:var(--tb-text-muted);line-height:1.2;margin:0}.wpt-booking-elementor .additional-hotel-option.selected .additional-hotel-option-description{color:var(--tb-primary)}.wpt-booking-elementor .additional-hotel-description{margin-top:8px;padding:8px 12px;background-color:var(--tb-light);border-radius:var(--tb-radius);border-left:3px solid var(--tb-primary)}.wpt-booking-elementor .additional-hotel-description small{font-size:12px;color:var(--tb-text-muted);line-height:1.3;display:block}.wpt-booking-elementor .additional-hotel-selector.open .dropdown-arrow{transform:rotate(180deg)}.wpt-booking-elementor .additional-hotel-selector.open .additional-hotel-toggle{border-radius:var(--tb-radius) var(--tb-radius) 0 0;border-color:var(--tb-primary)}@media (max-width:768px){.wpt-booking-elementor .additional-hotel-toggle{padding:10px 14px;font-size:13px}.wpt-booking-elementor .additional-hotel-option{padding:10px 14px}.wpt-booking-elementor .additional-hotel-option-label{font-size:13px}.wpt-booking-elementor .additional-hotel-option-description{font-size:11px}.wpt-booking-elementor .additional-hotel-description{padding:6px 10px;margin-top:6px}.wpt-booking-elementor .additional-hotel-description small{font-size:11px}}@media (max-width:480px){.wpt-booking-elementor .additional-hotel-toggle{padding:8px 12px;font-size:12px}.wpt-booking-elementor .additional-hotel-option{padding:8px 12px}.wpt-booking-elementor .additional-hotel-option-label{font-size:12px}.wpt-booking-elementor .additional-hotel-option-description{font-size:10px}.wpt-booking-elementor .additional-hotel-description{padding:5px 8px}.wpt-booking-elementor .additional-hotel-description small{font-size:10px}}