/* Keep buttons readable when their labels wrap, and retain a visible focus ring. */
.btn,.package-explore,.package-add,.travel-chat-send{
 min-height:46px;gap:.55rem;font-weight:700;line-height:1.35;text-align:center;
 white-space:normal;overflow-wrap:anywhere;touch-action:manipulation;
}
.btn:focus-visible,.package-explore:focus-visible,.package-add:focus-visible,.package-places-trigger:focus-visible,.dashboard-support:focus-visible{
 outline:2px solid currentColor;outline-offset:4px;
}
.btn:not(:disabled):active,.package-explore:active,.package-add:active{box-shadow:inset 0 0 0 2px currentColor}
.package-places-trigger{min-height:44px;text-align:left;line-height:1.35;text-decoration:underline;text-underline-offset:.22em}
.dashboard-sidebar .dashboard-support{display:inline-flex;width:100%;justify-content:center;grid-column:1/-1;font-size:13px}
.account-actions .trip-message{max-width:100%;margin:0}
.account-page~.floating.travel-chat-trigger{position:fixed;margin:0}
.account-page~.footer .footer-bottom{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
.tour-card :is(.tour-body,.card-bottom),.dashboard-content,.saved-trip,.trip-card-head>*{min-width:0}
.tour-card :is(h3,p),.trip-package-name,.trip-route,.dashboard-content dd{overflow-wrap:anywhere}
@media(max-width:700px){
 .account-actions{align-items:stretch;gap:10px}
 .account-actions :is(.btn,.trip-message){flex:1 1 180px}
 .travel-chat{bottom:calc(74px + env(safe-area-inset-bottom));max-height:calc(100dvh - 98px - env(safe-area-inset-bottom))}
 .field :is(input,select,textarea),.planner :is(input,select),.travel-chat-form textarea{font-size:16px}
 .hero-actions .btn,.cta .btn{max-width:100%}
}
@media(max-width:640px){
 .tour-card .tour-body h3{font-size:clamp(22px,4.5vw,24px)}
 .tour-card .tour-body>p:not(.route){font-size:13px;display:block}
 .tour-card .card-bottom{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .tour-card .package-explore,.tour-card .card-bottom .package-add{
  padding:8px 5px;font-size:11.5px;line-height:1.35;overflow-wrap:normal;
 }
}
@media(max-width:360px){
 .hero-cinematic .hero-copy{min-width:0}
 .hero-cinematic h1{overflow-wrap:anywhere}
}

/* The default palette remains the same until an administrator publishes colors. */
:root[data-custom-theme]{
 --paper:var(--theme-paper);--ink:var(--theme-ink);--gold:var(--theme-accent);
}
[data-custom-theme] :is(.site-header,.header,.nav-wrap,.navlinks.open){background-color:var(--theme-paper)}
[data-custom-theme] :is(.topbar,.how,.price-card.featured,.floating,.dashboard-stats>a:nth-child(2),.filter[aria-pressed=true],.travel-chat-header,.travel-chat-send),
[data-custom-theme] .btn:not(.outline,.light,.gold){
 background-color:var(--theme-primary);color:var(--theme-on-primary);border-color:var(--theme-primary);
}
[data-custom-theme] :is(.how,.price-card.featured,.travel-chat-header) :is(p,small,.checklist,.how-step>span,.eyebrow){color:var(--theme-on-primary)}
[data-custom-theme] :is(.btn.gold,.hero-cinematic .hero-actions .btn,.tour-card .card-bottom .package-add,.cta,.round-label,.profile-avatar,.cart-nav span){
 background-color:var(--theme-accent);color:var(--theme-on-accent);border-color:var(--theme-accent);
}
[data-custom-theme] :is(.cta p,.cta em,.cta .eyebrow){color:var(--theme-on-accent)}
[data-custom-theme] :is(.page-intro em,.section-head em,.story-content em){color:var(--theme-accent-text)}

[data-custom-theme] body{background-color:var(--theme-paper);color:var(--theme-ink)}
[data-custom-theme] .message .button:not(.outline){background-color:var(--theme-primary);color:var(--theme-on-primary);border-color:var(--theme-primary)}
[data-custom-theme] .message .button.outline{color:var(--theme-ink);border-color:var(--theme-ink)}
