.legal-page { max-width:48rem; }
.legal-page h1 { font-size:clamp(2.5rem,6vw,4rem); }
.legal-page h2 { margin-top:2rem; }

.experience-chat-launcher { align-items:center; animation:chat-launcher-pulse 3.5s ease-in-out infinite; border:2px solid #d9e6d8; display:inline-flex; font-size:1rem; gap:.55rem; padding:.9rem 1.25rem; transition:background .2s ease,transform .2s ease; }
.experience-chat-launcher:hover { background:#174d3a; transform:translateY(-.15rem) scale(1.03); }
.experience-chat-launcher:focus-visible { outline:3px solid #f3c969; outline-offset:3px; }
.experience-chat-launcher svg { fill:none; height:1.45rem; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; width:1.45rem; }
@keyframes chat-launcher-pulse { 0%,100% { box-shadow:0 .7rem 1.75rem rgb(23 54 46 / .32); }
 50% { box-shadow:0 .7rem 1.75rem rgb(23 54 46 / .32),0 0 0 .45rem rgb(47 109 82 / .16); }
 }
@media (prefers-reduced-motion:reduce) { .experience-chat-launcher { animation:none; transition:none; }
 }

.experience-chat__messages { align-content:start; gap:.35rem; }
.experience-chat__message { padding:.25rem; }

.experience-chat { height:min(48rem,calc(100vh - 2rem)); }
.experience-chat__messages { overscroll-behavior:contain; }

@media (max-width:48rem) { .experience-chat { height:calc(100vh - 1rem); }
 }

.experience-chat:not([hidden]) ~ .experience-chat-launcher { animation:none; background:transparent; border:0; bottom:calc(min(48rem,calc(100vh - 2rem)) - 3rem); box-shadow:none; color:#1f634a; font-size:1rem; padding:.25rem; right:1.5rem; top:auto; }
.experience-chat:not([hidden]) ~ .experience-chat-launcher:hover { background:transparent; transform:none; }
.experience-chat:not([hidden]) ~ .experience-chat-launcher svg { height:1.25rem; width:1.25rem; }
@media (max-width:48rem) { .experience-chat:not([hidden]) ~ .experience-chat-launcher { bottom:calc(100vh - 4rem); }
 }

.experience-chat:not([hidden]) { bottom:5.5rem; height:min(48rem,calc(100vh - 6.5rem)); }
.experience-chat:not([hidden]) ~ .experience-chat-launcher { animation:none; background:#1f634a; border:2px solid #d9e6d8; bottom:1rem; box-shadow:0 .7rem 1.75rem rgb(23 54 46 / .32); color:#fff; font-size:1rem; padding:.9rem 1.25rem; right:1rem; z-index:21; }
.experience-chat:not([hidden]) ~ .experience-chat-launcher:hover { background:#174d3a; transform:translateY(-.15rem) scale(1.03); }
@media (max-width:48rem) { .experience-chat:not([hidden]) { bottom:5rem; height:calc(100vh - 6rem); }
.experience-chat:not([hidden]) ~ .experience-chat-launcher { bottom:1rem; right:1rem; }
 }

.experience-chat-launcher { animation:none; }

.experience-chat-launcher__close { display:none; }
.experience-chat-launcher.is-open .experience-chat-launcher__group { display:none; }
.experience-chat-launcher.is-open .experience-chat-launcher__close { display:block; }

.experience-chat-launcher { justify-content:center; min-width:8rem; }

.experience-chat:not([hidden]) ~ .experience-chat-launcher { border:0; padding:.8rem 1.1rem; }

.experience-chat__date { align-items:center; color:#617169; display:flex; font-size:.75rem; font-weight:800; gap:.65rem; margin:.65rem 0 .25rem; text-align:center; }
.experience-chat__date::before,.experience-chat__date::after { background:#d8ddd5; content:""; flex:1; height:1px; }

.experience-chat-launcher__unread { align-items:center; background:#b35c30; border:2px solid #f8f7f2; border-radius:999px; color:#fff; display:flex; font-size:.72rem; font-weight:800; height:1.45rem; justify-content:center; line-height:1; min-width:1.45rem; padding:0 .24rem; position:absolute; right:-.45rem; top:-.45rem; }

.host-progress li.is-complete { color:#17362e; }
.host-progress li.is-complete::before { align-items:center; background:#1f634a; color:#fff; content:"✓"; display:flex; font-size:.55rem; justify-content:center; }

.experience-card h3 { margin-right:4rem; }

.my-experiences { margin:auto; max-width:var(--layout-width); }
.my-experiences__section { padding-top:clamp(3rem,6vw,5rem); }
.my-experiences__section + .my-experiences__section { border-top:1px solid #d8ddd5; margin-top:clamp(3rem,6vw,5rem); }
.my-experience-card { display:flex; flex-direction:column; }
.my-experience-card__capacity { color:#52635b; font-size:.9rem; margin-bottom:.65rem; }
.my-experience-card__status { color:#2f6d52 !important; font-size:.85rem; font-weight:800; margin-top:auto; }
.my-experience-card--dimmed { opacity:.62; }
.my-experience-card--cancelled { background:#fbefed; border-color:#dfbbb5; opacity:.72; }
.my-experience-card--cancelled .my-experience-card__status { color:#a44b43 !important; }
.my-experience-empty { display:flex; flex-direction:column; justify-content:center; }
.my-experience-empty .button { align-self:flex-start; margin-top:1rem; }

.experience-detail__state-cards { margin:1.5rem 0; }
.experience-detail__state-cards .experience-status-card { margin-top:0; }
