.resort-share { margin: 1.75rem 0; padding: clamp(1rem,3vw,2rem); border: 1px solid currentColor; }
.resort-share h3 { margin-top: 0; }
.resort-share .fields { margin-bottom: 1.25rem; }
.resort-share input[type=text],.resort-share input[type=email] { background: #fffdf8; color: #14313c; border: 1px solid #6b7d80; }
.resort-share .share-consent { display: flex; align-items: flex-start; gap: .75rem; margin: 1.25rem 0; line-height: 1.6; }
.resort-share .share-consent input { flex: 0 0 1.15rem; width: 1.15rem; height: 1.15rem; margin-top: .25rem; accent-color: #a65c3c; }
.resort-share button:disabled { opacity: .65; cursor: default; }
.share-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.share-success { padding: 1rem; border-left: 3px solid #52733d; background: #edf2e8; color: #14313c; }
.plan-panel .resort-share .field, .plan-panel .resort-share a { color: #fffdf8; }
.plan-panel .resort-share a { text-decoration: underline; text-underline-offset: .2em; }

.optional-trip-details { margin-top: 2rem; padding: 1.25rem; border: 1px solid #acb7b4; }
.optional-trip-details summary { cursor: pointer; font-weight: 600; line-height: 1.6; }
.optional-trip-details summary span { font-weight: 400; }
.optional-trip-details[open] .fields { margin-top: 1.5rem; }
