.tour-content{--tour-blue:var(--blue);--tour-rule:var(--line)}
.itinerary-confirmation{margin:0 0 24px;padding:20px 23px;background:#edf8fe;border:1px solid #cbe8f8;border-left:3px solid var(--cyan);border-radius:8px;font-size:12px;line-height:1.8;color:#456a84}
.itinerary-confirmation h2{font:650 12px/1.5 var(--body);color:var(--navy);margin:0 0 12px}
.itinerary-confirmation p{margin:0 0 9px}
.itinerary-confirmation a{font-weight:650;color:var(--blue)}
.source-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.source-gallery-grid figure{margin:0}
.source-gallery-grid a{display:block}
.tour-content .source-gallery-grid img{width:100%;aspect-ratio:3/2;object-fit:cover;margin:0;max-height:none;border-radius:8px}
.tour-section-tabs{margin:30px 0}
.tour-tab-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--tour-rule);border-bottom:0;border-radius:9px 9px 0 0;overflow:hidden}
.tour-tab-controls button{padding:17px 14px;min-height:55px;border:0;border-top:3px solid transparent;background:#eff6fb;color:#56728a;text-align:center;font:650 12px/1.5 var(--body)}
.tour-tab-controls button+button{border-left:1px solid var(--tour-rule)}
.tour-tab-controls button[aria-selected='true']{border-top-color:var(--cyan);background:white;color:var(--blue)}
.tour-tab-controls button:hover{color:var(--blue)}
.tour-section-tabs.is-enhanced .tour-tab-panel{border:1px solid var(--tour-rule);padding:25px;border-radius:0 0 9px 9px}
.tour-section-tabs.is-enhanced .tour-panel-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tour-tab-panel{scroll-margin-top:115px}
.tour-inclusion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.tour-inclusion-section{min-width:0}
.tour-inclusion-section>h3:first-child,.tour-inclusion-section>p:first-child{font:650 18px/1.5 var(--heading);margin:0 0 16px;color:var(--navy)}
.tour-inclusion-section ul{margin:0;padding-left:20px}
.tour-inclusion-section li{font-size:15px;line-height:1.8;margin:0 0 10px}
.tour-included li::marker{color:var(--blue)}
.tour-excluded li::marker{color:#718596}
.tour-day-index{padding:13px;background:#f3f9fd;border:1px solid var(--tour-rule);border-radius:8px;margin:18px 0}
.tour-day-index ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.tour-day-index li{margin:0}
.tour-day-index a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 12px;background:white;border:1px solid var(--tour-rule);border-radius:5px;color:var(--blue);font-size:11px;text-decoration:none}
.tour-day-index a:hover{border-color:var(--cyan);background:#e7f6fe}
.tour-day-actions{display:flex;flex-wrap:wrap;gap:18px;justify-content:flex-end;margin:15px 0}
.tour-day-actions button{min-height:40px;padding:4px 0;border:0;background:none;color:var(--blue);text-decoration:underline;text-underline-offset:3px;font-size:11px}
.tour-content .tour-day{padding:0;margin:12px 0;border:1px solid var(--tour-rule);border-radius:8px;overflow:hidden;background:white;scroll-margin-top:115px}
.tour-day summary{position:relative;display:flex;align-items:flex-start;gap:14px;list-style:none;padding:18px;color:var(--navy);font-family:var(--heading);font-size:15px;line-height:1.65;font-weight:650;cursor:pointer}
.tour-day summary::-webkit-details-marker{display:none}
.tour-day summary::before{content:'+';display:inline-flex;flex:none;align-items:center;justify-content:center;width:25px;height:25px;margin-top:1px;border-radius:50%;background:#e7f5fd;color:var(--blue);font:500 19px/1 Arial,sans-serif}
.tour-day[open]>summary::before{content:'−';background:var(--blue);color:white}
.tour-day summary:hover,.tour-day[open]>summary{color:var(--blue);background:#f3faff}
.tour-content .tour-day summary h2,.tour-content .tour-day summary h3,.tour-content .tour-day summary h4,.tour-content .tour-day summary h5,.tour-content .tour-day summary h6{margin:0;font:inherit;color:inherit}
.tour-day summary strong{font-weight:650}
.tour-day-body{padding:8px 23px 13px 57px}
.tour-day-body p{line-height:1.85;font-size:15px}
.tour-day-body p:last-child{margin-bottom:12px}
.tour-program-panel>p:first-of-type{margin-top:0}
.tour-identity{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.tour-professional-hero h1{max-width:680px;font-size:clamp(2rem,3.1vw,3rem)}
.tour-professional-hero .programme-kind{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--navy);font-weight:600}
.tour-professional-hero .tour-lead{font-size:16px;line-height:1.8}
.tour-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}
.tour-fact-grid>div{padding:14px 16px;background:#ffffffc9;border:1px solid #cfdfea;border-radius:10px;min-width:0}
.tour-fact-grid dt{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:500;margin-bottom:6px}
.tour-fact-grid dt i{color:var(--blue)}
.tour-fact-grid dd{margin:0;font-size:14px;line-height:1.6;color:var(--navy);font-weight:600}
.tour-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.tour-professional-hero .tour-hero-visual{border-radius:20px;box-shadow:0 24px 60px #11355416}
.tour-professional-hero .tour-hero-visual img{height:490px}
.tour-route-illustration{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;min-height:460px;overflow:hidden;border:1px solid #c4dbe9;border-radius:20px;padding:45px;background:radial-gradient(circle at 90% 8%,#2daae138,transparent 52%),linear-gradient(150deg,#113554,#164b73);color:white}
.tour-route-illustration::before,.tour-route-illustration::after{content:'';position:absolute;width:350px;height:350px;border:1px solid #ffffff21;border-radius:50%;right:-135px;bottom:-130px;pointer-events:none}
.tour-route-illustration::after{width:430px;height:430px;right:-175px;bottom:-170px}
.tour-art-kicker{font-size:11px;letter-spacing:.12em;color:#d8efff;font-weight:600}
.tour-route-illustration>i{font-size:42px;color:#8edcff}
.tour-art-title{font:600 30px/1.3 var(--heading);position:relative;z-index:1;max-width:320px}
.tour-art-places{display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:1}
.tour-art-places span{padding:8px 12px;border:1px solid #ffffff45;background:#ffffff0c;border-radius:7px;font-size:12px;line-height:1.5}
.tour-visual-wrap>.route-art,.tour-visual-wrap>.tour-route-art{min-height:460px;border-radius:20px;overflow:hidden}
.tour-page .tour-jump nav{flex-wrap:wrap;gap:8px 24px;padding:15px 0}
.tour-page .tour-jump a{min-height:44px;font-size:13px;color:var(--navy)}
.tour-page .tour-jump a:hover{color:var(--blue)}
.tour-jump i{color:var(--blue)}
.tour-standard-panel{padding:30px;background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:34px;color:var(--ink);font-size:15px;line-height:1.85}
.tour-standard-panel h2,.tour-section-heading h2,.tour-contact-intro h2{font-size:clamp(1.5rem,2.2vw,1.85rem);color:var(--navy);margin:0 0 18px;line-height:1.35}
.tour-standard-panel p{margin-bottom:18px}
.tour-section-label{color:var(--blue);font-size:11px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;margin:0 0 12px!important}
.tour-small-title{font-size:15px;line-height:1.6;margin:25px 0 15px;color:var(--navy)}
.tour-route-sequence{display:flex;flex-wrap:wrap;gap:12px;counter-reset:tour-place;list-style:none;padding:0;margin:0}
.tour-route-sequence li{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;background:#f1f7fc;border:1px solid #dbe8f2;border-radius:9px;color:var(--navy);font-size:13px;line-height:1.65;max-width:100%}
.tour-route-sequence li::before{counter-increment:tour-place;content:counter(tour-place);display:flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;background:var(--blue);color:white;border-radius:50%;font-size:11px;font-weight:600}
.tour-route-places li::before{content:'';width:8px;height:8px;margin:7px 2px 0;border-radius:50%;background:var(--blue)}
.tour-highlight-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.tour-highlight-list li{display:flex;gap:12px;align-items:flex-start}
.tour-highlight-list i{margin-top:7px;font-size:12px;color:var(--blue)}
.tour-programme-section{margin-bottom:34px;scroll-margin-top:115px}
.tour-section-heading{margin:0 0 22px}
.tour-section-heading>p:last-child{color:var(--muted);font-size:15px;line-height:1.8}
.tour-page .tour-content-card{padding:30px;border-radius:14px}
.tour-content-card .tour-content>h2:first-child{margin-top:0}
.tour-page .itinerary-confirmation{font-size:14px;line-height:1.8;color:var(--ink);padding:20px 22px}
.tour-page .itinerary-confirmation h2{font-size:14px}
.tour-page .tour-tab-controls button{font-size:14px;min-height:56px;color:var(--muted)}
.tour-page .tour-tab-controls button[aria-selected='true']{color:var(--blue)}
.tour-page .tour-day-index a,.tour-page .tour-day-actions button{font-size:12px;min-height:44px}
.tour-page .tour-day summary{font-size:16px;min-height:64px;padding:19px}
.tour-page .tour-day-body{padding:9px 24px 15px 58px}
.tour-page .tour-day-body p{font-size:15px;line-height:1.9}
.tour-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:23px}
.tour-service-box{min-width:0;padding:23px 21px;border:1px solid var(--line);border-radius:11px;background:#f8fbfd}
.tour-service-box h3{display:flex;align-items:flex-start;gap:11px;font-size:17px;line-height:1.5;margin:0 0 18px;color:var(--navy)}
.tour-service-box h3 i{margin-top:5px;font-size:14px;color:var(--blue)}
.tour-service-box ul,.tour-practical-notes ul,.tour-booking-notes{padding-left:20px;margin:0}
.tour-service-box li,.tour-practical-notes li,.tour-booking-notes li{margin-bottom:11px;line-height:1.8;font-size:14px}
.tour-service-box li:last-child,.tour-practical-notes li:last-child,.tour-booking-notes li:last-child{margin-bottom:0}
.tour-service-box li::marker{color:var(--blue)}
.tour-service-excluded{background:#f7f8fa}
.tour-service-excluded h3 i,.tour-service-excluded li::marker{color:var(--muted)}
.tour-service-box>p{font-size:14px;line-height:1.9;margin:0;color:var(--ink)}
.tour-practical-notes{margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}
.tour-practical-notes h3{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:18px;margin:0 0 16px}
.tour-booking-panel{background:linear-gradient(145deg,#f4faff,#fff);margin-bottom:0}
.tour-booking-notes{margin:0 0 20px}
.tour-policy-links{display:grid;gap:10px;margin:22px 0}
.tour-policy-links a{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid #cee1ee;border-radius:8px;background:white;text-decoration:none;color:var(--blue);font-size:13px;font-weight:600;min-height:48px}
.tour-policy-links a i:last-child{margin-left:auto;font-size:11px}
.tour-policy-links a span{min-width:0;flex:1;overflow-wrap:anywhere}
.tour-policy-links a i{flex:none}
.tour-page .inquiry-card{border-radius:14px}
.tour-page .inquiry-card p{font-size:14px;line-height:1.85}
.tour-page .inquiry-card .section-kicker{font-size:11px}
.tour-sidebar-contacts{display:grid;gap:5px}
.tour-page .sidebar-contact{display:flex;align-items:flex-start;gap:12px;padding:12px 0;font-size:13px}
.sidebar-contact>i{font-size:19px;flex:none;margin-top:4px;color:#a0e4ff}
.sidebar-contact span{min-width:0}
.sidebar-contact small{display:block;margin-top:2px;font-size:12px;color:#d8eaf7;overflow-wrap:anywhere}
.tour-page .license{font-size:11px;line-height:1.75}
.tour-sidebar-note{display:flex;align-items:flex-start;gap:13px;padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--muted)}
.tour-sidebar-note i{margin-top:5px;color:var(--blue);font-size:20px}
.tour-sidebar-note p{margin:0;font-size:13px;line-height:1.85}
.tour-gallery-caption{font-size:12px;color:var(--muted);line-height:1.75;padding:10px 2px 0}
.tour-contact-section{border-top:1px solid var(--line)}
.tour-contact-intro{padding-top:8px}
.tour-contact-intro>p:not(.tour-section-label){color:var(--muted);font-size:15px;line-height:1.85}
.tour-contact-options{display:grid;gap:12px;margin-top:26px}
.tour-contact-options>a{display:flex;align-items:flex-start;gap:14px;min-height:75px;padding:17px 18px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--navy);font-size:14px;font-weight:600;text-decoration:none}
.tour-contact-options>a:hover{border-color:var(--blue);color:var(--blue)}
.tour-contact-options>a>i:first-child{font-size:23px;line-height:1.4;color:var(--blue);width:24px;flex:none}
.tour-contact-options>a>i:last-child:not(:first-child){margin-left:auto;font-size:12px;line-height:2}
.tour-contact-options small{display:block;font-size:12px;line-height:1.7;margin-top:3px;font-weight:400;color:var(--muted);overflow-wrap:anywhere}
.tour-contact-options span{min-width:0}
.tour-page .contact-form-card{border:1px solid var(--line)!important;box-shadow:0 12px 40px #11355408;border-radius:14px}
@media(max-width:991.98px){.tour-professional-hero .tour-hero-visual img{height:390px}.tour-route-illustration,.tour-visual-wrap>.route-art,.tour-visual-wrap>.tour-route-art{min-height:350px}.tour-sidebar-inner{position:static!important}.tour-sidebar-note{margin-bottom:10px}}
@media(max-width:575.98px){.tour-professional-hero h1{font-size:1.95rem}.tour-fact-grid{gap:9px}.tour-fact-grid>div{padding:12px}.tour-fact-grid dd{font-size:13px}.tour-hero-actions .btn{width:100%}.tour-professional-hero .tour-hero-visual img{height:300px}.tour-route-illustration{min-height:320px;padding:30px}.tour-art-title{font-size:26px}.tour-standard-panel,.tour-page .tour-content-card{padding:23px 18px}.tour-standard-panel{margin-bottom:26px}.tour-service-grid{grid-template-columns:1fr;gap:14px}.tour-service-box{padding:20px 18px}.tour-page .tour-jump nav{gap:3px 18px}.tour-page .tour-jump a{font-size:12px}.tour-page .tour-day summary{font-size:15px;padding:17px 13px}.tour-page .tour-day-body{padding:8px 16px 12px}.tour-page .itinerary-confirmation{padding:18px}.tour-gallery-caption{font-size:11px;line-height:1.7}.tour-contact-options>a{min-height:72px}}
@media(max-width:700px){.tour-tab-controls button{font-size:11px;padding:14px 10px}
.tour-section-tabs.is-enhanced .tour-tab-panel{padding:19px 15px}
.tour-inclusion-grid{grid-template-columns:1fr;gap:24px}
.tour-day-index{padding:10px}
.tour-day-index a{padding:7px 10px;min-height:44px}
.tour-day-actions{justify-content:flex-start;gap:22px}
.tour-day-actions button{min-height:44px}
.tour-day summary{font-size:14px;padding:15px 12px;gap:11px}
.tour-day-body{padding:6px 16px 10px}
.source-gallery-grid{gap:10px}
.itinerary-confirmation{padding:17px}
}
