/* Self-hosted, subset variable fonts (design/fonts). Fraunces: opsz 16-144, wght 500-700.
   Figtree: wght 400-700. Latin + £ ’ “ ” – — … ½ only. */
@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 500 700; font-display: swap; src: url('../fonts/fraunces-normal.woff2') format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 500 700; font-display: swap; src: url('../fonts/fraunces-italic.woff2') format('woff2'); }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/figtree-normal.woff2') format('woff2'); }
/* Wantage.com design system, v0.3
 * Token names follow Relume's scale (text-h1…tiny, scheme-*, radius-*) so section
 * patterns port cleanly. These become Bricks global variables and classes (PLAN §9).
 * No build step. Keep this file small: it is the entire component layer. */

:root {
  /* Palette: cool chalk & sage neutrals, Market Place brick, Vale green, gold sun.
     No warm cream: neutrals carry a faint green-grey tint (v0.3). */
  --color-chalk: #F3F6F2;
  --color-paper: #FFFFFF;
  --color-white: #FFFFFF;
  --color-ink: #17231C;
  --color-ink-2: #4A564E;
  --color-ink-3: #5B665F;
  --color-line: #DDE4DD;
  --color-line-2: #CCD6CD;
  --color-green: #1F4633;
  --color-green-dark: #14301F;
  --color-green-ink: #D5DED6;
  --color-moss: #E3EBDF;
  --color-brick: #A8481F;
  --color-brick-dark: #8A3A17;
  --color-sand: #F7E4DA; /* blush: food & drink tint */
  --color-stone: #E5EAE4;
  --color-slate: #DDE6EA;
  --color-slate-ink: #2C4A5A;
  --color-gold: #E7B54A;
  --color-ok: #1F6B3F;
  --color-ok-dot: #2E7D4F;
  --color-warn: #8A5A00;

  /* Scheme (Relume naming) */
  --scheme-background: var(--color-chalk);
  --scheme-foreground: var(--color-paper);
  --scheme-text: var(--color-ink);
  --scheme-border: var(--color-line);
  --scheme-accent: var(--color-brick);

  /* Type */
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Figtree', system-ui, sans-serif;
  /* px, not rem: Bricks sets html{font-size:62.5%}. */
  --text-h1: 72px;
  --text-h2: 46px;
  --text-h3: 32px;
  --text-h4: 24px;
  --text-h5: 20px;
  --text-h6: 17px;
  --text-large: 20px;
  --text-medium: 18px;
  --text-regular: 16px;
  --text-small: 14px;
  --text-tiny: 12px;

  /* Shape and depth */
  --radius-button: 999px;
  --radius-card: 20px;
  --radius-image: 24px;
  --radius-form: 14px;
  --radius-badge: 999px;
  --shadow-float: 0 24px 48px -20px rgba(23, 35, 28, 0.35);
  --shadow-card: 0 1px 0 rgba(23, 35, 28, 0.04), 0 10px 24px -18px rgba(23, 35, 28, 0.3);

  /* Layout */
  --gutter: 120px;
  --section: 104px;
}

/* Base */
body { margin: 0; background: var(--scheme-background); color: var(--scheme-text); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, p { margin: 0; }
a { color: var(--color-green); text-decoration: none; }
a:hover { color: var(--color-green-dark); }
img { display: block; }
.serif { font-family: var(--font-display); font-optical-sizing: auto; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ic { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.ic-sm { width: 16px; height: 16px; }
.ic-lg { width: 24px; height: 24px; }

/* Headings */
.eyebrow { font-size: var(--text-small); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--scheme-accent); }
.h-display { font-family: var(--font-display); font-size: var(--text-h1); font-weight: 600; line-height: 1; letter-spacing: -0.028em; }
.h-display em, .h2 em { font-style: italic; font-weight: 500; color: var(--color-brick); }
.h2 { font-family: var(--font-display); font-size: var(--text-h2); font-weight: 600; line-height: 1.05; letter-spacing: -0.02em; }
.h3 { font-family: var(--font-display); font-size: var(--text-h3); font-weight: 600; line-height: 1.1; letter-spacing: -0.015em; }
.h4 { font-family: var(--font-display); font-size: var(--text-h4); font-weight: 600; line-height: 1.15; }
.h5 { font-family: var(--font-display); font-size: var(--text-h5); font-weight: 600; line-height: 1.2; }
.lede { font-size: var(--text-large); line-height: 1.55; color: var(--color-ink-2); }
.body { font-size: var(--text-regular); line-height: 1.65; color: var(--color-ink-2); }
.meta { font-size: var(--text-small); font-weight: 600; color: var(--color-ink-3); }

/* Section head: eyebrow + title left, link right */
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.section-head > div { display: flex; flex-direction: column; gap: 10px; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: var(--text-regular); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 22px; border-radius: var(--radius-button); font: inherit; font-weight: 700; font-size: 15px; border: 0; cursor: pointer; white-space: nowrap; }
.btn-lg { height: 56px; padding: 0 28px; font-size: 16px; }
.btn-sm { height: 40px; padding: 0 16px; font-size: 14px; }
.btn-primary { background: var(--color-brick); color: #FFFFFF; }
.btn-primary:hover { background: var(--color-brick-dark); color: #FFFFFF; }
.btn-green { background: var(--color-green); color: #FFFFFF; }
.btn-green:hover { background: var(--color-green-dark); color: #FFFFFF; }
.btn-outline { background: transparent; color: var(--color-green); box-shadow: inset 0 0 0 1.5px var(--color-green); }
.btn-light { background: var(--color-paper); color: var(--color-ink); }
.btn-ghost-light { background: transparent; color: var(--color-chalk); box-shadow: inset 0 0 0 1.5px rgba(244, 239, 228, 0.5); }
.btn-square { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border-radius: 12px; background: var(--color-white); color: var(--color-ink); box-shadow: inset 0 0 0 1px var(--color-line-2); }
.btn-block { width: 100%; }

/* Chips and badges */
.chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: var(--radius-badge); background: var(--color-white); box-shadow: inset 0 0 0 1px var(--color-line-2); color: var(--color-ink); font-size: 15px; font-weight: 500; white-space: nowrap; }
.chip-on { background: var(--color-green); color: #FFFFFF; box-shadow: none; }
.chip b { font-weight: 600; color: var(--color-ink-3); }
.chip-on b { color: #CFE0D3; }
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: var(--radius-badge); font-size: 12px; font-weight: 700; white-space: nowrap; }
.badge-open { background: var(--color-white); color: var(--color-ok); }
.badge-open::before, .badge-dot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--color-ok-dot); }
.badge-featured { background: var(--color-gold); color: var(--color-ink); }
.badge-checked { background: var(--color-moss); color: var(--color-green); }
.badge-muted { background: var(--color-stone); color: var(--color-ink-2); }
.badge-warn { background: #FBEBC8; color: var(--color-warn); }

/* Cards */
.card { background: var(--color-white); border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line); overflow: hidden; }
.card-paper { background: var(--color-paper); }
.card-lift { box-shadow: inset 0 0 0 1px var(--color-line), var(--shadow-card); }

/* Listing card media fallback: tinted field + category glyph + downland contours */
.fallback { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.fallback svg.contours { position: absolute; inset: auto 0 0 0; width: 100%; height: 60%; opacity: 0.35; }
.tint-sand { background: var(--color-sand); color: var(--color-brick-dark); }
.tint-moss { background: var(--color-moss); color: var(--color-green); }
.tint-slate { background: var(--color-slate); color: var(--color-slate-ink); }
.tint-stone { background: var(--color-stone); color: var(--color-ink-2); }

/* Forms */
.field { height: 52px; border-radius: 12px; border: 1px solid var(--color-line-2); padding: 0 16px; font: inherit; font-size: 16px; background: var(--color-white); color: var(--color-ink); box-sizing: border-box; }
.label { font-size: var(--text-small); font-weight: 700; color: var(--color-ink); }
.toggle { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--color-ink); }
.toggle i { width: 40px; height: 24px; border-radius: 999px; background: var(--color-line-2); position: relative; }
.toggle i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #FFFFFF; }
.toggle.on i { background: var(--color-green); }
.toggle.on i::after { left: 19px; }

/* Navigation */
.nav-link { color: var(--color-ink); font-weight: 600; font-size: 16px; padding: 30px 0; box-shadow: inset 0 -3px 0 transparent; }
.nav-link.on { box-shadow: inset 0 -3px 0 var(--color-brick); }

/* Dividers and lists */
.rule { height: 1px; background: var(--color-line); }
.row-link { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; border-top: 1px solid var(--color-line); color: var(--color-ink); }

/* Filmstrip (Relume "Gallery 23" pattern): a swipeable row of photos with scroll-snap. No JavaScript.
   Built from native Bricks elements (a query-loop div with .filmstrip, items with .filmstrip-item). */
.filmstrip { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter, 24px); padding-bottom: 12px; margin: 0; scrollbar-width: thin; scrollbar-color: var(--color-line-2) transparent; }
.filmstrip-item { flex: 0 0 min(78%, 380px); scroll-snap-align: start; margin: 0; display: flex; flex-direction: column; gap: 10px; color: var(--color-ink); }
.filmstrip-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-image, 18px); display: block; }
.filmstrip-lg .filmstrip-item { flex-basis: min(82%, 440px); position: relative; }
.filmstrip-lg .filmstrip-item img { aspect-ratio: 5 / 4; }
.filmstrip-cap { font-size: 14px; color: var(--color-ink-2); margin: 0; }
.filmstrip-link .filmstrip-cap { position: absolute; left: 14px; bottom: 14px; right: 14px; display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 14px; background: rgba(15, 29, 21, 0.72); color: #fff; }
.filmstrip-name { font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.1; }
.filmstrip-meta { font-size: 13px; color: var(--color-green-ink); }
.filmstrip-link:hover img { filter: brightness(1.05); }
.stack > h2 + .filmstrip, .wrap > h2 + .filmstrip { margin-top: 20px; }
/* Filmstrip placeholder for villages without a photo: downland green with contour lines and the name. */
.filmstrip-ph { width: 100%; aspect-ratio: 5 / 4; border-radius: var(--radius-image, 18px); background: var(--color-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 320' fill='none' stroke='%23ffffff' stroke-opacity='.14' stroke-width='2'%3E%3Cpath d='M0 230c60-40 120-50 200-20s140 20 200-30'/%3E%3Cpath d='M0 260c60-40 130-45 210-15s130 15 190-25'/%3E%3Cpath d='M0 290c70-35 140-35 220-8s120 10 180-20'/%3E%3C/svg%3E") bottom / cover no-repeat; display: flex; align-items: center; justify-content: center; padding: 24px; text-align: center; }
/* Village page: add-a-business prompt */
.village-cta { width: 100%; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; background: var(--color-moss); border-radius: var(--radius-card, 20px); padding: 32px 36px; }
.village-cta .stack { gap: 8px; max-width: 640px; }
.village-cta h2, .village-cta p { margin: 0; }
/* Local history (villages page) */
.history { background: var(--color-paper); border-top: 1px solid var(--color-line); }
.history-head { gap: 12px; max-width: 760px; margin-bottom: 36px; }
.history-head h2, .history-head p { margin: 0; }
.history-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 48px; width: 100%; }
.history-col h3 { margin: 0 0 12px; }
.history-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.history-list li { border-top: 1px solid var(--color-line); }
.history-list a { display: block; padding: 11px 0; color: var(--color-ink); font-weight: 500; }
.history-list a:hover { color: var(--color-green); }
.history-link { width: 100%; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px 32px; border-radius: var(--radius-card, 20px); background: var(--color-paper); box-shadow: inset 0 0 0 1px var(--color-line); }
.history-link p { margin: 0; max-width: 680px; }
@media (max-width: 820px) { .history-grid { grid-template-columns: minmax(0, 1fr); } }
.history-list .brx-query-trail { display: none; }
/* Wantage.com site layout: responsive structure for the Bricks templates and wdc-components.php.
 * Builds on the tokens and components in wdc.css. Breakpoints: 1100 / 820 / 560.
 * Mobile-first where it matters; no JS dependencies (menus use <details>). */

/* ---------- Base layout ---------- */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-size: 16px; line-height: 1.5; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
.wrap { width: 100%; max-width: calc(1200px + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }
.stack { display: flex; flex-direction: column; }
.section { padding-top: var(--section); }
.section-last { padding-bottom: var(--section); }
.skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--color-green); color: #fff; padding: 10px 16px; border-radius: 10px; }
.skip:focus { left: 8px; }
:focus-visible { outline: 3px solid var(--color-gold); outline-offset: 2px; }
.grid { display: grid; gap: 24px; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); }
.grid-3 { --cols: 3; } .grid-4 { --cols: 4; } .grid-5 { --cols: 5; } .grid-6 { --cols: 6; } .grid-2 { --cols: 2; }
.bricks-shortcode-wrapper, .brxe-shortcode { width: 100%; }

/* ---------- Header ---------- */
.utility { background: var(--color-green); color: var(--color-chalk); font-size: 13px; }
.utility .wrap { display: flex; justify-content: space-between; align-items: center; min-height: 40px; gap: 16px; }
.utility a { color: var(--color-chalk); }
.utility nav { display: flex; gap: 24px; }
/* Bricks wraps the header template in #brx-header: make that sticky, hiding the utility bar on scroll. */
#brx-header { position: sticky; top: -40px; z-index: 50; }
.site-header { background: var(--color-paper); border-bottom: 1px solid var(--color-line); position: relative; }
.site-header .wrap { display: flex; align-items: center; gap: 40px; min-height: 84px; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--color-ink); flex-shrink: 0; }
.brand svg { width: 46px; height: 46px; }
.brand-name { font-family: var(--font-display); font-size: 28px; font-weight: 700; line-height: 1; letter-spacing: -0.01em; }
.brand-sub { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-ink-3); margin-top: 3px; }
.main-nav { display: flex; gap: 30px; }
.main-nav:not(.mm-nav) a { color: var(--color-ink); font-weight: 600; font-size: 16px; padding: 30px 0; box-shadow: inset 0 -3px 0 transparent; white-space: nowrap; }
.main-nav:not(.mm-nav) a[aria-current="page"], .main-nav:not(.mm-nav) a.on { box-shadow: inset 0 -3px 0 var(--color-brick); }
.header-tools { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.menu-toggle { display: none; }
.menu-toggle summary { list-style: none; cursor: pointer; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 12px; }
.menu-toggle summary::-webkit-details-marker { display: none; }
.menu-panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--color-paper); border-bottom: 1px solid var(--color-line); padding: 12px var(--gutter) 24px; box-shadow: var(--shadow-card); }
.menu-panel a { display: block; padding: 14px 4px; border-bottom: 1px solid var(--color-line); color: var(--color-ink); font-weight: 600; font-size: 17px; }
.menu-panel .btn { margin-top: 16px; width: 100%; border: 0; }

/* ---------- Footer ---------- */
.site-footer { background: var(--color-green-dark); color: var(--color-green-ink); position: relative; overflow: hidden; margin-top: var(--section); }
.site-footer .horse-bg { position: absolute; right: -60px; bottom: -30px; width: 560px; opacity: 0.06; pointer-events: none; }
.site-footer .wrap { position: relative; padding-top: 72px; padding-bottom: 32px; }
.footer-top { display: flex; gap: 80px; }
.footer-about { width: 340px; flex-shrink: 0; display: flex; flex-direction: column; gap: 16px; font-size: 15px; line-height: 1.65; }
.footer-about .brand { color: var(--color-chalk); }
.footer-cols { flex-grow: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; font-size: 15px; }
.footer-cols div { display: flex; flex-direction: column; gap: 12px; }
.footer-cols strong { color: var(--color-chalk); }
.site-footer a { color: var(--color-green-ink); }
.site-footer a:hover { color: #fff; }
.footer-legal { margin: 18px 0 0; font-size: 13px; line-height: 1.6; color: var(--color-green-ink); opacity: 0.8; max-width: 760px; }
.footer-legal a { text-decoration: underline; text-underline-offset: 2px; }
.footer-bottom { margin-top: 56px; border-top: 1px solid rgba(213, 222, 214, 0.2); padding-top: 22px; display: flex; justify-content: space-between; gap: 16px; font-size: 14px; color: #A9B8AD; flex-wrap: wrap; }
.footer-bottom nav { display: flex; gap: 22px; flex-wrap: wrap; }
.footer-bottom a { color: #A9B8AD; }
.footer-credit a { text-decoration: underline; text-underline-offset: 2px; }
/* For businesses: the First Ideas panel (the site's own web company), kept small. */
.fi-panel { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding: 22px 26px; }
.fi-panel p { margin: 0; max-width: 640px; font-size: 15px; }
.fi-links { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }

/* ---------- Breadcrumb ---------- */
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--color-ink-3); padding: 22px 0; }
.crumbs a { color: var(--color-ink-3); }
.crumbs span[aria-current] { color: var(--color-ink); font-weight: 600; }

/* ---------- Listing cards ---------- */
.lc { display: flex; flex-direction: column; background: #fff; border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line), var(--shadow-card); overflow: hidden; position: relative; }
.lc-media { display: block; position: relative; aspect-ratio: 16 / 10; background: var(--color-stone); }
/* Images are pinned to the box: with aspect-ratio, an in-flow image's own height would stretch the card (logo-only cards sat lower). */
.lc-media { overflow: hidden; }
.lc-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; box-sizing: border-box; }
.lc-media .fallback { position: absolute; inset: 0; }
.lc-media .logo-only { width: 100%; height: 100%; object-fit: contain; padding: 18px 24px; background: #fff; }
.lc-media:has(.logo-only) { background: #fff; box-shadow: inset 0 -1px 0 var(--color-line); }
.lp-cover .logo-only { width: 100%; height: 100%; object-fit: contain; padding: 40px; background: #fff; }
.fallback-name { position: relative; font-family: var(--font-display); font-style: italic; font-weight: 500; font-size: 26px; line-height: 1.08; text-align: center; padding: 0 20px; opacity: 0.92; }
.lc-flags { position: absolute; top: 12px; left: 12px; right: 12px; display: flex; gap: 6px; flex-wrap: wrap; }
.lc-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 6px; flex-grow: 1; }
.lc-title { font-family: var(--font-display); font-size: 21px; font-weight: 600; line-height: 1.15; margin: 0; }
.lc-title a { color: var(--color-ink); }
.lc-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.lc-tag { font-size: 15px; line-height: 1.5; color: var(--color-ink-2); flex-grow: 1; margin: 0; }
.lc-actions { display: flex; gap: 8px; margin-top: 10px; position: relative; z-index: 2; }
.lc-actions .btn { height: 42px; border-radius: 12px; flex-grow: 1; }
.lc-actions .btn-square { flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.lc.is-featured { box-shadow: inset 0 0 0 2px var(--color-gold), var(--shadow-card); }

/* Row variant (archive results) */
.lc-row { flex-direction: row; }
.lc-row .lc-media { width: 230px; flex-shrink: 0; aspect-ratio: auto; min-height: 180px; }
.lc-row .lc-body { padding: 20px 24px; }
.lc-row .lc-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 10px; position: relative; z-index: 2; }
.lc-row .lc-actions { margin-top: 0; }
.lc-row .lc-actions .btn { flex-grow: 0; }

/* ---------- Home ---------- */
.home-hero { background: var(--color-paper); padding: 56px 0 32px; }
.home-hero .wrap { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: 48px; align-items: center; }
.home-hero h1 { font-size: clamp(44px, 6.2vw, 80px); }
.hero-copy { display: flex; flex-direction: column; gap: 26px; min-width: 0; }
.search-big { display: flex; background: #fff; border-radius: 999px; padding: 6px; box-shadow: inset 0 0 0 1px var(--color-line-2); }
.search-big label { display: flex; align-items: center; gap: 12px; padding: 0 14px; color: var(--color-ink-3); }
.search-big .q { flex-grow: 1; }
.search-big input, .search-big select { border: 0; outline: 0; background: transparent; font: inherit; font-size: 17px; color: var(--color-ink); width: 100%; height: 52px; }
.search-big select { font-weight: 600; font-size: 16px; }
.search-big .where { border-left: 1px solid var(--color-line); }
.search-big button { border-radius: var(--radius-button); }
.chips { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.trust { display: flex; gap: 28px; flex-wrap: wrap; font-size: 14px; color: var(--color-ink-2); }
.trust span { display: flex; align-items: center; gap: 8px; }
.trust svg { color: var(--color-ok-dot); }
.hero-visual { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.hero-photo { position: relative; margin: 0; }
.hero-visual .main { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 28px; }
.hero-visual .caption { position: absolute; top: 18px; left: 18px; padding: 6px 12px; border-radius: 999px; background: rgba(23, 35, 28, 0.72); color: #fff; font-size: 13px; }
.week-card { background: #fff; border-radius: 20px; padding: 18px 22px; box-shadow: inset 0 0 0 1px var(--color-line); display: flex; flex-direction: column; gap: 12px; }
.week-head { display: flex; justify-content: space-between; align-items: center; }
.week-rows { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.week-rows .week-row { flex-direction: column; align-items: flex-start; gap: 8px; }
.week-rows .week-row .when { width: auto; padding: 4px 10px; }
.week-row { display: flex; gap: 14px; align-items: center; color: var(--color-ink); }
.week-row .when { width: 54px; flex-shrink: 0; text-align: center; padding: 6px 0; border-radius: 10px; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; }
.week-row b { display: block; font-size: 15px; }
.week-row small { font-size: 13px; color: var(--color-ink-3); }
.quick { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.quick a { background: #fff; border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line); padding: 20px; display: flex; flex-direction: column; gap: 14px; color: var(--color-ink); }
.quick .ico, .tile .ico { width: 46px; height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.quick b { font-size: 16px; }
.quick small { display: block; font-size: 14px; color: var(--color-ink-3); }
.photo-rail { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.photo-card { position: relative; height: 320px; border-radius: 22px; overflow: hidden; color: #fff; display: block; }
.photo-card img { width: 100%; height: 100%; object-fit: cover; }
.photo-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 48, 31, 0) 45%, rgba(20, 48, 31, 0.88) 100%); }
.photo-card span { position: absolute; left: 18px; right: 18px; bottom: 18px; z-index: 1; display: flex; flex-direction: column; gap: 4px; }
.photo-card b { font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.1; }
.photo-card small { font-size: 13px; opacity: 0.9; }
.tile { background: var(--color-paper); border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line); padding: 26px; display: flex; flex-direction: column; gap: 16px; color: var(--color-ink); }
.tile-name { font-family: var(--font-display); font-size: 23px; font-weight: 600; }
.tile ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 15px; color: var(--color-ink-2); }
.tile li { display: flex; justify-content: space-between; gap: 12px; }
.tile li b { color: var(--color-ink); }
.band { background: var(--color-green); color: var(--color-chalk); position: relative; overflow: hidden; margin-top: var(--section); }
.band .horse-bg { position: absolute; right: -40px; bottom: -40px; width: 720px; opacity: 0.12; pointer-events: none; }
.band .wrap { position: relative; padding-top: 88px; padding-bottom: 88px; display: flex; flex-direction: column; gap: 20px; }
.band h2 em { color: var(--color-gold); }
.band p { color: var(--color-green-ink); font-size: 18px; line-height: 1.6; margin: 0; }
.chip-dark { background: rgba(243, 246, 242, 0.1); box-shadow: inset 0 0 0 1px rgba(243, 246, 242, 0.25); color: var(--color-chalk); }
.chip-dark b { color: #B9C6BC; }
.chip-light { background: var(--color-chalk); box-shadow: none; font-weight: 700; }
.cta-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cta { border-radius: 28px; padding: 48px; display: flex; flex-direction: column; gap: 16px; }
.cta-news { background: var(--color-moss); }
.cta-biz { background: var(--color-brick); color: #fff; }
.cta-biz p { color: #FDEBDD; }
.cta p { font-size: 17px; line-height: 1.6; margin: 0; }
.cta form { display: flex; gap: 10px; }
.cta .field { flex-grow: 1; }
.cta-row { display: flex; gap: 12px; flex-wrap: wrap; }
.club-list { background: var(--color-paper); border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line); padding: 32px; display: flex; flex-direction: column; gap: 6px; }

/* ---------- Listing single ---------- */
.lp-cover { position: relative; height: 440px; border-radius: 28px; overflow: hidden; background: var(--color-stone); }
.lp-cover img { width: 100%; height: 100%; object-fit: cover; }
.lp-cover .fallback { position: absolute; inset: 0; }
.lp-cover .fallback-name { font-size: 54px; }
.lp-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; padding-top: 32px; }
.lp-head h1 { font-size: clamp(40px, 5vw, 64px); }
.lp-logo { width: 84px; height: 84px; border-radius: 20px; object-fit: contain; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); padding: 8px; }
.lp-title { display: flex; flex-direction: column; gap: 14px; }
.lp-meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 15px; color: var(--color-ink-2); }
.lp-meta span { display: inline-flex; align-items: center; gap: 6px; }
.lp-actions { display: flex; gap: 10px; flex-wrap: wrap; flex-shrink: 0; }
.lp-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; padding-top: 48px; }
.lp-main { display: flex; flex-direction: column; gap: 44px; }
.lp-main h2 { margin-bottom: 14px; }
.lp-about { font-size: 17px; line-height: 1.7; color: var(--color-ink-2); }
.lp-about p { margin: 0 0 14px; }
/* Articles and pages (migrated news, about, legal, village "about" text) */
.article-wrap { max-width: none; display: flex; flex-direction: column; gap: 16px; padding-top: 8px; padding-bottom: 64px; }
.article-title { font-size: clamp(34px, 4.6vw, 56px); margin: 0; }
.article-media { margin: 12px 0 8px; border-radius: var(--radius-image); overflow: hidden; background: var(--color-stone); }
.article-media img { width: 100%; height: auto; display: block; }
.prose h2, .prose h3 { font-family: var(--font-display); font-weight: 600; color: var(--color-ink); line-height: 1.2; }
.prose h2 { font-size: var(--text-h4); margin: 34px 0 12px; } .prose h3 { font-size: var(--text-h5); margin: 26px 0 10px; }
.prose a { color: var(--color-green); text-decoration: underline; text-underline-offset: 3px; }
.prose ul, .prose ol { margin: 0 0 16px; padding-left: 22px; } .prose li { margin-bottom: 6px; }
.prose img { max-width: 100%; height: auto; border-radius: var(--radius-image); }
.prose hr { border: 0; border-top: 1px solid var(--color-line); margin: 28px 0; }
.prose > :first-child { margin-top: 0; }
.lp-aside { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 108px; }
.panel { background: #fff; border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line), var(--shadow-card); padding: 26px; }
.contact-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; border-top: 1px solid var(--color-line); color: var(--color-ink); word-break: break-word; }
.contact-row:first-of-type { border-top: 0; }
.contact-row span { display: flex; align-items: center; gap: 12px; font-weight: 600; }
.contact-row svg { color: var(--color-green); }
.contact-row.muted, .contact-row.muted svg { color: var(--color-ink-3); font-weight: 500; }
.claim { background: var(--color-moss); border-radius: var(--radius-card); padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.claim p { margin: 0; font-size: 15px; line-height: 1.55; color: #33413A; }
.hours-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.hours-table th, .hours-table td { text-align: left; padding: 11px 0; border-top: 1px solid var(--color-line); }
.hours-table th { font-weight: 600; width: 40%; }
.hours-table tr.today th, .hours-table tr.today td { color: var(--color-green); font-weight: 700; }
.notice { display: flex; gap: 18px; align-items: flex-start; }
.notice .ico { width: 48px; height: 48px; border-radius: 14px; background: #FBEBC8; color: var(--color-warn); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.map-ph { position: relative; height: 280px; background: #E8EDE6; overflow: hidden; }
.map-ph svg.ground { position: absolute; inset: 0; width: 100%; height: 100%; }
.map-ph .pin { position: absolute; left: 50%; top: 42%; width: 38px; height: 38px; margin-left: -19px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--color-brick); box-shadow: 0 8px 18px -6px rgba(0, 0, 0, 0.4); }
.map-ph .btn { position: absolute; right: 16px; bottom: 16px; }
.map-foot { padding: 18px 22px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }

/* ---------- Archives ---------- */
.arch-head { background: var(--color-paper); border-bottom: 1px solid var(--color-line); padding-bottom: 30px; }
.arch-head .wrap { display: flex; flex-direction: column; gap: 18px; }
.arch-head h1 { font-size: clamp(38px, 5vw, 60px); }
.filters { border-bottom: 1px solid var(--color-line); }
.filters form { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 18px 0; }
.filters select { max-width: 260px; height: 44px; border-radius: 12px; border: 1px solid var(--color-line-2); padding: 0 12px; font: inherit; font-size: 15px; font-weight: 600; background: #fff; color: var(--color-ink); }
.filters .count { margin-left: auto; }
.check { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; }
.check input { width: 18px; height: 18px; accent-color: var(--color-green); }
.results { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; padding-top: 28px; }
.results-list { display: flex; flex-direction: column; gap: 16px; }
.pager { display: flex; gap: 8px; justify-content: center; padding: 24px 0; flex-wrap: wrap; }
.pager a, .pager span { min-width: 44px; height: 44px; padding: 0 14px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line-2); color: var(--color-ink); font-weight: 600; }
.pager .gap { background: none; box-shadow: none; min-width: 20px; padding: 0; }
.pager span[aria-current] { background: var(--color-green); color: #fff; box-shadow: none; }
.village-hero { background: var(--color-green); color: var(--color-chalk); position: relative; overflow: hidden; }
.village-hero .horse-bg { position: absolute; right: -60px; bottom: -40px; width: 640px; opacity: 0.12; }
.village-hero .wrap { position: relative; padding-top: 32px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 18px; }
.village-hero .crumbs, .village-hero .crumbs a { color: #B9C6BC; }
.village-hero .crumbs span[aria-current] { color: var(--color-chalk); }
.village-hero h1 { font-family: var(--font-display); font-size: clamp(64px, 10vw, 128px); font-weight: 600; line-height: 0.9; letter-spacing: -0.03em; margin: 0; }
.village-hero p { font-size: 19px; line-height: 1.55; color: var(--color-green-ink); margin: 0; }
.stats { display: flex; gap: 40px; flex-wrap: wrap; }
.stats b { display: block; font-family: var(--font-display); font-size: 40px; font-weight: 600; color: var(--color-gold); line-height: 1.1; }
.stats small { font-size: 14px; color: #B9C6BC; }
.stats .stat { display: flex; align-items: baseline; gap: 10px; margin: 0; }
.empty { padding: 48px; text-align: center; background: #fff; border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line); }

/* ---------- Events ---------- */
.ev { display: flex; gap: 18px; align-items: center; padding: 16px 18px; background: #fff; border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line); position: relative; }
.ev-box { width: 68px; height: 72px; flex-shrink: 0; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 700; line-height: 1.1; }
.ev-box small { font-size: 11px; letter-spacing: 0.08em; }
.ev-box b { font-family: var(--font-display); font-size: 25px; font-weight: 600; }
.ev-box-lg { width: 88px; height: 92px; }
.ev-box-lg b { font-size: 32px; }
.ev-body { flex-grow: 1; display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.ev-title { font-weight: 700; font-size: 18px; color: var(--color-ink); }
.ev-title::after { content: ""; position: absolute; inset: 0; }
.ev-line { font-size: 14px; color: var(--color-ink-2); }
.ev-price { font-weight: 700; font-size: 14px; color: var(--color-ink-2); max-width: 160px; text-align: right; }
.ev-day { font-family: var(--font-body); font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-brick); margin: 12px 0 0; }
.ev-groups { display: flex; flex-direction: column; gap: 10px; }
.ev-group { background: #fff; border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line); }
.ev-group summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; cursor: pointer; font-weight: 700; list-style: none; }
.ev-group summary::-webkit-details-marker { display: none; }
.ev-group summary::after { content: "+"; font-size: 20px; color: var(--color-ink-3); margin-left: 12px; }
.ev-group[open] summary::after { content: "–"; }
.ev-group summary b { margin-left: auto; font-size: 14px; color: var(--color-ink-3); }
.ev-group ul { list-style: none; margin: 0; padding: 0 20px 12px; }
.ev-group li { display: flex; flex-direction: column; gap: 2px; padding: 10px 0; border-top: 1px solid var(--color-line); }
.ev-group li a { font-weight: 600; color: var(--color-ink); }
.ev-group li span { font-size: 14px; color: var(--color-ink-3); }
@media (max-width: 820px) { .ev { align-items: flex-start; } .ev-box { width: 56px; height: 62px; } .ev-price { display: none; } }

/* ---------- Responsive ---------- */
@media (max-width: 1400px) {
	.header-search { display: none; }
}
@media (max-width: 1100px) {
	/* html:root outranks the :root copy of the tokens that Bricks prints after this file. */
	html:root { --gutter: 40px; --section: 88px; }
	.main-nav { gap: 20px; }
	.header-search { display: none; }
	.home-hero .wrap { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.quick { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.photo-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.grid-4 { --cols: 2; }
	.lp-grid, .results { grid-template-columns: 1fr; }
	.lp-aside { position: static; }
	.footer-top { flex-direction: column; gap: 40px; }
	.footer-about { width: auto; }
}
@media (max-width: 820px) {
	html:root { --gutter: 20px; --section: 56px; }
	.utility nav { display: none; }
	.header-tools .btn { display: none; } /* the native Nav Menu shows its own mobile toggle */
	.menu-toggle { display: block; margin-left: auto; }
	.site-header .wrap { min-height: 64px; gap: 12px; position: relative; }
	.brand svg { width: 36px; height: 36px; }
	.brand-name { font-size: 24px; }
	.brand-sub { display: none; }
	.home-hero { padding: 0 0 40px; }
	.home-hero .wrap { padding: 0; }
	.hero-copy { padding: 24px var(--gutter) 0; gap: 18px; order: 2; }
	.hero-visual { order: 1; gap: 0; }
	.hero-visual .main { border-radius: 0; aspect-ratio: 16 / 10; }
	.hero-visual .caption { top: 12px; left: 12px; }
	.week-card { margin: 16px var(--gutter) 0; }
	.week-rows { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.search-big { flex-direction: column; gap: 8px; }
	.search-big .where { border-left: 0; background: var(--color-chalk); border-radius: 12px; }
	.search-big input, .search-big select { height: 48px; }
	.chips { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1 * var(--gutter)); padding-bottom: 4px; }
	.quick { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
	.quick a { padding: 14px 12px; gap: 10px; }
	.quick small { display: none; }
	.photo-rail { display: flex; overflow-x: auto; gap: 12px; margin-right: calc(-1 * var(--gutter)); }
	.photo-card { width: 170px; height: 230px; flex-shrink: 0; }
	.grid-4, .grid-3, .grid-2, .cta-pair { --cols: 1; grid-template-columns: 1fr; }
	.tile { padding: 20px; }
	.section-head { flex-direction: column; align-items: flex-start; gap: 12px; }
	.h2 { font-size: 32px; }
	.cta { padding: 28px 22px; }
	.cta form { flex-direction: column; }
	.lp-cover { height: 240px; border-radius: 0; margin: 0 calc(-1 * var(--gutter)); }
	.lp-head { flex-direction: column; align-items: stretch; gap: 20px; }
	.lp-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lp-actions .btn { height: 60px; flex-direction: column; gap: 4px; font-size: 13px; padding: 0 8px; border-radius: 14px; }
	.lp-actions .btn-square { width: auto; height: 60px; border-radius: 14px; }
	.lc-row { flex-direction: column; }
	.lc-row .lc-media { width: 100%; min-height: 0; aspect-ratio: 16 / 9; }
	.lc-row .lc-foot { flex-direction: column; align-items: stretch; }
	.filters .count { margin-left: 0; width: 100%; }
	.footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.village-hero .wrap { padding-bottom: 40px; }
	.stats { gap: 24px; }
}

/* Instant search suggestions (wdc-search.js) */
.has-sugg { position: relative; }
.sugg { position: absolute; top: calc(100% + 8px); left: 0; right: 0; min-width: 320px; z-index: 60; background: #fff; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--color-line-2), var(--shadow-float); padding: 6px; display: flex; flex-direction: column; max-height: 70vh; overflow-y: auto; text-align: left; }
.sugg[hidden] { display: none; }
.sugg a { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 10px; color: var(--color-ink); }
.sugg a b { font-size: 15px; font-weight: 600; }
.sugg a small { font-size: 13px; color: var(--color-ink-3); }
.sugg a.is-cat b { color: var(--color-green); }
.sugg a:hover, .sugg a.on { background: var(--color-chalk); }
.sugg-all { margin-top: 4px; padding: 10px 12px; border: 0; border-top: 1px solid var(--color-line); background: none; font: inherit; font-size: 14px; font-weight: 700; color: var(--color-brick); text-align: left; cursor: pointer; }

/* Forms (wdc-submit.php) */
.form { display: flex; flex-direction: column; gap: 16px; background: #fff; border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line); padding: 28px; }
.form .grid-2 { gap: 16px; }
.form .check { font-weight: 500; color: var(--color-ink-2); }
.form-field { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 15px; color: var(--color-ink); }
.form-field small { font-weight: 500; color: var(--color-ink-3); }
.form-field input, .form-field select, .form-field textarea { font: inherit; font-weight: 400; font-size: 16px; padding: 12px 14px; border-radius: var(--radius-form, 12px); border: 1px solid var(--color-line-2); background: #fff; color: var(--color-ink); width: 100%; box-sizing: border-box; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { outline: 2px solid var(--color-green); outline-offset: 1px; }
.form-error { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--color-sand); color: var(--color-brick); font-weight: 600; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Check-before-you-go notes on listings, events and What's on */
.check-note { display: flex; gap: 10px; align-items: flex-start; margin: 16px 0 0; padding: 14px 16px; border-radius: 14px; background: var(--color-moss); color: var(--color-ink-2); font-size: 14px; line-height: 1.55; }
.check-note .ic { flex-shrink: 0; margin-top: 2px; color: var(--color-green); }
.check-note b { color: var(--color-ink); }
.check-note a { color: var(--color-green); text-decoration: underline; text-underline-offset: 2px; }
.results > .stack > .check-note { margin: 0; }

/* Shop-style filters (wdc-filters.php): sidebar + toolbar on desktop, a full-screen drawer on mobile */
.fl { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 40px; padding-top: 36px; padding-bottom: 24px; align-items: start; }
.fl-side { display: flex; flex-direction: column; gap: 20px; }
.filters { display: flex; flex-direction: column; gap: 18px; background: #fff; border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-line); padding: 22px; }
.filters-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.filters-head a { font-size: 14px; font-weight: 700; color: var(--color-brick); }
.fclose { display: none; }
.filters-group { border: 0; margin: 0; padding: 16px 0 0; border-top: 1px solid var(--color-line); display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.filters-group legend { float: left; width: 100%; padding: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-ink-3); }
.filters .check { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-weight: 500; font-size: 15px; color: var(--color-ink); cursor: pointer; }
.filters .check span { flex-grow: 1; }
.filters .check b, .filters-acc summary b, .filters-links b { font-size: 13px; font-weight: 600; color: var(--color-ink-3); }
.filters-acc summary { display: flex; align-items: center; gap: 10px; padding: 9px 0; cursor: pointer; font-weight: 600; font-size: 15px; list-style: none; }
.filters-acc summary::-webkit-details-marker, .filters-more summary::-webkit-details-marker { display: none; }
.filters-acc summary span { flex-grow: 1; }
.filters-acc summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid var(--color-ink-3); border-bottom: 2px solid var(--color-ink-3); transform: rotate(45deg); margin: -4px 4px 0 6px; transition: transform .15s; }
.filters-acc[open] summary::after { transform: rotate(-135deg); margin-top: 4px; }
.filters-acc > div { padding: 0 0 8px 4px; }
.filters-more summary { padding: 8px 0; font-size: 14px; font-weight: 700; color: var(--color-green); cursor: pointer; list-style: none; }
.filters-links { display: flex; flex-direction: column; }
.filters-links a { display: flex; justify-content: space-between; gap: 10px; padding: 8px 10px; margin: 0 -10px; border-radius: 10px; color: var(--color-ink); font-weight: 500; font-size: 15px; }
.filters-links a[aria-current] { background: var(--color-moss); font-weight: 700; }
.ftoolbar { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.ftoolbar-row { display: flex; align-items: center; gap: 14px; }
.ftoggle { display: none; }
.ftoggle b { background: var(--color-green); color: #fff; border-radius: 999px; padding: 0 7px; font-size: 12px; }
.fcount { margin: 0; flex-grow: 1; font-size: 15px; color: var(--color-ink-2); }
.fcount b { color: var(--color-ink); }
.fchips { display: flex; flex-wrap: wrap; gap: 8px; }
.fchip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px 6px 12px; border-radius: 999px; background: var(--color-green); color: #fff; font-size: 14px; font-weight: 600; }
.fchip:hover { background: var(--color-green-dark); color: #fff; }
.ic-xs { width: 14px; height: 14px; }
.chips-scroll { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
/* Card open/closed status, in the text rather than on the photo */
.lc-status { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: var(--color-ink-3); }
.lc-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--color-line-2); }
.lc-status.is-open { color: var(--color-ok, #2F7A4A); }
.lc-status.is-open::before { background: var(--color-ok-dot, #2F9E5B); }
@media (max-width: 900px) {
	.fl { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 20px; }
	.ftoggle { display: inline-flex; }
	.fl-side { display: none; }
	.ftoggle-cb:checked ~ .fl-side { display: flex; position: fixed; inset: 0; z-index: 90; background: var(--color-chalk); overflow-y: auto; padding: 16px; }
	.ftoggle-cb:checked ~ .fl-side .fclose { display: inline-flex; }
	.fsort label { display: none; }
}

/* ---- Native directory (Bricks elements + Query Filters, setup/bricks_build.py) ---- */
.results-section { padding-bottom: 24px; }
.arch-lede { margin: 0; }
.crumbs { font-size: 14px; color: var(--color-ink-3); }
.crumbs a { color: var(--color-ink-3); }
.lc-media .fallback { position: absolute; inset: 0; }
.fallback[data-tint] { background: var(--color-stone) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 160' fill='none' stroke='%2317231C' stroke-opacity='.18' stroke-width='1.6'%3E%3Cpath d='M0 110c60-30 120-38 200-14s140 16 200-24'/%3E%3Cpath d='M0 132c60-30 130-34 210-10s130 12 190-20'/%3E%3Cpath d='M0 154c70-26 140-26 220-6s120 8 180-16'/%3E%3C/svg%3E") bottom / 100% 60% no-repeat; color: var(--color-ink-2); }
.fallback[data-tint="sand"] { background-color: var(--color-sand); color: var(--color-brick-dark); }
.fallback[data-tint="moss"] { background-color: var(--color-moss); color: var(--color-green); }
.fallback[data-tint="slate"] { background-color: var(--color-slate); color: var(--color-slate-ink); }
.lc-status[data-state="open"] { color: var(--color-ok); }
.lc-status[data-state="open"]::before { background: var(--color-ok-dot); }
/* Icons as CSS masks on native text links */
[class*=" i-"]::before, [class^="i-"]::before { content: ""; width: 18px; height: 18px; flex-shrink: 0; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.i-phone { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); gap: 8px; }
.i-globe { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E"); }
.i-directions { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpolygon points='3 11 22 2 13 21 11 13 3 11'/%3E%3C/svg%3E"); }
.icon-only { font-size: 0; gap: 0 !important; }  /* the hidden label is still a flex item: no gap, or the icon sits off-centre */
.icon-only::before { width: 18px; height: 18px; }
/* Bricks Query Filters inside our filter panel */
.filters .filters-legend { margin: 0 0 8px; font-family: var(--font-body, inherit); font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-ink-3); }
.filters-group { border-top: 1px solid var(--color-line); padding-top: 16px; width: 100%; }
.filters .brxe-filter-checkbox { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.filters .brxe-filter-checkbox li { padding: 0; }
.filters .brxe-filter-checkbox label { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 15px; font-weight: 500; color: var(--color-ink); cursor: pointer; }
.filters .brxe-filter-checkbox input { width: 18px; height: 18px; accent-color: var(--color-green); margin: 0; }
.filters .brx-option-text { flex-grow: 1; }
.filters .brx-option-count { font-size: 13px; font-weight: 600; color: var(--color-ink-3); }
.filters .brx-option-disabled { opacity: .45; }
.filters .brxe-filter-search { width: 100%; }
.filters .brxe-filter-search input { width: 100%; height: 46px; border-radius: 12px; border: 1px solid var(--color-line-2); padding: 0 14px; font: inherit; font-size: 15px; box-sizing: border-box; }
.filters .brx-show-more, .filters .brx-option-show-more button { margin-top: 6px; background: none; border: 0; padding: 0; font: inherit; font-size: 14px; font-weight: 700; color: var(--color-green); cursor: pointer; }
select.fsort { flex: 0 0 auto; width: auto; height: 42px; padding: 0 36px 0 14px; border-radius: 12px; border: 1px solid var(--color-line-2); background-color: #fff; font: inherit; font-size: 15px; font-weight: 600; color: var(--color-ink); }
.fchips.brxe-filter-active-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.fchips .brx-active-filter-button, .fchips button { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; border: 0; background: var(--color-green); color: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.fcount { flex-grow: 1; margin: 0; font-size: 15px; color: var(--color-ink-2); white-space: nowrap; }
.pager.brxe-pagination { padding: 0; }
.pager.brxe-pagination .page-numbers { display: flex; gap: 8px; justify-content: center; list-style: none; padding: 28px 0 0; margin: 0; flex-wrap: wrap; }
.pager.brxe-pagination .page-numbers a, .pager.brxe-pagination .page-numbers span { min-width: 44px; height: 44px; padding: 0 14px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line-2); color: var(--color-ink); font-weight: 600; }
.pager.brxe-pagination .page-numbers .current { background: var(--color-green); color: #fff; box-shadow: none; }
.results-list { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.results-list .brx-query-trail { display: none; }
.ftoggle.brxe-toggle { display: none; }
.filters-drawer .filters-drawer-inner { background: var(--color-chalk); padding: 16px; width: min(92vw, 380px); height: 100%; overflow-y: auto; box-sizing: border-box; flex-direction: column; flex-wrap: nowrap; }
.filters-drawer-inner > .filters { width: 100%; flex-shrink: 0; }
/* One filter panel (setup/bricks_build.py drawer()): pinned in the sidebar on desktop, a slide-in drawer on phones. */
.fdone { display: none; }
@media (min-width: 901px) {
	.fl-side .filters-drawer { visibility: visible; }
	.fl-side .filters-drawer .brx-offcanvas-inner { position: static; transform: none !important; transition: none; width: auto; height: auto; padding: 0; background: none; overflow: visible; z-index: auto; }
	.fl-side .filters-drawer .brx-offcanvas-backdrop { display: none; }
}
@media (max-width: 900px) {
	.fl-side { display: contents; }
	.fl-side > :not(.filters-drawer) { display: none; }
	.filters-drawer .fdone { display: inline-flex; justify-content: center; align-items: center; position: sticky; bottom: 0; width: 100%; min-height: 48px; flex-shrink: 0; margin-top: 16px; box-shadow: 0 -8px 16px var(--color-chalk); }
	.fdone .brxa-wrap { display: none; }
	.fdone::after { content: "Show results"; }
	.ftoggle.brxe-toggle { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--color-line-2); background: #fff; }
	.ftoggle.brxe-toggle::after { content: "Filters"; font-weight: 700; font-size: 15px; }
}
/* Native header/footer (Bricks Nav Menu, Search, Image) */
.brand-mark, .brand img { width: 46px; height: 46px; display: block; }
.site-footer .brand img { width: 40px; height: 40px; }
.i-pin { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); display: inline-flex; align-items: center; gap: 8px; }
.i-plus { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E"); gap: 8px; }
.i-pin::before { width: 14px; height: 14px; }
.utility-nav .bricks-nav-menu, .footer-legal-nav .bricks-nav-menu { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0; }
.utility-nav a { color: var(--color-chalk); font-size: 13px; }
.main-nav .bricks-nav-menu { display: flex; gap: 26px; list-style: none; margin: 0; padding: 0; }
.main-nav .bricks-nav-menu > li { margin: 0; }
.site-header .wrap > * { min-width: 0; }
.main-nav { flex: 1 1 auto; }
.main-nav .bricks-nav-menu > li > a { color: var(--color-ink); font-weight: 600; font-size: 16px; padding: 30px 0; display: block; box-shadow: inset 0 -3px 0 transparent; white-space: nowrap; }
.main-nav .current-menu-item > a, .main-nav .bricks-nav-menu > li > a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--color-brick); }
.header-search.brxe-search input, .header-search.brxe-search form { box-shadow: none; }
.header-search.brxe-search form { box-shadow: inset 0 0 0 1px var(--color-line-2) !important; display: flex; align-items: center; height: 46px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--color-line-2); padding: 0 6px 0 18px; background: #fff; }
.header-search.brxe-search input { border: 0 !important; outline: 0; background: none; font: inherit; font-size: 15px; width: 180px; padding: 0; height: 44px; }
.header-search.brxe-search button { background: none; border: 0; color: var(--color-ink-3); }
.footer-nav .bricks-nav-menu { display: flex; flex-direction: column; gap: 12px; list-style: none; margin: 0; padding: 0; }
.footer-nav a, .footer-legal-nav a { color: var(--color-green-ink); }
.footer-cols > div { display: flex; flex-direction: column; gap: 12px; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 56px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: 14px; }
@media (max-width: 1240px) { .header-tools .header-search { display: none; } }
@media (max-width: 991px) { .header-tools { display: none; } }
.footer-nav ul, .footer-legal-nav ul, .utility-nav ul { padding: 0 !important; margin: 0; }
.footer-nav li, .footer-legal-nav li, .utility-nav li { margin: 0; }
.site-footer .footer-top, .site-footer .footer-bottom, .site-footer .footer-legal { width: 100%; }
.header-search.brxe-search input[type="search"] { border: 0 !important; box-shadow: none !important; }
.main-nav .bricks-mobile-menu > li > a { padding-top: 14px; padding-bottom: 14px; line-height: 1.3; }
.main-nav .bricks-mobile-menu > li { margin: 0; }
/* Native listing page extras */
.lp-name { display: flex; align-items: center; gap: 18px; }
.lp-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.lp-chips .chip { font-size: 14px; padding: 7px 14px; }
.dl { display: flex; flex-direction: column; }
.dl-row { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-top: 1px solid var(--color-line); font-size: 16px; }
.dl-row:first-child { border-top: 0; }
.dl-k { font-weight: 700; color: var(--color-ink); }
.dl-v { color: var(--color-ink-2); }
.contact-row { display: flex; align-items: center; gap: 12px; font-weight: 600; }
.contact-row::before { color: var(--color-green); background: var(--color-green); }
.socials { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--color-line); }
.socials .brx-query-trail { display: none; }
.report-link { display: inline-flex; align-items: center; gap: 8px; padding: 0 6px; }
.map-panel { padding: 0 !important; overflow: hidden; }
.map-ph { position: relative; height: 240px; display: flex; align-items: center; justify-content: center; background: var(--color-moss) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 752 280' preserveAspectRatio='none'%3E%3Cpath d='M0 200 C 180 180, 360 190, 520 160 S 700 120, 752 130' stroke='%23fff' stroke-width='14' fill='none'/%3E%3Cpath d='M300 0 C 320 90, 360 160, 380 280' stroke='%23fff' stroke-width='10' fill='none'/%3E%3C/svg%3E") center / cover no-repeat; }
.map-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; font-size: 15px; }
.i-mail { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E"); gap: 8px; }
.i-map { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpolygon points='1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6'/%3E%3Cline x1='8' y1='2' x2='8' y2='18'/%3E%3Cline x1='16' y1='6' x2='16' y2='22'/%3E%3C/svg%3E"); gap: 8px; }
.i-arrow { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E"); flex-direction: row-reverse; gap: 6px; display: inline-flex; align-items: center; }
.i-flag { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cline x1='4' y1='22' x2='4' y2='15'/%3E%3C/svg%3E"); }
.i-clock { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E"); }
.i-info { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E"); }
.social-link::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.social-link[data-net="facebook"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4h-3c-2.8 0-5 2.2-5 5v2H7v4h2v9h4v-9h3l1-4h-4V9c0-.6.4-1 1-1z'/%3E%3C/svg%3E"); }
.social-link[data-net="instagram"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='2' y='2' width='20' height='20' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='black'/%3E%3C/svg%3E"); }
.social-link[data-net="x"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.8 3h3.1l-6.8 7.8L22 21h-6.2l-4.9-6.4L5.3 21H2.2l7.3-8.3L2 3h6.4l4.4 5.8zm-1.1 16.2h1.7L7.4 4.7H5.5z'/%3E%3C/svg%3E"); }
.social-link[data-net="linkedin"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3a2 2 0 1 1 0 4 2 2 0 0 1 0-4zM2 9h4v12H2zm7 0h4v1.7c.6-1 2-2 3.8-2C20.4 8.7 22 11 22 14.6V21h-4v-5.8c0-1.6-.6-2.6-2-2.6-1.2 0-2 .8-2 2.6V21H9z'/%3E%3C/svg%3E"); }
.social-link[data-net="youtube"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 7.2s-.2-1.6-.9-2.3c-.9-.9-1.9-.9-2.3-1C16.6 3.7 12 3.7 12 3.7s-4.6 0-7.8.2c-.4.1-1.4.1-2.3 1-.7.7-.9 2.3-.9 2.3S.8 9 .8 10.9v1.8c0 1.9.2 3.7.2 3.7s.2 1.6.9 2.3c.9.9 2 .9 2.5 1 1.8.2 7.6.2 7.6.2s4.6 0 7.8-.3c.4 0 1.4-.1 2.3-1 .7-.7.9-2.3.9-2.3s.2-1.9.2-3.7v-1.8C23.2 9 23 7.2 23 7.2zM9.7 14.9V8.6l6 3.2z'/%3E%3C/svg%3E"); }
.social-link[data-net="tiktok"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.6 5.8A4.3 4.3 0 0 1 15.5 3h-3.4v12.4a2.6 2.6 0 1 1-1.8-2.5V9.4a6 6 0 1 0 5.2 6V9a7.6 7.6 0 0 0 4.5 1.4V7a4.3 4.3 0 0 1-3.4-1.2z'/%3E%3C/svg%3E"); }
.notice.i-clock::before { width: 24px; height: 24px; color: var(--color-green); }
.check-note.i-info::before { margin-top: 2px; color: var(--color-green); }
@media (max-width: 820px) { .lp-head { flex-direction: column; align-items: flex-start; } .dl-row { grid-template-columns: minmax(0, 1fr); gap: 4px; } }
.contact-row { justify-content: flex-start; }
.contact-row.brxe-text-link { width: 100%; }
.lp-actions .btn { flex-direction: row; white-space: nowrap; }
/* Native What's on */
.chip[aria-current="page"] { background: var(--color-green); color: #fff; box-shadow: none; }
.fl-main.wo-main { gap: 36px; }
.wo-main > .ftoolbar { margin-bottom: -16px; }
.occ-list { gap: 12px; }
.occ-list .brx-query-trail, .ev-group .brx-query-trail { display: none; }
.occ .ev-day { margin: 14px 0 8px; }
.occ[data-kind="regular"] .ev { padding: 12px 16px; }
.occ[data-kind="regular"] .ev-box { background: var(--color-moss); color: var(--color-green); }
.ev-box[data-tint="moss"] { background: var(--color-moss); color: var(--color-green); }
.ev-box[data-tint="slate"] { background: var(--color-slate); color: var(--color-slate-ink); }
.ev-group ul { list-style: none; margin: 0; padding: 0 20px 12px; }
.ev-group li { display: flex; flex-direction: column; gap: 2px; padding: 10px 0; border-top: 1px solid var(--color-line); }
.ev-group li a { font-weight: 600; color: var(--color-ink); }
.ev-group li span { font-size: 14px; color: var(--color-ink-3); }
.ev-head { align-items: center; }
@media (max-width: 900px) { .results { flex-direction: column !important; } }
.ev-body > .badge { align-self: flex-start; }
.arch-head + .section { padding-top: 36px; }

/* Icon masks for native homepage elements (glyphs from the site icon set) */
.i-check { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); }
.i-car { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13l2-5a2 2 0 0 1 1.9-1.4h10.2A2 2 0 0 1 19 8l2 5v5a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H6v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z'/%3E%3Cline x1='3' y1='13' x2='21' y2='13'/%3E%3C/svg%3E"); }
.i-cross { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6v6h6v6h-6v6H9v-6H3V9h6z'/%3E%3C/svg%3E"); }
.i-tooth { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3c-2.5 0-4 2-4 4.5 0 3 1.5 4.5 2 7s1 6.5 2.5 6.5S9.5 17 12 17s3 4 4.5 4 2-4 2.5-6.5 2-4 2-7C21 5 19.5 3 17 3c-2 0-3 1-5 1S9 3 7 3z'/%3E%3C/svg%3E"); }
.i-paw { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5.5' cy='10' r='2'/%3E%3Ccircle cx='9.5' cy='5.5' r='2'/%3E%3Ccircle cx='14.5' cy='5.5' r='2'/%3E%3Ccircle cx='18.5' cy='10' r='2'/%3E%3Cpath d='M12 12c-3 0-6 4-6 6.5S8 21 12 19.5 18 21 18 18.5 15 12 12 12z'/%3E%3C/svg%3E"); }
.i-utensils { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h2a2 2 0 0 0 2-2V2'/%3E%3Cline x1='6' y1='2' x2='6' y2='22'/%3E%3Cpath d='M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3zm0 0v7'/%3E%3C/svg%3E"); }
.i-truck { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="coffee"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8h1a4 4 0 0 1 0 8h-1'/%3E%3Cpath d='M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z'/%3E%3Cline x1='6' y1='1' x2='6' y2='4'/%3E%3Cline x1='10' y1='1' x2='10' y2='4'/%3E%3Cline x1='14' y1='1' x2='14' y2='4'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="bag"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="wrench"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.8-3.8a6 6 0 0 1-7.9 7.9l-6.9 6.9a2.1 2.1 0 0 1-3-3l6.9-6.9a6 6 0 0 1 7.9-7.9l-3.8 3.8z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="heart"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1 7.8 7.7 7.8-7.7 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="activity"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="users"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.9'/%3E%3Cpath d='M16 3.1a4 4 0 0 1 0 7.8'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="music"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V5l12-2v13'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='18' cy='16' r='3'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="briefcase"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="car"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13l2-5a2 2 0 0 1 1.9-1.4h10.2A2 2 0 0 1 19 8l2 5v5a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H6v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z'/%3E%3Cline x1='3' y1='13' x2='21' y2='13'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="cross"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6v6h6v6h-6v6H9v-6H3V9h6z'/%3E%3C/svg%3E"); }
.quick .ico::before, .tile .ico::before { content: ''; width: 22px; height: 22px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.tile .ico { --i: none; }
.ico[data-tint='sand'] { background: var(--color-sand); color: var(--color-brick-dark); } .ico[data-tint='moss'] { background: var(--color-moss); color: var(--color-green); } .ico[data-tint='slate'] { background: var(--color-slate); color: var(--color-slate-ink); } .ico[data-tint='stone'] { background: var(--color-stone); color: var(--color-ink-2); }
.i-check::before { width: 16px; height: 16px; color: var(--color-ok-dot); } .trust > * { display: inline-flex; align-items: center; gap: 8px; }
.tile ul { list-style: none; margin: 0; padding: 0; } .tile li { display: flex; justify-content: space-between; gap: 8px; } .tile .brx-query-trail, .photo-rail .brx-query-trail, .club-list .brx-query-trail, .week-rows .brx-query-trail, .quick .brx-query-trail { display: none; }
.row-link.i-arrow { flex-direction: row-reverse; justify-content: space-between; } .eyebrow-gold { color: var(--color-gold); } .eyebrow-sand { color: #FBE3C4; }
.home-hero .hero-copy { flex: 0 1 560px; min-width: 0; } .home-hero .hero-visual { flex: 1 1 0; min-width: 0; } .hero-badge { align-self: flex-start; }
.photo-card-cap { z-index: 1; position: absolute; left: 14px; right: 14px; bottom: 14px; display: flex; flex-direction: column; gap: 2px; color: #fff; }
.photo-card-cap b { font-family: var(--font-display); font-size: 20px; line-height: 1.15; }
.photo-card-cap small { font-size: 13px; opacity: .9; }
.row-link > div { display: flex; flex-direction: column; gap: 2px; }
.row-link b { font-size: 16px; }
@media (min-width: 1241px) { .grid.grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
/* Native hero search (Bricks Search element) to match the original design */
.search-big.brxe-search { width: 100%; }
.search-big.brxe-search form { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 999px; padding: 6px 6px 6px 22px; box-shadow: inset 0 0 0 1px var(--color-line-2); }
.search-big.brxe-search form::before { content: ""; width: 22px; height: 22px; flex-shrink: 0; background: var(--color-ink-3); -webkit-mask: var(--i-search) center / contain no-repeat; mask: var(--i-search) center / contain no-repeat; }
.search-big.brxe-search { --i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7.5'/%3E%3Cline x1='21' y1='21' x2='16.5' y2='16.5'/%3E%3C/svg%3E"); }
.search-big.brxe-search input[type="search"] { flex: 1 1 auto; border: 0 !important; outline: 0; background: none; font: inherit; font-size: 17px; height: 48px; padding: 0; color: var(--color-ink); box-shadow: none !important; }
.search-big.brxe-search button { height: 48px; padding: 0 26px; border: 0; border-radius: var(--radius-button); background: var(--color-brick); color: #fff; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; }
.search-big.brxe-search button:hover { background: var(--color-brick-dark); }
/* "This week" day pills: sand for one-off events, moss for regular sessions */
.week-row .when { background: var(--color-sand); color: var(--color-brick-dark); padding: 4px 10px; border-radius: 10px; font-size: 12px; font-weight: 700; letter-spacing: .06em; align-self: flex-start; }
.week-row[data-kind="regular"] .when { background: var(--color-moss); color: var(--color-green); }
.week-row > div { display: flex; flex-direction: column; gap: 2px; }
.week-row small { font-size: 13px; color: var(--color-ink-3); }
.hero-photo { position: relative; margin: 0; }
.hero-badge { font-size: 13px; padding: 7px 14px; }
.search-big.brxe-search { background: none; box-shadow: none; padding: 0; border-radius: 0; }
/* Native pages: for businesses, newsletter, 404, forms */
.narrow { max-width: 860px; }
.tick-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 16px; }
.tick-list li { display: flex; gap: 12px; align-items: flex-start; }
.tick-list li::before { margin-top: 3px; color: var(--color-ok-dot); }
.how-list { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; font-size: 16px; line-height: 1.5; color: var(--color-ink-2); }
.how-list b { color: var(--color-ink); }
.plan { padding: 36px !important; }
.price { font-family: var(--font-display); font-size: 52px; }
.price-gold { color: var(--color-gold); }
.plan-featured { background: var(--color-green) !important; color: var(--color-chalk); box-shadow: none !important; }
.plan-featured .plan-note, .plan-note { color: #B9C6BC; font-size: 13px; font-weight: 600; margin: 0; }
.nf { text-align: center; max-width: 720px; }
.nf-horse { width: 320px; max-width: 80%; opacity: .9; filter: brightness(0) saturate(100%) invert(22%) sepia(22%) saturate(900%) hue-rotate(95deg); }
.crumbs-light, .crumbs-light a { color: var(--color-green-ink); }
.village-intro p { margin: 0; }
.article-wrap { width: 100%; }
.narrow { width: 100%; }

/* Homepage: "This week in Wantage" as a full-width strip under the hero, six items in three columns. */
.week-strip { background: var(--color-paper); padding-bottom: 72px; }
.week-strip .week-card { padding: 24px 28px; gap: 18px; }
.week-strip .week-rows { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 28px; }
.week-strip .week-row { flex-direction: row; align-items: flex-start; gap: 14px; padding: 4px 0; }
.week-strip .week-row .when { width: 54px; text-align: center; padding: 6px 0; }
@media (max-width: 1100px) { .week-strip .week-card { margin: 0; } .home-hero { padding-bottom: 24px; } .week-strip { padding-bottom: 48px; } }
@media (max-width: 991px) { .week-strip .week-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .week-strip .week-rows { grid-template-columns: minmax(0, 1fr); } .week-strip .week-card { margin: 0; padding: 20px; } }
/* Village photo grid (native Bricks image gallery). */
.photo-grid .image { border-radius: var(--radius-image, 18px); }

/* What's on filters: link options drawn like the directory's Bricks filter checkboxes (and radios for When). */
.fopts { display: flex; flex-direction: column; }
.fopt { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 15px; font-weight: 500; color: var(--color-ink); }
.fopt::before { content: ""; flex: 0 0 18px; height: 18px; box-sizing: border-box; border: 1.5px solid var(--color-ink-3); border-radius: 4px; background: #fff center / 12px no-repeat; }
.fopt-radio::before { border-radius: 50%; }
.fopt[aria-current="page"]::before { border-color: var(--color-green); background-color: var(--color-green); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.fopt-radio[aria-current="page"]::before { background-image: none; box-shadow: inset 0 0 0 3px #fff; }
.fopt[aria-current="page"] { font-weight: 700; }
.fopt:hover .fopt-text { text-decoration: underline; }
.fopt-text { flex-grow: 1; }
.fopt-count { font-size: 13px; font-weight: 600; color: var(--color-ink-3); }
.fopts .brx-query-trail { display: none; }
.fl-side { min-width: 0; }

/* Local history: era timeline, history cards, sources. */
.tl { display: flex; flex-direction: column; gap: 36px; }
.tl .brx-query-trail, .tl-list .brx-query-trail, .source-list .brx-query-trail { display: none; }
.tl-block { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; align-items: start; }
.tl-era { margin: 0; position: sticky; top: 108px; font-size: 24px; color: var(--color-green); }
.tl-list { list-style: none; margin: 0; padding: 0 0 0 24px; border-left: 2px solid var(--color-line-2); display: flex; flex-direction: column; gap: 22px; }
.tl-row { position: relative; display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 18px; }
.tl-row::before { content: ""; position: absolute; left: -31px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--color-paper); box-shadow: inset 0 0 0 3px var(--color-brick); }
.tl-date { font-size: 14px; font-weight: 700; letter-spacing: .02em; color: var(--color-brick-dark); padding-top: 2px; }
.tl-title { font-family: var(--font-display); font-size: 20px; font-weight: 600; color: var(--color-ink); line-height: 1.25; }
.tl-title:hover { color: var(--color-green); }
.tl-sum { margin: 4px 0 0; font-size: 15px; color: var(--color-ink-2); }
@media (max-width: 820px) { .tl-block { grid-template-columns: minmax(0, 1fr); gap: 14px; } .tl-era { position: static; } .tl-row { grid-template-columns: minmax(0, 1fr); gap: 2px; } }
.hc .fallback-name { font-size: 26px; }
.source-list { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.source-list a { color: var(--color-green); overflow-wrap: anywhere; }
.tl-block:not(:has(.tl-row)) { display: none; }

/* Walks: stats strip, map (OSM tiles + SVG route, no JavaScript), elevation profile, cards. */
.walk-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: var(--color-line); border-radius: var(--radius-card); overflow: hidden; box-shadow: inset 0 0 0 1px var(--color-line); }
.ws { background: #fff; padding: 14px 18px; display: flex; flex-direction: column; gap: 2px; }
.ws-k { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--color-ink-3); }
.ws-v { font-size: 17px; color: var(--color-ink); }
@media (max-width: 820px) { .walk-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.walk-map { position: relative; margin: 0; width: 100%; overflow: hidden; border-radius: var(--radius-image, 18px); background: #e8ece4; box-shadow: inset 0 0 0 1px var(--color-line); }
.wm-base { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.8); }
.walk-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.wm-casing { fill: none; stroke: #fff; stroke-width: 9; stroke-linejoin: round; stroke-linecap: round; opacity: .9; }
.wm-line { fill: none; stroke: var(--color-brick); stroke-width: 5; stroke-linejoin: round; stroke-linecap: round; }
.wm-pt circle { fill: var(--color-green); stroke: #fff; stroke-width: 2.5; }
.wm-start circle { fill: var(--color-brick); stroke: #fff; stroke-width: 3; }
.walk-map svg text { fill: #fff; font: 700 12px/1 var(--font-body, sans-serif); text-anchor: middle; }
.walk-map figcaption { position: absolute; right: 0; bottom: 0; padding: 2px 8px; background: rgba(255,255,255,.85); font-size: 11px; color: var(--color-ink-2); border-top-left-radius: 8px; }
.wm-key { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--color-ink-2); }
.wm-key b { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--color-green); color: #fff; font-size: 11px; margin-right: 4px; }
.wm-key li:first-child b { background: var(--color-brick); }
.walk-profile { margin: 0; }
.walk-profile svg { width: 100%; height: auto; display: block; }
.ep-area { fill: var(--color-moss); }
.ep-line { fill: none; stroke: var(--color-green); stroke-width: 2.5; stroke-linejoin: round; }
.ep-top { fill: var(--color-brick); }
.ep-grid line { stroke: var(--color-line); stroke-dasharray: 3 4; }
.ep-grid text { fill: var(--color-ink-3); font: 12px var(--font-body, sans-serif); }
.ep-y { text-anchor: end; } .ep-x { text-anchor: middle; }
.walk-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.walk-safety, .walk-pubs { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.walk-safety .brx-query-trail { display: none; }
.walk-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.wc[data-grade="Easy"] .walk-grade { background: var(--color-moss); color: var(--color-green); }
.wc[data-grade="Moderate"] .walk-grade { background: var(--color-sand); color: var(--color-brick-dark); }
.wc[data-grade="Challenging"] .walk-grade { background: var(--color-brick); color: #fff; }
.walk-grid .brx-query-trail { display: none; }

/* Developments: status badges. */
.dc .dev-status { background: var(--color-moss); color: var(--color-green); }
.dc[data-status="Proposed"] .dev-status, .dc[data-status="In planning"] .dev-status { background: var(--color-sand); color: var(--color-brick-dark); }
.dc[data-status="Being built"] .dev-status { background: var(--color-brick); color: #fff; }
.dc[data-status="Refused"] .dev-status, .dc[data-status="On hold"] .dev-status { background: var(--color-line); color: var(--color-ink-2); }
.dev-includes, .dev-dates { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.dev-dates { list-style: none; padding: 0; }
.dev-dates li { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 10px; }
.dev-dates .brx-query-trail { display: none; }
.dm-pin circle { fill: var(--color-brick); }
.dev-map a:hover circle { fill: var(--color-green); }
.dm-key a { color: var(--color-ink); }

/* Food hygiene rating (FSA open data, wdc-fsa.php), laid out like the FSA sticker. */
.fsa-wrap-in { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
.fsa-wrap-in .fsa { margin-bottom: 6px; }
.fsa, .fsa:hover, .fsa:focus { color: #fff; text-decoration: none; }
.fsa { display: inline-flex; flex-direction: column; width: 240px; border: 3px solid #000; border-radius: 12px; overflow: hidden; background: #000; color: #fff; text-decoration: none; }
.fsa-k { padding: 6px 8px 5px; text-align: center; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fsa-scale { display: flex; justify-content: space-between; align-items: center; gap: 2px; padding: 10px 10px; background: #00a14b; }
.fsa-scale i { font-style: normal; width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; background: #fff; color: #000; }
.fsa-scale i.on { width: 44px; height: 44px; margin: -8px 0; font-size: 26px; background: #000; color: #fff; box-shadow: 0 0 0 3px #fff; }
.fsa-v { padding: 6px 8px; text-align: center; font-size: 15px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fsa:not(:has(.fsa-scale)) .fsa-v { padding: 14px 8px; background: #00a14b; color: #000; }
.fsa-d { font-size: 13px; color: var(--color-ink-3); }
.fsa-wrap { padding: 16px 18px; border-radius: var(--radius-card); background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); }
.badge-fsa { background: #e3f1e6; color: #1f5c30; }

/* Location map with a pin (wdc-maps.php). */
.listing-map .walk-map { border-radius: 0; box-shadow: none; }
.mp-pin path { fill: var(--color-brick); stroke: #fff; stroke-width: 2.5; }
.mp-pin circle { fill: #fff; }
.map-links { display: flex; gap: 18px; flex-wrap: wrap; }
/* Tables inside descriptions and articles. */
.prose table, .lp-about table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 15px; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: inset 0 0 0 1px var(--color-line); }
.prose th, .prose td, .lp-about th, .lp-about td { padding: 10px 14px; text-align: left; border: 0; border-bottom: 1px solid var(--color-line); vertical-align: top; }
.prose th, .lp-about th { background: var(--color-moss); font-weight: 700; color: var(--color-ink); }
.prose tr:last-child td, .lp-about tr:last-child td { border-bottom: 0; }
.lp-about table[border] td, .lp-about table[border] th { border-left: 0; border-right: 0; border-top: 0; }
@media (max-width: 600px) { .prose table, .lp-about table { display: block; overflow-x: auto; } }

/* Schools and nurseries. */
.sc-insp { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--color-line); display: flex; flex-direction: column; gap: 2px; }
.sc-k { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--color-ink-3); }
.sc-v { font-size: 15px; }
.sc .lc-body { gap: 4px; }
.mp-dot circle { fill: var(--color-green); stroke: #fff; stroke-width: 2.5; }
.mp-dot.g-nursery circle { fill: #c0784a; } .mp-dot.g-primary circle { fill: var(--color-green); } .mp-dot.g-secondary circle { fill: #2b5a8c; }
.mp-dot.g-college circle { fill: #7a4f9a; } .mp-dot.g-independent circle { fill: #9a8a3a; }
a:hover .mp-dot circle { stroke: #000; }
.mp-legend { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--color-ink-2); }
.mp-legend li::before { content: ""; display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--color-line-2); }
.mp-legend .g-nursery::before { background: #c0784a; } .mp-legend .g-primary::before { background: var(--color-green); } .mp-legend .g-secondary::before { background: #2b5a8c; }
.mp-legend .g-college::before { background: #7a4f9a; } .mp-legend .g-independent::before { background: #9a8a3a; }

/* ---- Audit fixes (research/audit/visual.md, a11y-perf.md) ---- */
/* Bricks' filter legend is absolutely positioned at full viewport width and scrolled pages sideways: hide it accessibly. */
legend.brx-filter-legend, .brx-filter-legend { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; left: auto !important; }
/* Grids never force a column wider than the screen (walk pages overflowed at 390 px). */
.lp-grid > *, .fl > *, .lp-main, .lp-aside { min-width: 0; }
.lp-aside, .lp-main { overflow-wrap: anywhere; }
@media (max-width: 1100px) { .lp-grid { grid-template-columns: minmax(0, 1fr); } }
/* Listing cover on phone/tablet: full-bleed width to match the negative margins. */
@media (max-width: 1100px) { .lp-cover { width: calc(100% + 2 * var(--gutter)); max-width: none; } }
/* Directory toolbar and maps stay inside the screen. */
.ftoolbar-row { flex-wrap: wrap; }
select.fsort { max-width: 100%; }
.dev-map-wrap, .listing-map, .walk-map-wrap { max-width: 100%; overflow: hidden; }
/* Tablet: row cards with a short image instead of a tall stacked one. */
@media (min-width: 600px) and (max-width: 1100px) {
	.lc-row { flex-direction: row; }
	.lc-row .lc-media { width: 200px; aspect-ratio: auto; min-height: 160px; }
}
/* One button shape: pills everywhere. */
.lc-actions .btn { border-radius: var(--radius-button); }
.filters button[class*="more"], .filters .brx-option-more, .filters [class*="show-more"] { margin-top: 6px; background: none !important; border: 0 !important; padding: 0 !important; font: inherit; font-size: 14px; font-weight: 700; color: var(--color-green) !important; cursor: pointer; box-shadow: none !important; }
/* Headings inside imported descriptions follow the site type scale. */
.lp-about h1, .lp-about h2 { font-family: var(--font-display); font-size: 24px; line-height: 1.25; font-weight: 600; margin: 24px 0 8px; }
.lp-about h3, .lp-about h4 { font-family: var(--font-display); font-size: 19px; line-height: 1.3; font-weight: 600; margin: 20px 0 6px; }
.tl-era { font-family: var(--font-display); font-weight: 600; }
/* Focus: visible everywhere, including the header search; green reads on white and chalk (gold did not). */
:focus-visible { outline: 3px solid var(--color-green-dark, #1e4d36); outline-offset: 2px; }
.header-search.brxe-search form:focus-within, .search-big.brxe-search form:focus-within { box-shadow: inset 0 0 0 2px var(--color-green) !important; }
.filters input[type="checkbox"]:focus-visible { outline: 3px solid var(--color-green-dark, #1e4d36); }
/* Links inside text are underlined, not colour-only. */
.meta a, .walk-pubs a, .prose a, .lp-about a, .check-note a, .dl-v a { text-decoration: underline; text-underline-offset: 2px; }
/* Visually hidden headings for structure. */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* /regions/: every town and village in a wrapping grid (a sideways strip hid most of them). */
.filmstrip.village-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; overflow: visible; scroll-snap-type: none; padding-bottom: 0; }
.village-grid .filmstrip-item { flex-basis: auto; }
.village-grid .filmstrip-item img, .village-grid .filmstrip-ph { aspect-ratio: 4 / 3; }
.village-grid .filmstrip-name { font-size: 19px; }
@media (max-width: 1100px) { .filmstrip.village-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) { .filmstrip.village-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .village-grid .filmstrip-link .filmstrip-cap { left: 8px; right: 8px; bottom: 8px; padding: 8px 10px; } .village-grid .filmstrip-name { font-size: 16px; } }
/* Tap-to-load maps: the route or pins on a plain background until "Show map". */
/* Mobile header: menu button at the right edge; phone menu starts below its close button; the last three menu items
   (search, list your business, update your listing) exist for the phone menu only. */
.main-nav .bricks-nav-menu > li:nth-last-child(-n+3) { display: none; }
@media (max-width: 991px) {
	.site-header .main-nav { flex: 0 0 auto; margin-left: auto; }
	.main-nav .bricks-mobile-menu { padding-top: 88px !important; }
	.main-nav .bricks-mobile-menu > li:nth-last-child(-n+3) > a { color: var(--color-brick); }
}

/* Empty states (crawl audit): hide blocks whose loop returned nothing, rather than showing a bare heading or gap. */
.ev-group:not(:has(li)), .tl-block:not(:has(li)), .chips-scroll:not(:has(.chip)), .arch-lede:empty, .lc-tag:empty, .lp-about p:empty { display: none; }
.section:has(> .wrap > .grid-3):not(:has(.grid-3 a)):not(:has(.empty)) { display: none; }
.empty-note { color: var(--color-ink-2); }
.walk-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.walk-links a { font-weight: 600; }
.article-media .photo-credit { display: block; margin: 0; padding: 8px 12px 10px; font-size: 13px; color: var(--color-ink-2); background: #fff; }
.article-media .photo-credit a { color: inherit; }
.lp-cover .lp-credit { position: absolute; right: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 4px 10px; border-radius: 999px; background: rgba(23, 35, 28, 0.72); color: #fff; font-size: 12px; }
.lp-cover .lp-credit a { color: inherit; }
.photo-credits { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.guide-places { margin: 24px 0; }
.guide-places .badge-featured { display: none; } /* payment never ranks or badges anyone inside a guide */
.guide-events, .guide-walks { list-style: none; padding: 0; margin: 20px 0; display: flex; flex-direction: column; gap: 10px; }
.guide-events li, .guide-walks li { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.guide-events li span, .guide-walks li span { color: var(--color-ink-2); font-size: 14px; }
.walk-map.wm-pending { background: #e9eee8 repeating-linear-gradient(45deg, transparent 0 18px, rgba(0,0,0,.025) 18px 19px); }
/* Good to know (wdc-features.php) */
.good { display: flex; flex-direction: column; gap: 12px; }
.good .good-chips { flex-wrap: wrap; }
.good .good-rows { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 24px; }
.good .good-rows b { margin-right: 6px; }
.good .good-links { display: flex; flex-wrap: wrap; gap: 8px; }
.good .meta { margin: 0; }

/* Visual pass 2 (research/audit/visual-2.md) */
.skip-link { display: none !important; } /* Bricks' own pair was unreadable on focus; our .skip link stays */
.footer-legal-nav .bricks-nav-menu { flex-wrap: wrap; gap: 8px 20px; }
.sugg-all { display: block; width: 100%; padding: 12px 18px; }
.utility a:focus-visible { outline-color: #fff; }
input[type="search"]:focus-visible, .brxe-search input:focus-visible { outline: 3px solid var(--color-green); outline-offset: 2px; }
.lp-about td, .lp-about th { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.notice h3, .notice .h5 { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.article-media img { max-height: 560px; object-fit: cover; object-position: 50% 25%; }
.lc-media img { object-position: 50% 28%; } /* portrait photos keep faces and statues' heads */
.clubs-head .btn { align-self: flex-start; }
.club-list .row-link:first-child { border-top: 0; }
.ev-group li { padding: 0; }
.ev-group li a { display: block; padding: 12px 0 2px; }
.ev-group li span { padding-bottom: 12px; }
.ev-head { align-items: flex-start; text-align: left; }
.wm-key li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 6px; align-items: start; }
#people-places .grid, #walks .grid, #photos .grid, #devs .grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.chip[aria-current="page"] b, .chip.is-active b { color: inherit; opacity: .8; }
.lc-actions .btn, .lc-actions .btn-square { min-height: 44px; }
.badge { font-size: 12.5px; }
.lc-foot .badge-muted { display: none; } /* cards show only the positive "Details checked" state */
/* A map whose background is still being built: a slim notice, not a big empty panel with floating pins. */
.walk-map.wm-pending { aspect-ratio: auto !important; min-height: 0; padding: 14px 16px; background: var(--color-chalk); box-shadow: inset 0 0 0 1px var(--color-line); }
.walk-map.wm-pending svg { display: none; }
.walk-map.wm-pending::before { content: "Map being prepared"; font-weight: 600; color: var(--color-ink-2); font-size: 14px; }
.walk-map.wm-pending figcaption { position: static; background: none; padding: 4px 0 0; }
@media (max-width: 767px) {
	.main-nav .bricks-mobile-menu-toggle { width: 44px; height: 44px; display: grid; place-items: center; margin-right: -12px; }
	.utility { display: none; }
	.notice { flex-direction: column; gap: 8px; }
	.hero-copyfirst .hero-copy { order: 1; }
	.hero-copyfirst .hero-visual { order: 2; padding: 0 var(--gutter); }
	.hero-copyfirst .hero-visual .main { border-radius: var(--radius-image, 18px); }
	.dev-map-wrap .dm-key { display: none; } /* the cards below carry the same names */
	.walk-map figcaption { font-size: 10px; }
}
@media (max-width: 767px) {
	/* Listing actions: full-width pills, Call first (visual-2 M1) */
	.lp-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 8px; }
	.lp-actions .btn, .lp-actions .btn-square { height: 48px; border-radius: 999px; flex-direction: row; gap: 8px; font-size: 15px; width: auto; }
}
/* Guide place rows ([wdc_places] in guides) */
.guide-places { list-style: none; margin: 20px 0 28px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.guide-places .gp { display: flex; gap: 14px; align-items: center; padding: 10px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); color: var(--color-ink); text-decoration: none; height: 100%; }
.guide-places .gp:hover { box-shadow: inset 0 0 0 1px var(--color-green); }
.guide-places .gp-img { flex: 0 0 72px; width: 72px; height: 72px; border-radius: 12px; overflow: hidden; background: var(--color-stone); display: grid; place-items: center; }
.guide-places .gp-img img { width: 100%; height: 100%; object-fit: cover; }
.guide-places .gp-img img.logo-only { object-fit: contain; padding: 6px; background: #fff; }
.guide-places .gp-initial { font-family: var(--font-display, serif); font-size: 30px; font-weight: 700; color: var(--color-green); }
.guide-places .gp-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.guide-places .gp-body b { font-size: 16px; line-height: 1.25; }
.guide-places .gp-body small { font-size: 13px; color: var(--color-ink-2); }
.guide-places .gp-good { color: var(--color-green) !important; font-weight: 600; }
@media (max-width: 640px) { .guide-places { grid-template-columns: minmax(0, 1fr); } }

/* ===== Main nav: mega menu (desktop) and mobile menu. setup/bricks_build.py main_nav() ===== */
.mm-nav .brx-nav-nested-items { gap: 2px; align-items: center; }
.mm-nav .brx-submenu-toggle, .mm-nav .mm-top { font-weight: 600; font-size: 16px; color: var(--color-ink); padding: 10px 12px; border-radius: 10px; }
.mm-nav .brx-submenu-toggle button, .mm-nav .brx-submenu-toggle > * { font: inherit; color: inherit; }
.mm-nav .brxe-dropdown:hover > .brx-submenu-toggle, .mm-nav .brxe-dropdown.open > .brx-submenu-toggle, .mm-nav .mm-top:hover { background: var(--color-chalk); }
.mm-panel.brx-dropdown-content { background: #fff; border-top: 1px solid var(--color-line); box-shadow: 0 28px 48px -28px rgba(15, 29, 21, 0.35); padding: 28px 0 32px; min-width: 0; }
.mm-inner { max-width: 1240px; margin: 0 auto; padding: 0 var(--gutter, 24px); display: grid; grid-template-columns: 1.5fr 1fr 0.9fr; gap: 36px; align-items: start; }
.mm-dd-villages .mm-inner { grid-template-columns: minmax(0, 1fr); }
.mm-guides { display: flex; flex-direction: column; gap: 2px; }
.mm-guides .mm-row { font-size: 14.5px; line-height: 1.35; padding: 8px 10px; }
.mm-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.mm-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-ink-3); }
.mm-rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 16px; }
.mm-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 10px; border-radius: 10px; color: var(--color-ink); font-weight: 600; font-size: 15px; }
.mm-row:hover { background: var(--color-chalk); color: var(--color-green); }
.mm-row b { font-size: 13px; font-weight: 600; color: var(--color-ink-3); }
.mm-chips { flex-wrap: wrap; gap: 8px; }
.mm-tile { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 14px; color: var(--color-ink); box-shadow: inset 0 0 0 1px var(--color-line); }
.mm-tile:hover { box-shadow: inset 0 0 0 1px var(--color-green); background: var(--color-chalk); }
.mm-tile b { font-size: 16px; }
.mm-tile span { font-size: 14px; color: var(--color-ink-2); }
.mm-tile[class*="i-"]::before { margin-bottom: 4px; color: var(--color-green); }
.mm-cta { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; padding: 22px; border-radius: 20px; background: var(--color-green); color: #fff; }
.mm-cta p { margin: 0; color: rgba(255, 255, 255, 0.85); font-size: 15px; }
.mm-cta-title { font-family: var(--font-display, serif); font-size: 20px; }
.mm-cta .link-arrow { color: #fff; }
.mm-places { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.mm-place { display: flex; flex-direction: column; gap: 6px; color: var(--color-ink); font-weight: 600; }
.mm-place img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; background: var(--color-stone); }
.mm-place:hover { color: var(--color-green); }
.mm-mobile-only { display: none; }
.mm-open, .mm-close { display: none; }

@media (max-width: 991px) {
	.header-tools { display: none; }
	.mm-open.brxe-toggle { display: grid; place-items: center; width: 44px; height: 44px; margin-left: auto; margin-right: -8px; border-radius: 12px; }
	.mm-nav.brx-open .brx-nav-nested-items { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 72px 20px 32px; overflow-y: auto; background: var(--color-paper); }
	.mm-close.brxe-toggle { display: grid; place-items: center; position: absolute; top: 14px; right: 14px; width: 44px; height: 44px; border-radius: 12px; background: var(--color-chalk); }
	.mm-mobile-only { display: block; }
	.mm-search-li { margin-bottom: 12px; }
	.mm-search input { width: 100%; height: 50px; border-radius: 999px; padding: 0 20px; border: 1px solid var(--color-line-2); background: #fff; font-size: 16px; }
	.mm-nav .brx-submenu-toggle, .mm-nav .mm-top { font-size: 19px; padding: 15px 4px; border-radius: 0; border-bottom: 1px solid var(--color-line); justify-content: space-between; width: 100%; }
	.mm-nav .brxe-dropdown:hover > .brx-submenu-toggle, .mm-nav .mm-top:hover { background: none; }
	.mm-panel.brx-dropdown-content { box-shadow: none; border: 0; padding: 8px 0 16px; background: none; }
	.mm-inner, .mm-dd-explore .mm-inner, .mm-dd-villages .mm-inner { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 0; margin: 0; max-width: none; }
	.mm-rows { grid-template-columns: minmax(0, 1fr); }
	.mm-places { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.mm-cta { display: none; } /* the calls to action sit together at the foot of the menu */
	.mm-mobile-ctas { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
	.mm-mobile-ctas .btn { width: 100%; justify-content: center; height: 50px; }
}
/* mega menu: fit on one line, and keep panel links at their own sizes */
.site-header .mm-nav { flex: 1 1 auto; display: flex; justify-content: center; min-width: 0; }
.mm-nav .brx-nav-nested-items { flex-wrap: nowrap; }
.mm-panel a { white-space: normal; }
.mm-panel .chip { padding: 7px 14px; }
@media (max-width: 991px) {
	.mm-nav.brx-open .brx-nav-nested-items { position: fixed; top: 0; right: 0; left: auto; bottom: 0; width: min(92vw, 420px); height: 100dvh; box-shadow: -24px 0 48px -24px rgba(15, 29, 21, 0.4); z-index: 1002; }
	.mm-nav.brx-open::before { content: ""; position: fixed; inset: 0; background: rgba(15, 29, 21, 0.45); z-index: 1001; }
	.mm-close .brxa-wrap { display: none; }
	.mm-close::after { content: "\2715"; font-size: 18px; font-weight: 700; color: var(--color-ink); }
	.mm-mobile-ctas .btn-outline { box-shadow: inset 0 0 0 1.5px var(--color-ink); color: var(--color-ink); background: #fff; }
	.mm-mobile-ctas .link-arrow { align-self: center; margin-top: 4px; }
}
.mm-nav .brx-submenu-toggle, .mm-nav .brx-submenu-toggle * { white-space: nowrap; }

.mm-places { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.mm-tile { text-align: left; align-items: flex-start; }
.mm-nav .brx-submenu-toggle, .mm-nav .mm-top { padding: 10px 10px; }
.site-header .wrap { column-gap: 24px !important; }
@media (max-width: 1240px) { .mm-places { grid-template-columns: repeat(4, minmax(0, 1fr)); } .header-search { max-width: 170px; } }
@media (max-width: 991px) { .mm-places { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Text uses the full content width (owner's preference); the only narrow column left is forms. */
.lede, .arch-lede, .village-intro, .body { max-width: none; }

/* Guide single: wide page, text beside a sticky contents box */
.guide-wrap { padding-top: 8px; padding-bottom: 64px; }
.guide-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: start; margin-top: 12px; }
.guide-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.guide-aside { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 16px; }
.guide-toc { padding: 20px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); display: flex; flex-direction: column; gap: 10px; }
.guide-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.guide-toc a { display: block; padding: 6px 8px; border-radius: 8px; color: var(--color-ink); font-weight: 600; font-size: 15px; line-height: 1.35; }
.guide-toc a:hover { background: var(--color-chalk); color: var(--color-green); }
.guide-side-cta { padding: 20px; border-radius: 18px; background: var(--color-green); color: #fff; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.guide-side-cta p { margin: 0; color: rgba(255, 255, 255, .85); }
.guide-main .prose h2 { scroll-margin-top: 110px; }
@media (max-width: 991px) { .guide-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; } .guide-aside { position: static; } .guide-toc { display: none; } }

/* [wdc_places] in guides: a swipeable row of cards (scroll-snap, arrows by wdc-guides.php) */
.gp-carousel { position: relative; margin: 20px 0 28px; }
.prose .guide-places, .lp-about .guide-places, .guide-places { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 2px 2px 12px !important; margin: 0 !important; list-style: none; scrollbar-width: thin; }
.guide-places li { flex: 0 0 240px; scroll-snap-align: start; margin: 0 !important; padding: 0 !important; }
.guide-places li::before, .guide-places li::marker { content: none; }
.guide-places .gp { flex-direction: column; align-items: stretch; gap: 0; padding: 0; overflow: hidden; }
.guide-places .gp-img { flex: none; width: 100%; height: 150px; border-radius: 0; }
.guide-places .gp-initial { font-size: 44px; }
.guide-places .gp-body { padding: 12px 14px 14px; }
.gp-nav { position: absolute; top: 58px; width: 40px; height: 40px; border-radius: 999px; border: 0; background: #fff; box-shadow: 0 6px 18px -6px rgba(15, 29, 21, .45); display: grid; place-items: center; cursor: pointer; font-size: 18px; color: var(--color-ink); z-index: 2; }
.gp-prev { left: -14px; } .gp-next { right: -14px; }
.gp-nav[disabled] { opacity: 0; pointer-events: none; }
@media (max-width: 640px) { .guide-places li { flex-basis: 78%; } .gp-nav { display: none; } }

/* Mega panel: a card the width of the header content, with a little air below the menu */
.mm-dd { --brx-dropdown-height-before: 18px; }
.mm-panel.brx-dropdown-content { margin-top: 14px; border: 1px solid var(--color-line); border-radius: 22px; padding: 28px 0 30px; }
.mm-inner { max-width: none; margin: 0; padding: 0 30px; }
/* Bricks sizes the mega panel to the header's full-width container, so the panel itself is an invisible frame and the
   card inside it matches the header content (logo to button) with a gap below the menu. */
.mm-panel.brx-dropdown-content { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin-top: 0 !important; }
.mm-panel .mm-inner { width: min(1160px, calc(100vw - 2 * var(--gutter, 24px))); margin: 14px auto 0 !important; padding: 28px 30px 30px; background: #fff; border: 1px solid var(--color-line); border-radius: 22px; box-shadow: 0 28px 48px -28px rgba(15, 29, 21, 0.35); }
@media (max-width: 991px) { .mm-panel .mm-inner { width: auto; margin: 0 !important; padding: 0; border: 0; box-shadow: none; background: none; } }
/* Event date pills: one colour everywhere (the old sand/green split by one-off vs regular read like a category), and the
   day with its date ("Thu 22nd") so it's clear when things are. */
.week-row .when, .week-row[data-kind] .when, .week-strip .week-row .when, .week-rows .week-row .when { width: auto; min-width: 64px; padding: 6px 10px; text-align: center; background: var(--color-moss); color: var(--color-green); letter-spacing: 0; text-transform: none; font-size: 13px; white-space: nowrap; }
.ev-box, .ev-box[data-tint], .occ[data-kind] .ev-box { background: var(--color-moss); color: var(--color-green); }

/* FA-ICONS:start (generated by design/icons/build_icons.py: Font Awesome 6 Free Solid, CC BY 4.0) */
.i-phone { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E"); }
.i-globe { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 256c0 22.2-1.2 43.6-3.3 64l-185.3 0c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64l185.3 0c2.2 20.4 3.3 41.8 3.3 64zm28.8-64l123.1 0c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64l-123.1 0c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7 0c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0l-176.6 0c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0L18.6 160C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192l123.1 0c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64L8.1 320C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6l176.6 0c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352l116.7 0zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6l116.7 0z'/%3E%3C/svg%3E"); }
.i-directions { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8l0 56-64 0c-35.3 0-64 28.7-64 64l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48c0-8.8 7.2-16 16-16l64 0 0 56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z'/%3E%3C/svg%3E"); }
.i-pin { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E"); }
.i-plus { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z'/%3E%3C/svg%3E"); }
.i-mail { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E"); }
.i-map { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M384 476.1L192 421.2l0-385.3L384 90.8l0 385.3zm32-1.2l0-386.5L543.1 37.5c15.8-6.3 32.9 5.3 32.9 22.3l0 334.8c0 9.8-6 18.6-15.1 22.3L416 474.8zM15.1 95.1L160 37.2l0 386.5L32.9 474.5C17.1 480.8 0 469.2 0 452.2L0 117.4c0-9.8 6-18.6 15.1-22.3z'/%3E%3C/svg%3E"); }
.i-arrow { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E"); }
.i-flag { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32L0 64 0 368 0 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 64.3-16.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30l0-247.7c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L64 48l0-16z'/%3E%3C/svg%3E"); }
.i-clock { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E"); }
.i-info { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E"); }
.i-check { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E"); }
.i-car { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E"); }
.i-cross { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M142.4 21.9c5.6 16.8-3.5 34.9-20.2 40.5L96 71.1 96 192c0 53 43 96 96 96s96-43 96-96l0-120.9-26.1-8.7c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l26.1 8.7C334.4 19.1 352 43.5 352 71.1L352 192c0 77.2-54.6 141.6-127.3 156.7C231 404.6 278.4 448 336 448c61.9 0 112-50.1 112-112l0-70.7c-28.3-12.3-48-40.5-48-73.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 70.7c0 97.2-78.8 176-176 176c-92.9 0-168.9-71.9-175.5-163.1C87.2 334.2 32 269.6 32 192L32 71.1c0-27.5 17.6-52 43.8-60.7l26.1-8.7c16.8-5.6 34.9 3.5 40.5 20.2zM480 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E"); }
.i-tooth { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M186.1 52.1C169.3 39.1 148.7 32 127.5 32C74.7 32 32 74.7 32 127.5l0 6.2c0 15.8 3.7 31.3 10.7 45.5l23.5 47.1c4.5 8.9 7.6 18.4 9.4 28.2l36.7 205.8c2 11.2 11.6 19.4 22.9 19.8s21.4-7.4 24-18.4l28.9-121.3C192.2 323.7 207 312 224 312s31.8 11.7 35.8 28.3l28.9 121.3c2.6 11.1 12.7 18.8 24 18.4s20.9-8.6 22.9-19.8l36.7-205.8c1.8-9.8 4.9-19.3 9.4-28.2l23.5-47.1c7.1-14.1 10.7-29.7 10.7-45.5l0-2.1c0-55-44.6-99.6-99.6-99.6c-24.1 0-47.4 8.8-65.6 24.6l-3.2 2.8 19.5 15.2c7 5.4 8.2 15.5 2.8 22.5s-15.5 8.2-22.5 2.8l-24.4-19-37-28.8z'/%3E%3C/svg%3E"); }
.i-paw { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M226.5 92.9c14.3 42.9-.3 86.2-32.6 96.8s-70.1-15.6-84.4-58.5s.3-86.2 32.6-96.8s70.1 15.6 84.4 58.5zM100.4 198.6c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7 .9 78.5 33.3zM69.2 401.2C121.6 259.9 214.7 224 256 224s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5l0 1.6c0 25.8-20.9 46.7-46.7 46.7c-11.5 0-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6 0l-88 22c-11.1 2.8-22.5 4.2-34 4.2C84.9 480 64 459.1 64 433.3l0-1.6c0-10.4 1.6-20.8 5.2-30.5zM421.8 282.7c-24.5-14-29.1-51.7-10.2-84.1s54-47.3 78.5-33.3s29.1 51.7 10.2 84.1s-54 47.3-78.5 33.3zM310.1 189.7c-32.3-10.6-46.9-53.9-32.6-96.8s52.1-69.1 84.4-58.5s46.9 53.9 32.6 96.8s-52.1 69.1-84.4 58.5z'/%3E%3C/svg%3E"); }
.i-utensils { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 0C400 0 288 32 288 176l0 112c0 35.3 28.7 64 64 64l32 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 0-112 0-208c0-17.7-14.3-32-32-32zM64 16C64 7.8 57.9 1 49.7 .1S34.2 4.6 32.4 12.5L2.1 148.8C.7 155.1 0 161.5 0 167.9c0 45.9 35.1 83.6 80 87.7L80 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224.4c44.9-4.1 80-41.8 80-87.7c0-6.4-.7-12.8-2.1-19.1L191.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S160 7.8 160 16l0 134.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L127.9 14.6C127.2 6.3 120.3 0 112 0s-15.2 6.3-15.9 14.6L83.7 151c-.5 5.1-4.7 9-9.8 9c-5.4 0-9.8-4.4-9.8-9.8L64 16zm48.3 152l-.3 0-.3 0 .3-.7 .3 .7z'/%3E%3C/svg%3E"); }
.i-truck { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M48 0C21.5 0 0 21.5 0 48L0 368c0 26.5 21.5 48 48 48l16 0c0 53 43 96 96 96s96-43 96-96l128 0c0 53 43 96 96 96s96-43 96-96l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-64 0-32 0-18.7c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7L416 96l0-48c0-26.5-21.5-48-48-48L48 0zM416 160l50.7 0L544 237.3l0 18.7-128 0 0-96zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E"); }
.i-calendar { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm64 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm128 0l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 400l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z'/%3E%3C/svg%3E"); }
.i-search { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E"); }
.i-sliders { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z'/%3E%3C/svg%3E"); }
.i-x { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E"); }
.i-chevron { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E"); }
.i-chevron-down { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E"); }
.i-chevron-left { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z'/%3E%3C/svg%3E"); }
.i-school { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96 48 96C21.5 96 0 117.5 0 144L0 464c0 26.5 21.5 48 48 48l208 0 0-96c0-35.3 28.7-64 64-64s64 28.7 64 64l0 96 208 0c26.5 0 48-21.5 48-48l0-320c0-26.5-21.5-48-48-48L473.7 96 337.8 5.4zM96 192l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64zM96 320l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-64zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-16 0 0-16c0-8.8-7.2-16-16-16z'/%3E%3C/svg%3E"); }
.i-house { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/%3E%3C/svg%3E"); }
.i-newspaper { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M96 96c0-35.3 28.7-64 64-64l288 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L80 480c-44.2 0-80-35.8-80-80L0 128c0-17.7 14.3-32 32-32s32 14.3 32 32l0 272c0 8.8 7.2 16 16 16s16-7.2 16-16L96 96zm64 24l0 80c0 13.3 10.7 24 24 24l112 0c13.3 0 24-10.7 24-24l0-80c0-13.3-10.7-24-24-24L184 96c-13.3 0-24 10.7-24 24zm208-8c0 8.8 7.2 16 16 16l48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16l48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0c-8.8 0-16 7.2-16 16zM160 304c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-256 0c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-256 0c-8.8 0-16 7.2-16 16z'/%3E%3C/svg%3E"); }
.i-users { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192l42.7 0c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0L21.3 320C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7l42.7 0C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3l-213.3 0zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352l117.3 0C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7l-330.7 0c-14.7 0-26.7-11.9-26.7-26.7z'/%3E%3C/svg%3E"); }
.i-heart { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z'/%3E%3C/svg%3E"); }
.i-wallet { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L80 128c-8.8 0-16-7.2-16-16s7.2-16 16-16l368 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32zM416 272a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E"); }
.i-hand { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M163.9 136.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L310.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L163.9 136.9zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5L192 512 32 512c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l36.8 0 44.9-36c22.7-18.2 50.9-28 80-28l78.3 0 16 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l120.6 0 119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384c0 0 0 0 0 0l-.9 0c.3 0 .6 0 .9 0z'/%3E%3C/svg%3E"); }
.i-baby { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M152 88a72 72 0 1 1 144 0A72 72 0 1 1 152 88zM39.7 144.5c13-17.9 38-21.8 55.9-8.8L131.8 162c26.8 19.5 59.1 30 92.2 30s65.4-10.5 92.2-30l36.2-26.4c17.9-13 42.9-9 55.9 8.8s9 42.9-8.8 55.9l-36.2 26.4c-13.6 9.9-28.1 18.2-43.3 25l0 36.3-192 0 0-36.3c-15.2-6.7-29.7-15.1-43.3-25L48.5 200.3c-17.9-13-21.8-38-8.8-55.9zm89.8 184.8l60.6 53-26 37.2 24.3 24.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-48-48C70 438.6 68.1 417 79.2 401.1l50.2-71.8zm128.5 53l60.6-53 50.2 71.8c11.1 15.9 9.2 37.5-4.5 51.2l-48 48c-15.6 15.6-40.9 15.6-56.6 0s-15.6-40.9 0-56.6L284 419.4l-26-37.2z'/%3E%3C/svg%3E"); }
.i-person-cane { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M272 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-8 187.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7l-35.9 0c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9 120 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 16 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-244.7zM352 376c0-4.4 3.6-8 8-8s8 3.6 8 8l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-30.9-25.1-56-56-56s-56 25.1-56 56l0 8c0 13.3 10.7 24 24 24s24-10.7 24-24l0-8z'/%3E%3C/svg%3E"); }
.i-fire { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z'/%3E%3C/svg%3E"); }
.i-child { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M96 64a64 64 0 1 1 128 0A64 64 0 1 1 96 64zm48 320l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-192.2L59.1 321c-9.4 15-29.2 19.4-44.1 10S-4.5 301.9 4.9 287l39.9-63.3C69.7 184 113.2 160 160 160s90.3 24 115.2 63.6L315.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L240 287.8 240 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96-32 0z'/%3E%3C/svg%3E"); }
.i-recycle { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M174.7 45.1C192.2 17 223 0 256 0s63.8 17 81.3 45.1l38.6 61.7 27-15.6c8.4-4.9 18.9-4.2 26.6 1.7s11.1 15.9 8.6 25.3l-23.4 87.4c-3.4 12.8-16.6 20.4-29.4 17l-87.4-23.4c-9.4-2.5-16.3-10.4-17.6-20s3.4-19.1 11.8-23.9l28.4-16.4L283 79c-5.8-9.3-16-15-27-15s-21.2 5.7-27 15l-17.5 28c-9.2 14.8-28.6 19.5-43.6 10.5c-15.3-9.2-20.2-29.2-10.7-44.4l17.5-28zM429.5 251.9c15-9 34.4-4.3 43.6 10.5l24.4 39.1c9.4 15.1 14.4 32.4 14.6 50.2c.3 53.1-42.7 96.4-95.8 96.4L320 448l0 32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 32 96.2 0c17.6 0 31.9-14.4 31.8-32c0-5.9-1.7-11.7-4.8-16.7l-24.4-39.1c-9.5-15.2-4.7-35.2 10.7-44.4zm-364.6-31L36 204.2c-8.4-4.9-13.1-14.3-11.8-23.9s8.2-17.5 17.6-20l87.4-23.4c12.8-3.4 26 4.2 29.4 17L182 241.2c2.5 9.4-.9 19.3-8.6 25.3s-18.2 6.6-26.6 1.7l-26.5-15.3L68.8 335.3c-3.1 5-4.8 10.8-4.8 16.7c-.1 17.6 14.2 32 31.8 32l32.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32.2 0C42.7 448-.3 404.8 0 351.6c.1-17.8 5.1-35.1 14.6-50.2l50.3-80.5z'/%3E%3C/svg%3E"); }
.i-shield { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM144 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z'/%3E%3C/svg%3E"); }
.i-medal { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M4.1 38.2C1.4 34.2 0 29.4 0 24.6C0 11 11 0 24.6 0L133.9 0c11.2 0 21.7 5.9 27.4 15.5l68.5 114.1c-48.2 6.1-91.3 28.6-123.4 61.9L4.1 38.2zm503.7 0L405.6 191.5c-32.1-33.3-75.2-55.8-123.4-61.9L350.7 15.5C356.5 5.9 366.9 0 378.1 0L487.4 0C501 0 512 11 512 24.6c0 4.8-1.4 9.6-4.1 13.6zM80 336a176 176 0 1 1 352 0A176 176 0 1 1 80 336zm184.4-94.9c-3.4-7-13.3-7-16.8 0l-22.4 45.4c-1.4 2.8-4 4.7-7 5.1L168 298.9c-7.7 1.1-10.7 10.5-5.2 16l36.3 35.4c2.2 2.2 3.2 5.2 2.7 8.3l-8.6 49.9c-1.3 7.6 6.7 13.5 13.6 9.9l44.8-23.6c2.7-1.4 6-1.4 8.7 0l44.8 23.6c6.9 3.6 14.9-2.2 13.6-9.9l-8.6-49.9c-.5-3 .5-6.1 2.7-8.3l36.3-35.4c5.6-5.4 2.5-14.8-5.2-16l-50.1-7.3c-3-.4-5.7-2.4-7-5.1l-22.4-45.4z'/%3E%3C/svg%3E"); }
.i-dove { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M160.8 96.5c14 17 31 30.9 49.5 42.2c25.9 15.8 53.7 25.9 77.7 31.6l0-31.5C265.8 108.5 250 71.5 248.6 28c-.4-11.3-7.5-21.5-18.4-24.4c-7.6-2-15.8-.2-21 5.8c-13.3 15.4-32.7 44.6-48.4 87.2zM320 144l0 30.6s0 0 0 0l0 1.3s0 0 0 0l0 32.1c-60.8-5.1-185-43.8-219.3-157.2C97.4 40 87.9 32 76.6 32c-7.9 0-15.3 3.9-18.8 11C46.8 65.9 32 112.1 32 176c0 116.9 80.1 180.5 118.4 202.8L11.8 416.6C6.7 418 2.6 421.8 .9 426.8s-.8 10.6 2.3 14.8C21.7 466.2 77.3 512 160 512c3.6 0 7.2-1.2 10-3.5L245.6 448l74.4 0c88.4 0 160-71.6 160-160l0-160 29.9-44.9c1.3-2 2.1-4.4 2.1-6.8c0-6.8-5.5-12.3-12.3-12.3L400 64c-44.2 0-80 35.8-80 80zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z'/%3E%3C/svg%3E"); }
.i-wheelchair { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM120.5 247.2c12.4-4.7 18.7-18.5 14-30.9s-18.5-18.7-30.9-14C43.1 225.1 0 283.5 0 352c0 88.4 71.6 160 160 160c61.2 0 114.3-34.3 141.2-84.7c6.2-11.7 1.8-26.2-9.9-32.5s-26.2-1.8-32.5 9.9C240 440 202.8 464 160 464C98.1 464 48 413.9 48 352c0-47.9 30.1-88.8 72.5-104.8zM259.8 176l-1.9-9.7c-4.5-22.3-24-38.3-46.8-38.3c-30.1 0-52.7 27.5-46.8 57l23.1 115.5c6 29.9 32.2 51.4 62.8 51.4l5.1 0c.4 0 .8 0 1.3 0l94.1 0c6.7 0 12.6 4.1 15 10.4L402 459.2c6 16.1 23.8 24.6 40.1 19.1l48-16c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2l-18.7 6.2-25.5-68c-11.7-31.2-41.6-51.9-74.9-51.9l-68.5 0-9.6-48 63.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-76.2 0z'/%3E%3C/svg%3E"); }
.i-laptop { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M128 32C92.7 32 64 60.7 64 96l0 256 64 0 0-256 384 0 0 256 64 0 0-256c0-35.3-28.7-64-64-64L128 32zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480l486.4 0c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2L19.2 384z'/%3E%3C/svg%3E"); }
.i-life-ring { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M367.2 412.5C335.9 434.9 297.5 448 256 448s-79.9-13.1-111.2-35.5l58-58c15.8 8.6 34 13.5 53.3 13.5s37.4-4.9 53.3-13.5l58 58zm90.7 .8c33.8-43.4 54-98 54-157.3s-20.2-113.9-54-157.3c9-12.5 7.9-30.1-3.4-41.3S425.8 45 413.3 54C369.9 20.2 315.3 0 256 0S142.1 20.2 98.7 54c-12.5-9-30.1-7.9-41.3 3.4S45 86.2 54 98.7C20.2 142.1 0 196.7 0 256s20.2 113.9 54 157.3c-9 12.5-7.9 30.1 3.4 41.3S86.2 467 98.7 458c43.4 33.8 98 54 157.3 54s113.9-20.2 157.3-54c12.5 9 30.1 7.9 41.3-3.4s12.4-28.8 3.4-41.3zm-45.5-46.1l-58-58c8.6-15.8 13.5-34 13.5-53.3s-4.9-37.4-13.5-53.3l58-58C434.9 176.1 448 214.5 448 256s-13.1 79.9-35.5 111.2zM367.2 99.5l-58 58c-15.8-8.6-34-13.5-53.3-13.5s-37.4 4.9-53.3 13.5l-58-58C176.1 77.1 214.5 64 256 64s79.9 13.1 111.2 35.5zM157.5 309.3l-58 58C77.1 335.9 64 297.5 64 256s13.1-79.9 35.5-111.2l58 58c-8.6 15.8-13.5 34-13.5 53.3s4.9 37.4 13.5 53.3zM208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="coffee"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M88 0C74.7 0 64 10.7 64 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C120.5 112.3 128 119.9 128 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C119.5 47.7 112 40.1 112 24c0-13.3-10.7-24-24-24zM32 192c-17.7 0-32 14.3-32 32L0 416c0 53 43 96 96 96l192 0c53 0 96-43 96-96l16 0c61.9 0 112-50.1 112-112s-50.1-112-112-112l-48 0L32 192zm352 64l16 0c26.5 0 48 21.5 48 48s-21.5 48-48 48l-16 0 0-96zM224 24c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C232.5 112.3 240 119.9 240 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C231.5 47.7 224 40.1 224 24z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="bag"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M160 112c0-35.3 28.7-64 64-64s64 28.7 64 64l0 48-128 0 0-48zm-48 48l-64 0c-26.5 0-48 21.5-48 48L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-208c0-26.5-21.5-48-48-48l-64 0 0-48C336 50.1 285.9 0 224 0S112 50.1 112 112l0 48zm24 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm152 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="wrench"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="heart"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="activity"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M320 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3C289 264.7 323.9 288 362.7 288l21.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-21.3 0c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L57.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352L32 352c-17.7 0-32 14.3-32 32s14.3 32 32 32l69.6 0c19 0 36.2-11.2 43.9-28.5L157 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L91.2 352z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="users"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192l42.7 0c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0L21.3 320C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7l42.7 0C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3l-213.3 0zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352l117.3 0C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7l-330.7 0c-14.7 0-26.7-11.9-26.7-26.7z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="music"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7l0 72 0 264c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6L448 147 192 223.8 192 432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6L128 200l0-72c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="briefcase"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M184 48l144 0c4.4 0 8 3.6 8 8l0 40L176 96l0-40c0-4.4 3.6-8 8-8zm-56 8l0 40L64 96C28.7 96 0 124.7 0 160l0 96 192 0 128 0 192 0 0-96c0-35.3-28.7-64-64-64l-64 0 0-40c0-30.9-25.1-56-56-56L184 0c-30.9 0-56 25.1-56 56zM512 288l-192 0 0 32c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-32L0 288 0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-128z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="car"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E"); }
.tile .ico[data-icon="cross"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M142.4 21.9c5.6 16.8-3.5 34.9-20.2 40.5L96 71.1 96 192c0 53 43 96 96 96s96-43 96-96l0-120.9-26.1-8.7c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l26.1 8.7C334.4 19.1 352 43.5 352 71.1L352 192c0 77.2-54.6 141.6-127.3 156.7C231 404.6 278.4 448 336 448c61.9 0 112-50.1 112-112l0-70.7c-28.3-12.3-48-40.5-48-73.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 70.7c0 97.2-78.8 176-176 176c-92.9 0-168.9-71.9-175.5-163.1C87.2 334.2 32 269.6 32 192L32 71.1c0-27.5 17.6-52 43.8-60.7l26.1-8.7c16.8-5.6 34.9 3.5 40.5 20.2zM480 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="utensils"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 0C400 0 288 32 288 176l0 112c0 35.3 28.7 64 64 64l32 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 0-112 0-208c0-17.7-14.3-32-32-32zM64 16C64 7.8 57.9 1 49.7 .1S34.2 4.6 32.4 12.5L2.1 148.8C.7 155.1 0 161.5 0 167.9c0 45.9 35.1 83.6 80 87.7L80 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224.4c44.9-4.1 80-41.8 80-87.7c0-6.4-.7-12.8-2.1-19.1L191.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S160 7.8 160 16l0 134.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L127.9 14.6C127.2 6.3 120.3 0 112 0s-15.2 6.3-15.9 14.6L83.7 151c-.5 5.1-4.7 9-9.8 9c-5.4 0-9.8-4.4-9.8-9.8L64 16zm48.3 152l-.3 0-.3 0 .3-.7 .3 .7z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="wallet"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L80 128c-8.8 0-16-7.2-16-16s7.2-16 16-16l368 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32zM416 272a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="house"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="heart"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="hand"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M163.9 136.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L310.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L163.9 136.9zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5L192 512 32 512c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l36.8 0 44.9-36c22.7-18.2 50.9-28 80-28l78.3 0 16 0 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l120.6 0 119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384c0 0 0 0 0 0l-.9 0c.3 0 .6 0 .9 0z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="baby"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M152 88a72 72 0 1 1 144 0A72 72 0 1 1 152 88zM39.7 144.5c13-17.9 38-21.8 55.9-8.8L131.8 162c26.8 19.5 59.1 30 92.2 30s65.4-10.5 92.2-30l36.2-26.4c17.9-13 42.9-9 55.9 8.8s9 42.9-8.8 55.9l-36.2 26.4c-13.6 9.9-28.1 18.2-43.3 25l0 36.3-192 0 0-36.3c-15.2-6.7-29.7-15.1-43.3-25L48.5 200.3c-17.9-13-21.8-38-8.8-55.9zm89.8 184.8l60.6 53-26 37.2 24.3 24.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-48-48C70 438.6 68.1 417 79.2 401.1l50.2-71.8zm128.5 53l60.6-53 50.2 71.8c11.1 15.9 9.2 37.5-4.5 51.2l-48 48c-15.6 15.6-40.9 15.6-56.6 0s-15.6-40.9 0-56.6L284 419.4l-26-37.2z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="person-cane"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M272 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-8 187.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7l-35.9 0c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9 120 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128 16 0 0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-244.7zM352 376c0-4.4 3.6-8 8-8s8 3.6 8 8l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-30.9-25.1-56-56-56s-56 25.1-56 56l0 8c0 13.3 10.7 24 24 24s24-10.7 24-24l0-8z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="users"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192l42.7 0c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0L21.3 320C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7l42.7 0C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3l-213.3 0zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352l117.3 0C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7l-330.7 0c-14.7 0-26.7-11.9-26.7-26.7z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="fire"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="car"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="child"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M96 64a64 64 0 1 1 128 0A64 64 0 1 1 96 64zm48 320l0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-192.2L59.1 321c-9.4 15-29.2 19.4-44.1 10S-4.5 301.9 4.9 287l39.9-63.3C69.7 184 113.2 160 160 160s90.3 24 115.2 63.6L315.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L240 287.8 240 480c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-96-32 0z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="recycle"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M174.7 45.1C192.2 17 223 0 256 0s63.8 17 81.3 45.1l38.6 61.7 27-15.6c8.4-4.9 18.9-4.2 26.6 1.7s11.1 15.9 8.6 25.3l-23.4 87.4c-3.4 12.8-16.6 20.4-29.4 17l-87.4-23.4c-9.4-2.5-16.3-10.4-17.6-20s3.4-19.1 11.8-23.9l28.4-16.4L283 79c-5.8-9.3-16-15-27-15s-21.2 5.7-27 15l-17.5 28c-9.2 14.8-28.6 19.5-43.6 10.5c-15.3-9.2-20.2-29.2-10.7-44.4l17.5-28zM429.5 251.9c15-9 34.4-4.3 43.6 10.5l24.4 39.1c9.4 15.1 14.4 32.4 14.6 50.2c.3 53.1-42.7 96.4-95.8 96.4L320 448l0 32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 32 96.2 0c17.6 0 31.9-14.4 31.8-32c0-5.9-1.7-11.7-4.8-16.7l-24.4-39.1c-9.5-15.2-4.7-35.2 10.7-44.4zm-364.6-31L36 204.2c-8.4-4.9-13.1-14.3-11.8-23.9s8.2-17.5 17.6-20l87.4-23.4c12.8-3.4 26 4.2 29.4 17L182 241.2c2.5 9.4-.9 19.3-8.6 25.3s-18.2 6.6-26.6 1.7l-26.5-15.3L68.8 335.3c-3.1 5-4.8 10.8-4.8 16.7c-.1 17.6 14.2 32 31.8 32l32.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32.2 0C42.7 448-.3 404.8 0 351.6c.1-17.8 5.1-35.1 14.6-50.2l50.3-80.5z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="shield"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM144 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="medal"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M4.1 38.2C1.4 34.2 0 29.4 0 24.6C0 11 11 0 24.6 0L133.9 0c11.2 0 21.7 5.9 27.4 15.5l68.5 114.1c-48.2 6.1-91.3 28.6-123.4 61.9L4.1 38.2zm503.7 0L405.6 191.5c-32.1-33.3-75.2-55.8-123.4-61.9L350.7 15.5C356.5 5.9 366.9 0 378.1 0L487.4 0C501 0 512 11 512 24.6c0 4.8-1.4 9.6-4.1 13.6zM80 336a176 176 0 1 1 352 0A176 176 0 1 1 80 336zm184.4-94.9c-3.4-7-13.3-7-16.8 0l-22.4 45.4c-1.4 2.8-4 4.7-7 5.1L168 298.9c-7.7 1.1-10.7 10.5-5.2 16l36.3 35.4c2.2 2.2 3.2 5.2 2.7 8.3l-8.6 49.9c-1.3 7.6 6.7 13.5 13.6 9.9l44.8-23.6c2.7-1.4 6-1.4 8.7 0l44.8 23.6c6.9 3.6 14.9-2.2 13.6-9.9l-8.6-49.9c-.5-3 .5-6.1 2.7-8.3l36.3-35.4c5.6-5.4 2.5-14.8-5.2-16l-50.1-7.3c-3-.4-5.7-2.4-7-5.1l-22.4-45.4z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="dove"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M160.8 96.5c14 17 31 30.9 49.5 42.2c25.9 15.8 53.7 25.9 77.7 31.6l0-31.5C265.8 108.5 250 71.5 248.6 28c-.4-11.3-7.5-21.5-18.4-24.4c-7.6-2-15.8-.2-21 5.8c-13.3 15.4-32.7 44.6-48.4 87.2zM320 144l0 30.6s0 0 0 0l0 1.3s0 0 0 0l0 32.1c-60.8-5.1-185-43.8-219.3-157.2C97.4 40 87.9 32 76.6 32c-7.9 0-15.3 3.9-18.8 11C46.8 65.9 32 112.1 32 176c0 116.9 80.1 180.5 118.4 202.8L11.8 416.6C6.7 418 2.6 421.8 .9 426.8s-.8 10.6 2.3 14.8C21.7 466.2 77.3 512 160 512c3.6 0 7.2-1.2 10-3.5L245.6 448l74.4 0c88.4 0 160-71.6 160-160l0-160 29.9-44.9c1.3-2 2.1-4.4 2.1-6.8c0-6.8-5.5-12.3-12.3-12.3L400 64c-44.2 0-80 35.8-80 80zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="wheelchair"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM120.5 247.2c12.4-4.7 18.7-18.5 14-30.9s-18.5-18.7-30.9-14C43.1 225.1 0 283.5 0 352c0 88.4 71.6 160 160 160c61.2 0 114.3-34.3 141.2-84.7c6.2-11.7 1.8-26.2-9.9-32.5s-26.2-1.8-32.5 9.9C240 440 202.8 464 160 464C98.1 464 48 413.9 48 352c0-47.9 30.1-88.8 72.5-104.8zM259.8 176l-1.9-9.7c-4.5-22.3-24-38.3-46.8-38.3c-30.1 0-52.7 27.5-46.8 57l23.1 115.5c6 29.9 32.2 51.4 62.8 51.4l5.1 0c.4 0 .8 0 1.3 0l94.1 0c6.7 0 12.6 4.1 15 10.4L402 459.2c6 16.1 23.8 24.6 40.1 19.1l48-16c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2l-18.7 6.2-25.5-68c-11.7-31.2-41.6-51.9-74.9-51.9l-68.5 0-9.6-48 63.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-76.2 0z'/%3E%3C/svg%3E"); }
.need-tile .ico[data-icon="laptop"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M128 32C92.7 32 64 60.7 64 96l0 256 64 0 0-256 384 0 0 256 64 0 0-256c0-35.3-28.7-64-64-64L128 32zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480l486.4 0c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2L19.2 384z'/%3E%3C/svg%3E"); }
.social-link[data-net="facebook"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'/%3E%3C/svg%3E"); }
.social-link[data-net="instagram"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E"); }
.social-link[data-net="x"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E"); }
.social-link[data-net="linkedin"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E"); }
.social-link[data-net="youtube"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E"); }
.social-link[data-net="tiktok"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z'/%3E%3C/svg%3E"); }
.search-big.brxe-search { --i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E"); }
:root { --fa-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E"); --fa-xmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E"); --fa-sliders: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z'/%3E%3C/svg%3E"); --fa-chevron-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z'/%3E%3C/svg%3E"); --fa-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E"); --fa-bars: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z'/%3E%3C/svg%3E"); --fa-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E"); }
/* FA-ICONS:end */

/* Every icon is Font Awesome Solid (see FA-ICONS block): swap the few Bricks draws itself. */
.ic { fill: currentColor; stroke: none; }
.mm-nav .brx-submenu-toggle svg { display: none; }
.mm-nav .brx-submenu-toggle button { display: inline-flex; align-items: center; padding: 0; margin: 0 0 0 4px; background: none; border: 0; color: inherit; width: auto; height: auto; }
.mm-nav .brx-submenu-toggle button::after { content: ""; width: 11px; height: 11px; background: currentColor; -webkit-mask: var(--fa-chevron-down) center / contain no-repeat; mask: var(--fa-chevron-down) center / contain no-repeat; transition: transform .2s; }
.mm-nav .brxe-dropdown.open > .brx-submenu-toggle button::after { transform: rotate(180deg); }
.mm-nav .brx-submenu-toggle { display: inline-flex; align-items: center; gap: 0; }  /* arrow sits 4px from its label */
.mm-open .brxa-wrap, .mm-close .brxa-wrap, .ftoggle .brxa-wrap { display: none; }
.mm-open::after, .mm-close::after, .ftoggle.brxe-toggle::before { content: "" !important; width: 22px; height: 22px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.mm-open { --i: var(--fa-bars); color: var(--color-ink); }
.mm-close { --i: var(--fa-xmark); color: var(--color-ink); }
.mm-close::after { width: 18px; height: 18px; }
.ftoggle.brxe-toggle { --i: var(--fa-sliders); color: var(--color-ink); }
.ftoggle.brxe-toggle::before { width: 16px; height: 16px; }
.gp-nav { font-size: 0; }
.gp-nav::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.gp-prev { --i: var(--fa-chevron-left); } .gp-next { --i: var(--fa-chevron-right); }
@media (max-width: 991px) { .mm-nav.brx-open .brx-nav-nested-items { justify-content: flex-start !important; } }
@media (max-width: 991px) {
	/* Mobile submenus: no grey band on the open row, and a little padding so nothing is clipped at the panel edge. */
	.mm-nav .brxe-dropdown.open > .brx-submenu-toggle, .mm-nav .brxe-dropdown:hover > .brx-submenu-toggle { background: none; }
	.mm-nav .brxe-dropdown.open > .brx-submenu-toggle { border-bottom-color: transparent; }
	.mm-panel.brx-dropdown-content { padding: 6px 4px 18px !important; border-bottom: 1px solid var(--color-line) !important; }
}

/* What's on: List | Calendar switch and the month calendar (wdc-calendar.php) */
.ftoolbar-row { flex-wrap: wrap; }
.view-switch { gap: 6px; margin-left: auto; flex-wrap: nowrap; }
.view-switch .chip[aria-current="page"] { background: var(--color-green); color: #fff; box-shadow: none; }
.cal { display: flex; flex-direction: column; gap: 14px; }
.cal-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.cal-head h2 { margin: 0; margin-right: auto; }
.cal-nav { display: flex; gap: 8px; }
.cal-nav .btn { gap: 6px; }
.cal-nav .i-chevron { display: inline-flex; }
.cal-toggle { font-size: 14px; font-weight: 600; }
.cal-grid { border-radius: 18px; overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); }
.cal-dow { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); background: var(--color-chalk); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--color-ink-3); }
.cal-dow span { padding: 10px 12px; }
.cal-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cal-day { min-height: 118px; padding: 8px 10px 10px; border-top: 1px solid var(--color-line); border-left: 1px solid var(--color-line); display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cal-day:nth-child(7n+1) { border-left: 0; }
.cal-date b { font-size: 14px; }
.cal-date .cal-wd { display: none; }
.cal-day.is-today .cal-date b { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 999px; background: var(--color-green); color: #fff; }
.cal-day.is-past { background: #fafbf9; }
.cal-day.is-past a { color: var(--color-ink-3); }
.cal-day ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.cal-day li a { display: flex; flex-direction: column; gap: 1px; font-size: 13px; line-height: 1.3; font-weight: 600; color: var(--color-ink); padding: 5px 7px; border-radius: 8px; background: var(--color-moss); }
.cal-day li a .cal-t { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.cal-day li a .cal-time { font-size: 11.5px; }
.cal-day li a:hover { background: var(--color-green); color: #fff; }
.cal-time { font-weight: 700; color: var(--color-green); }
.cal-day li a:hover .cal-time { color: #fff; }
.cal-day details summary { font-size: 12px; font-weight: 700; color: var(--color-green); cursor: pointer; list-style: none; padding: 2px 6px; }
.cal-day details[open] ul { margin-top: 4px; }
@media (max-width: 767px) {
	/* Phones: the month reads as a list of the days that have something on. */
	.cal-grid { background: none; box-shadow: none; border-radius: 0; }
	.cal-dow, .cal-blank, .cal-day:not(.has-events) { display: none; }
	.cal-days { display: flex; flex-direction: column; gap: 10px; }
	.cal-day { min-height: 0; border: 0; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); padding: 12px 14px; }
	.cal-date b { display: none; }
	.cal-date .cal-wd { display: inline; font-weight: 700; font-size: 15px; }
	.cal-day.is-today .cal-date .cal-wd::after { content: " · Today"; color: var(--color-green); }
	.cal-day li a { flex-direction: row; gap: 8px; font-size: 14px; padding: 8px 10px; }
	.cal-day li a .cal-t { -webkit-line-clamp: unset; }
	.cal-day li a .cal-time { font-size: 14px; flex-shrink: 0; }
	.cal-day.is-past { display: none; }
	.view-switch { margin-left: 0; }
}
@media (max-width: 767px) { .cal-day.is-today .cal-date b { display: none; } }

/* One date box everywhere (What's on list, week strip, event page): weekday, date, month, at one fixed size */
.ev-box, .week-row .ev-box { width: 60px; height: 68px; gap: 1px; border-radius: 12px; line-height: 1; }
.ev-box small, .week-row .ev-box small { font-size: 10px; letter-spacing: 0.08em; }
.ev-box b, .week-row .ev-box b { font-size: 23px; line-height: 1; }
.ev-box.ev-box-lg { width: 84px; height: 92px; border-radius: 16px; }
.ev-box.ev-box-lg small { font-size: 12px; } .ev-box.ev-box-lg b { font-size: 32px; }
.week-strip .week-row, .week-rows .week-row { align-items: center; }
/* Hero search: the button kept its padding but flex squeezed it to 60px */
.search-big.brxe-search button { flex-shrink: 0; padding: 0 34px; min-width: 120px; }

/* Search fields in pills (hero, header, mobile menu): no square outline on the input; the pill itself gets the focus ring */
.search-big.brxe-search input:focus, .search-big.brxe-search input:focus-visible,
.header-search.brxe-search input:focus, .header-search.brxe-search input:focus-visible { outline: 0 !important; box-shadow: none !important; }
.search-big.brxe-search form:focus-within, .header-search.brxe-search form:focus-within {
	box-shadow: inset 0 0 0 2px var(--color-green), 0 0 0 4px rgba(31, 70, 51, 0.16) !important; }
.mm-search.brxe-search input:focus, .mm-search.brxe-search input:focus-visible {
	outline: 0 !important; border-color: var(--color-green); box-shadow: 0 0 0 4px rgba(31, 70, 51, 0.16); }

/* Event page extras (wdc-event-page.php): each section only shows when the event has the data */
.ev-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ev-actions .btn-light { box-shadow: inset 0 0 0 1px var(--color-line-2); }
.badge-green { background: var(--color-moss); color: var(--color-green); }
.ev-hero .article-media { margin: 8px 0 4px; }
.ev-hero .article-media img { width: 100%; max-height: 520px; object-fit: cover; border-radius: 22px; }
.ev-section { display: flex; flex-direction: column; gap: 14px; padding-top: 8px; }
.lp-main { display: flex; flex-direction: column; gap: 40px; }
.prog { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--color-moss); }
.prog-row { display: grid; grid-template-columns: 136px minmax(0, 1fr); column-gap: 18px; row-gap: 2px; padding: 10px 0 10px 20px; position: relative; }
.prog-row::before { content: ""; position: absolute; left: -7px; top: 16px; width: 12px; height: 12px; border-radius: 50%; background: var(--color-green); box-shadow: 0 0 0 3px #fff; }
.prog-time { grid-row: span 2; font-weight: 700; color: var(--color-green); font-variant-numeric: tabular-nums; }
.prog-what { font-size: 16px; }
.prog-where { font-size: 14px; color: var(--color-ink-3); }
.faqs { display: flex; flex-direction: column; gap: 10px; }
.faq { background: #fff; border-radius: 14px; box-shadow: inset 0 0 0 1px var(--color-line); padding: 0 18px; }
.faq summary { cursor: pointer; list-style: none; padding: 16px 28px 16px 0; font-weight: 700; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 0; top: 50%; width: 14px; height: 14px; margin-top: -7px; background: var(--color-ink-3); -webkit-mask: var(--fa-chevron-down) center / contain no-repeat; mask: var(--fa-chevron-down) center / contain no-repeat; transition: transform .2s; }
.faq[open] summary::after { transform: rotate(180deg); }
.faq p { margin: 0 0 16px; color: var(--color-ink-2); }
.ev-map .walk-map { margin: 0; border-radius: 18px; overflow: hidden; }
.ev-links, .ev-past { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ev-links a { font-weight: 600; }
.ev-past li { display: flex; flex-direction: column; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--color-line); }
.ev-past a { font-weight: 600; color: var(--color-ink); }
@media (max-width: 640px) { .prog-row { grid-template-columns: 1fr; } .prog-time { grid-row: auto; } }

/* Homepage spotlight for a featured event */
.spotlight-wrap { width: 100%; }
.spotlight { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); background: var(--color-green); color: #fff; border-radius: 24px; overflow: hidden; text-decoration: none; margin-bottom: 20px; }
.spotlight .spot-img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; display: block; }
.spot-body { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 16px; padding: 32px 36px; }
.spot-body .ev-box { background: #fff; color: var(--color-green); }
.spot-text { display: flex; flex-direction: column; gap: 6px; }
.spot-text .eyebrow { color: var(--color-moss); }
.spot-text strong { color: #fff; font-family: var(--font-display); font-size: clamp(24px, 3vw, 34px); line-height: 1.1; }
.spot-text span:last-child { color: rgba(255, 255, 255, .85); }
.spotlight:hover .btn-primary { background: var(--color-brick-dark); }
@media (max-width: 820px) { .spotlight { grid-template-columns: 1fr; } .spotlight .spot-img { min-height: 180px; max-height: 220px; } .spot-body { padding: 24px; } }
.lp-head.ev-head { flex-direction: column; align-items: flex-start; gap: 18px; }
.ev-head .lp-name h1 { max-width: 20ch; }
.ev-section .prose p { margin: 0 0 12px; } .ev-section .prose p:last-child { margin-bottom: 0; }
.ev-map .wm-key { flex-direction: column; flex-wrap: nowrap; gap: 6px; }
.lp-aside .panel.stack { gap: 12px; }

/* Help & support (wdc-help.php) */
.need-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.need-grid-sm { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.need-tile { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); color: var(--color-ink); text-decoration: none; }
.need-tile:hover { box-shadow: inset 0 0 0 2px var(--color-green); }
.need-tile .ico { width: 42px; height: 42px; flex-shrink: 0; border-radius: 12px; background: var(--color-moss); color: var(--color-green); display: flex; align-items: center; justify-content: center; }
.need-tile .ico::before { content: ''; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.need-tile b { display: block; font-size: 15px; line-height: 1.25; }
.need-tile small { font-size: 13px; color: var(--color-ink-3); }
.need-grid-sm .need-tile small { display: none; }
@media (max-width: 991px) { .need-grid, .need-grid-sm { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .need-grid { grid-template-columns: minmax(0, 1fr); } }

.help-urgent { margin-top: 8px; padding: 20px 22px; border-radius: 18px; background: #FBEDE7; box-shadow: inset 0 0 0 1px #F0CDBF; }
.help-urgent-title { display: block; font-family: var(--font-display); font-size: 20px; margin-bottom: 10px; color: var(--color-brick-dark); }
.help-urgent ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 20px; }
.help-urgent li { display: flex; flex-direction: column; gap: 2px; }
.help-urgent li span { font-size: 14px; color: var(--color-ink-2); }
.help-urgent .help-tel { font-size: 20px; font-weight: 700; color: var(--color-ink); text-decoration: none; }
.help-urgent small { font-size: 12.5px; color: var(--color-ink-3); }
@media (max-width: 820px) { .help-urgent ul { grid-template-columns: minmax(0, 1fr); } }

.help-lines { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.help-lines li { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); }
.help-lines strong a { color: var(--color-ink); }
.help-lines span { color: var(--color-ink-2); font-size: 15px; }
.help-lines .help-how { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.help-lines .help-tel { font-weight: 700; font-size: 17px; color: var(--color-green); }
.help-lines small { font-size: 13px; color: var(--color-ink-3); }
.help-start { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 820px) { .help-lines, .help-start { grid-template-columns: minmax(0, 1fr); } }

.help-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.help-card { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); }
.help-card-head { display: flex; flex-direction: column; gap: 8px; }
.help-card-title { font-family: var(--font-display); font-size: 21px; font-weight: 600; color: var(--color-ink); line-height: 1.2; }
.help-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.help-chip { display: inline-flex; padding: 3px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: var(--color-moss); color: var(--color-green); }
.help-chip.help-referral { background: #FBEDE7; color: var(--color-brick-dark); }
.help-chip.help-cost { background: var(--color-chalk); color: var(--color-ink-2); }
.help-card-what { margin: 0; color: var(--color-ink-2); }
.dl-compact .dl-row { padding: 6px 0; }
@media (max-width: 820px) { .help-cards { grid-template-columns: minmax(0, 1fr); } }

.help-events { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.help-events li { display: grid; grid-template-columns: 110px minmax(0, 1fr); column-gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--color-line); }
.help-events b { grid-row: span 2; color: var(--color-green); }
.help-events a { font-weight: 600; color: var(--color-ink); }
.help-events span { font-size: 14px; color: var(--color-ink-3); }

.help-exit { position: fixed; right: 16px; bottom: 16px; z-index: 999; padding: 12px 18px; border-radius: 999px; background: var(--color-ink); color: #fff; font-weight: 700; font-size: 14px; text-decoration: none; box-shadow: 0 8px 24px -8px rgba(15, 29, 21, .5); }
.help-exit small { font-weight: 400; opacity: .75; }
.help-exit:hover { background: #000; color: #fff; }
@media (max-width: 600px) { .help-exit small { display: none; } }

.mm-needs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 8px; }
.mm-needs .need-tile { padding: 8px 10px; box-shadow: none; background: transparent; }
.mm-needs .need-tile:hover { background: var(--color-chalk); box-shadow: none; }
.mm-needs .need-tile .ico { width: 32px; height: 32px; border-radius: 9px; }
.mm-needs .need-tile .ico::before { width: 16px; height: 16px; }
.mm-needs .need-tile small { display: none; }
.mm-cta-help p { font-size: 14px; }
.need-band { background: #fff; padding-bottom: 72px !important; margin-top: var(--section); }  /* the white band starts a section below the one before (sections only pad the top) */
/* Dropdowns (all but Villages) follow Get help: icon tiles in three columns under short headings, a centred "All ..." link,
   and the call-to-action card on the right. */
@media (min-width: 992px) {
	.mm-inner:has(.mm-needs) { grid-template-columns: minmax(0, 1fr) 320px; }
	.mm-inner:has(.mm-needs) .mm-needs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 12px; }
}
.mm-col-wide .mm-needs + .mm-eyebrow { margin-top: 12px; }
.mm-all { align-self: center; margin-top: 8px; }
.i-ticket { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6.5A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5V10a2 2 0 0 0 0 4v3.5a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 17.5V14a2 2 0 0 0 0-4V6.5zM14 7v2h1.5V7H14zm0 4v2h1.5v-2H14zm0 4v2h1.5v-2H14z'/%3E%3C/svg%3E"); }
@media (max-width: 991px) {
	.mm-needs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 8px; }
	.mm-needs .need-tile { padding: 8px 4px; gap: 10px; min-height: 44px; }
	.mm-needs .need-tile b { font-size: 15px; }
	.mm-cta.mm-cta-help { display: flex; padding: 18px; } /* the urgent numbers matter most on a phone */
}
.mm-needs .need-tile { align-items: center; min-height: 48px; }
.mm-needs .need-tile b { font-size: 15px; font-weight: 600; }
.mm-cta-help { align-self: start; }

/* ---------- Homepage hero, three columns: a small photo gallery each side (different photos) and the copy and search
   in the middle. Each gallery has an outer column (a tall and a short photo) and an inner column (one photo, set lower
   and a little narrower, so the eye goes to the middle), mirrored left and right, stretching to the height of the copy.
   Small captions name each place. Capped at 1680px so it doesn't sprawl on big screens. Below 992px: copy, then the left
   gallery only, without captions. ---------- */
.home-hero.hero-gallery { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 600px) minmax(0, 1fr); align-items: stretch;
	column-gap: clamp(32px, 3.2vw, 56px); padding: clamp(48px, 4.5vw, 72px) max(12px, calc((100% - 1680px) / 2)) clamp(64px, 6vw, 104px); }  /* content capped at 1680px, background full width */
/* Desktop: the hero fills about 90% of the screen under the header (utility bar + header, about 125px), so the first
   event just peeks out below it. The photos stretch with it; the copy stays centred. */
@media (min-width: 992px) { .home-hero.hero-gallery { min-height: calc(90svh - 125px); } }
.home-hero.hero-gallery .hero-head { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; margin: 0;
	max-width: none; min-width: 0; padding: 16px 0; text-align: center; }
.hero-gallery .hero-head > * { max-width: 100%; }
.hero-gallery .hero-head h1 { text-wrap: balance; }
.hero-gallery .hero-head .lede { text-wrap: pretty; }
.hero-gallery .hero-head .search-big { width: 100%; }
.hero-gallery .hero-head .chips, .hero-gallery .hero-head .trust { justify-content: center; }
.hero-masonry { display: flex; gap: 12px; min-width: 0; min-height: 440px; }
.hm-col { display: flex; flex: 1 1 0; flex-direction: column; gap: 12px; min-width: 0; }
.hm-inner { flex-grow: 0.8; padding: 64px 0 0; }
.hm-item { display: block; position: relative; min-height: 0; margin: 0; border-radius: 18px; overflow: hidden; background: var(--color-moss); color: #fff; }
.hm-portrait { flex: 3 1 0; }
.hm-landscape { flex: 2 1 0; }
.hm-inner .hm-item { flex: 1 1 0; }
.hm-item img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* A light green tint over the hero photos, so they sit together with the site colours (owner kept it, 2026-09-30). */
.hm-item::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--color-green); opacity: 0.18; }
/* Captions: small white text on a soft shade at the foot of each photo, always shown on desktop. */
.hm-item::after { content: ""; position: absolute; inset: auto 0 0; height: 38%; pointer-events: none;
	background: linear-gradient(to top, rgba(15, 25, 20, 0.5), rgba(15, 25, 20, 0)); }
.hm-cap { position: absolute; z-index: 1; left: 12px; right: 12px; bottom: 9px; margin: 0; text-align: left; color: rgba(255, 255, 255, 0.92); font-size: 12px; font-weight: 500;
	letter-spacing: 0.01em; line-height: 1; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 991px) {
	.home-hero.hero-gallery { grid-template-columns: minmax(0, 1fr); row-gap: 28px; padding: 32px 0 48px; }
	.home-hero.hero-gallery .hero-head { padding: 0 var(--gutter); gap: 18px; order: 0; align-items: stretch; min-width: 0; }
	.hero-gallery .hero-head > * { max-width: 100%; min-width: 0; }
	.hm-right { display: none; }
	.hero-gallery .hero-head .chips { justify-content: flex-start; }  /* the chip row scrolls sideways on phones */
	.hero-masonry { order: 1; min-height: 0; gap: 10px; padding: 0 10px; }
	.hm-col { gap: 10px; }
	.hm-inner { padding-top: 40px; }
	.hm-outer .hm-item { flex: none; border-radius: 14px; }
	.hm-outer .hm-portrait img { aspect-ratio: 4 / 5; }
	.hm-outer .hm-landscape img { aspect-ratio: 3 / 2; }
	.hm-inner .hm-item { border-radius: 14px; }
	.hm-cap, .hm-item::after { display: none; }
}

/* ---------- Guides: ToolkitStack (TKS) markup and live blocks ----------
   TKS writes its FAQ and in-article diagrams (.tks-faq, .tks-viz: comparison and fact tables, steps, checklists, key
   takeaways, timelines, quotes) with no styling of its own; these match the site. */
.prose .tks-faq { margin: 40px 0 8px; }
.prose .tks-faq__title { margin-bottom: 14px; }
.tks-faq__item { background: #fff; border-radius: 14px; box-shadow: inset 0 0 0 1px var(--color-line); margin: 0 0 10px; }
.tks-faq__item[open] { box-shadow: inset 0 0 0 1px var(--color-green); }
.tks-faq__question { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; }
.tks-faq__question::-webkit-details-marker { display: none; }
.tks-faq__question::marker { content: ""; }
.prose .tks-faq__question h3, .tks-faq__question h3 { margin: 0; font-size: 18px; line-height: 1.35; }
.tks-faq__question::after { content: ""; flex: 0 0 10px; width: 10px; height: 10px; margin-right: 4px; border: solid var(--color-green); border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-3px); transition: transform .2s ease; }
.tks-faq__item[open] .tks-faq__question::after { transform: rotate(-135deg) translateY(-3px); }
.tks-faq__answer { padding: 0 20px 18px; color: var(--color-ink-2); }
.tks-faq__question:focus-visible { outline: 2px solid var(--color-green); outline-offset: 2px; border-radius: 14px; }

.prose .tks-viz { margin: 28px 0; padding: 20px 22px; background: #fff; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--color-line); overflow-x: auto; }
.prose .tks-viz__title { font-family: var(--font-display); font-size: 19px; font-weight: 600; line-height: 1.3; color: var(--color-ink); margin: 0 0 12px; }
.prose .tks-viz__title strong { font-weight: inherit; }
.prose .tks-viz ul, .prose .tks-viz ol { margin: 0; }
.prose .tks-viz__checklist, .prose .tks-viz__takeaways, .prose .tks-viz__timeline { padding: 0; list-style: none; }
.prose .tks-viz__checklist li, .prose .tks-viz__takeaways li { position: relative; margin: 0 0 9px; padding-left: 30px; line-height: 1.5; }
.prose .tks-viz__checklist li::before { content: ""; position: absolute; left: 2px; top: 2px; width: 18px; height: 18px; border-radius: 6px; background: var(--color-moss); }
.prose .tks-viz__checklist li::after { content: ""; position: absolute; left: 8px; top: 5px; width: 5px; height: 10px; border: solid var(--color-green); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.prose .tks-viz__takeaways li::before { content: ""; position: absolute; left: 6px; top: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--color-brick); }
.prose .tks-viz--key, .prose .tks-viz--quick { background: var(--color-moss); box-shadow: none; }
.prose .tks-viz__steps { padding-left: 0; list-style: none; counter-reset: tks-step; }
.prose .tks-viz__steps li { position: relative; counter-increment: tks-step; margin: 0 0 12px; padding-left: 44px; min-height: 30px; line-height: 1.5; }
.prose .tks-viz__steps li::before { content: counter(tks-step); position: absolute; left: 0; top: -2px; width: 30px; height: 30px; border-radius: 50%; background: var(--color-green); color: #fff; font-weight: 700; font-size: 14px; display: grid; place-items: center; }
.prose .tks-viz__timeline { border-left: 2px solid var(--color-line-2); margin-left: 6px; }
.prose .tks-viz__timeline li { position: relative; margin: 0; padding: 0 0 16px 20px; }
.prose .tks-viz__timeline li::before { content: ""; position: absolute; left: -7px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: var(--color-green); box-shadow: 0 0 0 3px #fff; }
.prose .tks-viz__when { display: block; font-size: 13px; font-weight: 700; letter-spacing: .03em; color: var(--color-brick); }
.prose .tks-viz__what { display: block; }
.prose .tks-viz__table { width: 100%; margin: 0; border-collapse: collapse; font-size: 15px; box-shadow: none; border-radius: 0; background: transparent; }
.prose .tks-viz__table th, .prose .tks-viz__table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--color-line); vertical-align: top; }
.prose .tks-viz__table thead th { font-weight: 700; color: var(--color-green); border-bottom: 2px solid var(--color-line-2); background: transparent; }
.prose .tks-viz__table tr:last-child td { border-bottom: 0; }
.prose .tks-viz__facts th { width: 40%; font-weight: 600; color: var(--color-ink-2); }
.prose .tks-viz__quote { margin: 0; padding: 0 0 0 18px; border-left: 3px solid var(--color-brick); }
.prose .tks-viz__quote p { margin: 0 0 8px; font-size: 18px; line-height: 1.55; }
.prose .tks-viz__cite { margin: 0; font-size: 14px; color: var(--color-ink-2); }
.prose .tks-viz img { display: block; max-width: 100%; height: auto; border-radius: 10px; }
.prose .tks-viz figcaption { margin-top: 12px; font-size: 14px; line-height: 1.45; color: var(--color-ink-2); }

/* Guide listing cards: the hover border sits above the photo (an inset shadow is hidden under it). */
.guide-places .gp { position: relative; box-shadow: none; }
.guide-places .gp::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--color-line); pointer-events: none; transition: box-shadow .15s ease; }
.guide-places .gp:hover { box-shadow: none; }
.guide-places .gp:hover::after, .guide-places .gp:focus-visible::after { box-shadow: inset 0 0 0 2px var(--color-green); }
/* Guide events: What's on rows. */
.guide-ev { display: flex; flex-direction: column; gap: 10px; margin: 18px 0 8px; }
.prose .guide-ev .ev-title { text-decoration: none; }
/* Guide developments block: status as last checked, homes and developer. */
.guide-devs { list-style: none; padding: 0 !important; margin: 20px 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.guide-devs li { margin: 0 !important; padding: 0 !important; }
.guide-devs li::before, .guide-devs li::marker { content: none; }
.guide-devs a { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 14px 16px; background: #fff; border-radius: 14px; box-shadow: inset 0 0 0 1px var(--color-line); color: var(--color-ink); text-decoration: none; }
.guide-devs a:hover { box-shadow: inset 0 0 0 2px var(--color-green); }
.guide-devs b { font-size: 16px; line-height: 1.3; }
.guide-devs .gd-status { align-self: flex-start; font-size: 13px; font-weight: 600; color: var(--color-green); background: var(--color-moss); border-radius: 999px; padding: 3px 10px; }
.guide-devs .gd-status small { font-weight: 500; color: var(--color-ink-2); }
.guide-devs a > small { font-size: 13px; color: var(--color-ink-2); }
@media (max-width: 640px) { .guide-devs { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Featured plan extras (wdc-featured.php): offer, gallery, promoted event label ---------- */
.badge-offer { background: var(--color-green); color: #fff; }
.guide-places .badge-offer { display: none; }
.lp-offer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 18px 22px; border: 1px solid var(--color-line); }
.lp-offer .offer-text { font-size: 17px; }
.lp-gallery { border-radius: 14px; overflow: hidden; }
.lp-gallery img { border-radius: 10px; }
.week-row .badge-featured { align-self: flex-start; margin-top: 4px; font-size: 11px; padding: 3px 8px; }

/* ---------- Ultimate: showcase landing page (wdc-showcase.php) ---------- */
.lp-showcase { min-width: 0; }
.sc { display: flex; flex-direction: column; gap: 44px; }
.sc-tabs { position: sticky; top: 76px; z-index: 5; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; padding: 6px; margin-bottom: -12px;
	background: var(--color-white); border: 1px solid var(--color-line); border-radius: 999px; box-shadow: 0 10px 24px -18px rgba(15, 29, 21, .35); }
.sc-tabs::-webkit-scrollbar { display: none; }
.sc-tabs a { flex: none; padding: 9px 16px; border-radius: 999px; font-size: 14.5px; font-weight: 600; color: var(--color-ink); white-space: nowrap; }
.sc-tabs a:hover { background: var(--color-chalk); color: var(--color-green); }
.sc-section { scroll-margin-top: 150px; display: flex; flex-direction: column; gap: 18px; }
.sc-section h2 { margin: 0; }
.sc-text.has-img { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.sc-text figure { margin: 0; }
.sc-text figure img { width: 100%; height: auto; border-radius: 16px; display: block; }
.sc-text .prose > * + * { margin-top: 12px; }
.sc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sc-card { padding: 20px 22px; border: 1px solid var(--color-line); border-radius: 16px; background: var(--color-white); display: flex; flex-direction: column; gap: 6px; }
.sc-card p { margin: 0; font-size: 15px; color: var(--color-ink-2); }
.sc-card h3 { margin: 0; }
.sc-price { margin-top: 6px; font-weight: 700; color: var(--color-green); }
.sc-works { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sc-work { border: 1px solid var(--color-line); border-radius: 16px; overflow: hidden; background: var(--color-white); display: flex; flex-direction: column; }
.sc-work-img img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; }
.sc-work-body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 6px; }
.sc-work-body h3, .sc-work-body p { margin: 0; }
.sc-work-body p { font-size: 15px; color: var(--color-ink-2); }
.sc-work-body h3 a { color: var(--color-ink); text-decoration: underline; text-decoration-color: var(--color-line-2); text-underline-offset: 3px; }
.sc-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.sc-tags span { font-size: 12px; font-weight: 600; padding: 4px 9px; border-radius: 999px; background: var(--color-chalk); color: var(--color-ink-2); }
.sc-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; counter-reset: none; }
.sc-steps li { display: flex; gap: 16px; align-items: flex-start; padding: 16px 18px; border-radius: 16px; background: var(--color-white); border: 1px solid var(--color-line); }
.sc-steps li h3, .sc-steps li p { margin: 0; }
.sc-steps li p { font-size: 15px; color: var(--color-ink-2); margin-top: 4px; }
.sc-step-n { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--color-green); color: #fff; font-weight: 700; }
.sc-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.sc-stats > div { padding: 18px; border-radius: 16px; background: var(--color-green); color: #fff; display: flex; flex-direction: column; gap: 4px; }
.sc-stats b { font-family: var(--font-display, Georgia, serif); font-size: 30px; line-height: 1; }
.sc-stats span { font-size: 14px; opacity: .9; }
.sc-team { display: grid; gap: 16px; }
.sc-person { display: flex; gap: 18px; align-items: flex-start; padding: 18px; border-radius: 16px; border: 1px solid var(--color-line); background: var(--color-white); }
.sc-person img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex: none; }
.sc-person h3, .sc-person p { margin: 0; }
.sc-person p + p { margin-top: 6px; }
.sc-quotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sc-quote { margin: 0; padding: 20px 22px; border-radius: 16px; background: var(--color-chalk); }
.sc-quote p { margin: 0; font-size: 16px; line-height: 1.55; }
.sc-quote cite { display: block; margin-top: 10px; font-style: normal; font-weight: 600; font-size: 14px; color: var(--color-ink-2); }
.sc-faqs { display: grid; gap: 8px; }
.sc-faq { border: 1px solid var(--color-line); border-radius: 14px; background: var(--color-white); padding: 0 18px; }
.sc-faq summary { cursor: pointer; padding: 15px 0; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.sc-faq summary::-webkit-details-marker { display: none; }
.sc-faq summary::after { content: "+"; font-weight: 700; color: var(--color-green); }
.sc-faq[open] summary::after { content: "\2212"; }
.sc-faq p { margin: 0 0 16px; color: var(--color-ink-2); }
.sc-cta { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: 26px 28px; border-radius: 20px; background: var(--color-green); color: #fff; }
.sc-cta h2, .sc-cta p { margin: 0; color: #fff; }
.sc-cta p { margin-top: 6px; opacity: .9; }
.sc-cta .btn { background: #fff; color: var(--color-green); }
.plans-grid .plan-ultimate { border: 2px solid var(--color-green); }
@media (max-width: 767px) {
	.sc-text.has-img, .sc-grid, .sc-works, .sc-quotes { grid-template-columns: minmax(0, 1fr); }
	.sc-tabs { top: 64px; }
	.sc-person { flex-direction: column; }
}

/* ---------- "Add your event" prompts (events feed the Wantage Weekly) ---------- */
.week-links { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.week-add { font-weight: 700; color: var(--color-brick); display: inline-flex; align-items: center; gap: 6px; }
.week-add::before { width: 14px; height: 14px; }
.wo-add { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ev-add .btn { align-self: flex-start; }

/* Category icons in the Directory and What's on dropdowns (copied from the homepage .tile icons). */
.mm-dd-directory .ico[data-icon="coffee"], .mm-dd-whatson .ico[data-icon="coffee"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8h1a4 4 0 0 1 0 8h-1'/%3E%3Cpath d='M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z'/%3E%3Cline x1='6' y1='1' x2='6' y2='4'/%3E%3Cline x1='10' y1='1' x2='10' y2='4'/%3E%3Cline x1='14' y1='1' x2='14' y2='4'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="bag"], .mm-dd-whatson .ico[data-icon="bag"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="wrench"], .mm-dd-whatson .ico[data-icon="wrench"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.8-3.8a6 6 0 0 1-7.9 7.9l-6.9 6.9a2.1 2.1 0 0 1-3-3l6.9-6.9a6 6 0 0 1 7.9-7.9l-3.8 3.8z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="heart"], .mm-dd-whatson .ico[data-icon="heart"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1 7.8 7.7 7.8-7.7 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="activity"], .mm-dd-whatson .ico[data-icon="activity"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="users"], .mm-dd-whatson .ico[data-icon="users"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.9'/%3E%3Cpath d='M16 3.1a4 4 0 0 1 0 7.8'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="music"], .mm-dd-whatson .ico[data-icon="music"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V5l12-2v13'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='18' cy='16' r='3'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="briefcase"], .mm-dd-whatson .ico[data-icon="briefcase"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="car"], .mm-dd-whatson .ico[data-icon="car"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13l2-5a2 2 0 0 1 1.9-1.4h10.2A2 2 0 0 1 19 8l2 5v5a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H6v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z'/%3E%3Cline x1='3' y1='13' x2='21' y2='13'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="cross"], .mm-dd-whatson .ico[data-icon="cross"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6v6h6v6h-6v6H9v-6H3V9h6z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="coffee"], .mm-dd-whatson .ico[data-icon="coffee"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M88 0C74.7 0 64 10.7 64 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C120.5 112.3 128 119.9 128 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C119.5 47.7 112 40.1 112 24c0-13.3-10.7-24-24-24zM32 192c-17.7 0-32 14.3-32 32L0 416c0 53 43 96 96 96l192 0c53 0 96-43 96-96l16 0c61.9 0 112-50.1 112-112s-50.1-112-112-112l-48 0L32 192zm352 64l16 0c26.5 0 48 21.5 48 48s-21.5 48-48 48l-16 0 0-96zM224 24c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C232.5 112.3 240 119.9 240 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C231.5 47.7 224 40.1 224 24z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="bag"], .mm-dd-whatson .ico[data-icon="bag"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M160 112c0-35.3 28.7-64 64-64s64 28.7 64 64l0 48-128 0 0-48zm-48 48l-64 0c-26.5 0-48 21.5-48 48L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-208c0-26.5-21.5-48-48-48l-64 0 0-48C336 50.1 285.9 0 224 0S112 50.1 112 112l0 48zm24 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm152 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="wrench"], .mm-dd-whatson .ico[data-icon="wrench"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="heart"], .mm-dd-whatson .ico[data-icon="heart"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="activity"], .mm-dd-whatson .ico[data-icon="activity"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M320 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3C289 264.7 323.9 288 362.7 288l21.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-21.3 0c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L57.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352L32 352c-17.7 0-32 14.3-32 32s14.3 32 32 32l69.6 0c19 0 36.2-11.2 43.9-28.5L157 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L91.2 352z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="users"], .mm-dd-whatson .ico[data-icon="users"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192l42.7 0c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0L21.3 320C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7l42.7 0C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3l-213.3 0zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352l117.3 0C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7l-330.7 0c-14.7 0-26.7-11.9-26.7-26.7z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="music"], .mm-dd-whatson .ico[data-icon="music"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7l0 72 0 264c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6L448 147 192 223.8 192 432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6L128 200l0-72c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="briefcase"], .mm-dd-whatson .ico[data-icon="briefcase"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M184 48l144 0c4.4 0 8 3.6 8 8l0 40L176 96l0-40c0-4.4 3.6-8 8-8zm-56 8l0 40L64 96C28.7 96 0 124.7 0 160l0 96 192 0 128 0 192 0 0-96c0-35.3-28.7-64-64-64l-64 0 0-40c0-30.9-25.1-56-56-56L184 0c-30.9 0-56 25.1-56 56zM512 288l-192 0 0 32c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-32L0 288 0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-128z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="car"], .mm-dd-whatson .ico[data-icon="car"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E"); }
.mm-dd-directory .ico[data-icon="cross"], .mm-dd-whatson .ico[data-icon="cross"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M142.4 21.9c5.6 16.8-3.5 34.9-20.2 40.5L96 71.1 96 192c0 53 43 96 96 96s96-43 96-96l0-120.9-26.1-8.7c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l26.1 8.7C334.4 19.1 352 43.5 352 71.1L352 192c0 77.2-54.6 141.6-127.3 156.7C231 404.6 278.4 448 336 448c61.9 0 112-50.1 112-112l0-70.7c-28.3-12.3-48-40.5-48-73.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 70.7c0 97.2-78.8 176-176 176c-92.9 0-168.9-71.9-175.5-163.1C87.2 334.2 32 269.6 32 192L32 71.1c0-27.5 17.6-52 43.8-60.7l26.1-8.7c16.8-5.6 34.9 3.5 40.5 20.2zM480 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E"); }

/* Wantage Weekly sign-up: one-line form, box, popup (wdc-newsletter.php) */
.nl-inline { display: flex; flex-direction: column; gap: 8px; width: 100%; max-width: 520px; margin: 0; }
.nl-row { display: flex; gap: 8px; }
.nl-row input { flex: 1 1 auto; min-width: 0; height: 48px; font: inherit; font-size: 16px; padding: 0 18px; border-radius: var(--radius-button); border: 1px solid var(--color-line); background: #fff; color: var(--color-ink); }
.nl-row input:focus { outline: 2px solid var(--color-green); outline-offset: 1px; }
.nl-row .btn { flex-shrink: 0; }
.nl-small { margin: 0; font-size: 13px; line-height: 1.5; color: var(--color-ink-3); }
.nl-small a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.nl-box { display: flex; align-items: center; gap: 20px 32px; background: var(--color-moss); border-radius: var(--radius-card); padding: 22px 26px; }
.nl-box-text { flex: 1 1 280px; display: flex; flex-direction: column; gap: 4px; }
.nl-box-text .eyebrow { color: var(--color-green); font-size: 12px; }
.nl-box-h { font-size: 19px; line-height: 1.3; color: var(--color-ink); }
.nl-box-text p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--color-ink-2, var(--color-ink-3)); }
.nl-box .nl-inline { flex: 1 1 340px; }
.nl-pop { width: min(460px, calc(100% - 32px)); max-width: none; border: 0; border-radius: 24px; padding: 34px 30px 20px; background: #fff; color: var(--color-ink); box-shadow: 0 30px 80px -20px rgba(20, 48, 31, 0.45); }
.nl-pop[open] { display: flex; flex-direction: column; gap: 10px; animation: nl-in .25s ease-out; }
.nl-pop:focus { outline: none; }
.nl-pop::backdrop { background: rgba(20, 48, 31, 0.45); }
.nl-pop .eyebrow { color: var(--color-green); font-size: 12px; }
.nl-pop-h { font-family: var(--font-display); font-weight: 600; letter-spacing: -0.02em; font-size: 28px; line-height: 1.15; }
.nl-pop p { margin: 0 0 6px; font-size: 16px; line-height: 1.55; color: var(--color-ink-3); }
.nl-pop .nl-small { margin: 0; font-size: 13px; }
.nl-pop-x { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; font-size: 26px; line-height: 1; color: var(--color-ink-3); cursor: pointer; }
.nl-pop-x:hover { background: var(--color-chalk); }
/* The X is drawn with two lines so it sits exactly in the middle of the circle (the × character sits low in most fonts). */
.nl-pop-x { font-size: 0; padding: 0; }
.nl-pop-x::before, .nl-pop-x::after { content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 2px; border-radius: 2px; background: currentColor; }
.nl-pop-x::before { transform: translate(-50%, -50%) rotate(45deg); }
.nl-pop-x::after { transform: translate(-50%, -50%) rotate(-45deg); }
.nl-pop-no { align-self: center; border: 0; background: none; font: inherit; font-size: 14px; color: var(--color-ink-3); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; padding: 6px; }
@keyframes nl-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
	.nl-row { flex-direction: column; }
	.nl-row .btn { width: 100%; }
	.nl-box { padding: 20px; }
	.nl-pop { margin: auto auto 16px; padding: 30px 22px 16px; }
	.nl-pop-h { font-size: 24px; }
}
.footer-nl-h { color: var(--color-chalk); margin-top: 4px; }
.footer-about .nl-small { color: var(--color-green-ink); }
.footer-about .nl-row input { border-color: transparent; }
.footer-biz { margin: 4px 0 0; font-size: 14px; }
.footer-biz a { text-decoration: underline; text-underline-offset: 2px; }

/* Share bar (wdc-share.php) */
.share-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 14px 0; border-top: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); }
.share-label { font-weight: 700; font-size: 15px; color: var(--color-ink); }
.share-icons { display: flex; gap: 8px; }
.share-link { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 0; padding: 0; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); color: var(--color-green); cursor: pointer; transition: background .15s, color .15s; }
.share-link[hidden] { display: none; }
.share-link:hover, .share-link:focus-visible { background: var(--color-green); color: #fff; }
.share-link::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.share-link[data-net="whatsapp"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E"); }
.share-link[data-net="facebook"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'/%3E%3C/svg%3E"); }
.share-link[data-net="x"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E"); }
.share-link[data-net="nextdoor"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5 1.5 11.2l1.4 1.6L4 11.9V21h6v-6h4v6h6v-9.1l1.1.9 1.4-1.6z'/%3E%3C/svg%3E"); }
.share-link[data-net="link"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7'/%3E%3C/svg%3E"); }
.share-link[data-net="share"] { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8'/%3E%3Cpolyline points='16 6 12 2 8 6'/%3E%3Cline x1='12' y1='2' x2='12' y2='15'/%3E%3C/svg%3E"); }
.share-link.is-done { background: var(--color-green); color: #fff; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); }
.share-mail { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: var(--radius-button); background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); color: var(--color-green); font-weight: 700; font-size: 15px; text-decoration: none; }
.share-mail::before { content: ""; width: 17px; height: 17px; background: currentColor; -webkit-mask: var(--i-mail) center / contain no-repeat; mask: var(--i-mail) center / contain no-repeat;
	--i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E"); }
.share-mail:hover, .share-mail:focus-visible { background: var(--color-green); color: #fff; }
.share-help { border: 0; padding: 0; }
.share-help .share-mail { background: var(--color-green); color: #fff; box-shadow: none; }
.share-help .share-mail:hover { background: var(--color-green-dark); }

/* Get Featured: listing prompt and the /upgrade/ page (wdc-stripe.php) */
.up-cta { border: 1px solid var(--color-line); border-radius: var(--radius-card); padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; background: #fff; }
.up-cta p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--color-ink-2); }
.up-find-row { display: flex; gap: 8px; }
.up-find-row input { flex: 1 1 auto; min-width: 0; }
.up-results { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 8px; }
.up-results a { display: flex; flex-direction: column; gap: 2px; padding: 14px 18px; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); color: var(--color-ink); text-decoration: none; }
.up-results a:hover { box-shadow: inset 0 0 0 2px var(--color-green); }
.up-results span { font-size: 14px; color: var(--color-ink-3); }
.up-listing { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-bottom: 20px; }
.up-listing .eyebrow { width: 100%; }
.up-listing a { font-size: 14px; color: var(--color-green); }
.up-plans { border: 0; margin: 0; padding: 0; display: grid; gap: 10px; }
.up-plans legend { font-weight: 700; margin-bottom: 8px; }
.up-plan { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px var(--color-line); cursor: pointer; }
.up-plan:has(input:checked) { box-shadow: inset 0 0 0 2px var(--color-green); }
.up-plan input { margin-top: 5px; width: 18px; height: 18px; accent-color: var(--color-green); }
.up-plan small { display: block; margin-top: 4px; font-size: 14px; line-height: 1.5; color: var(--color-ink-3); }
.up-done { gap: 12px; }
@media (max-width: 600px) { .up-find-row { flex-direction: column; } }

/* UX audit fixes (2026-09-30) */
.lp-cover:has(> .fallback) { height: 220px; }
.lp-cover:has(> .fallback) .fallback-name { font-size: 40px; }
.plan .btn-block { margin-top: auto; }
.plan:not(.plan-featured) .plan-note { color: var(--color-ink-3); }
.fl-side .cta-news { padding: 26px; }
.fl-side .nl-row { flex-direction: column; }
.fl-side .nl-row .btn { width: 100%; }
@media (max-width: 820px) {
	.hero-copyfirst .wrap { padding: 0 var(--gutter); }
	.hero-copyfirst .hero-copy { order: 1; }
	.hero-copyfirst .wrap > .panel { order: 2; }
	.lp-cover:has(> .fallback) { height: 120px; }
	.lp-cover:has(> .fallback) .fallback-name { font-size: 30px; }
	.lc-media:has(> .fallback) { aspect-ratio: auto; height: 88px; min-height: 0; }
	.lc-media:has(> .fallback) .fallback-name { font-size: 20px; }
}
.mm-guides { display: contents; }

/* Native lists (wdc-loops.php): what the old PHP markup did with inline styles and <br>. */
.ev-badge { align-self: flex-start; }
.u-contents { display: contents; }
.help-chip[data-access="referral"] { background: #FBEDE7; color: var(--color-brick-dark); }
.u-inline, .u-inline > * { display: inline !important; }
/* The credits list continues the page text, as it did inside it (no gap from .article-wrap). */
.article-wrap > .credits-block { margin-top: -16px; }

/* Update your listing (wdc-manage.php) */
.manage-form fieldset { border: 0; margin: 0; }
.manage-form legend { padding: 0; margin-bottom: 4px; font-family: var(--font-display); font-weight: 600; }
.manage-hours { width: 100%; border-collapse: collapse; font-size: 15px; }
.manage-hours th, .manage-hours td { padding: 6px 8px 6px 0; text-align: left; }
.manage-hours thead th { font-size: 13px; color: var(--color-ink-3); font-weight: 600; }
.manage-hours input[type="time"] { font: inherit; padding: 8px 10px; border: 1px solid var(--color-line); border-radius: 10px; }
.manage-hours input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--color-green); }
.manage-socials { display: flex; flex-direction: column; gap: 8px; }
.manage-socials .form-label { font-weight: 600; font-size: 15px; }
.manage-social { display: flex; gap: 8px; }
.manage-social select { flex: 0 0 140px; font: inherit; padding: 10px; border: 1px solid var(--color-line); border-radius: 12px; background: #fff; }
.manage-social input { flex: 1 1 auto; min-width: 0; font: inherit; padding: 10px 12px; border: 1px solid var(--color-line); border-radius: 12px; }
.manage-list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.manage-list li { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.manage-list li b { flex: 1 1 200px; }
.manage-note { margin: 0 0 16px; font-weight: 600; }
.manage-form .form-label { font-weight: 600; font-size: 15px; }
.manage-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
.manage-gallery .check { display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.manage-gallery img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 10px; }
/* Cookie consent bar (wdc-consent.php): Reject and Accept look the same, as UK guidance asks. */
.cookie-bar { position: fixed; z-index: 90; left: 16px; right: 16px; bottom: 16px; max-width: 720px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 16px 20px; background: #fff; color: var(--color-ink); border: 1px solid var(--color-line); border-radius: 16px; box-shadow: 0 20px 50px -20px rgba(20, 48, 31, 0.4); }
.cookie-bar[hidden] { display: none; }
.cookie-bar p { flex: 1 1 320px; margin: 0; font-size: 15px; line-height: 1.5; }
.cookie-bar a { color: var(--color-green-dark); }
.cookie-bar-btns { display: flex; gap: 10px; }
.cookie-bar-btns .btn { min-width: 96px; justify-content: center; }
/* Featured enquiry panel: hidden when the listing has no address to send enquiries to (the shortcode prints nothing). */
.lp-enquiry:not(:has(form, [role="status"])) { display: none; }
@media (max-width: 600px) { .manage-social { flex-direction: column; } .manage-social select { flex-basis: auto; } .manage-hours input[type="time"] { width: 100%; } }
