/* Shared compact layout. Rules and acceptance criteria live in /DESIGN.md. */
*,*::before,*::after{box-sizing:border-box}
.site-header-inner{min-height:64px;padding:10px 4%;gap:16px}
.site-menu-toggle{display:none}
.sample-account-banner{justify-content:center;padding:4px 16px;min-height:24px;font-size:11px}
.sample-account-banner button{display:none}
.event-view-navigation,.app-navigation{display:flex;align-items:center;gap:20px;min-height:48px;padding:0;border-bottom:1px solid #e8deeb;margin:0;overflow:visible}
.event-view-navigation :is(a,button),.app-navigation :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 0;font-size:14px;white-space:nowrap}
.event-view-navigation button,.app-navigation button{margin-left:auto;border:0;background:none;color:#6e4e73;cursor:pointer;font-weight:600}
body[data-page=discover] :is(.intro,#account-controls){display:none}
body[data-page=discover] .shell{padding-top:0}
.holiday-intro{margin:20px 0 12px}
.holiday-intro :is(h1,h2){font-family:Georgia,serif;font-weight:400;font-size:30px;margin:0;line-height:1.2}
.discovery-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 16px}
.discovery-toolbar .week{gap:10px;flex:1;display:flex;align-items:center;flex-wrap:wrap}
.discovery-toolbar .week-switch{display:flex;gap:4px;padding:0;background:none;border:0}
.discovery-toolbar .week-switch button{min-height:44px;padding:9px 12px;font-size:13px}
.discovery-toolbar .plan-count{font-size:12px;white-space:nowrap;color:#6b6470}
.discovery-toolbar .event-sort-row{margin:0;display:flex;gap:8px;align-items:center;padding:0}
.discovery-toolbar #event-sort{min-height:44px;max-width:160px;font-size:14px;padding:8px;border:1px solid #ded5e3;border-radius:8px;background:white}
.event-filter-panel{position:relative}
.event-filter-panel>summary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 14px;border:1px solid #ded5e3;border-radius:22px;color:#6e4e73;background:white;font-size:14px;cursor:pointer;list-style:none}
.event-filter-panel>summary::-webkit-details-marker{display:none}
.event-filter-panel>summary::after{content:'+';font-size:18px}
.event-filter-panel[open]>summary::after{content:'−'}
.filter-options{position:absolute;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 32px));z-index:40;background:white;border:1px solid #ded5e3;border-radius:14px;padding:16px;box-shadow:0 8px 24px #2b23301a}
.filter-options .chips{display:flex;flex-wrap:wrap;overflow:visible;gap:8px;margin:0 0 16px;padding:0}
.filter-options .chips button,.filter-options #free-only{min-height:44px;white-space:normal;font-size:13px}
.filter-options .filter-label{display:block;font-size:13px;font-weight:600;margin:0 0 8px;color:#6b6470}
.filter-options #free-only{padding:10px 14px;border:1px solid #ded5e3;border-radius:22px;background:white;color:#6e4e73}
.filter-options #free-only[aria-pressed=true]{background:#ede3f0;border-color:#79577e}
.filter-options .clear-filters{min-height:44px;margin-left:8px;background:transparent;border:0;text-decoration:underline;color:#6e4e73;cursor:pointer}
.page-heading{margin:24px 0 20px}
.page-heading .eyebrow{display:none}
.page-heading h1{font-size:32px;line-height:1.15;letter-spacing:-.7px;margin:0 0 6px}
.page-heading p{font-size:14px;line-height:1.4}
.account-card{padding:24px;border-radius:16px}
.account-form{gap:18px}
.account-form h2{margin:0;font-size:18px}
.identity-card .initials{width:56px;height:56px;font-size:26px;margin-bottom:12px}
.session-card{margin-top:16px}
.group-head h2{font-size:24px}
.join-page{max-width:1180px;padding:24px;gap:24px;align-items:start}
.join-collage{align-self:stretch;min-height:540px}
.join-card,.join-step-two .join-card,.join-step-three .join-card{padding:28px 32px;border-radius:18px}
.join-progress{margin-bottom:16px}
.join-card .eyebrow{margin-bottom:10px}
.join-card h1,.join-step-two .join-card h1,.join-step-three .join-card h1,.join-success .join-card h1{font-size:36px;line-height:1.13;letter-spacing:-.8px;margin:0 0 12px}
.join-lede{font-size:16px;margin-bottom:18px}
.join-card .field{margin-bottom:16px}
.join-card .choice>span{min-height:48px}
.join-card .optional-section summary{min-height:48px}
.join-card .step-actions{margin-top:16px}
.join-card .join-continue{min-height:48px;height:48px}
.join-card .join-values{display:none}
.join-card .intro{margin:0 0 20px}
.join-card .intro p{font-size:16px;margin:0 0 12px}
.join-card .intro .eyebrow{display:none}
.login-page .step-two-photos{min-height:480px}
.walkthrough>.site-header{display:block}
.about-page{padding-top:32px}
.about-hero h1{font-size:44px;margin-bottom:16px}
.about-lede{font-size:17px;line-height:1.5}
body[data-page=home] #home .home-hero{min-height:560px}
@media(max-width:760px){
 .join-page{grid-template-columns:1fr;padding:16px;gap:16px}
 .join-card,.join-step-two .join-card,.join-step-three .join-card{padding:22px 20px}
 .join-card h1,.join-step-two .join-card h1,.join-step-three .join-card h1,.join-success .join-card h1{font-size:28px}
 .join-progress{margin-bottom:14px;font-size:11px}
 .login-page .step-two-photos{display:none}
 .join-card .join-lede{font-size:15px;margin-bottom:16px}
 .about-page{padding-top:24px}
 .about-hero h1{font-size:34px}
 .about-hero{gap:20px}
}
@media(max-width:600px){
 .site-header-inner{flex-direction:row;align-items:center;min-height:56px;padding:6px 16px;gap:8px;flex-wrap:wrap}
 .site-header .site-brand{font-size:23px;line-height:44px}
 .site-header .site-navigation{width:100%;gap:0;justify-content:space-between}
 .site-header.has-mobile-menu .site-navigation{display:none}
 .site-header.has-mobile-menu .site-navigation.is-open{display:flex}
 .site-menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;min-width:64px;min-height:44px;border:1px solid #ded5e3;border-radius:22px;background:white;color:#6e4e73;font:600 13px Arial;cursor:pointer}
 .site-header .site-navigation :is(a,button){font-size:13px;min-width:0;padding:10px}
 .event-view-navigation,.app-navigation{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;min-height:48px;font-size:12px}
 .event-view-navigation :is(a,button),.app-navigation :is(a,button){font-size:12px;min-height:48px;padding:8px 2px;white-space:normal;text-align:center;margin:0}
 .event-view-navigation:has([data-app-profile][hidden]){grid-template-columns:repeat(3,minmax(0,1fr))}
 .page-heading{margin:20px 0 16px}
 .page-heading h1{font-size:28px}
 .account-shell{padding:0 16px 40px}
 .holiday-intro{margin:20px 0 12px}
 .holiday-intro :is(h1,h2){font-size:28px}
 .discovery-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:16px}
 .discovery-toolbar .week{grid-column:1/-1;display:flex;justify-content:space-between;gap:6px}
 .discovery-toolbar .week-switch{gap:0}
 .discovery-toolbar .week-switch button{padding:8px;font-size:12px}
 .discovery-toolbar .plan-count{font-size:11px}
 .discovery-toolbar .event-sort-row{justify-content:flex-start}
 .discovery-toolbar #event-sort{width:150px;font-size:13px}
 .filter-options{right:0}
 .account-card{padding:20px}
 .profile-layout{gap:12px}
 .identity-card{padding:12px 16px;grid-template-columns:40px 1fr;column-gap:12px}
 .identity-card .initials{width:40px;height:40px;font-size:20px;margin:0}
 .identity-card h2{font-size:18px}
 .identity-card a{display:none}
 .identity-card p{font-size:13px}
 .account-form .fields-row{gap:14px}
 .account-form label.field{margin-bottom:0}
 .account-form{gap:16px}
 .session-card{flex-wrap:wrap}
 .group-head h2{font-size:22px}
 body[data-page=home] #home .home-hero{min-height:0;padding-top:36px;padding-bottom:40px}
 body[data-page=home] :is(#home,#how-it-works){scroll-margin-top:60px}
}
@media(max-width:359px){.discovery-toolbar .week{align-items:flex-start}.discovery-toolbar .plan-count{width:100%;padding-left:8px}}

body[data-page=profile] .page-heading p{display:none}
body[data-page=discover] :is(.actions .btn,.detail-actions .btn,.close){min-height:44px}
body[data-page=discover] .close{min-width:44px}

.event-history{margin-top:28px}.event-history>h2{font:400 26px Georgia,serif;margin:0 0 16px}.history-card h3{font-size:18px;margin:0 0 8px}.history-card p{font-size:14px;color:#6b6470;margin:6px 0}.history-label{display:inline-block;font-size:11px;color:#6e4e73;background:#eee4f0;border-radius:14px;padding:5px 9px}.group-link{color:#6e4e73;font-size:13px;min-height:44px;display:inline-flex;align-items:center}.group-card:target{outline:2px solid #79577e;outline-offset:3px;scroll-margin-top:80px}.member .history-cue{color:#604364;font-weight:600}.group-closed{font-size:12px;color:#6b6470;margin:8px 0 0}

/* Author display rules must never override hidden state (including signed-in header actions). */
[hidden]{display:none!important}

/* Match the Login form to the compact Join headings despite legacy walkthrough selectors. */
.walkthrough .login-page{padding:24px 0}.walkthrough .login-page h1{font-size:36px;line-height:1.13;letter-spacing:-.8px;margin:0 0 12px}.walkthrough .login-page .step-two-photos{min-height:480px}
@media(max-width:760px){.walkthrough .login-page{padding:16px 0}.walkthrough .login-page h1{font-size:28px}}

.phone-privacy{font-size:14px;line-height:1.5;color:#6b6470;margin:12px 0 16px}

@media(max-width:600px){
 .site-header .site-brand{order:1;font-size:21px}
 .site-header .site-auth-actions{order:2;margin-left:auto;gap:2px}
 .site-header .site-auth-actions :is(a,button){padding:10px 8px;font-size:13px}
 .site-header .site-auth-actions .header-join{padding:10px 12px}
 .site-header .site-menu-toggle{order:3;margin-left:0;min-width:44px;padding:0 6px;font-size:12px}
 .site-header .site-navigation{order:4;margin-left:0}
 body[data-page=home] .scroll-invitation{position:static;transform:none;width:max-content;max-width:100%;margin:0 auto;min-height:60px;padding:0 16px 16px}
 body[data-page=home] #home .home-hero{padding-bottom:24px}
}
