@import "tailwindcss";

:root {
  --ink: #17191d;
  --muted: #68707c;
  --line: #e5e7eb;
  --border: #e1e6eb;
  --soft: #f5f6f8;
  --gold: #c99a10;
  --gold-dark: #9b7410;
  --gold-soft: #fff8df;
  --blue: #1748d3;
  --navy: #111b3b;
  --white: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: var(--font-geist), Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, .button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(23,72,211,.28); outline-offset: 3px; }

.site-header { height: 82px; max-width: 1240px; margin: auto; padding: 0 24px; display: flex; align-items: center; gap: 42px; }
.brand img { width: 142px; height: 64px; object-fit: contain; display: block; }
.main-nav { display: flex; align-items: center; gap: 30px; margin-right: auto; font-size: 14px; font-weight: 650; }
.main-nav a, .text-link { transition: color .2s ease; }
.main-nav a:hover, .text-link:hover { color: var(--gold-dark); }
.header-actions { display: flex; align-items: center; gap: 22px; font-size: 14px; font-weight: 650; }
.language-switcher { display: inline-flex; align-items: center; padding: 3px; border: 1px solid var(--border); border-radius: 9px; background: #f7f9fa; }
.language-switcher a { min-width: 30px; padding: 6px 7px; border-radius: 6px; text-align: center; color: var(--muted); font-size: 11px; font-weight: 800; }
.language-switcher a:hover, .language-switcher a.active { background: white; color: var(--navy); box-shadow: 0 2px 8px rgba(17,27,59,.1); }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 50px; padding: 0 24px; border: 0; border-radius: 12px; background: var(--gold); color: #17130a; font-weight: 750; transition: transform .2s ease, background .2s ease; }
.button:hover { background: #dab02f; transform: translateY(-1px); }
.button-small { min-height: 42px; padding: 0 18px; border-radius: 9px; font-size: 13px; }

.hero { min-height: 590px; position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .7fr); align-items: center; gap: 68px; padding: 70px max(24px, calc((100vw - 1180px) / 2)); background: linear-gradient(125deg, #f8fafc 0%, #f6f5ef 58%, #f4f7ff 100%); }
.hero:before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: radial-gradient(#9da3ae 1px, transparent 1px); background-size: 20px 20px; mask-image: linear-gradient(90deg, black, transparent 72%); }
.hero-content, .hero-card { position: relative; z-index: 2; }
.hero-orb { position: absolute; border-radius: 999px; filter: blur(1px); opacity: .45; }
.hero-orb-one { width: 280px; height: 280px; right: -90px; top: -90px; background: #dbe5ff; }
.hero-orb-two { width: 220px; height: 220px; left: 38%; bottom: -130px; background: #f4d97c; }
.eyebrow { display: inline-block; margin-bottom: 13px; color: var(--gold-dark); font-size: 12px; line-height: 1; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; }
.hero h1 { margin: 0; max-width: 720px; font-size: clamp(44px, 5vw, 72px); line-height: 1.02; letter-spacing: -.055em; }
.hero h1 span { color: var(--gold-dark); }
.hero-copy { max-width: 670px; margin: 22px 0 30px; color: #555e69; font-size: 18px; line-height: 1.65; }
.search-panel { display: flex; align-items: center; max-width: 790px; padding: 9px; border: 1px solid #e0e2e5; border-radius: 16px; background: white; box-shadow: 0 18px 50px rgba(27, 34, 50, .12); }
.search-field { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 0 17px; gap: 5px; }
.search-field span { color: #383e47; font-size: 11px; font-weight: 800; }
.search-field input { width: 100%; border: 0; outline: 0; color: var(--ink); font-size: 14px; }
.search-field input::placeholder { color: #989da5; }
.location-field { flex: .72; }
.search-divider { width: 1px; align-self: stretch; margin: 5px 0; background: var(--line); }
.search-button { align-self: stretch; min-width: 130px; border: 0; border-radius: 11px; background: var(--gold); color: #15120c; cursor: pointer; font-weight: 800; }
.search-button span { margin-right: 6px; font-size: 22px; }
.quick-links { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 18px; color: #777e88; font-size: 12px; }
.quick-links a { color: #343941; font-weight: 650; border-bottom: 1px solid #afb3b9; }

.hero-card { align-self: center; width: min(100%, 390px); margin-left: auto; padding: 23px; border: 1px solid rgba(255,255,255,.8); border-radius: 24px; background: rgba(255,255,255,.9); box-shadow: 0 28px 80px rgba(27, 34, 50, .16); backdrop-filter: blur(12px); }
.hero-card-top { display: flex; justify-content: space-between; align-items: center; }
.live-pill { padding: 7px 10px; border-radius: 20px; background: #edf8ef; color: #256234; font-size: 10px; font-weight: 750; }
.live-pill i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #36a650; }
.save-button { font-size: 25px; color: #5a616c; }
.profile-mark { width: 72px; height: 72px; margin: 19px 0 14px; border-radius: 18px; display: grid; place-items: center; background: linear-gradient(140deg, #171a20, #4a3a0e); color: var(--gold); font: 800 32px Georgia, serif; box-shadow: inset 0 0 0 1px #6c5418; }
.verified-line { color: var(--blue); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.verified-line span { display: inline-grid; width: 15px; height: 15px; margin-right: 5px; place-items: center; border-radius: 50%; background: var(--blue); color: white; }
.hero-card h2 { margin: 7px 0 3px; font-size: 28px; letter-spacing: -.03em; }
.hero-card p { margin: 0; color: var(--muted); font-size: 13px; }
.rating-line { display: flex; align-items: center; gap: 7px; margin-top: 12px; }
.rating-line strong { font-size: 14px; }
.rating-line span { color: var(--gold); font-size: 11px; letter-spacing: 1px; }
.rating-line small { color: var(--muted); font-size: 10px; }
.offer-preview { margin: 20px 0 17px; padding: 15px 16px; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; border: 1px solid #f0dfaa; border-radius: 13px; background: var(--gold-soft); }
.offer-preview span { grid-column: 1 / -1; color: var(--gold-dark); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.offer-preview strong { font-size: 13px; }
.offer-preview b { color: var(--gold-dark); font-size: 16px; }
.mini-stats { display: grid; grid-template-columns: repeat(3, 1fr); padding-top: 14px; border-top: 1px solid var(--line); }
.mini-stats div { display: flex; flex-direction: column; align-items: center; gap: 3px; border-right: 1px solid var(--line); }
.mini-stats div:last-child { border: 0; }
.mini-stats strong { font-size: 17px; }
.mini-stats span { color: var(--muted); font-size: 9px; }

.trust-strip { min-height: 100px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; max-width: 1180px; margin: auto; border-bottom: 1px solid var(--line); }
.trust-strip div { display: flex; flex-direction: column; gap: 4px; align-items: center; border-right: 1px solid var(--line); }
.trust-strip div:last-child { border: 0; }
.trust-strip strong { font-size: 18px; }
.trust-strip span { color: var(--muted); font-size: 11px; }
.section { max-width: 1180px; margin: auto; padding: 88px 0; }
.section-heading { margin-bottom: 30px; display: flex; justify-content: space-between; align-items: end; }
.section-heading h2, .business-copy h2, .offer-banner h2 { margin: 0; font-size: clamp(30px, 4vw, 44px); line-height: 1.1; letter-spacing: -.045em; }
.section-heading a { color: var(--gold-dark); font-size: 13px; font-weight: 750; }
.section-heading a span { margin-left: 5px; }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.category-card { min-height: 92px; padding: 18px; display: flex; align-items: center; gap: 15px; border: 1px solid var(--line); border-radius: 15px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.category-card:hover { transform: translateY(-2px); border-color: #dfc36a; box-shadow: 0 14px 28px rgba(28,33,45,.08); }
.category-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; background: var(--gold-soft); font-size: 22px; }
.category-card > span:nth-child(2) { display: flex; flex-direction: column; gap: 6px; }
.category-card strong { font-size: 14px; }
.category-card small { color: var(--muted); font-size: 10px; }
.category-card i { margin-left: auto; color: #9a9fa7; font-style: normal; }

.featured-section { padding-top: 45px; }
.company-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.company-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: white; transition: transform .2s ease, box-shadow .2s ease; }
.company-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(24,30,44,.1); }
.company-cover { height: 126px; position: relative; background: linear-gradient(140deg, #dfc365, #8f6810); }
.cover-blue { background: linear-gradient(140deg, #537de8, #142960); }
.cover-dark { background: linear-gradient(140deg, #49505b, #15181e); }
.company-cover:after { content: ""; position: absolute; inset: 0; background: linear-gradient(25deg, rgba(255,255,255,.18), transparent 48%); }
.company-cover button { position: absolute; z-index: 2; right: 15px; top: 14px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: #343a43; font-size: 20px; cursor: pointer; }
.company-tag { position: absolute; z-index: 2; left: 14px; top: 14px; padding: 6px 9px; border-radius: 7px; background: rgba(255,255,255,.9); font-size: 9px; font-weight: 800; }
.company-body { position: relative; padding: 32px 18px 17px; }
.company-logo { position: absolute; top: -27px; width: 54px; height: 54px; display: grid; place-items: center; border: 4px solid white; border-radius: 14px; background: #32270c; color: #e3bd47; font-weight: 850; }
.logo-blue { background: #153579; color: white; }
.logo-dark { background: #252930; color: white; }
.company-title { display: flex; align-items: center; gap: 7px; }
.company-title h3 { margin: 0; font-size: 17px; letter-spacing: -.02em; }
.company-title span { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; background: var(--blue); color: white; font-size: 9px; }
.company-body > p { margin: 5px 0 7px; color: var(--muted); font-size: 11px; }
.company-body > small { color: #858b94; font-size: 10px; }
.company-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--line); }
.company-footer div { display: flex; align-items: center; gap: 4px; font-size: 11px; }
.company-footer div span { color: var(--gold); font-size: 9px; }
.company-footer div small { color: var(--muted); }
.company-footer a { color: var(--gold-dark); font-size: 10px; font-weight: 800; }

.business-section { min-height: 650px; padding: 90px max(24px, calc((100vw - 1180px) / 2)); display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 90px; overflow: hidden; background: var(--navy); color: white; }
.eyebrow-light { color: #e7c65b; }
.business-copy > p { margin: 19px 0 28px; max-width: 520px; color: #b9c1d2; font-size: 15px; line-height: 1.65; }
.business-copy ul { margin: 0 0 30px; padding: 0; display: grid; gap: 18px; list-style: none; }
.business-copy li { display: flex; align-items: flex-start; gap: 12px; }
.business-copy li > i { flex: 0 0 23px; width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; background: rgba(218,176,47,.16); color: #e7c65b; font-size: 11px; font-style: normal; }
.business-copy li span { display: flex; flex-direction: column; gap: 3px; }
.business-copy li strong { font-size: 13px; }
.business-copy li small { color: #9ea8bc; font-size: 10px; line-height: 1.5; }
.button-light { background: white; color: var(--navy); }
.button-light:hover { background: #f2f3f6; }
.dashboard-preview { width: min(100%, 640px); border: 1px solid #34405e; border-radius: 18px; overflow: hidden; background: #f6f7fa; color: var(--ink); box-shadow: 0 30px 80px rgba(0,0,0,.28); transform: rotate(1deg); }
.dashboard-bar { height: 36px; padding: 0 13px; display: flex; align-items: center; gap: 6px; background: white; border-bottom: 1px solid #e3e5e9; }
.dashboard-bar span { width: 7px; height: 7px; border-radius: 50%; background: #e5b9b9; }
.dashboard-bar span:nth-child(2) { background: #ead58e; }
.dashboard-bar span:nth-child(3) { background: #b3dab9; }
.dashboard-bar b { margin: auto; font-size: 8px; color: #7d8490; }
.dashboard-layout { min-height: 390px; display: grid; grid-template-columns: 58px 1fr; }
.dashboard-nav { padding: 18px 0; display: flex; align-items: center; flex-direction: column; gap: 23px; background: #131b39; }
.nav-logo { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; background: var(--gold); font-size: 9px; font-weight: 900; }
.dashboard-nav i { width: 17px; height: 5px; border-radius: 4px; background: #5d6680; }
.dashboard-nav i.active { width: 29px; height: 25px; background: #2a355a; border-left: 2px solid var(--gold); }
.dashboard-content { padding: 26px; }
.dashboard-title { display: flex; justify-content: space-between; align-items: center; }
.dashboard-title div { display: flex; flex-direction: column; gap: 4px; }
.dashboard-title small { color: #848b96; font-size: 8px; }
.dashboard-title strong { font-size: 18px; }
.dashboard-title button { padding: 8px 12px; border: 0; border-radius: 7px; background: var(--gold); font-size: 8px; font-weight: 800; }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 20px 0 12px; }
.metric-row div { padding: 12px; display: grid; gap: 6px; border: 1px solid #e3e5e9; border-radius: 9px; background: white; }
.metric-row span { color: #7c8390; font-size: 7px; }
.metric-row strong { font-size: 17px; }
.metric-row small { color: #329254; font-size: 7px; }
.metric-row div:last-child small { color: var(--gold-dark); letter-spacing: 1px; }
.chart-card { height: 120px; padding: 12px; border: 1px solid #e3e5e9; border-radius: 9px; background: white; }
.chart-card > span { color: #626a77; font-size: 8px; font-weight: 700; }
.chart-bars { height: 77px; margin-top: 10px; display: flex; align-items: end; gap: 8px; border-bottom: 1px solid #eceef1; }
.chart-bars i { flex: 1; min-width: 4px; border-radius: 3px 3px 0 0; background: linear-gradient(#e3c158, #b88b0f); opacity: .85; }
.progress-card { margin-top: 12px; padding: 12px; display: grid; grid-template-columns: 1fr auto; gap: 7px 12px; border: 1px solid #e3e5e9; border-radius: 9px; background: white; }
.progress-card strong { font-size: 8px; }
.progress-card > span { grid-column: 1 / -1; height: 5px; border-radius: 4px; background: #e8eaee; overflow: hidden; }
.progress-card > span i { display: block; width: 85%; height: 100%; background: var(--gold); }
.progress-card small { grid-row: 1; grid-column: 2; color: #848b95; font-size: 7px; }

.offer-section { padding-top: 70px; }
.offer-banner { min-height: 240px; padding: 48px 54px; border-radius: 22px; display: flex; align-items: center; justify-content: space-between; gap: 40px; background: linear-gradient(120deg, var(--gold-soft), #f3f6ff); border: 1px solid #ecdfb4; }
.offer-banner p { color: var(--muted); margin-bottom: 0; }
footer { max-width: 1180px; margin: auto; padding: 65px 0 55px; display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 50px; border-top: 1px solid var(--line); }
.footer-brand img { width: 145px; height: 70px; object-fit: contain; }
.footer-brand p { color: var(--muted); font-size: 12px; }
footer > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 11px; }
footer strong { margin-bottom: 5px; font-size: 12px; }
footer a { color: var(--muted); font-size: 11px; }

@media (max-width: 1050px) {
  .main-nav { display: none; }
  .header-actions { margin-left: auto; }
  .hero { grid-template-columns: 1fr .65fr; gap: 30px; }
  .section { padding-left: 24px; padding-right: 24px; }
  .business-section { gap: 45px; }
  footer { padding-left: 24px; padding-right: 24px; }
}

@media (max-width: 800px) {
  .site-header { height: 72px; padding: 0 16px; }
  .brand img { width: 112px; height: 54px; }
  .header-actions .text-link { display: none; }
  .button-small { padding: 0 12px; font-size: 11px; }
  .hero { grid-template-columns: 1fr; padding-top: 52px; }
  .hero-card { width: 100%; margin: 15px 0 0; }
  .trust-strip { grid-template-columns: repeat(2, 1fr); gap: 22px 0; padding: 24px 0; }
  .trust-strip div:nth-child(2) { border: 0; }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .company-grid { grid-template-columns: 1fr; }
  .business-section { grid-template-columns: 1fr; }
  .dashboard-preview { margin-top: 20px; }
  footer { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .header-actions .button { padding: 0 10px; }
  .hero { padding: 42px 16px 55px; }
  .hero h1 { font-size: 43px; }
  .hero-copy { font-size: 15px; }
  .search-panel { display: grid; gap: 8px; padding: 10px; }
  .search-field { padding: 7px 10px; }
  .search-divider { display: none; }
  .search-button { min-height: 48px; }
  .section { padding: 65px 16px; }
  .section-heading { align-items: flex-start; gap: 20px; }
  .section-heading > a { display: none; }
  .category-grid { grid-template-columns: 1fr; }
  .business-section { padding: 70px 16px; }
  .dashboard-content { padding: 15px; }
  .dashboard-layout { grid-template-columns: 42px 1fr; min-height: 340px; }
  .metric-row { grid-template-columns: 1fr 1fr; }
  .metric-row div:last-child { display: none; }
  .offer-banner { padding: 35px 25px; flex-direction: column; align-items: flex-start; }
  footer { padding: 48px 16px; grid-template-columns: 1fr 1fr; gap: 35px 20px; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}

/* Directory */
.compact-header { min-height: 76px; }
.nav-active { color: var(--blue) !important; }
.directory-hero { padding: 70px max(5vw, 24px); text-align: center; background: linear-gradient(145deg, #f7f3e9, #eef5fa); }
.directory-hero h1 { margin: 10px 0 8px; font-size: clamp(2.2rem, 5vw, 4.2rem); color: var(--navy); }
.directory-hero > p { color: var(--muted); margin: 0 auto 28px; }
.directory-search { max-width: 920px; margin: 0 auto; text-align: left; }
.directory-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; max-width: 1240px; margin: 0 auto; padding: 54px 28px 90px; }
.filter-panel { border: 1px solid var(--border); border-radius: 20px; padding: 22px; align-self: start; background: white; position: sticky; top: 92px; }
.filter-title { display: flex; justify-content: space-between; align-items: center; font-size: 1.05rem; }
.filter-title button { border: 0; background: none; color: var(--blue); font: inherit; font-size: .8rem; }
.filter-panel fieldset { border: 0; border-top: 1px solid var(--border); padding: 20px 0 0; margin: 20px 0 0; }
.filter-panel legend { font-weight: 750; padding: 0 0 12px; }
.filter-panel label { display: flex; gap: 9px; align-items: center; margin: 11px 0; color: #4d5766; font-size: .9rem; }
.filter-panel label span { margin-left: auto; color: #9aa1aa; }
.filter-panel fieldset p { color: var(--muted); font-size: .86rem; line-height: 1.55; }
.filter-links { display: grid; gap: 4px; max-height: 310px; overflow: auto; padding-right: 3px; }
.filter-links a { display: flex; justify-content: space-between; gap: 10px; padding: 9px 10px; border-radius: 9px; color: #4d5766; font-size: .84rem; }
.filter-links a:hover, .filter-links a.active { background: #edf5fb; color: var(--blue); }
.filter-links a.active { font-weight: 750; }
.filter-links small { color: #929ba5; }
.results-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 24px; }
.results-heading h2 { color: var(--navy); font-size: 2rem; margin: 4px 0; }
.results-heading span, .results-heading small { color: var(--muted); }
.results-heading select { padding: 12px 15px; border: 1px solid var(--border); border-radius: 12px; background: white; }
.result-list { display: grid; gap: 18px; }
.active-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: -8px 0 18px; }
.active-filters:empty { display: none; }
.active-filters a { background: #edf5fb; color: var(--blue); border-radius: 30px; padding: 8px 12px; font-size: .78rem; font-weight: 700; }
.result-card { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto; gap: 22px; align-items: center; border: 1px solid var(--border); background: #fff; border-radius: 20px; padding: 22px; box-shadow: 0 8px 28px rgba(15, 27, 45, .05); }
.result-logo { width: 90px; height: 90px; display: grid; place-items: center; border-radius: 22px; font-size: 1.55rem; font-weight: 850; overflow: hidden; }
.result-logo-image, .legacy-profile-logo { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; background: #fff; }
.result-copy h3 { font-size: 1.3rem; color: var(--navy); margin: 5px 0; }
.result-copy p { color: #66707d; margin: 5px 0; font-size: .9rem; }
.result-copy .result-category { color: var(--blue); font-weight: 700; }
.result-copy > small { display: block; margin-top: 10px; color: var(--muted); }
.result-tag { color: #1f845a; font-size: .75rem; font-weight: 750; }
.result-meta { display: flex; gap: 20px; margin-top: 12px; font-size: .82rem; color: #1f845a; }
.result-meta span:first-child { color: var(--gold-dark); }
.result-button { white-space: nowrap; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 18px; margin-top: 30px; }
.pagination a { border: 1px solid var(--border); color: var(--blue); background: white; border-radius: 10px; padding: 10px 14px; font-weight: 700; font-size: .84rem; }
.pagination span { color: var(--muted); font-size: .84rem; }

/* Company microsite */
.profile-cover { height: 310px; position: relative; overflow: hidden; background: linear-gradient(120deg, #111d30, #183a55 55%, #a77718); }
.cover-pattern { position: absolute; inset: 0; opacity: .34; background: radial-gradient(circle at 20% 40%, var(--gold) 0 2px, transparent 3px), radial-gradient(circle at 70% 30%, #fff 0 1px, transparent 2px); background-size: 50px 50px, 34px 34px; transform: rotate(-5deg) scale(1.2); }
.profile-status { position: absolute; right: 7%; bottom: 28px; background: white; color: #1f845a; padding: 10px 16px; border-radius: 30px; font-size: .82rem; font-weight: 750; }
.profile-intro { display: grid; grid-template-columns: 150px 1fr auto; gap: 26px; align-items: center; max-width: 1180px; margin: -70px auto 0; padding: 0 28px 30px; position: relative; }
.profile-logo-large { width: 145px; height: 145px; border-radius: 30px; border: 7px solid #fff; box-shadow: 0 12px 32px #101b2d24; background: var(--gold); color: var(--navy); display: grid; place-items: center; font-size: 3.4rem; font-weight: 900; }
.profile-intro-copy { padding-top: 74px; }
.profile-intro-copy h1 { margin: 7px 0; font-size: clamp(1.8rem, 4vw, 3rem); color: var(--navy); }
.profile-intro-copy > p { color: var(--muted); margin: 0 0 8px; }
.profile-actions { padding-top: 74px; display: flex; gap: 10px; }
.secondary-button { border: 1px solid var(--border); background: white; color: var(--navy); border-radius: 11px; padding: 12px 17px; font: inherit; font-weight: 750; }
.profile-tabs { border-block: 1px solid var(--border); display: flex; justify-content: center; gap: 42px; padding: 17px 20px; position: sticky; top: 0; z-index: 4; background: #ffffffee; backdrop-filter: blur(12px); }
.profile-tabs a { color: #586270; font-size: .9rem; font-weight: 700; }
.profile-layout { max-width: 1180px; padding: 48px 28px 100px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 28px; background: #fff; }
.profile-main, .profile-sidebar { display: grid; align-content: start; gap: 24px; }
.content-card { border: 1px solid var(--border); border-radius: 20px; padding: 28px; box-shadow: 0 7px 25px rgba(15, 27, 45, .04); }
.content-card h2 { font-size: 1.75rem; color: var(--navy); margin: 6px 0 12px; }
.content-card h3 { color: var(--navy); margin: 0 0 14px; }
.content-card p { color: #66707d; line-height: 1.7; }
.content-card a { color: var(--blue); font-weight: 700; }
.content-card hr { border: 0; border-top: 1px solid var(--border); margin: 20px 0; }
.feature-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.feature-chips span { background: #f5f7f9; color: #52606e; padding: 9px 12px; border-radius: 9px; font-size: .82rem; }
.weekly-offer { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 32px; border-radius: 20px; color: white; background: linear-gradient(120deg, var(--navy), #1d4663); }
.weekly-offer span { color: var(--gold); font-size: .74rem; letter-spacing: .13em; font-weight: 800; }
.weekly-offer h2 { margin: 8px 0; font-size: 1.8rem; }
.weekly-offer p, .weekly-offer small { color: #d5dee7; }
.weekly-offer > strong { font-size: 2.2rem; color: var(--gold); white-space: nowrap; }
.card-heading { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-bottom: 20px; }
.menu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.menu-grid > div { border-radius: 13px; background: #f7f8fa; padding: 18px; position: relative; }
.menu-grid p { margin: 5px 55px 0 0; font-size: .82rem; line-height: 1.4; }
.menu-grid b { color: var(--gold-dark); position: absolute; right: 15px; top: 18px; }
blockquote { margin: 20px 0 0; background: #fbf8ef; padding: 22px; border-left: 4px solid var(--gold); color: #475260; line-height: 1.7; }
blockquote footer { margin-top: 10px; font-size: .8rem; color: var(--muted); }
.full-button { width: 100%; margin-top: 10px; }
.hours { margin: 0; }
.hours div { display: flex; justify-content: space-between; padding: 8px 0; color: #596472; font-size: .86rem; }
.mini-map { height: 130px; margin: 16px 0; border-radius: 13px; display: grid; place-items: center; background: repeating-linear-gradient(45deg, #e4ebee, #e4ebee 12px, #f3f6f7 12px, #f3f6f7 24px); }
.mini-map span { display: grid; place-items: center; width: 38px; height: 38px; background: var(--blue); color: white; border-radius: 50% 50% 50% 4px; transform: rotate(-45deg); font-size: 0; }
.legacy-content-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 22px; }
.legacy-content-item { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; background: #fff; }
.legacy-content-item > img, .content-placeholder { width: 120px; height: 120px; object-fit: cover; background: #edf3f7; }
.content-placeholder { display: grid; place-items: center; color: var(--blue); font-size: 1.35rem; font-weight: 850; }
.legacy-content-item > div:last-child { padding: 15px 14px 15px 0; }
.legacy-content-item h3 { margin: 0 0 6px; font-size: 1rem; }
.legacy-content-item p { margin: 0; font-size: .8rem; line-height: 1.45; }
.content-price { display: block; margin-top: 9px; color: var(--gold-dark); }
.legacy-content-grid.compact .legacy-content-item { grid-template-columns: 90px minmax(0, 1fr); }
.legacy-content-grid.compact .legacy-content-item > img { width: 90px; height: 100%; min-height: 105px; }
.announcement-list { display: grid; margin-top: 18px; }
.announcement-list article { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-top: 1px solid var(--border); }
.announcement-list article:first-child { border-top: 0; }
.announcement-list h3 { margin: 4px 0; }
.announcement-list p { margin: 4px 0 0; font-size: .86rem; line-height: 1.5; }
.announcement-list small { color: var(--blue); font-weight: 750; }
.announcement-list time { white-space: nowrap; color: var(--muted); font-size: .78rem; }
.account-shell { min-height: calc(100vh - 76px); display: grid; grid-template-columns: minmax(0, 620px) minmax(320px, 480px); justify-content: center; align-items: stretch; background: linear-gradient(145deg,#f8fafb,#eef2f5); }
.account-shell.single { grid-template-columns: minmax(0, 620px); padding: 65px 22px; align-items: start; }
.account-card { border: 1px solid var(--border); border-radius: 20px; background: #fff; padding: clamp(34px, 6vw, 72px); box-shadow: 0 22px 60px rgba(17,27,59,.08); }
.account-card.wide { width: min(760px, 100%); }
.account-card h1 { color: var(--navy); font-size: clamp(2rem, 5vw, 3.4rem); margin: 8px 0 12px; }
.account-card > p { color: var(--muted); line-height: 1.6; }
.account-benefits { padding: clamp(40px, 7vw, 82px); color: white; background: linear-gradient(145deg, var(--navy), #1c4a68); }
.account-benefits h2 { font-size: 2.1rem; margin: 12px 0 28px; }
.account-benefits ul { padding: 0; list-style: none; display: grid; gap: 16px; color: #dce8ef; }
.account-form { display: grid; gap: 17px; margin-top: 28px; }
.account-form.two-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.account-form .form-span { grid-column: 1 / -1; }
.account-form label:not(.check-row):not(.honeypot) { display: grid; gap: 7px; }
.account-form label > span { color: var(--navy); font-size: .86rem; font-weight: 750; }
.account-form input, .account-form textarea, .account-form select { width: 100%; border: 1px solid #cfd7df; border-radius: 11px; padding: 13px 14px; font: inherit; color: var(--navy); background: white; }
.account-form input:focus, .account-form textarea:focus, .account-form select:focus { border-color: var(--blue); outline: 3px solid #2186c21c; }
.account-form label small { color: var(--muted); }
.check-row { display: flex; gap: 10px; align-items: flex-start; }
.check-row input { width: auto; margin-top: 3px; }
.check-row span { font-weight: 500 !important; color: #5f6975 !important; line-height: 1.45; }
.honeypot { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }
.form-errors, .form-success { border-radius: 13px; padding: 14px 17px; margin: 20px 0; }
.form-errors { background: #fff0ef; border: 1px solid #f0c5c1; color: #9a3028; }
.form-success { background: #edf9f2; border: 1px solid #bde2cb; color: #236b47; }
.form-errors p, .form-success p { margin: 5px 0; }
.form-success .button { margin-top: 10px; }
.account-switch { text-align: center; font-size: .9rem; }
.account-switch a { color: var(--blue); font-weight: 750; }
.dashboard-page { max-width: 1120px; min-height: calc(100vh - 82px); margin: 0 auto; padding: 58px 26px 100px; }
body:has(.dashboard-page), body:has(.redaction-page) { background: #f6f8fa; }
.dashboard-page .content-card { border: 1px solid var(--border); box-shadow: 0 10px 32px rgba(17,27,59,.055); }
.company-tool-nav { position: sticky; top: 0; z-index: 8; display: flex; justify-content: center; gap: 8px; padding: 10px 20px; overflow-x: auto; border-block: 1px solid var(--border); background: rgba(255,255,255,.94); backdrop-filter: blur(14px); }
.company-tool-nav a { flex: 0 0 auto; padding: 9px 13px; border-radius: 9px; color: #566273; font-size: .82rem; font-weight: 750; }
.company-tool-nav a:first-child { color: var(--blue); margin-right: 8px; }
.company-tool-nav a:hover, .company-tool-nav a.active { color: var(--navy); background: var(--gold-soft); }
.dashboard-welcome { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 32px; }
.dashboard-welcome h1 { font-size: clamp(2rem, 5vw, 3.4rem); color: var(--navy); margin: 8px 0; }
.dashboard-welcome p { color: var(--muted); }
.dashboard-cards { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; }
.dashboard-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: -10px 0 28px; }
.claim-list { display: grid; margin-top: 18px; }
.claim-list article { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid var(--border); }
.claim-list article div { display: grid; gap: 4px; }
.claim-list small { color: var(--muted); }
.status { border-radius: 30px; padding: 7px 10px; font-size: .75rem; font-weight: 750; }
.status-pending { color: #8a6416; background: #fff5d8; }
.status-approved { color: #236b47; background: #e5f6ec; }
.status-rejected { color: #9a3028; background: #fff0ef; }
.empty-state { padding: 24px 0 4px; }
.managed-section { margin-bottom: 24px; }
.managed-grid { display: grid; gap: 12px; margin-top: 18px; }
.managed-grid article { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; gap: 14px; align-items: center; border: 1px solid var(--border); border-radius: 13px; padding: 13px; }
.managed-grid article > div:nth-child(2) { display: grid; gap: 4px; }
.managed-grid small { color: var(--muted); }
.managed-grid article > div span { color: var(--blue); font-size: .72rem; text-transform: uppercase; font-weight: 750; }
.managed-mark { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 12px; background: var(--gold); color: var(--navy); font-weight: 850; }
.editor-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 28px; }
.editor-heading > div { display: grid; gap: 6px; }
.editor-heading h1 { margin: 0; color: var(--navy); font-size: clamp(2rem,5vw,3.2rem); }
.editor-heading p { margin: 0; color: var(--muted); }
.editor-heading a:first-child { color: var(--blue); font-weight: 700; margin-bottom: 12px; }
.editor-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.editor-actions .button, .editor-actions .secondary-button { min-height: 42px; padding: 0 16px; }
.editor-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.8fr); gap: 24px; align-items: start; }
.editor-side { display: grid; gap: 18px; }
.offer-manager { display: grid; grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr); gap: 24px; align-items: start; }
.date-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.centered { text-align: center; }
.offer-admin-list { display: grid; margin-top: 16px; }
.offer-admin-list article { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px 0; border-top: 1px solid var(--border); }
.offer-admin-list article > div:first-child { display: grid; gap: 5px; }
.offer-admin-list small { color: var(--muted); }
.offer-row-actions { display: flex; align-items: center; gap: 7px; }
.offer-row-actions form { margin: 0; }
.text-danger { border: 0; background: transparent; color: #a33931; padding: 8px; cursor: pointer; }
.status-draft { color: #52606e; background: #edf0f2; }
.status-published { color: #236b47; background: #e5f6ec; }
.status-archived { color: #7c6570; background: #f1eaed; }
.public-location-list { display: grid; gap: 12px; margin-top: 16px; }
.public-location-list article { border-top: 1px solid var(--border); padding-top: 12px; }
.public-location-list article:first-child { border-top: 0; padding-top: 0; }
.public-location-list p { margin: 5px 0; font-size: .84rem; line-height: 1.5; }
.public-location-list span { color: var(--blue); font-size: .72rem; font-weight: 750; }
.location-shortcuts { max-width: 1120px; margin: 18px auto 0; padding: 12px 26px; display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.location-shortcuts a { border: 1px solid var(--border); border-radius: 20px; padding: 7px 11px; color: var(--blue); background: white; font-size: .8rem; font-weight: 700; }
.media-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.media-admin-grid article { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.media-admin-grid img { width: 100%; height: 150px; object-fit: cover; display: block; }
.media-admin-grid article > div { display: grid; gap: 5px; padding: 12px; }
.media-admin-grid small { color: var(--muted); }
.media-admin-grid form { margin: 0; }
.public-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 18px; }
.public-gallery img { width: 100%; aspect-ratio: 4/3; border-radius: 12px; object-fit: cover; }
.hours-form { display: grid; gap: 8px; margin-top: 18px; }
.hours-row { display: grid; grid-template-columns: 90px 1fr auto 1fr 105px; gap: 8px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--border); }
.hours-row input[type=time] { width: 100%; border: 1px solid #cfd7df; border-radius: 8px; padding: 9px; }
.hours-row label { font-size: .78rem; color: var(--muted); }
.special-list { display: grid; margin-top: 20px; }
.special-list article { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--border); }
.special-list article > div { display: grid; gap: 4px; }
.special-list small { color: var(--muted); }
.public-hours-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.public-hours-grid article { background: #f7f9fa; border-radius: 13px; padding: 17px; }
.public-hours-grid h3 { margin: 0 0 12px; }
.public-hours-grid dl { margin: 0; }
.public-hours-grid dl div { display: flex; justify-content: space-between; padding: 4px 0; color: #5d6875; font-size: .8rem; }
.verification-banner { max-width: 1120px; margin: 22px auto 0; padding: 17px 22px; border: 1px solid #efd58e; border-radius: 14px; background: #fff8e2; display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.verification-banner p { margin: 5px 0 0; color: #725e2d; }
.verification-banner form { margin: 0; }
.review-list-section + #bewertungen { display: none; }
.review-list { display: grid; }
.review-list > article { padding: 22px 0; border-top: 1px solid var(--border); }
.review-list > article:first-child { border-top: 0; }
.review-head { display: flex; justify-content: space-between; gap: 15px; }
.review-head > div { display: grid; gap: 5px; }
.review-head span { color: var(--gold-dark); letter-spacing: .05em; }
.review-head time { color: var(--muted); font-size: .78rem; }
.review-list article > p { margin: 9px 0; }
.company-reply { margin-top: 15px; padding: 15px; border-left: 3px solid var(--blue); border-radius: 0 10px 10px 0; background: #f1f7fb; }
.company-reply p { margin: 6px 0 0; }
.owner-review-list { display: grid; gap: 18px; }
.owner-review-list > article { padding: clamp(22px,4vw,32px); }
.owner-review-list > article > h3 { margin: 18px 0 8px; color: var(--navy); }
.owner-review-list > article > p { color: #536170; line-height: 1.65; }
.owner-review-list .account-form { padding-top: 20px; border-top: 1px solid var(--border); }
.redaction-header { min-height: 76px; padding: 14px clamp(18px,4vw,54px); display: flex; justify-content: space-between; align-items: center; gap: 24px; border-bottom: 1px solid var(--border); background: rgba(255,255,255,.96); }
.redaction-header > a { display: flex; align-items: center; }
.redaction-header img { width: 164px; height: 48px; object-fit: contain; }
.redaction-header > strong { color: var(--navy); }
.redaction-header nav, .redaction-header nav form { display: flex; align-items: center; gap: 14px; margin: 0; }
.redaction-header button { border: 1px solid var(--border); border-radius: 9px; padding: 9px 13px; background: white; color: var(--navy); cursor: pointer; font: inherit; font-weight: 700; }
.redaction-page { max-width: 1220px; margin: 0 auto; padding: 54px 26px 100px; }
.redaction-title h1 { margin: 8px 0; color: var(--navy); font-size: clamp(2.2rem,5vw,3.7rem); }
.redaction-title p { color: var(--muted); }
.redaction-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 30px 0; }
.redaction-stats article { display: grid; gap: 5px; padding: 24px; border: 1px solid var(--border); border-radius: 16px; background: white; box-shadow: 0 12px 30px rgba(18,39,61,.06); }
.redaction-stats strong { color: var(--navy); font-size: 2rem; }
.redaction-stats span { color: var(--muted); }
.redaction-section { margin-top: 34px; }
.redaction-section > h2 { color: var(--navy); }
.redaction-list { display: grid; gap: 12px; }
.redaction-list > article { display: grid; grid-template-columns: minmax(180px,.6fr) minmax(280px,1.5fr) auto; gap: 22px; align-items: center; padding: 21px; border: 1px solid var(--border); border-radius: 15px; background: white; }
.redaction-list > article:hover { border-color: #c8d2dc; box-shadow: 0 10px 26px rgba(17,27,59,.055); }
.redaction-list h3 { margin: 8px 0 4px; color: var(--navy); }
.redaction-list p { margin: 5px 0; color: #536170; line-height: 1.55; }
.redaction-list small { color: var(--muted); }
.moderation-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; margin: 0; }
.moderation-actions button { border: 1px solid var(--border); border-radius: 9px; padding: 9px 11px; background: white; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 750; }
.moderation-actions .approve { border-color: #bde2cb; color: #236b47; background: #edf9f2; }
.moderation-actions .reject { border-color: #f0c5c1; color: #9a3028; background: #fff0ef; }
.redaction-shortcuts { position: fixed; right: 24px; bottom: 24px; z-index: 12; display: flex; gap: 8px; }
.redaction-shortcuts a { min-height: 46px; display: inline-flex; align-items: center; padding: 0 18px; border-radius: 12px; background: var(--navy); color: white; box-shadow: 0 12px 30px rgba(17,27,59,.24); font-size: .84rem; font-weight: 800; }
.password-help-floating { position: fixed; left: 50%; bottom: 22px; z-index: 10; transform: translateX(-50%); color: var(--blue); font-size: .88rem; font-weight: 750; }
.legal-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 18px; padding: 18px 20px; border-top: 1px solid var(--border); background: white; color: #66717e; font-size: .78rem; }
.legal-links a:hover { color: var(--blue); }
.legal-page { max-width: 940px; margin: 0 auto; padding: 72px 26px 100px; }
.legal-page > header { padding: clamp(28px,6vw,56px); border-radius: 22px; color: white; background: linear-gradient(135deg,var(--navy),#1f526d); }
.legal-page > header .eyebrow { color: #f0ca58; }
.legal-page > header h1 { margin: 5px 0 14px; font-size: clamp(2.3rem,6vw,4rem); }
.legal-page > header p { max-width: 720px; color: #dce7ee; line-height: 1.7; }
.legal-page > header small { color: #b8cbd6; }
.legal-content { display: grid; gap: 14px; margin-top: 24px; }
.legal-content section { padding: 26px 30px; border: 1px solid var(--border); border-radius: 16px; background: white; }
.legal-content h2 { margin: 0 0 10px; color: var(--navy); font-size: 1.25rem; }
.legal-content p { margin: 0; color: #596674; line-height: 1.75; }
.editable-content { display: block; }
.editable-content h2 { margin: 28px 0 10px; padding: 24px 28px 0; border: 1px solid var(--border); border-bottom: 0; border-radius: 16px 16px 0 0; background: white; }
.editable-content h2 + p { margin: 0 0 14px; padding: 0 28px 24px; border: 1px solid var(--border); border-top: 0; border-radius: 0 0 16px 16px; background: white; }
.content-page-tabs, .content-language-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.content-language-tabs { margin-top: 10px; }
.content-page-tabs a, .content-language-tabs a { padding: 10px 14px; border: 1px solid var(--border); border-radius: 10px; background: white; color: #586574; font-size: .82rem; font-weight: 750; }
.content-page-tabs a.active, .content-language-tabs a.active { border-color: var(--gold); color: var(--navy); background: var(--gold-soft); }
.content-page-editor { display: grid; gap: 18px; margin-top: 24px; padding: clamp(22px,4vw,34px); border: 1px solid var(--border); border-radius: 18px; background: white; }
.content-page-editor label { display: grid; gap: 7px; }
.content-page-editor label span { color: var(--navy); font-size: .86rem; font-weight: 750; }
.content-page-editor input, .content-page-editor textarea { width: 100%; padding: 13px 14px; border: 1px solid #cfd7df; border-radius: 11px; color: var(--navy); background: white; font: inherit; line-height: 1.55; }
.content-page-editor textarea[name=body_text] { font-family: ui-monospace,Consolas,monospace; font-size: .86rem; }
.content-page-editor small { color: var(--muted); }
.editor-save-row { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.admin-panel-nav { position: fixed; left: 18px; top: 100px; z-index: 20; width: 210px; display: grid; gap: 5px; padding: 14px; border: 1px solid var(--border); border-radius: 16px; background: rgba(255,255,255,.97); box-shadow: 0 16px 45px rgba(17,27,59,.13); }
.admin-panel-nav a, .admin-panel-nav > span { padding: 10px 12px; border-radius: 9px; color: #52606e; font-size: .8rem; font-weight: 750; }
.admin-panel-nav a:hover { color: var(--navy); background: var(--gold-soft); }
.admin-panel-nav .admin-nav-brand { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; margin-bottom: 5px; border-bottom: 1px solid var(--border); color: var(--navy); }
.admin-nav-brand span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--gold); font-size: .72rem; }
.admin-panel-nav .pending { color: #9aa2ab; cursor: not-allowed; }
.admin-panel-nav small { padding: 10px 12px 2px; color: #929ba5; line-height: 1.45; }
body:has(.admin-panel-nav) .redaction-page { padding-left: 120px; }
.admin-filter-bar { display: grid; grid-template-columns: minmax(220px,1fr) 190px auto; gap: 10px; margin: 28px 0 18px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: white; }
.admin-filter-bar input, .admin-filter-bar select, .admin-company-actions select, .admin-category-list input, .admin-category-list select { min-height: 44px; padding: 9px 12px; border: 1px solid #cfd7df; border-radius: 9px; background: white; font: inherit; }
.admin-company-list { display: grid; gap: 11px; }
.admin-company-list > article { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; gap: 16px; align-items: center; padding: 18px; border: 1px solid var(--border); border-radius: 15px; background: white; }
.admin-company-list h3 { margin: 7px 0 4px; color: var(--navy); }
.admin-company-list p, .admin-company-list small { margin: 0; color: var(--muted); }
.admin-company-actions, .admin-company-actions form { display: flex; align-items: center; gap: 8px; margin: 0; }
.admin-company-actions button, .admin-category-list button { min-height: 42px; padding: 0 13px; border: 0; border-radius: 9px; background: var(--navy); color: white; font-weight: 750; }
.admin-category-layout { display: grid; grid-template-columns: minmax(260px,.65fr) minmax(0,1.35fr); gap: 22px; margin-top: 28px; align-items: start; }
.admin-category-list { display: grid; }
.admin-category-list form { display: grid; grid-template-columns: minmax(180px,1fr) 80px 150px auto; gap: 9px; align-items: center; padding: 11px 0; border-top: 1px solid var(--border); }
.admin-category-list small { color: var(--muted); }
.admin-company-editor { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 22px; align-items: start; }
.admin-category-checks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; max-height: 300px; overflow: auto; }
.admin-category-checks label { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border: 1px solid var(--border); border-radius: 9px; font-size: .8rem; }
.admin-region-list { display: grid; gap: 10px; }
.admin-region-list form { display: grid; grid-template-columns: minmax(180px,1fr) minmax(180px,1fr) 120px auto; gap: 12px; align-items: end; padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: white; }
.admin-region-list label, .admin-region-list form > div { display: grid; gap: 6px; }
.admin-region-list label span, .admin-region-list small { color: var(--muted); font-size: .75rem; }
.admin-region-list input { min-height: 44px; padding: 9px 12px; border: 1px solid #cfd7df; border-radius: 9px; font: inherit; }
.admin-region-list button { min-height: 44px; padding: 0 14px; border: 0; border-radius: 9px; background: var(--navy); color: white; font-weight: 750; }
.import-source-card { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin: 28px 0 18px; }
.import-source-card p { margin-bottom: 0; }
.import-run-list { display: grid; }
.import-run-list article { display: flex; justify-content: space-between; gap: 18px; padding: 15px 0; border-top: 1px solid var(--border); }
.import-run-list article > div { display: grid; gap: 5px; }
.import-run-list small { color: var(--muted); }
.admin-user-layout { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(0,1.25fr); gap: 24px; align-items: start; margin-top: 30px; }
.admin-user-list { display: grid; margin-top: 16px; }
.admin-user-list article { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 17px 0; border-top: 1px solid var(--border); }
.admin-user-list article > div { display: grid; gap: 5px; }
.admin-user-list small { color: var(--muted); }

@media (max-width: 900px) {
  .site-header { gap: 18px; }
  .main-nav { display: none; }
  .header-actions { margin-left: auto; gap: 12px; }
  .header-actions .security-link { display: none; }
  .directory-layout { grid-template-columns: 1fr; }
  .filter-panel { position: static; }
  .result-card { grid-template-columns: 76px 1fr; }
  .result-logo { width: 70px; height: 70px; }
  .result-button { grid-column: 2; justify-self: start; }
  .profile-intro { grid-template-columns: 110px 1fr; }
  .profile-logo-large { width: 110px; height: 110px; }
  .profile-intro-copy { padding-top: 74px; }
  .profile-actions { grid-column: 1 / -1; padding-top: 0; }
  .profile-layout { grid-template-columns: 1fr; }
  .profile-sidebar { grid-template-columns: repeat(2, 1fr); }
  .account-shell { grid-template-columns: 1fr; }
  .account-benefits { display: none; }
  .dashboard-cards { grid-template-columns: 1fr; }
  .editor-grid { grid-template-columns: 1fr; }
  .offer-manager { grid-template-columns: 1fr; }
  .redaction-list > article { grid-template-columns: 1fr; align-items: start; }
  .moderation-actions { justify-content: flex-start; }
  .admin-user-layout { grid-template-columns: 1fr; }
  .admin-panel-nav { position: static; width: auto; margin: 16px; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .admin-panel-nav .admin-nav-brand, .admin-panel-nav small { grid-column: 1/-1; }
  body:has(.admin-panel-nav) .redaction-page { padding-left: 26px; }
  .admin-category-layout { grid-template-columns: 1fr; }
  .admin-company-editor { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .site-header { height: auto; min-height: 72px; padding: 8px 14px; }
  .brand img { width: 112px; height: 52px; }
  .header-actions > .text-link, .header-actions > .button { display: none; }
  .language-switcher { margin-left: auto; }
  .directory-hero { padding-top: 44px; }
  .directory-layout { padding-inline: 16px; }
  .results-heading { display: block; }
  .results-heading select { margin-top: 14px; width: 100%; }
  .result-card { grid-template-columns: 1fr; }
  .result-logo { width: 62px; height: 62px; }
  .result-button { grid-column: auto; width: 100%; justify-content: center; }
  .profile-cover { height: 220px; }
  .profile-intro { grid-template-columns: 82px 1fr; margin-top: -45px; padding-inline: 16px; }
  .profile-logo-large { width: 82px; height: 82px; border-width: 4px; font-size: 2rem; }
  .profile-intro-copy { padding-top: 50px; }
  .profile-intro-copy h1 { font-size: 1.5rem; }
  .profile-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .profile-tabs { justify-content: flex-start; overflow-x: auto; gap: 25px; }
  .profile-tabs a { white-space: nowrap; }
  .profile-layout { padding: 28px 16px 70px; }
  .profile-sidebar { grid-template-columns: 1fr; }
  .content-card, .weekly-offer { padding: 22px; }
  .weekly-offer { align-items: flex-start; flex-direction: column; }
  .menu-grid { grid-template-columns: 1fr; }
  .legacy-content-grid { grid-template-columns: 1fr; }
  .card-heading { align-items: flex-start; flex-direction: column; }
  .account-shell.single { padding: 24px 12px; }
  .account-card { padding: 30px 22px; }
  .dashboard-page { padding: 38px 16px 70px; }
  .company-tool-nav { justify-content: flex-start; padding-inline: 12px; }
  .dashboard-welcome { align-items: flex-start; flex-direction: column; }
  .editor-heading { align-items: flex-start; flex-direction: column; }
  .editor-actions { width: 100%; }
  .editor-actions a { flex: 1 1 145px; }
  .managed-grid article { grid-template-columns: 50px 1fr; }
  .managed-grid article > a { grid-column: 2; justify-self: start; }
  .account-form.two-column { grid-template-columns: 1fr; }
  .account-form .form-span { grid-column: auto; }
  .date-grid { grid-template-columns: 1fr; }
  .offer-admin-list article { align-items: flex-start; flex-direction: column; }
  .media-admin-grid, .public-gallery, .public-hours-grid { grid-template-columns: 1fr; }
  .hours-row { grid-template-columns: 1fr 1fr auto 1fr; }
  .hours-row strong { grid-column: 1/-1; }
  .hours-row label { grid-column: 1/-1; }
  .verification-banner { margin-inline: 16px; align-items: flex-start; flex-direction: column; }
  .redaction-header { align-items: flex-start; flex-direction: column; }
  .redaction-header nav { width: 100%; justify-content: space-between; }
  .redaction-page { padding: 38px 16px 70px; }
  .redaction-stats { grid-template-columns: 1fr; }
  .redaction-list > article { padding: 18px; }
  .moderation-actions button { flex: 1 1 90px; min-height: 44px; }
  .admin-user-list article { align-items: flex-start; flex-direction: column; }
  .redaction-shortcuts { right: 14px; bottom: 14px; flex-direction: column; align-items: flex-end; }
  .legal-page { padding: 38px 16px 70px; }
  .legal-content section { padding: 22px; }
  .admin-panel-nav { grid-template-columns: 1fr 1fr; }
  body:has(.admin-panel-nav) .redaction-page { padding-left: 16px; }
  .admin-filter-bar { grid-template-columns: 1fr; }
  .admin-company-list > article { grid-template-columns: 48px 1fr; }
  .admin-company-actions { grid-column: 1/-1; flex-wrap: wrap; }
  .admin-company-actions form { flex: 1 1 240px; }
  .admin-category-list form { grid-template-columns: 1fr auto; }
  .admin-category-list form input { grid-column: 1/-1; }
  .admin-category-checks { grid-template-columns: 1fr; }
  .admin-region-list form { grid-template-columns: 1fr; align-items: stretch; }
  .import-source-card { align-items: flex-start; flex-direction: column; }
}
.admin-import-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:24px;align-items:start}.import-help ol{margin:20px 0 24px;padding-left:22px;color:#536274}.import-help li{margin:10px 0}.import-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.import-summary article{background:#fff;border:1px solid #e6ebf0;border-radius:18px;padding:20px;box-shadow:0 10px 32px rgba(20,36,59,.06)}.import-summary strong{display:block;font-size:1.8rem;color:#14243b}.import-summary span{color:#68778a}.import-change-list{display:grid;gap:10px}.import-change-list article{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0f3}.import-change-list article:last-child{border-bottom:0}.import-change-list small{display:block;margin-top:4px;color:#6e7b8a}.change-kind{display:inline-flex;justify-content:center;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800}.change-added{background:#e7f7ee;color:#187044}.change-changed{background:#fff4d8;color:#8a5a00}.change-retired{background:#fdeaea;color:#9c3030}@media(max-width:760px){.admin-import-layout,.import-summary{grid-template-columns:1fr}.import-change-list article{grid-template-columns:86px minmax(0,1fr)}.import-change-list article>.status{grid-column:2}}
.import-run-list article[role=link]{cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}.import-run-list article[role=link]:hover,.import-run-list article[role=link]:focus{border-color:#d3a34b;transform:translateY(-1px);box-shadow:0 8px 24px rgba(20,36,59,.08);outline:none}
.import-batch-form{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.import-batch-form small{color:#758193}.change-actions{display:flex;gap:8px}.change-actions button{border:0;border-radius:10px;background:#14243b;color:#fff;padding:9px 12px;font-weight:750;cursor:pointer}.change-actions .reject-button{background:#f3f5f7;color:#7c2c2c}.status-approved{background:#e7f7ee;color:#187044}.status-rejected{background:#f3f5f7;color:#68778a}@media(max-width:760px){.import-batch-form{align-items:stretch;margin-top:14px}.change-actions{grid-column:2;flex-wrap:wrap}}
.region-assignment-card{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:24px 0;background:linear-gradient(135deg,#fff,#f7fafc)}.region-assignment-card p{max-width:700px;color:#657386}.region-assignment-card form{flex:0 0 auto}@media(max-width:760px){.region-assignment-card{align-items:stretch;flex-direction:column}.region-assignment-card form,.region-assignment-card .button{width:100%}}
.region-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.region-stat-grid article{padding:20px;border:1px solid var(--border);border-radius:16px;background:#fff}.region-stat-grid strong{display:block;font-size:1.75rem;color:var(--navy)}.region-stat-grid span{color:#68778a;font-size:.84rem}.region-breadcrumbs{display:flex;align-items:center;gap:9px;overflow:auto;margin:18px 0;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:#fff}.region-breadcrumbs a{white-space:nowrap;color:var(--blue);font-weight:750;font-size:.84rem}.region-breadcrumbs span{color:#9aa5b1}.region-tree-list{display:grid;gap:10px;margin-top:20px}.region-tree-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #e7ebef;border-radius:13px}.region-node-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--gold-soft);color:#826312;font-weight:900}.region-tree-list article>div:nth-child(2){display:grid;gap:3px}.region-tree-list article span{color:#788493;font-size:.72rem}.region-tree-list article strong{color:var(--navy)}.region-tree-list article small{color:#788493}.unmatched-location-list{display:grid;gap:14px}.unmatched-location-list>article{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.4fr);gap:22px;padding:22px;border:1px solid var(--border);border-radius:16px;background:#fff}.candidate-list{display:grid;gap:8px}.candidate-list form{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#f6f8fa}.candidate-list span{font-size:.82rem;color:#536274}.candidate-list button{border:0;border-radius:8px;padding:8px 11px;background:var(--navy);color:#fff;font-weight:750;cursor:pointer}@media(max-width:760px){.region-stat-grid{grid-template-columns:repeat(2,1fr)}.unmatched-location-list>article{grid-template-columns:1fr}.region-tree-list article{grid-template-columns:38px minmax(0,1fr)}.region-tree-list article>a,.region-tree-list article>.status{grid-column:2;justify-self:start}}

/* Einheitliches Adminlayout: Sidebar und Inhalt belegen getrennte Flächen. */
.admin-panel-nav{max-height:calc(100vh - 124px);overflow-y:auto}.admin-region-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;margin:24px 0;padding:6px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(20,36,59,.045)}.admin-region-tabs a{flex:0 0 auto;padding:10px 14px;border-radius:9px;color:#5d6978;font-size:.82rem;font-weight:800;white-space:nowrap}.admin-region-tabs a:hover{background:#f5f7f9;color:var(--navy)}.admin-region-tabs a.active{background:var(--navy);color:#fff}.redaction-page .section-heading{align-items:center;gap:20px;margin-bottom:22px}.redaction-page .section-heading h2{font-size:clamp(1.3rem,2.2vw,1.75rem);letter-spacing:-.025em}.redaction-page .section-heading p{margin:7px 0 0;color:var(--muted)}.region-tree-list article{transition:border-color .18s,box-shadow .18s,transform .18s}.region-tree-list article:hover{border-color:#cfd8e1;box-shadow:0 8px 22px rgba(20,36,59,.06);transform:translateY(-1px)}.region-tree-list .secondary-button{min-height:40px;display:inline-flex;align-items:center}.candidate-list form:focus-within{outline:2px solid #d8b64b;outline-offset:2px}
@media(min-width:901px){body:has(.admin-panel-nav) .redaction-page{box-sizing:border-box;width:calc(100% - 280px);max-width:1220px;margin-left:260px;margin-right:auto;padding:48px 32px 110px}.admin-panel-nav{left:20px;top:96px;width:220px}.redaction-header{padding-left:270px}}
@media(max-width:900px){.admin-panel-nav{position:static;max-height:none;margin:14px 16px 0;grid-template-columns:repeat(3,minmax(0,1fr));box-shadow:0 8px 24px rgba(17,27,59,.08)}body:has(.admin-panel-nav) .redaction-page{width:auto;max-width:100%;margin:0;padding:34px 20px 90px}.redaction-header{padding:12px 20px}.region-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.redaction-page .content-card{padding:22px}.unmatched-location-list>article{grid-template-columns:1fr}.candidate-list form{align-items:flex-start;flex-direction:column}.candidate-list button{width:100%;min-height:42px}}
@media(max-width:620px){.admin-panel-nav{grid-template-columns:1fr 1fr}.admin-region-tabs{margin:18px -4px;padding:5px}.region-stat-grid{gap:10px}.region-stat-grid article{padding:16px}.region-stat-grid strong{font-size:1.45rem}.region-tree-list article{grid-template-columns:36px minmax(0,1fr);padding:12px}.region-node-icon{width:34px;height:34px}.region-tree-list article>a,.region-tree-list article>.status{grid-column:2}.region-tree-list article small{line-height:1.45}.redaction-title h1{font-size:2rem}.import-change-list article{grid-template-columns:1fr}.change-kind{justify-self:start}.change-actions{grid-column:1}.redaction-page .section-heading{align-items:stretch;flex-direction:column}.import-batch-form{align-items:stretch;width:100%}}
.country-switcher{display:flex;align-items:flex-end;gap:12px;margin:22px 0;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#fff}.country-switcher label{display:grid;gap:6px;min-width:260px}.country-switcher label span{color:var(--muted);font-size:.74rem;font-weight:750}.country-switcher select{min-height:44px;padding:9px 38px 9px 12px;border:1px solid #cfd7df;border-radius:9px;background:#fff;font:inherit}.country-switcher>a{min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border-radius:9px;background:var(--gold-soft);color:var(--navy);font-size:.82rem;font-weight:800}.country-admin-layout{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:22px;margin-top:26px;align-items:start}.country-list{display:grid}.country-list article{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--border)}.country-list article>small{grid-column:2/-1;color:var(--muted)}.country-code{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:var(--navy);color:#fff;font-weight:850}.country-list article>div{display:grid;gap:4px}.country-list small{color:var(--muted)}@media(max-width:900px){.country-admin-layout{grid-template-columns:1fr}}@media(max-width:620px){.country-switcher{align-items:stretch;flex-direction:column}.country-switcher label,.country-switcher>a{width:100%}.country-list article{grid-template-columns:44px minmax(0,1fr)}.country-list article>.status,.country-list article>.secondary-button{grid-column:2;justify-self:start}.country-list article>small{grid-column:2}}
.location-auto-hint{display:block;margin:-4px 0 4px;padding:10px 12px;border-radius:9px;background:#eef6fb;color:#356078!important;font-size:.78rem;line-height:1.45}
.postal-batch-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0}.postal-batch-card p{max-width:720px;margin-bottom:0;color:var(--muted)}.postal-batch-card form{flex:0 0 auto}.postal-open-list{display:grid;margin-top:16px}.postal-open-list article{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.postal-open-list strong{color:var(--navy)}.postal-open-list span,.postal-open-list small{color:var(--muted)}@media(max-width:620px){.postal-batch-card{align-items:stretch;flex-direction:column}.postal-batch-card .button{width:100%}.postal-open-list article{grid-template-columns:80px minmax(0,1fr)}.postal-open-list small{grid-column:2}}
.radius-field{min-width:116px;display:grid;gap:4px;padding:4px 10px}.radius-field span{color:var(--muted);font-size:10px;font-weight:800}.radius-field select{width:100%;border:0;background:#f5f7f9;color:var(--navy);border-radius:8px;padding:8px 9px;font:inherit;font-size:.8rem;font-weight:750}.radius-field select:focus{outline:2px solid var(--gold);outline-offset:2px}@media(max-width:620px){.directory-search .radius-field{width:100%;padding:5px 0}.directory-search .radius-field select{min-height:44px}.directory-search{align-items:stretch}}
.coordinate-action-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0;background:linear-gradient(135deg,#fff,#f2f8fb)}.coordinate-action-card p{max-width:720px;margin-bottom:0;color:var(--muted)}.coordinate-action-card form{flex:0 0 auto}@media(max-width:620px){.coordinate-action-card{align-items:stretch;flex-direction:column}.coordinate-action-card .button{width:100%}}
.region-public-hero{padding-bottom:54px}.public-region-section{padding-top:48px}.public-state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-state-grid article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:20px;border:1px solid var(--border);border-radius:16px;background:#fff}.state-code{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:var(--gold-soft);color:#795d12;font-weight:850}.public-state-grid h3{margin:0 0 5px;color:var(--navy)}.public-state-grid p{margin:0;color:var(--muted);font-size:.82rem}.public-state-grid a{color:var(--blue);font-size:.82rem;font-weight:800}.place-hero{padding:58px max(24px,calc((100vw - 1120px)/2)) 64px;background:linear-gradient(135deg,#f7f9fb,#fff4d8)}.place-hero h1{max-width:880px;margin:12px 0;font-size:clamp(2.4rem,6vw,4.5rem);letter-spacing:-.05em;color:var(--navy)}.place-hero>p{color:var(--muted)}.place-hero .search-panel{margin-top:26px}.public-breadcrumbs{display:flex;gap:8px;align-items:center;overflow:auto;margin-bottom:26px;color:#728090;font-size:.8rem}.public-breadcrumbs a{color:var(--blue);font-weight:800}.place-company-grid{display:grid;gap:12px}.place-company-grid>article{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:15px;background:#fff}.place-company-grid h3{margin:0 0 6px;color:var(--navy)}.place-company-grid p{margin:0 0 6px;color:#647182}.place-company-grid small{color:var(--muted)}@media(max-width:700px){.public-state-grid{grid-template-columns:1fr}.public-state-grid article{grid-template-columns:44px minmax(0,1fr)}.public-state-grid article>a{grid-column:2}.place-company-grid>article{grid-template-columns:48px minmax(0,1fr)}.place-company-grid>article>a{grid-column:2;justify-self:start}.place-hero{padding:38px 18px 48px}}

.public-county-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.public-county-grid>article{display:flex;min-width:0;min-height:190px;flex-direction:column;padding:22px;border:1px solid var(--border);border-radius:17px;background:#fff;box-shadow:0 8px 26px rgba(20,36,59,.05);transition:transform .18s,border-color .18s,box-shadow .18s}.public-county-grid>article:hover{transform:translateY(-2px);border-color:#d8c16f;box-shadow:0 14px 34px rgba(20,36,59,.08)}.public-county-grid small{color:#7a8795;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.public-county-grid h3{margin:10px 0 8px;color:var(--navy);font-size:1.08rem}.public-county-grid p{margin:0 0 18px;color:var(--muted);font-size:.82rem}.public-county-grid a{margin-top:auto;color:var(--blue);font-size:.84rem;font-weight:800}.public-municipality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.public-municipality-grid>a{display:grid;gap:5px;min-width:0;padding:15px 17px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--navy);font-size:.9rem;font-weight:800;transition:border-color .18s,background .18s,transform .18s}.public-municipality-grid>a:hover{transform:translateY(-1px);border-color:#d8c16f;background:#fffdf5}.public-municipality-grid>a span{color:var(--muted);font-size:.72rem;font-weight:650}.public-county-grid>.empty-state,.public-municipality-grid>.empty-state{grid-column:1/-1}.home-search{max-width:900px}.home-search .radius-field{border-left:1px solid #e0e2e5}@media(max-width:900px){.public-county-grid,.public-municipality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.public-county-grid,.public-municipality-grid{grid-template-columns:1fr}.public-county-grid>article{min-height:0}.home-search{align-items:stretch}.home-search .radius-field{width:100%;padding:5px 0;border-left:0;border-top:1px solid #e8ebee}.home-search .radius-field select{min-height:44px}}

.location-choice-panel{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:22px;margin:0 0 20px;padding:22px;border:1px solid #ead99f;border-radius:17px;background:#fffaf0}.location-choice-panel h3{margin:6px 0;color:var(--navy)}.location-choice-panel p{margin:0;color:var(--muted);font-size:.84rem}.location-choice-panel>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.location-choice-panel a{display:grid;gap:3px;padding:11px 13px;border:1px solid #eadfb9;border-radius:10px;background:#fff;color:var(--navy)}.location-choice-panel a:hover{border-color:#cba93a;background:#fffdf6}.location-choice-panel a span{color:var(--muted);font-size:.72rem}@media(max-width:760px){.location-choice-panel{grid-template-columns:1fr}.location-choice-panel>div:last-child{grid-template-columns:1fr}}
