/* Woodbury directory, scoped to the page and its native modal. */
.wb.wb-directory-page{padding:40px 20px 64px}
.wb .wb-directory-intro{padding:36px 40px;background:var(--blossom);border-radius:28px;margin:0 0 28px}
.wb .wb-directory-intro .wb-eyebrow{margin:0 0 18px;font-size:.8rem;line-height:1.2;color:var(--ember)}
.wb .wb-directory-intro h1{font-size:clamp(2.5rem,5.5vw,4.7rem);margin:0 0 20px;letter-spacing:-.055em;line-height:1}
.wb .wb-directory-intro .wb-lead{max-width:700px;font-size:1.08rem;line-height:1.6;margin:0 0 24px}
.wb .wb-directory-context{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;font-size:.9rem;color:var(--muted)}
.wb .wb-directory-context>span{display:inline-flex;align-items:center;gap:8px}
.wb .wb-directory-context>span::before{content:"";width:6px;height:6px;background:var(--status-open);border-radius:50%}
.wb .wb-directory-context>span:nth-child(2)::before{background:var(--ember)}
.wb .wb-directory-context a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;gap:8px}
.wb .wb-directory [hidden],.wb .wb-store-dialog [hidden]{display:none!important}
.wb .wb-directory-search{padding:24px;background:var(--twilight);border-radius:22px;margin-bottom:16px}
.wb .wb-directory-search>label{display:block;color:var(--on-twilight);font-size:.9rem;font-weight:650;margin:0 0 10px}
.wb .wb-directory-searchbox{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px;border-radius:16px;background:var(--white);color:var(--twilight)}
.wb .wb-directory-searchbox input{min-width:0;flex:1;border:0;background:transparent;padding:12px 0;min-height:48px;color:var(--ink);font:inherit}
.wb .wb-directory-searchbox .wb-btn{flex-shrink:0;border-radius:12px;padding:14px 24px}
.wb .wb-directory-searchbox input:focus-visible{outline-color:var(--twilight)}
.wb .wb-directory-filter-panel{border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:var(--white)}
.wb .wb-directory-filter-panel>summary{display:none}
.wb .wb-directory-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.85fr) auto;gap:14px;align-items:end}
.wb .wb-directory-filters label{display:block;font-size:.8rem;font-weight:650;margin:0 0 7px;color:var(--muted)}
.wb .wb-directory-filters select{font:inherit;font-size:.9rem;line-height:1.3;color:var(--ink);background:var(--white);border:1px solid var(--border-control);border-radius:10px;width:100%;height:48px;padding:10px 34px 10px 12px}
.wb .wb-directory-clear{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px;border:0;background:transparent;color:var(--ember);text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.9rem;font-weight:650;white-space:nowrap}
.wb .wb-directory-clear:disabled{color:var(--muted);opacity:.65;cursor:default;text-decoration:none}
.wb .wb-directory-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:32px 0 16px}
.wb .wb-directory-results-head h2{font-size:1.7rem;line-height:1.1;margin:0;letter-spacing:-.035em}
.wb .wb-directory-results-head p{margin:0;color:var(--muted);font-size:.95rem}
.wb .wb-directory-alphabet{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:24px;padding:10px;background:var(--blossom);border-radius:14px}
.wb .wb-directory-alphabet button{border:0;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;font:inherit;font-size:.84rem;font-weight:650;border-radius:9px}
.wb .wb-directory-alphabet button:first-child{min-width:48px}
.wb .wb-directory-alphabet button[aria-pressed=true]{background:var(--twilight);color:var(--white)}
.wb .wb-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wb .wb-store-card{border:1px solid var(--line);border-radius:18px;background:var(--white);min-width:0;overflow:hidden;transition:box-shadow 180ms,transform 180ms;display:flex;flex-direction:column}
.wb .wb-store-card:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px);border-color:var(--border-control)}
.wb .wb-store-open{display:flex;flex:1;flex-direction:column;align-items:flex-start;text-align:left;width:100%;min-height:190px;border:0;border-radius:0;background:transparent;color:var(--ink);padding:22px;cursor:pointer;font:inherit}
.wb .wb-store-open:is(:hover,:focus,:active){color:var(--ink);background:var(--blossom)}
.wb .wb-store-category{font-size:.7rem;color:var(--muted);font-weight:650;line-height:1.5;margin:0 0 12px;letter-spacing:.03em}
.wb .wb-store-name{font-size:1.3rem;font-weight:750;letter-spacing:-.035em;line-height:1.2;margin-bottom:12px;overflow-wrap:anywhere}
.wb .wb-store-district{font-size:.82rem;color:var(--muted);line-height:1.4;margin-bottom:20px}
.wb .wb-store-card-bottom{display:flex;width:100%;gap:10px;align-items:center;justify-content:space-between;margin-top:auto;font-size:.75rem}
.wb .wb-store-status{display:inline-flex;align-items:center;gap:6px;color:var(--status-open);background:#edf4f1;border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:650}
.wb .wb-store-status--soon{color:var(--ember);background:#f8eee9}
.wb .wb-store-detail-label{display:inline-flex;align-items:center;gap:7px;color:var(--ember);font-weight:650;font-size:.76rem}
.wb .wb-store-guides{border-top:1px solid var(--line);padding:0 22px}
.wb .wb-store-guides a{display:inline-flex;align-items:center;min-height:44px;gap:8px;font-size:.8rem;font-weight:650;text-decoration:none}
.wb .wb-directory-more{display:flex;flex-direction:column;align-items:center;gap:12px;margin:32px 0}
.wb .wb-directory-more p{font-size:.85rem;margin:0;color:var(--muted)}
.wb .wb-directory-empty{padding:48px 24px;text-align:center;background:var(--blossom);border-radius:22px}
.wb .wb-directory-empty h3{margin:0 0 14px;font-size:1.6rem}
.wb .wb-directory-source-note{font-size:.82rem;line-height:1.6;color:var(--muted);padding:20px 0 0;border-top:1px solid var(--line)}
.wb .wb-store-dialog{width:calc(100% - 32px);max-width:560px;max-height:calc(100dvh - 32px);border:0;border-radius:26px;padding:36px;color:var(--ink);background:var(--white);overflow:auto;font-family:var(--font-sans)}
.wb .wb-store-dialog::backdrop{background:rgba(11,35,24,.55)}
.wb .wb-dialog-close{display:grid;place-items:center;float:right;width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid var(--border-control);border-radius:50%;background:var(--white);color:var(--ink);padding:0;margin-left:12px;cursor:pointer}
.wb .wb-dialog-close:hover{background:var(--blossom)}
.wb .wb-store-dialog .wb-eyebrow{font-size:.75rem;line-height:1.2;margin:8px 0 24px}
.wb .wb-store-dialog h2{font-size:clamp(2rem,5vw,2.8rem);margin:0 0 14px;line-height:1.05;letter-spacing:-.05em}
.wb .wb-store-dialog #dialog-category{font-size:.95rem;line-height:1.5;margin:0 0 24px}
.wb .wb-store-dialog #dialog-description{font-size:1.04rem;line-height:1.6;margin:0 0 24px}
.wb .wb-store-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px;margin:0;background:var(--blossom);border-radius:16px}
.wb .wb-store-facts div{min-width:0}
.wb .wb-store-facts dt{font-size:.75rem;color:var(--muted);margin:0 0 5px}
.wb .wb-store-facts dd{font-size:.95rem;line-height:1.4;font-weight:650;margin:0;overflow-wrap:anywhere}
.wb .wb-dialog-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.wb .wb-directory-faq{margin-top:48px;padding-top:12px;border-top:1px solid var(--line)}
.wb .wb-directory-faq .section{padding:24px 0}
.wb .wb-directory-faq h2{margin-top:0;font-size:2rem}
.wb .wb-directory-notes{margin-top:32px;border:1px solid var(--line);border-radius:18px;padding:4px 22px}
.wb .wb-directory-notes>summary{min-height:60px;display:list-item;padding:18px 0;font-weight:700;color:var(--twilight);cursor:pointer}
.wb .wb-directory-notes-body{padding:16px 0 24px}
.wb .wb-directory-notes-body .wb-article-grid{display:block}
.wb .wb-directory-notes-body .wb-article-aside{position:static;margin:0 0 24px}
.wb .wb-directory-notes-body #ez-toc-container{max-height:none}
@media(max-width:1000px){.wb .wb-directory-filters{grid-template-columns:1fr 1fr}.wb .wb-directory-clear{justify-self:start}.wb .wb-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .wb.wb-directory-page{padding:24px 6px 48px}.wb .wb-directory-intro{padding:28px 24px;margin-bottom:20px}.wb .wb-directory-intro h1{font-size:2.7rem}
 .wb .wb-directory-context{gap:6px 18px;font-size:.82rem}.wb .wb-directory-context a{font-size:.82rem}
 .wb .wb-directory-search{padding:20px}.wb .wb-directory-searchbox{flex-wrap:wrap;gap:8px;padding:10px 12px}.wb .wb-directory-searchbox input{width:calc(100% - 34px);flex-basis:calc(100% - 34px);font-size:1rem}.wb .wb-directory-searchbox .wb-btn{width:100%}
 .wb .wb-directory-filter-panel{padding:0 18px}.wb .wb-directory-filter-panel>summary{display:list-item;padding:16px 0;min-height:54px;font-weight:650;color:var(--twilight);cursor:pointer}
 .wb .wb-directory-filters{grid-template-columns:1fr;padding:4px 0 18px}.wb .wb-directory-clear{padding-inline:0}
 .wb .wb-directory-results-head{padding-top:28px}.wb .wb-directory-results-head h2{font-size:1.55rem}.wb .wb-directory-results-head p{font-size:.86rem}
 .wb .wb-directory-alphabet{flex-wrap:nowrap;overflow:auto;scrollbar-width:thin;margin-bottom:20px}.wb .wb-directory-alphabet button{flex-shrink:0;min-width:40px}
 .wb .wb-directory-grid{grid-template-columns:1fr;gap:12px}.wb .wb-store-open{min-height:160px;padding:22px}.wb .wb-store-name{font-size:1.4rem}.wb .wb-store-category{font-size:.72rem}.wb .wb-store-district{margin-bottom:18px}.wb .wb-store-status,.wb .wb-store-detail-label{font-size:.78rem}
 .wb .wb-store-dialog{padding:28px 24px}.wb .wb-store-facts{padding:20px;gap:16px}.wb .wb-store-dialog h2{font-size:2.2rem}
 .wb .wb-directory-faq h2{font-size:1.7rem}.wb .wb-directory-notes{padding-inline:18px}
}
@media(prefers-reduced-motion:reduce){.wb .wb-store-card{transition:none}.wb .wb-store-card:hover{transform:none}}

/* Named map colours matched to canonical stores.zone; text never relies on colour. */
.wb [data-district-tone]{--district-color:#65716b;--district-tint:#eef1ef}
.wb [data-district-tone=brown]{--district-color:#8b5e3c;--district-tint:#f4ece6}
.wb [data-district-tone=red]{--district-color:#bd3939;--district-tint:#fbecec}
.wb [data-district-tone=orange]{--district-color:#c36b16;--district-tint:#fcf0e3}
.wb [data-district-tone=blue]{--district-color:#2d6fa8;--district-tint:#e9f1f9}
.wb [data-district-tone=green]{--district-color:#367546;--district-tint:#eaf3ec}
.wb .wb-district-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:6px 9px;border-radius:8px;background:var(--district-tint);color:var(--ink);font-size:.78rem;line-height:1.4;font-weight:600;text-align:left}
.wb .wb-district-badge::before{content:"";display:block;flex:none;width:9px;height:9px;border-radius:50%;background:var(--district-color)}
.wb .wb-store-facts .wb-district-link{min-height:44px;border:1px solid var(--district-color);border-radius:12px;padding:9px 10px;text-decoration:none;font-size:.85rem}
.wb .wb-district-link:hover{background:var(--white);color:var(--ink)}
.wb .wb-district-link:focus-visible{outline:3px solid var(--twilight);outline-offset:3px}

/* Compact category guidance and the final trip-planning step. */
.wb .wb-category-context{padding:20px 24px;margin:20px 0 28px;border-radius:16px;background:var(--blossom);color:var(--ink)}
.wb .wb-category-context h2{font-size:1.15rem;line-height:1.3;margin:0 0 8px}
.wb .wb-category-context p{max-width:850px;margin:0;font-size:.94rem;line-height:1.65;color:var(--muted)}
.wb .wb-directory-tips{margin:48px 0;padding-top:36px;border-top:1px solid var(--line)}
.wb :is(.wb-directory-tips,.wb-directory-trip) h2{font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.1;margin:0 0 24px}
.wb .wb-directory-tip-grid,.wb .wb-directory-trip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.wb :is(.wb-directory-tip-grid,.wb-directory-trip-grid) h3{font-size:1.1rem;line-height:1.3;margin:0 0 12px}
.wb :is(.wb-directory-tip-grid,.wb-directory-trip-grid) p{font-size:.94rem;line-height:1.65;margin:0;color:var(--muted)}
.wb .wb-directory-trip{padding:32px;background:var(--blossom);border-radius:22px;margin-top:48px}
.wb .wb-directory-trip>.wb-eyebrow{margin:0 0 12px}
.wb .wb-directory-trip>p:not(.wb-eyebrow){margin:0 0 24px;color:var(--muted)}
.wb .wb-directory-trip-grid>a{display:block;padding:24px;background:var(--white);border:1px solid var(--border-control);border-radius:16px;text-decoration:none;color:var(--ink)}
.wb .wb-directory-trip-grid>a:hover{border-color:var(--twilight)}
.wb .wb-directory-trip-grid h3{display:flex;justify-content:space-between;gap:12px;color:var(--twilight)}
@media(max-width:700px){.wb .wb-directory-tip-grid,.wb .wb-directory-trip-grid{grid-template-columns:1fr;gap:18px}.wb .wb-directory-trip{padding:24px 20px}.wb .wb-category-context{padding:18px}}

.wb .legacy-anchor-registry{height:0;overflow:hidden;position:relative}
.wb .legacy-anchor-registry .legacy-anchor{display:block;width:0;height:0;min-height:0;padding:0!important;margin:0!important;border:0!important;overflow:hidden}
