@charset "UTF-8";

/* ============================================
   CRITICAL CSS - Tour Single Page (~20KB target)
   Only styles needed for above-the-fold content
   ============================================ */

/* === RESET & BASE === */
*,::after,::before{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%}
h1,h2,h3{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}
h1{font-size:calc(1.375rem + 1.5vw)}
@media (min-width:1200px){h1{font-size:2.5rem}}
p{margin-top:0;margin-bottom:1rem}
a{color:#0d6efd;text-decoration:underline}
img,svg{vertical-align:middle}
img{max-width:100%;height:auto}
button{border-radius:0}

/* === CSS VARIABLES === */
:root{--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--main-color:#5191FA;--grey-color:#5E6D77;--link-color:#1A2B48;--color-heading:#111827;--color-muted:#6b7280;--font-body:Inter,ui-sans-serif,system-ui;--font-display:"Plus Jakarta Sans",var(--font-body);--weight-medium:500;--weight-semibold:600;--weight-bold:700;--fs-sm:14px;--fs-xs:12px;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--radius-lg:12px}

/* === BOOTSTRAP GRID === */
.container,.container-fluid{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}
@media (min-width:576px){.container{max-width:540px}}
@media (min-width:768px){.container{max-width:720px}}
@media (min-width:992px){.container{max-width:960px}}
@media (min-width:1200px){.container{max-width:1140px}}
@media (min-width:1400px){.container{max-width:1320px}}
.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}
.col-12{flex:0 0 auto;width:100%}
@media (min-width:768px){.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}}
@media (min-width:992px){.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}}
.g-3{--bs-gutter-x:1rem;--bs-gutter-y:1rem}
.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem}

/* === BOOTSTRAP UTILITIES === */
.d-flex{display:flex!important}
.d-none{display:none!important}
.d-block{display:block!important}
.flex-column{flex-direction:column!important}
.flex-wrap{flex-wrap:wrap!important}
.justify-content-between{justify-content:space-between!important}
.align-items-center{align-items:center!important}
.align-items-start{align-items:flex-start!important}
.gap-2{gap:.5rem!important}
.gap-3{gap:1rem!important}
.mt-0{margin-top:0!important}
.mt-1{margin-top:.25rem!important}
.mt-2{margin-top:.5rem!important}
.mt-3{margin-top:1rem!important}
.mb-0{margin-bottom:0!important}
.mb-1{margin-bottom:.25rem!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.p-0{padding:0!important}
.p-3{padding:1rem!important}
.px-3{padding-right:1rem!important;padding-left:1rem!important}
.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}
.py-3{padding-top:1rem!important;padding-bottom:1rem!important}
.text-center{text-align:center!important}
.text-muted{color:#6c757d!important}
.fw-bold{font-weight:700!important}
.bg-white{background-color:#fff!important}
.rounded{border-radius:.25rem!important}
.border{border:1px solid #dee2e6!important}
.border-bottom{border-bottom:1px solid #dee2e6!important}
.w-100{width:100%!important}
.position-relative{position:relative!important}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (min-width:992px){.d-lg-none{display:none!important}.mb-lg-0{margin-bottom:0!important}}

/* === TOP NOTIFICATION BAR === */
.pca-top-bar-notice{position:relative;width:100%;z-index:10;background-color:#f9d9cf;color:#0a0909;font-size:14px;font-weight:500;padding:16px 60px 16px 20px;text-align:center;line-height:1.5}
@media (max-width:768px){.pca-top-bar-notice{padding:12px 50px 12px 15px;font-size:14px}}

/* === HEADER/NAVBAR === */
.site-header{background-color:#fff;position:relative}
.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.75rem 1rem!important;box-shadow:none!important}
.navbar>.container{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between;max-width:1226px!important;padding-left:1rem!important;padding-right:1rem!important}
.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}
.navbar-brand img{max-height:36px;height:auto;width:auto}
.site-header .navbar-brand img{max-height:35px}
.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}
.navbar-nav .nav-link{padding:.75rem .3rem;line-height:1.4;display:flex;align-items:center;font-size:15px;font-weight:500;color:var(--color-heading)!important}
.navbar-toggler{padding:.5rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}
.navbar-toggler-icon{display:inline-block;width:1.25rem;height:1.25rem;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}
@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}
@media (max-width:991.98px){.navbar-brand img{max-height:40px}#navbarSupportedContent{display:none!important}}

/* === BREADCRUMBS === */
.breadcrumbs-location-container{margin-bottom:1rem;margin-top:.5rem;padding:.75rem 0}
.pca-breadcrumbs{padding:4px 0;font-size:12px!important;color:var(--color-muted);display:inline-flex;align-items:center;white-space:nowrap}
.pca-breadcrumbs a{color:var(--color-muted)!important;font-size:12px!important;text-decoration:none;padding:2px 4px;border-radius:3px}
.pca-breadcrumb-separator{margin:0 .25rem;color:var(--color-muted);font-size:11px!important}

/* === TOUR HEADER === */
#tour-header{margin-top:1rem!important}
#tour-header .st-heading{font-family:var(--font-display)!important;font-size:26px!important;font-weight:var(--weight-bold)!important;line-height:30px!important;margin-bottom:.5rem!important}
.tour-subheading{font-family:var(--font-body);font-size:18px;line-height:1.5;color:var(--color-muted);margin:0 0 .75rem;max-width:800px}
@media (max-width:768px){#tour-header .st-heading{font-size:22px!important;line-height:26px!important}.tour-subheading{font-size:16px}}

/* === PHOTO GALLERY === */
.pca-gallery-wrapper{max-width:100%;width:100%;margin:0;padding-top:24px}
.pca-gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;border-radius:12px;overflow:hidden;position:relative;margin-bottom:1rem;aspect-ratio:2.5/1;max-height:560px;width:100%}
.pca-gallery-grid a.gallery-item:first-of-type{grid-column:1;grid-row:1/3}
.pca-gallery-grid a.gallery-item:nth-of-type(2){grid-column:2;grid-row:1}
.pca-gallery-grid a.gallery-item:nth-of-type(3){grid-column:3;grid-row:1}
.pca-gallery-grid a.gallery-item:nth-of-type(4){grid-column:2;grid-row:2}
.pca-gallery-grid a.gallery-item:nth-of-type(5){grid-column:3;grid-row:2}
.gallery-item{position:relative;overflow:hidden;background:#f7f7f7}
.gallery-item img{width:100%;height:100%;object-fit:cover}
.gallery-view-all{position:absolute;bottom:8px;right:8px;background:#fff;color:#222;padding:6px 12px;border:1px solid rgba(0,0,0,.08);border-radius:8px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.gallery-hidden{display:none}
@media (max-width:767px){.pca-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:1.5/1;max-height:350px;border-radius:0;gap:2px}.pca-gallery-grid a.gallery-item:first-of-type{grid-column:1;grid-row:1}.pca-gallery-grid a.gallery-item:nth-of-type(2){grid-column:2;grid-row:1}.pca-gallery-grid a.gallery-item:nth-of-type(3){grid-column:1;grid-row:2}.pca-gallery-grid a.gallery-item:nth-of-type(4){grid-column:2;grid-row:2}.gallery-item.desktop-only{display:none}}

/* === BOOKING WIDGET FRAME === */
.booking-widget-instant{max-width:440px;margin:2rem auto;font-family:var(--font-body);position:relative;overflow:visible}
.widget-card{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);overflow:hidden;position:relative;z-index:1}
.widget-section{padding:1rem;border-bottom:1px solid #e5e7eb}
.widget-section:last-child{border-bottom:none}
.section-title{font-size:16px;font-weight:500;color:#111827;font-family:var(--font-display)}
.booking-widget-instant .form-control,.booking-widget-instant .form-select{font-size:14px;font-weight:500;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;background:#fff;width:100%;min-height:48px}
.btn-primary-cta{width:100%;height:48px;background-color:#324fbe;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center}

/* === STICKY NAV (shows on scroll but needs base styles) === */
#sticky-tour-navigation{position:sticky;top:0!important;z-index:1100!important;width:100vw;margin-left:calc(-50vw + 50%);border-bottom:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.98);backdrop-filter:blur(10px);padding:10px 0;display:none}
.sticky-nav-container{max-width:1226px;margin:0 auto;padding:0 1rem;width:100%}

/* === TOUR CONTENT AREA === */
#st-content-wrapper{padding-top:0;padding-bottom:100px}
.st-single-tour h1{font-size:2rem;line-height:1.2;font-weight:700}
@media (min-width:768px){.st-single-tour h1{font-size:2.5rem}}
.tour-section{padding:1rem 0}
.tour-section-heading{position:relative;padding-left:16px;margin-bottom:1.5rem!important;margin-top:1.5rem!important}
.tour-section-heading::before{background-color:#f48120;border-radius:3px;content:"";display:block;height:24px;left:0;position:absolute;top:3px;width:6px}

/* === FORM BASICS === */
.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}
.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}
.form-label{margin-bottom:.5rem}
.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem}
.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}

/* === BADGE === */
.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}
.badge-location{display:inline-flex!important;align-items:center!important;padding:10px!important;border-radius:8px!important;background:#f5f5f5!important;color:#949494!important;font-size:12px!important}

/* === ICON FONTS BASE === */
.bi::before,[class*=" bi-"]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;line-height:1;vertical-align:-.125em}
.fa{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}

/* === MOBILE RESPONSIVE === */
@media screen and (max-width:767.98px){body .container{max-width:100%}#st-content-wrapper{margin-top:0!important;overflow-x:hidden;padding-bottom:50px}.tour-details{position:relative;z-index:2;background:#fff;padding:10px 10px 0}#tour-main-content{padding-left:10px;padding-right:10px}}
@media screen and (max-width:991px){body{scroll-padding-top:60px}.pca-gallery-wrapper{padding:0}}

/* === LOADING STATE === */
.st-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:6px;background:var(--main-color);border-radius:5px}
.loader-wrapper{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:9;background:rgba(255,255,255,.7)}

/* === CARD === */
.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}
.card-body{flex:1 1 auto;padding:1rem}

/* === DROPDOWN (for nav) === */
.dropdown{position:relative}
.dropdown-toggle{white-space:nowrap}
.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}
.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;font-size:1rem;color:#212529;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}
