/* Consistent gutters, reading sizes and form rhythm across public and admin routes. */
:root{--space-page:clamp(20px,4vw,64px);--space-section:clamp(56px,7vw,104px)}
.container{width:min(var(--max),calc(100% - 2*var(--space-page)))}
.section{padding-block:var(--space-section)}
.page-head{padding-block:clamp(32px,5vw,64px) clamp(28px,4vw,48px)}
.page-head>p:not(.eyebrow){max-width:62ch;font-size:clamp(.95rem,1.2vw,1.08rem)}
.page-layout,.login-layout,.contact-layout{gap:clamp(28px,4.5vw,64px)}
.panel{padding:clamp(22px,3vw,36px)}
.panel>h2{margin-bottom:20px}.panel>p{line-height:1.75}.panel>form{margin-top:24px}
fieldset{margin:0 0 28px;padding:0;border:0;min-width:0}legend{margin-bottom:14px;line-height:1.6}
.field>label,fieldset>legend{font-size:.86rem}.field{gap:8px;margin-bottom:24px}
.field input,.field select,.field textarea{font-size:1rem;line-height:1.5}.field textarea{min-height:132px;resize:vertical}
.check{font-size:.88rem;line-height:1.6;align-items:flex-start}.check input{margin-top:4px;flex-shrink:0}
.option{min-height:60px;line-height:1.6}.option small{line-height:1.6}.option input{margin-top:4px}
.form-actions{align-items:center;margin-top:8px;padding-top:24px;border-top:1px solid var(--line)}
.button:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid #f4f0e7;outline-offset:4px}
.button:disabled{opacity:.6;cursor:wait}.button:active:not(:disabled){transform:translateY(1px)}
.success{padding:clamp(24px,4vw,44px);min-width:0}.success>h2{font-size:clamp(22px,4vw,32px);overflow-wrap:anywhere}.success>p{max-width:62ch;line-height:1.8}.success .actions{margin-block:24px}
.summary>div{min-width:0}.summary dd{overflow-wrap:anywhere}.steps{margin-bottom:32px}.steps li{min-width:0}
.admin-content{display:flex;flex-direction:column;gap:24px}.admin-content>.panel{margin:0}.admin-grid{gap:24px;align-items:start}.admin-grid>.panel{min-width:0}
.admin-main .field label,.admin-main legend{font-size:.84rem}.admin-main .field input,.admin-main .field select,.admin-main .field textarea{font-size:1rem}
.admin-main .button{font-size:.84rem;min-height:46px}.admin-main p{font-size:.88rem;line-height:1.7}.admin-main .admin-quote summary{font-size:.86rem}
.admin-main details>form{margin-block:24px}.admin-main .summary{margin-block:24px}.admin-main .summary dt{font-size:.78rem}.admin-main .summary dd{font-size:.9rem}
.admin-stats span{font-size:.78rem}.admin-search input{font-size:1rem}.admin-page-heading p{font-size:.9rem}
.admin-login-form>p:first-child{margin-top:0}.admin-login-form .button{width:100%}.admin-login-form details{margin-top:28px}
.integration-notice,.live-update-note{border-left:3px solid var(--accent);padding:18px 22px;background:#23251e;margin:0 0 20px;line-height:1.7}.integration-notice p{margin:8px 0 0}
.admin-quote .status-pill{font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
@media(max-width:800px){.admin-main{padding:28px 20px}.admin-main .panel{padding:24px 20px}.page-layout,.login-layout{padding-bottom:56px}.resource-highlight{padding:28px 22px}}
@media(max-width:480px){:root{--space-page:20px}.hero,.hero-copy{min-height:clamp(540px,78svh,660px)}.hero-copy{padding:28px 22px}.hero-copy>.eyebrow{margin-bottom:24px}.hero-copy>p:not(.eyebrow){line-height:1.7}.hero .actions{margin-top:auto}.hero h1{font-size:clamp(44px,12vw,60px)}.page-head h1{font-size:clamp(30px,8.5vw,40px)}.page-head .back-link{margin-bottom:20px}.steps li{font-size:.72rem}.panel h2{font-size:1.45rem}.form-actions>.button{flex-basis:100%;min-height:50px}.form-actions>.button.text{order:2}.contact-image{min-height:300px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quote summary{display:flex;flex-wrap:wrap;gap:12px}.admin-quote .quote-person{flex-basis:100%}.admin-login-form{padding:30px 20px}.admin-login-story{min-height:240px}.admin-main .panel .panel{padding:18px 14px}.client-names{gap:10px}}
@media(max-width:360px){:root{--space-page:16px}.admin-main{padding-inline:16px}.panel,.admin-main .panel{padding:22px 16px}}
@media(max-width:800px){input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font-size:16px}.recipe-search input{min-height:48px}.admin-main .admin-login-form{padding:28px 20px}}

.club-file-preview{display:block;max-width:100%;max-height:520px;object-fit:contain;margin:18px 0}.admin-content [data-club-kind][hidden]{display:none!important}.admin-content select{max-width:100%;min-width:0}.admin-content details>summary{line-height:1.5}
