/* Shared navigation and visual system for the travel workspace. */
:root {
  --atlas-ink: #10283e;
  --atlas-muted: #486075;
  --atlas-line: #d5e2e9;
  --atlas-blue: #075579;
  --atlas-sky: #e8f4fa;
  --atlas-orange: #ffaf70;
  --atlas-paper: #f4f8fa;
}
:is(button,a,input,select,textarea,summary):focus-visible {
  outline: 3px solid #cc611e;
  outline-offset: 3px;
}
@font-face {
  font-family: TripmateMenu;
  src: url("../fonts/EuclidSquare-Regular.woff") format("woff");
  font-display: swap;
}
#journey-menu.immersive-menu { font-family: TripmateMenu, Arial, sans-serif; }
.menu-links .menu-label { font-weight: inherit; }
@media (prefers-reduced-motion: reduce) {
  #journey-menu .menu-film { animation: none; }
}
.tour-header { position: relative; }
.studio-header .menu-button,.studio-header .menu-button.is-floating { min-width: 44px; min-height: 44px; background: white; border-color: var(--atlas-line); color: var(--atlas-ink); }
/* Page headings and working surfaces. */
body[data-screen],body:has(.route-hero),body.tour-page {
  --ink: var(--atlas-ink); --muted: var(--atlas-muted); --line: var(--atlas-line);
  --purple: var(--atlas-blue); --green: var(--atlas-blue); --background: var(--atlas-paper); --surface: white;
  color: var(--atlas-ink); background: var(--atlas-paper); font-family: system-ui,sans-serif;
}
.studio-header,.tour-header { background: white; border-bottom-color: var(--atlas-line); }
.studio-main .page-intro,body[data-screen="chat"] .page-intro,.tour-intro {
  box-sizing: border-box; position: relative; isolation: isolate; overflow: hidden; max-width: none; width: 100%; padding: clamp(22px,3vw,46px);
  border-radius: 22px; color: white; background: linear-gradient(95deg,#10283efc 5%,#10283eee 38%,#10283e73 78%), var(--atlas-photo) center 52%/cover;
}
body[data-screen="plan"] { --atlas-photo: url("../images/da-nang-my-khe.jpg"); }
body[data-screen="saved"] { --atlas-photo: url("../images/ma-pi-leng.jpg"); }
body[data-screen="chat"] { --atlas-photo: url("../images/hoi-an.png"); }
.studio-main .page-intro h1,body[data-screen="chat"] .page-intro h1,.tour-intro h1 { margin: 7px 0; color: white; font: 650 clamp(32px,3.8vw,60px)/1.14 system-ui,sans-serif; letter-spacing: -.045em; }
.studio-main .page-intro .overline,body[data-screen="chat"] .page-intro .overline,.tour-intro .tour-kicker { color: #ffbc88; font-size: .72rem; font-weight: 700; letter-spacing: .14em; }
.studio-main .page-intro p,body[data-screen="chat"] .page-intro p,.tour-intro > p:last-child { color: #eff7fa; max-width: 580px; font-size: .96rem; line-height: 1.55; }
.studio-main .page-intro .new-trip { border-radius: 99px; border: none; min-height: 44px; padding-inline: 17px; background: white; color: var(--atlas-ink); }
.studio-grid .panel,.saved-tile,.route-layout .panel { background: white; border: 1px solid var(--atlas-line); border-radius: 18px; box-shadow: 0 5px 20px #10283e08; }
.request-panel summary { background: var(--atlas-sky); border-radius: 17px; }
.request-panel[open] summary { border-radius: 17px 17px 0 0; }
.request-panel .field input,.request-panel .field select,.request-panel .field textarea { border-color: #b8cbd5; background: white; color: var(--atlas-ink); border-radius: 9px; }
.studio-main .button.primary,.studio-main .saved-actions button:first-child,.empty-library button { min-height: 44px; background: var(--atlas-blue); color: white; border: 0; border-radius: 10px; }
.studio-main .button.primary:hover,.tour-grid a:hover { background: var(--atlas-ink); }
.destination-cover,.route-hero { border-radius: 20px; overflow: hidden; }
.studio-main .itinerary-toolbar { flex-wrap: wrap; gap: 10px; }
.studio-main .view-tabs,.studio-main .day-tabs { gap: 5px; }
.studio-main .day-tabs button,.studio-main .view-tabs button,.tour-shortcut { min-height: 44px; }
.studio-main .view-tabs button { padding-inline: 12px; font-size: .85rem; }
.studio-grid .field,.studio-grid legend,.studio-grid .budget-brief > div { font-size: .83rem; }
.studio-grid .form-footnote,.studio-grid .draft-label,.studio-grid .caption { font-size: .75rem; line-height: 1.5; }
.studio-main .day-tabs button.active,.studio-main .view-tabs button.selected { background: var(--atlas-blue); color: white; border-radius: 9px; }
#day-content .activity-card { border-color: var(--atlas-line); box-shadow: 0 3px 12px #10283e06; }
#day-content .activity-icon,.route-day .day-marker { background: var(--atlas-sky); color: var(--atlas-blue); }
#day-content .activity-time,.stop-details dt,.tour-shortcut { color: var(--atlas-blue); }
body[data-screen="chat"] .assistant-panel,body[data-screen="chat"] .chat-context { background: white; border-color: var(--atlas-line); }
body[data-screen="chat"] .assistant-top { background: var(--atlas-ink); }
body[data-screen="chat"] .assistant-top h2 { color: white; }
body[data-screen="chat"] .assistant-top p { color: #dbeaf3; }
body[data-screen="chat"] .assistant-avatar { border-radius: 12px; background: var(--atlas-orange); color: var(--atlas-ink); }
body[data-screen="chat"] .chat-bubble { background: #edf5f9; color: var(--atlas-ink); }
body[data-screen="chat"] .chat-bubble.user,body[data-screen="chat"] #studio-chat-form button { background: var(--atlas-blue); color: white; }
body[data-screen="chat"] .quick-questions button { background: white; color: var(--atlas-blue); border-color: var(--atlas-line); }
body[data-screen="chat"] #studio-chat-form { background: #f6fafc; border-color: #92b1c1; }
.saved-heading { color: var(--atlas-muted); }
.studio-saved .empty-library { background: white; color: var(--atlas-muted); border: 1px dashed #abc3d0; border-radius: 20px; }
.studio-saved .empty-library h3,.saved-body h3 { color: var(--atlas-ink); }
.studio-saved .empty-library > span { color: var(--atlas-blue); }
.route-hero:after { background: linear-gradient(90deg,#10283ee6,#10283e45); }
.route-days a,.route-back { color: var(--atlas-blue); }
.tour-page { --atlas-photo: url("../images/Vinh-ha-long.jpg"); }
.tour-header { width: 100%; padding-inline: 5%; }
.tour-main { padding-top: clamp(18px,2vw,32px); }
.tour-intro { margin-bottom: 24px; }
.tour-intro h1 { font-size: clamp(42px,5vw,76px); }
.tour-grid article { border-color: var(--atlas-line); box-shadow: 0 4px 20px #10283e08; }
.tour-grid .tour-kicker,.tour-main footer a { color: var(--atlas-blue); }
.tour-grid article div > p:not(.tour-kicker) { color: var(--atlas-muted); }
.tour-grid a { color: white; background: var(--atlas-blue); }
.tour-brand { color: var(--atlas-ink); }
.home-plan-link { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 16px; margin-top: 8px; border-radius: 99px; font: 650 14px/1 system-ui,sans-serif; background: var(--atlas-orange); color: #152638; text-decoration: none; }
.is-home .home-kicker { color: white; }
.is-explore .tripBlock__introWrapper .back-button,.is-explore .tripTextItem__wrapper button { background: var(--atlas-ink); color: white; border-radius: 99px; min-height: 44px; padding-inline: 16px; }
@media(max-width: 740px) {
  .studio-main .page-intro { gap: 14px; align-items: start; }
  body[data-screen="chat"] .page-intro { padding: 10px 16px; border-radius: 14px; }
  body[data-screen="chat"] .page-intro h1 { font-size: 25px; }
  .tour-header { padding: 12px 5%; }
  .home-plan-link { margin-top: 6px; }
  body.is-explore .site-header { background: #f4f8faf5; color: var(--atlas-ink); }
}
