/* Planner headings exclude the measured A4 canvas so preview and PDF keep identical geometry. */
/* Component patterns adapted to Ely's native WordPress controls. */
.ely-caps-lock-warning:not(:empty){display:block;flex-basis:100%;margin-top:6px;font-size:13px;line-height:1.5;color:var(--ely-navy,#102b46)}
@media screen {
.ely-event{background:#f4f3ef;padding-top:32px;padding-bottom:80px}
.ely-event>.ely-container{max-width:1240px}
.ely-event .ely-event-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;overflow:hidden;background:var(--ely-navy);color:#fff;border-radius:22px;padding:44px 48px;margin:0 0 28px;box-shadow:0 16px 40px #07162912}
.ely-event .ely-event-hero .ely-section-label{color:var(--ely-gold-light);letter-spacing:.18em;font-size:11px}
.ely-event .ely-event-hero h1{color:#fff;font-family:var(--ely-heading-font);font-size:clamp(2.3rem,4vw,3.7rem);font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:16px 0 18px}
.ely-event .ely-event-hero p{color:#c7d0da;max-width:480px;font-size:15px;line-height:1.7}
.ely-event-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.ely-event-hero-tags span{border:1px solid #ffffff24;border-radius:30px;padding:5px 12px;font-size:11px;color:#e9dfcc}
.ely-event-hero-art{flex:0 0 230px;color:var(--ely-gold-light);text-align:center}
.ely-event-hero-art svg{display:block;width:220px;height:220px}.ely-event-hero-art>span{font-size:9px;letter-spacing:.23em}
#ely-event-app .ely-event-steps{padding:8px;background:#e9e8e2;border-radius:14px;gap:8px;margin-bottom:28px}
#ely-event-app .ely-event-steps button{border:0;border-radius:9px;min-height:56px;color:#64707c;font-weight:600;box-shadow:none}
#ely-event-app .ely-event-steps button[aria-current=step]{background:#fff;color:var(--ely-navy);box-shadow:0 2px 8px #0716290c}
#ely-event-app .ely-event-steps button[aria-current=step] span{color:#8a651b}
#ely-event-app .ely-event-layout{gap:24px;grid-template-columns:minmax(0,1fr) 340px;align-items:start}
#ely-event-app .ely-event-panel{background:#fff;border:1px solid #e5e5df;border-radius:16px;padding:28px;box-shadow:0 4px 20px #07162904}
#ely-event-app h2:where(:not(.menu-page *)){font-family:var(--ely-heading-font);font-size:25px;font-weight:400;letter-spacing:-.02em;margin:8px 0 12px}
.ely-planner-eyebrow{font:700 10px/1.5 var(--ely-body-font);letter-spacing:.15em;text-transform:uppercase;color:#937035}
.ely-planner-intro{font-size:14px;color:var(--ely-muted);margin:0 0 24px}
#ely-event-app .ely-event-alcohol-switch{display:flex;background:#f4f3ef;padding:5px;border-radius:10px;gap:4px;margin-bottom:18px}
#ely-event-app .ely-event-alcohol-switch button{flex:1;background:transparent;border:0;border-radius:7px;color:#66717c;font-size:12px;padding:10px 8px}
#ely-event-app .ely-event-alcohol-switch button[aria-pressed=true]{background:#fff;color:var(--ely-navy);box-shadow:0 2px 5px #07162910}
#ely-event-app #event-add-drink{background:var(--ely-navy)!important;color:#fff;border:0!important;border-radius:var(--ely-radius-control);padding:15px 20px;font-weight:600;text-align:center}
#ely-event-app #event-add-drink:hover{background:#16324e!important}
#ely-event-app #event-empty{padding:26px 20px;border:1px dashed #d9d9cd;background:#fafaf7;border-radius:12px;font-size:13px;line-height:1.8;text-align:center;margin:16px 0 24px;color:#69737c}
#ely-event-app #event-caipirinhas{box-shadow:none;background:#fbfaf6;border-color:#eee9de;margin-top:24px;padding:20px}
#ely-event-app #event-caipirinhas h2:where(:not(.menu-page *)){font-size:20px;margin:0 0 12px}
#ely-event-app input[type=checkbox]{accent-color:var(--ely-navy);width:18px;height:18px}
#ely-event-app .ely-event-step-actions{padding-top:22px;border-top:1px solid #eee;margin-bottom:0}
#ely-event-app .ely-event-step-actions .ely-button{background:var(--ely-navy);color:white;border:0;border-radius:9px;padding:13px 18px}
#ely-event-app .ely-event-sidebar .ely-event-panel{padding:22px}
#ely-event-app .ely-event-sidebar h2:where(:not(.menu-page *)){font-family:var(--ely-body-font);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
#ely-event-app .ely-event-sidebar>.ely-event-panel:last-child{background:var(--ely-navy);color:#fff;border-color:var(--ely-navy)}
#ely-event-app .ely-event-sidebar>.ely-event-panel:last-child h2:where(:not(.menu-page *)){color:var(--ely-gold-light)}
#ely-event-app .ely-event-sidebar>.ely-event-panel:last-child .ely-event-hint{color:#c7d0da}
#ely-event-app .ely-event-sidebar>.ely-event-panel:last-child button{width:100%;background:#fff;color:var(--ely-navy);border:0;border-radius:8px;padding:12px;margin-top:14px;font-size:12px;font-weight:600}
#ely-event-app .ely-event-summary-numbers{font-size:13px;line-height:2}
#ely-event-app .ely-event-summary-numbers strong{font-size:22px;font-weight:500;color:var(--ely-gold-light)}
#ely-event-app .ely-event-dialog{padding:28px;border:0;border-radius:20px;box-shadow:0 28px 100px #07162940}
#ely-event-app .ely-event-dialog::backdrop{background:#07162999;backdrop-filter:blur(4px)}
#ely-event-app #event-choices article{padding:12px;border-color:#e6e6df;border-radius:14px;background:#fff;box-shadow:0 3px 12px #07162906}
#ely-event-app #event-choices img{height:155px;border-radius:9px;background:#f7f5ef}
#ely-event-app #event-choices button{border-radius:8px;background:var(--ely-navy);color:#fff;border-color:var(--ely-navy)}
#ely-event-app .ely-event-drink{padding:20px;margin-top:16px;border-color:#e6e6df;border-radius:12px}
#ely-event-app.ely-event-show-result .ely-event-layout{grid-template-columns:minmax(0,1fr)}
@media(max-width:1000px){#ely-event-app .ely-event-layout{grid-template-columns:minmax(0,1fr)}.ely-event-hero-art{flex-basis:180px}.ely-event-hero-art svg{width:180px;height:180px}}
@media(max-width:600px){.ely-event{padding-top:18px}.ely-event .ely-event-hero{padding:28px 24px;border-radius:16px;margin-bottom:20px}.ely-event-hero-art{display:none}.ely-event .ely-event-hero h1{font-size:2.5rem}.ely-event .ely-event-hero p{font-size:13px}.ely-event-hero-tags{gap:6px;margin-top:20px}.ely-event-hero-tags span{font-size:10px;padding:4px 9px}#ely-event-app .ely-event-panel{padding:20px;border-radius:14px}#ely-event-app .ely-event-steps{margin-bottom:20px}#ely-event-app .ely-event-steps button{min-height:52px;font-size:12px}#ely-event-app .ely-event-alcohol-switch button{font-size:10px;padding:9px 5px}#ely-event-app h2:where(:not(.menu-page *)){font-size:23px}#ely-event-app .ely-event-dialog{padding:16px}#ely-event-app #event-choices img{height:115px}}
}
:is(#ely-event-app,.ely-community,.ely-account-shell,.ely-ai) :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ely-focus);outline-offset:3px}
:is(#ely-event-app,.ely-community-form,.ely-community-filters) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){border:1px solid var(--ely-control-border);border-radius:var(--ely-radius-control);background:var(--ely-white);color:var(--ely-text);font-size:16px;min-height:var(--ely-control-height);padding:var(--ely-control-padding,10px 12px);max-width:100%}
:is(#ely-event-app,.ely-community-form) [aria-invalid=true]{border-color:var(--ely-error);box-shadow:0 0 0 1px var(--ely-error)}
:is(#ely-event-app,.ely-community-form,.ely-ai) button:disabled{cursor:wait;opacity:.6}
.ely-select-search{display:block;width:100%;margin:6px 0!important;font-weight:400}
.ely-control-help{display:block;font-size:var(--ely-text-sm);line-height:1.5;color:var(--ely-muted);font-weight:400}
.ely-control-help:empty{display:none}
.ely-recipe-filter-panel{border:1px solid var(--ely-border);border-radius:12px;background:#fff;margin:24px 0;overflow:hidden}
.ely-recipe-filter-panel>summary{padding:16px 20px;font-weight:700;color:var(--ely-navy);cursor:pointer;background:var(--ely-cream);min-height:48px}
.ely-recipe-filter-panel .ely-community-filters{margin:0;padding:20px;border:0;border-radius:0}
.ely-empty-state{border:1px dashed var(--ely-border);border-radius:12px;padding:32px 24px;text-align:center;background:var(--ely-cream)}
#event-choices[aria-busy=true]{opacity:.65;cursor:progress}
#event-choices article{border-radius:12px;overflow:hidden;border:1px solid var(--ely-border)}
#event-choices article:focus-within{box-shadow:0 0 0 2px var(--ely-gold)}
.ely-event-steps [aria-current=step]{box-shadow:inset 0 -3px var(--ely-gold)}
@media(max-width:760px){.ely-recipe-filter-panel .ely-community-filters{display:grid;grid-template-columns:minmax(0,1fr);padding:16px}.ely-recipe-filter-panel .ely-community-filters>*{min-width:0;width:100%;grid-column:auto}.ely-recipe-filter-panel>summary{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){#ely-event-app *,.ely-recipe-filter-panel *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Planner hierarchy: current task first, contextual help and a quiet summary. */
@media screen {
 .ely-event { background:var(--ely-surface-soft); padding-top:24px; }
 .ely-event .ely-event-hero { padding:28px 32px; margin-bottom:24px; border-radius:var(--ely-radius-panel); box-shadow:none; gap:24px; }
 .ely-event .ely-event-hero h1 { font-size:clamp(1.75rem,3vw,2.5rem); line-height:var(--ely-line-heading); margin:12px 0; letter-spacing:-.025em; }
 .ely-event .ely-event-hero p { font-size:1rem; margin:0; line-height:1.6; }
 .ely-event-hero-tags { margin-top:16px; }
 .ely-event-hero-art { flex-basis:120px; }
 .ely-event-hero-art svg { width:120px; height:120px; }
 #ely-event-app .ely-event-steps { margin-bottom:24px; background:var(--ely-cream); }
 #ely-event-app .ely-event-steps button { color:var(--ely-muted); border-radius:var(--ely-radius-control); }
 #ely-event-app .ely-event-steps button[aria-current=step] { color:var(--ely-navy); box-shadow:var(--ely-shadow-card); }
 #ely-event-app .ely-event-panel { border-color:var(--ely-border); box-shadow:none; border-radius:var(--ely-radius-panel); padding:24px; }
 #ely-event-app .ely-event-alcohol-switch button { font-size:var(--ely-text-sm); min-height:44px; }
 #ely-event-app #event-add-drink { min-height:48px; font-size:1rem; }
 #ely-event-app .ely-planner-intro { margin-bottom:16px; }
 .ely-event-help { margin:16px 0; border-bottom:1px solid var(--ely-border); }
 .ely-event-help > summary { min-height:44px; padding:12px 0; font-size:var(--ely-text-sm); color:var(--ely-muted); cursor:pointer; }
 .ely-event-help:has(#event-empty[hidden]) { display:none; }
 #ely-event-app #event-empty { border:0; text-align:left; background:transparent; padding:0 0 16px; margin:0; font-size:var(--ely-text-sm); }
 #ely-event-app .ely-event-sidebar > .ely-event-panel:last-child { background:var(--ely-cream); color:var(--ely-navy); border-color:var(--ely-border); }
 #ely-event-app .ely-event-sidebar > .ely-event-panel:last-child :is(h2:where(:not(.menu-page *)),.ely-event-summary-numbers strong) { color:var(--ely-accent-text); }
 #ely-event-app .ely-event-sidebar > .ely-event-panel:last-child .ely-event-hint { color:var(--ely-muted); }
 #ely-event-app .ely-event-sidebar > .ely-event-panel:last-child button { min-height:44px; border:1px solid var(--ely-control-border); font-size:var(--ely-text-sm); }
 @media(max-width:600px) {
  .ely-event { padding-top:16px; }
  .ely-event .ely-event-hero { padding:20px; margin-bottom:16px; }
  .ely-event .ely-event-hero h1 { font-size:1.75rem; }
  .ely-event .ely-event-hero h1 br { display:none; }
  .ely-event-hero-tags { margin-top:12px; flex-wrap:wrap; }
  #ely-event-app .ely-event-panel { padding:20px 16px; }
  #ely-event-app .ely-event-alcohol-switch { flex-wrap:wrap; }
  #ely-event-app .ely-event-alcohol-switch button { font-size:.875rem; flex:1 1 75px; }
 }
}

/* Compact planner progress; scoped to navigation, including its mobile overrides. */
@media screen {
 #ely-event-app .ely-event-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:6px; border:1px solid #d9d3c6; border-radius:12px; background:#f4f0e7; margin-bottom:20px; }
 #ely-event-app .ely-event-steps button { position:relative; min-width:0; min-height:64px; display:flex; flex-direction:column; justify-content:center; gap:5px; padding:7px 2px 10px; border:0; border-radius:7px; font-size:13px; line-height:1.2; font-weight:600; color:#505c68; background:transparent; box-shadow:none; }
 #ely-event-app .ely-event-steps button::after { content:''; position:absolute; bottom:0; left:8px; right:8px; height:3px; border-radius:3px; background:#c9c5bc; }
 #ely-event-app .ely-event-steps .ely-step-number { display:grid; place-items:center; width:22px; height:22px; border:1px solid #7c8389; border-radius:50%; font-size:12px; font-weight:700; color:inherit; }
 #ely-event-app .ely-event-steps .ely-step-status { position:absolute; top:5px; right:6px; font-size:12px; color:#31573e; }
 #ely-event-app .ely-event-steps button[data-complete=true] { color:#31573e; }
 #ely-event-app .ely-event-steps button[data-complete=true]::after { background:#426d50; }
 #ely-event-app .ely-event-steps button[aria-current=step] { background:var(--ely-navy); color:#fff; box-shadow:none; }
 #ely-event-app .ely-event-steps button[aria-current=step] span { color:#fff; }
 #ely-event-app .ely-event-steps button[aria-current=step] .ely-step-number { border-color:#d8bb76; }
 #ely-event-app .ely-event-steps button[aria-current=step]::after { background:#d8bb76; }
 #ely-event-app .ely-event-steps button:focus-visible { outline:3px solid #8a651b; outline-offset:3px; }
}
