:root{--tour-primary:#2c6e49;--tour-accent:var(--primary-red);--tour-muted:#6b7280;--border-radius:12px;--shadow:0 6px 18px rgba(0,0,0,.08);--carousel-h: 470px;--thumb-size:110px}.tour-section{padding:3rem 0;background:#fff}.tour-section h1{font-size:var(--fs-h2);line-height:var(--lh-tight);color:var(--tour-primary);font-weight:800;margin:.25rem 0 .5rem}.tour-section h2{font-size:var(--fs-h4);line-height:var(--lh-tight);color:var(--tour-primary);font-weight:700;margin:1rem 0 .5rem}.tour-section h3{font-size:var(--fs-h5);line-height:var(--lh-tight);color:#222;font-weight:700;margin:.6rem 0 .4rem}.tour-section h4,.tour-section h5,.tour-section h6{color:#222;font-weight:700;margin:.45rem 0 .2rem}.tour-section p{color:#555;line-height:var(--lh-normal);margin:.3rem 0;font-size:var(--fs-body)}.section-subtitle{display:inline-block;border-bottom:2px solid var(--tour-primary);padding-bottom:.2rem;color:var(--tour-primary)}#tourCarousel{height:var(--carousel-h);min-height:var(--carousel-h);max-height:var(--carousel-h)}#tourCarousel .carousel-inner,#tourCarousel .carousel-item,#tourCarousel .carousel-item>img{height:100%;border-radius:var(--border-radius);-o-object-fit:cover;object-fit:cover}.carousel-thumbnails{display:flex;flex-direction:column;height:100%;gap:8px}.carousel-thumbnails .thumb-img,.thumb-box img{width:var(--thumb-size);height:var(--thumb-size);-o-object-fit:cover;object-fit:cover;border-radius:8px;border:2px solid transparent;transition:border-color .2s;cursor:pointer}.thumb-box img:hover,.thumb-box img.active{border-color:var(--tour-primary)}.reservation-box{border:1px solid #e5e7eb;border-radius:var(--border-radius);background:#fff;padding:1rem;box-shadow:var(--shadow)}.tour-section .reservation-box .form-header h3,.tour-section .reservation-box .form-header h4{font-weight:600!important;color:var(--text-dark);margin-bottom:.35rem}.reservation-box h3{font-size:var(--fs-h5);margin-bottom:.5rem}.reservation-box .form-label{font-size:var(--fs-sm);font-weight:600;margin-bottom:.25rem}.reservation-box .form-control,.reservation-box .form-select{font-size:var(--fs-body);border-radius:.6rem}.reservation-box .price-breakdown{font-size:calc(var(--fs-body) - 1px);color:var(--text-dark)}.price-adult,.price-kid{color:var(--primary-red)!important}.totalprice{font-size:calc(var(--fs-body) - .9px);color:var(--primary-red)}.reservation-box{--gv-field-h: 44px;--gv-field-pad-y: .5rem;--gv-field-pad-x: .75rem;--gv-radius: .6rem}.reservation-box .form-control,.reservation-box .flatpickr-input,.reservation-box .choices__inner{min-height:var(--gv-field-h);height:var(--gv-field-h);padding:var(--gv-field-pad-y) var(--gv-field-pad-x);font-size:var(--fs-body);border-radius:var(--gv-radius)}.reservation-box .flatpickr-input[readonly]{background-color:#fff}.reservation-box .choices__inner{display:flex;align-items:center;border:1px solid #ced4da;box-shadow:none;background:#fff}.reservation-box .choices__list--single .choices__item{line-height:1.5;font-size:var(--fs-body)}.reservation-box .choices[data-type*=select-one] .choices__input{display:none}.reservation-box .choices[data-type*=select-one]:after{right:.75rem}.gv-trav-row .btn{min-width:2rem}.gv-trav-row input[type=number]{max-width:84px;text-align:center}@media (min-width: 576px){.gv-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}}.gv-total-inline{background:#f8fafb;border:1px dashed #e2e8f0;border-radius:.5rem;padding:.5rem .75rem}.gv-total-inline strong{font-weight:700;color:var(--primary-red)}.meeting-info .mp-desc{white-space:pre-line}.meeting-info .mp-link{text-decoration:underline}.meeting-info.card{padding:.5rem .75rem}.reservation-box.is-compact{--gv-field-h: 40px;--gv-field-pad-y: .45rem;--gv-field-pad-x: .65rem}.reservation-box.is-compact .form-label{font-size:calc(var(--fs-sm) - 1px);margin-bottom:.2rem}.reservation-box.is-compact .price-breakdown{font-size:calc(var(--fs-body) - 2px)}.reservation-box.is-compact .form-control,.reservation-box.is-compact .form-select,.reservation-box.is-compact .flatpickr-input,.reservation-box.is-compact .choices__inner,.reservation-box.is-compact .choices__list--single .choices__item{font-size:calc(var(--fs-body) - 1px);min-height:var(--gv-field-h);height:var(--gv-field-h);padding:var(--gv-field-pad-y) var(--gv-field-pad-x)}.reservation-box.is-compact .form-header h3,.reservation-box.is-compact .form-header h4{font-size:var(--fs-h6);margin-bottom:.25rem}.reservation-box.is-compact .section-title span{font-size:calc(var(--fs-body) - 1px)}.reservation-box.is-compact .section-title i{font-size:.95em}.gv-travelers{--trav-row-font: var(--fs-body);--trav-label-font: calc(var(--fs-body) - 1px);--trav-btn-font: .9rem;--trav-input-w: 72px}.gv-travelers .gv-trav-row{font-size:var(--trav-row-font)}.gv-travelers .gv-trav-row .fw-semibold{font-size:var(--trav-label-font)}.gv-travelers .gv-trav-row input[type=number]{max-width:var(--trav-input-w);font-size:var(--trav-row-font)}.gv-travelers .gv-trav-row .btn{font-size:var(--trav-btn-font)}.reservation-box.is-compact .gv-travelers{--trav-row-font: calc(var(--fs-body) - 1px);--trav-label-font: calc(var(--fs-body) - 2px);--trav-btn-font: .85rem;--trav-input-w: 68px}.gv-travelers .gv-trav-row>.d-flex:last-child{flex-wrap:nowrap!important;gap:.5rem}.gv-travelers .gv-trav-row>.d-flex:last-child>*{flex:0 0 auto}.gv-travelers .gv-trav-row>.d-flex:first-child{min-width:0}.gv-travelers .gv-trav-row input[type=number]{text-align:center;width:var(--trav-input-w);max-width:var(--trav-input-w)}.gv-travelers .gv-trav-row .btn{min-width:2rem;padding:.25rem .5rem}@media (max-width: 1024px){.gv-travelers{--trav-input-w: 64px}}@media (max-width: 420px){.gv-travelers .gv-trav-row{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:.5rem}.gv-travelers{--trav-input-w: 60px}}@media (max-width: 360px){.gv-travelers{--trav-input-w: 54px}.reservation-box{--gv-field-h: 38px}}.reservation-box.is-compact #noSlotsHelp,.reservation-box.is-compact .gv-total-inline{font-size:calc(var(--fs-body) - 2px)}.reservation-box.is-compact .meeting-info.card{padding:.45rem .6rem}.reservation-box.is-compact #mpDesc,.reservation-box.is-compact #mpTime{font-size:calc(var(--fs-body) - 1px)}.reservation-box.is-compact #mpLink{font-size:.85rem}.tour-section .reservation-box{--brand: var(--tour-primary);--brand-600: var(--primary-dark);--brand-50: #eaf5ef}.tour-section .reservation-box .gv-cta{background:var(--brand)!important;border-color:var(--brand)!important;font-weight:700}.tour-section .reservation-box .gv-cta:hover{background:var(--brand-600)!important;border-color:var(--brand-600)!important}.tour-section .reservation-box .form-control:focus,.tour-section .reservation-box .form-select:focus{border-color:var(--brand)!important;box-shadow:0 0 0 .2rem color-mix(in srgb,var(--brand) 25%,transparent)!important}.tour-section .reservation-box .choices.is-open .choices__inner{border-color:var(--brand);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--brand) 18%,transparent)}.tour-section .reservation-box .choices__list--dropdown{border-color:var(--brand)}.tour-section .reservation-box .choices__list--dropdown .choices__item--selectable.is-highlighted{background:var(--brand-50);color:#111}.tour-section .reservation-box .choices[data-type*=select-one]:after{border-color:var(--brand) transparent transparent transparent}.tour-section .reservation-box .choices[data-type*=select-one].is-open:after{border-color:transparent transparent var(--brand) transparent}.tour-section .reservation-box .flatpickr-day.selected,.tour-section .reservation-box .flatpickr-day.startRange,.tour-section .reservation-box .flatpickr-day.endRange{background:var(--brand)!important;border-color:var(--brand)!important}.tour-section .reservation-box .flatpickr-day.today{border-color:var(--brand)!important}.tour-section .reservation-box .flatpickr-day:hover{background:var(--brand-50)}.gv-ui .form-control,.gv-ui .form-select,.gv-ui .choices__inner{background-color:#fff!important}.languages-schedules-box{border:1px solid #e5e7eb;border-radius:var(--border-radius);background:#fff;padding:1rem;min-height:100%}.languages-schedules-box h3{font-size:var(--fs-h5)}.languages-schedules-box h4{font-size:var(--fs-h6);margin-top:.5rem}.languages-schedules-box p{font-size:var(--fs-body);color:#000}.languages-schedules-box .badge{font-size:clamp(10px,.22vw + 10px,12px);background:var(--tour-primary)!important;margin-right:.25rem}.itinerary-timeline{position:relative;padding-left:40px;border-left:2px solid #e5e7eb}.timeline-item{position:relative;margin-bottom:1.25rem}.timeline-marker{position:absolute;left:-12px;background:var(--tour-primary);color:#fff;border-radius:50%;width:22px;height:22px;text-align:center;line-height:22px;font-size:.75rem;font-weight:700}.timeline-content{padding-left:30px}.timeline-content h6{font-size:var(--fs-body);margin:0 0 .2rem}.timeline-content p{font-size:var(--fs-body);margin-bottom:.2rem}.timeline-content small{color:var(--tour-muted)}.accordion-body p+.itinerary-timeline{margin-top:1rem}.accordion-item{background:transparent}.accordion-button{background:#fff!important;font-weight:700;font-size:var(--fs-h6)}.accordion-button:focus{box-shadow:none}.accordion-body{background:#fff}.accordion-header .accordion-button{font-size:var(--fs-h6)}.tour-section .reviews-carousel{margin-top:2rem}.tour-section .reviews-carousel h2{color:var(--tour-primary)}.btn-success{background:var(--tour-primary);border:none;font-weight:700}.btn-success:hover{background:#256d1b}.btn-danger{font-weight:700}@media (max-width:1200px){:root{--carousel-h: 440px}}@media (max-width:991.98px){:root{--carousel-h: 400px}}@media (max-width:768px){.tour-section{padding:2rem 0}.tour-section h1{font-size:var(--fs-h2)}.tour-section h2{font-size:var(--fs-h4)}.carousel-thumbnails{display:none}:root{--carousel-h: 360px;--thumb-size:88px}.reservation-box,.languages-schedules-box{margin-top:1rem;padding:.9rem}}@media (max-width:576.98px){:root{--carousel-h: min(58vh, 320px)}.tour-section h1{font-size:var(--fs-h3)}.tour-section h2{font-size:var(--fs-h5)}.reservation-box,.languages-schedules-box{padding:.8rem;border-radius:.6rem}.reservation-box h3,.languages-schedules-box h3{font-size:var(--fs-h6)}.reservation-box .traveler-button{font-size:var(--fs-xs);padding:.35rem .6rem}.languages-schedules-box .badge{font-size:clamp(9px,.5vw + 8px,11px)}}
