/* Hindi and other Devanagari text on every device (self-hosted, SIL Open Font License: public/fonts/noto-sans-devanagari/OFL.txt).
   The unicode-range means browsers download it only for pages that contain Devanagari. */
@font-face {
    font-family: "Noto Sans Devanagari Web";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("/fonts/noto-sans-devanagari/NotoSansDevanagari-Variable-devanagari.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;
}
:root {
    --directory-canvas: #f1f5f9;
    --directory-surface: #ffffff;
    --directory-surface-subtle: #f8fafc;
    --directory-border: #d8e1ea;
    --directory-text: #0f172a;
    --directory-muted: #475569;
    --directory-brand: #0f766e;
    --directory-brand-strong: #115e59;
    --directory-button-hover: #0b5e58;
    --directory-accent: #0f766e;
    --directory-category: #7c3aed;
    --directory-highlight: #f59e0b;
    --directory-success: #16a34a;
    --directory-heading: #0f172a;
    --directory-secondary-bg: #f0fdfa;
    --directory-secondary-border: #99f6e4;
    --directory-secondary-text: #115e59;
    --directory-secondary-hover-bg: #ccfbf1;
    --directory-danger-bg: #fff1f2;
    --directory-danger-border: #fecaca;
    --directory-danger-text: #b91c1c;
    --directory-danger-hover-bg: #ffe4e6;
    --directory-category-bg: #f1ebff;
    --directory-category-border: #ddd6fe;
    --directory-category-text: #5b21b6;
    --directory-success-bg: #f0fdf4;
    --directory-success-border: #bbf7d0;
    --directory-success-text: #166534;
    --directory-warning-bg: #fffbeb;
    --directory-warning-border: #fbbf24;
    --directory-warning-text: #78350f;
    --directory-step-current-bg: #f0fdfa;
    --directory-step-current-border: #99f6e4;
    --directory-danger: #a62929;
    --directory-shadow: 0 12px 34px rgb(19 35 58 / 8%);
    --directory-header-start: #0f766e;
    --directory-header-end: #134e4a;
    --directory-control-border: #94a3b8;
    --directory-control-border-hover: #64748b;
    --directory-menu-shadow: 0 12px 28px rgb(15 23 42 / 14%);
    --directory-tag-bg: #e6f4f2;
    --directory-tag-text: #115e59;
    --directory-alert-bg: #e7f6ed;
    --directory-alert-border: #a8d9c0;
    --directory-alert-text: #17583e;
    --directory-secondary-hover: #ccfbf1;
    --directory-font-family: var(--erp-font-sans, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif), "Noto Sans Devanagari Web", "Noto Sans Devanagari", sans-serif;
    --directory-type-title: clamp(1.9rem, 3vw, 2.125rem);
    --directory-type-section: 1.125rem;
    --directory-type-body: .9375rem;
    --directory-type-label: .875rem;
    --directory-space-1: .5rem;
    --directory-space-2: 1rem;
    --directory-space-3: 1.5rem;
    --directory-radius-control: .625rem;
    --directory-radius-card: .875rem;
    --directory-card-padding: clamp(18px, 2vw, 24px);
    --directory-shadow-card: 0 2px 8px rgb(15 23 42 / 4%);
    --directory-focus-ring: 0 0 0 3px rgb(37 99 235 / 18%);
    --directory-wizard-width: 1120px;
    --directory-wizard-gutter: 24px;
    --directory-section-gap: 16px;
    --directory-control-height: 44px;
    --directory-step-marker-size: 34px;
    --directory-step-marker-center: 17px;
    color-scheme: light;
    font-family: var(--directory-font-family);
    color: var(--directory-text);
    background: var(--directory-canvas);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--directory-canvas); color: var(--directory-text); }
a { color: var(--directory-brand-strong); }
a:hover { color: var(--directory-brand); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--directory-accent); outline-offset: 2px; }

.directory-header { background: var(--directory-brand-strong); color: #f7fffd; box-shadow: 0 2px 8px rgb(15 23 42 / 10%); }
.directory-location-picker { display: grid; gap: .75rem; padding: 1rem; border: 1px solid var(--directory-border); border-radius: .85rem; background: var(--directory-surface-subtle); }
.directory-location-picker[hidden], .directory-map-frame[hidden], .directory-place-search[hidden] { display: none; }
.directory-map-frame { width: 100%; min-height: 300px; overflow: hidden; border: 1px solid var(--directory-border); border-radius: .7rem; background: var(--directory-canvas); }
.directory-place-search { display: block; width: 100%; }
.directory-place-search gmp-place-autocomplete { width: 100%; --gmpx-color-surface: var(--directory-surface); --gmpx-color-on-surface: var(--directory-text); }
.directory-map-actions { flex-wrap: wrap; align-items: center; gap: .7rem; }
.directory-coordinate-confirmation { align-items: flex-start; }
.directory-coordinate-details { border-top: 1px solid var(--directory-border); padding-top: .65rem; }
.directory-advanced-fields { border-top: 1px solid var(--directory-border); padding-top: .7rem; }
.directory-advanced-fields > summary { cursor: pointer; color: var(--directory-brand-strong); font-weight: 700; padding: .35rem 0; }
.directory-copy-hours { margin-bottom: .75rem; }
[data-location-picker-status] { min-height: 1.4em; }
@media (max-width: 600px) { .directory-map-frame { min-height: 250px; } .directory-map-actions > * { flex: 1 1 100%; } }
.directory-header a { color: inherit; text-decoration: none; }
.directory-nav { max-width: 1200px; margin: auto; display: flex; align-items: center; justify-content: space-between; padding: .9rem 1.25rem; gap: 1.25rem; }
.brand { display: inline-flex; flex-direction: column; gap: .12rem; min-width: max-content; }
.brand-name { font-size: 1.08rem; font-weight: 800; letter-spacing: -.01em; }
.brand-product { color: rgb(230 255 251 / 78%); font-size: .73rem; font-weight: 600; letter-spacing: .08em; }
.links { display: flex; align-items: center; justify-content: flex-end; gap: .35rem; flex-wrap: wrap; }
.links a, .link-button { border-radius: .5rem; padding: .48rem .68rem; font-size: .9rem; font-weight: 650; }
.links a:hover, .link-button:hover { background: rgb(255 255 255 / 14%); color: #fff; text-decoration: none; }
.link-button { appearance: none; border: 0; background: transparent; color: inherit; cursor: pointer; }
main { max-width: 1200px; margin: auto; padding: 2.25rem 1.25rem 5rem; }
h1 { font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.12; letter-spacing: -.035em; margin: .25rem 0 1rem; }
h2 { font-size: 1.45rem; letter-spacing: -.015em; }
h3 { margin-bottom: .45rem; }
.lead { max-width: 720px; color: var(--directory-muted); font-size: 1.12rem; line-height: 1.65; }
.hero { padding: 1.25rem 0 1.75rem; }
.panel, .card { background: var(--directory-surface); border: 1px solid var(--directory-border); border-radius: 1rem; padding: 1.35rem; box-shadow: var(--directory-shadow); }
.form-narrow { max-width: 520px; }
.form-medium { max-width: 680px; }
.directory-logo-sm { width: 96px; max-height: 96px; object-fit: contain; }
.directory-logo-lg { width: 120px; max-height: 120px; object-fit: contain; }
.preserve-lines { white-space: pre-line; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.directory-search-hero { padding: 1.5rem 0 1.75rem; }
.directory-hero-search { display: flex; max-width: 760px; margin-top: 1.25rem; gap: .55rem; }
.directory-hero-search input { min-height: 3rem; border-radius: .65rem; }
.directory-hero-search button { min-height: 3rem; white-space: nowrap; }
.directory-results-layout { display: grid; grid-template-columns: minmax(230px, 270px) minmax(0, 1fr); gap: 1.35rem; align-items: start; }
.directory-filter-panel { position: sticky; top: 1rem; display: grid; gap: 1rem; padding: 1.05rem; background: var(--directory-surface); border: 1px solid var(--directory-border); border-radius: .9rem; box-shadow: 0 8px 24px rgb(19 35 58 / 6%); }
.directory-filter-heading, .directory-results-toolbar, .directory-card-top, .directory-card-footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.directory-filter-heading > div { display: grid; gap: .2rem; }
.directory-filter-heading a, .directory-clear-chip { font-size: .8rem; font-weight: 700; }
.directory-filter-group { display: grid; gap: .65rem; margin: 0; padding: 0 0 1rem; border: 0; border-bottom: 1px solid var(--directory-border); }
.directory-filter-group legend { margin-bottom: .2rem; color: var(--directory-text); font-size: .85rem; font-weight: 800; }
.directory-filter-search { padding: .55rem .65rem; font-size: .85rem; }
.directory-check-list { display: grid; gap: .42rem; max-height: 155px; overflow: auto; padding-right: .25rem; }
.directory-check-list label { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: .55rem; font-size: .84rem; font-weight: 550; }
.directory-check-list input { width: 1rem; height: 1rem; accent-color: var(--directory-brand); }
.directory-open-filter { font-size: .84rem; }
.directory-results { min-width: 0; }
.directory-results-toolbar { min-height: 2.7rem; margin-bottom: .7rem; }
.directory-sort { display: flex; align-items: center; gap: .45rem; font-size: .82rem; white-space: nowrap; }
.directory-sort select { width: auto; padding: .48rem .6rem; }
.directory-filter-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.directory-filter-chips > * { display: inline-flex; align-items: center; gap: .25rem; padding: .35rem .55rem; border-radius: 999px; background: var(--directory-surface-subtle); border: 1px solid var(--directory-border); color: var(--directory-muted); font-size: .78rem; }
.directory-filter-chips a { color: var(--directory-brand-strong); text-decoration: none; }
.directory-result-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1rem; }
.directory-result-card { display: flex; min-height: 220px; flex-direction: column; gap: .6rem; padding: 1.15rem; background: var(--directory-surface); border: 1px solid var(--directory-border); border-radius: .9rem; box-shadow: 0 8px 24px rgb(19 35 58 / 6%); }
.directory-result-card h2 { margin: .35rem 0 0; font-size: 1.15rem; }
.directory-result-card h2 a { color: var(--directory-text); text-decoration: none; }
.directory-result-card h2 a:hover { color: var(--directory-brand-strong); }
.directory-card-description { display: -webkit-box; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.directory-offering-preview { margin: auto 0 0; color: var(--directory-brand-strong); font-size: .8rem; font-weight: 650; }
.directory-card-footer { margin-top: .45rem; padding-top: .75rem; border-top: 1px solid var(--directory-border); }
.directory-card-footer a { font-size: .86rem; font-weight: 750; text-decoration: none; }
.directory-empty { padding: 3rem 1.5rem; text-align: center; }
.directory-empty-icon { display: grid; width: 2.7rem; height: 2.7rem; margin: 0 auto .8rem; place-items: center; border-radius: 50%; background: var(--directory-surface-subtle); color: var(--directory-brand); font-size: 1.6rem; }
.directory-filter-toggle { display: none; }
.directory-profile-types { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .55rem; }
.card { box-shadow: 0 8px 24px rgb(19 35 58 / 6%); }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1rem; }
.stack { display: grid; gap: 1rem; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1rem; }
label { display: grid; gap: .4rem; color: var(--directory-text); font-size: .9rem; font-weight: 650; }
input, select, textarea, button { font: inherit; }
input, select, textarea { width: 100%; border: 1px solid var(--directory-control-border); border-radius: .55rem; padding: .7rem .75rem; background: var(--directory-surface); color: var(--directory-text); }
input::placeholder, textarea::placeholder { color: var(--directory-muted); opacity: .85; }
textarea { min-height: 110px; resize: vertical; }
.check { display: flex; align-items: center; gap: .5rem; }
.check input { width: auto; accent-color: var(--directory-brand); }
.button, button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.7rem; background: var(--directory-brand); color: #fff; border: 0; border-radius: .55rem; padding: .7rem 1rem; font-weight: 750; text-decoration: none; cursor: pointer; }
.button:hover, button:hover { background: var(--directory-button-hover); color: #fff; text-decoration: none; }
button.is-loading { opacity: .78; cursor: progress; }
.button.secondary { background: var(--directory-surface-subtle); border: 1px solid var(--directory-border); color: var(--directory-brand-strong); }
.button.secondary:hover { background: var(--directory-secondary-hover); }
.muted { color: var(--directory-muted); }
.error { color: var(--directory-danger); font-size: .85rem; }
.alert { padding: 1rem; border: 1px solid var(--directory-alert-border); border-radius: .7rem; background: var(--directory-alert-bg); color: var(--directory-alert-text); margin-bottom: 1rem; }
.tag { display: inline-flex; align-items: center; border-radius: 999px; background: var(--directory-tag-bg); padding: .3rem .7rem; color: var(--directory-tag-text); font-size: .78rem; font-weight: 750; }
.card h2 { margin: .6rem 0; }
.card a { text-decoration: none; }
.row { display: flex; gap: .7rem; align-items: center; flex-wrap: wrap; }
.section { margin-top: 2rem; }
.small { font-size: .85rem; }
.pagination { margin-top: 1.5rem; }
footer { padding: 2rem; color: var(--directory-muted); text-align: center; }

/* Directory appearance is controlled only by this page's preference. */
html[data-directory-theme="light"] { color-scheme: light; }
html[data-directory-theme="dark"] {
    color-scheme: dark;
    --directory-canvas: #0d1420;
    --directory-surface: #172334;
    --directory-surface-subtle: #1d2b3d;
    --directory-border: #3d5065;
    --directory-text: #edf3fa;
    --directory-muted: #c4d0dd;
    --directory-brand: #0f766e;
    --directory-brand-strong: #b0e5dc;
    --directory-button-hover: #0c5f58;
    --directory-accent: #2dd4bf;
    --directory-danger: #fca5a5;
    --directory-category: #c4b5fd;
    --directory-highlight: #fbbf24;
    --directory-success: #4ade80;
    --directory-heading: #edf3fa;
    --directory-secondary-bg: #0f2f2c;
    --directory-secondary-border: #1f6f66;
    --directory-secondary-text: #99f6e4;
    --directory-secondary-hover-bg: #134e48;
    --directory-danger-bg: #3b2025;
    --directory-danger-border: #7f333c;
    --directory-danger-text: #fecaca;
    --directory-danger-hover-bg: #51262d;
    --directory-category-bg: #29233d;
    --directory-category-border: #5b4a85;
    --directory-category-text: #ddd6fe;
    --directory-success-bg: #153329;
    --directory-success-border: #286344;
    --directory-success-text: #bbf7d0;
    --directory-warning-bg: #382c18;
    --directory-warning-border: #8f6827;
    --directory-warning-text: #fde68a;
    --directory-step-current-bg: #0f2f2c;
    --directory-step-current-border: #1f6f66;
    --directory-shadow: 0 12px 34px rgb(0 0 0 / 24%);
    --directory-header-start: #102e32;
    --directory-header-end: #164e4a;
    --directory-control-border: #60758d;
    --directory-control-border-hover: #8aa0b8;
    --directory-menu-shadow: 0 14px 30px rgb(0 0 0 / 36%);
    --directory-tag-bg: #164e4a;
    --directory-tag-text: #d6f2ed;
    --directory-alert-bg: #123f3c;
    --directory-alert-border: #2f765e;
    --directory-alert-text: #d6f2ed;
    --directory-secondary-hover: #23394a;
}
@media (prefers-color-scheme: dark) {
    html[data-directory-theme="system"], html:not([data-directory-theme]) {
        color-scheme: dark;
        --directory-canvas: #0d1420;
        --directory-surface: #172334;
        --directory-surface-subtle: #1d2b3d;
        --directory-border: #3d5065;
        --directory-text: #edf3fa;
        --directory-muted: #c4d0dd;
        --directory-brand: #0f766e;
        --directory-brand-strong: #b0e5dc;
        --directory-button-hover: #0c5f58;
        --directory-accent: #2dd4bf;
        --directory-danger: #fca5a5;
        --directory-category: #c4b5fd;
        --directory-highlight: #fbbf24;
        --directory-success: #4ade80;
        --directory-heading: #edf3fa;
        --directory-secondary-bg: #0f2f2c;
        --directory-secondary-border: #1f6f66;
        --directory-secondary-text: #99f6e4;
        --directory-secondary-hover-bg: #134e48;
        --directory-danger-bg: #3b2025;
        --directory-danger-border: #7f333c;
        --directory-danger-text: #fecaca;
        --directory-danger-hover-bg: #51262d;
        --directory-category-bg: #29233d;
        --directory-category-border: #5b4a85;
        --directory-category-text: #ddd6fe;
        --directory-success-bg: #153329;
        --directory-success-border: #286344;
        --directory-success-text: #bbf7d0;
        --directory-warning-bg: #382c18;
        --directory-warning-border: #8f6827;
        --directory-warning-text: #fde68a;
        --directory-step-current-bg: #0f2f2c;
        --directory-step-current-border: #1f6f66;
        --directory-shadow: 0 12px 34px rgb(0 0 0 / 24%);
        --directory-header-start: #102e32;
        --directory-header-end: #164e4a;
        --directory-control-border: #60758d;
        --directory-control-border-hover: #8aa0b8;
        --directory-menu-shadow: 0 14px 30px rgb(0 0 0 / 36%);
        --directory-tag-bg: #164e4a;
        --directory-tag-text: #d6f2ed;
        --directory-alert-bg: #123f3c;
        --directory-alert-border: #2f765e;
        --directory-alert-text: #d6f2ed;
        --directory-secondary-hover: #23394a;
    }
}
html[dir="rtl"] .directory-page { direction: rtl; }
html[dir="rtl"] .directory-nav, html[dir="rtl"] .directory-results-toolbar, html[dir="rtl"] .directory-card-top, html[dir="rtl"] .directory-card-footer { direction: rtl; }

/* Connecting Directory design system */
.directory-page {
    min-width: 320px;
    background: var(--directory-canvas);
    color: var(--directory-text);
    font-family: var(--directory-font-family);
    font-size: var(--directory-type-body);
    line-height: 1.55;
}
.directory-page main { width: min(100%, 1240px); padding: 32px var(--directory-wizard-gutter) 64px; }
.directory-page h1, .directory-page h2, .directory-page h3, .directory-page h4 { color: var(--directory-heading); }
.directory-page h1 { margin: 4px 0 8px; font-size: var(--directory-type-title); font-weight: 620; line-height: 1.2; letter-spacing: -.035em; }
.directory-page h2 { margin: 0; font-size: var(--directory-type-section); font-weight: 620; line-height: 1.35; letter-spacing: -.02em; }
.directory-page h3 { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.4; letter-spacing: -.012em; }
.directory-page h4 { margin: 16px 0 6px; font-size: 14px; font-weight: 600; }
.directory-page p { line-height: 1.55; }
.directory-page .lead { max-width: 70ch; margin: 0; color: var(--directory-muted); font-size: 15px; line-height: 1.55; }
.directory-page .muted { color: var(--directory-muted); }
.directory-page a { text-decoration-thickness: .08em; text-underline-offset: .18em; }
.directory-page :focus-visible { outline: 3px solid color-mix(in srgb, var(--directory-accent) 70%, white); outline-offset: 2px; }
.directory-page .directory-header { background: #123f46; color: #f8fafc; box-shadow: 0 1px 3px rgb(15 23 42 / 12%); }
.directory-page .directory-nav { width: min(100%, 1240px); min-height: 68px; padding: 10px 24px; gap: 20px; }
.directory-page .brand { position: relative; gap: 2px; padding-inline-start: 42px; }
.directory-page .brand::before { content: "K"; position: absolute; inset-inline-start: 0; top: 50%; display: grid; width: 32px; height: 32px; place-items: center; transform: translateY(-50%); border: 1px solid rgb(255 255 255 / 24%); border-radius: 9px; background: rgb(255 255 255 / 8%); color: #fff; font-size: 15px; font-weight: 700; }
.directory-page .brand-name { font-size: 15px; font-weight: 620; letter-spacing: -.02em; }
.directory-page .brand-product { color: #cbdedb; font-size: 11px; font-weight: 500; letter-spacing: .04em; }
.directory-page .links { flex: 1 1 auto; gap: 4px; }
.directory-page .links form { display: flex; margin: 0; }
.directory-page .links a, .directory-page .link-button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 10px; border: 1px solid transparent; border-radius: 8px; font-size: 13px; font-weight: 520; line-height: 1.25; white-space: nowrap; }
.directory-page .links a:hover, .directory-page .link-button:hover { border-color: rgb(255 255 255 / 15%); background: rgb(255 255 255 / 8%); }
.directory-page .links .link-button { background: transparent; color: #dbe7e7; font-weight: 500; }
.directory-page .links .link-button:hover { color: #fff; }
.directory-page .directory-preference { display: inline-flex; min-height: 42px; align-items: center; gap: 7px; padding: 3px 5px 3px 10px; border: 1px solid rgb(255 255 255 / 16%); border-radius: 9px; background: rgb(255 255 255 / 5%); color: #dbe7e7; font-size: 11px; font-weight: 550; white-space: nowrap; transition: border-color .15s ease, background-color .15s ease; }
.directory-page .directory-preference:hover { border-color: rgb(255 255 255 / 28%); background: rgb(255 255 255 / 8%); }
.directory-page .directory-preference-label { line-height: 1.2; }
.directory-page .directory-preference select { --directory-muted: #c5d8d6; width: auto; min-width: 88px; max-width: 136px; min-height: 34px; padding: 6px 29px 6px 9px; border-color: rgb(255 255 255 / 18%); border-radius: 7px; background-color: #19474d; color: #f8fafc; color-scheme: dark; font-size: 12px; font-weight: 550; line-height: 1.2; }
.directory-page .directory-preference select:hover { border-color: rgb(255 255 255 / 40%); background-color: #20535a; }
.directory-page .directory-preference select:focus-visible { border-color: #99f6e4; outline: 0; box-shadow: 0 0 0 3px rgb(45 212 191 / 28%); }
.directory-page .directory-preference option { background: #fff; color: #0f172a; }
.directory-page .panel, .directory-page .card { border: 1px solid var(--directory-border); border-radius: var(--directory-radius-card); background: var(--directory-surface); box-shadow: var(--directory-shadow-card); }
.directory-page .panel { padding: clamp(18px, 2.4vw, 26px); }
.directory-page .card { padding: 18px; }
.directory-page .tag { min-height: 26px; padding: 4px 9px; border-radius: 999px; background: var(--directory-tag-bg); color: var(--directory-tag-text); font-size: 12px; font-weight: 550; }
.directory-page label { display: grid; gap: 6px; color: var(--directory-text); font-size: var(--directory-type-label); font-weight: 550; line-height: 1.4; }
.directory-page input, .directory-page select, .directory-page textarea, .directory-page button { font: inherit; }
.directory-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.directory-page select, .directory-page textarea {
    width: 100%; min-height: var(--directory-control-height); padding: 9px 12px; border: 1px solid var(--directory-control-border); border-radius: var(--directory-radius-control);
    background: var(--directory-surface); color: var(--directory-text); font-size: 14px; font-weight: 400;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.directory-page select:not([multiple]) {
    appearance: none;
    padding-inline-end: 36px;
    background-image: linear-gradient(45deg, transparent 50%, var(--directory-muted) 50%), linear-gradient(135deg, var(--directory-muted) 50%, transparent 50%);
    background-position: right 15px center, right 10px center;
    background-repeat: no-repeat;
    background-size: 5px 5px;
}
.directory-page select:not([multiple]):disabled { cursor: not-allowed; opacity: .7; }
.directory-page select[aria-invalid="true"], .directory-page input[aria-invalid="true"], .directory-page textarea[aria-invalid="true"] { border-color: var(--directory-danger); }
.directory-page textarea { min-height: 104px; resize: vertical; }
.directory-page input::placeholder, .directory-page textarea::placeholder { color: var(--directory-muted); opacity: .88; }
.directory-page input:hover, .directory-page select:hover, .directory-page textarea:hover { border-color: var(--directory-control-border-hover); }
.directory-page input:focus-visible, .directory-page select:focus-visible, .directory-page textarea:focus-visible { border-color: var(--directory-accent); outline: 0; box-shadow: 0 0 0 3px color-mix(in srgb, var(--directory-accent) 17%, transparent); }
.directory-page input[type="checkbox"], .directory-page input[type="radio"] { width: 16px; height: 16px; accent-color: var(--directory-brand); }
.directory-page fieldset { min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--directory-border); border-radius: 10px; }
.directory-page legend { padding: 0 5px; color: var(--directory-text); font-size: 14px; font-weight: 600; }
.directory-page .button, .directory-page button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--directory-control-height); padding: 9px 15px; border: 1px solid transparent; border-radius: 8px; background: var(--directory-brand); color: #fff; font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease; }
.directory-page .button:hover, .directory-page button:hover { background: var(--directory-button-hover); color: #fff; text-decoration: none; }
.directory-page .button:disabled, .directory-page button:disabled { border-color: var(--directory-border); background: var(--directory-surface-subtle); color: var(--directory-muted); cursor: not-allowed; box-shadow: none; }
.directory-page .button.secondary, .directory-page button.secondary { border-color: var(--directory-secondary-border); background: var(--directory-secondary-bg); color: var(--directory-secondary-text); box-shadow: none; }
.directory-page .button.secondary:hover, .directory-page button.secondary:hover:not(:disabled) { border-color: var(--directory-secondary-border); background: var(--directory-secondary-hover-bg); color: var(--directory-secondary-text); }
.directory-page .wizard-button-muted { border: 1px solid var(--directory-secondary-border); background: var(--directory-secondary-bg); color: var(--directory-secondary-text); }
.directory-page .wizard-button-muted:hover:not(:disabled) { background: var(--directory-secondary-hover-bg); color: var(--directory-secondary-text); }
.directory-page button.directory-danger, .directory-page [data-remove-offering], .directory-page form[data-confirm-image-remove] button { border-color: var(--directory-danger-border); background: var(--directory-danger-bg); color: var(--directory-danger-text); }
.directory-page button.directory-danger:hover, .directory-page [data-remove-offering]:hover, .directory-page form[data-confirm-image-remove] button:hover { border-color: var(--directory-danger-border); background: var(--directory-danger-hover-bg); color: var(--directory-danger-text); }
.directory-page .error { display: block; color: var(--directory-danger); font-size: 13px; font-weight: 500; }
.directory-page .alert { margin-bottom: 16px; padding: 13px 15px; border: 1px solid var(--directory-alert-border); border-radius: 9px; background: var(--directory-alert-bg); color: var(--directory-alert-text); }
.directory-page footer { padding: 24px; border-top: 1px solid var(--directory-border); background: var(--directory-surface); color: var(--directory-muted); text-align: center; }
.directory-page .section { margin-top: 24px; }
.directory-page .row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.directory-page .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.directory-page .stack { display: grid; gap: 16px; }
/* Turnstile (interaction-only): an empty box takes no space; it only opens up when Cloudflare asks for a click. */
.stack > .directory-turnstile { align-self: start; margin-bottom: -16px; }
.stack > .directory-turnstile.is-interactive { margin-bottom: 0; }
.directory-page .check { display: flex; align-items: center; gap: 9px; min-height: 40px; color: var(--directory-text); font-size: 13px; font-weight: 500; }
.directory-page .check input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; }
.directory-page .small { font-size: 12px; }
.directory-page .muted.small { line-height: 1.45; }
.directory-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Seven-step wizard frame and progress */
.directory-page .wizard-head, .directory-page .wizard-progress, .directory-page .wizard-errors,
.directory-page .wizard-panel, .directory-page .wizard-operations, .directory-page > main > .wizard-actions { width: min(100%, var(--directory-wizard-width)); max-width: var(--directory-wizard-width); margin-inline: auto; }
.directory-page { font-family: var(--directory-font-family); font-size: var(--directory-type-body); line-height: 1.55; }
.directory-page h1 { color: var(--directory-heading); font-size: var(--directory-type-title); font-weight: 620; letter-spacing: -.035em; line-height: 1.2; }
.directory-page h2 { color: var(--directory-heading); font-size: var(--directory-type-section); font-weight: 600; line-height: 1.35; }
.directory-page h3 { color: var(--directory-heading); font-weight: 600; line-height: 1.4; }
.directory-page label { font-size: var(--directory-type-label); font-weight: 520; line-height: 1.4; }
.directory-page input, .directory-page select, .directory-page textarea { border-radius: var(--directory-radius-control); }
.directory-page input:focus, .directory-page select:focus, .directory-page textarea:focus { box-shadow: var(--directory-focus-ring); }
.directory-page .panel, .directory-page .card { border-radius: var(--directory-radius-card); }
.directory-page .wizard-head { margin-bottom: 12px; }
.directory-page .wizard-head > .tag { margin-bottom: 8px; background: var(--directory-secondary-bg); color: var(--directory-secondary-text); }
.directory-page .wizard-head h1 { margin: 4px 0 6px; }
.directory-page .wizard-head .lead { margin: 0; }
.directory-page .wizard-head > .muted { max-width: 78ch; margin: 8px 0 0; font-size: 13px; }
.directory-page .wizard-progress { margin-block: 18px 24px; padding: 0; overflow: visible; }
.directory-page .wizard-progress ol { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.directory-page .wizard-step { position: relative; display: grid; grid-template-rows: var(--directory-step-marker-size) auto; align-content: start; justify-items: center; gap: 7px; min-width: 0; min-height: 78px; padding-inline: 8px; border: 0; border-radius: 0; color: var(--directory-muted); }
.directory-page .wizard-step-connector { position: absolute; z-index: 0; inset-inline-start: 50%; inset-inline-end: -50%; top: var(--directory-step-marker-center); height: 2px; background: var(--directory-border); }
.directory-page .wizard-step-connector.is-complete { background: color-mix(in srgb, var(--directory-success) 62%, var(--directory-border)); }
.directory-page .wizard-step:last-child .wizard-step-connector { display: none; }
.directory-page .wizard-step-mark { position: relative; z-index: 1; display: grid; width: var(--directory-step-marker-size); height: var(--directory-step-marker-size); place-items: center; border: 1px solid var(--directory-border); border-radius: 50%; background: var(--directory-surface); color: var(--directory-muted); font-size: 13px; font-weight: 550; box-shadow: 0 0 0 4px var(--directory-canvas); }
.directory-page .wizard-step-copy { display: block; width: 100%; min-width: 0; }
.directory-page .wizard-step-label { display: block; overflow-wrap: anywhere; color: var(--directory-secondary-text); font-size: 13px; font-weight: 520; line-height: 1.4; text-align: center; }
.directory-page .wizard-step.is-complete .wizard-step-mark { border-color: color-mix(in srgb, var(--directory-success) 46%, var(--directory-border)); background: var(--directory-success-bg); color: var(--directory-success-text); font-size: 15px; }
.directory-page .wizard-step.is-complete .wizard-step-label { color: var(--directory-muted); }
.directory-page .wizard-step.is-current .wizard-step-mark { border-color: var(--directory-accent); background: var(--directory-accent); color: #fff; box-shadow: 0 0 0 4px var(--directory-secondary-bg); }
.directory-page .wizard-step.is-current .wizard-step-label { color: var(--directory-accent); font-weight: 650; }
.directory-page .wizard-step.is-upcoming .wizard-step-mark { background: var(--directory-surface-subtle); }
.directory-page .wizard-step.is-upcoming .wizard-step-label { color: var(--directory-muted); }
.directory-page .wizard-step.is-skipped .wizard-step-mark { border-color: var(--directory-warning-border); color: var(--directory-warning-text); }
.directory-page .wizard-progress-mobile { display: none; }
.directory-page .wizard-panel { display: grid; min-width: 0; gap: var(--directory-section-gap); padding: var(--directory-card-padding); border-radius: 12px; background: var(--directory-surface); box-shadow: var(--directory-shadow-card); }
.directory-page .wizard-panel > *, .directory-page .wizard-panel label { min-width: 0; }
.directory-page .wizard-panel input, .directory-page .wizard-panel select, .directory-page .wizard-panel textarea { min-width: 0; max-width: 100%; }
.directory-page .wizard-panel > h2 { margin: 0; }
.directory-page .wizard-panel > .muted { max-width: 78ch; margin: -8px 0 0; font-size: 13px; }
.directory-page .wizard-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; max-width: none; margin: 4px 0 0; padding-top: 16px; border-top: 1px solid var(--directory-border); }
.directory-page .wizard-actions .wizard-back { margin-inline-end: auto; border-color: transparent; background: transparent; color: var(--directory-muted); }
.directory-page .wizard-actions .wizard-back:hover { border-color: var(--directory-border); background: var(--directory-surface-subtle); color: var(--directory-text); }
.directory-page .wizard-actions button[name="action"][value="continue"] { border-color: var(--directory-brand); background: var(--directory-brand); color: #fff; }
.directory-page .wizard-actions button[name="action"][value="continue"]:hover { background: var(--directory-button-hover); }
.directory-page .wizard-actions button[name="action"][value="publish"] { border-color: #15803d; background: #16a34a; color: #fff; }
.directory-page .wizard-actions button[name="action"][value="publish"]:hover { background: #15803d; }
.directory-page .wizard-actions .wizard-button-muted { border-color: var(--directory-secondary-border); background: var(--directory-secondary-bg); color: var(--directory-secondary-text); }
.directory-page .wizard-actions .wizard-button-muted:hover:not(:disabled) { background: var(--directory-secondary-hover-bg); color: var(--directory-secondary-text); }
.directory-page .wizard-errors { margin-bottom: 14px; border-color: var(--directory-danger-border); background: var(--directory-danger-bg); }
.directory-page .wizard-errors strong { color: var(--directory-danger-text); font-weight: 600; }

/* Step 1: compact, searchable industry choices */
.directory-page .wizard-panel:has(.industry-picker) > .muted { margin-top: -8px; }
.directory-page .industry-picker { display: grid; gap: 14px; }
.directory-page .industry-picker-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 6px 14px; }
.directory-page .industry-picker-search label { grid-column: 1 / -1; }
.directory-page .industry-picker-search input { min-height: 44px; }
.directory-page .industry-picker-search [data-industry-count] { padding-bottom: 11px; white-space: nowrap; font-size: 12px; }
.directory-page .industry-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.directory-page .industry-grid legend { margin-bottom: 8px; padding: 0 0 4px; color: var(--directory-text); font-size: 13px; font-weight: 550; }
.directory-page .industry-grid legend .small { margin-inline-start: 5px; font-weight: 400; }
.directory-page .industry-card { position: relative; display: flex; align-items: flex-start; gap: 9px; min-width: 0; min-height: 68px; padding: 10px 11px; border: 1px solid var(--directory-border); border-radius: 9px; background: var(--directory-surface); cursor: pointer; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.directory-page .industry-card:hover { border-color: #8ca9d9; background: var(--directory-surface-subtle); }
.directory-page .industry-card:focus-within { outline: 3px solid color-mix(in srgb, var(--directory-accent) 24%, transparent); outline-offset: 1px; }
.directory-page .industry-card.is-selected, .directory-page .industry-card:has(input:checked) { border-color: var(--directory-accent); background: var(--directory-secondary-bg); box-shadow: inset 0 0 0 1px var(--directory-accent); }
.directory-page .industry-card[hidden] { display: none; }
.directory-page .industry-card input { flex: 0 0 16px; width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--directory-accent); }
.directory-page .industry-card-content { display: grid; gap: 2px; min-width: 0; padding-inline-end: 0; }
.directory-page .industry-card-content strong { color: var(--directory-text); font-size: 13px; font-weight: 550; line-height: 1.35; }
.directory-page .industry-card-parent { color: var(--directory-muted); font-size: 11px; font-weight: 400; }
.directory-page .industry-card-description { display: -webkit-box; overflow: hidden; color: var(--directory-muted); font-size: 11px; font-weight: 400; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.directory-page .industry-card-selected { display: none; position: absolute; inset-inline-end: 7px; inset-block-end: 5px; color: var(--directory-secondary-text); font-size: 10px; font-weight: 500; }
.directory-page .industry-card.is-selected .industry-card-selected, .directory-page .industry-card:has(input:checked) .industry-card-selected { display: inline; }
.directory-page .industry-picker [data-industry-empty] { margin: 0; }

/* Step 2: identity and business-type selection */
.directory-page .wizard-panel fieldset { display: grid; gap: 8px; }
.directory-page .wizard-checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 8px; margin: 0; }
.directory-page .wizard-checks .check { min-width: 0; min-height: 44px; padding: 9px 11px; border: 1px solid var(--directory-border); border-radius: 8px; background: var(--directory-surface); cursor: pointer; }
.directory-page .wizard-checks .check:has(input:checked) { border-color: var(--directory-secondary-border); background: var(--directory-secondary-bg); color: var(--directory-secondary-text); }
.directory-page .wizard-checks .check:focus-within { outline: 3px solid color-mix(in srgb, var(--directory-accent) 22%, transparent); outline-offset: 1px; }

/* Step 3: map, address and contact privacy */
.directory-page .directory-location-picker { display: grid; min-width: 0; max-width: 100%; gap: 12px; padding: 14px; border: 1px solid var(--directory-border); border-radius: 10px; background: var(--directory-surface-subtle); }
.directory-page .directory-map-frame { min-height: 250px; border-color: var(--directory-border); border-radius: 8px; background: var(--directory-canvas); }
.directory-page .directory-place-search { display: block; min-width: 0; max-width: 100%; width: 100%; }
.directory-page .directory-place-search gmp-place-autocomplete { display: block; box-sizing: border-box; min-width: 0; max-width: 100%; width: 100%; --gmpx-color-surface: var(--directory-surface); --gmpx-color-on-surface: var(--directory-text); }
.directory-page .directory-map-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.directory-page .directory-coordinate-confirmation { align-items: flex-start; min-height: 44px; }
.directory-page .directory-coordinate-details { padding-top: 8px; border-top: 1px solid var(--directory-border); }
.directory-page .directory-coordinate-details > summary { min-height: 38px; color: var(--directory-muted); font-size: 12px; font-weight: 500; cursor: pointer; }
.directory-page .directory-location-picker [data-location-picker-status] { min-height: 1.4em; margin: 0; font-size: 12px; }

/* Step 4: dynamic, industry-scoped fields */
.directory-page .wizard-industry-details-panel { width: min(100%, 1120px); margin-top: 0; gap: 16px; }
.directory-page .wizard-industry-details-panel > .muted { max-width: 78ch; margin: -8px 0 0; line-height: 1.5; }
.directory-page .wizard-industry-details-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px 20px; }
.directory-page .directory-dynamic-field { display: grid; align-content: start; gap: 6px; min-width: 0; }
.directory-page .directory-dynamic-field > label { color: var(--directory-text); font-size: 13px; font-weight: 550; line-height: 1.4; }
.directory-page .directory-dynamic-field > input:not([type="checkbox"]):not([type="hidden"]),
.directory-page .directory-dynamic-field > select { min-height: 44px; padding: 9px 12px; border-radius: 8px; }
.directory-page .directory-dynamic-field[data-field-type="select"] > select { box-sizing: border-box; height: 44px; min-height: 44px; padding: 8px 12px; padding-inline-end: 36px; border: 1px solid var(--directory-control-border); border-radius: 8px; line-height: 1.3; vertical-align: middle; }
.directory-page .directory-dynamic-field [data-directory-option-error] { margin: 0; }
.directory-page .directory-multi-select { position: relative; min-width: 0; }
.directory-page .directory-multi-select-control { position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-height: 44px; padding: 4px 7px 4px 10px; border: 1px solid var(--directory-control-border); border-radius: 8px; background: var(--directory-surface); color: var(--directory-text); transition: border-color .15s ease, box-shadow .15s ease; }
.directory-page .directory-multi-select-control:hover { border-color: var(--directory-control-border-hover); }
.directory-page .directory-multi-select-control:has(input:disabled) { background: var(--directory-surface-subtle); color: var(--directory-muted); }
.directory-page .directory-multi-select-control:focus-within { border-color: var(--directory-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--directory-accent) 16%, transparent); }
.directory-page .directory-multi-select-entry { display: flex; align-items: center; align-content: center; flex: 1 1 100%; flex-wrap: wrap; gap: 4px 6px; min-width: 0; width: 100%; padding-inline-end: 38px; }
.directory-page .directory-dynamic-field .directory-multi-select .directory-multi-select-entry > input[type="search"] { flex: 1 1 110px; width: auto; min-width: 90px; min-height: 32px; padding: 5px 2px; border: 0; border-radius: 4px; outline: 0; box-shadow: none; background: transparent; color: inherit; font-size: 13px; }
.directory-page .directory-dynamic-field .directory-multi-select .directory-multi-select-entry > input[type="search"]:hover,
.directory-page .directory-dynamic-field .directory-multi-select .directory-multi-select-entry > input[type="search"]:focus-visible { border: 0; outline: 0; box-shadow: none; }
.directory-page .directory-selected-tags { display: contents; }
.directory-page .directory-selected-tag { display: inline-flex; align-items: center; gap: 3px; max-width: 100%; min-height: 27px; padding: 2px 4px 2px 9px; border: 1px solid var(--directory-secondary-border); border-radius: 999px; background: var(--directory-secondary-bg); color: var(--directory-secondary-text); font-size: 12px; font-weight: 500; line-height: 1.2; }
.directory-page .directory-selected-tag > span { overflow-wrap: anywhere; }
.directory-page .directory-selected-tag button { display: inline-grid; width: 28px; height: 28px; min-height: 28px; flex: 0 0 28px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; color: inherit; font-size: 16px; font-weight: 500; line-height: 1; }
.directory-page .directory-selected-tag button:hover { background: color-mix(in srgb, currentColor 12%, transparent); color: inherit; }
.directory-page .directory-options-dropdown { position: static; flex: 0 0 0; align-self: center; }
.directory-page .directory-options-dropdown[open] { flex: 1 1 100%; width: 100%; min-width: 0; }
.directory-page .directory-options-dropdown > summary { position: absolute; z-index: 2; inset-block-start: 5px; inset-inline-end: 7px; display: grid; width: 34px; height: 34px; min-height: 34px; place-items: center; border-radius: 7px; color: var(--directory-muted); font-size: 0; line-height: 1; cursor: pointer; list-style: none; user-select: none; transition: background-color .15s ease, color .15s ease; }
.directory-page .directory-options-dropdown > summary::before { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; transform: translateY(-2px) rotate(45deg); transition: transform .15s ease; }
.directory-page .directory-options-dropdown[open] > summary::before { transform: translateY(2px) rotate(225deg); }
.directory-page .directory-options-dropdown > summary::-webkit-details-marker { display: none; }
.directory-page .directory-options-dropdown > summary:hover, .directory-page .directory-options-dropdown[open] > summary { background: var(--directory-secondary-bg); color: var(--directory-secondary-text); }
.directory-page .directory-options-panel, .directory-page .directory-category-options { position: static; z-index: 40; max-height: min(300px, 55vh); overflow: auto; overscroll-behavior: contain; border: 1px solid var(--directory-border); background: var(--directory-surface); color: var(--directory-text); box-shadow: var(--directory-menu-shadow); }
.directory-page .directory-options-panel { width: 100%; margin-top: 6px; padding: 6px; border-radius: 10px; }
.directory-page .directory-category-options { width: 100%; max-height: 260px; margin-top: 6px; padding: 5px; border-radius: 9px; }
.directory-page .directory-option-list { display: grid; gap: 2px; margin: 0; padding: 0; border: 0; }
.directory-page .directory-option-list input[type="hidden"] { display: none; }
.directory-page .directory-option-list label { display: flex; align-items: center; gap: 9px; min-height: 40px; margin: 0; padding: 7px 9px; border-radius: 6px; color: var(--directory-text); font-size: 13px; font-weight: 400; cursor: pointer; }
.directory-page .directory-option-list label:hover, .directory-page .directory-option-list label:focus-within { background: var(--directory-secondary-bg); color: var(--directory-secondary-text); }
.directory-page .directory-option-list label.is-selected { background: var(--directory-secondary-bg); color: var(--directory-secondary-text); font-weight: 500; }
.directory-page .directory-option-list label > input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 auto; margin: 0; padding: 0; accent-color: var(--directory-accent); }
.directory-page .directory-option-list label > span:nth-of-type(1) { min-width: 0; flex: 1 1 auto; }
.directory-page .directory-option-list label > .directory-option-check { flex: 0 0 auto; color: var(--directory-secondary-text); opacity: 0; }
.directory-page .directory-option-list label.is-selected > .directory-option-check { opacity: 1; }
.directory-page .directory-option-list [hidden] { display: none !important; }
.directory-page .directory-dynamic-field :focus-visible, .directory-page .directory-options-dropdown > summary:focus-visible, .directory-page .directory-selected-tag button:focus-visible { outline: 3px solid var(--directory-accent); outline-offset: 2px; }
.directory-page .directory-category-field { display: grid; align-content: start; gap: 6px; min-width: 0; }
.directory-page .directory-category-select { position: relative; min-width: 0; }
.directory-page .directory-category-control { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; min-height: 44px; padding: 4px 5px 4px 10px; border: 1px solid var(--directory-control-border); border-radius: 8px; background: var(--directory-surface); color: var(--directory-text); transition: border-color .15s ease, box-shadow .15s ease; }
.directory-page .directory-category-control:hover { border-color: var(--directory-control-border-hover); }
.directory-page .directory-category-select:focus-within .directory-category-control { border-color: var(--directory-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--directory-accent) 16%, transparent); }
.directory-page .directory-category-tags { display: contents; }
.directory-page .directory-category-tag { display: inline-flex; align-items: center; gap: 3px; max-width: 100%; min-height: 27px; padding: 2px 4px 2px 9px; border: 1px solid var(--directory-secondary-border); border-radius: 999px; background: var(--directory-secondary-bg); color: var(--directory-secondary-text); font-size: 12px; font-weight: 500; line-height: 1.2; }
.directory-page .directory-category-tag > span { overflow-wrap: anywhere; }
.directory-page .directory-category-tag button { display: inline-grid; width: 26px; height: 26px; min-height: 26px; flex: 0 0 26px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; color: inherit; font-size: 16px; line-height: 1; }
.directory-page .directory-category-tag button:hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.directory-page .directory-category-select .directory-category-control > input[type="search"] { flex: 1 1 100px; width: auto; min-width: 90px; min-height: 34px; padding: 5px 2px; border: 0; border-radius: 4px; outline: 0; box-shadow: none; background: transparent; color: inherit; font-size: 13px; }
.directory-page .directory-category-select .directory-category-control > input[type="search"]:hover,
.directory-page .directory-category-select .directory-category-control > input[type="search"]:focus-visible { border: 0; outline: 0; box-shadow: none; }
.directory-page button.directory-category-toggle, .directory-page button.directory-category-clear { display: grid; width: 32px; height: 32px; min-height: 32px; flex: 0 0 32px; padding: 0; place-items: center; border: 0; border-radius: 7px; background: transparent; color: var(--directory-muted); }
.directory-page button.directory-category-toggle:hover, .directory-page button.directory-category-clear:hover:not(:disabled) { border-color: transparent; background: var(--directory-secondary-bg); color: var(--directory-secondary-text); }
.directory-page button.directory-category-toggle > span { display: block; font-size: 0; }
.directory-page button.directory-category-toggle > span::before { display: block; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; transform: translateY(-2px) rotate(45deg); transition: transform .15s ease; }
.directory-page .directory-category-select[aria-expanded="true"] button.directory-category-toggle > span::before { transform: translateY(2px) rotate(225deg); }
.directory-page button.directory-category-clear { margin-inline-start: auto; color: var(--directory-muted); font-size: 18px; font-weight: 450; }
.directory-page button.directory-category-clear:disabled { display: none; }
.directory-page .directory-category-option { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px; padding: 8px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--directory-text); text-align: start; font: inherit; font-size: 13px; cursor: pointer; }
.directory-page .directory-category-option:hover, .directory-page .directory-category-option:focus-visible, .directory-page .directory-category-option.is-active, .directory-page .directory-category-option[aria-selected="true"] { outline: 0; background: var(--directory-secondary-bg); color: var(--directory-secondary-text); }
.directory-page .directory-category-option:focus-visible, .directory-page .directory-category-select :focus-visible { outline: 3px solid var(--directory-accent); outline-offset: 2px; }
.directory-page .directory-category-check { flex: 0 0 auto; color: var(--directory-secondary-text); opacity: 0; }
.directory-page .directory-category-option[aria-selected="true"] .directory-category-check { opacity: 1; }
.directory-page .directory-category-option[hidden] { display: none !important; }
.directory-page .directory-category-empty { margin: 0; padding: 10px; color: var(--directory-muted); font-size: 12px; }
.directory-page .directory-category-empty[hidden], .directory-page .directory-category-select [data-category-preserved-note][hidden] { display: none; }
.directory-page .directory-category-select [data-category-preserved-note] { display: block; margin-top: 4px; font-size: 11px; }

/* Step 5: offerings */
.directory-page .directory-offerings-panel { width: min(100%, 1120px); max-width: 1120px; margin-inline: auto; gap: 16px; padding: clamp(18px, 2.5vw, 28px); background: var(--directory-surface); }
.directory-page:has(.directory-offerings-panel) .wizard-head, .directory-page:has(.directory-offerings-panel) .wizard-progress { max-width: 1120px; }
.directory-page .directory-offerings-panel > h2 { margin: 0; }
.directory-page .directory-offerings-panel > .muted { max-width: 78ch; margin: -8px 0 0; font-size: 13px; }
.directory-page [data-offerings-workspace] { display: grid; gap: 14px; min-width: 0; }
.directory-page .wizard-card-grid { display: grid; gap: 12px; }
.directory-page .directory-offering-card { display: grid; gap: 14px; min-width: 0; padding: clamp(16px, 2vw, 22px); border: 1px solid var(--directory-border); border-radius: 11px; background: var(--directory-surface); box-shadow: 0 2px 8px rgb(15 23 42 / 4%); }
.directory-page .directory-offering-card .directory-card-top { align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--directory-border); }
.directory-page .directory-offering-card .directory-card-top h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 16px; font-weight: 600; }
.directory-page .directory-offering-card [data-offering-number] { display: inline-grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: var(--directory-secondary-bg); color: var(--directory-secondary-text); font-size: 12px; font-weight: 550; }
.directory-page .directory-offering-card-controls { display: flex; align-items: center; gap: 5px; }
.directory-page .directory-offering-card .directory-order-button { min-width: 40px; min-height: 36px; padding: 6px 8px; border-color: transparent; background: transparent; color: var(--directory-muted); font-size: 12px; font-weight: 500; }
.directory-page .directory-offering-card .directory-order-button:hover:not(:disabled) { border-color: var(--directory-border); background: var(--directory-surface-subtle); color: var(--directory-text); }
.directory-page .directory-offering-card .directory-order-button span { white-space: nowrap; }
.directory-page .directory-offering-card .directory-remove-button { min-height: 36px; padding: 6px 9px; font-size: 12px; }
.directory-page .directory-offering-card > .directory-offering-section { display: grid; gap: 10px; min-width: 0; }
.directory-page .directory-offering-section-heading, .directory-page .directory-subsection-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.directory-page .directory-offering-section-heading h3, .directory-page .directory-subsection-heading h3 { margin: 0; color: var(--directory-text); font-size: 14px; font-weight: 600; }
.directory-page .directory-offering-section-heading > span, .directory-page .directory-subsection-heading > span { color: var(--directory-muted); font-size: 12px; font-weight: 400; }
.directory-page .directory-offering-basic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.directory-page .directory-offering-category-wrap { min-width: 0; }
.directory-page .directory-offering-card label { gap: 5px; color: var(--directory-text); font-size: 13px; font-weight: 500; }
.directory-page .directory-offering-card input:not([type="checkbox"]):not([type="hidden"]), .directory-page .directory-offering-card select { min-height: 44px; }
.directory-page .directory-offering-card input:not([type="checkbox"]):not([type="hidden"]), .directory-page .directory-offering-card select, .directory-page .directory-offering-card textarea { border-color: var(--directory-control-border); border-radius: 8px; background: var(--directory-surface); color: var(--directory-text); }
.directory-page .directory-offering-card textarea { min-height: 82px; }
.directory-page .directory-offering-card input:focus-visible, .directory-page .directory-offering-card select:focus-visible, .directory-page .directory-offering-card textarea:focus-visible { border-color: var(--directory-accent); outline: 3px solid color-mix(in srgb, var(--directory-accent) 18%, transparent); outline-offset: 1px; }
.directory-page .directory-offering-pricing { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid var(--directory-border); }
.directory-page .directory-price-help { margin: -5px 0 0; color: var(--directory-muted); font-size: 12px; }
.directory-page .directory-price-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(150px, .8fr); gap: 12px; }
.directory-page .directory-advanced-fields { padding: 4px 12px 12px; border: 1px solid var(--directory-border); border-radius: 8px; background: var(--directory-surface-subtle); }
.directory-page .directory-advanced-fields > summary { display: flex; min-height: 40px; align-items: center; color: var(--directory-secondary-text); font-size: 13px; font-weight: 550; cursor: pointer; }
.directory-page .directory-advanced-fields[open] { display: grid; gap: 12px; }
.directory-page .directory-offering-visibility { min-height: 40px; margin: 0; padding: 2px 0; color: var(--directory-muted); font-size: 12px; }
.directory-page .directory-offering-image-region { padding-top: 12px; border-top: 1px solid var(--directory-border); }
.directory-page .directory-offering-media { display: grid; gap: 10px; min-width: 0; padding: 12px; border: 1px solid var(--directory-border); border-inline-start: 3px solid var(--directory-category); border-radius: 9px; background: var(--directory-surface-subtle); }
.directory-page .directory-media-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.directory-page .directory-media-section-heading h3 { margin: 0; color: var(--directory-text); font-size: 14px; font-weight: 600; }
.directory-page .directory-media-section-heading > span { color: var(--directory-muted); font-size: 12px; }
.directory-page .directory-offering-media-heading h4 { margin: 3px 0 0; color: var(--directory-text); font-size: 12px; font-weight: 550; }
.directory-page .directory-offering-media-heading p { margin: 3px 0 0; font-size: 12px; }
.directory-page .directory-offering-media-index { display: none; }
.directory-page .directory-offering-media .directory-offering-image { width: min(100%, 220px); max-height: 150px; border: 1px solid var(--directory-border); border-radius: 8px; background: var(--directory-surface); object-fit: contain; }
.directory-page .directory-offering-media-upload, .directory-page .directory-offering-scan-status { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; }
.directory-page .directory-offering-media-upload label { flex: 1 1 240px; min-width: 0; }
.directory-page .directory-offering-media-upload input[type="file"] { min-height: 44px; padding: 7px; }
.directory-page .directory-offering-media-upload button, .directory-page .directory-offering-scan-status button, .directory-page .directory-offering-media form[data-confirm-image-remove] button { min-height: 38px; padding: 7px 11px; font-size: 12px; }
.directory-page .directory-offering-scan-status form, .directory-page .directory-offering-media form[data-confirm-image-remove] { margin: 0; }
.directory-page .directory-offering-media-placeholder { margin: 0; }
.directory-page .directory-image-save-note { margin: 0; padding: 3px 0; color: var(--directory-muted); font-size: 12px; }
.directory-page .directory-offering-add-row { display: flex; justify-content: flex-start; }
.directory-page .directory-offering-actions { max-width: none; margin: 4px 0 0; padding-top: 14px; border-top: 1px solid var(--directory-border); }
.directory-page .directory-offering-actions .wizard-back { margin-inline-end: auto; }

/* Step 6: operations in one clear column, with on-demand detail forms */
.directory-page .wizard-operations { display: grid; width: min(100%, var(--directory-wizard-width)); grid-template-columns: minmax(0, 1fr); align-items: start; gap: 0; margin-inline: auto; padding: var(--directory-card-padding); border-radius: 11px; background: var(--directory-surface); box-shadow: var(--directory-shadow-card); }
.directory-page .wizard-operations > .wizard-operations-section { display: grid; gap: 12px; min-width: 0; padding: 18px 0; }
.directory-page .wizard-operations > .wizard-operations-section + .wizard-operations-section { border-top: 1px solid var(--directory-border); }
.directory-page .wizard-operations > .wizard-operations-section:first-child { padding-top: 0; }
.directory-page .wizard-operations > .wizard-operations-section:last-child { padding-bottom: 0; }
.directory-page .wizard-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.directory-page .wizard-section-heading h2 { margin: 0; font-size: 17px; font-weight: 600; }
.directory-page .wizard-section-heading .muted { max-width: 72ch; margin: 4px 0 0; font-size: 13px; line-height: 1.45; }
.directory-page .wizard-count { display: inline-grid; min-width: 28px; height: 28px; place-items: center; border-radius: 999px; background: var(--directory-surface-subtle); color: var(--directory-secondary-text); font-size: 12px; font-weight: 600; }
.directory-page .wizard-logo-content { display: flex; align-items: center; gap: 16px; min-width: 0; }
.directory-page .wizard-logo-placeholder { display: grid; width: 68px; height: 68px; flex: 0 0 68px; place-items: center; border: 1px solid var(--directory-border); border-radius: 10px; background: var(--directory-surface-subtle); color: var(--directory-secondary-text); font-size: 24px; font-weight: 600; }
.directory-page .wizard-logo-content .directory-logo-lg { width: 68px; height: 68px; flex: 0 0 68px; padding: 4px; border: 1px solid var(--directory-border); border-radius: 10px; background: var(--directory-surface); object-fit: contain; }
.directory-page .wizard-logo-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 10px 14px; min-width: 0; }
.directory-page .wizard-logo-controls form { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; margin: 0; }
.directory-page .wizard-logo-controls label { max-width: 340px; }
.directory-page .wizard-inline-status { align-self: center; margin: 0; color: var(--directory-muted); font-size: 13px; }
.directory-page .wizard-location-card { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--directory-border); border-radius: 9px; background: var(--directory-surface-subtle); }
.directory-page .wizard-location-summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.directory-page .wizard-location-summary h3 { margin: 0; color: var(--directory-text); font-size: 15px; font-weight: 600; }
.directory-page .wizard-location-summary p { margin: 4px 0 0; color: var(--directory-secondary-text); font-size: 13px; line-height: 1.45; }
.directory-page .wizard-location-summary p.muted { color: var(--directory-muted); }
.directory-page .wizard-effective-hours { margin: 0; color: var(--directory-muted); font-size: 13px; }
.directory-page .wizard-visibility { flex: 0 0 auto; padding: 4px 9px; border: 1px solid var(--directory-border); border-radius: 999px; font-size: 12px; font-weight: 500; }
.directory-page .wizard-visibility.is-public { border-color: color-mix(in srgb, var(--directory-success) 30%, var(--directory-border)); color: var(--directory-success); }
.directory-page .wizard-visibility.is-private { color: var(--directory-muted); }
.directory-page .wizard-location-actions { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px 12px; }
.directory-page .wizard-location-actions > details { flex: 1 1 180px; min-width: 0; }
.directory-page .wizard-location-actions > details > summary { width: 100%; }
.directory-page .wizard-location-actions > details:not([open]), .directory-page .wizard-location-actions > .wizard-inline-form { order: 1; }
.directory-page .wizard-location-actions > details[open] { order: 2; flex: 1 0 100%; width: 100%; }
.directory-page .wizard-inline-form { align-self: flex-start; margin: 0 0 0 auto; }
.directory-page .wizard-disclosure { min-width: 0; border: 1px solid var(--directory-border); border-radius: 9px; background: var(--directory-surface); }
.directory-page .wizard-disclosure > summary { display: flex; min-height: 42px; align-items: center; padding: 8px 12px; color: var(--directory-secondary-text); font-size: 13px; font-weight: 550; cursor: pointer; }
.directory-page .wizard-disclosure > summary::marker { color: var(--directory-accent); }
.directory-page .wizard-disclosure[open] > summary { border-bottom: 1px solid var(--directory-border); }
.directory-page .wizard-disclosure-body { display: grid; gap: 14px; padding: 14px; }
.directory-page .wizard-add-location, .directory-page .wizard-add-closure { border-style: dashed; }
.directory-page .wizard-map-disclosure { border-color: var(--directory-border); background: var(--directory-surface-subtle); }
.directory-page .wizard-operations .directory-location-picker { padding: 10px; }
.directory-page .wizard-operations .directory-map-frame { min-height: 220px; }
.directory-page .wizard-hours-inheritance { margin: -4px 0 0; color: var(--directory-muted); font-size: 13px; }
.directory-page .wizard-hours-inheritance span { margin-inline-start: 8px; }
.directory-page .wizard-schedule-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.directory-page .wizard-schedule-day { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 12px; min-width: 0; min-height: 40px; padding: 8px 0; border-bottom: 1px solid var(--directory-border); font-size: 13px; }
.directory-page .wizard-schedule-day strong { flex: 0 0 112px; color: var(--directory-text); font-weight: 550; }
.directory-page .wizard-schedule-day > span { color: var(--directory-secondary-text); text-align: end; overflow-wrap: anywhere; }
.directory-page .wizard-schedule-state, .directory-page .wizard-empty-state { margin: 0; color: var(--directory-muted); font-size: 13px; }
.directory-page .wizard-hours-enabled { flex: 0 0 auto; align-self: center; }
.directory-page .wizard-hours { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(105px, .65fr) minmax(130px, 1fr) minmax(130px, 1fr) minmax(150px, auto); align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--directory-border); }
.directory-page .wizard-hours > strong { color: var(--directory-text); font-size: 13px; font-weight: 550; }
.directory-page .wizard-hours label { gap: 5px; font-size: 13px; }
.directory-page .wizard-hours-closed { min-height: 40px; }
.directory-page .wizard-hours details > summary { display: flex; min-height: 40px; align-items: center; color: var(--directory-secondary-text); font-size: 13px; cursor: pointer; }
.directory-page .wizard-hours-advanced { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px 14px; }
.directory-page .wizard-hours-advanced > summary { grid-column: 1 / -1; }
.directory-page .wizard-hours-advanced > .check { min-height: 40px; }
.directory-page .wizard-hours-advanced > details[open] .form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.directory-page .wizard-hours-advanced[open] { grid-column: 1 / -1; grid-template-columns: minmax(110px, auto) minmax(0, 1fr); padding: 10px 12px; border: 1px solid var(--directory-border); border-radius: 8px; background: var(--directory-surface-subtle); }
.directory-page .wizard-hours-advanced[open] > summary { grid-column: 1 / -1; }
.directory-page .wizard-hours-advanced[open] > details { min-width: 0; }
.directory-page .directory-hours-copy { padding: 8px 0 12px; border-bottom: 1px solid var(--directory-border); }
.directory-page .directory-hours-copy > summary { display: inline-flex; min-height: 38px; align-items: center; color: var(--directory-secondary-text); font-size: 13px; font-weight: 550; cursor: pointer; }
.directory-page .directory-hours-copy[open] { display: grid; gap: 10px; }
.directory-page .directory-hours-copy-options { display: flex; flex-wrap: wrap; gap: 8px; }
.directory-page .directory-hours-copy-options .check { min-height: 38px; padding: 7px 10px; border: 1px solid var(--directory-border); border-radius: 7px; background: var(--directory-surface-subtle); }
.directory-page .directory-hours-copy > button { min-height: var(--directory-control-height); justify-self: start; padding: 7px 11px; font-size: 13px; }
.directory-page .wizard-closure-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--directory-border); border-radius: 9px; background: var(--directory-surface); }
.directory-page .wizard-closure-row > span { display: grid; grid-template-columns: minmax(100px, 140px) minmax(0, 1fr); align-items: center; gap: 12px; min-width: 0; font-size: 13px; }
.directory-page .wizard-closure-row > span > strong { color: var(--directory-text); font-weight: 550; }
.directory-page .wizard-closure-row > span > span { color: var(--directory-muted); overflow-wrap: anywhere; }
.directory-page .wizard-actions.section { width: min(100%, var(--directory-wizard-width)); }
.directory-page .wizard-actions.section .wizard-back { margin-inline-end: auto; }
.directory-page .wizard-actions:has(.directory-hours-copy) { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 12px; }
.directory-page .wizard-actions:has(.directory-hours-copy) .wizard-back { grid-column: 1; justify-self: start; margin: 0; }
.directory-page .wizard-actions:has(.directory-hours-copy) .directory-hours-copy { grid-column: 2; justify-self: center; margin: 0; padding: 0; border: 0; }
.directory-page .wizard-actions:has(.directory-hours-copy) .wizard-button-muted { grid-column: 3; }
.directory-page .wizard-actions:has(.directory-hours-copy) button[name="action"][value="continue"] { grid-column: 4; }

/* Step 4: compact dynamic-field alignment */
.directory-page .wizard-industry-details-grid { column-gap: 16px; row-gap: 12px; }
.directory-page .wizard-industry-details-panel { gap: 14px; }
.directory-page .directory-dynamic-field { gap: 5px; }

/* Step 7: review summary */
.directory-page .wizard-preview { display: grid; gap: 0; padding: 0; overflow: hidden; border: 1px solid var(--directory-border); border-radius: 11px; background: var(--directory-surface); box-shadow: none; }
.directory-page .directory-review-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px; background: var(--directory-surface-subtle); }
.directory-page .directory-review-hero h2 { margin: 10px 0 3px; font-size: 22px; }
.directory-page .directory-review-hero p { margin: 0; color: var(--directory-muted); font-size: 13px; }
.directory-page .directory-review-logo-note { max-width: 220px; font-size: 12px; }
.directory-page .directory-review-section { padding: 16px 20px; border-top: 1px solid var(--directory-border); }
.directory-page .directory-review-section > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.directory-page .directory-review-section > header h3 { margin: 0; font-size: 14px; font-weight: 600; }
.directory-page .directory-review-section > header p { margin: 3px 0 0; color: var(--directory-muted); font-size: 12px; }
.directory-page .directory-review-edit { flex: 0 0 auto; padding: 6px 9px; border-radius: 6px; color: var(--directory-secondary-text); font-size: 12px; font-weight: 550; text-decoration: none; }
.directory-page .directory-review-edit:hover { background: var(--directory-secondary-bg); }
.directory-page .directory-review-section-content > p { margin: 0; font-size: 13px; }
.directory-page .directory-review-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.directory-page .directory-review-facts p { display: grid; gap: 2px; margin: 0; overflow-wrap: anywhere; }
.directory-page .directory-review-facts strong { color: var(--directory-muted); font-size: 11px; font-weight: 500; }
.directory-page .directory-review-facts span { color: var(--directory-text); font-size: 13px; }
.directory-page .directory-review-offerings { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 10px; }
.directory-page .directory-review-offering { display: grid; align-content: start; gap: 6px; min-width: 0; padding: 12px; border: 1px solid var(--directory-border); border-radius: 8px; background: var(--directory-surface); }
.directory-page .directory-review-offering h4 { margin: 2px 0 0; font-size: 13px; font-weight: 600; }
.directory-page .directory-review-kind { color: var(--directory-muted); font-size: 11px; }
.directory-page .directory-review-offering > p { margin: 0; color: var(--directory-muted); font-size: 12px; }
.directory-page .directory-review-offering-meta { display: flex; flex-wrap: wrap; gap: 5px 9px; color: var(--directory-muted); font-size: 11px; }
.directory-page .directory-review-section-content ul { display: grid; gap: 5px; margin: 7px 0 0; padding-inline-start: 18px; color: var(--directory-text); font-size: 12px; }
.directory-page .directory-review-section-content h4 { margin: 14px 0 4px; color: var(--directory-muted); font-size: 12px; font-weight: 550; }
.directory-page .wizard-missing { padding: 14px 16px; border: 1px solid var(--directory-warning-border); border-radius: 9px; background: var(--directory-warning-bg); color: var(--directory-warning-text); }
.directory-page .wizard-missing strong { font-weight: 600; }
.directory-page .wizard-ready { padding: 12px 14px; border: 1px solid var(--directory-success-border); border-radius: 9px; background: var(--directory-success-bg); color: var(--directory-success-text); font-size: 13px; font-weight: 500; }
.directory-page .wizard-errors { margin-bottom: 14px; }

/* Public directory shared cards, search and profile components */
.directory-page .directory-results-layout { gap: 18px; }
.directory-page .directory-filter-panel { gap: 14px; padding: 16px; border-radius: 10px; box-shadow: 0 2px 8px rgb(15 23 42 / 4%); }
.directory-page .directory-filter-group { gap: 9px; padding-bottom: 12px; }
.directory-page .directory-filter-group legend { font-size: 13px; font-weight: 550; }
.directory-page .directory-result-grid, .directory-page .grid { gap: 14px; }
.directory-page .directory-result-card { gap: 8px; min-height: 200px; padding: 16px; border-radius: 10px; box-shadow: 0 2px 8px rgb(15 23 42 / 4%); }
.directory-page .directory-result-card h2 { margin: 4px 0 0; font-size: 16px; font-weight: 600; }
.directory-page .directory-result-card h2 a { color: var(--directory-text); }
.directory-page .directory-card-footer { padding-top: 10px; border-color: var(--directory-border); }
.directory-page .directory-empty { padding: 36px 20px; }
.directory-page .directory-empty-icon { width: 42px; height: 42px; margin-bottom: 10px; background: var(--directory-surface-subtle); color: var(--directory-brand); }
.directory-page .directory-search-hero { padding-block: 20px 24px; }
.directory-page .directory-hero-search { max-width: 820px; margin-top: 16px; gap: 8px; }
.directory-page .directory-hero-search input, .directory-page .directory-hero-search button { min-height: 48px; }
.directory-page .directory-profile-types { gap: 6px; margin-top: 8px; }
.directory-page .directory-offering-image { display: block; width: min(100%, 360px); max-height: 220px; border: 1px solid var(--directory-border); border-radius: 9px; background: var(--directory-surface); object-fit: contain; }
.directory-page .directory-logo-sm { width: 80px; max-height: 80px; object-fit: contain; }
.directory-page .directory-logo-lg { width: 104px; max-height: 104px; object-fit: contain; }
.directory-page .pagination { margin-top: 20px; }
.directory-page .directory-filter-chips { gap: 6px; }
.directory-page .directory-filter-chips > * { padding: 5px 8px; border-color: var(--directory-border); background: var(--directory-surface); font-size: 12px; }
.directory-page .directory-filter-toggle { display: none; }
.directory-page [data-capacity-fields][hidden], .directory-page [data-moq-field][hidden], .directory-page [data-offering-card][hidden], .directory-page .industry-card[hidden] { display: none !important; }
.directory-page .directory-category-options[hidden], .directory-page .directory-options-panel[hidden] { display: none; }
.directory-page .preserve-lines { white-space: pre-line; }

/* Theme and responsive behavior */
@media (max-width: 1020px) {
    .directory-page .industry-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .directory-page .wizard-hours { grid-template-columns: minmax(90px, .7fr) minmax(100px, .7fr) repeat(2, minmax(110px, 1fr)); }
    .directory-page .wizard-hours-advanced { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .directory-page { --directory-wizard-gutter: 18px; }
    .directory-page .directory-nav { align-items: flex-start; flex-direction: column; gap: 10px; padding: 12px 18px; }
    .directory-page .links { justify-content: flex-start; align-items: center; width: 100%; }
    .directory-page .links form { flex: 0 0 auto; }
    .directory-page .directory-preference { flex: 1 1 180px; }
    .directory-page main { padding: 24px var(--directory-wizard-gutter) 48px; }
    .directory-page .directory-results-layout { display: block; }
    .directory-page .directory-filter-toggle { display: flex; width: 100%; justify-content: space-between; margin-bottom: 12px; border: 1px solid var(--directory-border); background: var(--directory-surface); color: var(--directory-text); }
    .directory-page .directory-filter-panel { display: none; position: static; margin-bottom: 16px; }
    .directory-page .directory-filter-panel.is-open { display: grid; }
    .directory-page .directory-results-toolbar { align-items: flex-start; flex-wrap: wrap; }
    .directory-page .directory-sort { margin-inline-start: auto; }
    .directory-page .wizard-progress ol { min-width: 0; }
    .directory-page .wizard-step { min-height: 78px; padding-inline: 4px; }
    .directory-page .wizard-step-label { font-size: 13px; }
    .directory-page .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .directory-page .directory-offerings-panel { width: 100%; }
}
@media (max-width: 640px) {
    .directory-page .wizard-progress { margin-block: 12px 18px; }
    .directory-page .wizard-progress > ol { display: none; }
    .directory-page .wizard-progress-mobile { display: grid; gap: 9px; padding: 12px 14px; border: 1px solid var(--directory-border); border-radius: 10px; background: var(--directory-surface); box-shadow: 0 1px 3px rgb(15 23 42 / 4%); }
    .directory-page .wizard-progress-mobile-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
    .directory-page .wizard-progress-mobile-heading > span { flex: 0 0 auto; color: var(--directory-secondary-text); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
    .directory-page .wizard-progress-mobile-heading > strong { min-width: 0; color: var(--directory-text); font-size: 14px; font-weight: 600; line-height: 1.4; text-align: end; }
    .directory-page .wizard-progress-mobile-track { height: 5px; overflow: hidden; border-radius: 999px; background: var(--directory-border); }
    .directory-page .wizard-progress-mobile-track > span { display: block; height: 100%; border-radius: inherit; background: var(--directory-accent); transition: width .18s ease; }
}
@media (max-width: 560px) {
    .directory-page { --directory-wizard-gutter: 14px; --directory-card-padding: 16px; }
    .directory-page main { padding: 20px var(--directory-wizard-gutter) 40px; }
    .directory-page h1 { font-size: 28px; }
    .directory-page .panel { padding: 16px; border-radius: 10px; }
    .directory-page .form-grid, .directory-page .wizard-industry-details-grid, .directory-page .directory-offering-basic-grid, .directory-page .directory-price-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .directory-page .industry-picker-search { grid-template-columns: minmax(0, 1fr); }
    .directory-page .industry-picker-search [data-industry-count] { padding: 0; white-space: normal; }
    .directory-page .industry-grid { grid-template-columns: minmax(0, 1fr); }
    .directory-page .industry-card { min-height: 58px; padding: 9px 10px; }
    .directory-page .industry-card-description { -webkit-line-clamp: 1; }
    .directory-page .wizard-actions { align-items: stretch; flex-direction: column; gap: 8px; }
    .directory-page .wizard-actions > * { width: 100%; }
    .directory-page .wizard-actions .wizard-back { order: 3; margin: 0; }
    .directory-page .wizard-actions .wizard-button-muted { order: 2; }
    .directory-page .wizard-actions button[name="action"][value="continue"], .directory-page .wizard-actions button[name="action"][value="publish"] { order: 1; }
    .directory-page .wizard-hours { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px 0; }
    .directory-page .wizard-hours > strong { grid-column: 1; }
    .directory-page .wizard-hours > .wizard-hours-closed { grid-column: 2; justify-self: end; }
    .directory-page .wizard-hours > label:not(.wizard-hours-closed), .directory-page .wizard-hours > .wizard-hours-advanced { grid-column: 1 / -1; }
    .directory-page .wizard-hours-advanced[open] { grid-template-columns: minmax(0, 1fr); }
    .directory-page .wizard-hours-advanced[open] > summary, .directory-page .wizard-hours-advanced > details { grid-column: 1; }
    .directory-page .wizard-hours-advanced > details[open] .form-grid { grid-template-columns: minmax(0, 1fr); }
    .directory-page .wizard-schedule-summary { grid-template-columns: minmax(0, 1fr); }
    .directory-page .wizard-schedule-day { grid-template-columns: 96px minmax(0, 1fr); }
    .directory-page .wizard-section-heading { flex-wrap: wrap; justify-content: flex-start; gap: 6px 10px; }
    .directory-page .wizard-section-heading > .muted { flex-basis: 100%; }
    .directory-page .wizard-logo-content { align-items: flex-start; }
    .directory-page .wizard-logo-controls, .directory-page .wizard-logo-controls form { align-items: stretch; flex-direction: column; }
    .directory-page .wizard-logo-controls label { max-width: none; }
    .directory-page .wizard-location-summary { align-items: flex-start; }
    .directory-page .wizard-location-actions { align-items: stretch; flex-direction: column; }
    .directory-page .wizard-location-actions > *, .directory-page .wizard-location-actions > details { width: 100%; }
    .directory-page .wizard-location-actions > details:not([open]) { flex: 0 0 auto; }
    .directory-page .wizard-location-actions > details[open] { flex: 0 1 auto; }
    .directory-page .wizard-inline-form button { width: 100%; }
    .directory-page .wizard-closure-row { grid-template-columns: minmax(0, 1fr); }
    .directory-page .wizard-closure-row > span { grid-template-columns: minmax(82px, auto) minmax(0, 1fr); }
    .directory-page .wizard-closure-row > form { justify-self: end; }
    .directory-page .wizard-disclosure-body { padding: 12px; }
    .directory-page .wizard-location-card { gap: 10px; }
    .directory-page .wizard-schedule-day { gap: 8px; }
    .directory-page .wizard-closure-row { gap: 10px; }
    .directory-page .directory-offering-card { gap: 12px; padding: 14px; }
    .directory-page .directory-offering-card .directory-card-top { align-items: flex-start; flex-direction: column; }
    .directory-page .directory-offering-card-controls { width: 100%; flex-wrap: wrap; }
    .directory-page .directory-offering-card .directory-order-button { flex: 1 1 auto; }
    .directory-page .directory-offering-card .directory-remove-button { margin-inline-start: auto; }
    .directory-page .directory-offering-actions { gap: 8px; }
    .directory-page .directory-review-hero { flex-direction: column; padding: 16px; }
    .directory-page .directory-review-section { padding: 14px 16px; }
    .directory-page .directory-review-facts { grid-template-columns: minmax(0, 1fr); }
    .directory-page .directory-map-frame { min-height: 210px; }
    .directory-page .directory-map-actions > * { flex: 1 1 100%; }
    .directory-page .directory-offering-media-upload > *, .directory-page .directory-offering-scan-status > *, .directory-page .directory-offering-scan-status form > * { width: 100%; }
    .directory-page .directory-preference { flex: 1 1 calc(50% - 8px); min-width: 0; }
    .directory-page .directory-preference select { flex: 1 1 auto; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .directory-page *, .directory-page *::before, .directory-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
html[dir="rtl"] .directory-page { direction: rtl; }
html[dir="rtl"] .directory-page .directory-nav, html[dir="rtl"] .directory-page .directory-results-toolbar, html[dir="rtl"] .directory-page .directory-card-top, html[dir="rtl"] .directory-page .directory-card-footer { direction: rtl; }
html[dir="rtl"] .directory-page select:not([multiple]) { background-position: left 15px center, left 10px center; }

/* Directory launch: enquiry form, trust facts, moderation status */
.directory-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.directory-enquiry textarea { width: 100%; }
.directory-facts { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .35rem; }
.directory-moderation-status { border-left: 4px solid #d97706; margin: 1rem 0; }
.directory-moderation-rejected, .directory-moderation-suspended { border-left-color: #dc2626; }
.directory-certification-list { padding-left: 1.1rem; display: grid; gap: .5rem; }
.directory-certification-list .inline-form { display: inline; margin-left: .5rem; }
.directory-hero-cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.directory-category-grid { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); }
.directory-category-grid a { display: flex; flex-direction: column; gap: .25rem; padding: .9rem 1rem; border: 1px solid var(--border, #d6dde5); border-radius: 12px; text-decoration: none; min-height: 44px; }
.directory-category-grid a:hover, .directory-category-grid a:focus-visible { border-color: currentColor; }
.directory-signup-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.directory-signup-cta > div { flex: 1 1 280px; }
.directory-featured-card h3 a { text-decoration: none; }

/* ---- 2026-11 UX pass: quick listing, toggles, place suggestions, photo, more details, mobile menu ---- */
.visually-hidden, .directory-page input.visually-hidden { position: absolute !important; width: 1px !important; min-width: 0 !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap; }
.directory-page [hidden] { display: none !important; }
.directory-page .directory-file-button { position: relative; }
/* Contact fields with a "Public" switch on the same row */
.directory-page .directory-contact-fields { display: grid; gap: 14px; }
.directory-page .directory-contact-field > label { display: block; margin-bottom: 6px; font-weight: 600; }
.directory-page .directory-contact-row { display: flex; align-items: center; gap: 10px; }
.directory-page .directory-contact-row > input { flex: 1 1 auto; min-width: 0; }
/* A longer question (e.g. the shop address) sits under the field instead of beside it. */
.directory-page .directory-contact-row.is-question { flex-wrap: wrap; }
.directory-page .directory-contact-row.is-question > input { flex-basis: 100%; }
.directory-page .directory-contact-row.is-question .directory-switch { color: var(--directory-text); font-size: 14px; }
.directory-page .directory-contact-row.is-question .directory-switch input[type="checkbox"] ~ .directory-switch-text { color: var(--directory-text); text-decoration: none; }
.directory-page .directory-switch { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; min-height: 44px; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--directory-muted); }
.directory-page .directory-switch input[type="checkbox"] { position: absolute; opacity: 0; width: 44px; height: 26px; margin: 0; cursor: pointer; }
.directory-page .directory-switch-track { position: relative; width: 44px; height: 26px; border-radius: 13px; background: var(--directory-control-border); transition: background-color .15s ease; }
.directory-page .directory-switch-track::after { content: ""; position: absolute; top: 3px; inset-inline-start: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgb(0 0 0 / 25%); transition: transform .15s ease; }
.directory-page .directory-switch input:checked + .directory-switch-track { background: var(--directory-brand); }
.directory-page .directory-switch input:checked + .directory-switch-track::after { transform: translateX(18px); }
[dir="rtl"] .directory-page .directory-switch input:checked + .directory-switch-track::after { transform: translateX(-18px); }
.directory-page .directory-switch input:focus-visible + .directory-switch-track { outline: 3px solid color-mix(in srgb, var(--directory-accent) 45%, transparent); outline-offset: 2px; }
.directory-page .directory-switch input[type="checkbox"]:not(:checked) ~ .directory-switch-text { color: var(--directory-muted); text-decoration: line-through; }
.directory-page .directory-switch input[type="checkbox"]:checked ~ .directory-switch-text { color: var(--directory-brand-strong); }
/* Country / State / City suggestions */
.directory-page .directory-suggest { position: relative; }
.directory-page .directory-suggest-list { position: absolute; z-index: 30; inset-inline: 0; top: calc(100% + 4px); max-height: min(50vh, 320px); overflow-y: auto; margin: 0; padding: 4px; list-style: none; border: 1px solid var(--directory-border); border-radius: 10px; background: var(--directory-surface); box-shadow: var(--directory-shadow); }
.directory-page .directory-suggest-list li { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; border-radius: 8px; cursor: pointer; }
.directory-page .directory-suggest-list li:hover, .directory-page .directory-suggest-list li[aria-selected="true"] { background: var(--directory-secondary-bg); color: var(--directory-secondary-text); }
.directory-page .directory-suggest-other { border-top: 1px solid var(--directory-border); font-style: italic; }
/* Optional map */
.directory-page .directory-map-optional { margin-top: 4px; }
.directory-page .directory-map-optional > summary { list-style: none; width: 100%; min-height: 48px; }
.directory-page .directory-map-optional > summary::-webkit-details-marker { display: none; }
.directory-page .directory-map-body { display: grid; gap: 10px; margin-top: 12px; }
/* Photo / logo */
.directory-page .directory-photo-panel { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px; }
.directory-page .directory-photo-controls { display: grid; flex: 1 1 220px; gap: 10px; }
.directory-page .directory-file-button { min-height: 48px; cursor: pointer; }
.directory-page .wizard-inline-status.is-ready { color: var(--directory-success-text); font-weight: 600; }
.directory-page .wizard-inline-status.is-error { color: var(--directory-danger-text); font-weight: 600; }
.directory-page .directory-danger-link { min-height: 44px; padding: 0; border: 0; background: none; color: var(--directory-danger-text); text-decoration: underline; justify-content: flex-start; }
.directory-page .directory-danger-link:hover { background: none; color: var(--directory-danger-text); }
/* Add more details */
.directory-page .directory-more-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.directory-page .directory-more-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; padding: 12px 14px; border: 1px solid var(--directory-border); border-radius: 12px; background: var(--directory-surface); color: var(--directory-text); text-decoration: none; }
.directory-page .directory-more-card:hover { border-color: var(--directory-brand); text-decoration: none; }
.directory-page .directory-more-card small { display: block; margin-top: 2px; color: var(--directory-muted); }
.directory-page .directory-more-state { flex: 0 0 auto; color: var(--directory-brand-strong); font-weight: 700; white-space: nowrap; }
.directory-page .directory-more-state.is-done { color: var(--directory-success-text); }
/* Category picker: compact cards */
.directory-page .industry-grid .industry-card { min-height: 48px; }
/* Bigger touch targets on phones */
@media (max-width: 719px) {
    .directory-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .directory-page select, .directory-page .button, .directory-page button { min-height: 48px; font-size: 16px; }
    .directory-page .wizard-actions { flex-direction: column-reverse; align-items: stretch; }
    .directory-page .wizard-actions > * { width: 100%; }
    .directory-page .wizard-checks .check, .directory-page .check { min-height: 44px; }
}
/* Mobile header: links, theme and language behind one Menu button (only when JavaScript runs) */
.directory-page .directory-menu-toggle { display: none; }
@media (max-width: 719px) {
    html.js .directory-page .directory-nav { flex-wrap: wrap; }
    html.js .directory-page .directory-menu-toggle { display: inline-flex; margin-inline-start: auto; min-height: 44px; border: 1px solid rgb(255 255 255 / 30%); background: transparent; color: #fff; }
    html.js .directory-page .directory-nav .links { display: none; }
    html.js .directory-page .directory-nav.is-open .links { display: flex; flex-direction: column; align-items: stretch; width: 100%; gap: 6px; padding-top: 10px; }
    html.js .directory-page .directory-nav.is-open .links a, html.js .directory-page .directory-nav.is-open .links .link-button, html.js .directory-page .directory-nav.is-open .directory-preference { width: 100%; justify-content: flex-start; min-height: 44px; }
}

/* 2026-11-10 fixes ------------------------------------------------------- */
/* Google sign-in button (Google branding: white, #747775 border, #1F1F1F text, 18px G, 12px gap). */
.directory-page .directory-google-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 0 16px; border: 1px solid #747775; border-radius: 8px; background: #fff; color: #1f1f1f; font-family: Roboto, Arial, sans-serif; font-size: 15px; font-weight: 500; text-decoration: none; }
.directory-page .directory-google-button:hover { background: #f8f9fa; }
.directory-page .directory-google-button:focus-visible { outline: 3px solid var(--directory-brand); outline-offset: 2px; }
.directory-page .directory-google-mark { flex: 0 0 18px; width: 18px; height: 18px; }
/* Time dropdowns: large enough to tap on a phone. */
.directory-page .directory-time-select { min-height: 44px; min-width: 8.5rem; }
/* Arrow after "Continue" keeps its space in flex buttons. */
.directory-page .wizard-actions button span[aria-hidden="true"] { margin-left: .35em; }
/* Tap targets of at least 44px. */
.directory-page .directory-review-edit { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; }
.directory-page .directory-more-settings { display: inline-flex; align-items: center; min-height: 44px; }
/* Read-only listing under review: no edit links. */
.directory-page .is-read-only .directory-review-edit { display: none; }
/* Main location card and quick-listing photo button. */
.directory-page .wizard-main-location .tag { margin-bottom: 4px; }
.directory-page .directory-quick-photo { display: grid; gap: 6px; justify-items: start; }
.directory-page .directory-quick-photo-label { font-weight: 600; }
/* "Not submitted yet" banner on My businesses. */
.directory-page .directory-not-submitted { border-left: 4px solid #d97706; background: #fffbeb; }
