/* Camp enrollment only; shared search sizing is intentionally limited to its form. */
.header-main .site-search{height:54px}.site-search input{text-align:center}.site-search input::placeholder{text-align:center}
.camp-apply-link{display:block;margin-top:10px;padding:10px 16px;background:var(--purple);color:#fff;font-size:14px;font-weight:700}.camp-apply-link:hover{background:var(--purple-dark);color:#fff}
#trip-dialog.application-active #dialog-image,#trip-dialog.application-active #dialog-description,#trip-dialog.application-active .program-facts,#trip-dialog.application-active .dialog-notice,#trip-dialog.application-active .dialog-price,#trip-dialog.application-active .detail-price-note,#trip-dialog.application-active #dialog-inquiry,#trip-dialog.application-active #dialog-phone{display:none}
.camp-intro h3,#camp-review h3,#camp-success h3{font-size:23px;font-weight:700;margin:18px 0 8px}.camp-intro p,.camp-help{font-size:14px!important;line-height:1.75!important}.camp-status{padding:14px;background:var(--surface);border-left:3px solid var(--purple);margin:16px 0!important}.camp-progress{display:flex;list-style:none;padding:0!important;margin:24px 0;gap:0;border-bottom:1px solid var(--line)}.camp-progress li{flex:1;text-align:center;padding:10px 2px!important;font-size:13px;color:var(--gray);border-bottom:3px solid transparent}.camp-progress li[aria-current=step]{color:var(--purple);font-weight:700;border-color:var(--purple)}
#camp-form fieldset{border:0;margin:0;padding:0;min-width:0}#camp-form legend{font-size:21px;font-weight:700;padding:0;margin:0 0 15px}.camp-required{font-size:12px!important;margin:0 0 12px!important}.camp-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin:16px 0}.camp-wide{grid-column:1/-1}#camp-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:650;color:var(--ink)}#camp-form input:not([type=checkbox]),#camp-form select,#camp-form textarea{width:100%;font:inherit;font-weight:400;color:var(--ink);border:1px solid #bdc4cd;background:var(--field);border-radius:0;padding:11px 12px;min-height:46px;box-sizing:border-box}#camp-form input[readonly]{background:var(--surface);color:var(--gray)}#camp-form textarea{resize:vertical}#camp-form input[type=file]{font-size:13px}#camp-form .camp-check{display:flex;flex-direction:row;align-items:flex-start;font-weight:500;line-height:1.8;margin:15px 0;gap:10px}#camp-form input[type=checkbox]{width:18px;height:18px;accent-color:var(--purple);flex-shrink:0;margin-top:4px}.camp-policy{padding:17px;background:var(--surface);margin:17px 0}.camp-policy h4{font-size:15px;margin:0 0 8px}.camp-policy p{font-size:13px!important;line-height:1.8!important;margin:7px 0!important}.camp-document-list,#camp-file-list{font-size:14px;line-height:1.9;padding-left:20px!important}.camp-document-list li,#camp-file-list li{padding:3px 0!important;overflow-wrap:anywhere}
.camp-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin:24px 0 8px}.camp-controls button{font-size:14px;padding:12px 18px;min-height:44px;border:1px solid #b8bdc6;font-weight:650}.camp-controls .primary{border-color:var(--purple);color:#fff}.camp-controls button:disabled{opacity:.6;cursor:wait}#camp-error,.camp-submit-error{font-size:14px!important;color:#a12735!important;line-height:1.7;margin:14px 0}#camp-summary{border-top:1px solid var(--line);font-size:14px}#camp-summary>div{display:grid;grid-template-columns:145px 1fr;padding:12px 0;border-bottom:1px solid var(--line);gap:14px}#camp-summary dt{font-weight:700}#camp-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}#camp-success{padding:22px 0}#camp-success p{font-size:15px;line-height:1.8}#camp-reference{display:inline-block;margin:15px 0;color:var(--purple);font-size:21px}
@media(max-width:760px){html.touch-layout .header-main .site-search{height:48px}html.touch-layout .camp-fields{grid-template-columns:1fr;gap:15px}html.touch-layout .camp-wide{grid-column:auto}html.touch-layout .camp-progress li{font-size:11px}html.touch-layout .camp-intro h3,html.touch-layout #camp-review h3,html.touch-layout #camp-success h3{font-size:20px}html.touch-layout #camp-form legend{font-size:19px}html.touch-layout #camp-summary>div{grid-template-columns:100px 1fr;font-size:13px;gap:10px}html.touch-layout .camp-controls button{padding:11px 13px;font-size:13px}html.touch-layout .camp-controls .primary{gap:8px}html.touch-layout .camp-policy{padding:13px}}
@media print{body.camp-printing *{visibility:hidden}body.camp-printing #camp-review,body.camp-printing #camp-review *{visibility:visible}body.camp-printing #trip-dialog{position:absolute;inset:0;display:block;max-height:none;width:100%;max-width:none;overflow:visible;box-shadow:none;background:white}body.camp-printing .dialog-body{padding:0}body.camp-printing #camp-review{position:absolute;top:0;left:0;width:100%;color:black}body.camp-printing #camp-review .camp-controls{display:none}body.camp-printing #camp-summary>div{break-inside:avoid}body.camp-printing #trip-dialog::backdrop{display:none}}

#trip-dialog .dialog-close{float:none;display:block;margin:12px 12px -48px auto;position:sticky;top:12px}
