.detail-context{background:#f5f5f3;border-bottom:1px solid var(--color-border)}
.mobile-term-link{display:none}
.breadcrumbs{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-3);padding-block:var(--space-4);font-size:var(--text-xs);color:var(--color-muted)}
.breadcrumbs li+li::before{content:"/";margin-right:var(--space-3);color:#8a8b86}
.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{color:var(--color-primary);text-decoration:underline}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:var(--space-12);padding-block:var(--space-12) var(--space-16);align-items:start}
.detail-article{min-width:0}.detail-heading{border-bottom:1px solid #d5afaa;padding-bottom:var(--space-6);margin-bottom:var(--space-5)}
.detail-heading h1{font-size:clamp(2rem,1.6rem + 1.4vw,3rem);font-weight:400;line-height:1.2;margin-bottom:var(--space-3)}
.detail-subtitle{color:var(--color-muted);font-size:var(--text-lg);line-height:1.5}
.detail-date{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-6)}
.detail-date>span{color:var(--color-muted)}.detail-date strong{font-weight:600;color:var(--color-primary)}
.detail-image{margin-bottom:var(--space-6)}.detail-image img{width:100%;height:310px;object-fit:cover;object-position:center 48%}
.detail-image figcaption{font-size:var(--text-xs);color:var(--color-muted);padding-top:var(--space-2)}
.detail-intro{font-size:var(--text-lg);line-height:1.7;margin-bottom:var(--space-6)}
.detail-jumps{display:flex;gap:var(--space-6);border-block:1px solid var(--color-border);margin-bottom:var(--space-10);flex-wrap:wrap;padding-block:var(--space-2)}
.detail-jumps a{min-height:44px;display:flex;align-items:center;color:var(--color-primary);text-decoration:none;font-size:var(--text-sm);font-weight:600}
.detail-jumps a:hover{text-decoration:underline}
.detail-section{margin-bottom:var(--space-10);scroll-margin-top:var(--space-6)}
.detail-section h2{font-weight:400;font-size:var(--text-xl);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid #dcc4be}
.program-day{padding-left:var(--space-6);border-left:2px solid #e5d3ce;margin-bottom:var(--space-6)}
.program-day h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-3)}
.program-day h3 span{color:var(--color-primary);margin-right:var(--space-2)}
.program-day p{color:var(--color-text);line-height:1.8}
.service-list{list-style:none;display:grid;gap:var(--space-3);margin-bottom:var(--space-6)}
.service-list li{position:relative;padding-left:var(--space-6)}.service-list li::before{content:"";width:5px;height:5px;background:var(--color-primary);position:absolute;left:2px;top:.8em}
.excluded{background:#f5f5f3;padding:var(--space-5)}.excluded h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2)}.excluded p{color:var(--color-muted);font-size:var(--text-sm)}
.price-table>div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-6);border-bottom:1px solid var(--color-border);padding-block:var(--space-4)}
.price-table dt{font-size:var(--text-sm)}.price-table dd{font-size:var(--text-lg);color:var(--color-primary);font-weight:700;white-space:nowrap}
.child-prices{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-4)}
.price-caption{color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-3)}
.classic-note{margin-top:var(--space-6);font-weight:600;font-size:var(--text-sm)}
.detail-disclaimer{border-left:3px solid var(--color-primary);padding:var(--space-4) var(--space-5);background:#f8f3ef;margin-top:var(--space-6)}
.detail-disclaimer h3{font-size:var(--text-sm);margin-bottom:var(--space-2)}.detail-disclaimer p{font-size:var(--text-sm);color:var(--color-muted)}
.detail-return{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);border-top:1px solid var(--color-border);padding-top:var(--space-6)}
.detail-sidebar{gap:var(--space-6)}.booking-summary .module-body{padding:var(--space-5)}.booking-summary .sample-label{display:inline-block;white-space:normal;margin-bottom:var(--space-4)}
.trip-facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-5);margin-bottom:var(--space-5)}
.trip-facts dt{font-size:var(--text-xs);color:var(--color-muted)}.trip-facts dd{font-size:var(--text-sm);font-weight:600}
.departure-choice{border:0;min-width:0}.departure-choice legend{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-3)}
.departure-choice label{border:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);font-size:var(--text-sm);margin-bottom:var(--space-3);cursor:pointer;min-height:48px}
.departure-choice label:has(input:checked){border-color:var(--color-primary);background:#fcf7f5}
.departure-choice input{width:17px;height:17px;accent-color:var(--color-primary);flex-shrink:0}
.summary-price{padding-block:var(--space-3) var(--space-5);display:grid}.summary-price>span,.summary-price small{font-size:var(--text-xs);color:var(--color-muted)}
.summary-price strong{color:var(--color-primary);font-size:clamp(2rem,1.8rem + .6vw,2.5rem);line-height:1.4;font-weight:600}
.booking-summary .button{width:100%;gap:var(--space-2);font-size:var(--text-sm)}
.no-booking{font-size:var(--text-xs)!important;color:var(--color-muted);line-height:1.6;margin-top:var(--space-4);margin-bottom:0!important}
.detail-sidebar .phone{font-size:var(--text-xl)}
.not-found{padding-block:var(--space-16)}.not-found h1{font-size:var(--text-xl);max-width:30ch}.not-found p{margin-bottom:var(--space-6)}
.request-summary{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);border-block:1px solid var(--color-border);padding-block:var(--space-5);margin-bottom:var(--space-5)}
.request-summary dt{font-size:var(--text-xs);color:var(--color-muted)}.request-summary dd{font-size:var(--text-sm);font-weight:600}.request-summary>div:first-child{grid-column:1/-1}
@media(max-width:1050px){.detail-grid{grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-8)}.detail-jumps{gap:var(--space-4)}.detail-return{flex-direction:column;align-items:start}.detail-image img{height:270px}.detail-sidebar .phone{font-size:var(--text-lg)}}
@media(max-width:780px){.mobile-term-link{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:48px;border:1px solid var(--color-primary);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-primary);text-decoration:none;font-weight:600;margin-bottom:var(--space-6)}.detail-grid{grid-template-columns:1fr;padding-top:var(--space-8)}.detail-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start}.booking-summary{grid-column:1/-1}.booking-summary .module-body{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6)}.booking-summary .sample-label{grid-column:1/-1;justify-self:start;margin:0}.trip-facts{margin:0;padding-bottom:0;border:0}.departure-choice{grid-column:1;grid-row:3/6}.summary-price{grid-column:2;grid-row:2/4;padding-top:0}.booking-summary .button{grid-column:2;grid-row:4}.no-booking{grid-column:2;grid-row:5;margin-top:0}.detail-sidebar .catalog-module .module-body{display:block}.detail-sidebar .catalog-cover{width:180px;margin:0 auto var(--space-5)}.detail-return{flex-direction:row}.detail-image img{height:310px}}
@media(max-width:520px){.detail-context .wrap{width:calc(100% - var(--space-8))}.breadcrumbs{font-size:var(--text-xs);gap:var(--space-2);padding-block:var(--space-3)}.breadcrumbs li:last-child{flex-basis:100%}.breadcrumbs li:last-child:before{display:none}.detail-heading h1{font-size:clamp(2rem,9vw,2.5rem)}.detail-subtitle{font-size:var(--text-base)}.detail-date{gap:var(--space-2)}.detail-date strong{font-size:var(--text-sm)}.detail-image img{height:220px}.detail-jumps{column-gap:var(--space-4);row-gap:0}.detail-jumps a{font-size:var(--text-xs)}.detail-section h2{font-size:var(--text-xl)}.program-day{padding-left:var(--space-4)}.detail-return{flex-direction:column;align-items:stretch}.detail-return .button{width:100%}.detail-sidebar{grid-template-columns:1fr}.booking-summary{grid-column:auto}.booking-summary .module-body{display:block}.booking-summary .sample-label{margin-bottom:var(--space-4)}.trip-facts{padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5)}.summary-price{padding-top:var(--space-3)}.no-booking{margin-top:var(--space-4)}.detail-sidebar .phone{font-size:var(--text-xl)}.detail-sidebar .catalog-cover{width:190px}.price-table>div{gap:var(--space-3)}}
