/* TennisFinalsPro camps */
#tfpCamps {
    --camp-ink: #14243b;
    --camp-muted: #4e6077;
    --camp-line: #cfd9e7;
    --camp-purple: #5d25bd;
    --camp-purple-dark: #491a9c;
    --camp-violet-tint: #f1eaff;
    --camp-teal: #05665c;
    --camp-teal-tint: #dff4ee;
    --camp-apricot: #ffbe91;
    --camp-radius: 16px;
    background: #f2f5fa;
    color: var(--camp-ink);
    min-width: 0;
    padding: 20px 22px 52px;
    font-family: Inter, system-ui, sans-serif;
    line-height: 1.5;
}
#tfpCamps *, #tfpCamps *::before, #tfpCamps *::after { box-sizing: border-box; }
#tfpCamps [hidden] { display: none !important; }
#tfpCamps .camp-shell { width: min(100%, 1280px); margin-inline: auto; }
#tfpCamps :is(h1,h2,h3,p,ul,fieldset) { margin: 0; }
#tfpCamps :is(h1,h2,h3) { color: inherit; line-height: 1.17; letter-spacing: -.025em; overflow-wrap: anywhere; }
#tfpCamps h1 { font-size: clamp(29px, 4vw, 49px); font-weight: 800; text-wrap: balance; }
#tfpCamps h2 { font-size: clamp(20px, 2vw, 25px); font-weight: 760; }
#tfpCamps h3 { font-size: 16px; font-weight: 730; }
#tfpCamps p { color: var(--camp-muted); max-width: none; }
#tfpCamps svg { width: 20px; height: 20px; flex: 0 0 auto; }
#tfpCamps a { text-decoration: none; }
#tfpCamps :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #8a59e8; outline-offset: 3px; }
#tfpCamps :is([id],h2) { scroll-margin-top: calc(var(--tfp-header-fixed-height, 72px) + 18px); }
#tfpCamps .camp-crumbs {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px;
    margin-bottom: 15px; font-size: 13px; color: var(--camp-muted);
}
#tfpCamps .camp-crumbs a { color: var(--camp-muted); font-weight: 650; }
#tfpCamps .camp-crumbs a:hover, #tfpCamps .camp-crumbs [aria-current] { color: var(--camp-purple); }
#tfpCamps .camp-crumbs__mine { margin-inline-start: auto; }
#tfpCamps .camp-button {
    display: inline-flex; justify-content: center; align-items: center; gap: 8px;
    min-height: 44px; max-width: 100%; padding: 9px 14px; margin: 0;
    border: 1px solid transparent; border-radius: 10px; background: var(--camp-purple);
    color: #fff; font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.25;
    text-align: center; white-space: normal; cursor: pointer;
}
#tfpCamps .camp-button:hover { background: var(--camp-purple-dark); color: #fff; }
#tfpCamps .camp-button:disabled { cursor: default; background: #dce3ee; color: #485971; }
#tfpCamps .camp-button--quiet { border-color: #bdcadc; background: #fff; color: var(--camp-ink); }
#tfpCamps .camp-button--quiet:hover { background: var(--camp-violet-tint); border-color: #a783de; color: #432285; }
#tfpCamps .camp-button--apricot { background: var(--camp-apricot); color: #342116; }
#tfpCamps .camp-button--apricot:hover { background: #ffd0ac; color: #342116; }
#tfpCamps .camp-button--dark { background: #29415d; color: #fff; }
#tfpCamps .camp-button--wide { width: 100%; }
#tfpCamps .camp-notice { padding: 10px 14px; margin-bottom: 14px; border: 1px solid #9dcbb9; border-radius: 10px; background: #e1f4ea; color: #174c3b; }
#tfpCamps .camp-notice--error { border-color: #e1b2b5; background: #fff0f0; color: #882e37; }
#tfpCamps .camp-banner {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px;
    margin-bottom: 18px; padding: clamp(18px, 3vw, 32px); border-radius: var(--camp-radius);
    background: #102438; color: #fff;
}
#tfpCamps .camp-banner__lead { display: flex; align-items: center; gap: 14px; min-width: 0; }
#tfpCamps .camp-banner__lead > div { min-width: 0; }
#tfpCamps .camp-banner__icon {
    display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 52px;
    border-radius: 13px; background: #294157; color: #ffcbab;
}
#tfpCamps .camp-banner__icon svg { width: 28px; height: 28px; }
#tfpCamps .camp-banner p { margin-top: 6px; color: #dce8f5; font-size: 15px; }
#tfpCamps .camp-banner--editor h1 { font-size: clamp(25px, 3.4vw, 38px); }
#tfpCamps .camp-filter {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px;
    margin-bottom: 16px;
}
#tfpCamps .camp-segments {
    display: inline-flex; padding: 4px; gap: 4px; border: 1px solid var(--camp-line);
    border-radius: 11px; background: #fff;
}
#tfpCamps .camp-segments a { padding: 8px 12px; border-radius: 7px; color: var(--camp-muted); font-size: 14px; font-weight: 700; }
#tfpCamps .camp-segments [aria-current="page"] { background: var(--camp-violet-tint); color: #492091; }
#tfpCamps .camp-filter__search { display: flex; gap: 6px; flex: 0 1 440px; min-width: 0; margin: 0; }
#tfpCamps .camp-filter__search input { flex: 1; }
#tfpCamps .camp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 295px), 1fr)); gap: 16px; }
#tfpCamps .camp-card {
    min-width: 0; max-width: 490px; background: #fff; border: 1px solid var(--camp-line);
    border-radius: var(--camp-radius); box-shadow: 0 8px 24px #14243b0a; overflow: hidden;
}
#tfpCamps .camp-card:hover { border-color: #9b7cd0; }
#tfpCamps .camp-card__link { display: flex; flex-direction: column; height: 100%; color: var(--camp-ink); }
#tfpCamps .camp-card__link:focus-visible { outline-offset: -4px; }
#tfpCamps .camp-cover {
    position: relative; display: grid; place-items: center; min-width: 0; aspect-ratio: 16 / 9; overflow: hidden;
    background: repeating-linear-gradient(135deg, #24624f 0 43px, #2e7059 43px 86px);
}
#tfpCamps .camp-cover > img { display: block; width: 100%; height: 100%; object-fit: cover; }
#tfpCamps .camp-cover > span {
    display: grid; place-items: center; width: 66px; height: 66px; border: 1px solid #ffffff73;
    border-radius: 16px; background: #0c372e88; color: #fff;
}
#tfpCamps .camp-cover > span > svg { width: 37px; height: 37px; }
#tfpCamps .camp-card__body { display: grid; gap: 7px; padding: 15px; flex: 1; }
#tfpCamps .camp-card__body h2 { font-size: 20px; }
#tfpCamps .camp-card__bottom {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 7px;
    margin-top: 7px; padding-top: 11px; border-top: 1px solid #e1e8f1;
}
#tfpCamps .camp-card__bottom > span { display: flex; gap: 6px; align-items: center; color: var(--camp-purple); font-weight: 750; }
#tfpCamps .camp-badge {
    width: fit-content; max-width: 100%; display: inline-flex; align-items: center;
    padding: 4px 8px; border-radius: 7px; background: #edf1f7; color: #465970; font-size: 12px; font-weight: 750;
}
#tfpCamps .camp-badge--green { background: var(--camp-teal-tint); color: #07574d; }
#tfpCamps .camp-badge--amber { background: #ffead6; color: #85420e; }
#tfpCamps .camp-empty {
    display: grid; justify-items: center; gap: 11px; padding: 40px 18px;
    border: 1px dashed #b9c8d9; border-radius: var(--camp-radius); background: #fff; text-align: center;
}
#tfpCamps .camp-empty__icon { color: var(--camp-purple); }
#tfpCamps .camp-empty__icon svg { width: 34px; height: 34px; }
#tfpCamps .camp-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-top: 16px; }
#tfpCamps .camp-manager-links { display: flex; flex-wrap: wrap; gap: 8px; }
#tfpCamps .camp-shell > .camp-manager-links { margin-bottom: 12px; }
#tfpCamps .camp-hero {
    display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(0, .84fr);
    border: 1px solid var(--camp-line); border-radius: var(--camp-radius); overflow: hidden;
    background: #fff; box-shadow: 0 10px 32px #14243b0b;
}
#tfpCamps .camp-cover--hero { aspect-ratio: auto; min-height: 315px; }
#tfpCamps .camp-cover--hero img { position: absolute; inset: 0; }
#tfpCamps .camp-hero__copy { display: grid; gap: 10px; align-content: center; padding: clamp(18px, 3.4vw, 37px); min-width: 0; }
#tfpCamps .camp-meta { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 14px; }
#tfpCamps .camp-meta svg { width: 17px; height: 17px; color: var(--camp-teal); }
#tfpCamps .camp-hero__tags { display: flex; flex-wrap: wrap; gap: 6px; }
#tfpCamps .camp-hero__tags span { padding: 4px 8px; border-radius: 6px; background: #ffe5d3; color: #6a3819; font-size: 12px; font-weight: 650; }
#tfpCamps .camp-hero__tags span:nth-child(2) { background: #fff0be; color: #674813; }
#tfpCamps .camp-hero__tags span:nth-child(3) { background: var(--camp-teal-tint); color: var(--camp-teal); }
#tfpCamps .camp-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 5px; }
#tfpCamps .camp-hero__actions strong { margin-inline-end: auto; font-size: clamp(18px, 2.2vw, 26px); }
#tfpCamps .camp-sections {
    display: flex; flex-wrap: wrap; gap: 4px 8px; margin-block: 12px;
    padding: 4px; background: #fff; border: 1px solid var(--camp-line); border-radius: 11px;
}
#tfpCamps .camp-sections a { min-height: 40px; display: grid; place-items: center; padding: 5px 12px; color: var(--camp-ink); font-size: 14px; font-weight: 720; border-radius: 7px; }
#tfpCamps .camp-sections a:hover { color: var(--camp-purple); background: var(--camp-violet-tint); }
#tfpCamps .camp-detail-grid { display: grid; align-items: start; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 14px; }
#tfpCamps :is(.camp-detail-grid__main,.camp-detail-grid__side,.camp-fields) { display: grid; gap: 13px; min-width: 0; }
#tfpCamps .camp-panel {
    --camp-accent: #4c2497; --camp-tint: var(--camp-violet-tint);
    display: grid; align-content: start; gap: 13px; min-width: 0; padding: clamp(14px, 2vw, 21px);
    border: 1px solid var(--camp-line); border-top: 3px solid #9770d6; border-radius: 13px; background: #fff;
}
#tfpCamps .camp-panel--teal { --camp-accent: var(--camp-teal); --camp-tint: var(--camp-teal-tint); border-top-color: #2d9c86; }
#tfpCamps .camp-panel--amber { --camp-accent: #8a4717; --camp-tint: #ffeadb; border-top-color: #e5a36e; }
#tfpCamps .camp-panel__heading { display: flex; align-items: center; gap: 9px; min-width: 0; }
#tfpCamps .camp-section-icon {
    display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px;
    border-radius: 9px; background: var(--camp-tint); color: var(--camp-accent);
}
#tfpCamps .camp-lines { white-space: pre-wrap; overflow-wrap: anywhere; }
#tfpCamps :is(.camp-schedule, .camp-option-list) { display: grid; padding: 0; list-style: none; }
#tfpCamps :is(.camp-schedule, .camp-option-list) li {
    display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0;
    padding-block: 8px; border-bottom: 1px solid #e2e8f1;
}
#tfpCamps :is(.camp-schedule, .camp-option-list) li:last-child { border-bottom: 0; }
#tfpCamps .camp-schedule li { justify-content: flex-start; }
#tfpCamps .camp-schedule time { padding: 4px 8px; border-radius: 6px; background: var(--camp-violet-tint); color: #4b2094; font-weight: 750; }
#tfpCamps .camp-schedule small { display: block; color: var(--camp-muted); }
#tfpCamps .camp-option-list li > div { min-width: 0; overflow-wrap: anywhere; }
#tfpCamps .camp-option-list p { font-size: 13px; }
#tfpCamps .camp-price { flex: 0 0 auto; color: #4c2497; }
#tfpCamps .camp-disclosure {
    min-width: 0; border: 1px solid #d4ddec; border-radius: 9px; background: #fff;
    overflow-wrap: anywhere;
}
#tfpCamps .camp-disclosure > summary { min-height: 44px; padding: 10px 11px; color: var(--camp-ink); font-size: 14px; font-weight: 720; cursor: pointer; }
#tfpCamps .camp-disclosure[open] > summary { border-bottom: 1px solid #e3e9f1; }
#tfpCamps .camp-disclosure > :not(summary) { margin: 9px 11px 11px; }
#tfpCamps .camp-disclosure > p { font-size: 14px; }
#tfpCamps .camp-form { display: grid; gap: 11px; width: 100%; min-width: 0; max-width: none; margin: 0; }
#tfpCamps .camp-form label { display: block; min-width: 0; color: var(--camp-ink); font-size: 14px; font-weight: 670; overflow-wrap: anywhere; }
#tfpCamps .camp-form label > small { color: var(--camp-muted); font-weight: 500; }
#tfpCamps :is(.camp-form,.camp-filter__search) :is(input:not([type="checkbox"],[type="file"],[type="hidden"]), select, textarea) {
    display: block; min-width: 0; width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #b8c5d8;
    border-radius: 8px; background: #fff; color: var(--camp-ink); font-family: inherit; font-size: 15px; line-height: 1.35;
}
#tfpCamps .camp-form label > :is(input:not([type="checkbox"],[type="file"]),select,textarea) { margin-top: 5px; }
#tfpCamps .camp-form select { text-overflow: ellipsis; }
#tfpCamps .camp-form textarea { resize: vertical; }
#tfpCamps .camp-form fieldset { min-width: 0; border: 0; padding: 0; }
#tfpCamps .camp-form legend { padding: 0 0 6px; font-size: 14px; font-weight: 700; }
#tfpCamps .camp-form label.camp-check {
    display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 9px;
    border: 1px solid #d7dfec; border-radius: 8px; background: #f8faff; cursor: pointer;
}
#tfpCamps .camp-check input { flex: 0 0 17px; width: 17px; height: 17px; margin: 0; accent-color: var(--camp-purple); }
#tfpCamps .camp-check strong { flex: 0 0 auto; margin-inline-start: auto; }
#tfpCamps .camp-extra-list .camp-check + .camp-check { margin-top: 5px; }
#tfpCamps .camp-availability { color: var(--camp-teal); font-size: 13px; font-weight: 650; }
#tfpCamps .camp-availability[data-full="true"] { color: #8b4610; }
#tfpCamps .camp-total {
    display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px;
    padding: 9px 11px; border-radius: 9px; background: var(--camp-violet-tint); color: #492091;
}
#tfpCamps .camp-total strong { font-size: 19px; }
#tfpCamps .camp-total small { display: block; color: var(--camp-muted); }
#tfpCamps .camp-mobile-cta { display: none; }
#tfpCamps .camp-my-bookings { margin-top: 14px; }
#tfpCamps .camp-my-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 9px; border-bottom: 1px solid #e2e8f1; }
#tfpCamps .camp-my-row:last-child { border: 0; padding-bottom: 0; }
#tfpCamps .camp-my-row p { font-size: 13px; }
#tfpCamps .camp-editor { grid-template-columns: minmax(185px, 220px) minmax(0, 1fr); gap: 14px; align-items: start; }
#tfpCamps .camp-steps {
    display: none; gap: 5px; padding: 8px; border: 1px solid var(--camp-line); border-radius: 13px; background: #fff;
    position: sticky; top: calc(var(--tfp-header-fixed-height, 72px) + 14px);
}
#tfpCamps .camp-editor[data-enhanced] .camp-steps { display: grid; }
#tfpCamps .camp-steps button {
    display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px 8px; min-width: 0;
    border: 0; border-radius: 7px; background: #f6f7fb; color: #344960; text-align: left; cursor: pointer;
    font-family: inherit; font-size: 13px; line-height: 1.3; font-weight: 670;
}
#tfpCamps .camp-steps button > span { display: grid; place-items: center; min-width: 24px; height: 24px; border-radius: 50%; background: #e8e0fa; color: #4b2691; }
#tfpCamps .camp-steps [aria-current="step"] { background: var(--camp-purple); color: #fff; }
#tfpCamps .camp-steps [aria-current="step"] > span { background: #fff; color: var(--camp-purple); }
#tfpCamps .camp-editor__main { display: grid; gap: 12px; grid-column: 1 / -1; min-width: 0; }
#tfpCamps .camp-editor[data-enhanced] .camp-editor__main { grid-column: 2; }
#tfpCamps .camp-location-grid, #tfpCamps .camp-fields--two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; align-items: start; }
#tfpCamps .camp-location-grid { grid-template-columns: minmax(0, 1.07fr) minmax(0, .93fr); }
#tfpCamps .camp-photo { display: grid; gap: 7px; min-width: 0; }
#tfpCamps .camp-photo__preview:has(img[hidden]) { display: none; }
#tfpCamps .camp-photo__preview img { display: block; width: 100%; height: 132px; border-radius: 8px; object-fit: cover; }
#tfpCamps .camp-photo label.camp-photo__pick {
    display: grid; justify-items: center; gap: 4px; min-width: 0; padding: 10px;
    border: 1px dashed #9a76d5; border-radius: 10px; background: #faf7ff; color: #442182; text-align: center; cursor: pointer;
}
#tfpCamps .camp-photo__pick.is-over, #tfpCamps .camp-photo__pick:focus-within { background: #efe5ff; border-color: var(--camp-purple); }
#tfpCamps .camp-photo__pick svg { width: 25px; height: 25px; }
#tfpCamps .camp-photo__pick input {
    width: min(100%, 250px); min-width: 0; padding: 3px; color: var(--camp-muted); font-family: inherit; font-size: 12px; line-height: 1.3;
}
#tfpCamps .camp-photo__pick input::file-selector-button {
    padding: 6px 8px; margin-inline-end: 6px; border: 0; border-radius: 6px;
    background: var(--camp-purple); color: #fff; font-family: inherit; font-weight: 700; cursor: pointer;
}
#tfpCamps .camp-help { font-size: 12px; overflow-wrap: anywhere; }
#tfpCamps .camp-section-title { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 9px; padding-top: 7px; border-top: 1px solid #e2e8f1; }
#tfpCamps .camp-section-title p { font-size: 13px; }
#tfpCamps .camp-repeat { display: grid; gap: 7px; justify-items: start; }
#tfpCamps .camp-repeat__list { display: grid; gap: 7px; width: 100%; }
#tfpCamps .camp-edit-row {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 7px;
    padding: 9px; border: 1px solid #dce4ef; border-radius: 9px; background: #f9fbfd; min-width: 0;
}
#tfpCamps .camp-edit-row__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); gap: 7px; min-width: 0; }
#tfpCamps .camp-edit-row--sections .camp-edit-row__fields { grid-template-columns: minmax(0,1fr); }
#tfpCamps .camp-button--remove { border-color: #e6c9cd; background: #fff; color: #8b3543; font-size: 12px; }
#tfpCamps .camp-button--remove:hover { background: #fae8eb; color: #722838; }
#tfpCamps :is([data-camp-add],[data-camp-remove],[data-camp-next],[data-camp-back]) { display: none; }
#tfpCamps .camp-editor[data-enhanced] :is([data-camp-add],[data-camp-remove],[data-camp-next],[data-camp-back]) { display: inline-flex; }
#tfpCamps .camp-review { display: grid; gap: 4px; padding: 13px; border-radius: 9px; background: var(--camp-violet-tint); color: #44218b; overflow-wrap: anywhere; }
#tfpCamps .camp-review > span { font-size: 12px; font-weight: 680; }
#tfpCamps .camp-review > strong { font-size: 17px; }
#tfpCamps .camp-editor__actions {
    display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding: 9px 10px;
    position: sticky; bottom: 0; z-index: 4; border: 1px solid var(--camp-line); border-radius: 10px; background: #fff;
}
#tfpCamps .camp-editor__primary { margin-inline-start: auto; }
#tfpCamps .camp-turn-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 8px; margin-bottom: 14px; }
#tfpCamps .camp-turn-stats > div { display: grid; gap: 3px; min-width: 0; padding: 10px 12px; border: 1px solid #c7dfd8; border-radius: 9px; background: #edf9f5; }
#tfpCamps .camp-turn-stats strong { color: var(--camp-teal); font-size: 20px; }
#tfpCamps .camp-turn-stats small { color: var(--camp-muted); }
#tfpCamps .camp-manage-filters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; }
#tfpCamps .camp-signups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 295px), 1fr)); gap: 10px; }
#tfpCamps .camp-signup-card { display: grid; gap: 5px; min-width: 0; padding: 12px; border: 1px solid #d2dceb; border-radius: 10px; background: #f8fafd; }
#tfpCamps .camp-signup-card__head { display: flex; flex-wrap: wrap; gap: 5px 8px; justify-content: space-between; align-items: center; }
#tfpCamps .camp-signup-card p { overflow-wrap: anywhere; font-size: 13px; }
#tfpCamps .camp-signup-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin-block: 4px; }
#tfpCamps .camp-signup-card__price small { color: var(--camp-muted); }
#tfpCamps .camp-signup-card__actions { display: grid; align-content: start; gap: 5px; }
#tfpCamps .camp-payment { grid-template-columns: minmax(0,1fr) auto; align-items: end; width: auto; }
#tfpCamps .camp-contact { color: var(--camp-purple); }
#tfpCamps .camp-empty-inline { padding: 12px 0; }

@media (max-width: 900px) {
    #tfpCamps .camp-editor { grid-template-columns: minmax(0, 1fr); }
    #tfpCamps .camp-steps { position: static; grid-template-columns: repeat(4, minmax(0,1fr)); }
    #tfpCamps .camp-editor[data-enhanced] .camp-editor__main { grid-column: 1; }
}
@media (max-width: 700px) {
    #tfpCamps { padding: 13px 12px 26px; }
    #tfpCamps:has(.camp-mobile-cta) { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
    #tfpCamps .camp-crumbs { gap: 6px 8px; }
    #tfpCamps .camp-banner { padding: 15px; gap: 11px; }
    #tfpCamps .camp-banner__icon { width: 40px; height: 40px; flex-basis: 40px; }
    #tfpCamps .camp-hero { grid-template-columns: minmax(0,1fr); }
    #tfpCamps .camp-cover--hero { min-height: 0; aspect-ratio: 16 / 9; }
    #tfpCamps .camp-hero__copy { padding: 14px; gap: 8px; }
    #tfpCamps .camp-hero__actions { display: none; }
    #tfpCamps .camp-detail-grid, #tfpCamps .camp-location-grid { grid-template-columns: minmax(0,1fr); }
    #tfpCamps .camp-mobile-cta {
        display: flex; justify-content: space-between; align-items: center; gap: 8px; position: fixed; z-index: 8;
        inset: auto 0 0; padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--camp-line); background: #fff; box-shadow: 0 -5px 18px #14243b16;
    }
    #tfpCamps .camp-mobile-cta > strong { font-size: 17px; }
    #tfpCamps:has(.camp-signup :is(input,select):focus) .camp-mobile-cta { visibility: hidden; }
    #tfpCamps .camp-form :is(input:not([type="checkbox"],[type="file"],[type="hidden"]),select,textarea) { font-size: 16px; }
    #tfpCamps .camp-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 440px) {
    #tfpCamps .camp-fields--two { grid-template-columns: minmax(0,1fr); }
    #tfpCamps .camp-editor__actions > .camp-button { font-size: 13px; padding-inline: 9px; }
    #tfpCamps .camp-edit-row { grid-template-columns: minmax(0,1fr); }
    #tfpCamps .camp-edit-row > button { justify-self: end; }
    #tfpCamps .camp-manage-filters { grid-template-columns: minmax(0,1fr); }
}
