.lb-shell{--lb-red:#a71415;--lb-ink:#17191d;--lb-line:#e3e4e6;max-width:900px;margin:30px auto;color:var(--lb-ink);font-family:inherit;background:#fff;border:1px solid var(--lb-line);border-radius:18px;overflow:hidden;box-shadow:0 14px 48px #15151509;text-align:left}.lb-shell *{box-sizing:border-box}.lb-shell .lb-banner{padding:38px 40px;background:var(--lb-ink);color:#fff;border-top:6px solid var(--lb-red);background-image:radial-gradient(ellipse at 100% 0,#a7141540,transparent 60%)}.lb-shell .lb-eyebrow{color:#ffaaaa;font-size:11px;font-weight:800;letter-spacing:1.8px}.lb-shell .lb-banner h2{color:#fff;font-size:clamp(27px,4vw,40px);line-height:1.15;margin:14px 0;font-weight:800}.lb-shell .lb-banner p{color:#e4e4e7;margin:0;line-height:1.7;font-size:15px}.lb-registration{padding:30px 40px 34px}.lb-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.lb-field{min-width:0;grid-column:1/-1}.lb-field.lb-half{grid-column:auto}.lb-shell .lb-section{grid-column:1/-1;font-size:18px;font-weight:800;border-bottom:1px solid var(--lb-line);padding-bottom:12px;margin:12px 0 0;color:var(--lb-ink)}.lb-shell label,.lb-shell legend{font-size:14px;font-weight:650;line-height:1.5;color:var(--lb-ink);display:block;margin:0 0 8px}.lb-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.lb-shell select,.lb-shell textarea{display:block;width:100%;min-height:48px;background:#fafafa;border:1px solid #c9cbd0;border-radius:8px;padding:12px 13px;color:var(--lb-ink);font:inherit;font-size:15px;line-height:1.5;box-shadow:none}.lb-shell select{white-space:normal;height:auto}.lb-shell fieldset{margin:0;padding:0;border:0;min-width:0}.lb-shell .lb-choice{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:8px 0;cursor:pointer}.lb-shell input[type=checkbox],.lb-shell input[type=radio]{accent-color:var(--lb-red);width:18px;height:18px;flex:0 0 18px;margin:2px 0}.lb-shell small{display:block;margin-top:7px;color:#62656c;font-size:12px;line-height:1.5}.lb-shell :is(input,select,textarea,button,a):focus-visible{outline:3px solid #a7141580;outline-offset:3px}.lb-shell .lb-submit{background:var(--lb-red);color:#fff;border:0;padding:15px 24px;border-radius:8px;font:inherit;font-size:15px;font-weight:750;cursor:pointer;margin-top:22px;min-height:50px}.lb-shell .lb-submit span{margin-left:28px}.lb-shell .lb-submit:hover{background:#841011}.lb-shell .lb-submit:disabled{opacity:.6;cursor:wait}.lb-shell .lb-footnote,.lb-shell .lb-required-note,.lb-shell .lb-privacy{font-size:12px;color:#62656c;line-height:1.6}.lb-shell .lb-required-note{margin:0 0 24px}.lb-shell .lb-privacy{margin:22px 0 0}.lb-shell .lb-privacy a{color:var(--lb-red);text-decoration:underline}.lb-shell .lb-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.lb-feedback{white-space:pre-line;margin:24px 0 0;padding:16px;background:#f2f3f5;border-radius:8px;font-size:14px;line-height:1.6}.lb-feedback[hidden]{display:none}.lb-error{background:#fff0f0;color:#841011;border:1px solid #f0bbbb}.lb-success{background:#eef8f1;color:#1a5930;border:1px solid #b2d8bd}.lb-camp-info{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:28px 40px;background:#f7f7f8;border-bottom:1px solid var(--lb-line)}.lb-camp-info span{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#62656c;margin-bottom:6px}.lb-camp-info strong{font-size:15px;line-height:1.5;display:block;overflow-wrap:anywhere}.lb-package{padding:20px;background:#faf2f2;border:1px solid #edd3d3;border-radius:10px;margin-bottom:25px}.lb-unavailable{padding:30px 40px}.lb-shell .lb-field input,.lb-shell .lb-field textarea{max-width:100%}@media(max-width:600px){.lb-shell{border-radius:12px;margin:15px 0}.lb-shell .lb-banner{padding:27px 22px}.lb-registration{padding:24px 22px}.lb-fields{grid-template-columns:1fr;gap:18px}.lb-field.lb-half{grid-column:1/-1}.lb-camp-info{padding:22px;grid-template-columns:1fr}.lb-shell .lb-submit{width:100%}.lb-package{padding:15px}}

.lb-shell .lb-camp-visual{width:100%;max-height:400px;object-fit:cover;display:block;margin:0}.lb-camp-signup{padding:30px 40px}.lb-camp-signup input[type=email]{width:100%;box-sizing:border-box;padding:12px;border:1px solid #bbb;border-radius:6px}.lb-camp-signup label{display:block;margin:15px 0}.lb-camp-signup .lb-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px}@media(max-width:600px){.lb-camp-signup{padding:24px 22px}}

/* Original camp design, laid out in responsive columns. */
.lb-camps-list{display:grid;gap:24px;align-items:start;width:100%;min-width:0;margin:24px 0}
.lb-camps-columns-1{grid-template-columns:minmax(0,1fr)}
.lb-camps-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lb-camps-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lb-camps-list>.lb-camp{margin:0;max-width:none;width:100%;min-width:0;container-type:normal}
.lb-camp .lb-camp-visual{height:auto;max-height:400px;object-fit:cover}
.lb-camp .lb-banner h2{overflow-wrap:anywhere}
/* Avoid inline-size containment: Elementor centred widgets can shrink to a 2px line. */
.lb-camps-list,.lb-camps-list *{box-sizing:border-box}
.lb-camps-list .lb-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.lb-camps-list .lb-camp-info{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.lb-camps-columns-2 .lb-banner,.lb-camps-columns-3 .lb-banner{padding:27px 22px}
.lb-camps-columns-2 .lb-registration,.lb-camps-columns-3 .lb-registration{padding:24px 22px}
.lb-camps-columns-2 .lb-camp-info,.lb-camps-columns-3 .lb-camp-info{padding:22px}
.lb-camps-columns-2 .lb-package,.lb-camps-columns-3 .lb-package{padding:15px}
.lb-camps-list .lb-submit{max-width:100%;white-space:normal}
.lb-camps-list .lb-submit span{margin-left:8px}
.lb-camps-empty{box-shadow:none;border:0;border-radius:0;background:transparent}
.lb-camps-empty .lb-camp-heading p{line-height:1.6;margin:0}
.lb-camps-empty .lb-camp-signup{padding:8px 0 0}
@media(max-width:1000px){.lb-camps-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.lb-camps-list{grid-template-columns:minmax(0,1fr);gap:18px}}
