.tour-booking-wrapper,.checkout-wrapper,.thankyou-wrapper{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#111;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tour-booking-wrapper{background:#fff;padding:24px;border:1px solid #e0e0e0;border-radius:14px;box-shadow:0 6px 25px rgb(0 0 0 / .06);max-width:450px;margin:0 auto}.input-label{font-size:14px;font-weight:600;color:#222;margin-bottom:8px;display:block}.checkout-section input,.checkout-section select,.checkout-section textarea{width:100%;height:50px;border:1px solid #ddd;border-radius:8px;padding:0 15px;font-size:15px;font-weight:400;transition:border-color .2s ease;outline:none;background:#fff;box-sizing:border-box;color:#333}.checkout-section textarea{height:auto;padding:15px;resize:vertical}.checkout-section input:focus,.checkout-section select:focus,.checkout-section textarea:focus{border-color:#000}.checkout-section input::placeholder{color:#999;font-weight:400}.main-action-btn{width:100%;height:52px;background:#000;color:#fff;border-radius:12px;border:none;font-size:16px;font-weight:500;cursor:pointer;transition:0.2s;margin-top:10px;display:flex;justify-content:center;align-items:center;position:relative;text-decoration:none;flex-direction:column;letter-spacing:.3px}.main-action-btn:hover{background:#222;color:#fff}.main-action-btn:disabled{background:#777;cursor:not-allowed;opacity:.9}.small-btn{height:42px;font-size:14px;margin-top:0}.confirm-btn{background:#28a745;margin-top:20px}.confirm-btn:hover{background:#218838}.home-btn{width:auto;padding:0 30px;background:#000}.outline-btn{background:#fff0;border:2px solid #000;color:#000;font-weight:500}.outline-btn:hover{background:#000;color:#fff}.btn-spinner{display:none;width:18px;height:18px;border:2px solid rgb(255 255 255 / .3);border-radius:50%;border-top-color:#fff;animation:spin 0.8s ease-in-out infinite;margin-bottom:4px}.btn-msg{display:none;font-size:12px;font-weight:400;opacity:.9;animation:fadeIn 0.3s ease;line-height:1.2}.main-action-btn.loading{height:auto;min-height:52px;padding:8px 0}.main-action-btn.loading .btn-text{display:none}.main-action-btn.loading .btn-spinner{display:block}.main-action-btn.loading .btn-msg{display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}#error-msg,#card-errors{color:#d32f2f;font-size:13px;margin-top:8px;font-weight:500;text-align:center;animation:shake 0.3s ease-in-out}@keyframes shake{0%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-5px)}100%{transform:translateX(0)}}.date-selector,.traveler-selector{position:relative}.date-input-display,.traveler-input-display{width:100%;height:52px;padding:0 16px;border:1px solid #ddd;border-radius:12px;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:500;color:#333;cursor:pointer;transition:.2s ease;background:#fff;box-sizing:border-box}.date-input-display:hover,.traveler-input-display:hover{border-color:#000}.traveler-summary-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:10px;flex-grow:1}.date-dropdown,.traveler-dropdown{display:none;position:absolute;left:0;width:100%;background:#fff;border:1px solid #e5e5e5;box-shadow:0 18px 40px rgb(0 0 0 / .12);border-radius:14px;padding:25px;z-index:999999;top:calc(100% + 8px);max-height:none;overflow:hidden;transition:height 0.25s;box-sizing:border-box}.calendar-header{display:flex;justify-content:space-between;align-items:center;background:#f9f9f9;padding:10px 12px;border-radius:12px;font-weight:600;box-shadow:none;margin-bottom:15px;border:1px solid #eee}.calendar-header .month-name{font-size:15px;color:#000}.calendar-header button{background:#fff;border-radius:50%;border:1px solid #ddd;width:32px;height:32px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:0.2s;padding:0}.calendar-header button:hover{background:#f0f0f0;border-color:#ccc}.calendar-header button svg{width:14px;height:14px;stroke:#333}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-weekday{font-size:11px;text-align:center;font-weight:600;color:#888;text-transform:uppercase;margin-bottom:5px}.calendar-day{padding:6px;text-align:center;border-radius:6px;cursor:pointer;transition:.2s;font-size:14px;font-weight:500}.calendar-day.today{background:#FFF4E0;color:#E67E22;font-weight:600}.calendar-day.selected{background:coral;color:#fff}.calendar-day:hover{background:#f5f5f5}.calendar-day.disabled{color:#ddd;cursor:not-allowed;background:#fff0;font-weight:400}.calendar-day.empty{background:#fff0;cursor:default}.calendar-done{margin-top:15px}.t-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #f5f5f5}.t-label{display:flex;flex-direction:column}.t-name{font-size:15px;font-weight:600;color:#000}.t-price{font-size:13px;color:#666;font-weight:400}.counter-box{display:flex;align-items:center;background:#f9f9f9;padding:5px;border-radius:40px;gap:8px;border:1px solid #eee}.c-btn{width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;padding:0}.c-btn:hover{background:#f0f0f0;border-color:#ccc}.c-btn svg{width:14px!important;height:14px!important;stroke:#333;display:block}.counter-box input{width:60px;border:none;background:#fff0;text-align:center;font-weight:600;font-size:16px;color:#111;pointer-events:none}.pricing-container{margin-top:20px;padding-top:20px;border-top:1px solid #eee;animation:fadeIn 0.3s ease-in-out}.price-breakdown{margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.breakdown-row{display:flex;justify-content:space-between;font-size:14px;color:#555;padding:0 4px}.vat-summary{display:flex;flex-direction:column;gap:8px;border-top:1px dashed #ddd;padding-top:12px;margin-bottom:12px}.vat-row{display:flex;justify-content:space-between;font-size:14px;color:#666;padding:0 4px}.price-display{display:flex;justify-content:space-between;font-size:18px;font-weight:700;color:#000;padding-top:12px;border-top:1px solid #eee}.checkout-wrapper{margin:0 auto}.page-main-title{font-size:28px;font-weight:700;margin-bottom:30px;letter-spacing:-.5px}.checkout-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:40px}.checkout-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:30px;margin-bottom:30px}.section-title{font-size:18px;font-weight:600;margin-bottom:20px;border-bottom:1px solid #f0f0f0;padding-bottom:15px;color:#222}.form-row{display:flex;gap:20px;margin-bottom:20px}.form-col{display:flex;flex-direction:column}.form-col.full{width:100%}.form-col.small{width:30%}.form-col.large{width:70%}.checkout-section label{font-size:13px;font-weight:500;margin-bottom:6px;color:#555}.payment-tabs{display:flex;gap:15px;margin-bottom:25px}.payment-tab{flex:1;cursor:pointer;border:1px solid #ddd;border-radius:10px;padding:15px;transition:.2s;display:flex;align-items:flex-start;gap:10px;position:relative;background:#fbfbfb}.payment-tab:hover{background:#f5f5f5}.payment-tab.active{border-color:#000;background:#fff;box-shadow:0 4px 12px rgb(0 0 0 / .05)}.payment-tab input{position:absolute;opacity:0}.tab-content{display:flex;flex-direction:column;width:100%}.tab-title{font-weight:600;font-size:15px;display:block;margin-bottom:4px;color:#000}.tab-desc{font-size:12px;color:#666;font-weight:400}.tab-icons{margin-top:5px;display:flex;gap:5px}.payment-details-box{background:#f9f9f9;border:1px solid #eee;border-radius:8px;padding:20px}#card-element{background:#fff;padding:12px;border:1px solid #ddd;border-radius:6px;box-shadow:0 1px 2px rgb(0 0 0 / .05)}.pay-later-msg{font-size:14px;color:#2e7d32;line-height:1.6;margin:0;font-weight:500}.checkout-right{position:sticky;top:20px;height:fit-content}.order-summary-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 4px 20px rgb(0 0 0 / .04)}.summary-img{width:100%;height:180px;object-fit:cover;border-radius:8px;margin-bottom:15px}.summary-tour-title{font-size:17px;font-weight:700;margin-bottom:15px;line-height:1.4;color:#222}.summary-meta{border-bottom:1px solid #eee;padding-bottom:15px;margin-bottom:15px}.sm-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;color:#555}.sm-row strong{color:#111;font-weight:600}.summary-pricing{margin-bottom:15px}.sp-row{display:flex;justify-content:space-between;font-size:14px;color:#555;margin-bottom:6px}.summary-totals{border-top:1px dashed #ddd;padding-top:15px}.sp-row.sub,.sp-row.vat{font-size:14px;color:#666;font-weight:400}.sp-row.total{font-size:18px;font-weight:700;color:#000;margin-top:10px}.secure-msg{font-size:12px;color:#999;text-align:center;margin-top:15px;display:flex;align-items:center;justify-content:center;gap:6px}.checkout-empty-wrapper{width:100%;min-height:60vh;display:flex;justify-content:center;align-items:center;background:#fdfdfd;padding:40px 20px;text-align:center}.checkout-empty-card{max-width:500px;width:100%;background:#fff;padding:50px 30px;border-radius:20px;box-shadow:0 10px 40px rgb(0 0 0 / .06);border:1px solid #eee;animation:fadeIn 0.5s ease}.empty-icon-container{width:80px;height:80px;background:#f7f7f7;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 30px}.empty-icon-container svg{width:40px;height:40px;stroke:#bbb;stroke-width:1.5}.empty-title{font-size:24px;font-weight:700;color:#222;margin-bottom:15px}.empty-msg{font-size:16px;color:#666;margin-bottom:35px;line-height:1.6;font-weight:400}.empty-actions{display:flex;justify-content:center;margin-bottom:30px}.empty-actions .main-action-btn{max-width:220px}.active-view{display:block;opacity:1;transition:opacity 0.5s ease}.hidden-view{display:none;opacity:0;transition:opacity 0.5s ease}.thankyou-wrapper{width:100%;min-height:80vh;display:flex;justify-content:center;align-items:center;background:#fdfdfd;padding:40px 20px;text-align:center}.thankyou-content{max-width:550px;width:100%;background:#fff;padding:40px;border-radius:20px;box-shadow:0 10px 40px rgb(0 0 0 / .06);border:1px solid #eee}.success-icon-container{width:70px;height:70px;background:#28a745;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 25px;box-shadow:0 5px 15px rgb(40 167 69 / .2)}.success-icon-container svg{width:35px;height:35px;stroke:#fff}.thankyou-title{font-size:28px;font-weight:700;color:#111;margin-bottom:12px}.thankyou-msg{font-size:17px;color:#333;margin-bottom:8px;font-weight:500}.thankyou-submsg{font-size:15px;color:#777;margin-bottom:25px;line-height:1.5;font-weight:400}.booking-ref{display:inline-block;background:#f7f7f7;padding:8px 15px;border-radius:8px;font-size:14px;color:#444;margin-bottom:30px;border:1px solid #eee}.thankyou-card{display:flex;align-items:center;text-align:left;background:#fbfbfb;border:1px solid #eee;border-radius:12px;padding:15px;margin-bottom:30px;gap:15px}.ty-img-wrap img{width:70px;height:70px;object-fit:cover;border-radius:8px}.ty-details h3{font-size:15px;font-weight:600;margin:0 0 5px 0;color:#222}.ty-row{font-size:13px;color:#666;margin-bottom:3px}.ty-row.total{margin-top:5px;font-weight:600;color:#000}.redirect-timer-container{display:flex;flex-direction:column;align-items:center;margin-top:20px}.circular-timer{position:relative;width:70px;height:70px;margin-bottom:10px}.progress-ring__circle{transition:stroke-dashoffset 1s linear;transform:rotate(-90deg);transform-origin:50% 50%;stroke:#222}.timer-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:600;color:#000}.redirect-text{font-size:13px;color:#999;margin-bottom:0;line-height:1.4}.expired-actions{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:30px}.expired-actions .main-action-btn{max-width:300px}@media (max-width:900px){.checkout-grid{grid-template-columns:1fr}.checkout-right{order:-1;margin-bottom:30px;position:relative;top:0}.summary-img{height:120px}.payment-tabs{flex-direction:column}}@media (max-width:600px){.thankyou-content{padding:25px}.thankyou-card{flex-direction:column;text-align:center}.ty-img-wrap img{width:100%;height:120px}.form-row{flex-direction:column;gap:15px}.form-col.small,.form-col.large{width:100%}}html,body{overflow-x:hidden;max-width:100%}