@charset "UTF-8";
/* acuris-widget.css — styles for static_assets/acuris-widget.js.
 *
 * Copied from the live EN homepage's #acuris-demo-styles block
 * (acuris-homepage-avgeo.html lines 724-1071) with every `.demo-` class
 * renamed `.aw-` and every theme variable given its homepage light-theme value
 * as a fallback, so the widget renders identically on the homepage (where the
 * variables exist and `[data-theme="dark"]` flips them) and on pages that
 * define none of them (console, WordPress plugin). Additions for things the
 * homepage does not have (fielded inputs, submit button, raw/developer
 * disclosures, reverse result list) are at the end, below the copied block.
 */
.aw-panel {
  max-width: 760px; margin: 0 auto;
  background: var(--surface-strong, #ffffff); border: 1px solid var(--hairline-strong, #D7DFEA);
  border-radius: var(--radius-lg, 20px); padding: 32px; box-shadow: var(--shadow-sm, 0 1px 2px rgba(14, 59, 58, 0.06), 0 1px 3px rgba(14, 59, 58, 0.04));
}
[data-theme="dark"] .aw-panel { background: var(--bg-elev, #FFFFFF); }
.aw-form { display: grid; grid-template-columns: minmax(150px, 210px) 1fr auto; gap: 12px; align-items: end; }
.aw-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.aw-field label {
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 11px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--muted, #4a4942);
}
.aw-select, .aw-input {
  padding: 11px 14px; border-radius: 8px; border: 1px solid var(--hairline-strong, #D7DFEA);
  background: var(--bg, #FFFFFF); font-family: var(--font-body, 'Inter', system-ui, sans-serif); font-size: 14px; color: var(--ink, #1a1f1e);
  transition: border-color 160ms ease; width: 100%; min-width: 0;
}
.aw-select:focus, .aw-input:focus { outline: none; border-color: var(--teal-800, #0e3b3a); }
.aw-submit { white-space: nowrap; }
.aw-fine { font-size: 12.5px; color: var(--muted, #4a4942); margin: 14px 0 0; line-height: 1.6; }
.aw-fine a { color: var(--accent, #007B82); text-decoration: underline; }

.aw-msg {
  margin-top: 16px; padding: 11px 14px; border-radius: 10px;
  font-size: 14px; line-height: 1.5;
}
.aw-msg.is-error {
  background: rgba(0, 123, 130, 0.10); color: var(--terracotta-600, #006065);
  border: 1px solid rgba(0, 123, 130, 0.25);
}
.aw-msg.is-quota { background: rgba(154, 100, 0, 0.10); color: #9a6400; border: 1px solid rgba(154, 100, 0, 0.25); }
[data-theme="dark"] .aw-msg.is-quota { background: rgba(230, 170, 60, 0.14); color: #f0bf6f; border-color: rgba(230, 170, 60, 0.30); }
/* Same colour coding as .aw-result.is-no's tag (below) — a "no match"
   message box, not an error or a quota nudge. */
.aw-msg.is-no { background: rgba(138, 43, 43, 0.10); color: #8a2b2b; border: 1px solid rgba(138, 43, 43, 0.25); }
[data-theme="dark"] .aw-msg.is-no { background: rgba(230, 110, 100, 0.14); color: #f0968a; border-color: rgba(230, 110, 100, 0.30); }
/* "We need one more detail from you" — deliberately NOT the red is-no
   treatment: a missing town is not a failed lookup, and the address is
   usually perfectly real (see the 404/locality_unknown branch). */
.aw-msg.is-ask { background: rgba(0, 123, 130, 0.10); color: #007B82; border: 1px solid rgba(0, 123, 130, 0.25); }
[data-theme="dark"] .aw-msg.is-ask { background: rgba(90, 190, 195, 0.14); color: #8fd3d6; border-color: rgba(90, 190, 195, 0.30); }
.aw-msg a { color: inherit; font-weight: 600; text-decoration: underline; }

.aw-result {
  margin-top: 22px; padding: 22px; border-radius: var(--radius, 12px);
  border: 1px solid var(--hairline-strong, #D7DFEA); background: var(--bg, #FFFFFF);
}
.aw-result-head { display: flex; align-items: center; margin-bottom: 10px; }
.aw-result-tag {
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 3px 10px; border-radius: 999px; border: 1px solid;
}
.aw-result.is-ok .aw-result-tag { background: rgba(15, 122, 61, 0.12); color: #0f7a3d; border-color: rgba(15, 122, 61, 0.28); }
.aw-result.is-mid .aw-result-tag { background: rgba(154, 100, 0, 0.12); color: #9a6400; border-color: rgba(154, 100, 0, 0.28); }
.aw-result.is-no .aw-result-tag { background: rgba(138, 43, 43, 0.12); color: #8a2b2b; border-color: rgba(138, 43, 43, 0.28); }
.aw-result.is-warn .aw-result-tag,
.aw-result.is-ask .aw-result-tag,
.aw-result.is-info .aw-result-tag { background: rgba(0, 123, 130, 0.12); color: #007B82; border-color: rgba(0, 123, 130, 0.28); }
[data-theme="dark"] .aw-result.is-ok .aw-result-tag { background: rgba(90, 200, 140, 0.16); color: #7fd9a8; border-color: rgba(90, 200, 140, 0.32); }
[data-theme="dark"] .aw-result.is-mid .aw-result-tag { background: rgba(230, 170, 60, 0.16); color: #f0bf6f; border-color: rgba(230, 170, 60, 0.32); }
[data-theme="dark"] .aw-result.is-no .aw-result-tag { background: rgba(230, 110, 100, 0.16); color: #f0968a; border-color: rgba(230, 110, 100, 0.32); }
[data-theme="dark"] .aw-result.is-warn .aw-result-tag,
[data-theme="dark"] .aw-result.is-ask .aw-result-tag,
[data-theme="dark"] .aw-result.is-info .aw-result-tag { background: rgba(90, 190, 195, 0.16); color: #8fd3d6; border-color: rgba(90, 190, 195, 0.32); }
.aw-result-addr { font-family: var(--font-display, 'Space Grotesk', system-ui, sans-serif); font-size: 18px; font-weight: 600; letter-spacing: -0.01em; margin-bottom: 16px; text-wrap: balance; white-space: pre-wrap; }
.aw-result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.aw-result-cell { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.aw-result-lbl { font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted, #4a4942); }
.aw-result-val { font-size: 15px; color: var(--ink, #1a1f1e); font-weight: 600; }
.aw-mono { font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-weight: 400; word-break: break-word; }
.aw-result-sub { font-size: 12.5px; color: var(--muted, #4a4942); }
.aw-result-fix { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.aw-result-fix span {
  background: rgba(15, 122, 61, 0.10); color: #0f7a3d; border: 1px solid rgba(15, 122, 61, 0.25);
  border-radius: 999px; padding: 3px 10px; font-size: 11.5px; font-weight: 600;
}
[data-theme="dark"] .aw-result-fix span { background: rgba(90, 200, 140, 0.14); color: #7fd9a8; border-color: rgba(90, 200, 140, 0.30); }
.aw-result-warn {
  margin-top: 14px; padding: 9px 12px; border-radius: 8px;
  background: rgba(154, 100, 0, 0.08); border: 1px solid rgba(154, 100, 0, 0.22);
  color: #7a5600; font-size: 13px; line-height: 1.5;
}
[data-theme="dark"] .aw-result-warn { background: rgba(230, 170, 60, 0.12); border-color: rgba(230, 170, 60, 0.28); color: #f0bf6f; }
/* Same shape as .aw-result-warn but in the confirming green: a valid
   postcode is a good answer with a caveat about precision, not a caution. */
.aw-result-note {
  margin-top: 14px; padding: 9px 12px; border-radius: 8px;
  background: rgba(15, 122, 61, 0.08); border: 1px solid rgba(15, 122, 61, 0.22);
  color: #0f5c31; font-size: 13px; line-height: 1.5;
}
[data-theme="dark"] .aw-result-note { background: rgba(90, 200, 140, 0.12); border-color: rgba(90, 200, 140, 0.28); color: #7fd9a8; }

/* "What does this mean?" per-field verdict, and the free enrichment block --
   parity with the full validate product page's renderVerdictDetails /
   renderEnrichmentBlock, restyled onto the homepage widgets' own theme
   variables so both render correctly in light and dark. Shared class names
   across all three demo widgets (international validate, UK validate,
   autocomplete selection) since the markup shape is identical everywhere. */
.aw-result-details, .aw-ac-selected details { margin-top: 14px; font-size: 13px; }
/* Styled to match .aw-map-btn's pill button exactly (same border-radius,
   font, padding) rather than reading as a plain text link -- a <summary> has
   no visual affordance of its own, and "no details" reports turned out to be
   "there IS a details section, it just doesn't look clickable". */
.aw-result-details > summary, .aw-ac-selected details > summary {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.04em; color: var(--accent, #007B82); background: none;
  border: 1px solid rgba(0, 123, 130, 0.32); border-radius: 999px;
  padding: 5px 12px; cursor: pointer; list-style: none; user-select: none;
}
.aw-result-details > summary:hover, .aw-ac-selected details > summary:hover { background: rgba(0, 123, 130, 0.08); }
[data-theme="dark"] .aw-result-details > summary, [data-theme="dark"] .aw-ac-selected details > summary {
  color: var(--teal-300, #7fb8b6); border-color: rgba(127, 184, 182, 0.34);
}
[data-theme="dark"] .aw-result-details > summary:hover, [data-theme="dark"] .aw-ac-selected details > summary:hover {
  background: rgba(127, 184, 182, 0.10);
}
.aw-result-details > summary::-webkit-details-marker,
.aw-ac-selected details > summary::-webkit-details-marker { display: none; }
.aw-result-details > summary::after, .aw-ac-selected details > summary::after { content: '▾'; font-size: 9px; }
.aw-result-details[open] > summary::after, .aw-ac-selected details[open] > summary::after { content: '▴'; }
.aw-result-details-body { margin-top: 8px; color: var(--muted, #4a4942); line-height: 1.5; }
.aw-result-details-body > div { margin-bottom: 4px; }
.aw-result-details-body .drow { display: flex; gap: 8px; padding: 2px 0; }
.aw-result-details-body .drow > .l { min-width: 130px; color: var(--ink, #1a1f1e); }
.aw-result-details-body .hint { font-size: 11.5px; color: var(--muted, #4a4942); }
.aw-result-details-body .ok { color: #0f7a3d; }
.aw-result-details-body .mid { color: #9a6400; }
[data-theme="dark"] .aw-result-details-body .ok { color: #7fd9a8; }
[data-theme="dark"] .aw-result-details-body .mid { color: #f0bf6f; }

.aw-result-enrich, .aw-ac-enrich {
  margin-top: 14px; padding: 10px 12px; border-radius: 8px;
  background: var(--bg-elev, #FFFFFF); border: 1px solid var(--hairline-strong, #D7DFEA); font-size: 12.5px;
}
.aw-result-enrich-h, .aw-ac-enrich-h { font-weight: 600; color: var(--ink, #1a1f1e); margin-bottom: 6px; }
.aw-result-enrich-row, .aw-ac-enrich-row { display: flex; gap: 8px; padding: 2px 0; color: var(--ink, #1a1f1e); }
.aw-result-enrich-row > .k, .aw-ac-enrich-row > .k { min-width: 150px; color: var(--muted, #4a4942); flex-shrink: 0; }
/* A titled group (statistical sector, building, …) lays its rows out in as
   many ~220px columns as the card is wide, instead of one long single-file
   list — a 15-field group read as a wall of text otherwise. */
.aw-result-enrich-grid, .aw-ac-enrich-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px 16px;
}
/* Each field inside a grid column stacks label over value (not side by
   side) -- a fixed 150px label column left almost no room for the value
   at a ~220px column width, so the two ran into each other. */
.aw-result-enrich-grid > .aw-result-enrich-row,
.aw-ac-enrich-grid > .aw-ac-enrich-row {
  flex-direction: column; gap: 1px; padding: 0;
}
.aw-result-enrich-grid > .aw-result-enrich-row > .k,
.aw-ac-enrich-grid > .aw-ac-enrich-row > .k {
  min-width: 0; font-size: 11px;
}
.aw-result-enrich-g, .aw-ac-enrich-g {
  font-weight: 600; color: var(--muted, #4a4942); margin: 8px 0 2px; font-size: 11px;
  text-transform: uppercase; letter-spacing: 0.05em;
}
.aw-result-enrich-src, .aw-ac-enrich-src { margin-top: 6px; font-size: 11px; color: var(--muted, #4a4942); }
.aw-result-enrich-sub, .aw-ac-enrich-sub { color: var(--muted, #4a4942); }

/* ---- 4-widget live-demo layout (2026-09-02) ---- */
.aw-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; }
@media (max-width: 980px) { .aw-duo { grid-template-columns: 1fr; } }
.aw-card-label {
  font-family: var(--font-display, 'Space Grotesk', system-ui, sans-serif); font-size: 20px; font-weight: 700;
  letter-spacing: -0.01em; color: var(--ink, #1a1f1e); margin-bottom: 14px;
}
.aw-card-flags { display: flex; flex-wrap: wrap; gap: 2px; margin-bottom: 8px; font-size: 15px; line-height: 1.3; }
.aw-card-flags-uk { display: inline-flex; font-size: 28px; vertical-align: -4px; margin-right: 10px; margin-bottom: 0; }
.aw-subhead {
  font-family: var(--font-display, 'Space Grotesk', system-ui, sans-serif); font-size: 24px; font-weight: 600;
  letter-spacing: -0.01em; margin: 40px 0 18px;
}
.aw-block { border-radius: var(--radius-lg, 20px); padding: 36px 36px 4px; }
.aw-block-validate {
  background: linear-gradient(180deg, rgba(29, 111, 110, 0.07), rgba(29, 111, 110, 0.015));
  border: 1px solid rgba(29, 111, 110, 0.16);
  margin-top: 44px;
}
.aw-block-autocomplete {
  background: linear-gradient(180deg, rgba(0, 123, 130, 0.08), rgba(0, 123, 130, 0.02));
  border: 1px solid rgba(0, 123, 130, 0.18);
}
.aw-block-header {
  font-family: var(--font-display, 'Space Grotesk', system-ui, sans-serif); font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.02em; font-size: clamp(24px, 2.6vw, 34px); margin: 0 0 26px;
  text-align: center;
}
.aw-block-validate .aw-block-header { color: var(--teal-700, #155656); }
.aw-block-autocomplete .aw-block-header { color: var(--terracotta-600, #006065); }
[data-theme="dark"] .aw-block-validate {
  background: linear-gradient(180deg, rgba(127, 184, 182, 0.10), rgba(127, 184, 182, 0.02));
  border-color: rgba(127, 184, 182, 0.22);
}
[data-theme="dark"] .aw-block-autocomplete {
  background: linear-gradient(180deg, rgba(58, 154, 160, 0.12), rgba(58, 154, 160, 0.03));
  border-color: rgba(58, 154, 160, 0.24);
}
[data-theme="dark"] .aw-block-validate .aw-block-header { color: var(--teal-300, #7fb8b6); }
[data-theme="dark"] .aw-block-autocomplete .aw-block-header { color: var(--terracotta-400, #3a9aa0); }
@media (max-width: 680px) { .aw-block { padding: 26px 20px 4px; } }

/* ---- mini typeahead (autocomplete demo row) ---- */
.aw-ac-wrap { position: relative; }
.aw-ac-results {
  list-style: none; margin: 6px 0 0; padding: 4px;
  border: 1px solid var(--hairline, #E3E9F1); border-radius: 10px; background: var(--bg, #FFFFFF);
  max-height: 320px; overflow-y: auto; display: none;
}
.aw-ac-results.has-results { display: block; }
.aw-ac-results li { padding: 9px 12px; border-radius: 7px; cursor: pointer; }
.aw-ac-results li[role="option"]:hover,
.aw-ac-results li[aria-selected="true"] { background: rgba(0, 123, 130, 0.08); }
.aw-ac-primary { font-weight: 600; font-size: 14.5px; }
.aw-ac-org { font-size: 13px; color: var(--ink-soft, #2a312f); }
.aw-ac-secondary { font-size: 12px; color: var(--muted, #4a4942); font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); }
/* Fuzzy near-match label (GBR /suggest fuzzy top-up). Muted + italic so a
   near miss never reads like an exact hit; see the `match === 'fuzzy'`
   branch in renderResults. */
.aw-ac-fuzzy { font-size: 11.5px; color: var(--muted, #4a4942); font-style: italic; margin-top: 2px; }
/* Both-counts disclosure line (owner decision, 2026-09-06): "3 cities ·
   no. 18 in 1", plus an inline ▸/▾ toggle for the per-city breakdown
   already embedded in the row (no second request -- see renderResults'
   own comment on why a re-query would give the wrong answer here). */
.aw-ac-fuzzy-counts { display: block; margin-top: 1px; color: var(--accent, #007B82); font-weight: 600; font-style: normal; }
[data-theme="dark"] .aw-ac-fuzzy-counts { color: var(--teal-300, #7fb8b6); }
.aw-ac-fuzzy-toggle { cursor: pointer; margin-left: 4px; }
.aw-ac-fuzzy-cities {
  list-style: none; margin: 2px 0 0 10px; padding: 0;
  font-style: normal; font-weight: 400; color: var(--muted, #4a4942); font-size: 11px;
}
.aw-ac-fuzzy-cities li { padding: 1px 0; }
.aw-ac-fuzzy-cities-more { font-style: italic; }
.aw-ac-results .aw-ac-status { cursor: default; color: var(--muted, #4a4942); font-size: 13.5px; }
/* Click-to-expand feedback (2026-10-03): the clicked collapsed row says
   "Loading addresses…" with an inline ring; the list ignores clicks until
   /suggest/expand answers (8 s timeout, one retry, then a retry row). */
.aw-ac-results.is-expanding { pointer-events: none; }
.aw-ac-results li.is-expanding { cursor: progress; }
.aw-ac-results .aw-expand-ring {
  display: inline-block; width: 11px; height: 11px; margin-right: 6px;
  vertical-align: -1px; border-radius: 50%; box-sizing: border-box;
  border: 2px solid var(--hairline, rgba(0, 0, 0, 0.15));
  border-top-color: var(--accent, #2a8b8a);
  animation: aw-expand-spin 700ms linear infinite;
}
@keyframes aw-expand-spin { to { transform: rotate(360deg); } }
.aw-ac-results .aw-ac-expand-failed {
  cursor: pointer; text-decoration: underline; text-underline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .aw-ac-results .aw-expand-ring { display: none; }
}
.aw-ac-results .aw-ac-status-more {
  cursor: pointer; color: var(--accent, #007B82); font-weight: 600; text-decoration: underline;
  text-underline-offset: 2px;
}
.aw-ac-results .aw-ac-status-more:hover,
.aw-ac-results .aw-ac-status-more:focus-visible { color: var(--terracotta-500, #007B82); outline: none; }
/* Expanded-street "Show 44 more of 94" (2026-10-03): a keyboard option
   (role="option"), so it takes the selected-row highlight too. */
.aw-ac-results .aw-ac-expand-more[aria-selected="true"] { background: rgba(0, 123, 130, 0.08); }
.aw-ac-results .aw-ac-expand-more.is-expanding { cursor: progress; text-decoration: none; }
.aw-ac-selected {
  margin-top: 14px; padding: 16px 18px; border: 1px solid var(--hairline, #E3E9F1);
  border-radius: 12px; background: var(--bg, #FFFFFF);
}
.aw-ac-selected-head {
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 10.5px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--muted, #4a4942); margin-bottom: 8px;
}
.aw-ac-selected pre {
  margin: 0 0 10px; font-family: var(--font-display, 'Space Grotesk', system-ui, sans-serif); font-size: 18px;
  font-weight: 600; letter-spacing: -0.01em; line-height: 1.35; white-space: pre-wrap;
}
.aw-ac-coords { font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 12.5px; color: var(--ink-soft, #2a312f); }
.aw-ac-note { font-size: 12.5px; color: var(--muted, #4a4942); margin-top: 8px; }

/* ---- "See it on the map" button + shared popup modal ---- */
.aw-map-btn {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 8px;
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.04em; color: var(--accent, #007B82); background: none;
  border: 1px solid rgba(0, 123, 130, 0.32); border-radius: 999px;
  padding: 5px 12px; cursor: pointer;
}
/* The class's own `display: inline-flex` above outranks the browser's
   default `[hidden]{display:none}` UA rule (author stylesheet always wins
   over UA styles), so toggling the `hidden` attribute in JS silently did
   nothing -- the button stayed visible on every no-match result. */
.aw-map-btn[hidden] { display: none; }
.aw-map-btn:hover { background: rgba(0, 123, 130, 0.08); }
[data-theme="dark"] .aw-map-btn { color: var(--teal-300, #7fb8b6); border-color: rgba(127, 184, 182, 0.34); }
[data-theme="dark"] .aw-map-btn:hover { background: rgba(127, 184, 182, 0.10); }
.aw-map-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 24px; }
.aw-map-modal[hidden] { display: none; }
.aw-map-modal-backdrop { position: absolute; inset: 0; background: rgba(10, 25, 24, 0.55); }
.aw-map-modal-panel {
  position: relative; width: min(920px, 100%); height: min(640px, 84vh);
  background: var(--bg-elev, #FFFFFF); border-radius: var(--radius-lg, 20px);
  box-shadow: var(--shadow, 0 4px 16px rgba(14, 59, 58, 0.08), 0 2px 6px rgba(14, 59, 58, 0.04)); overflow: hidden;
}
.aw-map-modal-close {
  position: absolute; top: 12px; right: 12px; z-index: 2; width: 36px; height: 36px;
  border-radius: 999px; border: 1px solid var(--hairline-strong, #D7DFEA); background: var(--bg-elev, #FFFFFF);
  color: var(--ink, #1a1f1e); font-size: 20px; line-height: 1; cursor: pointer; padding: 0;
}
.aw-map-modal-close:hover { background: var(--cream-300, #EEF2F7); }
.aw-map-modal-map { width: 100%; height: 100%; background: var(--bg-elev, #FFFFFF); }
.aw-map-tip {
  position: absolute; top: 12px; right: 56px; z-index: 5;
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255, 255, 255, 0.96); color: var(--ink, #1a1f1e);
  border: 1px solid var(--hairline, #E3E9F1); border-radius: 999px; padding: 5px 8px 5px 5px;
  font: 500 12px/1.4 var(--font-body, 'Inter', system-ui, sans-serif); box-shadow: var(--shadow, 0 4px 16px rgba(14, 59, 58, 0.08), 0 2px 6px rgba(14, 59, 58, 0.04));
  transition: opacity 240ms ease, transform 240ms ease; letter-spacing: 0.01em;
  max-width: calc(100% - 100px);
}
.aw-map-tip.is-faded { opacity: 0; transform: translateY(-4px); pointer-events: none; }
.aw-map-tip-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 999px; background: var(--accent, #007B82); color: #fff;
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 14px; font-weight: 700; line-height: 1; flex-shrink: 0;
}
.aw-map-tip-text { white-space: nowrap; }
.aw-map-tip kbd {
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 11px; padding: 1px 6px;
  background: var(--bg, #FFFFFF); border: 1px solid var(--hairline, #E3E9F1); border-radius: 4px;
  margin: 0 2px; color: var(--ink, #1a1f1e);
}
.aw-map-tip-close {
  background: none; border: none; color: var(--ink-soft, #2a312f); cursor: pointer;
  padding: 0 4px; margin-left: 2px; font-size: 18px; line-height: 1; opacity: 0.55;
  transition: opacity 160ms ease; border-radius: 50%;
}
.aw-map-tip-close:hover, .aw-map-tip-close:focus { opacity: 1; outline: none; }
[data-theme="dark"] .aw-map-tip { background: rgba(13, 15, 14, 0.94); color: var(--ink, #1a1f1e); }
@media (max-width: 540px) { .aw-map-tip-text { white-space: normal; } }
.maplibregl-ctrl-group.aw-mapstyle-toggle {
  display: flex !important; flex-direction: row !important; width: auto !important;
  min-width: 0 !important; background: transparent !important;
}
.aw-mapstyle-btn {
  flex: 0 0 auto; width: auto !important; height: 30px !important; padding: 0 14px !important;
  background: #fff; color: var(--ink, #1a1f1e); border: none; cursor: pointer;
  font: 600 11px/1 var(--font-body, 'Inter', system-ui, sans-serif); letter-spacing: 0.06em; text-transform: uppercase;
  transition: background 140ms ease, color 140ms ease; white-space: nowrap;
}
.aw-mapstyle-btn + .aw-mapstyle-btn { border-left: 1px solid var(--hairline, #E3E9F1); }
.aw-map-fallback {
  position: absolute; left: 50%; transform: translateX(-50%);
  bottom: 14px; z-index: 6; max-width: min(92%, 460px);
  background: rgba(14, 59, 58, 0.92); color: #f5efe4;
  font-family: var(--font-sans, 'Inter', system-ui, sans-serif); font-size: 12.5px; line-height: 1.35;
  padding: 8px 13px; border-radius: 999px; text-align: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
.aw-map-fallback[hidden] { display: none; }
.aw-mapstyle-btn:hover { background: rgba(42, 139, 138, 0.08); }
.aw-mapstyle-btn.is-active { background: var(--teal-700, #155656); color: #fff; }
.aw-mapstyle-btn.is-active:hover { background: var(--teal-800, #0e3b3a); }
[data-theme="dark"] .aw-mapstyle-btn { background: #1a201f; color: var(--ink, #1a1f1e); }
[data-theme="dark"] .aw-mapstyle-btn:hover { background: rgba(127, 184, 182, 0.16); }
[data-theme="dark"] .aw-mapstyle-btn.is-active { background: var(--teal-600, #1d6f6e); color: #fff; }
@media (max-width: 680px) {
  .aw-form, .aw-form.aw-form-nocc, .aw-form.aw-form-noaction { grid-template-columns: 1fr; }
  .aw-panel { padding: 22px; }
  .aw-result-grid { grid-template-columns: 1fr; }
}
/* ===================== additions (not on the homepage) ===================== */
/* Elements toggled with the `hidden` attribute must stay hidden even when
   their class sets a display value (an author `display:` beats the UA
   `[hidden]` rule -- the homepage hit this with .demo-map-btn). */
.aw-root [hidden] { display: none !important; }
.aw-root { font-family: var(--font-body, 'Inter', system-ui, sans-serif); color: var(--ink, #1a1f1e); }
.aw-root *, .aw-root *::before, .aw-root *::after { box-sizing: border-box; }
/* The homepage submit button is the site-wide `.btn .btn-primary`; pages
   without that stylesheet (console, WordPress) get the same look from here. */
.aw-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px;
  font-family: var(--font-display, 'Space Grotesk', system-ui, sans-serif);
  font-weight: 500; font-size: 14px; letter-spacing: -0.005em; line-height: 1.2;
  border-radius: 999px; border: 1px solid transparent; cursor: pointer;
  transition: transform 160ms ease, background 160ms ease, box-shadow 200ms ease, color 160ms ease;
  text-decoration: none; white-space: nowrap;
}
.aw-btn-primary {
  background: var(--teal-800, #0e3b3a); color: var(--cream-50, #FFFFFF);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 1px 2px rgba(14,59,58,0.2);
}
.aw-btn-primary:hover { background: var(--teal-700, #155656); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(14, 59, 58, 0.2); }
.aw-btn[disabled] { opacity: 0.7; cursor: progress; transform: none; }
.aw-btn .aw-arrow { transition: transform 160ms ease; }
.aw-btn:hover .aw-arrow { transform: translateX(3px); }
.aw-form-nocc { grid-template-columns: 1fr auto; }
.aw-form-noaction { grid-template-columns: minmax(150px, 210px) 1fr; }
.aw-form-nocc.aw-form-noaction { grid-template-columns: 1fr; }
.aw-fields {
  display: grid; grid-template-columns: 2fr 1fr; gap: 10px; margin-top: 12px;
}
.aw-fields .aw-field-wide { grid-column: 1 / -1; }
.aw-mode-toggle { display: inline-flex; gap: 4px; margin-bottom: 10px; }
.aw-mode-toggle button {
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 11px;
  letter-spacing: 0.06em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px;
  border: 1px solid var(--hairline-strong, #D7DFEA); background: none; color: var(--muted, #4a4942); cursor: pointer;
}
.aw-mode-toggle button[aria-pressed="true"] { background: var(--teal-800, #0e3b3a); color: #fff; border-color: var(--teal-800, #0e3b3a); }
.aw-result-dev, .aw-result-raw { margin-top: 14px; font-size: 13px; }
.aw-result-dev > summary, .aw-result-raw > summary {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.04em; color: var(--muted, #4a4942); background: none;
  border: 1px solid var(--hairline-strong, #D7DFEA); border-radius: 999px;
  padding: 5px 12px; cursor: pointer; list-style: none; user-select: none;
}
.aw-result-dev > summary::-webkit-details-marker, .aw-result-raw > summary::-webkit-details-marker { display: none; }
.aw-result-dev > summary::after, .aw-result-raw > summary::after { content: '▾'; font-size: 9px; }
.aw-result-dev[open] > summary::after, .aw-result-raw[open] > summary::after { content: '▴'; }
.aw-result-raw pre, .aw-result-dev-body {
  margin: 8px 0 0; padding: 10px 12px; border-radius: 8px; overflow-x: auto;
  background: var(--bg-elev, #FFFFFF); border: 1px solid var(--hairline-strong, #D7DFEA);
  font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 12px; line-height: 1.5;
  white-space: pre-wrap; word-break: break-word; color: var(--ink, #1a1f1e);
}
.aw-result-dev-body { font-family: var(--font-body, 'Inter', system-ui, sans-serif); font-size: 13px; }
.aw-result-raw-lbl {
  margin-top: 10px; font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 10.5px;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted, #4a4942);
}
.aw-rev-item + .aw-rev-item { border-top: 1px solid var(--hairline, #E3E9F1); margin-top: 14px; padding-top: 14px; }
.aw-rev-item .aw-result-addr { font-size: 16px; margin-bottom: 10px; }
[data-theme="dark"] .aw-result-dev > summary, [data-theme="dark"] .aw-result-raw > summary { color: var(--muted, #8a897f); }
/* Japan two-stage flow (Task 7b; old autocomplete page's #ta-stage2 callout).
   Stage-2 (banchi-gō) indicator above the input; picking a navigate row is a
   free drill-down, not a pick. */
.aw-ac-stage2 {
  margin: 0 0 12px; padding: 10px 14px;
  border: 1px solid var(--hairline, #E3E9F1); border-left: 3px solid var(--accent, #007B82);
  border-radius: 8px; background: rgba(0, 123, 130, 0.04);
}
.aw-ac-stage2[hidden] { display: none; }
.aw-ac-stage2-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; }
.aw-ac-stage2-step {
  font-size: 11px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase;
  color: #fff; background: var(--accent, #007B82); border-radius: 999px; padding: 2px 8px;
}
.aw-ac-stage2-text { color: var(--ink-soft, #2a312f); }
.aw-ac-stage2-chip {
  font-weight: 600; color: var(--ink, #1a1f1e);
  background: var(--bg-elev, #FFFFFF); border: 1px solid var(--hairline, #E3E9F1);
  border-radius: 999px; padding: 3px 10px;
}
.aw-ac-stage2-clear {
  margin-left: auto; font-size: 12px; color: var(--accent, #007B82); background: none;
  border: none; cursor: pointer; text-decoration: underline; padding: 2px 4px; white-space: nowrap;
}
.aw-ac-stage2-hint { margin-top: 6px; font-size: 13px; color: var(--ink-soft, #2a312f); }
[data-theme="dark"] .aw-ac-stage2-clear { color: var(--teal-300, #7fb8b6); }
@media (max-width: 680px) {
  .aw-fields { grid-template-columns: 1fr; }
}

/* ---- country dropdown with flag images (acuris-widget.js countrySelect) ---- */
.aw-cc { position: relative; min-width: 0; }
.aw-cc-native { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); }
.aw-cc-btn {
  display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; cursor: pointer; box-sizing: border-box;
  padding: 11px 12px; border-radius: 8px; border: 1px solid var(--hairline-strong, #D7DFEA); background: var(--bg, #FFFFFF);
  font-family: var(--font-body, 'Inter', system-ui, sans-serif); font-size: 14px; color: var(--ink, #1a1f1e); transition: border-color 160ms ease;
}
.aw-cc-btn:focus-visible, .aw-cc-btn[aria-expanded="true"] { outline: none; border-color: var(--teal-800, #0e3b3a); }
.aw-cc-empty .aw-cc-name { color: var(--muted, #4a4942); }
.aw-fl.aw-fl-none { display: none; }   /* beats the generated .aw-fl rule below: an empty / unknown country shows no flag, not the first sprite cell */
.aw-cc-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aw-cc-chev { color: var(--muted, #4a4942); font-size: 11px; }
.aw-cc-pop {
  position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; min-width: 100%; width: max-content; max-width: min(92vw, 340px);
  background: var(--bg-elev, #FFFFFF); border: 1px solid var(--hairline-strong, #D7DFEA); border-radius: 10px;
  box-shadow: 0 12px 32px rgba(14, 45, 44, 0.18); overflow: hidden;
}
.aw-cc-list { margin: 0; padding: 4px 0; max-height: 300px; overflow-y: auto; outline: none; }
.aw-cc-group {
  padding: 8px 12px 4px; font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); font-size: 10.5px;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted, #4a4942);
}
.aw-cc-opt { display: flex; align-items: center; gap: 10px; padding: 8px 12px; cursor: pointer; font-size: 14px; color: var(--ink, #1a1f1e); }
.aw-cc-opt:hover, .aw-cc-opt.is-active { background: rgba(0, 123, 130, 0.09); }
.aw-cc-opt[aria-selected="true"] .aw-cc-name { font-weight: 600; }

/* FLAGS:BEGIN (generated by scripts/build_flag_sprite.py; do not edit by hand) */
.aw-fl { display: inline-block; flex: 0 0 auto; width: var(--w, 20px); height: calc(var(--w, 20px) * 0.75); vertical-align: middle;
  background-image: url('/assets/flags-sprite-v1.webp'); background-repeat: no-repeat;
  background-size: calc(var(--w, 20px) * 22) calc(var(--w, 20px) * 0.75 * 12);
  background-position: calc(var(--w, 20px) * var(--fx, 0) * -1) calc(var(--w, 20px) * 0.75 * var(--fy, 0) * -1);
  border-radius: 2px; box-shadow: 0 0 0 1px rgba(14, 45, 44, 0.12); }
.aw-fl-lg { --w: 40px; }
.aw-fl-ad{--fx:0;--fy:0}
.aw-fl-ae{--fx:1;--fy:0}
.aw-fl-af{--fx:2;--fy:0}
.aw-fl-ag{--fx:3;--fy:0}
.aw-fl-ai{--fx:4;--fy:0}
.aw-fl-al{--fx:5;--fy:0}
.aw-fl-am{--fx:6;--fy:0}
.aw-fl-ao{--fx:7;--fy:0}
.aw-fl-aq{--fx:8;--fy:0}
.aw-fl-ar{--fx:9;--fy:0}
.aw-fl-as{--fx:10;--fy:0}
.aw-fl-at{--fx:11;--fy:0}
.aw-fl-au{--fx:12;--fy:0}
.aw-fl-aw{--fx:13;--fy:0}
.aw-fl-ax{--fx:14;--fy:0}
.aw-fl-az{--fx:15;--fy:0}
.aw-fl-ba{--fx:16;--fy:0}
.aw-fl-bb{--fx:17;--fy:0}
.aw-fl-bd{--fx:18;--fy:0}
.aw-fl-be{--fx:19;--fy:0}
.aw-fl-bf{--fx:20;--fy:0}
.aw-fl-bg{--fx:21;--fy:0}
.aw-fl-bh{--fx:0;--fy:1}
.aw-fl-bi{--fx:1;--fy:1}
.aw-fl-bj{--fx:2;--fy:1}
.aw-fl-bl{--fx:3;--fy:1}
.aw-fl-bm{--fx:4;--fy:1}
.aw-fl-bn{--fx:5;--fy:1}
.aw-fl-bo{--fx:6;--fy:1}
.aw-fl-bq{--fx:7;--fy:1}
.aw-fl-br{--fx:8;--fy:1}
.aw-fl-bs{--fx:9;--fy:1}
.aw-fl-bt{--fx:10;--fy:1}
.aw-fl-bv{--fx:11;--fy:1}
.aw-fl-bw{--fx:12;--fy:1}
.aw-fl-by{--fx:13;--fy:1}
.aw-fl-bz{--fx:14;--fy:1}
.aw-fl-ca{--fx:15;--fy:1}
.aw-fl-cc{--fx:16;--fy:1}
.aw-fl-cd{--fx:17;--fy:1}
.aw-fl-cf{--fx:18;--fy:1}
.aw-fl-cg{--fx:19;--fy:1}
.aw-fl-ch{--fx:20;--fy:1}
.aw-fl-ci{--fx:21;--fy:1}
.aw-fl-ck{--fx:0;--fy:2}
.aw-fl-cl{--fx:1;--fy:2}
.aw-fl-cm{--fx:2;--fy:2}
.aw-fl-cn{--fx:3;--fy:2}
.aw-fl-co{--fx:4;--fy:2}
.aw-fl-cp{--fx:5;--fy:2}
.aw-fl-cr{--fx:6;--fy:2}
.aw-fl-cu{--fx:7;--fy:2}
.aw-fl-cv{--fx:8;--fy:2}
.aw-fl-cw{--fx:9;--fy:2}
.aw-fl-cx{--fx:10;--fy:2}
.aw-fl-cy{--fx:11;--fy:2}
.aw-fl-cz{--fx:12;--fy:2}
.aw-fl-de{--fx:13;--fy:2}
.aw-fl-dg{--fx:14;--fy:2}
.aw-fl-dj{--fx:15;--fy:2}
.aw-fl-dk{--fx:16;--fy:2}
.aw-fl-dm{--fx:17;--fy:2}
.aw-fl-do{--fx:18;--fy:2}
.aw-fl-dz{--fx:19;--fy:2}
.aw-fl-ec{--fx:20;--fy:2}
.aw-fl-ee{--fx:21;--fy:2}
.aw-fl-eg{--fx:0;--fy:3}
.aw-fl-eh{--fx:1;--fy:3}
.aw-fl-er{--fx:2;--fy:3}
.aw-fl-es{--fx:3;--fy:3}
.aw-fl-et{--fx:4;--fy:3}
.aw-fl-eu{--fx:5;--fy:3}
.aw-fl-fi{--fx:6;--fy:3}
.aw-fl-fj{--fx:7;--fy:3}
.aw-fl-fk{--fx:8;--fy:3}
.aw-fl-fm{--fx:9;--fy:3}
.aw-fl-fo{--fx:10;--fy:3}
.aw-fl-fr{--fx:11;--fy:3}
.aw-fl-ga{--fx:12;--fy:3}
.aw-fl-gb{--fx:13;--fy:3}
.aw-fl-gd{--fx:14;--fy:3}
.aw-fl-ge{--fx:15;--fy:3}
.aw-fl-gf{--fx:16;--fy:3}
.aw-fl-gg{--fx:17;--fy:3}
.aw-fl-gh{--fx:18;--fy:3}
.aw-fl-gi{--fx:19;--fy:3}
.aw-fl-gl{--fx:20;--fy:3}
.aw-fl-gm{--fx:21;--fy:3}
.aw-fl-gn{--fx:0;--fy:4}
.aw-fl-gp{--fx:1;--fy:4}
.aw-fl-gq{--fx:2;--fy:4}
.aw-fl-gr{--fx:3;--fy:4}
.aw-fl-gs{--fx:4;--fy:4}
.aw-fl-gt{--fx:5;--fy:4}
.aw-fl-gu{--fx:6;--fy:4}
.aw-fl-gw{--fx:7;--fy:4}
.aw-fl-gy{--fx:8;--fy:4}
.aw-fl-hk{--fx:9;--fy:4}
.aw-fl-hm{--fx:10;--fy:4}
.aw-fl-hn{--fx:11;--fy:4}
.aw-fl-hr{--fx:12;--fy:4}
.aw-fl-ht{--fx:13;--fy:4}
.aw-fl-hu{--fx:14;--fy:4}
.aw-fl-ic{--fx:15;--fy:4}
.aw-fl-id{--fx:16;--fy:4}
.aw-fl-ie{--fx:17;--fy:4}
.aw-fl-il{--fx:18;--fy:4}
.aw-fl-im{--fx:19;--fy:4}
.aw-fl-in{--fx:20;--fy:4}
.aw-fl-io{--fx:21;--fy:4}
.aw-fl-iq{--fx:0;--fy:5}
.aw-fl-ir{--fx:1;--fy:5}
.aw-fl-is{--fx:2;--fy:5}
.aw-fl-it{--fx:3;--fy:5}
.aw-fl-je{--fx:4;--fy:5}
.aw-fl-jm{--fx:5;--fy:5}
.aw-fl-jo{--fx:6;--fy:5}
.aw-fl-jp{--fx:7;--fy:5}
.aw-fl-ke{--fx:8;--fy:5}
.aw-fl-kg{--fx:9;--fy:5}
.aw-fl-kh{--fx:10;--fy:5}
.aw-fl-ki{--fx:11;--fy:5}
.aw-fl-km{--fx:12;--fy:5}
.aw-fl-kn{--fx:13;--fy:5}
.aw-fl-kp{--fx:14;--fy:5}
.aw-fl-kr{--fx:15;--fy:5}
.aw-fl-kw{--fx:16;--fy:5}
.aw-fl-ky{--fx:17;--fy:5}
.aw-fl-kz{--fx:18;--fy:5}
.aw-fl-la{--fx:19;--fy:5}
.aw-fl-lb{--fx:20;--fy:5}
.aw-fl-lc{--fx:21;--fy:5}
.aw-fl-li{--fx:0;--fy:6}
.aw-fl-lk{--fx:1;--fy:6}
.aw-fl-lr{--fx:2;--fy:6}
.aw-fl-ls{--fx:3;--fy:6}
.aw-fl-lt{--fx:4;--fy:6}
.aw-fl-lu{--fx:5;--fy:6}
.aw-fl-lv{--fx:6;--fy:6}
.aw-fl-ly{--fx:7;--fy:6}
.aw-fl-ma{--fx:8;--fy:6}
.aw-fl-mc{--fx:9;--fy:6}
.aw-fl-md{--fx:10;--fy:6}
.aw-fl-me{--fx:11;--fy:6}
.aw-fl-mf{--fx:12;--fy:6}
.aw-fl-mg{--fx:13;--fy:6}
.aw-fl-mh{--fx:14;--fy:6}
.aw-fl-mk{--fx:15;--fy:6}
.aw-fl-ml{--fx:16;--fy:6}
.aw-fl-mm{--fx:17;--fy:6}
.aw-fl-mn{--fx:18;--fy:6}
.aw-fl-mo{--fx:19;--fy:6}
.aw-fl-mp{--fx:20;--fy:6}
.aw-fl-mq{--fx:21;--fy:6}
.aw-fl-mr{--fx:0;--fy:7}
.aw-fl-ms{--fx:1;--fy:7}
.aw-fl-mt{--fx:2;--fy:7}
.aw-fl-mu{--fx:3;--fy:7}
.aw-fl-mv{--fx:4;--fy:7}
.aw-fl-mw{--fx:5;--fy:7}
.aw-fl-mx{--fx:6;--fy:7}
.aw-fl-my{--fx:7;--fy:7}
.aw-fl-mz{--fx:8;--fy:7}
.aw-fl-na{--fx:9;--fy:7}
.aw-fl-nc{--fx:10;--fy:7}
.aw-fl-ne{--fx:11;--fy:7}
.aw-fl-nf{--fx:12;--fy:7}
.aw-fl-ng{--fx:13;--fy:7}
.aw-fl-ni{--fx:14;--fy:7}
.aw-fl-nl{--fx:15;--fy:7}
.aw-fl-no{--fx:16;--fy:7}
.aw-fl-np{--fx:17;--fy:7}
.aw-fl-nr{--fx:18;--fy:7}
.aw-fl-nu{--fx:19;--fy:7}
.aw-fl-nz{--fx:20;--fy:7}
.aw-fl-om{--fx:21;--fy:7}
.aw-fl-pa{--fx:0;--fy:8}
.aw-fl-pc{--fx:1;--fy:8}
.aw-fl-pe{--fx:2;--fy:8}
.aw-fl-pf{--fx:3;--fy:8}
.aw-fl-pg{--fx:4;--fy:8}
.aw-fl-ph{--fx:5;--fy:8}
.aw-fl-pk{--fx:6;--fy:8}
.aw-fl-pl{--fx:7;--fy:8}
.aw-fl-pm{--fx:8;--fy:8}
.aw-fl-pn{--fx:9;--fy:8}
.aw-fl-pr{--fx:10;--fy:8}
.aw-fl-ps{--fx:11;--fy:8}
.aw-fl-pt{--fx:12;--fy:8}
.aw-fl-pw{--fx:13;--fy:8}
.aw-fl-py{--fx:14;--fy:8}
.aw-fl-qa{--fx:15;--fy:8}
.aw-fl-re{--fx:16;--fy:8}
.aw-fl-ro{--fx:17;--fy:8}
.aw-fl-rs{--fx:18;--fy:8}
.aw-fl-ru{--fx:19;--fy:8}
.aw-fl-rw{--fx:20;--fy:8}
.aw-fl-sa{--fx:21;--fy:8}
.aw-fl-sb{--fx:0;--fy:9}
.aw-fl-sc{--fx:1;--fy:9}
.aw-fl-sd{--fx:2;--fy:9}
.aw-fl-se{--fx:3;--fy:9}
.aw-fl-sg{--fx:4;--fy:9}
.aw-fl-sh{--fx:5;--fy:9}
.aw-fl-si{--fx:6;--fy:9}
.aw-fl-sj{--fx:7;--fy:9}
.aw-fl-sk{--fx:8;--fy:9}
.aw-fl-sl{--fx:9;--fy:9}
.aw-fl-sm{--fx:10;--fy:9}
.aw-fl-sn{--fx:11;--fy:9}
.aw-fl-so{--fx:12;--fy:9}
.aw-fl-sr{--fx:13;--fy:9}
.aw-fl-ss{--fx:14;--fy:9}
.aw-fl-st{--fx:15;--fy:9}
.aw-fl-sv{--fx:16;--fy:9}
.aw-fl-sx{--fx:17;--fy:9}
.aw-fl-sy{--fx:18;--fy:9}
.aw-fl-sz{--fx:19;--fy:9}
.aw-fl-tc{--fx:20;--fy:9}
.aw-fl-td{--fx:21;--fy:9}
.aw-fl-tf{--fx:0;--fy:10}
.aw-fl-tg{--fx:1;--fy:10}
.aw-fl-th{--fx:2;--fy:10}
.aw-fl-tj{--fx:3;--fy:10}
.aw-fl-tk{--fx:4;--fy:10}
.aw-fl-tl{--fx:5;--fy:10}
.aw-fl-tm{--fx:6;--fy:10}
.aw-fl-tn{--fx:7;--fy:10}
.aw-fl-to{--fx:8;--fy:10}
.aw-fl-tr{--fx:9;--fy:10}
.aw-fl-tt{--fx:10;--fy:10}
.aw-fl-tv{--fx:11;--fy:10}
.aw-fl-tw{--fx:12;--fy:10}
.aw-fl-tz{--fx:13;--fy:10}
.aw-fl-ua{--fx:14;--fy:10}
.aw-fl-ug{--fx:15;--fy:10}
.aw-fl-um{--fx:16;--fy:10}
.aw-fl-un{--fx:17;--fy:10}
.aw-fl-us{--fx:18;--fy:10}
.aw-fl-uy{--fx:19;--fy:10}
.aw-fl-uz{--fx:20;--fy:10}
.aw-fl-va{--fx:21;--fy:10}
.aw-fl-vc{--fx:0;--fy:11}
.aw-fl-ve{--fx:1;--fy:11}
.aw-fl-vg{--fx:2;--fy:11}
.aw-fl-vi{--fx:3;--fy:11}
.aw-fl-vn{--fx:4;--fy:11}
.aw-fl-vu{--fx:5;--fy:11}
.aw-fl-wf{--fx:6;--fy:11}
.aw-fl-ws{--fx:7;--fy:11}
.aw-fl-xk{--fx:8;--fy:11}
.aw-fl-xx{--fx:9;--fy:11}
.aw-fl-ye{--fx:10;--fy:11}
.aw-fl-yt{--fx:11;--fy:11}
.aw-fl-za{--fx:12;--fy:11}
.aw-fl-zm{--fx:13;--fy:11}
.aw-fl-zw{--fx:14;--fy:11}
/* FLAGS:END */

/* UK price splash on the public UK demo cards: a tilted starburst sticker, top-right, to catch the eye (2026-10-10) */
.aw-root.aw-has-splash { position: relative; }
.aw-price-splash {
  position: absolute; top: -80px; right: -6px; z-index: 3; display: block;
  width: 112px; height: 112px; text-decoration: none; transform: rotate(10deg);
  filter: drop-shadow(0 3px 5px rgba(14, 59, 58, 0.35));
  animation: aw-splash-wobble 3.2s ease-in-out infinite;
}
.aw-price-splash-burst {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 100%; height: 100%; text-align: center; line-height: 1.05;
  background: #FFC928; color: #0e3b3a;
  clip-path: polygon(50.0% 0.0%,58.0% 9.8%,69.1% 3.8%,72.8% 15.9%,85.4% 14.6%,84.1% 27.2%,96.2% 30.9%,90.2% 42.0%,100.0% 50.0%,90.2% 58.0%,96.2% 69.1%,84.1% 72.8%,85.4% 85.4%,72.8% 84.1%,69.1% 96.2%,58.0% 90.2%,50.0% 100.0%,42.0% 90.2%,30.9% 96.2%,27.2% 84.1%,14.6% 85.4%,15.9% 72.8%,3.8% 69.1%,9.8% 58.0%,0.0% 50.0%,9.8% 42.0%,3.8% 30.9%,15.9% 27.2%,14.6% 14.6%,27.2% 15.9%,30.9% 3.8%,42.0% 9.8%);
}
.aw-ps-from { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }
.aw-ps-fig { font-size: 25px; font-weight: 900; letter-spacing: -0.02em; margin: 1px 0; }
.aw-ps-unit { font-size: 10px; font-weight: 700; max-width: 66px; }
.aw-price-splash:hover { animation-play-state: paused; transform: rotate(4deg) scale(1.06); }
@keyframes aw-splash-wobble { 0%, 100% { transform: rotate(10deg) scale(1); } 50% { transform: rotate(5deg) scale(1.07); } }
@media (prefers-reduced-motion: reduce) { .aw-price-splash { animation: none; } }
@media (max-width: 420px) { .aw-price-splash { width: 76px; height: 76px; top: -112px; right: -6px; } .aw-ps-from { font-size: 9px; } .aw-ps-fig { font-size: 18px; } .aw-ps-unit { font-size: 8px; max-width: 50px; } }
