/* AilvSpace 4.5 — shared rhythm, accessible controls and one quote per programme. */
.travel-app{--surface:#fff;--ink:#172d46;--muted:#68798a;--line:#e3e9ef;--accent:#145ed6;font-family:Inter,Aptos,"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:var(--ink);line-height:1.65;background:#f5f7fa}
.travel-app *, .travel-app *:before,.travel-app *:after{box-sizing:border-box}
.travel-app h1,.travel-app h2,.travel-app h3{font-weight:680;text-wrap:pretty}
html[lang=en] .travel-app h1,html[lang=en] .travel-app h2{letter-spacing:-.035em}
.travel-app input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.travel-app select,.travel-app textarea{font-family:inherit;max-width:100%;border-radius:9px;border-color:#d7e0e9;transition:border-color .15s,box-shadow .15s}
.travel-app input:focus-visible,.travel-app select:focus-visible,.travel-app textarea:focus-visible{outline:2px solid #1765d8;outline-offset:2px;box-shadow:0 0 0 4px #1765d810}
.travel-app .btn{font-family:inherit;letter-spacing:0;font-weight:600}
.travel-app .section-head{gap:18px}
.travel-app .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:12px}
.travel-app th{font-size:12px;font-weight:600;color:#617487;background:#f4f7fb}
.travel-app td{font-size:13px;line-height:1.7}
.travel-app .notice,.travel-app .empty{line-height:1.8}
.travel-app .shared-price{border:1px solid #f3e5d9;background:#fff9f3;border-radius:12px;padding:17px 19px;min-width:0}
.shared-price-label{font-size:12px;color:#82654d;display:flex;align-items:center;gap:8px;line-height:1.5}
.shared-price-label>span{font-size:10px;letter-spacing:.05em;color:#9b8a7c}
.shared-price-amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-top:5px;line-height:1.4}
.shared-price-amount strong{font-size:30px;font-weight:720;color:#d65a18;font-variant-numeric:tabular-nums;letter-spacing:-.035em;overflow-wrap:anywhere}
.shared-price-amount>span{font-size:11px;color:#8b7668}
.shared-price-note{font-size:11px;color:#816f60;line-height:1.7;margin:7px 0 0}
.travel-product-page .shared-price-note{font-size:12px;line-height:1.7;margin:8px 0 0}
.shared-price.is-unpriced .shared-price-amount strong{font-size:23px;letter-spacing:0}
.shared-price.has-range .shared-price-amount strong{font-size:27px}
.travel-schedules-page .schedule-product-price{width:260px;align-self:center;display:flex;flex-direction:column;gap:8px}
.schedule-product-price .shared-price{padding:12px 15px}
.schedule-product-price .shared-price-amount strong{font-size:25px}
.schedule-product-price .shared-price.has-range .shared-price-amount strong{font-size:23px}
.schedule-product-price>.text-link{font-size:12px;text-align:right;padding:2px 3px;color:#315e95}
.travel-schedule-copy,.travel-schedule-copy h2,.travel-schedule-copy h2 a{min-width:0;overflow-wrap:anywhere;word-break:normal}
.travel-schedules-page .travel-schedule-card .date-chip{min-height:82px;justify-content:center;border-top-width:1px;background:#fff;padding:12px 14px;position:relative}
.travel-schedule-card .date-chip b{font-size:13px}
.travel-schedule-card .date-chip span{font-size:11px}
.travel-schedules-page .travel-schedule-card .date-chip.state-open{background:#f8fbff;border-color:#d8e5f6}
.travel-schedules-page .travel-schedule-card .date-chip.state-open:hover{border-color:#1765d8;background:#eef5ff}
.travel-product-page .product-date-card{border-top-width:1px;border-left:3px solid var(--state,#1765d8);min-height:100px}
.travel-product-page .product-date-card>div:first-child>strong{font-size:16px}
.travel-product-page .product-date-card small{font-size:12px}
.travel-bookbar-context{margin-right:auto;min-width:0;line-height:1.5}
.travel-bookbar-context small{display:block;color:#7d8da0;font-size:10px;letter-spacing:.06em}
.travel-bookbar-context strong{display:block;color:#203e5d;font-size:16px;font-weight:600}
.travel-product-page .travel-detail-summary .shared-price{margin-top:18px}
.brief-hero .shared-price{max-width:560px;margin:22px 0}
.travel-app .brief-date{grid-template-columns:minmax(0,1fr) auto}
.travel-app .brief-sheet{background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:26px;margin-bottom:26px}
.travel-app .booking-summary{border-radius:14px;border:1px solid #dce7f3;background:linear-gradient(120deg,#f0f6ff,#fff);gap:24px;padding:24px}
.travel-app [data-booking-form]{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin-top:24px}
.travel-app [data-booking-form] .readonly{background:#f6f8fb;border:0;border-radius:10px;padding:16px}
.travel-app .form-extra{border-radius:10px;border-color:var(--line)}
.travel-app .flash-wrap{max-width:1200px;margin-inline:auto;padding-inline:24px}
@media(max-width:1000px){.travel-schedules-page .schedule-product-price{width:225px}}
@media(max-width:760px){
 .travel-app .section-head{gap:12px}
 .travel-app .shared-price{padding:15px 16px;border-radius:10px}
 .shared-price-amount strong{font-size:28px}.shared-price.has-range .shared-price-amount strong{font-size:24px}
 .shared-price-note{font-size:11px}.shared-price-label{font-size:11px}
 .travel-schedules-page .schedule-product-price{width:100%;display:block}
 .schedule-product-price>.text-link{display:none}
 .schedule-product-price .shared-price{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 14px}
 .schedule-product-price .shared-price-label{align-self:center}
 .schedule-product-price .shared-price-amount{margin:0;justify-content:flex-end}
 .schedule-product-price .shared-price-note{grid-column:1/-1;margin:0}
 .schedule-product-price .shared-price-amount strong,.schedule-product-price .shared-price.has-range .shared-price-amount strong{font-size:22px}
 .travel-schedules-page .travel-schedule-card .date-chip{min-height:82px;padding:11px}
 .travel-schedule-card .date-chip b{font-size:12px}.travel-schedule-card .date-chip span{font-size:10px}
 .travel-product-page .product-date-card{min-height:96px}
 .travel-bookbar-context strong{font-size:13px}.travel-bookbar-context small{font-size:9px}
 .travel-product-page .travel-product-bookbar.is-unpriced .travel-bookbar-context{max-width:none}
 .travel-app .brief-sheet{border-radius:0;margin:0;border:0}
 .travel-app .booking-summary{padding:18px;gap:15px}
 .travel-app [data-booking-form]{padding:18px;margin-top:16px;border-radius:12px}
 .travel-app .flash-wrap{padding-inline:14px}
}
@media(max-width:360px){.schedule-product-price .shared-price{grid-template-columns:1fr}.schedule-product-price .shared-price-amount{justify-content:flex-start}.shared-price.has-range .shared-price-amount strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.travel-app input,.travel-app select,.travel-app textarea{transition:none}}
@media print{.travel-app .shared-price{background:#fff;border-color:#ccc;break-inside:avoid}.travel-app .brief-sheet{border:0;margin:0}.travel-app [data-booking-form]{border:0}}
