/* Publishing tools keep dense forms readable without changing the public site. */
.board-shell { --board-gap:clamp(1rem,2.5vw,2rem); }
main .board-shell .board-page-heading { padding-block:1.5rem 1rem; }
.board-shell .editor-form { max-width:72rem; margin:var(--board-gap) auto; padding:clamp(1.1rem,3vw,2.5rem); }
.board-shell .editor-form fieldset { min-width:0; padding:clamp(1rem,2.4vw,1.75rem); margin:0; }
.board-shell .editor-form legend { padding:0 .6rem; font-weight:700; }
.board-shell .form-grid { gap:1.15rem 1.5rem; }
.board-shell .form-field { min-width:0; }
.board-shell .form-field > span:first-child { color:#25463f; }
.board-shell .form-field > span[data-valmsg-for] { color:#9b2c2c; }
.board-shell .board-publish-guidance { margin:1rem 0; max-width:70ch; color:#405b53; }
.board-shell .board-publish-guidance summary { cursor:pointer; padding:.5rem 0; font-weight:600; }
.board-shell .board-publish-guidance p { line-height:1.6; margin:.5rem 0; }
.board-shell .form-field input,.board-shell .form-field select,.board-shell .form-field textarea { width:100%; box-sizing:border-box; }
.board-shell .form-field small { line-height:1.5; }
.board-shell .editor-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.2rem; padding-top:.5rem; }
.board-shell .board-notice { padding:1rem 1.25rem; border-left:4px solid #315d4b; background:#f3f7ef; color:#213d32; border-radius:.35rem; margin:1rem 0 1.5rem; }
.board-shell .board-publish-help { max-width:65ch; margin:.75rem 0 1.25rem; line-height:1.6; }
.board-shell .board-table__actions { gap:.6rem 1rem; min-width:10rem; }
.board-shell .board-table__actions a,.board-shell .board-table__actions button { min-height:2.75rem; display:inline-flex; align-items:center; }
.board-shell .board-preview__story { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; margin:1.5rem 0; }
.board-shell .board-preview__facts { display:flex; gap:1.25rem 2.5rem; flex-wrap:wrap; border-block:1px solid #d8d6c8; padding:1.4rem 0; margin:1.5rem 0; }
.board-shell .board-preview__facts dt { font-size:.85rem; color:#52645d; }
.board-shell .board-preview__facts dd { margin:.3rem 0 0; font-size:1.1rem; }
.board-shell .photo-moderation-card { gap:1.5rem; padding:1.5rem; }
.board-shell .board-photo-choices { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1.5rem; }
.board-shell .board-photo-choices figure { margin:0; padding:1rem; background:#fffdf6; border:1px solid #ddd6c8; border-radius:.5rem; }
.board-shell .board-photo-choices img { display:block; width:100%; height:10rem; object-fit:cover; border-radius:.25rem; }
.board-shell .board-photo-choices figcaption { padding-top:.75rem; line-height:1.5; }
.board-shell .board-photo-choices small { display:block; }
.board-shell .activity-photo-editor > h2 { margin-top:0; }
.board-shell .activity-photo-list { display:grid; gap:.8rem; list-style:none; margin:1.5rem 0; padding:0; }
.board-shell .activity-photo-list > li { display:grid; grid-template-columns:9rem minmax(0,1fr) auto; gap:1rem; align-items:center; padding:.8rem; border:1px solid #d8d6c8; border-radius:.5rem; background:#fffdf6; }
.board-shell .activity-photo-list > li[draggable="true"] { cursor:grab; }
.board-shell .activity-photo-list img { width:9rem; height:6rem; object-fit:cover; border-radius:.35rem; }
.board-shell .activity-photo-list small { display:block; margin:.35rem 0 .6rem; }
.board-shell .photo-order-actions { display:grid; gap:.4rem; }
.board-shell .photo-order-actions button { min-height:2.4rem; }
.board-shell .drag-handle { text-align:center; color:#52645d; font-size:.85rem; }
.board-shell .activity-preview { width:min(92vw,64rem); max-height:90vh; padding:clamp(1rem,3vw,2.25rem); border:0; border-radius:.75rem; box-shadow:0 1rem 4rem #10231e66; }
.board-shell .activity-preview::backdrop { background:#10231ecc; }
.board-shell .activity-preview__close { float:right; min-height:2.5rem; }
.board-shell .activity-preview__card,.board-shell .activity-preview__detail { margin:1rem 0 2rem; padding:1.25rem; border:1px solid #d8d6c8; border-radius:.65rem; background:#fffdf6; }
.board-shell .activity-preview__card { max-width:26rem; }
.board-shell .activity-preview img { width:100%; max-height:18rem; object-fit:cover; border-radius:.4rem; }
.board-shell .activity-preview__gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap:.75rem; margin-top:1.25rem; }
.board-shell .activity-preview__gallery img { aspect-ratio:4/3; height:100%; max-height:none; }
.board-shell [data-preview-description] { white-space:pre-wrap; line-height:1.65; }
.board-preview > .board-page-heading { padding-block:1.5rem 1rem; }
.preview-width-controls { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; padding-block:1rem; }
.preview-width-controls .button[aria-pressed="true"] { outline:3px solid #c6a24f; outline-offset:2px; }
.preview-surface { width:calc(100% - 2rem); margin:0 auto 2rem; overflow:auto; background:#fff; border:1px solid #d8d6c8; box-shadow:0 .8rem 2.5rem #10231e24; transition:max-width .2s ease; }
.preview-surface--desktop { max-width:90rem; }
.preview-surface--phone { max-width:23.4375rem; }
.preview-card-section { padding-block:2rem; }
.preview-card-section .editorial-activity { max-width:30rem; }
.preview-surface__label { padding-top:1.25rem; color:#315d4b; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.activity-preview-notice { padding:.85rem 1rem; border-left:4px solid #c6a24f; background:#fff8e6; line-height:1.5; }
.preview-surface--phone .detail-hero__grid,.preview-surface--phone .detail-layout { grid-template-columns:minmax(0,1fr); }
.preview-surface--phone .page-width { width:calc(100% - 2rem); }
.document-builder__layout { display:grid; grid-template-columns:minmax(22rem,34rem) minmax(30rem,1fr); gap:clamp(1rem,3vw,2.5rem); align-items:start; }
.document-builder__layout > .editor-form { margin:0; }
.document-section-list fieldset { margin-bottom:1rem; }
.document-preview-panel { min-width:0; padding:1rem; background:#e7ecea; overflow:auto; }
.activity-document { position:relative; box-sizing:border-box; width:min(100%,8.5in); min-height:11in; margin:0 auto; padding:.65in; overflow:hidden; background:#fff; color:#142f3f; box-shadow:0 .45rem 1.4rem #10231e2b; font:11pt/1.5 Arial,sans-serif; }
.activity-document__cover { padding-bottom:.28in; border-bottom:2px solid #c6a24f; }
.activity-document__brand { margin:0 0 .28in; color:#082a43; font:700 20pt/1.05 Georgia,serif; }
.activity-document__brand span { display:block; margin-top:.05in; font:600 9pt/1.2 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.activity-document__kind { margin:0; color:#315d4b; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.activity-document h1,.activity-document h2 { color:#082a43; font-family:Georgia,serif; break-after:avoid; }
.activity-document h1 { margin:.12in 0 .08in; font-size:28pt; line-height:1.1; }
.activity-document h2 { margin:0 0 .08in; font-size:16pt; }
.activity-document__schedule { font-weight:700; }
.activity-document__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.08in .3in; margin:.24in 0; padding:.16in 0; border-block:1px solid #c7d0cc; break-inside:avoid; }
.activity-document__facts p { display:flex; justify-content:space-between; gap:.2in; margin:0; }
.activity-document__facts strong { color:#315d4b; }
.activity-document__section { margin:.22in 0; break-inside:avoid; }
.activity-document__section p { margin:.08in 0; }
.activity-document .preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.activity-document__section figure { margin:.14in 0; }
.activity-document__section img { display:block; width:100%; max-height:3.4in; object-fit:cover; }
.activity-document__section--small figure { max-width:3in; }
.activity-document__section--full img { max-height:7in; }
.activity-document__page-break { break-before:page; }
.activity-document figcaption { margin-top:.05in; color:#52645d; font-size:9pt; }
.activity-document footer { display:flex; justify-content:space-between; gap:.2in; margin-top:.35in; padding-top:.1in; border-top:1px solid #c6a24f; color:#52645d; font-size:9pt; }
.activity-document footer a { color:inherit; text-decoration:none; }
.activity-document__draft { position:absolute; top:.3in; right:.3in; color:#8d6f28; font-weight:700; letter-spacing:.12em; }
.trip-application-form { position:relative; box-sizing:border-box; width:min(100%,8.5in); margin:0 auto; padding:.55in; background:#fff; color:#142f3f; box-shadow:0 .45rem 1.4rem #10231e2b; font:10.5pt/1.35 Arial,sans-serif; }
.trip-application-form h1,.trip-application-form h2 { color:#082a43; font-family:Georgia,serif; break-after:avoid; }
.trip-application-form h1 { margin:.08in 0; font-size:24pt; }
.trip-application-form__draft { margin:.06in 0; color:#8d6f28; font-weight:700; letter-spacing:.12em; }
.trip-application-form h2 { margin:0 0 .08in; font-size:14pt; }
.trip-application-form__header { display:grid; grid-template-columns:minmax(0,1fr) 1.55in; gap:.25in; padding-bottom:.18in; border-bottom:2px solid #c6a24f; align-items:start; }
.application-qr { text-align:center; font-size:8.5pt; overflow-wrap:anywhere; }
.application-qr__code { width:1.18in; height:1.18in; margin:.06in auto; padding:.04in; background:#fff; }
.application-qr__code svg { display:block; width:100%; height:100%; }
.application-qr b { display:block; margin-top:.05in; color:#8a2f20; font-size:7.5pt; }
.trip-application-form__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.04in .25in; margin:.16in 0; padding:.12in 0; border-block:1px solid #c7d0cc; break-inside:avoid; }
.trip-application-form__facts h2 { grid-column:1/-1; }
.trip-application-form__facts p,.trip-application-form__traveler p,.trip-application-form__choices p,.signature-line p { margin:.055in 0; }
.trip-application-form__instructions,.trip-application-form__traveler,.trip-application-form__choices,.trip-application-form__terms,.trip-application-form__signatures { margin:.16in 0; break-inside:avoid; }
.trip-application-form__traveler,.signature-line { padding:.11in; border:1px solid #c7d0cc; }
.trip-application-form__traveler p { overflow-wrap:anywhere; }
.trip-application-form__page-break { break-before:page; }
.trip-application-form__terms { font-size:9.5pt; line-height:1.35; }
.signature-line { margin:.12in 0; min-height:1.05in; }
.trip-application-form footer { display:flex; justify-content:space-between; gap:.2in; margin-top:.25in; padding-top:.08in; border-top:1px solid #c6a24f; color:#52645d; font-size:8.5pt; }
@media(max-width:980px) {
 .document-builder__layout { grid-template-columns:minmax(0,1fr); }
 .document-preview-panel { max-width:100%; }
}
@media print {
 body * { visibility:hidden; }
 .activity-document,.activity-document *,.trip-application-form,.trip-application-form * { visibility:visible; }
 .activity-document { position:static; width:auto; min-height:0; padding:0; overflow:visible; box-shadow:none; }
 .trip-application-form { position:static; width:auto; padding:0; box-shadow:none; }
 @page { size:letter; margin:.65in; }
}
@media screen and (max-width:650px) {
 .board-shell .form-grid--two { grid-template-columns:minmax(0,1fr); }
 .board-shell .editor-form { margin-inline:0; padding:1rem; }
 .board-shell .board-page-heading--actions { flex-direction:column; align-items:flex-start; gap:1rem; }
 .board-shell .editor-actions > .button { width:100%; justify-content:center; }
 .board-shell .photo-moderation-card { grid-template-columns:minmax(0,1fr); padding:1rem; }
 .board-shell .activity-photo-list > li { grid-template-columns:1fr; }
 .board-shell .activity-photo-list img { width:100%; height:auto; max-height:14rem; }
 .board-shell .photo-order-actions { grid-template-columns:1fr 1fr; }
 .board-shell .drag-handle { display:none; }
}

/* Compact flyer uses the same readable paper typography; content may flow. */
.activity-document--flyer .activity-document__cover { padding-bottom:.16in; }
.activity-document--flyer .activity-document__brand { margin-bottom:.14in; font-size:17pt; }
.activity-document--flyer h1 { font-size:24pt; }
.activity-document--flyer .activity-document__section { margin:.12in 0; }
.activity-document--flyer .activity-document__section img { max-height:2in; }
.document-view-controls { display:none; }
@media screen and (max-width:650px) {
 .document-builder:has([data-document-view]) .document-view-controls { display:flex; flex-wrap:wrap; gap:.75rem; }
 .document-builder[data-document-view="edit"] .document-preview-panel { display:none; }
 .document-builder[data-document-view="preview"] .document-section-list { display:none; }
 .activity-document { padding:1rem; min-height:0; }
 .activity-document__facts { grid-template-columns:minmax(0,1fr); }
 .activity-document__facts p { flex-wrap:wrap; }
}

.board-shell .board-table-wrap { position:relative; min-width:0; max-width:100%; }
.board-shell .board-page-heading--actions > * { min-width:0; max-width:100%; }
.board-shell .board-page-heading--actions .button { white-space:normal; overflow-wrap:anywhere; }
.document-builder .document-view-controls[hidden] { display:none; }

.board-shell .button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }

@media print {
 body > header,body > footer,.skip-link,[aria-label="Breadcrumb"],
 .document-builder > .trail-desk,.document-builder > .board-publish-guidance,
 .document-builder > .board-page-heading,.document-builder > .board-notice,
 .document-builder > .validation-summary,.document-view-controls,.document-section-list,
 .document-preview-panel > .section-kicker { display:none!important; }
 main,.document-builder,.document-builder__layout,.document-preview-panel { display:block!important; width:auto; margin:0; padding:0; overflow:visible; }
 .document-preview-panel { background:none; }
}
