/* Private tours follows the warm homepage palette. */
.pt { padding:28px 0 80px; background:#f7f5f0; color:#153f46; font-family:'Poppins',sans-serif; scroll-margin-top:32px; }
.pt-wrap { width:calc(100% - 64px); max-width:1240px; margin:auto; }
.pt-kicker { display:flex; align-items:center; gap:12px; margin:0 0 16px; color:#816332; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.pt-kicker::before { content:''; width:30px; height:1px; background:#b18a43; }
.pt-head__copy { display:flex; justify-content:space-between; align-items:flex-end; gap:48px; margin-bottom:36px; }
.pt h2 { max-width:620px; margin:0; color:#153f46; font:600 clamp(28px,3vw,40px)/1.3 'Poppins',sans-serif; letter-spacing:-.04em; }
.pt-head__copy > p { max-width:370px; margin:0; color:#607075; font-size:14px; line-height:1.75; }
.pt-destination-bar { display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:center; border-bottom:1px solid #d7d9cf; }
.pt-destinations { display:grid; grid-template-columns:1fr; }
.pt-upcoming { padding:18px 0; }
.pt-upcoming__label { margin:0 0 9px; color:#816332; font-size:10px; font-weight:500; letter-spacing:.06em; line-height:1.6; text-transform:uppercase; }
.pt-upcoming ul { display:flex; flex-wrap:wrap; gap:6px 22px; margin:0; padding:0; list-style:none; }
.pt-upcoming li { color:#607075; font-size:13px; line-height:1.7; }
.pt-destination { position:relative; min-width:0; padding:18px 0 22px; border:0; background:transparent; color:#607075; text-align:left; font-family:inherit; cursor:pointer; }
.pt-destination::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:3px; background:#153f46; transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.pt-destination:hover,.pt-destination.is-active { color:#153f46; }
.pt-destination.is-active::after { transform:scaleX(1); }
.pt-destination strong { display:block; font-size:clamp(16px,1.6vw,20px); font-weight:500; letter-spacing:-.025em; }
.pt-destination em { display:block; margin-top:6px; color:#607075; font-size:12px; line-height:1.6; font-style:normal; }
.pt-region-link { display:flex; justify-content:flex-end; margin:12px 0 26px; }
.pt-region-link a { display:inline-flex; align-items:center; gap:16px; min-height:44px; color:#153f46; font-size:13px; font-weight:500; text-decoration:none; }
.pt-region-link span { font-size:19px; transition:transform .2s; }
.pt-region-link a:hover span { transform:translate(3px,-3px); }
.pt-atelier { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(0,2.7fr); gap:32px; align-items:start; }
.pt-index { min-width:0; }
.pt-index__label { margin:0 0 12px; color:#816332; font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.pt-index__list { max-height:450px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#bbc7c3 transparent; }
.pt-tour { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:44px; padding:11px 12px 11px 0; border:0; border-bottom:1px solid #dcded5; background:transparent; color:#607075; font:400 13px/1.5 'Poppins',sans-serif; text-align:left; cursor:pointer; transition:color .2s,padding .2s; }
.pt-tour[hidden] { display:none; }
.pt-tour:hover,.pt-tour.is-active { color:#153f46; }
.pt-tour.is-active { font-weight:600; padding-left:10px; box-shadow:inset 2px 0 #b18a43; }
.pt-tour.is-active::after { content:'↗'; font-size:17px; }
.pt-stage { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:30px; margin:0; }
.pt-stage__visual { position:relative; min-height:460px; overflow:hidden; border-radius:8px 64px 8px 8px; background:#dfe5dd; }
.pt-stage img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .3s ease,transform .7s ease; }
.pt-stage.is-swapping img { opacity:.45; transform:scale(1.025); }
.pt-meter { min-width:0; align-self:center; padding:10px 0; }
.pt-meter__mode { display:inline-flex; gap:2px; padding:3px; margin-bottom:24px; border:1px solid #d1d7cf; border-radius:28px; }
.pt-meter__mode button { min-height:38px; padding:0 17px; border:0; border-radius:22px; background:transparent; color:#53666a; font:500 12px/1.4 'Poppins',sans-serif; cursor:pointer; transition:background .2s,color .2s; }
.pt-meter__mode .is-active { background:#153f46; color:#fff; }
.pt-meter__format { margin:0 0 10px; color:#816332; font-size:10px; font-weight:500; letter-spacing:.08em; line-height:1.7; text-transform:uppercase; }
.pt-meter h3 { margin:0 0 12px; color:#153f46; font:600 clamp(23px,2.1vw,29px)/1.25 'Poppins',sans-serif; letter-spacing:-.035em; }
.pt-meter__summary { margin:0 0 26px; color:#607075; font-size:13px; line-height:1.7; }
.pt-meter__price { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; margin:0; }
.pt-meter__price strong { color:#153f46; font-size:clamp(28px,3vw,38px); font-weight:500; letter-spacing:-.04em; line-height:1.15; }
.pt-meter__price span { color:#607075; font-size:12px; }
.pt-meter__total { min-height:1.6em; margin:8px 0 20px; color:#607075; font-size:12px; line-height:1.6; }
.pt-guests { display:block; margin:0 0 22px; padding-top:16px; border-top:1px solid #d7d9cf; color:#53666a; font-size:12px; }
.pt-guests > span { display:flex; justify-content:space-between; align-items:center; }
.pt-guests b { color:#153f46; font-size:16px; }
.pt-guests input[type='range'] { display:block; width:100%; height:28px; margin:6px 0 0; accent-color:#153f46; cursor:pointer; }
.pt .pt-cta { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:49px; padding:12px 22px; border-radius:28px; background:#153f46; color:#fff; font-size:13px; font-weight:500; text-decoration:none; transition:transform .2s,background .2s; }
.pt-cta span { font-size:20px; }
.pt .pt-cta:hover { background:#245760; transform:translateY(-2px); }
.pt-foot { margin-top:32px; border-top:1px solid #d7d9cf; }
.pt-table summary { padding:18px 0; color:#53666a; font-size:12px; cursor:pointer; }
.pt-table__scroll { overflow-x:auto; padding-bottom:16px; }
.pt-table table { width:max-content; min-width:100%; border-collapse:collapse; color:#53666a; font-size:12px; }
.pt-table th,.pt-table td { padding:9px 12px; text-align:right; border-bottom:1px solid #dcded5; }
.pt-table thead th,.pt-table tbody th { color:#153f46; font-weight:500; }
.pt a:focus-visible,.pt button:focus-visible,.pt input:focus-visible,.pt summary:focus-visible { outline:2px solid #987332; outline-offset:3px; }
.pt-reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease,transform .6s ease; }
.pt-reveal.is-visible { opacity:1; transform:none; }
@media (max-width:1100px) {
.pt-atelier { grid-template-columns:minmax(160px,.6fr) minmax(0,2fr); gap:24px; }
.pt-stage { gap:24px; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); }
}
@media (max-width:900px) {
.pt-head__copy { display:block; }
.pt-head__copy > p { max-width:580px; margin-top:18px; }
.pt-atelier { grid-template-columns:1fr; }
.pt-index__list { display:flex; gap:8px; max-height:none; overflow-x:auto; padding:3px 3px 10px; }
.pt-tour { width:auto; flex-shrink:0; max-width:260px; padding:10px 14px; border:1px solid #d7d9cf; border-radius:5px; }
.pt-tour.is-active { padding-left:14px; background:#e8ece5; box-shadow:none; border-color:#9bafa8; }
.pt-tour.is-active::after { content:none; }
.pt-stage { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:600px) {
.pt { padding:16px 0 48px; }
.pt-wrap { width:calc(100% - 44px); }
.pt h2 { font-size:29px; }
.pt-head__copy { margin-bottom:24px; }
.pt-destination-bar { grid-template-columns:1fr; gap:0; }
.pt-destinations { justify-items:start; }
.pt-upcoming { padding:16px 0 18px; }
.pt-upcoming ul { gap:4px 16px; }
.pt-destination { padding:14px 2px 18px; }
.pt-destination strong { font-size:16px; }
.pt-destination em { display:none; }
.pt-region-link { margin:4px 0 18px; }
.pt-stage { grid-template-columns:1fr; gap:24px; }
.pt-stage__visual { min-height:0; aspect-ratio:4 / 3; border-top-right-radius:48px; }
.pt-meter { padding:0; }
.pt-meter__mode { margin-bottom:20px; }
.pt-meter h3 { font-size:26px; }
.pt-meter__summary { margin-bottom:22px; font-size:14px; }
.pt-meter__price strong { font-size:36px; }
.pt-foot { margin-top:24px; }
}
@media (prefers-reduced-motion:reduce) {
.pt *,.pt-reveal { transition:none !important; }
.pt-reveal { opacity:1; transform:none; }
}

.pt-page-link { display:inline-flex; align-items:center; gap:24px; min-height:44px; margin:-12px 0 24px; color:#153f46; font-size:14px; font-weight:600; border-bottom:1px solid #b18a43; }
.pt-page-link:hover { color:#816332; }
.page-private-tours .pt { padding-top:52px; }
.pt button:focus-visible,.pt a:focus-visible,.pt input:focus-visible { outline:2px solid #816332; outline-offset:4px; }
