.tour-page{background:#fff}.tour-header{position:absolute;z-index:20;top:36px;left:0;width:100%;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,95px);color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.tour-header nav{display:flex;align-items:center;gap:25px}.tour-header nav a{text-decoration:none}.tour-hero{min-height:680px;position:relative;display:flex;align-items:end;padding:160px clamp(20px,7vw,110px) 75px;background:#6d1822 center/cover}.tour-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,26,21,.9),rgba(8,27,22,.12) 70%),linear-gradient(90deg,rgba(8,30,24,.76),transparent 70%)}.tour-hero-copy{position:relative;z-index:1;color:#fff;max-width:930px}.breadcrumbs{display:flex;gap:9px;align-items:center;margin-bottom:28px;color:rgba(255,255,255,.66);font-size:.78rem}.breadcrumbs a{color:inherit}.category-pill{display:inline-block;padding:7px 12px;border-radius:999px;background:#d4ad6d;color:#183026;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:800}.tour-hero h1{font-size:clamp(3rem,7vw,6.4rem);margin:18px 0}.tour-hero-copy>p{max-width:750px;font-size:1.12rem;color:rgba(255,255,255,.78)}.tour-meta{display:flex;gap:55px;margin-top:35px}.tour-meta b,.tour-meta small{display:block}.tour-meta b{font-size:1.05rem}.tour-meta small{color:rgba(255,255,255,.55);font-size:.7rem}.tour-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:75px;padding:95px clamp(20px,7vw,110px)}.tour-main{display:grid;gap:85px;min-width:0}.tour-main h2{font-size:clamp(2rem,4vw,3rem)}.lead{font-size:1.14rem;color:#53625c;max-width:850px}.highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.highlight-grid div{padding:18px;border-radius:12px;background:#f1f6f3;color:var(--green);font-weight:700}.highlight-grid div:before{content:"✓";display:inline-grid;place-items:center;width:25px;height:25px;margin-right:10px;border-radius:50%;background:#d5eadf;color:#18724d}.itinerary-list{position:relative;margin-top:30px}.itinerary-item{display:grid;grid-template-columns:90px 34px 1fr;gap:15px;padding-bottom:32px}.itinerary-item:not(:last-child) .line:after{content:"";position:absolute;top:31px;bottom:-32px;left:15px;width:2px;background:#dce6e1}.itinerary-item time{padding-top:5px;color:var(--green2);font-weight:700;font-size:.8rem}.itinerary-item .line{position:relative}.itinerary-item .line b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;font-size:.72rem}.itinerary-item h3{font-size:1.3rem;margin:2px 0 7px}.itinerary-item p{margin:0;color:var(--muted)}.fine-print{padding:14px 17px;border-left:3px solid var(--gold);background:var(--cream);color:var(--muted);font-size:.78rem}.included-section{display:grid;grid-template-columns:1fr 1fr;gap:35px}.included-section>div{padding:28px;border:1px solid var(--line);border-radius:16px}.included-section h2{font-size:1.7rem}.check-list,.cross-list{display:grid;gap:12px;padding:0;list-style:none;color:#53615b}.check-list li:before,.cross-list li:before{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:9px;border-radius:50%;font-weight:800}.check-list li:before{content:"✓";background:#dcf0e4;color:#16724a}.cross-list li:before{content:"–";background:#f4e9e5;color:#984738}.info-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px}.info-panels article{padding:25px;border-radius:15px;background:var(--green);color:#fff}.info-panels h3{font-size:1.35rem}.info-panels p{margin:0;color:rgba(255,255,255,.72)}.tour-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.tour-gallery img{width:100%;height:300px;object-fit:cover;border-radius:14px;background:#edf2ef}.tour-gallery img:first-child{grid-row:span 2;height:612px}.tour-sidebar{position:relative}.tour-book-card{position:sticky;top:25px;padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 20px 60px rgba(15,48,39,.13)}.tour-book-card .from{margin:0;color:var(--muted);font-size:.78rem}.tour-book-card>strong{display:block;font:2.2rem "Playfair Display";color:var(--green)}.tour-book-card>small{color:var(--muted)}.tour-book-card ul{display:grid;gap:10px;margin:25px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none;color:#52605a}.tour-book-card li:before{content:"✓";margin-right:8px;color:#2c8064;font-weight:800}.whatsapp-outline{display:block;margin-top:10px;padding:12px;border:1px solid var(--green);border-radius:999px;color:var(--green);text-align:center;text-decoration:none;font-weight:700}.secure-note{margin:18px 0 0;text-align:center;color:var(--muted);font-size:.72rem}.related-section{padding:90px clamp(20px,7vw,110px);background:#f3f6f4}.related-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}.related-heading>a{color:var(--green2);font-weight:700}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.related-card{overflow:hidden;border-radius:15px;background:#fff}.related-card img{display:block;width:100%;height:190px;object-fit:cover}.related-card div{padding:20px}.related-card h3{font-size:1.3rem}.related-card a{color:var(--green2);font-weight:700}.tour-error{min-height:75vh;display:grid;place-content:center;justify-items:center;padding:40px;text-align:center}.tour-error h1{font-size:4rem}.tour-error p{color:var(--muted)}
@media(max-width:950px){.tour-layout{grid-template-columns:1fr}.tour-sidebar{grid-row:1}.tour-book-card{position:static}.tour-header nav>a:not(.button){display:none}.related-grid{grid-template-columns:1fr 1fr}.tour-gallery img:first-child{height:500px}}
@media(max-width:650px){.tour-header{padding:0 16px}.tour-header .brand small{display:none}.tour-hero{min-height:620px;padding:150px 20px 55px}.tour-hero h1{font-size:3rem}.tour-meta{gap:20px;justify-content:space-between}.tour-layout{padding:65px 18px;gap:45px}.tour-main{gap:60px}.highlight-grid,.included-section,.info-panels,.related-grid,.tour-gallery{grid-template-columns:1fr}.itinerary-item{grid-template-columns:60px 30px 1fr;gap:10px}.tour-gallery img,.tour-gallery img:first-child{height:260px}.related-section{padding:65px 18px}.related-heading{align-items:flex-start;flex-direction:column}footer{align-items:flex-start}}
.hero-rating{display:flex;align-items:center;gap:7px;margin-top:18px}.hero-rating b{color:#ffd27f}.hero-rating span{font-size:.8rem;color:rgba(255,255,255,.75)}.tour-meta{flex-wrap:wrap}.availability-form{display:grid;grid-template-columns:1fr .75fr;gap:9px;margin:22px 0}.availability-form label{margin:0}.availability-form button{grid-column:1/-1}.booking-benefits{margin-top:15px!important}.mobile-book-bar{display:none}.related-card p{color:var(--muted)}
@media(max-width:650px){body{padding-bottom:78px}.tour-meta span:nth-child(4){display:none}.availability-form{grid-template-columns:1fr}.availability-form button{grid-column:auto}.mobile-book-bar{position:fixed;z-index:40;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 25px rgba(15,45,36,.13)}.mobile-book-bar small,.mobile-book-bar strong{display:block}.mobile-book-bar small{color:var(--muted);font-size:.63rem}.mobile-book-bar strong{color:var(--green)}.mobile-book-bar button{border:0;border-radius:999px;background:var(--gold);padding:12px 18px;font-weight:800;color:#14231e}}
.review-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.review-heading h2{margin-bottom:0}.review-summary{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 10px;min-width:190px;padding:16px 20px;border:1px solid var(--line);border-radius:15px;background:#f7f9f8}.review-summary b{grid-row:1/3;font:700 2.2rem "Playfair Display";color:var(--green)}.review-summary span{color:#d08d18;letter-spacing:.08em}.review-summary small{color:var(--muted)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.review-card{display:flex;flex-direction:column;min-height:225px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(16,50,40,.07)}.review-card-stars{color:#d08d18;letter-spacing:.08em;font-size:.9rem}.review-card blockquote{margin:16px 0 22px;color:#46554f;font:1.04rem/1.65 "Playfair Display",serif}.review-author{display:flex;align-items:center;gap:11px;margin-top:auto}.review-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.review-author b,.review-author small{display:block}.review-author small{color:var(--muted);font-size:.72rem}.review-empty{padding:36px;border:1px dashed #b8c9c0;border-radius:16px;background:#f8faf9;text-align:center}.review-empty>span{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:#e6efe9;color:var(--green);font-size:1.7rem}.review-empty h3{margin-bottom:8px;font-size:1.45rem}.review-empty p{max-width:520px;margin:0 auto 13px;color:var(--muted)}.review-empty a{color:var(--green2);font-weight:800;text-decoration:none}@media(max-width:650px){.review-heading{align-items:flex-start;flex-direction:column}.review-summary{width:100%}.review-grid{grid-template-columns:1fr}.review-card{min-height:0}}
.review-status{align-self:flex-start;margin-bottom:12px;padding:5px 9px;border-radius:999px;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.review-status.verified{background:#e0f1e8;color:#176945}
.availability-form .wide-field{grid-column:1/-1}.payment-estimate{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:15px 16px;border:1px solid #ead9cd;border-radius:13px;background:#fff7f0}.payment-estimate span{color:var(--muted);font-size:.76rem}.payment-estimate strong{color:var(--green);font-size:1.15rem}.payment-estimate small{grid-column:1/-1;color:var(--muted);font-size:.7rem}.terms-check{display:flex!important;align-items:flex-start;gap:9px!important;margin:0!important;font-weight:500!important}.terms-check input{width:auto;margin-top:4px}.terms-check a{color:var(--green2)}.paypal-book-button{background:#ffc439;color:#111;box-shadow:inset 0 -2px 0 rgba(0,0,0,.1)}.paypal-book-button:disabled{cursor:not-allowed;opacity:.55}.payment-message{min-height:18px;margin:0;color:var(--green2);font-size:.76rem;text-align:center}.payment-message.error{color:var(--danger)}

/* Marketplace-style image mosaic and accessible full-screen viewer. */
.tour-media-section{padding:32px clamp(20px,7vw,110px) 0;background:#fff}.tour-gallery-shell{position:relative;max-width:1440px;margin:0 auto}.tour-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:250px 250px;gap:8px;height:508px;overflow:hidden;border-radius:20px;background:#eee}.gallery-tile{position:relative;min-width:0;min-height:0;margin:0;padding:0;overflow:hidden;border:0;background:#eee;cursor:zoom-in}.gallery-tile:first-child{grid-row:1/3}.tour-gallery .gallery-tile>img:first-child{display:block;width:100%;height:100%;grid-row:auto;object-fit:cover;transition:transform .35s ease,filter .25s ease}.gallery-tile:hover>img,.gallery-tile:focus-visible>img{transform:scale(1.035);filter:brightness(.92)}.gallery-tile:focus-visible{z-index:2;outline:4px solid #fff;outline-offset:-6px}.gallery-count-1{display:block;height:auto;aspect-ratio:16/7}.gallery-count-1 .gallery-tile{width:100%;height:100%}.gallery-count-2{grid-template-columns:1.7fr 1fr;grid-template-rows:1fr}.gallery-count-2 .gallery-tile:first-child{grid-row:auto}.gallery-count-3{grid-template-columns:2fr 1fr}.gallery-count-3 .gallery-tile:nth-child(2){grid-column:2;grid-row:1}.gallery-count-3 .gallery-tile:nth-child(3){grid-column:2;grid-row:2}.gallery-count-4 .gallery-tile:nth-child(2){grid-column:2/4}.gallery-count-4 .gallery-tile:nth-child(3){grid-column:2;grid-row:2}.gallery-count-4 .gallery-tile:nth-child(4){grid-column:3;grid-row:2}.gallery-more-tile{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,13,15,.48);color:#fff;font-size:1rem;font-weight:800}.gallery-open-button{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid rgba(28,20,21,.22);border-radius:10px;background:rgba(255,255,255,.96);color:#24191a;font:700 .82rem "DM Sans",sans-serif;box-shadow:0 6px 22px rgba(0,0,0,.18);cursor:pointer}.gallery-open-button:hover{background:#fff;transform:translateY(-1px)}.gallery-open-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.gallery-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:#140f10;color:#fff}.gallery-lightbox[open]{display:grid;grid-template-rows:64px minmax(0,1fr) auto 100px}.gallery-lightbox::backdrop{background:#140f10}.gallery-lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:rgba(255,255,255,.8);font-size:.85rem}.gallery-lightbox-header button{width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}.gallery-lightbox-stage{position:relative;display:grid;place-items:center;min-height:0;padding:10px 90px}.gallery-lightbox-stage>img{display:block;max-width:100%;max-height:100%;object-fit:contain}.gallery-nav{position:absolute;z-index:2;top:50%;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:2rem;line-height:1;transform:translateY(-50%);cursor:pointer}.gallery-nav:hover{background:rgba(255,255,255,.22)}.gallery-prev{left:24px}.gallery-next{right:24px}.gallery-caption{margin:0;padding:10px 24px 8px;text-align:center;color:rgba(255,255,255,.72);font-size:.84rem}.gallery-thumbnails{display:flex;gap:8px;align-items:center;justify-content:flex-start;overflow-x:auto;padding:10px 24px 18px;scrollbar-width:thin}.gallery-thumbnails button{flex:0 0 82px;width:82px;height:64px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#30282a;opacity:.62;cursor:pointer}.gallery-thumbnails button.active{border-color:#fff;opacity:1}.gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}.gallery-lightbox button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}body.gallery-open{overflow:hidden}
@media(max-width:950px){.tour-media-section{padding-top:22px}.tour-gallery{grid-template-rows:205px 205px;height:418px}.gallery-count-1{height:auto}.gallery-lightbox-stage{padding-inline:72px}}
@media(max-width:650px){.tour-media-section{padding:14px 0 0}.tour-gallery-shell{overflow:hidden}.tour-gallery,.gallery-count-1,.gallery-count-2,.gallery-count-3,.gallery-count-4,.gallery-count-5{display:flex;height:auto;aspect-ratio:auto;gap:7px;overflow-x:auto;padding:0 16px;border-radius:0;background:#fff;scroll-snap-type:x mandatory;scrollbar-width:none}.tour-gallery::-webkit-scrollbar{display:none}.tour-gallery .gallery-tile,.tour-gallery .gallery-tile:first-child,.tour-gallery .gallery-tile:nth-child(n){flex:0 0 86%;width:auto;height:285px;grid-column:auto;grid-row:auto;border-radius:14px;scroll-snap-align:center}.tour-gallery .gallery-tile>img{height:100%}.gallery-open-button{right:28px;bottom:12px;min-height:40px;padding-inline:13px}.gallery-lightbox[open]{grid-template-rows:58px minmax(0,1fr) auto 86px}.gallery-lightbox-header{padding-inline:14px}.gallery-lightbox-stage{padding:8px 10px 66px}.gallery-nav{top:auto;bottom:8px;width:44px;height:44px;transform:none}.gallery-prev{left:calc(50% - 54px)}.gallery-next{right:calc(50% - 54px)}.gallery-caption{padding-inline:14px}.gallery-thumbnails{padding:8px 14px 14px}.gallery-thumbnails button{flex-basis:70px;width:70px;height:54px}}
