.host-page { min-height:100vh; }
.host-flow { display:grid; grid-template-columns:minmax(17rem,.7fr) minmax(0,1.35fr); margin:auto; max-width:var(--layout-width); min-height:calc(100vh - 5.25rem); padding-inline:clamp(1.25rem,4vw,3rem); }
.host-flow__sidebar { border-right:1px solid #d8ddd5; padding:clamp(2rem,6vw,5rem) clamp(1.5rem,4vw,4rem) 2rem 0; }
.host-flow__sidebar h1 { font-size:clamp(2.3rem,4vw,4.4rem); max-width:8ch; }
.host-progress { display:grid; gap:.75rem; list-style:none; margin:3rem 0 0; padding:0; }
.host-progress li { color:#617169; font-weight:700; padding-left:1.75rem; position:relative; }
.host-progress li::before { background:#d8ddd5; border-radius:50%; content:""; height:.65rem; left:0; position:absolute; top:.42rem; width:.65rem; }
.host-progress li.is-current { color:#17362e; }
.host-progress li.is-current::before { background:#1f634a; box-shadow:0 0 0 .3rem rgb(31 99 74 / 15%); }
.host-flow__content { align-self:center; margin:auto; max-width:46rem; padding:clamp(2rem,7vw,6rem) 0 clamp(2rem,7vw,6rem) clamp(1.5rem,4vw,4rem); width:100%; }
.host-state { background:#fff; border:1px solid #e2e5df; border-radius:1rem; padding:clamp(1.5rem,5vw,3rem); }
.host-state h2,.host-step h2 { font-size:clamp(2rem,4vw,3.4rem); margin-bottom:1rem; max-width:12ch; }
.host-state p,.host-step__intro { color:#52635b; font-size:1.05rem; max-width:40rem; }
.host-step { animation:host-step-in .2s ease-out; }
.host-step label { display:grid; font-size:1rem; font-weight:800; gap:.45rem; margin-top:1.25rem; }
.host-step input:not(.date-time-input),.host-step textarea { background:#fff; border:1px solid #bdc9c1; border-radius:.65rem; color:#17362e; font:inherit; font-weight:400; min-height:3rem; padding:.75rem .9rem; width:100%; }
.host-step textarea { min-height:8rem; resize:vertical; }
.host-step input:focus,.host-step textarea:focus { border-color:#1f634a; outline:3px solid rgb(31 99 74 / 15%); }
.experience-type-grid { display:grid; gap:.85rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:2rem; }
.experience-type-card { align-items:flex-start; background:#fff; border:1px solid #d8ddd5; border-radius:1rem; color:#17362e; cursor:pointer; display:flex; font:inherit; gap:.9rem; padding:1rem; text-align:left; transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease; }
.experience-type-card:hover { border-color:#2f6d52; transform:translateY(-2px); }
.experience-type-card.is-selected { border-color:#1f634a; box-shadow:0 0 0 3px rgb(31 99 74 / 15%); }
.experience-type-card__icon { align-items:center; background:#d9e6d8; border-radius:.75rem; display:flex; flex:0 0 auto; height:2.7rem; justify-content:center; width:2.7rem; }
.experience-type-card__icon svg { fill:none; height:1.5rem; stroke:#1f634a; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:1.5rem; }
.experience-type-card strong,.experience-type-card small { display:block; }
.experience-type-card strong { font-size:.95rem; line-height:1.2; }
.experience-type-card small { color:#617169; font-size:.78rem; line-height:1.35; margin-top:.3rem; }
.experience-type-card--request { background:#edf3ed; border-style:dashed; text-decoration:none; }
.experience-type-card--unavailable { background:#f4f2ed; border-color:#dedbd3; color:#52635b; cursor:default; }
.experience-type-card--unavailable:hover { border-color:#dedbd3; transform:none; }
.experience-type-card--unavailable .experience-type-card__icon { background:#e4e1d8; }
.experience-type-card--unavailable .experience-type-card__icon svg { stroke:#617169; }
.experience-type-card__availability { background:#f7e7be; border-radius:999px; color:#765110; display:inline-block; font-size:.7rem; font-weight:800; margin-top:.65rem; padding:.2rem .5rem; }
.host-coordinate-fields { display:grid; gap:1rem; grid-template-columns:1fr 1fr; }
.host-flow__actions { display:flex; gap:.75rem; justify-content:space-between; margin-top:2rem; }
.host-flow__actions .button:last-of-type { margin-left:auto; }
.experience-review { border-top:1px solid #d8ddd5; display:grid; gap:1rem; margin:2rem 0 0; padding-top:1.25rem; }
.experience-review div { display:grid; gap:.2rem; grid-template-columns:10rem 1fr; }
.experience-review dt { color:#617169; font-size:.85rem; font-weight:800; }
.experience-review dd { margin:0; }
.experience-review dd span { color:#52635b; white-space:pre-wrap; }
.host-flow .form-message { margin:1rem 0 0; }
.host-flow .form-message.is-error { color:#a44b29; }
 @keyframes host-step-in { from { opacity:0; transform:translateY(.5rem); }
 to { opacity:1; transform:none; }
 }
 @media (max-width:48rem) { .host-flow { display:block; padding-inline:1.25rem; }
.host-flow__sidebar { border-bottom:1px solid #d8ddd5; border-right:0; padding:2.5rem 0 1.5rem; }
.host-flow__sidebar h1 { max-width:12ch; }
.host-progress { display:none; }
.host-flow__content { padding:2.5rem 0; }
.experience-type-grid { grid-template-columns:1fr; }
.host-coordinate-fields,.experience-review div { grid-template-columns:1fr; }
.experience-review { gap:1.25rem; }
.host-flow__actions .button { flex:1; text-align:center; }
 }

.meeting-map-panel { margin-top:1.25rem; }
.meeting-map-panel > label { margin-top:0; }
.meeting-map { border:1px solid #bdc9c1; border-radius:.8rem; height:23rem; margin-top:.75rem; overflow:hidden; width:100%; }

.meeting-map-panel .form-message { margin-bottom:0; }

.experience-review { border:0; display:block; margin:2rem 0 0; padding:0; }
.experience-preview-card { background:#fff; border:1px solid #d8ddd5; border-radius:1.25rem; box-shadow:0 1rem 2.5rem rgb(23 54 46 / 9%); overflow:hidden; padding:clamp(1.5rem,4vw,2.5rem); }
.experience-preview-card .eyebrow { margin-bottom:.75rem; }
.experience-preview-card h3 { font-size:clamp(2rem,4vw,3.4rem); margin-bottom:1rem; }
.experience-preview-card__description { color:#52635b; font-size:1.05rem; margin-bottom:2rem; white-space:pre-wrap; }
.experience-preview-card dl { border-top:1px solid #d8ddd5; display:grid; gap:1rem; margin:0; padding-top:1.25rem; }
.experience-preview-card dl div { display:grid; gap:.2rem; grid-template-columns:9rem 1fr; }
.experience-preview-card dt { color:#617169; font-size:.85rem; font-weight:800; }
.experience-preview-card dd { margin:0; white-space:pre-wrap; }
.experience-preview-card section { border-top:1px solid #d8ddd5; margin-top:1.5rem; padding-top:1.25rem; }
.experience-preview-card h4 { font-size:1.1rem; margin:0 0 .35rem; }
.experience-preview-card section > p { color:#52635b; margin-bottom:1rem; }
.review-map { border-radius:.75rem; height:17rem; overflow:hidden; width:100%; }

@media (max-width:48rem) { .meeting-map { height:18rem; }
.experience-preview-card dl div { grid-template-columns:1fr; }
 }

.meeting-map-panel__label { font-size:1rem; font-weight:800; margin:0 0 .45rem; }
.meeting-map-panel gmp-place-autocomplete { display:block; width:100%; }

.precise-location-field { display:grid; font-size:1rem; font-weight:800; gap:.45rem; margin-top:1.25rem; }
.precise-location-display { color:#617169; font-weight:400; margin:0; }

.meeting-map-panel gmp-place-autocomplete { background:#fff; border:1px solid #bdc9c1; border-radius:.65rem; color:#17362e; color-scheme:light; font:inherit; min-height:3rem; padding:.1rem; }
