.tour-main-container{padding-top:1rem;padding-bottom:4rem}.tour-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.9rem;color:var(--color-gray-muted);margin-bottom:1.25rem}.tour-breadcrumb a{color:var(--color-primary);font-weight:500;text-decoration:none;transition:var(--transition)}.tour-breadcrumb a:hover{text-decoration:underline;color:var(--color-primary-dark)}.tour-breadcrumb span{color:#94a3b8}.tour-layout-grid{display:grid;grid-template-columns:1fr 440px;gap:2.5rem;align-items:flex-start}.tour-details-column{display:flex;flex-direction:column;gap:1.75rem}.tour-header-block{margin-bottom:.25rem}.tour-main-title{font-size:2.25rem;color:var(--color-dark);font-weight:800;line-height:1.2;margin:0}.tour-main-photo-wrapper{display:flex;flex-direction:column;gap:.75rem}.tour-main-photo-card{width:100%;aspect-ratio:16 / 10;max-height:480px;border-radius:14px;overflow:hidden;box-shadow:0 4px 20px #00000014;border:1px solid var(--color-gray-border);background-color:#0b1e32;position:relative}.tour-main-photo-card img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transition:transform .4s ease}.meeting-point-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:1.25rem 0}.meeting-point-photo-box{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014;border:1px solid #E2E8F0;aspect-ratio:16 / 10;width:100%;background-color:#f1f5f9}.meeting-point-photo-box img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transition:transform .35s ease}.meeting-point-photo-box:hover img{transform:scale(1.02)}.tour-gallery-thumbs{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.25rem}.gallery-thumb-item{width:80px;height:60px;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;flex-shrink:0;opacity:.7;transition:var(--transition)}.gallery-thumb-item:hover{opacity:1;border-color:var(--color-primary)}.gallery-thumb-item.active{opacity:1;border-color:var(--color-primary);box-shadow:0 0 0 2px #29a4dd59}.gallery-thumb-item img{width:100%;height:100%;object-fit:cover}.tour-info-card-block{background:var(--color-clean);border:1px solid var(--color-gray-border);border-radius:12px;padding:1.5rem 1.75rem;box-shadow:0 2px 8px #00000008}.tour-block-title{font-size:1.25rem;font-weight:700;color:var(--color-dark);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.tour-description-text{font-size:1rem;line-height:1.7;color:#334155;margin:0}.tour-tabs-container{display:flex;flex-direction:column;gap:1.25rem}.tour-tabs-nav{display:flex;background-color:#f1f5f9;padding:4px;border-radius:10px;border:1px solid #e2e8f0;gap:4px;overflow-x:auto}.tour-tab-btn{flex:1;min-width:95px;padding:.65rem .6rem;border:none;background:transparent;color:#64748b;font-weight:600;font-size:.88rem;border-radius:8px;cursor:pointer;text-align:center;transition:all .2s ease;white-space:nowrap}.tour-tab-btn:hover{color:var(--color-dark);background-color:#fff9}.tour-tab-btn.active{background:#fff!important;color:#0f172a!important;font-weight:700;box-shadow:0 2px 6px #00000014}.tour-tab-pane{display:none!important;padding:.5rem 0;animation:fadeIn .25s ease-in-out}.tour-tab-pane.active{display:block!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.feature-list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.feature-list-item{display:flex;align-items:flex-start;gap:.65rem;background:#f8fafc;padding:.8rem 1rem;border-radius:8px;border:1px solid #e2e8f0;font-size:.92rem;color:#1e293b;line-height:1.4}.feature-list-item.include .icon{color:#16a34a;font-weight:800;font-size:1.1rem;flex-shrink:0}.feature-list-item.exclude .icon{color:#dc2626;font-weight:800;font-size:1.1rem;flex-shrink:0}.feature-list-item.equipment .icon{color:#2563eb;font-weight:800;font-size:1.1rem;flex-shrink:0}.timeline-stepper{display:flex;flex-direction:column;gap:1.1rem}.timeline-step-row{display:flex;gap:1rem;align-items:flex-start}.timeline-circle-num{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;flex-shrink:0;box-shadow:0 2px 6px #29a4dd4d}.timeline-step-content{flex:1}.timeline-step-content strong{font-size:.96rem;color:var(--color-dark);display:block}.timeline-step-content p{font-size:.88rem;color:#475569;margin:.2rem 0 0;line-height:1.4}.location-guide-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:1.25rem}.location-guide-box p{font-size:.92rem;color:#166534;margin-bottom:.85rem;line-height:1.5}.location-action-btns{display:flex;gap:.75rem;flex-wrap:wrap}.tour-booking-sidebar{position:relative}.tour-booking-sticky-box{position:sticky;top:90px;background:var(--color-clean);border:1.5px solid var(--color-gray-border);border-radius:16px;box-shadow:0 10px 30px #00000012;padding:1.5rem 1.35rem;display:flex;flex-direction:column;gap:1.15rem}.booking-box-header{border-bottom:1px solid #e2e8f0;padding-bottom:.75rem}.booking-box-title{font-size:1.3rem;font-weight:800;color:var(--color-dark);margin:0 0 .2rem}.booking-box-subtitle{font-size:.82rem;color:var(--color-gray-muted)}.calendar-widget-wrapper{display:flex;flex-direction:column;gap:.5rem}.calendar-field-label{font-size:.88rem;font-weight:700;color:var(--color-dark)}.calendar-interactive-card{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background-color:#fff}.calendar-month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem}.calendar-nav-btn{background:#f1f5f9;border:1px solid #cbd5e1;width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;font-weight:700;color:#334155;transition:var(--transition)}.calendar-nav-btn:hover:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.calendar-nav-btn:disabled{opacity:.35;cursor:not-allowed}.calendar-current-month-label{font-weight:700;font-size:.92rem;color:#1e293b;text-transform:capitalize}.calendar-weekdays-row{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.74rem;font-weight:700;color:#64748b;margin-bottom:.35rem}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-day-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.84rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none;color:#1e293b}.calendar-day-cell:hover:not(.disabled){background-color:#dbeafe;color:#1d4ed8}.calendar-day-cell.selected{background-color:#1e3a8a!important;color:#fff!important;font-weight:800;box-shadow:0 2px 6px #1e3a8a66}.calendar-day-cell.today:not(.selected){border:1.5px solid var(--color-primary)}.calendar-day-cell.disabled{color:#cbd5e1;cursor:not-allowed;background-color:transparent}.calendar-day-cell.empty{cursor:default;pointer-events:none}.availability-badge-box{padding:.55rem .75rem;border-radius:8px;font-size:.84rem;font-weight:600;display:flex;align-items:center;gap:.45rem;transition:all .2s ease}.availability-badge-box.available{background-color:#f0fdf4;border:1px solid #86efac;color:#15803d}.availability-badge-box.checking{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.availability-badge-box.unavailable{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.booking-field-group{display:flex;flex-direction:column;gap:.45rem}.booking-slots-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem}.slot-chip{padding:.5rem .15rem;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;font-size:.84rem;font-weight:700;text-align:center;cursor:pointer;transition:var(--transition);color:#334155;white-space:nowrap}.slot-chip:hover:not(.disabled){border-color:var(--color-primary);background:#f0f9ff}.slot-chip.selected{background:#1e3a8a;color:#fff;border-color:#1e3a8a;box-shadow:0 2px 6px #1e3a8a59}.slot-chip.disabled{opacity:.4;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8;text-decoration:line-through;pointer-events:none}.slot-chip small{display:block;font-size:.65rem;font-weight:500;margin-top:.1rem}.guests-pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.guest-counter-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.7rem .5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem}.guest-counter-label{font-size:.86rem;font-weight:700;color:var(--color-dark);display:inline-flex;align-items:center;gap:.25rem}.guest-counter-card.has-age-tooltip{position:relative}.guest-counter-card.has-age-tooltip:hover,.guest-counter-card.has-age-tooltip:focus-within{border-color:var(--color-primary);background-color:#f0f9ff}.age-info-badge{color:var(--color-primary);font-size:.85rem;cursor:help}.child-age-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(6px);width:225px;background-color:#0f172a;color:#fff;font-size:.78rem;font-weight:500;line-height:1.4;padding:.6rem .75rem;border-radius:8px;box-shadow:0 8px 20px #0f172a47;text-align:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:50}.child-age-tooltip strong{color:#38bdf8}.child-age-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:#0f172a transparent transparent transparent}.guest-counter-card.has-age-tooltip:hover .child-age-tooltip,.guest-counter-card.has-age-tooltip:focus-within .child-age-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.guest-stepper-control{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%}.btn-stepper{width:30px;height:30px;border-radius:6px;border:1.5px solid var(--color-primary);background:#fff;color:var(--color-primary);font-size:1.1rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);line-height:1}.btn-stepper:hover:not(:disabled){background:var(--color-primary);color:#fff}.btn-stepper:disabled{opacity:.35;cursor:not-allowed;border-color:#cbd5e1;color:#94a3b8}.guest-count-val{font-family:var(--font-heading);font-size:1.15rem;font-weight:800;min-width:24px;text-align:center;color:var(--color-dark)}.unit-price-subtext{font-size:.74rem;color:#64748b;font-weight:600}.capacity-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.capacity-counter-badge{font-size:.76rem;font-weight:700;padding:.2rem .6rem;border-radius:50px;background-color:var(--color-secondary-light);color:var(--color-primary-dark);border:1px solid var(--color-gray-border)}.capacity-counter-badge.incomplete{background-color:#fef3c7;color:#b45309;border-color:#fcd34d}.capacity-restriction-note{font-size:.78rem;line-height:1.4;color:#475569;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .65rem;margin-top:.2rem}.capacity-restriction-note.warning{background-color:#fffbeb;border-color:#fcd34d;color:#92400e;font-weight:600}.booking-summary-breakdown{border-top:1px solid #e2e8f0;padding-top:.85rem;display:flex;flex-direction:column;gap:.45rem;font-size:.88rem}.breakdown-row{display:flex;justify-content:space-between;align-items:center;color:#475569}.breakdown-row strong{color:var(--color-dark)}.breakdown-row.total-row{margin-top:.3rem;padding-top:.55rem;border-top:1.5px dashed #cbd5e1;font-size:1rem;font-weight:800;color:var(--color-primary-dark)}.breakdown-row.total-row strong{color:#1e3a8a;font-size:1.2rem}.breakdown-row.cash-balance-row{background-color:#f0fdf4;border:1px solid #bbf7d0;padding:.45rem .6rem;border-radius:6px;color:#166534;font-weight:700;font-size:.88rem}.breakdown-row.cash-balance-row strong{color:#15803d;font-size:1.05rem}.payment-split-hint{font-size:.75rem;color:#475569;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.45rem .6rem;line-height:1.35}.btn-reserve-action{width:100%;padding:.9rem;background-color:#1e3a8a;color:#fff;border:none;border-radius:8px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:var(--transition);text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-reserve-action:hover:not(:disabled){background-color:#172554;box-shadow:0 4px 14px #1e3a8a4d}.btn-reserve-action:disabled{opacity:.5;cursor:not-allowed;background-color:#94a3b8}.mobile-sticky-booking-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px)) 1rem;border-top:1.5px solid #CBD5E1;z-index:990;box-shadow:0 -4px 20px #00000014;align-items:center;justify-content:space-between;gap:.85rem}.mobile-sticky-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.mobile-sticky-label{font-size:.7rem;color:#64748b;text-transform:uppercase;font-weight:700;letter-spacing:.5px}.mobile-sticky-price{font-size:1.3rem;font-weight:900;color:#0f172a;line-height:1}.mobile-sticky-sub{font-size:.72rem;color:#0284c7;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-mobile-booking-action{padding:.75rem 1.25rem;font-size:.95rem;font-weight:800;border-radius:10px;white-space:nowrap;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;box-shadow:0 4px 14px #29a4dd59;flex-shrink:0}@media (max-width: 1024px){.tour-layout-grid{grid-template-columns:1fr;gap:1.75rem}.tour-booking-sticky-box{position:static}.mobile-sticky-booking-bar{display:flex}.tour-main-container{padding-bottom:7rem}}@media (max-width: 768px){.tour-breadcrumb{font-size:.82rem;margin-bottom:.75rem}.tour-header-block{margin-bottom:.5rem}.tour-main-title{font-size:1.75rem;line-height:1.2}.tour-tabs-nav{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.4rem;padding:4px;background:#f1f5f9;border-radius:12px}.tour-tabs-nav::-webkit-scrollbar{display:none}.tour-tab-btn{flex:0 0 auto;padding:.6rem .9rem;font-size:.85rem;border-radius:8px;min-width:auto}.tour-main-photo-card{aspect-ratio:16 / 10;max-height:280px;border-radius:14px}.tour-gallery-thumbs{gap:.5rem;padding-bottom:.35rem}.gallery-thumb-item{width:70px;height:52px;border-radius:8px}.meeting-point-visual-grid{grid-template-columns:1fr;gap:1rem}.meeting-point-photo-box{max-height:220px}.feature-list-grid{grid-template-columns:1fr}.tour-booking-sticky-box{padding:1.25rem 1rem;border-radius:16px;box-shadow:0 4px 16px #0000000d}.calendar-interactive-card{padding:.65rem;border-radius:12px}.calendar-month-nav{margin-bottom:.5rem}.calendar-nav-btn{width:36px;height:36px;font-size:1.2rem;border-radius:8px}.calendar-current-month-label{font-size:.95rem}.calendar-weekdays-row{font-size:.72rem;margin-bottom:.25rem}.calendar-day-cell{min-height:36px;font-size:.88rem;border-radius:8px}.booking-slots-picker{grid-template-columns:repeat(3,1fr)!important;gap:.45rem}.slot-chip{padding:.55rem .2rem;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.88rem;border-radius:8px}.slot-chip small{font-size:.68rem}.guests-pricing-grid{grid-template-columns:1fr 1fr;gap:.65rem}.guest-counter-card{padding:.75rem .45rem;border-radius:12px}.guest-stepper-control{gap:.55rem}.btn-stepper{width:38px;height:38px;font-size:1.3rem;border-radius:8px}.guest-count-val{font-size:1.25rem;min-width:28px}.booking-action-buttons{display:flex;flex-direction:column;gap:.65rem}.btn-add-cart-primary,.btn-checkout-primary{min-height:50px;font-size:1.05rem;font-weight:800;border-radius:10px;width:100%}}@media (max-width: 380px){.booking-slots-picker{grid-template-columns:repeat(2,1fr)!important}.mobile-sticky-price{font-size:1.15rem}.btn-mobile-booking-action{padding:.7rem .95rem;font-size:.88rem}}
