:root {
  --bg: #f5f6fb;
  --paper: #ffffff;
  --ink: #20295f;
  --muted: #6f7898;
  --line: #e1e4f0;
  --red: #f04d73;
  --red-dark: #d7355f;
  --green: #2f9f7b;
  --yellow: #f3b43f;
  --dark: #20295f;
  --navy: #20295f;
  --navy-dark: #161d49;
  --accent-soft: #fff0f4;
  --shadow: 0 18px 48px rgba(32, 41, 95, 0.1);
  --shadow-strong: 0 24px 70px rgba(32, 41, 95, 0.16);
  --page: min(1540px, calc(100vw - 64px));
  --radius: 8px;
}

[hidden] {
  display: none !important;
}

.admin-dashboard-page {
  --admin-bg: #f5f6fb;
  --admin-surface: #ffffff;
  --admin-border: #e1e4f0;
  --admin-text: #20295f;
  --admin-muted: #6f7898;
  --admin-blue: #20295f;
  --admin-blue-soft: #eef1ff;
  --admin-green: #2f9f7b;
  --admin-red: #f04d73;
  --admin-red-soft: #fff0f4;
  --admin-shadow: 0 18px 48px rgba(32, 41, 95, 0.1);
}

/* Admin dashboard */
.admin-dashboard-page {
  background: #f5f6fa;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  min-height: 100vh;
}

.admin-auth-shell {
  align-items: center;
  display: grid;
  grid-column: 1 / -1;
  min-height: 100vh;
  padding: 24px;
}

.admin-auth-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 1rem;
  margin: 0 auto;
  max-width: 460px;
  padding: 1.2rem;
  width: 100%;
}

.admin-auth-logo {
  border-bottom: 1px solid var(--line);
  margin: 0;
  padding-bottom: 1rem;
}

.admin-auth-form {
  display: grid;
  gap: 0.9rem;
}

.admin-auth-form h1 {
  font-size: clamp(1.7rem, 4vw, 2.4rem);
  margin: 0;
}

.admin-auth-form label {
  color: var(--muted);
  display: grid;
  font-size: 0.82rem;
  font-weight: 600;
  gap: 0.4rem;
}

.admin-auth-form input {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  min-height: 46px;
  padding: 0.75rem 0.85rem;
  width: 100%;
}

.admin-auth-form button {
  background: linear-gradient(135deg, var(--navy), var(--red));
  border: 0;
  border-radius: 12px;
  color: #fff;
  font-weight: 600;
  min-height: 46px;
}

.admin-auth-note {
  color: var(--muted);
  font-size: 0.9rem;
  margin: 0;
}

.admin-sidebar {
  background: linear-gradient(180deg, #23263b, #151827);
  color: white;
  min-height: 100vh;
  padding: 1.1rem;
  position: sticky;
  top: 0;
}

.admin-logo {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.admin-logo img {
  display: block;
  height: 42px;
  object-fit: contain;
  width: auto;
}

.admin-logo span {
  align-items: center;
  background: linear-gradient(135deg, var(--red), #ff6b45);
  border-radius: 14px;
  display: flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.admin-sidebar nav {
  display: grid;
  gap: 0.35rem;
}

.admin-sidebar nav a {
  align-items: center;
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.72);
  display: flex;
  gap: 0.7rem;
  font-weight: 400;
  padding: 0.85rem 0.9rem;
}

.admin-sidebar nav a svg {
  color: #eb486f;
  flex: 0 0 19px;
  height: 19px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  width: 19px;
}

.admin-sidebar nav a svg rect,
.admin-sidebar nav a svg path,
.admin-sidebar nav a svg circle {
  stroke: currentColor;
}

.admin-sidebar nav a:hover,
.admin-sidebar nav a.active {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}

.admin-main {
  display: grid;
  gap: 1.2rem;
  align-content: start;
  padding: 1.2rem;
}

[data-admin-view][hidden],
.admin-panel[hidden] {
  display: none !important;
}

.admin-topbar,
.admin-panel,
.admin-stat-grid article {
  background: var(--paper, #fff);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow-soft);
}

.admin-topbar {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1.1rem;
}

.admin-topbar h1 {
  font-size: clamp(1.6rem, 3vw, 2.7rem);
}

.admin-token {
  color: var(--muted);
  display: grid;
  font-size: 0.85rem;
  font-weight: 600;
  gap: 0.35rem;
  min-width: 260px;
}

.admin-stat-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-stat-grid article {
  display: grid;
  gap: 0.3rem;
  padding: 1rem;
}

.admin-stat-grid span,
.admin-stat-grid small,
.admin-panel-head p {
  color: var(--muted);
}

.admin-stat-grid span {
  font-size: 0.86rem;
  font-weight: 600;
}

.admin-stat-grid strong {
  font-size: 2rem;
  letter-spacing: -0.04em;
}

.admin-grid {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr);
}

.admin-grid--wide {
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
}

.admin-grid--analytics {
  grid-template-columns: 1fr;
}

.admin-panel {
  padding: 1.1rem;
}

.admin-panel-head {
  align-items: flex-start;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.admin-panel-head h2 {
  font-size: clamp(1.2rem, 2vw, 1.8rem);
}

.admin-panel-head > span {
  background: rgba(235, 69, 95, 0.1);
  border-radius: 999px;
  color: var(--red);
  font-weight: 600;
  padding: 0.45rem 0.65rem;
}

.admin-split-list {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
}

.admin-split-list--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-split-list--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-business-stats {
  display: grid;
  gap: 10px;
}

.admin-business-stat {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.2fr);
  padding: 14px;
}

.admin-business-stat > div:first-child {
  display: grid;
  gap: 4px;
}

.admin-business-stat small {
  color: var(--muted);
  font-size: 12px;
}

.admin-business-stat-metrics {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.admin-business-stat-metrics span {
  color: var(--muted);
  display: grid;
  font-size: 11px;
  gap: 2px;
  text-align: center;
}

.admin-business-stat-metrics b {
  color: var(--navy);
  font-size: 17px;
}

.admin-split-list h3 {
  font-size: 1rem;
}

.admin-form.two-col {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-form .wide {
  grid-column: 1 / -1;
}

.admin-form label {
  color: var(--muted);
  display: grid;
  font-size: 0.82rem;
  font-weight: 600;
  gap: 0.4rem;
}

.admin-field-hint {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.45;
}

.admin-form input,
.admin-form select,
.admin-form textarea,
.admin-token input {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
  min-height: 46px;
  padding: 0.75rem 0.85rem;
  width: 100%;
}

.admin-form textarea {
  resize: vertical;
}

.admin-fieldset {
  border: 1px solid var(--line);
  border-radius: 18px;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 1rem;
}

.admin-fieldset legend {
  color: var(--ink);
  font-weight: 600;
  padding: 0 0.4rem;
}

.admin-google-preview {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--muted);
  display: grid;
  gap: 0.35rem;
  padding: 0.85rem;
}

.admin-google-preview strong {
  color: var(--ink);
}

.admin-google-preview p {
  margin: 0;
}

.admin-google-error {
  color: var(--red);
  font-weight: 600;
}

.admin-seo-fieldset {
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.admin-seo-preview {
  background: #fff;
  border: 1px solid var(--admin-border, var(--line));
  border-radius: 14px;
  display: grid;
  gap: 0.35rem;
  padding: 1rem;
}

.admin-seo-preview strong {
  color: #1a0dab;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}

.admin-seo-preview p {
  color: #4d5156;
  font-size: 0.9rem;
  line-height: 1.45;
  margin: 0;
}

.admin-seo-preview small,
.admin-seo-preview span {
  color: var(--admin-muted, var(--muted));
  display: block;
  font-size: 0.78rem;
}

.admin-seo-preview em {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 10px;
  color: #b91c1c;
  display: block;
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 600;
  padding: 0.55rem 0.7rem;
}

.form-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.check-line {
  align-items: center;
  display: inline-flex !important;
  gap: 0.5rem !important;
}

.check-line input {
  min-height: auto;
  width: auto;
}

.admin-form button,
.admin-media-upload button,
.admin-panel-head button,
.admin-row-actions button,
.admin-row-actions a,
.admin-ghost-button {
  align-items: center;
  background: var(--red);
  border: 0;
  border-radius: 14px;
  color: #fff;
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  min-height: 42px;
  padding: 0.7rem 1rem;
}

.admin-secondary-button {
  background: #20295f !important;
}

.admin-panel-head button,
.admin-row-actions button,
.admin-row-actions a,
.admin-ghost-button {
  background: #eef1f8;
  color: var(--ink);
}

.admin-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.7rem;
}

.admin-media-upload {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.admin-media-upload input {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  min-height: 46px;
  padding: 0.7rem;
}

.admin-media-grid {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
  margin-top: 1rem;
}

.admin-media-card {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 12px;
  cursor: pointer;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.admin-media-card img {
  aspect-ratio: 1;
  display: block;
  object-fit: cover;
  width: 100%;
}

.admin-media-card strong,
.admin-media-card input {
  display: block;
  min-width: 0;
}

.admin-media-card strong {
  color: #fff;
  font-size: 11px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-media-card input {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font-size: 11px;
  min-height: 30px;
  padding: 0.35rem;
  width: 100%;
}

.admin-media-card > strong,
.admin-media-card > input,
.admin-media-card > .admin-row-actions {
  background: rgba(21, 24, 39, 0.88);
  bottom: 0;
  left: 0;
  opacity: 0;
  padding: 0.45rem;
  position: absolute;
  right: 0;
  transform: translateY(8px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.admin-media-card > strong { bottom: 76px; }
.admin-media-card > input { bottom: 42px; }

.admin-media-card > .admin-row-actions {
  display: grid;
  gap: 0.3rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-media-card:hover > strong,
.admin-media-card:hover > input,
.admin-media-card:hover > .admin-row-actions,
.admin-media-card.is-active > strong,
.admin-media-card.is-active > input,
.admin-media-card.is-active > .admin-row-actions,
.admin-media-card:focus-within > strong,
.admin-media-card:focus-within > input,
.admin-media-card:focus-within > .admin-row-actions {
  opacity: 1;
  transform: translateY(0);
}

.admin-media-card .admin-row-actions button {
  border-radius: 8px;
  font-size: 11px;
  min-height: 28px;
  padding: 0.35rem;
}

.admin-media-picker-open {
  align-self: start;
  background: var(--admin-blue-soft, #eef1ff);
  border: 1px solid var(--admin-border, var(--line));
  border-radius: 10px;
  color: var(--admin-blue, var(--navy));
  font-size: 0.82rem;
  font-weight: 600;
  margin-top: 0.45rem;
  min-height: 34px;
  padding: 0 0.75rem;
  width: max-content;
}

.admin-media-picker-modal[hidden] {
  display: none;
}

.admin-media-picker-modal {
  inset: 0;
  position: fixed;
  z-index: 220;
}

.admin-media-picker-backdrop {
  background: rgba(12, 18, 34, 0.62);
  inset: 0;
  position: absolute;
}

.admin-media-picker-dialog {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 80px rgba(12, 18, 34, 0.28);
  left: 50%;
  max-height: calc(100vh - 40px);
  max-width: min(980px, calc(100vw - 32px));
  overflow: auto;
  padding: 1.1rem;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.admin-media-picker-dialog header {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.admin-media-picker-dialog h2 {
  margin: 0;
}

.admin-media-picker-grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  margin-top: 1rem;
}

.admin-media-picker-item {
  background: #fff;
  border: 1px solid var(--admin-border, var(--line));
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(32, 41, 95, 0.06);
  color: var(--admin-text, var(--ink));
  display: grid;
  gap: 0.5rem;
  padding: 0.5rem;
  text-align: left;
}

.admin-media-picker-item:hover {
  border-color: var(--red);
}

.admin-media-picker-item img {
  aspect-ratio: 1;
  border-radius: 10px;
  display: block;
  object-fit: cover;
  width: 100%;
}

.admin-media-picker-item span {
  font-size: 0.78rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-media-picker-empty {
  background: #f8fafc;
  border: 1px dashed var(--admin-border, var(--line));
  border-radius: 14px;
  grid-column: 1 / -1;
  padding: 1rem;
}

.result-box {
  background: #151827;
  border-radius: 16px;
  color: #fff;
  font-size: 0.82rem;
  margin: 1rem 0 0;
  max-height: 260px;
  overflow: auto;
  padding: 1rem;
  white-space: pre-wrap;
}

.admin-list.compact article,
.admin-list article {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 14px;
  margin-bottom: 0.5rem;
  padding: 0.75rem;
}

.admin-import-helper {
  background: #f8fafc;
  border: 1px dashed var(--line);
  border-radius: 14px;
  padding: 0.85rem;
}

.admin-import-helper p {
  color: var(--muted);
  font-size: 0.86rem;
  margin: 0.35rem 0 0.65rem;
}

.admin-import-helper a {
  align-items: center;
  background: var(--navy);
  border-radius: 10px;
  color: #fff;
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 600;
  min-height: 36px;
  padding: 0 0.85rem;
  text-decoration: none;
}

.analytics-bar {
  background: #eef1f8;
  border-radius: 999px;
  display: block;
  height: 6px;
  margin-top: 0.65rem;
  overflow: hidden;
}

.analytics-bar i {
  background: linear-gradient(90deg, var(--navy), var(--red));
  border-radius: inherit;
  display: block;
  height: 100%;
}

@media (max-width: 1100px) {
  .admin-dashboard-page {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    min-height: auto;
    position: static;
  }

  .admin-sidebar nav {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .admin-stat-grid,
  .admin-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-split-list--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .admin-topbar,
  .admin-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-token {
    min-width: 0;
    width: 100%;
  }

  .admin-sidebar nav,
  .admin-stat-grid,
  .admin-grid,
  .admin-split-list,
  .admin-form.two-col,
  .admin-fieldset {
    grid-template-columns: 1fr;
  }
}

/* Preline-inspired admin refresh */
.admin-dashboard-page {
  --admin-bg: #f5f6fb;
  --admin-surface: #ffffff;
  --admin-border: #e1e4f0;
  --admin-text: #20295f;
  --admin-muted: #6f7898;
  --admin-blue: #20295f;
  --admin-blue-soft: #eef1ff;
  --admin-green: #2f9f7b;
  --admin-shadow: 0 18px 48px rgba(32, 41, 95, 0.1);
  background:
    radial-gradient(circle at 85% 0%, rgba(240, 77, 115, 0.12), transparent 28%),
    radial-gradient(circle at 8% 10%, rgba(32, 41, 95, 0.08), transparent 24%),
    var(--admin-bg);
  color: var(--admin-text);
  font-family: "Inter", Arial, Helvetica, sans-serif;
  grid-template-columns: 272px minmax(0, 1fr);
}

.admin-sidebar {
  background: rgba(255, 255, 255, 0.96);
  border-right: 1px solid var(--admin-border);
  box-shadow: none;
  color: var(--admin-text);
  padding: 22px 16px;
}

.admin-logo {
  border-bottom: 1px solid var(--admin-border);
  color: var(--admin-text);
  margin-bottom: 18px;
  padding: 0 6px 18px;
}

.admin-auth-logo {
  justify-content: center;
}

.admin-auth-logo img {
  height: 54px;
}

.admin-logo span {
  background: linear-gradient(135deg, var(--navy), var(--red));
  border-radius: 12px;
  box-shadow: 0 10px 20px rgba(240, 77, 115, 0.2);
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  height: 38px;
  width: 38px;
}

.admin-logo strong {
  font-size: 16px;
  letter-spacing: -0.01em;
}

.admin-sidebar nav {
  gap: 6px;
}

.admin-sidebar nav a {
  border-radius: 10px;
  color: #4b5563;
  font-size: 14px;
  font-weight: 600;
  min-height: 42px;
  padding: 10px 12px;
}

.admin-sidebar nav a svg {
  color: #9ca3af;
  height: 18px;
  width: 18px;
}

.admin-sidebar nav a:hover,
.admin-sidebar nav a.active {
  background: var(--accent-soft);
  color: var(--red);
}

.admin-sidebar nav a:hover svg,
.admin-sidebar nav a.active svg {
  color: var(--red);
}

.admin-main {
  gap: 20px;
  padding: 24px;
}

.admin-topbar {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--admin-border);
  border-radius: 18px;
  box-shadow: var(--admin-shadow);
  padding: 18px 20px;
  position: sticky;
  top: 16px;
  z-index: 20;
  backdrop-filter: blur(14px);
}

.admin-topbar .eyebrow,
.admin-panel-head .eyebrow {
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.admin-topbar h1 {
  color: var(--admin-text);
  font-size: clamp(22px, 2vw, 30px);
  letter-spacing: -0.035em;
  line-height: 1.15;
  margin: 0;
}

.admin-topbar-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-search {
  align-items: center;
  background: #f9fafb;
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  color: var(--admin-muted);
  display: flex;
  gap: 8px;
  min-width: 240px;
  padding: 0 12px;
}

.admin-search svg {
  height: 18px;
  width: 18px;
}

.admin-search input {
  background: transparent;
  border: 0;
  color: var(--admin-text);
  min-height: 42px;
  outline: 0;
  width: 100%;
}

.admin-status-pill {
  align-items: center;
  background: #ecfdf5;
  border: 1px solid #bbf7d0;
  border-radius: 999px;
  color: var(--admin-green);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 7px;
  min-height: 42px;
  padding: 0 12px;
}

.admin-status-pill::before {
  background: var(--admin-green);
  border-radius: 999px;
  content: "";
  height: 8px;
  width: 8px;
}

.admin-user-pill {
  align-items: center;
  background: #f9fafb;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  color: var(--admin-text);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  min-height: 42px;
  padding: 0 12px;
}

.admin-token {
  background: #f9fafb;
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  color: var(--admin-muted);
  font-size: 11px;
  gap: 2px;
  min-width: 220px;
  padding: 7px 10px;
}

.admin-token input {
  background: transparent;
  border: 0;
  border-radius: 0;
  min-height: 22px;
  padding: 0;
}

.admin-stat-grid {
  gap: 16px;
}

.admin-stat-grid article,
.admin-panel {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: 18px;
  box-shadow: var(--admin-shadow);
}

.admin-stat-grid article {
  min-height: 132px;
  overflow: hidden;
  padding: 18px;
  position: relative;
}

.admin-stat-grid article::before {
  background: var(--accent-soft);
  border-radius: 14px;
  content: "";
  height: 42px;
  position: absolute;
  right: 18px;
  top: 18px;
  width: 42px;
}

.admin-stat-grid article::after {
  background: var(--red);
  border-radius: 999px;
  content: "";
  height: 12px;
  position: absolute;
  right: 33px;
  top: 33px;
  width: 12px;
}

.admin-stat-grid span {
  color: var(--admin-muted);
  font-size: 13px;
  font-weight: 600;
}

.admin-stat-grid strong {
  color: var(--admin-text);
  font-size: 34px;
  letter-spacing: -0.04em;
  margin-top: 18px;
}

.admin-stat-grid small {
  color: var(--admin-muted);
  font-size: 13px;
}

.admin-grid,
.admin-grid--wide {
  gap: 20px;
}

.admin-panel {
  padding: 20px;
}

.admin-panel-head {
  border-bottom: 1px solid var(--admin-border);
  margin-bottom: 18px;
  padding-bottom: 16px;
}

.admin-panel-head h2 {
  color: var(--admin-text);
  font-size: 20px;
  letter-spacing: -0.025em;
  margin: 0;
}

.admin-panel-head p {
  color: var(--admin-muted);
}

.admin-panel-head > span {
  background: var(--accent-soft);
  color: var(--red);
}

.admin-fieldset {
  background: #fbfdff;
  border-color: var(--admin-border);
  border-radius: 16px;
}

.admin-fieldset legend {
  color: var(--admin-text);
}

.admin-form label {
  color: #374151;
  font-weight: 600;
}

.admin-form input,
.admin-form select,
.admin-form textarea {
  border-color: var(--admin-border);
  border-radius: 12px;
}

.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus,
.admin-search:focus-within,
.admin-token:focus-within {
  border-color: rgba(240, 77, 115, 0.42);
  box-shadow: 0 0 0 4px rgba(240, 77, 115, 0.08);
  outline: none;
}

.admin-form button,
.admin-panel-head button,
.admin-row-actions button,
.admin-row-actions a,
.admin-ghost-button {
  background: linear-gradient(135deg, var(--navy), var(--red));
  border-radius: 12px;
  box-shadow: none;
  color: #fff;
  min-height: 40px;
}

.admin-panel-head button,
.admin-row-actions button,
.admin-row-actions a,
.admin-ghost-button {
  background: #f3f4f6;
  border: 1px solid var(--admin-border);
  color: #374151;
}

.admin-secondary-button {
  background: #111827 !important;
}

.admin-list article,
.admin-list.compact article,
.admin-media-card {
  background: #f9fafb;
  border-color: var(--admin-border);
  border-radius: 14px;
}

.result-box {
  background: #0f172a;
  border-radius: 14px;
}

@media (max-width: 1100px) {
  .admin-dashboard-page {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    border-bottom: 1px solid var(--admin-border);
    border-right: 0;
  }

  .admin-sidebar nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .admin-sidebar nav a {
    flex: 0 0 auto;
  }
}

@media (max-width: 760px) {
  .admin-main {
    padding: 14px;
  }

  .admin-topbar {
    position: static;
  }

  .admin-topbar-actions,
  .admin-search,
  .admin-token {
    width: 100%;
  }
}

* { box-sizing: border-box; }
html {
  overflow-x: clip;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: "Poppins", Arial, Helvetica, sans-serif;
  line-height: 1.45;
  max-width: 100%;
  overflow-x: clip;
}

body:not(.admin-dashboard-page) {
  --site-header-height: 82px;
  --site-header-banner-gap: 18px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding-top: var(--site-header-height);
}

body:not(.admin-dashboard-page) > main {
  flex: 1 0 auto;
  max-width: var(--page);
  min-width: 0;
  width: 100%;
}

a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; }
h1, h2, h3, p { margin-top: 0; }
.sr-only {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.site-header {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 24px;
  grid-template-columns: auto minmax(0, 1fr) clamp(240px, 20vw, 330px);
  left: 0;
  padding: 16px max(24px, calc((100vw - 1540px) / 2));
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 140;
}

.brand {
  align-items: center;
  display: grid;
  gap: 0 10px;
  grid-column: 1;
  grid-template-columns: auto;
  justify-items: start;
  min-width: 180px;
}
.brand-logo {
  display: block;
  height: 48px;
  object-fit: contain;
  width: auto;
  max-width: 190px;
}
.brand-signal {
  background:
    linear-gradient(var(--red), var(--red)) 4px 30px / 32px 2px no-repeat,
    linear-gradient(var(--red), var(--red)) 12px 18px / 2px 14px no-repeat,
    linear-gradient(var(--red), var(--red)) 17px 8px / 2px 24px no-repeat,
    linear-gradient(var(--red), var(--red)) 22px 22px / 2px 10px no-repeat;
  display: block;
  height: 40px;
  width: 40px;
}
.brand-text {
  font-family: "Poppins", Arial, Helvetica, sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
}
.brand-text span { color: var(--red); font-style: italic; font-weight: 600; }
.brand small {
  color: var(--muted);
  font-size: 10px;
  grid-column: 1;
  margin-top: -2px;
}

.header-search {
  align-items: center;
  display: grid;
  grid-column: 3;
  grid-row: 1;
  grid-template-columns: 1fr 48px;
  justify-self: end;
  max-width: 330px;
  position: relative;
  width: 100%;
}
.header-search input,
.hero-search input,
.hero-search select,
.newsletter input {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  min-height: 48px;
  padding: 0 16px;
  width: 100%;
}
.header-search input {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.icon-button {
  align-items: center;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border: 0;
  border-radius: 0 var(--radius) var(--radius) 0;
  color: #fff;
  display: flex;
  height: 48px;
  justify-content: center;
}
.icon-button svg, .submit-link svg { height: 20px; width: 20px; }

.search-suggest-panel {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(32, 41, 95, 0.12);
  border-radius: 14px;
  box-shadow: 0 22px 50px rgba(32, 41, 95, 0.16);
  display: grid;
  gap: 4px;
  left: 0;
  max-height: min(420px, calc(100vh - 140px));
  overflow: auto;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 220;
}

.search-suggest-panel[hidden] {
  display: none;
}

.search-suggest-item,
.search-suggest-all,
.search-suggest-empty {
  border-radius: 10px;
  color: var(--navy);
  display: grid;
  gap: 10px;
  grid-template-columns: 40px minmax(0, 1fr);
  padding: 9px;
}

.search-suggest-item:hover,
.search-suggest-item:focus-visible,
.search-suggest-all:hover,
.search-suggest-all:focus-visible {
  background: #f5f6fb;
  outline: none;
}

.search-suggest-thumb {
  align-items: center;
  background: var(--accent-soft);
  border-radius: 10px;
  color: var(--red);
  display: inline-flex;
  font-weight: 600;
  height: 40px;
  justify-content: center;
  overflow: hidden;
  width: 40px;
}

.search-suggest-thumb img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.search-suggest-item strong {
  display: block;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-suggest-item small {
  color: var(--muted);
  display: block;
  font-size: 12px;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.search-suggest-all {
  align-items: center;
  background: var(--navy);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  grid-template-columns: 1fr;
  justify-items: center;
  margin-top: 4px;
}

.search-suggest-all:hover,
.search-suggest-all:focus-visible {
  background: var(--red);
  color: #fff;
}

.search-suggest-empty {
  color: var(--muted);
  font-size: 13px;
  grid-template-columns: 1fr;
}

.main-nav {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  grid-column: 2;
  grid-row: 1;
  justify-content: center;
  min-width: 0;
}
.main-nav a {
  color: #1f2937;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}
.main-nav a:hover { color: var(--red); }
.submit-link {
  align-items: center;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border-radius: var(--radius);
  color: #fff;
  display: inline-flex;
  font-weight: 600;
  gap: 10px;
  min-height: 48px;
  padding: 0 18px;
  white-space: nowrap;
}
.submit-link:hover { background: var(--red-dark); }

.site-header > .submit-link {
  display: none;
}

.mobile-header-layer {
  display: none;
}

main {
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 0;
}

.hero-layout {
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  margin-left: calc((100vw - var(--page)) / -2);
  margin-right: calc((100vw - var(--page)) / -2);
  max-width: 100vw;
  padding-bottom: 28px;
}
.hero-card {
  --hero-image: url("/uploads/optimized/gemini-generated-image-b8rf97b8rf97b8rf-1781605510207-banner.webp");
  background:
    linear-gradient(90deg, rgba(248, 250, 252, 0.98) 0%, rgba(248, 250, 252, 0.94) 43%, rgba(248, 250, 252, 0.2) 72%),
    linear-gradient(180deg, rgba(32, 41, 95, 0.24), rgba(240, 77, 115, 0.2)),
    var(--hero-image) center / cover!important;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 36px;
  grid-template-columns: minmax(0, 760px) minmax(280px, 360px);
  justify-content: space-between;
  min-height: 500px;
  overflow: visible;
  padding-left: max(24px, calc((100vw - 1540px) / 2));
  padding-right: max(24px, calc((100vw - 1540px) / 2));
  position: relative;
  transition: background-image 240ms ease;
}
.hero-card::after {
  background:
    linear-gradient(180deg, transparent 0 72%, rgba(248, 250, 252, 0.9) 100%),
    radial-gradient(circle at 85% 22%, rgba(255, 255, 255, 0.36), transparent 30%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.hero-content {
  align-content: center;
  display: grid;
  gap: 18px;
  max-width: 100%;
  min-height: 500px;
  padding: clamp(44px, 6vw, 82px) 0 clamp(74px, 8vw, 112px);
  position: relative;
  z-index: 20;
}
.hero-kicker {
  align-items: center;
  color: var(--red);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.hero-weather-icon {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(240, 77, 115, 0.2);
  border-radius: 999px;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  width: 28px;
}
.hero-weather-icon svg {
  fill: none;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2;
  width: 16px;
}
.hero-content h1 {
  font-family: "Poppins", Arial, Helvetica, sans-serif;
  color: var(--navy);
  font-size: clamp(34px, 4vw, 64px);
  letter-spacing: 0;
  line-height: 1.02;
  margin: 0;
  max-width: 820px;
}
.hero-content h1 span { color: var(--red); display: block; }
.hero-content p {
  color: #344054;
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.6;
  margin: 0;
  max-width: 760px;
}
.hero-search {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(32, 41, 95, 0.12);
  border-radius: 18px;
  box-shadow: 0 22px 60px rgba(32, 41, 95, 0.18);
  display: grid;
  gap: 12px;
  grid-template-columns: 24px minmax(0, 1fr) 78px minmax(104px, auto);
  margin: 10px 0 0;
  max-width: 800px;
  padding: 10px;
  position: relative;
}

.hero-search .search-suggest-panel {
  max-height: 320px;
  z-index: 260;
}
.hero-search > svg { color: var(--navy); margin-left: 8px; }
.hero-search input,
.hero-search select {
  border: 0;
  min-height: 44px;
}
.open-toggle {
  align-items: center;
  color: var(--muted);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 6px;
}
.hero-search button,
.newsletter button {
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border: 0;
  border-radius: 14px;
  color: #fff;
  font-weight: 600;
  min-height: 44px;
  padding: 0 22px;
  white-space: nowrap;
}
.hero-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 2px;
}

.hero-link-row a {
  align-items: center;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(32, 41, 95, 0.12);
  border-radius: 999px;
  color: var(--navy);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  justify-content: center;
  line-height: 1;
  min-height: 38px;
  padding: 0 15px;
}

.hero-link-row a svg {
  align-self: center;
  color: var(--red);
  flex: 0 0 17px;
  fill: none;
  height: 17px;
  display: block;
  stroke: currentColor;
  stroke-width: 2;
  width: 17px;
}

.hero-link-row a:hover,
.hero-link-row a:focus-visible {
  background: var(--navy);
  color: #fff;
  outline: none;
}

.hero-link-row a:hover svg,
.hero-link-row a:focus-visible svg {
  color: #fff;
}
.popular-searches {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.hero-category-grid {
  display: grid;
  gap: 10px !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.hero-category-panel {
  background: #fff;
  border: 1px solid rgba(32, 41, 95, 0.1);
  border-radius: 18px;
  box-shadow: 0 20px 55px rgba(32, 41, 95, 0.12);
  display: grid;
  gap: 14px;
  margin: -58px auto 0;
  max-width: min(var(--page), calc(100vw - 32px));
  padding: 16px;
  position: relative;
  width: 100%;
  z-index: 4;
}

.hero-category-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}

.hero-category-head a {
  color: var(--red);
  font-size: 13px;
  font-weight: 600;
}

.hero-duty-card {
  --hero-duty-image: linear-gradient(#fff, #fff);
  align-self: center;
  backdrop-filter: blur(3px);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.78)),
    var(--hero-duty-image);
  background-position: center;
  background-size: cover;
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(32, 41, 95, 0.18);
  color: var(--navy);
  display: grid;
  gap: 12px;
  min-height: 230px;
  padding: 24px;
  position: relative;
  z-index: 1;
}

.hero-duty-card span {
  color: var(--red);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
}

.hero-duty-card h2 {
  font-size: 28px;
  line-height: 1.1;
  margin: 0;
}

.hero-duty-card p {
  color: var(--muted);
  margin: 0;
}

.hero-duty-card > strong {
  background: rgba(240, 77, 115, 0.1);
  border: 1px solid rgba(240, 77, 115, 0.22);
  border-radius: 14px;
  color: var(--navy);
  display: block;
  font-size: 17px;
  padding: 12px 14px;
}

.hero-duty-address,
.hero-duty-phone {
  color: #344054;
  font-size: 14px;
}

.hero-duty-phone {
  font-weight: 600;
}

.hero-duty-card > a:last-child {
  align-self: end;
  background: var(--navy);
  border-radius: 14px;
  color: #fff;
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  min-height: 44px;
  padding: 12px 16px;
}
.popular-searches strong {
  font-size: 13px;
  margin-right: 6px;
}
.popular-searches button,
.tabs button,
.map-tabs button {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: #344054;
  font-size: 13px;
  font-weight: 600;
  min-height: 34px;
  padding: 0 14px;
}
.popular-searches button:hover,
.tabs button.active,
.map-tabs button.active {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}
.hero-dots {
  bottom: 32px;
  display: flex;
  gap: 10px;
  position: absolute;
  right: 54px;
}
.carousel-dots button {
  background: #fff;
  border: 0;
  border-radius: 999px;
  display: block;
  height: 10px;
  min-height: 0;
  padding: 0;
  width: 10px;
}
.carousel-dots button.active {
  background: var(--red);
  width: 24px;
}
.slider-dots button { background: #d7dbe3; }

.carousel-controls {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}
.carousel-controls button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--navy);
  display: inline-flex;
  font-size: 22px;
  font-weight: 600;
  height: 36px;
  justify-content: center;
  min-height: 0;
  padding: 0;
  width: 36px;
}
.carousel-controls button:hover {
  border-color: var(--red);
  color: var(--red);
}

.health-card,
.content-panel,
.category-strip,
.events-card,
.map-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.04);
}
.health-card {
  padding: 24px;
}
.panel-title,
.section-head {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
.panel-title h2,
.section-head h2 {
  font-size: 22px;
  margin: 0;
}
.panel-title svg {
  color: var(--red);
  height: 24px;
  width: 24px;
}
.hospital-hero {
  background:
    linear-gradient(0deg, rgba(0,0,0,0.72), rgba(0,0,0,0.08)),
    url("https://images.unsplash.com/photo-1586773860418-d37222d8fce3?auto=format&fit=crop&w=900&q=80") center / cover;
  border-radius: var(--radius);
  color: #fff;
  display: grid;
  margin: 22px 0 14px;
  min-height: 190px;
  padding: 22px;
  place-content: end start;
}
.hospital-hero span {
  font-size: 18px;
  font-weight: 600;
}
.hospital-hero small { font-size: 14px; margin: 4px 0 14px; }
.hospital-hero b {
  background: #fff;
  border-radius: 5px;
  color: var(--navy);
  display: inline-block;
  font-size: 13px;
  padding: 10px 14px;
}
.health-list { display: grid; }
.health-item {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 12px;
  grid-template-columns: 34px 1fr auto 14px;
  min-height: 72px;
}
.health-icon {
  align-items: center;
  color: var(--red);
  display: inline-flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}
.health-icon svg {
  height: 22px;
  width: 22px;
}
.health-item strong { display: block; font-size: 15px; }
.health-item small { color: var(--muted); }
.status-chip {
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 10px;
}
.status-chip.open { background: #e7f7f0; color: var(--green); }
.status-chip.alert { background: var(--accent-soft); color: var(--red); }
.wide-link {
  border: 1px solid var(--line);
  border-radius: 6px;
  color: #344054;
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-top: 18px;
  padding: 13px;
  text-align: center;
}

.category-strip {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
#categoryList {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(5, 1fr);
}
.category-card {
  align-items: center;
  background: #f8fafc;
  border: 1px solid rgba(32, 41, 95, 0.1);
  border-radius: 14px;
  color: var(--navy);
  cursor: pointer;
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr;
  justify-items: center;
  height: 92px;
  min-height: 92px;
  padding: 12px 10px;
  text-align: center;
  text-decoration: none;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.category-card:hover {
  background: #fff;
  border-color: rgba(240, 77, 115, 0.42);
  box-shadow: 0 12px 30px rgba(32, 41, 95, 0.1);
  transform: translateY(-2px);
}
.category-icon {
  align-items: center;
  color: var(--red);
  display: inline-flex;
  height: 28px;
  justify-content: center;
  width: 28px;
}
.category-icon svg {
  height: 24px;
  width: 24px;
}
.category-icon img {
  height: 28px;
  object-fit: contain;
  width: 28px;
}
.category-card h3 { font-size: 12px; margin: 0; }
.all-categories {
  border-top: 0;
  color: var(--red);
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin: -8px 0 0;
  padding: 0 0 6px;
  text-align: center;
}

.content-panel,
.map-panel {
  padding: 24px;
}
.section-head {
  margin-bottom: 22px;
}
.section-head a {
  color: var(--red);
  font-size: 13px;
  font-weight: 600;
}
.section-head p {
  color: var(--muted);
  margin: 4px 0 0;
}

.category-card,
.place-card,
.business-card,
.category-business-card,
.event-card,
.cinema-movie,
.hospital-card,
.pharmacy-card,
.benefits-row article,
.single-related-card {
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
  will-change: transform;
}

.category-card:hover,
.place-card:hover,
.business-card:hover,
.category-business-card:hover,
.event-card:hover,
.cinema-movie:hover,
.hospital-card:hover,
.pharmacy-card:hover,
.benefits-row article:hover,
.single-related-card:hover {
  border-color: rgba(240, 77, 115, 0.36);
  box-shadow: 0 8px 22px rgba(32, 41, 95, 0.08);
  transform: translateY(-2px);
}

.place-card img,
.business-media img,
.category-business-image img,
.event-card img,
.cinema-poster img {
  transition: transform 0.28s ease;
}

.place-card:hover img,
.business-card:hover .business-media img,
.category-business-card:hover .category-business-image img,
.event-card:hover img,
.cinema-movie:hover .cinema-poster img {
  transform: scale(1.035);
}

.circle-action,
.category-card,
.business-category-link,
.section-head a,
.submit-link {
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.circle-action:hover {
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
  .category-card,
  .place-card,
  .business-card,
  .category-business-card,
  .event-card,
  .cinema-movie,
  .hospital-card,
  .pharmacy-card,
  .benefits-row article,
  .single-related-card,
  .place-card img,
  .business-media img,
  .category-business-image img,
  .event-card img,
  .cinema-poster img,
  .circle-action {
    transition: none;
  }

  .category-card:hover,
  .place-card:hover,
  .business-card:hover,
  .category-business-card:hover,
  .event-card:hover,
  .cinema-movie:hover,
  .hospital-card:hover,
  .pharmacy-card:hover,
  .benefits-row article:hover,
  .single-related-card:hover,
  .place-card:hover img,
  .business-card:hover .business-media img,
  .category-business-card:hover .category-business-image img,
  .event-card:hover img,
  .cinema-movie:hover .cinema-poster img,
  .circle-action:hover {
    transform: none;
  }
}

.featured-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#featuredPlaces {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.place-card {
  background: var(--navy-dark);
  border-radius: var(--radius);
  color: #fff;
  min-height: 240px;
  overflow: hidden;
  position: relative;
}
.place-card a {
  display: block;
  min-height: 240px;
  position: relative;
}
.place-card::before {
  background: linear-gradient(0deg, rgba(0,0,0,0.78), rgba(0,0,0,0.04));
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}
.place-card img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}
.place-card a > div {
  bottom: 16px;
  left: 16px;
  position: absolute;
  right: 16px;
  z-index: 2;
}
.label {
  background: var(--red);
  border-radius: 4px;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 9px;
}
.place-card h3 { font-size: 19px; margin: 12px 0 6px; }
.stars { color: var(--yellow); font-size: 14px; font-weight: 600; }
.rating { color: #fff; font-weight: 600; }
.slider-dots {
  display: flex;
  gap: 9px;
  justify-content: center;
  margin-top: 22px;
  max-width: 100%;
}

.kalo-header-block {
  align-items: end;
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.42) 0%, #20295f40 44%, #20295f59 46%, #20295fb8 55%),
    url("/uploads/optimized/coffee-shop-bar-counter-cafe-restaurant-relaxation-concept-1780422698582-banner.webp") right center / cover no-repeat;
  border-bottom: 1px solid rgba(225, 228, 240, 0.9);
  border-radius: var(--radius) var(--radius) 0 0;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr);
  margin: -24px -24px 20px;
  padding: 26px 24px 22px;
  position: relative;
}

.kalo-header-block--places {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.36) 0%, #20295f38 42%, #20295f73 54%, #20295fd1 78%),
    url("/uploads/art-gallery-meetings-corporate-events-art-galleries-business-meeting-art-galler.webp") right center / cover no-repeat;
}

.kalo-header-block--institutions {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.34) 0%, #20295f45 42%, #20295f78 55%, #20295fd4 78%),
    url("/uploads/739a64b5-7be4-43f6-9e90-f6d89369f2d2.webp") right center / cover no-repeat;
}

.kalo-header-block--cinema {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.38) 0%, #20295f42 42%, #20295f7a 55%, #20295fd8 80%),
    url("/uploads/optimized/vintage-movie-posters-decorate-cinema-lobby-upcoming-movie-s-1781593866088-banner.webp") right center / cover no-repeat;
}

.kalo-header-block--pharmacy {
  background:
    linear-gradient(340deg, rgba(47, 159, 123, 0.38) 0%, #20295f4d 42%, #20295f82 56%, #20295fd6 80%),
    url("/uploads/optimized/pharmacist-dispensing-medication-pharmacy-counter-healthcare-1780832082229-banner.webp") right center / cover no-repeat;
}

.kalo-header-block--hospital {
  background:
    linear-gradient(340deg, rgba(235, 69, 95, 0.34) 0%, #20295f42 42%, #20295f80 56%, #20295fd8 80%),
    url("/uploads/optimized/blurred-hospital-waiting-zone-patients-chairs-1780835196439-banner.webp") right center / cover no-repeat;
}

.kalo-header-block--health {
  background:
    linear-gradient(340deg, rgba(47, 159, 123, 0.34) 0%, #20295f42 42%, #20295f7c 55%, #20295fd8 80%),
    url("/uploads/optimized/blurred-hospital-waiting-zone-patients-chairs-1780835196439-banner.webp") right center / cover no-repeat;
}

.kalo-header-block::before {
  background: linear-gradient(180deg, var(--red), var(--navy));
  border-radius: 999px;
  content: "";
  height: calc(100% - 48px);
  left: 0;
  position: absolute;
  top: 24px;
  width: 4px;
}

.kalo-header-copy {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.kalo-header-kicker {
  align-items: center;
  color: var(--red);
  display: inline-flex;
  font-size: 13px;
  font-weight: 500;
  gap: 10px;
  text-transform: uppercase;
  width: max-content;
}

.kalo-header-badge {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(240, 77, 115, 0.18);
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(32, 41, 95, 0.09);
  color: var(--red);
  display: inline-flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.kalo-header-badge svg {
  fill: currentColor;
  height: 17px;
  stroke: none;
  width: 17px;
}

.kalo-header-badge img {
  display: block;
  height: 19px;
  object-fit: contain;
  width: 19px;
}

.kalo-header-block--cinema .kalo-header-badge svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.kalo-header-title {
  color: #fff;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  max-width: 860px;
}

.kalo-header-desc {
  color: rgba(255, 255, 255, 0.92);
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  max-width: 760px;
}

.business-filter-row {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 22px;
}

.business-filter-controls {
  margin-left: auto;
}

.section-control-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 22px;
}

.section-control-row--filters {
  align-items: center;
  gap: 14px;
  justify-content: space-between;
}

.city-filter {
  align-items: center;
  display: inline-flex;
  gap: 10px;
}

.city-filter span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}

.city-filter select {
  appearance: none;
  background:
    linear-gradient(45deg, transparent 50%, var(--navy) 50%) calc(100% - 18px) 50% / 6px 6px no-repeat,
    linear-gradient(135deg, var(--navy) 50%, transparent 50%) calc(100% - 14px) 50% / 6px 6px no-repeat,
    #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
  min-height: 36px;
  min-width: 170px;
  padding: 0 34px 0 12px;
}

.city-filter select:disabled {
  color: var(--muted);
  opacity: 0.65;
}

@media (max-width: 860px) {
  .kalo-header-block {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .business-filter-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .business-filter-controls {
    margin-left: 0;
  }

  .section-control-row {
    justify-content: flex-start;
  }

  .section-control-row--filters {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .kalo-header-block {
    margin: -24px -24px 18px;
    padding: 22px 20px;
  }

  .kalo-header-title {
    font-size: clamp(25px, 8vw, 32px);
  }

  .kalo-header-desc {
    font-size: 15px;
    line-height: 1.6;
  }
}

.section-head--tabs {
  display: grid;
  grid-template-columns: auto 1fr auto;
}
.tabs { display: flex; gap: 8px; }
.business-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.business-card {
  background: #f9f9f9;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  --card-logo-safe-space: 86px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 76px;
  grid-template-rows: auto auto auto auto;
  min-height: 386px;
  overflow: hidden;
  padding: 0 18px 18px;
  position: relative;
}
.business-card::before {
  display: none;
}
.business-card::after {
  display: none;
}
.business-card > * {
  position: relative;
  z-index: 1;
}

.business-card:has(h3 a),
.category-business-card:has(h2 a),
.explore-directory-card:has(h3 a) {
  cursor: pointer;
}

.business-media {
  border-radius: 0 0 18px 18px;
  grid-column: 1 / -1;
  grid-row: 1;
  height: 128px;
  margin: 0 -18px 0;
  overflow: hidden;
  position: relative;
}

.business-media::after {
  background: linear-gradient(180deg, rgba(31, 42, 92, 0.32), rgba(31, 42, 92, 0));
  content: "";
  inset: 0;
  position: absolute;
  pointer-events: none;
}

.business-media-fill {
  display: block;
  height: 100%;
  width: 100%;
}

.business-media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.image-attribution {
  background: rgba(31, 42, 92, 0.72);
  border-radius: 4px;
  bottom: 7px;
  color: #fff;
  font-size: 10px;
  line-height: 1.2;
  max-width: calc(100% - 16px);
  overflow: hidden;
  padding: 3px 5px;
  position: absolute;
  right: 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
  z-index: 3;
}

.image-attribution:hover {
  color: #fff;
  text-decoration: underline;
}

.business-media .status-open,
.business-media .status-closed,
.business-media .status-appointment {
  left: 14px;
  position: absolute;
  top: 14px;
  z-index: 2;
}

.business-image-label {
  background: rgba(255, 255, 255, 0.94);
  border-radius: 999px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
  max-width: calc(100% - 120px);
  overflow: hidden;
  padding: 6px 10px;
  position: absolute;
  right: 14px;
  text-overflow: ellipsis;
  top: 14px;
  white-space: nowrap;
  z-index: 3;
}

a.business-image-label {
  text-decoration: none;
}

a.business-image-label:hover {
  color: var(--red);
}

.business-logo {
  align-items: center;
  background: #fff;
  border: 3px solid #eef1f8;
  border-radius: 50%;
  color: var(--red);
  display: flex;
  font-weight: 600;
  height: 64px;
  justify-content: center;
  justify-self: end;
  grid-column: 2;
  grid-row: 2;
  margin-top: -32px;
  overflow: hidden;
  padding: 7px;
  width: 64px;
}

.business-logo img,
.single-logo img {
  border-radius: 50%;
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}
.business-main {
  grid-column: 1 / -1;
  grid-row: 2;
  min-width: 0;
  padding-right: 0;
  padding-top: 16px;
}

.business-card > .business-logo + .business-main,
.business-card > .business-main:has(+ .business-logo) {
  padding-right: 0;
}
.business-card h3 {
  display: block;
  font-size: 17px;
  line-height: 1.18;
  max-height: calc(3 * 1.18em);
  margin: 0 0 3px;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.business-card h3::before {
  content: "";
  float: right;
  height: 1.18em;
  width: var(--card-logo-safe-space);
}
.business-card p { color: var(--muted); font-size: 13px; margin: 0 0 8px; }
.business-category-link {
  align-items: center;
  color: #20295f;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  margin: 10px 0 0;
}

.business-category-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 10px 0 0;
}

.business-category-links .business-category-link {
  margin: 0;
}

#businessList {
  align-items: stretch;
  min-height: 414px;
}

#businessList .business-card {
  grid-template-rows: 128px 154px 58px 46px;
  height: 414px;
  min-height: 414px;
}

#businessList .business-main {
  align-self: start;
  min-height: 154px;
}

#businessList .business-card h3 {
  max-height: calc(2 * 1.18em);
}

#businessList .business-intro {
  display: -webkit-box;
  line-height: 1.45;
  min-height: calc(2 * 1.45em);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#businessList .business-category-links {
  max-height: 38px;
  overflow: hidden;
}

#businessList .business-meta {
  align-self: end;
  margin-top: 0;
  min-height: 54px;
  overflow: hidden;
}

#businessList .business-actions {
  align-self: end;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  margin-top: 0;
  max-height: 46px;
  overflow: hidden;
  padding-top: 6px;
}

#businessList .circle-action,
#featuredPlaces .circle-action,
#institutionList .circle-action {
  height: 36px;
  width: 36px;
}

#businessList .circle-action svg,
#featuredPlaces .circle-action svg,
#institutionList .circle-action svg {
  height: 16px;
  width: 16px;
}

#businessList .business-google-rating,
#featuredPlaces .business-google-rating,
#institutionList .business-google-rating {
  flex: 0 1 auto;
  gap: 6px;
  height: 36px;
  margin-left: auto;
  max-width: 150px;
  padding: 0 11px;
}

#businessList .business-google-rating strong,
#featuredPlaces .business-google-rating strong,
#institutionList .business-google-rating strong {
  font-size: 13px;
}

#businessList .business-google-rating .stars,
#featuredPlaces .business-google-rating .stars,
#institutionList .business-google-rating .stars {
  font-size: 12px;
}

#businessList .circle-action:hover,
#featuredPlaces .circle-action:hover,
#institutionList .circle-action:hover {
  transform: none;
}

#businessList .meta-row,
#featuredPlaces .meta-row,
#institutionList .meta-row {
  min-height: 24px;
  overflow: hidden;
}

#businessList .meta-row span:last-child,
#featuredPlaces .meta-row span:last-child,
#institutionList .meta-row span:last-child {
  display: -webkit-box;
  line-height: 1.35;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

#featuredPlaces {
  align-items: stretch;
  min-height: 408px;
}

#featuredPlaces .business-card {
  grid-template-rows: 128px 154px 58px 40px;
  height: 408px;
  min-height: 408px;
}

#featuredPlaces .place-card,
#featuredPlaces .place-card a {
  height: 430px;
  min-height: 430px;
}

#featuredPlaces .business-main {
  align-self: start;
  min-height: 154px;
}

#featuredPlaces .business-card h3 {
  max-height: calc(2 * 1.18em);
}

#featuredPlaces .business-intro {
  display: -webkit-box;
  line-height: 1.45;
  min-height: calc(2 * 1.45em);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#featuredPlaces .business-category-links {
  max-height: 38px;
  overflow: hidden;
}

#featuredPlaces .business-meta,
#featuredPlaces .business-actions {
  align-self: end;
  margin-top: 0;
}

#featuredPlaces .business-actions,
#institutionList .business-actions {
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  max-height: 40px;
  overflow: hidden;
}

#featuredPlaces .business-meta {
  min-height: 54px;
  overflow: hidden;
}

#institutionList {
  align-items: stretch;
  min-height: 408px;
}

#institutionList .business-card {
  grid-template-rows: 128px 154px 58px 40px;
  height: 408px;
  min-height: 408px;
}

#institutionList .business-main {
  align-self: start;
  min-height: 154px;
}

#institutionList .business-card h3 {
  max-height: calc(2 * 1.18em);
}

#institutionList .business-intro {
  display: -webkit-box;
  line-height: 1.45;
  min-height: calc(2 * 1.45em);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#institutionList .business-meta,
#institutionList .business-actions {
  align-self: end;
  margin-top: 0;
}

#institutionList .business-meta {
  min-height: 54px;
  overflow: hidden;
}

#eventList {
  align-items: stretch;
  min-height: 0;
}

#eventList .event-card {
  height: 100%;
  min-height: 0;
}

#eventList .event-card a {
  display: grid;
  grid-template-rows: auto 1fr;
}

#eventList .event-body {
  align-content: start;
  background-color: #f9f9f9;
  min-height: 0;
}

#eventList .event-card img,
#eventList .event-media {
  height: auto;
  min-height: 0;
}

#eventList .event-card h3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

#hospitalList {
  align-items: flex-start;
}

#hospitalList .kalo-clinic-card {
  box-shadow: none;
  height: auto;
  min-height: 0;
}

#hospitalList .kalo-clinic-card:hover {
  box-shadow: none;
  transform: none;
}

#hospitalList .kalo-clinic-card__title,
#hospitalList .kalo-clinic-card__box {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

.categories-page-shell {
  display: grid;
  gap: 28px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 72px;
  width: 100%;
}

.categories-page-hero {
  align-items: end;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 14px 38px rgba(32, 41, 95, 0.07);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  padding: 34px;
}

.categories-page-hero h1 {
  color: var(--navy);
  font-size: clamp(32px, 4vw, 56px);
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
  max-width: 780px;
}

.categories-page-hero p:not(.eyebrow) {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.7;
  margin: 14px 0 0;
  max-width: 720px;
}

.categories-page-search {
  align-items: center;
  background: #f7f8fb;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 10px;
  grid-template-columns: 22px minmax(0, 1fr);
  min-height: 58px;
  padding: 0 16px;
}

.categories-page-search svg {
  color: var(--navy);
  height: 20px;
  width: 20px;
}

.categories-page-search input {
  background: transparent;
  border: 0;
  color: var(--ink);
  font: inherit;
  font-weight: 600;
  min-width: 0;
  outline: 0;
}

.categories-directory-section {
  display: grid;
  gap: 16px;
}

.categories-directory-head {
  align-items: end;
}

.categories-directory-head p {
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
  margin: 0;
}

.categories-directory-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.categories-directory-grid--compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.category-directory-card {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 10px 28px rgba(32, 41, 95, 0.05);
  color: var(--ink);
  display: grid;
  gap: 14px;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  min-height: 118px;
  padding: 18px;
  text-decoration: none;
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.category-directory-card:hover {
  border-color: rgba(240, 77, 115, 0.38);
  box-shadow: 0 14px 34px rgba(32, 41, 95, 0.09);
  transform: translateY(-2px);
}

.category-directory-icon {
  align-items: center;
  background: var(--accent-soft);
  border: 1px solid rgba(240, 77, 115, 0.18);
  border-radius: 50%;
  color: var(--red);
  display: inline-flex;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.category-directory-icon svg {
  height: 23px;
  width: 23px;
}

.category-directory-icon img {
  height: 58%;
  object-fit: contain;
  width: 58%;
}

.category-directory-card strong,
.category-directory-card small {
  display: block;
  min-width: 0;
}

.category-directory-card strong {
  color: var(--navy);
  font-size: 16px;
  line-height: 1.2;
}

.category-directory-card small {
  color: var(--muted);
  display: -webkit-box;
  font-size: 13px;
  line-height: 1.45;
  margin-top: 5px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.category-directory-card em {
  background: #f7f8fb;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--navy);
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  padding: 6px 10px;
  white-space: nowrap;
}

.business-category-link > span {
  align-items: center;
  background: #f7f7f7;
  border-radius: 50%;
  border: 1px solid #20295f17;
  color: #fff;
  display: inline-flex;
  flex: 0 0 30px;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.business-category-link svg {
  height: 16px;
  width: 16px;
}

.business-category-link img,
.category-icon img,
.category-hero-icon img {
  height: 60%;
  object-fit: contain;
  width: 60%;
}

.business-category-link:hover {
  color: var(--red);
}

.business-google-rating {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  display: flex;
  font-size: 12px;
  gap: 6px;
  height: 36px;
  margin: 0 0 0 auto;
  min-width: 0;
  overflow: hidden;
  padding: 0 11px;
  white-space: nowrap;
}

.business-google-rating .google-score {
  align-items: baseline;
  display: inline-flex;
  flex: 0 0 auto;
  font-weight: 600;
  gap: 3px;
}

.google-mark {
  display: inline-flex;
  font-weight: 600;
}

.google-mark span:nth-child(1) { color: #4285f4; }
.google-mark span:nth-child(2) { color: #ea4335; }
.google-mark span:nth-child(3) { color: #fbbc05; }
.google-mark span:nth-child(4) { color: #4285f4; }
.google-mark span:nth-child(5) { color: #34a853; }
.google-mark span:nth-child(6) { color: #ea4335; }

.business-google-rating strong {
  color: var(--ink);
  font-size: 13px;
}

.business-google-rating .stars {
  color: var(--yellow);
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
}

.business-intro {
  display: -webkit-box;
  font-size: 14px !important;
  line-height: 1.45;
  margin: 8px 0 0 !important;
  max-width: 100%;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.business-meta {
  color: var(--muted);
  display: grid;
  font-size: 13px;
  gap: 7px;
  grid-column: 1 / -1;
  grid-row: 3;
  margin-top: 14px;
  max-width: 100%;
}
.meta-row {
  align-items: flex-start;
  display: flex;
  gap: 8px;
}
.meta-icon {
  align-items: center;
  background: #eef1f8;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--navy);
  display: inline-flex;
  flex: 0 0 24px;
  font-size: 11px;
  font-weight: 600;
  height: 24px;
  justify-content: center;
  width: 24px;
}
.meta-icon svg {
  height: 13px;
  width: 13px;
}
.meta-row span:last-child {
  overflow-wrap: anywhere;
}
.business-actions,
.card-actions {
  display: flex;
  gap: 9px;
  grid-column: 1 / -1;
  grid-row: 4;
  margin-top: 16px;
}
.circle-action,
.profile-button,
.card-actions a {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--navy);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  min-height: 36px;
  padding: 0 12px;
}
.circle-action {
  height: 36px;
  justify-content: center;
  min-width: 0;
  padding: 0;
  width: 36px;
}
.circle-action svg {
  height: 16px;
  width: 16px;
}
.profile-button:hover,
.circle-action:hover,
.card-actions a:hover {
  border-color: var(--red);
  color: var(--red);
}
.result-count {
  color: var(--muted);
  font-size: 13px;
  margin: 16px 0 0;
}
.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pill,
.status-open,
.status-closed,
.status-appointment {
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  padding: 5px 9px;
}
.pill { background: #f2f4f7; color: #344054; }
a.pill {
  text-decoration: none;
}
a.pill:hover {
  background: var(--accent-soft);
  color: var(--red);
}
.status-open { background: #e7f7f0; color: var(--green); }
.status-closed { background: var(--accent-soft); color: var(--red); }
.status-appointment { background: #fff7e6; color: #b7791f; }
.business-meta > .status-open,
.business-meta > .status-closed,
.business-meta > .status-appointment {
  background: transparent;
  padding: 0;
}

.admin-hours-editor {
  background: #fbfdff;
  border: 1px solid var(--admin-border, var(--line));
  border-radius: 16px;
  display: grid;
  gap: 14px;
  padding: 14px;
}

.admin-hours-head {
  align-items: end;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.admin-hours-head strong {
  color: var(--admin-text, var(--ink));
  display: block;
  font-size: 16px;
}

.admin-hours-head p {
  color: var(--admin-muted, var(--muted));
  margin: 4px 0 0;
}

.admin-hours-head label {
  min-width: 190px;
}

.admin-hours-tabs {
  border-bottom: 1px solid var(--admin-border, var(--line));
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.admin-hours-tabs button {
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--admin-text, var(--ink));
  display: grid;
  gap: 2px;
  min-height: 54px;
  padding: 8px 6px;
}

.admin-hours-tabs button.active {
  border-color: var(--red);
  color: var(--red);
}

.admin-hours-tabs small {
  color: inherit;
  font-size: 11px;
}

.admin-hours-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.admin-hours-modes label {
  align-items: center;
  display: inline-flex;
  gap: 7px;
}

.admin-hours-modes input {
  accent-color: var(--red);
}

.admin-hours-intervals {
  display: grid;
  gap: 10px;
}

.admin-hours-row {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) 42px;
}

.admin-hours-row button {
  background: #fff;
  border: 1px solid var(--admin-border, var(--line));
  border-radius: 50%;
  color: var(--admin-muted, var(--muted));
  height: 38px;
  min-height: 0;
  padding: 0;
  width: 38px;
}

.institution-panel {
  background:
    linear-gradient(180deg, #ffffff, #f8fafc);
}

.institution-card .business-logo {
  background: linear-gradient(135deg, var(--navy), var(--red));
  border-color: #fff;
  color: #fff;
}

.institution-card .business-media::after {
  background: linear-gradient(180deg, rgba(32, 41, 95, 0.38), rgba(32, 41, 95, 0.02));
}

.category-page-shell {
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 42px;
}

.category-hero {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(31, 42, 92, 0.96), rgba(240, 77, 115, 0.88)),
    url("https://images.unsplash.com/photo-1518005020951-eccb494ad742?auto=format&fit=crop&w=1400&q=80") center / cover;
  border-radius: var(--radius);
  color: #fff;
  display: grid;
  gap: 18px;
  grid-template-columns: auto 1fr;
  min-height: 220px;
  padding: 34px;
}

.category-hero h1 {
  font-size: clamp(30px, 5vw, 54px);
  line-height: 1.05;
  margin: 0;
}

.category-hero p {
  margin: 0;

}

.category-hero-icon {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: var(--red);
  display: inline-flex;
  height: 76px;
  justify-content: center;
  width: 76px;
}

.category-hero-icon svg {
  height: 34px;
  width: 34px;
}

.category-business-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.category-business-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}

.category-business-image {
  display: block;
  height: 180px;
  position: relative;
}

.category-business-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.category-business-image .status-open,
.category-business-image .status-closed,
.category-business-image .status-appointment {
  left: 14px;
  position: absolute;
  top: 14px;
}

.category-business-body {
  display: grid;
  gap: 12px;
  padding: 18px;
}

.category-business-title {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: auto 1fr;
}

.category-business-title .business-logo {
  grid-column: auto;
  grid-row: auto;
  justify-self: auto;
  margin: 0;
  padding: 7px;
}

.category-business-title h2 {
  font-size: 18px;
  line-height: 1.2;
  margin: 0;
}

.category-business-title .business-category-link {
  margin: 6px 0 0;
}

.category-google-rating {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
}

.category-google-rating span {
  color: var(--yellow);
  font-weight: 600;
}

.category-business-meta {
  color: var(--muted);
  display: grid;
  font-size: 13px;
  gap: 8px;
}

.category-business-meta span {
  align-items: center;
  display: flex;
  gap: 8px;
}

.category-business-meta svg {
  color: var(--navy);
  flex: 0 0 16px;
  height: 16px;
  width: 16px;
}

.explore-page-shell {
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width: var(--page);
  overflow: visible;
  padding: 18px 0 48px;
}

.directory-page-shell {
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 48px;
}

.directory-page-hero {
  align-content: end;
  background:
    linear-gradient(90deg, rgba(32, 41, 95, 0.94), rgba(32, 41, 95, 0.58)),
    url("https://images.unsplash.com/photo-1518005020951-eccb494ad742?auto=format&fit=crop&w=1600&q=80") center / cover;
  border-radius: var(--radius);
  color: #fff;
  display: grid;
  min-height: 175px;
  padding: 34px;
}

.directory-page-hero--cinema {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.38) 0%, #20295f42 42%, #20295f7a 55%, #20295fd8 80%),
    url("/uploads/optimized/vintage-movie-posters-decorate-cinema-lobby-upcoming-movie-s-1781593866088-banner.webp") center / cover;
}

.directory-page-hero--institutions {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.34) 0%, #20295f45 42%, #20295f78 55%, #20295fd4 78%),
    url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1600&q=80") center / cover;
}

.directory-page-hero--map {
  background:
    linear-gradient(340deg, rgba(47, 159, 123, 0.28) 0%, #20295f42 42%, #20295f74 55%, #20295fd8 80%),
    url("https://images.unsplash.com/photo-1524661135-423995f22d0b?auto=format&fit=crop&w=1600&q=80") center / cover;
}

.directory-page-hero--health {
  background:
    linear-gradient(340deg, rgba(47, 159, 123, 0.34) 0%, #20295f42 42%, #20295f7c 55%, #20295fd8 80%),
    url("/uploads/optimized/blurred-hospital-waiting-zone-patients-chairs-1780835196439-banner.webp") center / cover;
}

.directory-page-hero--categories {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.34) 0%, #20295f44 42%, #20295f78 55%, #20295fd6 80%),
    url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1600&q=80") center / cover;
}

.directory-page-hero--kalo {
  overflow: hidden;
  position: relative;
}

.directory-page-hero--kalo::before {
  background: linear-gradient(180deg, var(--red), var(--navy));
  border-radius: 999px;
  content: "";
  height: calc(100% - 64px);
  left: 0;
  position: absolute;
  top: 32px;
  width: 4px;
}

.directory-page-hero--kalo .kalo-header-copy {
  gap: 0;
  position: relative;
  z-index: 1;
}

.directory-page-hero--kalo .kalo-header-kicker {
  margin-bottom: 12px;
}

.directory-page-hero--kalo .kalo-header-badge svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.directory-page-hero--kalo .kalo-header-title {
  font-size: 40px;
  font-weight: 600;
  line-height: 1.12;
  margin: 0 0 12px;
}

.directory-page-hero--kalo .kalo-header-desc {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  margin: 0;
}

.directory-page-hero--businesses {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.36) 0%, #20295f40 42%, #20295f78 55%, #20295fd8 80%),
    url("/uploads/optimized/vallalkozok-banner-chatgpt-20260702-150718-banner.webp") center / cover;
}

.directory-page-hero--places {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.36) 0%, #20295f40 42%, #20295f78 55%, #20295fd8 80%),
    url("/uploads/optimized/b44b1147-ba3b-475e-b629-ea479afc4854-banner.webp") center / cover;
}

.directory-page-hero--events {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.32) 0%, #20295f40 42%, #20295f78 55%, #20295fd8 80%),
    url("/uploads/optimized/vibrant-concert-audience-front-stage-music-festival-concept-music-festivals-vibrant-audience-stage-performances-concert-excitement-live-music-events-banner.webp") center / cover;
}

.directory-page-hero h1 {
  font-size: 40px;
  font-weight: 600;
  line-height: 1.12;
  margin: 10px 0;
}

.directory-page-hero p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 15px;
  font-weight: 400;
  max-width: 740px;
}

.directory-business-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.directory-place-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.directory-cinema-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.directory-institution-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.institution-page-panel .section-control-row {
  align-items: end;
}

.institution-page-panel .city-filter input {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
  min-height: 46px;
  min-width: 0;
  padding: 0 14px;
}

.map-page-panel {
  display: grid;
  gap: 18px;
}

.explore-hero {
  align-items: end;
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.36) 0%, #20295f3d 42%, #20295f74 55%, #20295fd8 80%),
    url("https://images.unsplash.com/photo-1518005020951-eccb494ad742?auto=format&fit=crop&w=1600&q=80") center / cover;
  border-radius: var(--radius);
  color: #fff;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.6fr);
  min-height: 175px;
  overflow: hidden;
  padding: 34px;
  position: relative;
}

.explore-hero.directory-page-hero--events {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.32) 0%, #20295f40 42%, #20295f78 55%, #20295fd8 80%),
    url("/uploads/optimized/vibrant-concert-audience-front-stage-music-festival-concept-music-festivals-vibrant-audience-stage-performances-concert-excitement-live-music-events-banner.webp") center / cover !important;
}

.explore-hero.directory-page-hero--discover {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.32) 0%, #20295f40 42%, #20295f78 55%, #20295fd8 80%),
    url("/uploads/optimized/team-collaboration-celebrating-success-with-documents-charts-conference-table-banner.webp") center / cover !important;
}

.explore-hero.directory-page-hero--businesses {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.36) 0%, #20295f40 42%, #20295f78 55%, #20295fd8 80%),
    url("/uploads/optimized/vallalkozok-banner-chatgpt-20260702-150718-banner.webp") center / cover !important;
}

.explore-hero.directory-page-hero--places {
  background:
    linear-gradient(340deg, rgba(240, 77, 115, 0.36) 0%, #20295f40 42%, #20295f78 55%, #20295fd8 80%),
    url("/uploads/optimized/b44b1147-ba3b-475e-b629-ea479afc4854-banner.webp") center / cover !important;
}

.explore-hero::before {
  background: linear-gradient(180deg, var(--red), var(--navy));
  border-radius: 999px;
  content: "";
  height: calc(100% - 64px);
  left: 0;
  position: absolute;
  top: 32px;
  width: 4px;
}

.explore-hero > * {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.explore-hero h1 {
  color: #fff;
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0 0 12px;
  max-width: 860px;
}

.explore-hero p {
  color: rgba(255, 255, 255, 0.92);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  margin: 0;
  max-width: 720px;
}

.explore-hero .eyebrow {
  align-items: center;
  color: var(--red);
  display: inline-flex;
  font-size: 12px;
  font-weight: 600;
  gap: 10px;
  letter-spacing: 0.08em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.explore-hero-search {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--radius);
  box-shadow: 0 18px 42px rgba(19, 25, 61, 0.2);
  display: grid;
  gap: 10px;
  grid-template-columns: auto 1fr auto;
  min-width: 0;
  padding: 8px;
  position: relative;
  z-index: 20;
}

.explore-hero-search .search-suggest-panel {
  left: 0;
  max-height: min(340px, calc(100vh - 180px));
  right: 0;
  top: calc(100% + 10px);
  z-index: 900;
}

.explore-hero-search svg {
  color: var(--navy);
  height: 20px;
  margin-left: 10px;
  width: 20px;
}

.explore-hero-search input {
  border: 0;
  color: var(--ink);
  min-height: 46px;
  min-width: 0;
  outline: 0;
}

.explore-hero-search button,
.explore-filter-head button {
  background: linear-gradient(135deg, var(--navy), var(--red));
  border: 0;
  border-radius: 12px;
  color: #fff;
  font-weight: 600;
  min-height: 42px;
  padding: 0 16px;
}

.explore-layout {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: 300px minmax(0, 1fr);
  overflow: visible;
}

.explore-sidebar,
.explore-results {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.explore-sidebar {
  align-self: start;
  display: grid;
  gap: 18px;
  max-height: calc(100vh - var(--site-header-height, 82px) - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 18px;
  position: sticky;
  top: calc(var(--site-header-height, 82px) + 16px);
  z-index: 5;
}

@media (min-width: 1025px) {
  .explore-layout {
    align-items: start;
  }

  .explore-sidebar {
    align-self: start;
    max-height: calc(100vh - var(--site-header-height, 72px) - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
    position: sticky;
    top: calc(var(--site-header-height, 72px) + 16px);
    z-index: 5;
  }
}

.explore-filter-head {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  padding-bottom: 14px;
}

.explore-filter-head span {
  color: var(--navy);
  font-size: 20px;
  font-weight: 600;
}

.explore-filter-head button {
  background: var(--accent-soft);
  color: var(--red);
  min-height: 34px;
}

.explore-field {
  color: var(--muted);
  display: grid;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
}

.explore-field input,
.explore-field select,
.explore-sort select {
  appearance: none;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  min-height: 46px;
  padding: 0 12px;
  width: 100%;
}

.explore-field input {
  appearance: auto;
}

.filter-search-form {
  display: grid;
  gap: 10px;
}

.filter-search-form button {
  background: var(--navy);
  border: 0;
  border-radius: 12px;
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  min-height: 44px;
  padding: 0 16px;
}

.filter-search-form button:hover,
.filter-search-form button:focus-visible {
  background: var(--red);
  outline: none;
}

.categories-filter-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
}

.filter-search-form--wide {
  align-items: end;
  grid-template-columns: minmax(0, 1fr) auto;
}

.filter-search-form--wide button {
  min-width: 150px;
}

.explore-check {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: 10px;
  min-height: 46px;
  padding: 0 12px;
}

.explore-check input {
  accent-color: var(--red);
}

.explore-filter-block {
  display: grid;
  gap: 10px;
}

.explore-filter-block h2 {
  color: var(--navy);
  font-size: 15px;
  margin: 0;
}

.explore-shortcut-list {
  display: grid;
  gap: 8px;
}

.explore-shortcut-list a {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--navy);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  min-height: 44px;
  padding: 0 12px;
  text-decoration: none;
}

.explore-shortcut-list a:hover,
.explore-shortcut-list a:focus-visible {
  background: var(--accent-soft);
  border-color: rgba(240, 77, 115, 0.24);
  color: var(--red);
  outline: none;
}

.mobile-filter-toggle,
.filter-drawer-backdrop,
.filter-drawer-close {
  display: none;
}

.explore-chip-list,
.explore-active-filters,
.explore-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.explore-chip-list button,
.explore-active-filters button,
.explore-card-tags span {
  align-items: center;
  background: #f2f4f7;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #344054;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 6px;
  padding: 7px 10px;
}

.explore-active-filters button {
  cursor: pointer;
  padding-right: 8px;
}

.explore-active-filters button:hover,
.explore-active-filters button:focus-visible {
  background: var(--accent-soft);
  border-color: rgba(240, 77, 115, 0.22);
  color: var(--red);
  outline: none;
}

.explore-active-filters button strong {
  align-items: center;
  background: #fff;
  border-radius: 999px;
  display: inline-flex;
  font-size: 14px;
  height: 20px;
  justify-content: center;
  line-height: 1;
  width: 20px;
}

.explore-chip-list button small {
  align-items: center;
  background: #fff;
  border-radius: 999px;
  color: var(--muted);
  display: inline-flex;
  font-size: 11px;
  font-weight: 600;
  justify-content: center;
  min-width: 22px;
  padding: 2px 6px;
}

.explore-chip-list button.active {
  background: var(--accent-soft);
  border-color: rgba(240, 77, 115, 0.2);
  color: var(--red);
}

.explore-results {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.explore-result-bar {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding-bottom: 16px;
}

.explore-result-bar h2 {
  color: var(--navy);
  font-size: 24px;
  letter-spacing: -0.03em;
  margin: 0;
}

.explore-sort {
  color: var(--muted);
  display: grid;
  font-size: 12px;
  font-weight: 600;
  gap: 6px;
  min-width: 180px;
}

.explore-business-list {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.explore-grid-card {
  background: #f9f9f9;
}

.explore-directory-card .business-media {
  display: block;
}

.explore-directory-card .business-intro {
  -webkit-line-clamp: 3;
}

.explore-directory-card .status-open,
.explore-directory-card .status-closed {
  max-width: calc(100% - 20px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.explore-directory-card .business-actions {
  align-items: center;
}

.explore-event-directory-list .explore-directory-card--event .business-intro {
  -webkit-line-clamp: 3;
}

.explore-empty {
  background: #f8fafc;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  padding: 28px;
  text-align: center;
}

.explore-empty strong {
  color: var(--navy);
  display: block;
  font-size: 20px;
  margin-bottom: 8px;
}

.explore-empty p {
  color: var(--muted);
  margin: 0;
}

.split-row {
  display: grid;
  gap: 18px;
  grid-template-columns: 0.8fr 1.3fr;
}
.why-card {
  background: #20295f;
  border-radius: var(--radius);
  color: #fff;
  isolation: isolate;
  min-height: 320px;
  overflow: hidden;
  padding: 34px;
  position: relative;
}
.why-card::before,
.why-card::after {
  content: "";
  inset: 0;
  position: absolute;
}
.why-card::before {
  background: url("/uploads/optimized/happy-businessman-standing-by-window-office-reading-text-mes-1782233234176-banner.webp") right center / cover no-repeat;
  transform: scaleX(-1);
  z-index: -2;
}
.why-card::after {
  background: linear-gradient(340deg, rgba(240, 77, 115, 0.42) 0%, #20295f40 44%, #20295f59 46%, #20295fb8 55%);
  z-index: -1;
}
.why-card > div {
  position: relative;
}
.why-card .kalo-header-kicker {
  margin-bottom: 12px;
}
.why-card .kalo-header-badge svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.why-card h2 {
  font-size: 22px;
  margin-bottom: 20px;
}
.why-card p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.6;
  margin: 0 0 26px;
  max-width: 460px;
}
.why-card-benefits {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.why-card-benefits li {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: 9px;
}
.why-card-benefits li::before {
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  content: "✓";
  display: inline-grid;
  height: 20px;
  place-items: center;
  width: 20px;
}
.why-card ul {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
}
.why-card li::before { content: "✓"; font-weight: 600; margin-right: 10px; }
.why-card a {
  background: #fff;
  border-radius: 6px;
  color: var(--navy);
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  padding: 14px 18px;
}
.events-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: 24px;
}
.events-card .section-head {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
}
.events-card .section-head h2 {
  min-width: 0;
  overflow-wrap: anywhere;
}
.events-card .carousel-controls {
  justify-self: end;
  min-width: 0;
}
.events-card .carousel-controls a {
  white-space: nowrap;
}
.events-card .section-head {
  margin-left: 0;
  margin-right: 0;
}
.events-card #eventDots {
  margin-top: auto;
  padding-top: 22px;
}
.events-card .event-card img {
  aspect-ratio: 16 / 9.4;
}
.events-card .event-body {
  padding-bottom: 16px;
  padding-top: 16px;
}
.event-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}
.event-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  min-width: 0;
  overflow: hidden;
}
.event-card a {
  color: inherit;
  display: block;
  height: 100%;
  text-decoration: none;
}
.event-media {
  position: relative;
}
.event-media .label {
  position: absolute;
  max-width: calc(100% - 24px);
  right: 12px;
  top: 12px;
  z-index: 3;
}
.event-card img {
  aspect-ratio: 16 / 7;
  display: block;
  object-fit: cover;
  width: 100%;
}
.event-body {
  display: grid;
  gap: 12px;
  grid-template-columns: 52px minmax(0, 1fr);
  padding: 16px;
}
.event-date {
  align-self: start;
  background: var(--accent-soft);
  border-radius: 6px;
  color: var(--red);
  display: grid;
  font-weight: 600;
  height: 52px;
  line-height: 1;
  padding: 6px;
  place-content: center;
  text-align: center;
  width: 52px;
}
.event-date b { color: var(--navy); display: block; font-size: 24px; line-height: 1; }
.event-card h3 {
  font-size: 16px;
  line-height: 1.25;
  margin: 0;
  overflow-wrap: anywhere;
}
.event-card p { color: var(--muted); font-size: 13px; margin: 3px 0 0; }
.event-card .event-summary {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  line-height: 1.45;
  overflow: hidden;
}

.event-single-hero .single-hero-card p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}

.event-cover-band {
  margin: 14px 0 18px;
  width: 100%;
}

.event-cover-band img {
  aspect-ratio: 16 / 7;
  border-radius: var(--radius);
  display: block;
  object-fit: cover;
  width: 100%;
}

.event-single-grid {
  align-items: start;
  margin-top: 26px;
}

.event-details-card p {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.75;
  white-space: normal;
}

.event-description-content {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.55;
  margin-top: 10px;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.event-source-link {
  display: inline-flex;
  margin-top: 20px;
}

.event-info-card p {
  display: grid;
  gap: 16px;
  grid-template-columns: 38px minmax(0, 1fr);
  margin: 0;
}

.event-info-card p + p {
  margin-top: 16px;
}

.event-info-card svg {
  align-self: start;
  background: rgba(233, 45, 103, 0.1);
  border-radius: 10px;
  color: var(--red);
  fill: none;
  height: 38px;
  padding: 8px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 38px;
}

.event-info-card span {
  display: grid;
  gap: 4px;
}

@media (max-width: 900px) {
  .event-single-grid { grid-template-columns: 1fr; }
}

.cinema-section {
  overflow: hidden;
}

.cinema-days {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cinema-movie {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr);
  min-height: 250px;
  overflow: hidden;
}

.cinema-poster {
  background: var(--navy);
  color: #fff;
  min-height: 100%;
  position: relative;
}

.cinema-poster img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.cinema-poster span {
  background: var(--red);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 9px;
  position: absolute;
  right: 10px;
  top: 10px;
}

.cinema-movie-body {
  background-color: #f9f9f9;
  display: grid;
  gap: 10px;
  grid-template-rows: 1fr auto auto;
  min-width: 0;
  padding: 16px;
}

.cinema-movie-body h3 {
  font-size: 17px;
  line-height: 1.22;
  margin: 0 0 8px;
  overflow-wrap: anywhere;
}

.cinema-movie-body p {
  color: var(--muted);
  display: -webkit-box;
  font-size: 13px;
  line-height: 1.45;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.cinema-movie-body > small {
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
}

.cinema-times {
  display: grid;
  gap: 8px;
}

.cinema-times div {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.cinema-times strong {
  color: var(--navy);
  font-size: 12px;
}

.cinema-times span {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-end;
}

.cinema-times a {
  background: var(--accent-soft);
  border-radius: 999px;
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  padding: 5px 8px;
}

.cinema-day {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
}

.cinema-date {
  background: linear-gradient(135deg, var(--navy), var(--red));
  color: #fff;
  display: grid;
  gap: 4px;
  padding: 16px;
}

.cinema-date span,
.cinema-date em {
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  opacity: 0.86;
  text-transform: uppercase;
}

.cinema-date strong {
  font-size: 22px;
  line-height: 1;
}

.cinema-show-list {
  background: #fff;
  display: grid;
  align-content: start;
}

.cinema-show {
  align-items: start;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 12px;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  padding: 14px;
}

.cinema-show:last-child {
  border-bottom: 0;
}

.cinema-show time {
  color: var(--red);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.1;
}

.cinema-show strong {
  display: block;
  font-size: 14px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.cinema-show small {
  color: var(--muted);
  display: block;
  font-size: 12px;
  margin-top: 4px;
}

.cinema-badges {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cinema-badges b,
.cinema-badges i {
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  padding: 4px 8px;
  white-space: nowrap;
}

.cinema-badges b {
  background: var(--accent-soft);
  color: var(--red);
}

.cinema-badges i {
  background: #eef1f8;
  color: var(--navy);
}

.map-head {
  align-items: end;
}
.map-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.google-map-shell {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  position: relative;
}

#googleMapFrame {
  aspect-ratio: auto;
  background:
    linear-gradient(135deg, rgba(32, 41, 95, 0.08), rgba(240, 77, 115, 0.08)),
    #eef1f8;
  border: 0;
  border-radius: var(--radius);
  height: 420px;
  min-height: 420px;
  width: 100%;
}

#googleMapFrame:not([src]) {
  background:
    linear-gradient(135deg, rgba(32, 41, 95, 0.08), rgba(240, 77, 115, 0.08)),
    #eef1f8;
}

.map-location-list {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 420px;
  max-height: 420px;
  overflow: auto;
  padding: 10px;
}

.map-location-button {
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-sizing: border-box;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  flex: 0 0 auto;
  gap: 12px;
  height: auto;
  min-height: 112px;
  overflow: visible;
  padding: 12px;
  text-align: left;
  width: 100%;
}

.map-location-logo {
  align-items: center;
  background: linear-gradient(135deg, var(--navy), var(--red));
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 40px;
  font-size: 13px;
  font-weight: 600;
  height: 40px;
  justify-content: center;
  overflow: hidden;
  width: 40px;
}

.map-location-logo img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.map-location-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.map-location-title {
  align-items: flex-start;
  display: grid;
  gap: 4px;
  min-width: 0;
}

.map-location-title strong {
  display: block;
  font-size: 14px;
  line-height: 1.25;
  min-width: 0;
  overflow-wrap: anywhere;
}

.map-location-title em {
  background: transparent;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
  white-space: normal;
}

.map-location-title em.is-open {
  color: var(--green);
}

.map-location-title em.is-closed {
  color: var(--red);
}

.map-location-contact {
  align-items: flex-start;
  color: var(--muted);
  display: grid;
  font-size: 12px;
  gap: 7px;
  grid-template-columns: 14px minmax(0, 1fr);
  line-height: 1.35;
  min-width: 0;
}

.map-location-contact svg {
  color: var(--red);
  flex: 0 0 14px;
  height: 14px;
  margin-top: 1px;
  width: 14px;
}

.map-location-contact span {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.map-location-button.active,
.map-location-button:hover {
  border-color: var(--red);
  box-shadow: 0 8px 22px rgba(240, 77, 115, 0.14);
}

.map-location-button:focus-visible {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(240, 77, 115, 0.18);
  outline: none;
}

.benefits-row {
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(4, 1fr);
  padding: 26px 12px;
}
.benefits-row article {
  display: grid;
  gap: 4px;
  grid-template-columns: 54px 1fr;
}
.benefits-row span {
  color: var(--red);
  font-size: 34px;
  grid-row: span 2;
}
.benefits-row strong { font-size: 15px; }
.benefits-row p { color: var(--muted); font-size: 13px; margin: 0; }

.newsletter {
  color: #fff;
}

.mailerlite-newsletter {
  background: transparent;
  border-radius: 0;
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  padding: 0;
}

#mlb2-38135927.ml-form-embedContainer {
  margin: 0 auto;
  max-width: none;
  min-width: 0;
  position: relative;
  width: 100%;
}

#mlb2-38135927 .ml-form-align-center {
  min-width: 0;
  width: 100%;
}

#mlb2-38135927 .ml-form-embedWrapper {
  --newsletter-bg-x: 50%;
  --newsletter-bg-y: 25%;
  background:
    linear-gradient(90deg, rgba(32, 41, 95, 0.94) 0%, rgba(32, 41, 95, 0.86) 48%, rgba(32, 41, 95, 0.74) 100%),
    url("/uploads/optimized/group-people-working-out-business-plan-office-1782565142427-banner.webp") var(--newsletter-bg-x) var(--newsletter-bg-y) / cover no-repeat;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.04);
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

#mlb2-38135927 .ml-form-embedWrapper::before {
  background:
    linear-gradient(90deg, rgba(240, 77, 115, 0.14), rgba(255, 255, 255, 0)),
    radial-gradient(640px 280px at 12% 18%, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0) 62%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

#mlb2-38135927 .ml-form-embedBody,
#mlb2-38135927 .ml-form-successBody {
  padding: 24px 28px;
  position: relative;
  z-index: 2;
}

#mlb2-38135927 .row-form {
  align-items: center;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(280px, 0.88fr) minmax(380px, 1.12fr);
  min-width: 0;
}

#mlb2-38135927 .ml-form-embedContent {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  margin: 0;
  min-width: 0;
}

#mlb2-38135927 .ml-form-embedContent h4,
#mlb2-38135927 .ml-form-successContent h4 {
  color: #fff;
  font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0 0 10px;
}

#mlb2-38135927 .ml-form-embedContent p,
#mlb2-38135927 .ml-form-successContent p {
  color: rgba(255, 255, 255, 0.92);
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
  max-width: 420px;
}

#mlb2-38135927 .ml-form-embedContent::after {
  background:
    rgba(255, 255, 255, 0.96)
    url("/uploads/kalocsainfologo-png-1778921614828.webp") center / 154px auto no-repeat;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  box-shadow: 0 14px 30px rgba(17, 24, 39, 0.14);
  content: "";
  display: block;
  height: 42px;
  margin-top: 16px;
  width: 190px;
}

#mlb2-38135927 form.ml-block-form {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
  margin: 0;
  min-width: 0;
  padding: 14px;
  width: 100%;
}

#mlb2-38135927 .ml-form-formContent {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  margin: 0 0 10px;
}

#mlb2-38135927 .ml-form-formContent .ml-form-fieldRow {
  margin: 0;
  width: 100%;
}

#mlb2-38135927 .ml-form-formContent .ml-last-item {
  grid-column: auto;
}

#mlb2-38135927 .ml-form-fieldRow input[type="email"],
#mlb2-38135927 .ml-form-fieldRow input[type="text"] {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: var(--radius);
  box-shadow: none;
  color: #111;
  font-size: 15px;
  line-height: 1.4;
  min-height: 46px;
  padding: 12px 14px;
  width: 100%;
}

#mlb2-38135927 .ml-form-fieldRow input::placeholder {
  color: rgba(0, 0, 0, 0.42);
}

#mlb2-38135927 .custom-checkbox-radio-list {
  border-radius: var(--radius);
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  padding: 10px;
  white-space: nowrap;
}

#mlb2-38135927 .custom-control {
  display: inline-block;
  margin: 0;
  padding: 0;
  position: relative;
}

#mlb2-38135927 .custom-control-input {
  cursor: pointer;
  height: 100%;
  inset: 0;
  margin: 0;
  opacity: 0;
  position: absolute;
  width: 100%;
  z-index: 5;
}

#mlb2-38135927 .custom-control-label {
  align-items: center;
  background: #fff;
  border-radius: var(--radius);
  color: #111;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  min-height: 36px;
  padding: 8px 12px 8px 34px;
  position: relative;
}

#mlb2-38135927 .custom-control-label::before {
  background: #fff;
  border: 1.5px solid rgba(0, 0, 0, 0.22);
  border-radius: 50%;
  box-sizing: border-box;
  content: "";
  height: 14px;
  left: 14px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
}

#mlb2-38135927 .custom-control-input:checked ~ .custom-control-label {
  background: #111827;
  color: #fff;
}

#mlb2-38135927 .custom-control-input:checked ~ .custom-control-label::before {
  background: #e7466c;
  border-color: #e7466c;
}

#mlb2-38135927 .ml-form-checkboxRow {
  margin: 10px 0;
}

#mlb2-38135927 .ml-form-checkboxRow .checkbox {
  align-items: flex-start;
  display: flex;
  gap: 9px;
  max-width: 100%;
}

#mlb2-38135927 .ml-form-checkboxRow input {
  accent-color: #e7466c;
  flex: 0 0 16px;
  height: 16px;
  margin-top: 3px;
  min-height: 16px;
  padding: 0;
  width: 16px;
}

#mlb2-38135927 .ml-form-checkboxRow .label-description {
  color: rgba(255, 255, 255, 0.96);
  display: block;
  font-size: 13px;
  line-height: 1.5;
  min-width: 0;
}

#mlb2-38135927 .ml-form-checkboxRow a {
  color: #fff;
  text-decoration: underline;
}

#mlb2-38135927 .ml-form-embedSubmit {
  display: flex;
  justify-content: stretch;
  margin: 4px 0 0;
}

#mlb2-38135927 .ml-form-embedSubmit button {
  background: #eb486b;
  border: 0;
  border-radius: var(--radius);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  min-height: 48px;
  min-width: 0;
  padding: 12px 20px;
  width: 100%;
}

#mlb2-38135927 .ml-form-embedSubmit button:hover {
  background: #df3f61;
}

.ml-form-embedSubmitLoad {
  display: inline-block;
  height: 20px;
  width: 20px;
}

#mlb2-38135927 .row-success {
  min-height: auto;
  width: 100%;
}

@media (max-width: 980px) {
  #mlb2-38135927 .ml-form-embedBody,
  #mlb2-38135927 .ml-form-successBody {
    padding: 28px 24px;
  }

  #mlb2-38135927 .row-form {
    gap: 22px;
    grid-template-columns: 1fr;
  }

  #mlb2-38135927 .ml-form-embedContent p {
    max-width: 100%;
  }

  #mlb2-38135927 .ml-form-formContent {
    grid-template-columns: 1fr 1fr;
  }

  #mlb2-38135927 .ml-form-formContent .ml-last-item {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  #mlb2-38135927 .ml-form-embedWrapper {
    border-radius: var(--radius);
  }

  #mlb2-38135927 .ml-form-embedBody,
  #mlb2-38135927 .ml-form-successBody {
    padding: 22px 16px;
  }

  #mlb2-38135927 .ml-form-formContent {
    grid-template-columns: 1fr;
  }

  #mlb2-38135927 .custom-checkbox-radio-list {
    flex-direction: column;
  }

  #mlb2-38135927 .ml-form-embedSubmit {
    justify-content: stretch;
  }

  #mlb2-38135927 .ml-form-embedSubmit button {
    min-width: 0;
    width: 100%;
  }
}

/* Focused admin workspace refinements */
.admin-dashboard-page {
  background: #f6f7fb;
  grid-template-columns: 248px minmax(0, 1fr);
}

.admin-sidebar {
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: 100vh;
  overflow-y: auto;
  padding: 18px 14px;
}

.admin-sidebar nav {
  display: grid;
  gap: 18px;
}

.admin-nav-group {
  display: grid;
  gap: 4px;
}

.admin-nav-group > span {
  color: #98a1b8;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding: 0 12px 5px;
  text-transform: uppercase;
}

.admin-sidebar nav a {
  border: 1px solid transparent;
  border-radius: 8px;
  min-height: 40px;
  padding: 9px 10px;
}

.admin-sidebar nav a.active {
  background: #fff0f4;
  border-color: rgba(240, 77, 115, 0.16);
  color: var(--red);
}

.admin-public-link {
  align-items: center;
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  color: var(--navy);
  display: flex;
  font-size: 13px;
  font-weight: 600;
  justify-content: center;
  margin-top: auto;
  min-height: 42px;
  padding: 0 12px;
}

.admin-public-link:hover {
  background: #fff0f4;
  border-color: rgba(240, 77, 115, 0.24);
  color: var(--red);
}

.admin-main {
  box-sizing: border-box;
  gap: 16px;
  margin-inline: auto;
  max-width: 1600px;
  padding: 20px;
  width: 100%;
}

.admin-main > * {
  min-width: 0;
  width: 100%;
}

.admin-topbar {
  border-radius: 10px;
  min-height: 76px;
  padding: 14px 16px;
}

.admin-topbar-copy {
  min-width: 0;
}

.admin-topbar-actions {
  flex-wrap: nowrap;
}

.admin-search {
  min-width: min(390px, 36vw);
  position: relative;
}

.admin-search-results {
  background: #fff;
  border: 1px solid var(--admin-border);
  border-radius: 10px;
  box-shadow: 0 18px 44px rgba(32, 41, 95, 0.16);
  display: grid;
  gap: 3px;
  left: 0;
  max-height: 400px;
  overflow-y: auto;
  padding: 6px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 80;
}

.admin-search-results button {
  background: #fff;
  border: 0;
  border-radius: 7px;
  color: var(--navy);
  display: grid;
  gap: 2px;
  padding: 10px;
  text-align: left;
}

.admin-search-results button:hover,
.admin-search-results button:focus-visible {
  background: #fff0f4;
  outline: none;
}

.admin-search-results strong {
  font-size: 13px;
}

.admin-search-results span,
.admin-search-results p {
  color: var(--muted);
  font-size: 12px;
  margin: 0;
}

.admin-search-results p {
  padding: 8px;
}

.admin-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-stat-grid article {
  border-radius: 10px;
  min-height: 112px;
  padding: 16px;
}

.admin-stat-grid article::before {
  height: 34px;
  right: 14px;
  top: 14px;
  width: 34px;
}

.admin-stat-grid article::after {
  right: 25px;
  top: 25px;
}

.admin-stat-grid strong {
  font-size: 30px;
  margin-top: 12px;
}

.admin-panel {
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(32, 41, 95, 0.06);
  padding: 18px;
}

.admin-panel-head {
  margin-bottom: 14px;
  padding-bottom: 12px;
}

.admin-grid,
.admin-grid--wide {
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 440px);
}

.admin-grid--analytics {
  grid-template-columns: minmax(0, 1fr);
}

.admin-business-workspace {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.admin-business-workspace #business-list-admin {
  grid-column: 1;
}

.admin-panel-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.admin-panel-controls > button {
  min-height: 36px;
  padding: 0 12px;
}

.admin-editor-backdrop {
  background: rgba(20, 28, 58, 0.36);
  inset: 0;
  position: fixed;
  z-index: 180;
}

.admin-editor-open {
  overflow: hidden;
}

.admin-business-editor {
  border-radius: 0 !important;
  bottom: 0;
  box-shadow: -16px 0 48px rgba(20, 28, 58, 0.2) !important;
  display: block;
  max-width: min(900px, 100vw);
  overflow-x: hidden;
  overflow-y: auto;
  position: fixed;
  right: 0;
  top: 0;
  width: min(900px, 100vw);
  z-index: 181;
}

.admin-business-editor .admin-panel-head {
  background: #fff;
  margin: -18px -18px 18px;
  padding: 18px;
  position: sticky;
  top: -18px;
  z-index: 2;
}

.admin-icon-button {
  align-items: center;
  background: #f3f4f6;
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  color: var(--admin-text);
  cursor: pointer;
  display: inline-flex;
  font-size: 28px;
  font-weight: 400;
  height: 38px;
  justify-content: center;
  line-height: 1;
  padding: 0 0 3px;
  width: 38px;
}

.admin-icon-button:hover,
.admin-icon-button:focus-visible {
  background: #fff0f4;
  border-color: rgba(240, 77, 115, 0.3);
  color: var(--red);
  outline: none;
}

.admin-dashboard-tools {
  align-items: center;
  background: #fff;
  border: 1px solid var(--admin-border);
  border-radius: 10px;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 16px 18px;
}

.admin-dashboard-tools .eyebrow {
  margin: 0 0 3px;
}

.admin-dashboard-tools h2 {
  color: var(--admin-text);
  font-size: 17px;
  margin: 0;
}

.admin-dashboard-tools-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-list article,
.admin-list.compact article {
  border-radius: 8px;
}

.admin-list-toolbar {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 230px);
  margin: -2px 0 14px;
}

.admin-list-toolbar select,
.admin-list-search input {
  background: #fff;
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  color: var(--admin-text);
  font: inherit;
  min-height: 42px;
  width: 100%;
}

.admin-list-toolbar select {
  padding: 0 11px;
}

.admin-list-search {
  align-items: center;
  display: flex;
  position: relative;
}

.admin-list-search svg {
  color: var(--admin-muted);
  height: 18px;
  left: 12px;
  pointer-events: none;
  position: absolute;
  stroke: currentColor;
  stroke-width: 2;
  width: 18px;
}

.admin-list-search input {
  padding: 0 12px 0 39px;
}

#adminBusinessListCount {
  background: var(--admin-blue-soft);
  border-radius: 999px;
  color: var(--admin-blue);
  font-size: 12px;
  font-weight: 600;
  padding: 7px 10px;
}

.admin-business-list-item {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.admin-business-list-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.admin-business-list-copy > strong {
  display: block;
  font-size: 15px;
  margin-bottom: 3px;
}

.admin-business-list-copy p {
  margin: 0;
}

.admin-list-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.admin-list-tags span {
  background: #fff0f4;
  border: 1px solid rgba(240, 77, 115, 0.14);
  border-radius: 999px;
  color: var(--red);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  padding: 4px 7px;
}

.admin-business-list-item .admin-row-actions {
  flex: 0 0 auto;
  margin: 0;
}

.admin-list-empty {
  text-align: center;
}

.admin-business-stat {
  border-radius: 8px;
}

@media (max-width: 1180px) {
  .admin-dashboard-page {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    height: auto;
    position: static;
  }

  .admin-sidebar nav {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .admin-nav-group {
    flex: 0 0 auto;
    min-width: 168px;
  }

  .admin-public-link {
    display: none;
  }

  .admin-grid,
  .admin-grid--wide {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .admin-main {
    padding: 12px;
  }

  .admin-topbar {
    align-items: stretch;
    flex-direction: column;
    position: static;
  }

  .admin-topbar-actions {
    flex-wrap: wrap;
  }

  .admin-search {
    min-width: 0;
    order: -1;
    width: 100%;
  }

  .admin-status-pill,
  .admin-user-pill,
  #logoutButton {
    flex: 1 1 auto;
  }

  .admin-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-dashboard-tools,
  .admin-business-list-item {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-list-toolbar {
    grid-template-columns: 1fr;
  }

  .admin-business-list-item .admin-row-actions {
    width: 100%;
  }

  .admin-panel-controls {
    justify-content: flex-start;
    width: 100%;
  }

  .admin-panel-controls > button,
  .admin-business-list-item .admin-row-actions > * {
    flex: 1 1 0;
  }

  .admin-business-editor {
    max-width: 100vw;
    width: 100vw;
  }
}

@media (max-width: 860px) {
  .admin-business-stat {
    grid-template-columns: 1fr;
  }

  .admin-business-stat-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.socials,
.footer-socials {
  display: flex;
  gap: 12px;
}
.socials a,
.footer-socials a {
  align-items: center;
  background: rgba(255,255,255,0.13);
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-weight: 600;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.pharmacy-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, 1fr);
}
.hospital-card:not(.business-card),
.pharmacy-card:not(.business-card) {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 12px;
  padding: 18px;
}
.hospital-card:not(.business-card) h3,
.pharmacy-card h3 { margin: 0; }
.hospital-card:not(.business-card) p,
.pharmacy-card:not(.business-card) p { color: var(--muted); font-size: 13px; margin: 0; }

.hospital-section {
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  overflow: hidden;
}

.hospital-section .section-control-row {
  margin: 0 0 16px;
}

.hospital-control-row {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.hospital-control-row .clinic-status-summary {
  margin: 0;
  min-height: 48px;
}

.hospital-control-row .carousel-controls {
  flex: 0 0 auto;
}

.hospital-card.business-card .business-media::after {
  background: linear-gradient(180deg, rgba(32, 41, 95, 0.42), rgba(32, 41, 95, 0.04));
}

.hospital-logo {
  background: #fff;
  border-color: #fff;
}

.hospital-logo img {
  display: block;
  height: 30px;
  object-fit: contain;
  width: 30px;
}
.pharmacy-card.business-card {
  background: #f9f9f9;
}

.pharmacy-card.business-card .business-main {
  padding-right: 0;
}

.pharmacy-card.business-card .business-media::after {
  background: linear-gradient(180deg, rgba(32, 41, 95, 0.42), rgba(32, 41, 95, 0.04));
}

.pharmacy-card.business-card .duty-label {
  display: none;
}

.pharmacy-card.business-card.is-on-duty {
  border-color: rgba(47, 159, 123, 0.42);
  box-shadow: 0 18px 42px rgba(47, 159, 123, 0.14);
}

.pharmacy-card.business-card.is-on-duty .duty-label {
  display: inline-flex;
}

.pharmacy-duty-summary,
.clinic-status-summary {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--navy);
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  margin: 0 0 16px;
  padding: 12px 14px;
}

.pharmacy-directory-page {
  max-width: var(--page);
  padding: 32px 0 72px;
}

.pharmacy-directory-shell {
  display: grid;
  gap: 28px;
}

.pharmacy-directory-head {
  align-items: center;
  display: grid;
  gap: 22px;
  grid-template-columns: 1fr;
}

.pharmacy-directory-title {
  align-items: center;
  display: flex;
  gap: 15px;
  margin-top: 25px;
  min-width: 0;
}

.pharmacy-directory-icon {
  align-items: center;
  background: linear-gradient(135deg, #68c56f, #2fa85c);
  border-radius: 22px;
  box-shadow: 0 18px 34px rgba(47, 168, 92, 0.2);
  display: flex;
  flex: 0 0 68px;
  height: 68px;
  justify-content: center;
  width: 68px;
}

.pharmacy-directory-icon img {
  filter: brightness(0) invert(1);
  height: 38px;
  width: 38px;
}

.pharmacy-directory-title h1 {
  color: var(--navy);
  font-size: clamp(32px, 4vw, 35px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
}

.pharmacy-directory-title p {
  color: var(--muted);
  font-size: 17px;
  margin: 8px 0 0;
}

.pharmacy-directory-meta svg,
.pharmacy-action svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.pharmacy-directory-layout {
  align-items: start;
  display: grid;
  gap: 32px;
  grid-template-columns: 250px minmax(0, 1fr);
}

.pharmacy-directory-sidebar {
  display: grid;
  gap: 28px;
  position: sticky;
  top: calc(var(--site-header-height, 76px) + 16px);
}

.pharmacy-sidebar-card {
  background: #fff;
  border: 1px solid rgba(217, 224, 239, 0.9);
  border-radius: 14px;
  box-shadow: 0 18px 45px rgba(32, 41, 95, 0.06);
  padding: 18px;
}

.pharmacy-sidebar-card h2 {
  color: #687394;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 0 0 16px;
  text-transform: uppercase;
}

.pharmacy-filter {
  align-items: center;
  background: #f8fafc;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--navy);
  cursor: pointer;
  display: grid;
  font-size: 14px;
  font-weight: 500;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 39px;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
}

.pharmacy-filter + .pharmacy-filter {
  margin-top: 10px;
}

.pharmacy-filter.active,
.pharmacy-filter:hover {
  background: #eefaf1;
  border-color: rgba(67, 181, 95, 0.16);
}

.pharmacy-filter-dot {
  border-radius: 999px;
  display: block;
  height: 12px;
  width: 12px;
}

.pharmacy-filter-dot--all {
  background: #6d6ae8;
}

.pharmacy-filter-dot--open {
  background: #43b55f;
}

.pharmacy-filter-dot--duty {
  background: #f59e0b;
}

.pharmacy-filter-dot--closed {
  background: var(--red);
}

.pharmacy-filter b {
  color: #43b55f;
  font-weight: 600;
}

.pharmacy-info-card p {
  color: #475569;
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}

.pharmacy-info-card p + p {
  border-top: 1px solid var(--line);
  color: var(--navy);
  font-weight: 500;
  margin-top: 14px;
  padding-top: 14px;
}

.pharmacy-directory-grid {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pharmacy-directory-card {
  background: #fff;
  border: 1px solid rgba(217, 224, 239, 0.9);
  border-radius: 16px;
  box-shadow: 0 22px 50px rgba(32, 41, 95, 0.08);
  min-width: 0;
  overflow: hidden;
}

.pharmacy-directory-card-media {
  height: 148px;
  overflow: hidden;
  position: relative;
}

.pharmacy-directory-card-media::after {
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.02), rgba(17, 24, 39, 0.26));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.pharmacy-directory-card-media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.pharmacy-directory-status {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(32, 41, 95, 0.08);
  font-size: 13px;
  font-weight: 600;
  left: 16px;
  line-height: 1;
  padding: 10px 12px;
  position: absolute;
  text-transform: uppercase;
  top: 14px;
  z-index: 2;
}

.pharmacy-directory-status--open {
  color: #2fa85c;
}

.pharmacy-directory-status--closed {
  color: var(--red);
}

.pharmacy-directory-status--duty {
  color: #f59e0b;
}

.pharmacy-directory-favorite {
  align-items: center;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  color: var(--navy);
  display: flex;
  height: 34px;
  justify-content: center;
  position: absolute;
  right: 14px;
  top: 14px;
  width: 34px;
  z-index: 2;
}

.pharmacy-directory-favorite svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 20px;
}

.pharmacy-directory-card-body {
  display: grid;
  gap: 12px;
  padding: 46px 18px 18px;
  position: relative;
}

.pharmacy-directory-card-icon {
  align-items: center;
  background: var(--red);
  border: 4px solid #fff;
  border-radius: 50%;
  box-shadow: 0 12px 26px rgba(32, 41, 95, 0.12);
  display: flex;
  height: 58px;
  justify-content: center;
  left: 18px;
  position: absolute;
  top: -30px;
  width: 58px;
}

.pharmacy-directory-card--green .pharmacy-directory-card-icon {
  background: #43b55f;
}

.pharmacy-directory-card--blue .pharmacy-directory-card-icon {
  background: #5f5ee8;
}

.pharmacy-directory-card--duty .pharmacy-directory-card-icon {
  background: #f59e0b;
}

.pharmacy-directory-card-icon img {
  filter: brightness(0) invert(1);
  height: 29px;
  width: 29px;
}

.pharmacy-directory-card h2 {
  color: var(--navy);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0;
}

.pharmacy-directory-meta {
  display: grid;
  gap: 9px;
}

.pharmacy-directory-meta > span {
  align-items: center;
  color: var(--navy);
  display: grid;
  font-size: 14px;
  gap: 10px;
  grid-template-columns: 20px minmax(0, 1fr);
}

.pharmacy-directory-meta svg {
  color: var(--navy);
  height: 18px;
  width: 18px;
}

.pharmacy-directory-meta span span {
  color: var(--navy);
  min-width: 0;
}

.pharmacy-directory-actions {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 8px;
}

.pharmacy-action {
  align-items: center;
  border: 1px solid currentColor;
  border-radius: 8px;
  color: var(--red);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: 9px;
  justify-content: center;
  min-height: 44px;
  padding: 10px 12px;
  text-transform: uppercase;
}

.pharmacy-directory-grid {
  gap: 18px;
}

.pharmacy-directory-card {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 0;
}

.pharmacy-directory-card-media {
  height: 128px;
  min-height: 128px;
}

.pharmacy-directory-card-media::after {
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.02), rgba(17, 24, 39, 0.2));
}

.pharmacy-directory-favorite {
  display: none;
}

.pharmacy-directory-status {
  align-items: center;
  border: 1px solid rgba(240, 77, 115, 0.18);
  border-radius: 8px;
  display: inline-flex;
  font-size: 11px;
  gap: 6px;
  left: 12px;
  padding: 8px 10px;
  top: 12px;
}

.pharmacy-directory-duty-note {
  align-items: center;
  background: #fff;
  border: 1px solid rgb(247 175 53 / 28%);
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(32, 41, 95, 0.08);
  color: #f59e0b;
  display: inline-flex;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  padding: 8px 10px;
  position: absolute;
  right: 12px;
  text-transform: uppercase;
  top: 12px;
  z-index: 2;
}

.pharmacy-directory-status::before {
  border: 1.5px solid currentColor;
  border-radius: 50%;
  content: "";
  height: 10px;
  width: 10px;
}

.pharmacy-directory-card-body {
  align-content: start;
  background: #fff;
  display: grid;
  gap: 9px;
  grid-template-rows: auto auto 1fr auto;
  padding: 34px 16px 16px;
}

.pharmacy-directory-card-icon {
  display: flex;
  height: 50px;
  left: 16px;
  top: -25px;
  width: 50px;
}

.pharmacy-directory-card-icon img {
  height: 26px;
  width: 26px;
}

.pharmacy-directory-card .pharmacy-directory-card-icon--logo {
  background: #fff;
}

.pharmacy-directory-card .pharmacy-directory-card-icon--logo img {
  filter: none;
  height: 34px;
  object-fit: contain;
  width: 34px;
}

.pharmacy-directory-card h2 {
  font-size: 17px;
  line-height: 1.18;
  min-height: 40px;
}

.pharmacy-directory-card h2::after {
  background: var(--red);
  border-radius: 999px;
  content: "";
  display: block;
  height: 3px;
  margin-top: 8px;
  width: 30px;
}

.pharmacy-directory-card--green h2::after {
  background: #43b55f;
}

.pharmacy-directory-card--blue h2::after {
  background: #6d5be8;
}

.pharmacy-directory-meta {
  gap: 7px;
}

.pharmacy-directory-meta > span {
  font-size: 12px;
  gap: 8px;
  grid-template-columns: 15px minmax(0, 1fr);
}

.pharmacy-directory-meta svg {
  height: 14px;
  width: 14px;
}

.pharmacy-directory-status--open + *,
.pharmacy-directory-hours--open span {
  color: #43b55f;
}

.pharmacy-directory-hours--closed span {
  color: var(--red);
}

.pharmacy-directory-hours--duty span {
  color: #f59e0b;
}

.pharmacy-directory-card--duty .pharmacy-directory-hours span {
  color: #f59e0b;
}

.pharmacy-directory-actions {
  gap: 12px;
  margin-top: 2px;
}

.pharmacy-action {
  background: rgba(240, 77, 115, 0.08);
  border: 0;
  box-shadow: none;
  color: var(--red);
  font-size: 11px;
  min-height: 38px;
  padding: 8px 10px;
}

.pharmacy-action--route {
  background: rgba(240, 77, 115, 0.08);
  color: var(--red);
}

.pharmacy-action svg {
  height: 15px;
  width: 15px;
}

.pharmacy-directory-card--green .pharmacy-action {
  background: rgba(67, 181, 95, 0.08);
  color: #43b55f;
}

.pharmacy-directory-card--green .pharmacy-action--route {
  background: rgba(67, 181, 95, 0.14);
  color: #43b55f;
}

.pharmacy-directory-card--blue .pharmacy-action {
  background: rgba(67, 181, 95, 0.08);
  color: #43b55f;
}

.pharmacy-directory-card--blue .pharmacy-action--route {
  background: rgba(67, 181, 95, 0.14);
  color: #43b55f;
}

.pharmacy-directory-card--duty .pharmacy-action {
  background: rgb(247 175 53 / 18%);
  color: #f7af35;
}

.pharmacy-directory-card--duty .pharmacy-action--route {
  background: rgb(247 175 53 / 18%);
  color: #f7af35;
}

@media (max-width: 1180px) {
  .pharmacy-directory-head {
    grid-template-columns: 1fr;
  }

  .pharmacy-directory-layout {
    grid-template-columns: 1fr;
  }

  .pharmacy-directory-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: static;
  }

  .pharmacy-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 700px) {
  .pharmacy-directory-page {
    max-width: calc(100vw - 24px);
    padding: 22px 0 84px;
    width: calc(100vw - 24px);
  }

  .pharmacy-directory-head {
    gap: 16px;
  }

  .pharmacy-directory-icon {
    border-radius: 18px;
    flex-basis: 58px;
    height: 58px;
    width: 58px;
  }

  .pharmacy-directory-icon img {
    height: 32px;
    width: 32px;
  }

  .pharmacy-directory-title h1 {
    font-size: 30px;
  }

  .pharmacy-directory-title p {
    font-size: 14px;
  }

  .pharmacy-directory-sidebar,
  .pharmacy-directory-grid {
    grid-template-columns: 1fr;
  }

  .pharmacy-sidebar-card {
    padding: 16px;
  }

  .pharmacy-directory-card-media {
    height: 138px;
    min-height: 138px;
  }

  .pharmacy-directory-card {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .pharmacy-directory-card h2 {
    font-size: 19px;
  }

  .pharmacy-directory-actions {
    grid-template-columns: 1fr;
  }

}

.duty-note {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: #344054;
  display: grid;
  font-size: 13px;
  gap: 4px;
  justify-items: center;
  margin: 16px 0 0;
  padding: 12px 14px;
  text-align: center;
}

.duty-note p {
  margin: 0;
}

.duty-note strong,
.duty-note b {
  color: #263550;
  font-weight: 600;
}

.health-page-shell {
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 0;
  width: 100%;
}

.health-page-hero {
  background:
    linear-gradient(90deg, rgba(13, 18, 37, 0.92), rgba(32, 41, 95, 0.64)),
    url("/uploads/optimized/pharmacist-chemist-woman-standing-refills-shelves-with-new-s-1780832035400-banner.webp") center / cover no-repeat;
  border-radius: var(--radius);
  color: #fff;
  display: grid;
  gap: 16px;
  min-height: 175px;
  overflow: hidden;
  padding: 34px;
  place-content: center start;
}

.health-page-hero .kalo-header-kicker {
  color: #fff;
}

.health-page-hero h1 {
  font-size: 40px;
  font-weight: 600;
  line-height: 1.12;
  margin: 0;
  max-width: 840px;
}

.health-page-hero p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 15px;
  font-weight: 400;
  margin: 0;
  max-width: 720px;
}

.health-page-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.health-page-hero-actions a {
  align-items: center;
  background: #fff;
  border-radius: var(--radius);
  color: var(--navy);
  display: inline-flex;
  font-weight: 600;
  min-height: 44px;
  padding: 0 16px;
}

.health-page-hero-actions a + a {
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #fff;
}

.health-choice-panel {
  overflow: hidden;
}

.health-page-hero--chooser {
  background:
    linear-gradient(90deg, rgba(13, 18, 37, 0.92), rgba(32, 41, 95, 0.64)),
    url("/uploads/optimized/blurred-hospital-waiting-zone-patients-chairs-1780835196439-banner.webp") center / cover no-repeat;
}

.health-choice-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.health-choice-card {
  align-content: end;
  border-radius: var(--radius);
  color: #fff;
  display: grid;
  gap: 12px;
  min-height: 360px;
  overflow: hidden;
  padding: clamp(22px, 4vw, 34px);
  position: relative;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.health-choice-card:hover {
  box-shadow: var(--shadow-strong);
  transform: translateY(-3px);
}

.health-choice-card::before {
  background: linear-gradient(180deg, rgba(32, 41, 95, 0.04), rgba(32, 41, 95, 0.88));
  content: "";
  inset: 0;
  position: absolute;
}

.health-choice-card > * {
  position: relative;
  z-index: 1;
}

.health-choice-card--hospital {
  background:
    linear-gradient(135deg, rgba(32, 41, 95, 0.76), rgba(235, 69, 95, 0.34)),
    url("/uploads/optimized/blurred-hospital-waiting-zone-patients-chairs-1780835196439-banner.webp") center / cover no-repeat;
}

.health-choice-card--pharmacy {
  background:
    linear-gradient(135deg, rgba(32, 41, 95, 0.72), rgba(47, 159, 123, 0.4)),
    url("/uploads/optimized/pharmacist-dispensing-medication-pharmacy-counter-healthcare-1780832082229-banner.webp") center / cover no-repeat;
}

.health-choice-card--family-doctor {
  background:
    linear-gradient(135deg, rgba(32, 41, 95, 0.78), rgba(42, 139, 154, 0.48)),
    url("/uploads/optimized/closeup-doctor-wearing-white-coat-stethoscope-hangs-from-his-1782138568714-banner.webp") center / cover no-repeat;
}

.health-choice-card--pediatric {
  background:
    linear-gradient(135deg, rgba(32, 41, 95, 0.76), rgba(232, 116, 76, 0.48)),
    url("/uploads/optimized/young-mother-with-two-children-doctors-appointment-1782138986890-banner.webp") center / cover no-repeat;
}

.health-choice-card--nurses {
  background:
    linear-gradient(135deg, rgba(32, 41, 95, 0.76), rgba(47, 159, 123, 0.42)),
    url("/uploads/visit-doctor-office-little-girl-with-mom.webp") center / cover no-repeat;
}

.family-doctor-panel .kalo-header-block--health {
  background:
    linear-gradient(340deg, rgba(42, 139, 154, 0.38) 0%, #20295f4d 42%, #20295f80 56%, #20295fd6 80%),
    url("/uploads/optimized/closeup-doctor-wearing-white-coat-stethoscope-hangs-from-his-1782138568714-banner.webp") center / cover no-repeat;
}

.pediatric-doctor-panel .kalo-header-block--health {
  background:
    linear-gradient(340deg, rgba(232, 116, 76, 0.38) 0%, #20295f4d 42%, #20295f80 56%, #20295fd6 80%),
    url("/uploads/optimized/young-mother-with-two-children-doctors-appointment-1782138986890-banner.webp") center / cover no-repeat;
}

.nurse-directory-panel .kalo-header-block--nurses {
  --nurse-hero-bg-x: 50%;
  --nurse-hero-bg-y: 28%;
  background:
    linear-gradient(340deg, rgba(40, 172, 128, 0.34) 0%, #20295f57 42%, #20295f91 60%, #20295fde 82%),
    url("/uploads/visit-doctor-office-little-girl-with-mom.webp") var(--nurse-hero-bg-x) var(--nurse-hero-bg-y) / cover no-repeat;
}

.health-choice-icon svg {
  color: var(--red);
  fill: none;
  height: 25px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 25px;
}

.family-doctor-panel {
  display: grid;
  gap: 22px;
}

.family-doctor-toolbar {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 14px 16px;
}

.family-doctor-summary {
  color: var(--navy);
  font-size: 14px;
  font-weight: 600;
  margin: 0;
}

.family-doctor-notice {
  color: var(--muted);
  font-size: 12px;
  margin: 0;
  max-width: 540px;
  text-align: right;
}

.family-doctor-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.family-doctor-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 18px;
}

.family-doctor-card-head {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.family-doctor-district,
.family-doctor-status {
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 9px;
}

.family-doctor-district {
  background: var(--accent-soft);
  color: var(--red);
}

.family-doctor-status {
  background: #f3f4f7;
  color: var(--muted);
  text-align: right;
}

.family-doctor-status.is-open {
  background: #e2f7ef;
  color: #168565;
}

.family-doctor-card h2 {
  color: var(--navy);
  font-size: 19px;
  line-height: 1.3;
  margin: 0;
}

.family-doctor-contact {
  display: grid;
  gap: 8px;
}

.family-doctor-contact span {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: 13px;
  gap: 8px;
}

.family-doctor-contact a {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: 13px;
  gap: 8px;
}

.family-doctor-contact a:hover {
  color: var(--red);
}

.family-doctor-contact svg,
.family-doctor-actions svg {
  fill: none;
  flex: 0 0 auto;
  height: 17px;
  stroke: var(--navy);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 17px;
}

.family-doctor-hours {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 5px;
  padding-top: 12px;
}

.family-doctor-hours span {
  align-items: center;
  color: var(--muted);
  display: grid;
  font-size: 12px;
  gap: 8px;
  grid-template-columns: 24px 1fr;
  padding: 3px 4px;
}

.family-doctor-hours span.is-today {
  background: var(--accent-soft);
  border-radius: 5px;
  color: var(--navy);
  font-weight: 600;
}

.family-doctor-hours b {
  color: var(--navy);
}

.family-doctor-actions {
  display: flex;
  gap: 9px;
}

.family-doctor-actions a {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--navy);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 7px;
  min-height: 40px;
  padding: 0 12px;
}

.family-doctor-actions a:hover {
  border-color: var(--red);
  color: var(--red);
}

.family-doctor-actions a {
  flex: 1 1 0;
  justify-content: center;
  min-width: 0;
  white-space: nowrap;
}

.family-doctor-actions a span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nurse-directory-summary {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 15px 16px;
}

.nurse-directory-summary span {
  color: var(--red);
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nurse-directory-summary strong {
  color: var(--navy);
  display: block;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.25;
  margin-top: 4px;
}

.nurse-directory-summary p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  margin: 0;
  max-width: 540px;
  text-align: right;
}

.nurse-town-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nurse-town-filter {
  display: none;
}

.nurse-town-filter label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.nurse-town-filter select {
  appearance: none;
  background:
    linear-gradient(45deg, transparent 50%, var(--navy) 50%) right 18px center / 7px 7px no-repeat,
    linear-gradient(135deg, var(--navy) 50%, transparent 50%) right 13px center / 7px 7px no-repeat,
    #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--navy);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  min-height: 48px;
  padding: 0 42px 0 14px;
  width: 100%;
}

.nurse-town-tabs a {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--navy);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  min-height: 38px;
  padding: 0 14px;
}

.nurse-town-tabs a:hover {
  border-color: var(--red);
  color: var(--red);
}

.nurse-directory-page .family-doctor-panel {
  gap: 18px;
}

.nurse-toolbar {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 14px 16px;
}

.nurse-card-list {
  align-items: stretch;
}

.nurse-doctor-card {
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.05);
}

.nurse-doctor-card .family-doctor-card-head {
  align-items: flex-start;
}

.nurse-card-title-row {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: auto 1fr;
  min-width: 0;
}

.nurse-doctor-card .nurse-avatar {
  align-items: center;
  background: linear-gradient(135deg, #e6f8f0, #fff2f6);
  border: 1px solid rgba(240, 77, 115, 0.14);
  border-radius: 18px;
  color: var(--red);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 15px;
  font-weight: 600;
  height: 58px;
  justify-content: center;
  width: 58px;
}

.nurse-doctor-card .nurse-kicker {
  color: var(--red);
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-bottom: 3px;
  text-transform: uppercase;
}

.nurse-consultation-hours {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px;
}

.nurse-consultation-hours span {
  grid-template-columns: minmax(70px, auto) 1fr;
}

.nurse-street-preview {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
}

.nurse-town-tabs button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--navy);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  min-height: 38px;
  padding: 0 14px;
}

.nurse-town-tabs button:hover,
.nurse-town-tabs button.is-active {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}

.nurse-town-section {
  display: grid;
  gap: 14px;
  scroll-margin-top: 110px;
}

.nurse-town-heading {
  align-items: center;
  display: flex;
  gap: 10px;
}

.nurse-town-heading span {
  align-items: center;
  background: var(--accent-soft);
  border-radius: 999px;
  color: var(--red);
  display: inline-flex;
  font-size: 12px;
  font-weight: 600;
  min-height: 30px;
  padding: 0 10px;
}

.nurse-town-heading h2 {
  color: var(--navy);
  font-size: 22px;
  font-weight: 600;
  margin: 0;
}

.nurse-card-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nurse-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 18px;
}

.nurse-card--complete {
  border-color: rgba(240, 77, 115, 0.28);
  box-shadow: 0 14px 34px rgba(32, 41, 95, 0.08);
}

.nurse-card-open {
  align-items: center;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: flex;
  gap: 12px;
  min-width: 0;
  padding: 0;
  text-align: left;
}

.nurse-card-open strong {
  color: var(--navy);
  display: block;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
  margin-top: 3px;
}

.nurse-card-open:hover strong {
  color: var(--red);
}

.nurse-card-head {
  align-items: center;
  display: flex;
  gap: 12px;
  min-width: 0;
}

.nurse-avatar {
  align-items: center;
  background: var(--accent-soft);
  border: 1px solid rgba(240, 77, 115, 0.22);
  border-radius: 50%;
  color: var(--red);
  display: inline-flex;
  flex: 0 0 48px;
  font-size: 14px;
  font-weight: 600;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.nurse-kicker {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.nurse-card h3 {
  color: var(--navy);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
  margin: 3px 0 0;
}

.nurse-details {
  display: grid;
  gap: 9px;
  margin: 0;
}

.nurse-details div {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 11px;
}

.nurse-details dt {
  color: var(--navy);
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 4px;
}

.nurse-details dd {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}

.nurse-details a {
  color: var(--navy);
  font-weight: 600;
}

.nurse-card-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nurse-card-actions a,
.nurse-card-actions button {
  align-items: center;
  background: var(--navy);
  border: 1px solid var(--navy);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  min-height: 36px;
  padding: 0 14px;
}

.nurse-card-actions a:hover,
.nurse-card-actions button:hover {
  background: var(--red);
  border-color: var(--red);
}

.nurse-source-note {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
  padding: 14px 16px;
}

.nurse-modal-backdrop {
  background: rgba(17, 24, 39, 0.42);
  inset: 0;
  position: fixed;
  z-index: 1200;
}

.nurse-modal {
  border: 0;
  border-radius: var(--radius);
  box-shadow: 0 28px 70px rgba(17, 24, 39, 0.28);
  color: var(--navy);
  max-width: min(820px, calc(100vw - 32px));
  padding: 26px;
  width: 100%;
  z-index: 1201;
}

.nurse-modal::backdrop {
  background: rgba(17, 24, 39, 0.42);
}

.nurse-modal--compact {
  max-width: min(560px, calc(100vw - 32px));
}

.nurse-modal-close {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--navy);
  cursor: pointer;
  display: inline-flex;
  font-size: 26px;
  font-weight: 500;
  height: 42px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 16px;
  top: 16px;
  width: 42px;
}

.nurse-modal-kicker {
  color: var(--red);
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-right: 48px;
  text-transform: uppercase;
}

.nurse-modal h2 {
  color: var(--navy);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 600;
  line-height: 1.1;
  margin: 8px 48px 18px 0;
}

.nurse-modal p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}

.nurse-modal-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.nurse-modal dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.nurse-modal dl div,
.nurse-consultation {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
}

.nurse-modal dt,
.nurse-consultation h3 {
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 5px;
}

.nurse-modal dd {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.nurse-modal a {
  color: var(--red);
  font-weight: 600;
}

.nurse-consultation ul {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.nurse-consultation li {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 4px;
  padding-top: 8px;
}

.nurse-consultation li:first-child {
  border-top: 0;
  padding-top: 0;
}

.nurse-consultation strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
}

.nurse-consultation span {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

@media (max-width: 1200px) {
  .health-choice-grid,
  .family-doctor-grid,
  .nurse-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .nurse-directory-panel .kalo-header-block--nurses {
    --nurse-hero-bg-x: 50%;
    --nurse-hero-bg-y: 50%;
  }

  .family-doctor-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .family-doctor-notice {
    text-align: left;
  }

  .family-doctor-grid {
    grid-template-columns: 1fr;
  }

  .family-doctor-actions {
    gap: 6px;
  }

  .family-doctor-actions a {
    border-radius: 8px;
    font-size: 12px;
    gap: 5px;
    min-height: 36px;
    padding: 0 8px;
  }

  .family-doctor-actions svg {
    height: 15px;
    width: 15px;
  }

  .nurse-directory-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .nurse-directory-summary p {
    text-align: left;
  }

  .nurse-town-filter {
    display: grid;
    gap: 7px;
  }

  .nurse-town-tabs {
    display: none;
  }

  .nurse-card-grid {
    grid-template-columns: 1fr;
  }

  .nurse-modal {
    max-height: calc(100dvh - 32px);
    overflow: auto;
    padding: 22px 18px;
  }

  .nurse-modal-grid {
    grid-template-columns: 1fr;
  }
}

/* Vállalkozóknak - döntést segítő oldal */
.business-guide {
  display: grid;
  gap: 68px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 76px;
}

.business-guide-hero {
  align-items: end;
  background: var(--navy);
  color: #fff;
  display: grid;
  gap: 48px;
  grid-template-columns: minmax(0, 1fr) minmax(235px, 0.38fr);
  isolation: isolate;
  min-height: 500px;
  overflow: hidden;
  padding: 54px;
  position: relative;
}

.business-guide-hero::before,
.business-guide-hero::after {
  content: "";
  inset: 0;
  position: absolute;
}

.business-guide-hero::before {
  background: url("/uploads/optimized/happy-businessman-standing-by-window-office-reading-text-mes-1782233228756-banner.webp") center / cover no-repeat;
  transform: scaleX(-1);
  z-index: -2;
}

.business-guide-hero::after {
  background: rgba(20, 29, 67, 0.78);
  z-index: -1;
}

.business-guide-hero-copy {
  max-width: 780px;
}

.business-guide-kicker {
  align-items: center;
  color: #ffadbf;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 10px;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.business-guide-kicker-icon {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: var(--pink);
  display: inline-flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.business-guide-kicker svg,
.business-guide-icon svg,
.business-guide-profile-preview svg {
  fill: none;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 18px;
}

.business-guide-hero h1 {
  color: #fff;
  font-size: clamp(38px, 4.8vw, 66px);
  line-height: 1.04;
  margin: 0;
  max-width: 760px;
}

.business-guide-hero-copy > p:not(.business-guide-kicker) {
  color: rgba(255, 255, 255, 0.91);
  font-size: 17px;
  line-height: 1.65;
  margin: 22px 0 30px;
  max-width: 650px;
}

.business-guide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
}

.business-guide-button {
  align-items: center;
  border-radius: 7px;
  display: inline-flex;
  font-size: 15px;
  font-weight: 600;
  justify-content: center;
  min-height: 48px;
  padding: 0 19px;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.business-guide-button--primary {
  background: var(--pink);
  border: 1px solid var(--pink);
  color: #fff;
}

.business-guide-button--primary:hover {
  background: #d83a67;
  border-color: #d83a67;
  color: #fff;
  transform: translateY(-1px);
}

.business-guide-button--secondary {
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.46);
  color: #fff;
}

.business-guide-button--secondary:hover {
  background: #fff;
  color: var(--navy);
}

.business-guide-hero-proof {
  align-self: end;
  border-left: 2px solid var(--pink);
  display: grid;
  gap: 8px;
  padding-left: 18px;
}

.business-guide-hero-proof span {
  color: #ffadbf;
  font-size: 13px;
  font-weight: 600;
}

.business-guide-hero-proof strong {
  color: #fff;
  font-size: 21px;
  line-height: 1.25;
}

.business-guide-hero-proof p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

.business-guide-intro {
  align-items: end;
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.7fr);
}

.business-guide .eyebrow {
  margin: 0 0 10px;
}

.business-guide-intro h2,
.business-guide-profile h2,
.business-guide-section-head h2,
.business-guide-faq h2,
.business-guide-final h2 {
  color: var(--navy);
  font-size: clamp(29px, 3vw, 44px);
  line-height: 1.14;
  margin: 0;
}

.business-guide-intro > p,
.business-guide-profile-copy > p:not(.eyebrow),
.business-guide-section-head > p:last-child {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.68;
  margin: 0;
}

.business-guide-benefits {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.business-guide-benefits article {
  padding: 30px 26px 32px;
}

.business-guide-benefits article + article {
  border-left: 1px solid var(--line);
}

.business-guide-icon {
  align-items: center;
  background: #fff0f4;
  border: 1px solid #ffd0dc;
  border-radius: 50%;
  color: var(--pink);
  display: inline-flex;
  height: 43px;
  justify-content: center;
  width: 43px;
}

.business-guide-benefits h3 {
  color: var(--navy);
  font-size: 18px;
  line-height: 1.35;
  margin: 18px 0 8px;
}

.business-guide-benefits p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}

.business-guide-profile {
  align-items: center;
  background: #f4f6fb;
  display: grid;
  gap: 58px;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.72fr);
  padding: 48px;
}

.business-guide-profile-copy {
  max-width: 600px;
}

.business-guide-profile-copy > p:not(.eyebrow) {
  margin-top: 18px;
}

.business-guide-text-link {
  color: var(--pink);
  display: inline-flex;
  font-size: 15px;
  font-weight: 600;
  gap: 8px;
  margin-top: 24px;
  text-decoration: none;
}

.business-guide-text-link span {
  font-size: 20px;
  line-height: 1;
  transition: transform 160ms ease;
}

.business-guide-text-link:hover span {
  transform: translateX(3px);
}

.business-guide-profile-preview {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.business-guide-preview-image {
  background: url("/uploads/optimized/stylish-clothing-store-filled-with-plants-natural-light-1780419211079-banner.webp") center / cover no-repeat;
  height: 142px;
}

.business-guide-preview-body {
  padding: 22px;
}

.business-guide-preview-meta {
  align-items: center;
  display: flex;
  font-size: 12px;
  font-weight: 600;
  justify-content: space-between;
}

.business-guide-preview-meta span:first-child {
  background: #e8fbf3;
  border-radius: 999px;
  color: #2f9f7b;
  padding: 5px 9px;
}

.business-guide-preview-meta span:last-child {
  color: var(--navy);
}

.business-guide-profile-preview h3 {
  color: var(--navy);
  font-size: 21px;
  margin: 17px 0 7px;
}

.business-guide-profile-preview > p,
.business-guide-preview-body > p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

.business-guide-profile-preview ul {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 11px;
  list-style: none;
  margin: 20px 0 0;
  padding: 17px 0 0;
}

.business-guide-profile-preview li {
  align-items: center;
  color: var(--navy);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: 10px;
}

.business-guide-profile-preview li svg {
  color: var(--pink);
  flex: 0 0 auto;
}

.business-guide-steps {
  align-items: start;
  display: grid;
  gap: 54px;
  grid-template-columns: minmax(270px, 0.72fr) minmax(0, 1.28fr);
}

.business-guide-section-head {
  max-width: 520px;
}

.business-guide-section-head > p:last-child {
  margin-top: 17px;
}

.business-guide-steps ol {
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.business-guide-steps li {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 13px;
  grid-template-columns: 40px minmax(0, 1fr);
  padding: 22px 20px 22px 0;
}

.business-guide-steps li:nth-child(even) {
  padding-left: 20px;
  padding-right: 0;
}

.business-guide-steps li:nth-child(even):not(:last-child) {
  border-left: 1px solid var(--line);
}

.business-guide-steps li > span {
  align-items: center;
  background: #fff0f4;
  border: 1px solid #ffd0dc;
  border-radius: 50%;
  color: var(--pink);
  display: flex;
  font-size: 12px;
  font-weight: 600;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.business-guide-steps h3 {
  color: var(--navy);
  font-size: 17px;
  line-height: 1.3;
  margin: 1px 0 6px;
}

.business-guide-steps li p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

.business-guide-faq {
  align-items: start;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 56px;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  padding-top: 58px;
}

.business-guide-faq-list {
  border-top: 1px solid var(--line);
}

.business-guide-faq details {
  border-bottom: 1px solid var(--line);
  padding: 19px 0;
}

.business-guide-faq summary {
  color: var(--navy);
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  list-style: none;
  padding-right: 34px;
  position: relative;
}

.business-guide-faq summary::-webkit-details-marker {
  display: none;
}

.business-guide-faq summary::after {
  color: var(--pink);
  content: "+";
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
  position: absolute;
  right: 2px;
  top: -2px;
}

.business-guide-faq details[open] summary::after {
  content: "−";
}

.business-guide-faq details p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
  margin: 12px 0 0;
}

.business-guide-final {
  align-items: center;
  background: var(--navy);
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 42px 46px;
}

.business-guide-final .eyebrow {
  color: #ffabc0;
}

.business-guide-final h2 {
  color: #fff;
  max-width: 770px;
}

.business-guide-final > div > p:last-child {
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.6;
  margin: 14px 0 0;
  max-width: 690px;
}

.business-guide-final .business-guide-button {
  align-self: center;
  white-space: nowrap;
}

@media (max-width: 940px) {
  .business-guide {
    gap: 48px;
    padding: 12px 0 58px;
  }

  .business-guide-hero,
  .business-guide-intro,
  .business-guide-profile,
  .business-guide-steps,
  .business-guide-faq {
    grid-template-columns: 1fr;
  }

  .business-guide-hero {
    gap: 38px;
    min-height: 0;
    padding: 42px 34px;
  }

  .business-guide-hero-proof {
    max-width: 480px;
  }

  .business-guide-profile,
  .business-guide-steps,
  .business-guide-faq {
    gap: 32px;
  }
}

@media (max-width: 680px) {
  .business-guide-hero {
    padding: 34px 22px;
  }

  .business-guide-hero h1 {
    font-size: 36px;
  }

  .business-guide-hero-copy > p:not(.business-guide-kicker) {
    font-size: 16px;
  }

  .business-guide-benefits {
    grid-template-columns: 1fr;
  }

  .business-guide-benefits article {
    padding: 24px 0;
  }

  .business-guide-benefits article + article {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .business-guide-profile {
    margin-left: -16px;
    margin-right: -16px;
    padding: 34px 22px;
  }

  .business-guide-steps ol {
    grid-template-columns: 1fr;
  }

  .business-guide-steps li,
  .business-guide-steps li:nth-child(even) {
    padding: 20px 0;
  }

  .business-guide-steps li:nth-child(even):not(:last-child) {
    border-left: 0;
  }

  .business-guide-faq {
    padding-top: 42px;
  }

  .business-guide-final {
    grid-template-columns: 1fr;
    padding: 34px 22px;
  }

  .business-guide-final .business-guide-button {
    justify-self: start;
  }
}

@media (max-width: 460px) {
  .business-guide-actions,
  .business-guide-actions .business-guide-button,
  .business-guide-final .business-guide-button {
    width: 100%;
  }

  .business-guide-profile-preview {
    width: 100%;
  }
}

/* Vállalkozóknak oldal */
.businesses-page-shell {
  display: grid;
  gap: 52px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 22px 0 72px;
}

.businesses-hero {
  background-image: url("/uploads/optimized/digital-marketing-global-business-concept-businessman-using--1780418681609-banner.webp");
  background-position: center;
  background-size: cover;
  color: #fff;
  display: grid;
  gap: 44px;
  grid-template-columns: minmax(0, 1.08fr) minmax(250px, 0.72fr);
  isolation: isolate;
  min-height: 438px;
  overflow: hidden;
  padding: 52px;
  position: relative;
}

.businesses-hero::before {
  background: rgba(20, 31, 72, 0.82);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.businesses-hero-copy,
.businesses-hero-points {
  align-self: center;
}

.businesses-hero .eyebrow {
  color: #ff8ca8;
  margin-bottom: 14px;
}

.businesses-hero h1 {
  color: #fff;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.04;
  margin: 0;
  max-width: 760px;
}

.businesses-hero-copy > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  line-height: 1.62;
  margin: 22px 0 30px;
  max-width: 640px;
}

.businesses-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.businesses-primary-action,
.businesses-secondary-action {
  align-items: center;
  border-radius: 7px;
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.businesses-primary-action {
  background: var(--pink);
  border: 1px solid var(--pink);
  color: #fff;
}

.businesses-primary-action:hover {
  background: #d93465;
  border-color: #d93465;
  color: #fff;
  transform: translateY(-1px);
}

.businesses-secondary-action {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.58);
  color: #fff;
}

.businesses-secondary-action:hover {
  background: #fff;
  color: var(--navy);
}

.businesses-hero-points {
  border-bottom: 1px solid rgba(255, 255, 255, 0.26);
  border-top: 1px solid rgba(255, 255, 255, 0.26);
  display: grid;
}

.businesses-hero-points span {
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  font-size: 16px;
  font-weight: 600;
  gap: 12px;
  min-height: 69px;
}

.businesses-hero-points span:last-child {
  border-bottom: 0;
}

.businesses-hero-points svg {
  color: #ff8ca8;
  flex: 0 0 auto;
  height: 23px;
  width: 23px;
}

.businesses-section-heading {
  max-width: 660px;
}

.businesses-section-heading .eyebrow {
  margin-bottom: 9px;
}

.businesses-section-heading h2,
.businesses-process-copy h2,
.businesses-final-cta h2 {
  color: var(--navy);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.13;
  margin: 0;
}

.businesses-section-heading > p:last-child,
.businesses-process-copy > p:last-child {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.6;
  margin: 15px 0 0;
}

.businesses-benefits {
  align-items: start;
  display: grid;
  gap: 48px;
  grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.28fr);
}

.businesses-benefit-list,
.businesses-step-list {
  display: grid;
  gap: 14px;
}

.businesses-benefit-list article {
  align-items: start;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 17px;
  grid-template-columns: 46px minmax(0, 1fr);
  padding: 21px;
}

.businesses-benefit-list article > span {
  align-items: center;
  background: #fff1f5;
  border: 1px solid #ffd1dc;
  border-radius: 50%;
  color: var(--pink);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  height: 46px;
  padding: 12px;
  justify-content: center;
  width: 46px;
}

.businesses-benefit-list h3,
.businesses-step-list h3 {
  color: var(--navy);
  font-size: 18px;
  margin: 1px 0 6px;
}

.businesses-benefit-list p,
.businesses-step-list p {
  color: var(--muted);
  line-height: 1.5;
  margin: 0;
}

.businesses-process {
  align-items: start;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 48px;
  grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.28fr);
  padding-top: 50px;
}

.businesses-step-list {
  counter-reset: businesses-step;
  list-style: none;
  margin: 0;
  padding: 0;
}

.businesses-step-list li {
  border-bottom: 1px solid var(--line);
  counter-increment: businesses-step;
  display: grid;
  gap: 16px;
  grid-template-columns: 48px minmax(0, 1fr);
  padding: 0 0 18px;
}

.businesses-step-list li::before {
  align-items: center;
  background: var(--navy);
  border-radius: 50%;
  color: #fff;
  content: "0" counter(businesses-step);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.businesses-step-list strong {
  color: var(--navy);
  font-size: 18px;
  grid-column: 2;
  margin: 1px 0 4px;
}

.businesses-step-list span {
  color: var(--muted);
  grid-column: 2;
  line-height: 1.5;
}

.businesses-final-cta {
  background: #fceef2;
  border: 1px solid #ffd2dc;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 38px 42px;
}

.businesses-final-cta h2 {
  max-width: 760px;
}

.businesses-final-cta p {
  color: var(--muted);
  line-height: 1.55;
  margin: 12px 0 0;
  max-width: 670px;
}

.businesses-final-cta .businesses-primary-action {
  align-self: center;
  white-space: nowrap;
}

/* A kezdőlap vállalkozói felhívása. */
.why-card .why-card-benefits {
  display: grid;
  gap: 9px;
  list-style: none;
  margin: 22px 0 24px;
  padding: 0;
}

.why-card .why-card-benefits li {
  align-items: center;
  color: var(--navy);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: 9px;
  margin: 0;
}

.why-card .why-card-benefits li::before {
  align-items: center;
  background: #fff0f4;
  border: 1px solid #ffcbd8;
  border-radius: 50%;
  color: var(--pink);
  content: "\2713";
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 12px;
  height: 22px;
  justify-content: center;
  width: 22px;
}

@media (max-width: 860px) {
  .businesses-page-shell {
    gap: 38px;
    padding: 12px 0 54px;
  }

  .businesses-hero {
    gap: 32px;
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 38px 26px;
  }

  .businesses-hero h1 {
    font-size: 38px;
  }

  .businesses-hero-copy > p:not(.eyebrow) {
    font-size: 16px;
  }

  .businesses-benefits,
  .businesses-process {
    gap: 28px;
    grid-template-columns: 1fr;
  }

  .businesses-process {
    padding-top: 38px;
  }

  .businesses-final-cta {
    grid-template-columns: 1fr;
    padding: 31px 26px;
  }

  .businesses-final-cta .businesses-primary-action {
    justify-self: start;
  }
}

@media (max-width: 520px) {
  .businesses-hero {
    padding: 32px 20px;
  }

  .businesses-hero h1 {
    font-size: 33px;
  }

  .businesses-hero-actions,
  .businesses-hero-actions a,
  .businesses-final-cta .businesses-primary-action {
    width: 100%;
  }

  .businesses-benefit-list article {
    gap: 13px;
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 17px;
  }

  .businesses-benefit-list article > span {
    height: 40px;
    padding: 10px;
    width: 40px;
  }
}

/* Vállalkozóknak - új, tartalomközpontú bemutatkozó oldal */
.partner-page {
  display: grid;
  gap: 58px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 72px;
}

.partner-hero {
  align-items: end;
  background-image: url("/uploads/optimized/coffee-shop-bar-counter-cafe-restaurant-relaxation-concept-1780422698582-banner.webp");
  background-position: center;
  background-size: cover;
  color: #fff;
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.32fr);
  isolation: isolate;
  min-height: 468px;
  overflow: hidden;
  padding: 46px;
  position: relative;
}

.partner-hero::before {
  background: rgba(20, 29, 67, 0.78);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.partner-hero-copy {
  max-width: 770px;
}

.partner-kicker {
  color: #ffb0c2;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.partner-hero h1 {
  color: #fff;
  font-size: clamp(36px, 4.4vw, 62px);
  line-height: 1.05;
  margin: 0;
  max-width: 760px;
}

.partner-hero-copy > p:not(.partner-kicker) {
  color: rgba(255, 255, 255, 0.92);
  font-size: 17px;
  line-height: 1.65;
  margin: 20px 0 28px;
  max-width: 650px;
}

.partner-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.partner-action {
  align-items: center;
  border-radius: 7px;
  display: inline-flex;
  font-size: 15px;
  font-weight: 600;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.partner-action--primary {
  background: var(--pink);
  border: 1px solid var(--pink);
  color: #fff;
}

.partner-action--primary:hover {
  background: #d83c68;
  border-color: #d83c68;
  color: #fff;
  transform: translateY(-1px);
}

.partner-action--quiet {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.44);
  color: #fff;
}

.partner-action--quiet:hover {
  background: #fff;
  color: var(--navy);
}

.partner-hero-note {
  align-self: end;
  border-left: 2px solid var(--pink);
  display: grid;
  gap: 7px;
  padding-left: 18px;
}

.partner-hero-note span {
  color: #ffb0c2;
  font-size: 13px;
  font-weight: 600;
}

.partner-hero-note strong {
  color: #fff;
  font-size: 20px;
  line-height: 1.25;
}

.partner-hero-note p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.partner-intro {
  align-items: end;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.7fr);
}

.partner-intro .eyebrow,
.partner-profile-copy .eyebrow,
.partner-steps .eyebrow,
.partner-final .eyebrow {
  margin: 0 0 10px;
}

.partner-intro h2,
.partner-profile-copy h2,
.partner-steps h2,
.partner-final h2 {
  color: var(--navy);
  font-size: clamp(29px, 3vw, 44px);
  line-height: 1.14;
  margin: 0;
}

.partner-intro > p,
.partner-profile-copy > p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
}

.partner-details {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.partner-details article {
  padding: 28px 26px 30px;
}

.partner-details article + article {
  border-left: 1px solid var(--line);
}

.partner-detail-icon {
  align-items: center;
  background: #fff0f4;
  border: 1px solid #ffd1dc;
  border-radius: 50%;
  color: var(--pink);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.partner-detail-icon svg,
.partner-profile-sample svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 20px;
}

.partner-details h3 {
  color: var(--navy);
  font-size: 18px;
  line-height: 1.3;
  margin: 18px 0 8px;
}

.partner-details p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}

.partner-profile-band {
  align-items: center;
  background: #f4f6fb;
  display: grid;
  gap: 56px;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.72fr);
  padding: 46px;
}

.partner-profile-copy {
  max-width: 590px;
}

.partner-profile-copy > p:not(.eyebrow) {
  margin-top: 18px;
}

.partner-text-link {
  color: var(--pink);
  display: inline-flex;
  font-size: 15px;
  font-weight: 600;
  gap: 8px;
  margin-top: 24px;
  text-decoration: none;
}

.partner-text-link span {
  font-size: 20px;
  line-height: 1;
  transition: transform 160ms ease;
}

.partner-text-link:hover span {
  transform: translateX(3px);
}

.partner-profile-sample {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: 26px;
}

.partner-sample-top {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: 13px;
  font-weight: 600;
  gap: 10px;
}

.partner-sample-mark {
  align-items: center;
  background: var(--navy);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 12px;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.partner-profile-sample h3 {
  color: var(--navy);
  font-size: 22px;
  margin: 18px 0 8px;
}

.partner-profile-sample > p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

.partner-profile-sample ul {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 22px 0 0;
  padding: 18px 0 0;
}

.partner-profile-sample li {
  align-items: center;
  color: var(--navy);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: 10px;
}

.partner-profile-sample li svg {
  color: var(--pink);
  flex: 0 0 auto;
  height: 18px;
  width: 18px;
}

.partner-steps {
  align-items: start;
  display: grid;
  gap: 52px;
  grid-template-columns: minmax(250px, 0.78fr) minmax(0, 1.22fr);
}

.partner-steps ol {
  counter-reset: partner-step;
  display: grid;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.partner-steps li {
  border-top: 1px solid var(--line);
  counter-increment: partner-step;
  display: grid;
  gap: 8px 18px;
  grid-template-columns: 44px minmax(0, 1fr);
  padding: 19px 0;
}

.partner-steps li:last-child {
  border-bottom: 1px solid var(--line);
}

.partner-steps li::before {
  align-items: center;
  background: #fff0f4;
  border: 1px solid #ffd1dc;
  border-radius: 50%;
  color: var(--pink);
  content: "0" counter(partner-step);
  display: flex;
  font-size: 13px;
  font-weight: 600;
  grid-row: span 2;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.partner-steps strong {
  color: var(--navy);
  font-size: 18px;
  line-height: 1.3;
}

.partner-steps li span {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.partner-final {
  align-items: center;
  background: var(--navy);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 38px 42px;
}

.partner-final .eyebrow {
  color: #ff9fba;
}

.partner-final h2 {
  color: #fff;
}

.partner-final .partner-action {
  white-space: nowrap;
}

/* A kezdőlap sötét kiemelésén a korábbi listaszínt felülírja. */
.why-card .why-card-benefits li {
  color: #fff;
}

.why-card .why-card-benefits li::before {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff;
  content: "\2713";
}

@media (max-width: 900px) {
  .partner-page {
    gap: 42px;
    padding: 12px 0 56px;
  }

  .partner-hero,
  .partner-intro,
  .partner-profile-band,
  .partner-steps {
    grid-template-columns: 1fr;
  }

  .partner-hero {
    gap: 38px;
    min-height: 0;
    padding: 38px 32px;
  }

  .partner-hero-note {
    max-width: 420px;
  }

  .partner-intro,
  .partner-profile-band,
  .partner-steps {
    gap: 28px;
  }

  .partner-profile-band {
    padding: 34px;
  }
}

@media (max-width: 680px) {
  .partner-hero {
    background-position: 58% center;
    padding: 32px 22px;
  }

  .partner-hero h1 {
    font-size: 35px;
  }

  .partner-hero-copy > p:not(.partner-kicker) {
    font-size: 16px;
  }

  .partner-details {
    grid-template-columns: 1fr;
  }

  .partner-details article {
    padding: 23px 0;
  }

  .partner-details article + article {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .partner-profile-band {
    margin-left: -16px;
    margin-right: -16px;
    padding: 32px 22px;
  }

  .partner-profile-sample {
    padding: 22px;
  }

  .partner-final {
    grid-template-columns: 1fr;
    padding: 30px 22px;
  }

  .partner-final .partner-action {
    justify-self: start;
  }
}

@media (max-width: 460px) {
  .partner-hero-actions,
  .partner-hero-actions .partner-action,
  .partner-final .partner-action {
    width: 100%;
  }
}

.health-choice-icon {
  align-items: center;
  background: #fff;
  border-radius: 999px;
  display: inline-flex;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.health-choice-icon img {
  display: block;
  height: 25px;
  object-fit: contain;
  width: 25px;
}

.health-choice-label {
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
}

.health-choice-card strong {
  display: block;
  font-size: clamp(12px, 4vw, 23px);
  line-height: 1.08;
  max-width: 620px;
}

.health-choice-text {
  color: rgba(255, 255, 255, 0.88);
  display: block;
  font-size: 15px;
  line-height: 1.6;
  max-width: 620px;
}

.health-choice-button {
  align-items: center;
  background: #fff;
  border-radius: var(--radius);
  color: var(--navy);
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  margin-top: 4px;
  min-height: 44px;
  padding: 0 18px;
  width: max-content;
}

.health-choice-card:hover .health-choice-button {
  background: var(--red);
  color: #fff;
}

.health-clinics-panel {
  overflow: hidden;
}

.health-clinics-panel .clinic-status-summary {
  margin-top: 24px;
}

.health-clinics-loading {
  color: var(--muted);
  font-weight: 600;
  min-height: 120px;
}

.kalo-clinics {
  padding: 0;
}

.kalo-clinics__inner {
  margin: 0 auto;
  max-width: 100%;
  padding: 0;
}

.kalo-clinics__header {
  margin-bottom: 26px;
  text-align: center;
}

.kalo-clinics__badge {
  align-items: center;
  background: linear-gradient(135deg, rgba(43, 52, 103, 0.12), rgba(235, 69, 95, 0.16));
  border: 1px solid rgba(43, 52, 103, 0.1);
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(43, 52, 103, 0.1);
  color: var(--red);
  display: inline-flex;
  height: 58px;
  justify-content: center;
  margin: 0 auto 16px;
  width: 58px;
}

.kalo-clinics__badge svg {
  height: 26px;
  width: 26px;
}

.kalo-clinics__title {
  color: #1f2937;
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0 0 12px;
}

.kalo-clinics__desc {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 auto 22px;
  max-width: 780px;
}

.kalo-clinics__divider {
  background: linear-gradient(90deg, var(--navy), var(--red));
  border-radius: 20px;
  height: 4px;
  margin: 0 auto 18px;
  width: 80px;
}

.kalo-clinics__sub {
  color: #1f2937;
  font-size: 14px;
  font-weight: 600;
}

.kalo-clinics__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kalo-clinic-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(2, 6, 23, 0.08);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  min-width: 0;
  overflow: hidden;
  padding: 16px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.kalo-clinic-card:hover {
  border-color: rgba(240, 77, 115, 0.28);
  box-shadow: 0 18px 42px rgba(32, 41, 95, 0.14);
  transform: translateY(-4px);
}

.kalo-clinic-card__top {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.kalo-clinic-card__icon {
  align-items: center;
  background: #f3f6fb;
  border: 1px solid rgba(43, 52, 103, 0.1);
  border-radius: 20px;
  color: var(--navy);
  display: flex;
  flex: 0 0 76px;
  height: 76px;
  justify-content: center;
  width: 76px;
}

.kalo-icon-img,
.kalo-clinic-card__icon svg {
  display: block;
  height: 42px;
  object-fit: contain;
  width: 42px;
}

.kalo-clinic-card__tags {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  margin-left: auto;
}

.kalo-clinic-tag {
  align-items: center;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  color: #334155;
  display: inline-flex;
  font-size: 12px;
  font-weight: 600;
  justify-content: center;
  line-height: 1;
  min-height: 28px;
  padding: 7px 10px;
  white-space: nowrap;
}

.kalo-clinic-tag--open {
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.18);
  color: #047857;
}

.kalo-clinic-tag--closed {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.16);
  color: #b91c1c;
}

.kalo-clinic-card__title {
  color: #0f172a;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 12px;
}

.kalo-clinic-card__meta {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}

.kalo-clinic-card__row {
  align-items: flex-start;
  color: #64748b;
  display: flex;
  font-size: 14px;
  gap: 10px;
  line-height: 1.5;
  min-width: 0;
}

.kalo-clinic-card__row span:last-child,
.kalo-clinic-card__row a {
  min-width: 0;
  overflow-wrap: anywhere;
}

.kalo-clinic-card__row span:last-child {
  word-break: normal;
}

.kalo-clinic-card__meta-icon {
  align-items: center;
  background: #f1f5f9;
  border-radius: 999px;
  color: #65739a;
  display: inline-flex;
  flex: 0 0 24px;
  font-size: 12px;
  height: 24px;
  justify-content: center;
  width: 24px;
}

.kalo-clinic-card__meta-icon svg {
  fill: none;
  height: 13px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 13px;
}

.kalo-link {
  color: #0f172a;
  font-weight: 600;
}

.kalo-link:hover {
  text-decoration: underline;
}

.kalo-clinic-card__box {
  background: #f3f6fb;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 16px;
  color: #475569;
  font-size: 13px;
  line-height: 1.55;
  margin: 0 0 12px;
  padding: 12px 14px;
  overflow-wrap: anywhere;
  word-break: normal;
}

.kalo-clinic-card__box:last-child {
  margin-bottom: 0;
}

.hospital-section .kalo-clinics__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1280px) {
  .hospital-section .kalo-clinics__grid {
    grid-template-columns: repeat(3, minmax(240px, 1fr));
  }
}

@media (max-width: 1100px) {
  .hospital-section .kalo-clinics__grid {
    grid-template-columns: repeat(2, minmax(260px, 1fr));
  }
}

@media (max-width: 700px) {
  .hospital-section .kalo-clinics__grid {
    grid-template-columns: 1fr;
  }

  .hospital-section .kalo-clinic-card {
    border-radius: 18px;
    padding: 14px;
  }

  .hospital-section .kalo-clinic-card__top {
    align-items: center;
  }

  .hospital-section .kalo-clinic-card__icon {
    border-radius: 16px;
    flex: 0 0 64px;
    height: 64px;
    width: 64px;
  }

  .hospital-section .kalo-icon-img,
  .hospital-section .kalo-clinic-card__icon svg {
    height: 36px;
    width: 36px;
  }

  .hospital-section .kalo-clinic-card__title {
    font-size: 19px;
    line-height: 1.25;
  }
}

.profile-modal[aria-hidden="true"] { display: none; }
.profile-modal {
  inset: 0;
  position: fixed;
  z-index: 100;
}
.profile-backdrop {
  background: rgba(15, 23, 42, 0.72);
  inset: 0;
  position: absolute;
}
.profile-dialog {
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow-strong);
  left: 50%;
  max-height: calc(100vh - 32px);
  max-width: min(680px, calc(100vw - 24px));
  overflow: auto;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.profile-close {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-size: 24px;
  height: 42px;
  position: absolute;
  right: 14px;
  top: 14px;
  width: 42px;
  z-index: 2;
}
.profile-cover {
  align-items: center;
  background: linear-gradient(135deg, var(--navy), var(--red));
  display: flex;
  height: 180px;
  justify-content: center;
}
.profile-cover span {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: var(--red);
  display: flex;
  font-size: 32px;
  font-weight: 600;
  height: 86px;
  justify-content: center;
  width: 86px;
}
.profile-content { padding: 24px; }
.profile-content p { color: var(--muted); }
.profile-facts {
  background: #f8fafc;
  border-radius: var(--radius);
  display: grid;
  gap: 8px;
  margin: 18px 0;
  padding: 16px;
}

.profile-google-card {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  display: grid;
  gap: 0.8rem;
  margin: 1rem 0;
  padding: 1rem;
}

.profile-google-card > div:first-child {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.profile-google-card strong {
  color: var(--navy);
  font-size: 1.5rem;
}

.profile-google-card .stars,
.profile-google-list small {
  color: var(--yellow);
  font-weight: 600;
}

.profile-google-card p,
.profile-google-card small {
  color: var(--muted);
}

.profile-google-card a {
  color: var(--red);
  font-weight: 600;
}

.google-review-slider {
  --review-count: 1;
  overflow: hidden;
  width: 100%;
}

.google-review-track {
  display: flex;
  width: calc(var(--review-count) * 100%);
  animation: googleReviewSlide calc(var(--review-count) * 4s) infinite;
}

.google-review-track article {
  flex: 0 0 calc(100% / var(--review-count));
  min-width: 0;
}

.profile-google-list article,
.google-review-track article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  display: grid;
  gap: 0.3rem;
  padding: 0.7rem;
}

@keyframes googleReviewSlide {
  0%, 18% { transform: translateX(0); }
  20%, 38% { transform: translateX(calc(-100% / var(--review-count))); }
  40%, 58% { transform: translateX(calc(-200% / var(--review-count))); }
  60%, 78% { transform: translateX(calc(-300% / var(--review-count))); }
  80%, 98% { transform: translateX(calc(-400% / var(--review-count))); }
  100% { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .google-review-track {
    animation: none;
  }
}

.site-footer {
  background:
    radial-gradient(circle at 88% 20%, rgba(255, 255, 255, 0.035), transparent 18rem),
    linear-gradient(135deg, #191d24, #15191f);
  border-radius: 10px 10px 0 0;
  color: rgba(255, 255, 255, 0.72);
  flex: 0 0 auto;
  margin-top: clamp(42px, 6vw, 76px);
  overflow: hidden;
  position: relative;
  width: 100%;
}

.ki-footer::before {
  background-image: url("/uploads/optimized/kalocsaminta-scaled-1780832929642-banner.webp");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  height: 800px;
  opacity: 0.02;
  pointer-events: none;
  position: absolute;
  right: -120px;
  transform: rotate(180deg);
  transform-origin: center;
  width: 800px;
  z-index: 0;
}

.site-footer::after {
  display: none;
}

.site-footer-inner {
  align-items: start;
  display: grid;
  gap: 54px;
  grid-template-columns: 1.55fr 0.8fr 1fr 0.9fr;
  margin: 0 auto;
  max-width: var(--page);
  padding: 76px 32px 20px;
  position: relative;
  z-index: 1;
}

.brand--footer {
  display: inline-flex;
  margin-bottom: 26px;
}

.brand--footer .brand-logo {
  max-height: 48px;
}

.site-footer p,
.site-footer a,
.site-footer span {
  color: rgba(255,255,255,0.68);
  display: block;
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 18px;
}

.site-footer p {
  line-height: 1.55;
  max-width: 410px;
}

.site-footer h3 {
  color: rgba(255,255,255,0.88);
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 24px;
  text-transform: uppercase;
}

.footer-contact-list {
  display: grid;
  gap: 15px;
  margin-top: 30px;
}

.footer-contact-list span {
  align-items: center;
  display: flex;
  gap: 14px;
  margin: 0;
}

.footer-contact-list b {
  align-items: center;
  color: var(--red);
  display: inline-flex;
  flex: 0 0 18px;
  font-size: 16px;
  justify-content: center;
}

.footer-socials {
  gap: 0;
}

.footer-socials a {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 13px;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 20px;
  height: 44px;
  margin: 0;
  width: 44px;
}

.footer-follow {
  min-width: 0;
}

.footer-facebook-link {
  align-items: center;
  background: #1877f2;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  gap: 9px;
  margin: 0 0 14px !important;
  min-height: 42px;
  padding: 0 13px;
  text-decoration: none;
}

.footer-facebook-link:hover {
  background: #1466d2;
  color: #fff;
}

.footer-facebook-link span {
  color: #fff;
  display: inline;
  font-family: Arial, sans-serif;
  font-size: 21px;
  font-weight: 600;
  margin: 0;
}

/* Keep the full clinic directory typography aligned with the homepage carousel. */
.health-clinics-panel .kalo-clinic-card__title {
  color: #0f172a;
  font-weight: 600;
}

.health-clinics-panel .kalo-clinic-card__row {
  color: #64748b;
  font-weight: 500;
}

.health-clinics-panel .kalo-clinic-card__box {
  color: #475569;
  font-weight: 500;
}

.health-clinics-panel .kalo-clinic-card__box strong {
  color: #334155;
  font-weight: 600;
}


.site-footer small {
  color: rgba(255,255,255,0.5);
  font-size: 13px;
  font-weight: 600;
}

.footer-bottom {
  align-items: center;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex;
  gap: 20px;
  grid-column: 1 / -1;
  justify-content: space-between;
  margin-top: 26px;
  padding-top: 20px;
}

.footer-bottom div {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  justify-content: flex-end;
}

.footer-bottom a {
  font-size: 13px;
  margin: 0;
}

.back-to-top {
  align-items: center;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border: 0;
  border-radius: 999px;
  bottom: max(24px, env(safe-area-inset-bottom));
  box-shadow: 0 18px 34px rgba(235, 69, 95, 0.32);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  height: 52px;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  transform: translateY(14px) scale(0.92);
  transition: opacity 180ms ease, transform 180ms ease, box-shadow 180ms ease;
  width: 52px;
  z-index: 80;
}

.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.back-to-top:hover,
.back-to-top:focus-visible {
  box-shadow: 0 20px 38px rgba(235, 69, 95, 0.42);
  outline: none;
  transform: translateY(-2px) scale(1);
}

.back-to-top svg {
  fill: none;
  height: 24px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
  width: 24px;
}

.mobile-bottom-nav {
  display: none;
}

.profile-page-shell {
  display: block;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 0;
}

.single-profile {
  display: grid;
  gap: 18px;
}

.single-breadcrumb {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 8px;
}

.single-breadcrumb a {
  color: var(--navy);
  font-weight: 600;
}

.single-hero {
  background:
    linear-gradient(90deg, rgba(32,41,95,0.94) 0%, rgba(32,41,95,0.74) 42%, rgba(32,41,95,0.1) 78%),
    var(--single-image) center / cover;
  border-radius: var(--radius);
  color: #fff;
  min-height: 360px;
  padding: clamp(32px, 5vw, 70px);
}

.single-hero--directory {
  align-items: end;
  display: grid;
  position: relative;
}

.single-photo-attribution {
  bottom: 12px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 11px;
  position: absolute;
  right: 14px;
}

.single-photo-attribution:hover {
  color: #fff;
  text-decoration: underline;
}

.single-hero-card {
  max-width: 760px;
}

.single-hero > div {
  max-width: 720px;
}

.single-hero h1 {
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1;
  margin: 18px 0;
}

.single-hero p {
  color: rgba(255, 255, 255, 0.86);
  font-size: 18px;
}

.single-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.single-ghost-link {
  align-items: center;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: var(--radius);
  color: #fff;
  display: inline-flex;
  font-weight: 600;
  min-height: 48px;
  padding: 0 18px;
}

.single-action-bar {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(32, 41, 95, 0.04);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px;
}

.single-action-bar a,
.single-action-status {
  align-items: center;
  background: #f7f8fb;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--navy);
  display: inline-flex;
  gap: 8px;
  font-weight: 600;
  line-height: 1;
  min-height: 38px;
  padding: 0 14px;
  white-space: nowrap;
}

.single-action-bar svg {
  color: #f04d73;
  flex: 0 0 17px;
  height: 17px;
  width: 17px;
}

.single-route-icon {
  background: #f04d73;
  display: inline-block;
  flex: 0 0 17px;
  height: 17px;
  mask: url("/uploads/map-point-rotate-svgrepo-com-1781518187101.svg") center / contain no-repeat;
  -webkit-mask: url("/uploads/map-point-rotate-svgrepo-com-1781518187101.svg") center / contain no-repeat;
  width: 17px;
}

.single-action-status svg {
  color: #f04d73;
}

.single-action-status {
  cursor: default;
}

.single-action-status.status-open {
  background: #e7f7f0;
  border-color: rgba(47, 159, 123, 0.22);
  color: var(--green);
}

.single-action-status.status-closed {
  background: var(--accent-soft);
  border-color: rgba(240, 77, 115, 0.22);
  color: var(--red);
}

.single-action-status.status-appointment {
  background: #fff7e6;
  border-color: rgba(183, 121, 31, 0.22);
  color: #b7791f;
}

.single-action-bar a:hover {
  border-color: var(--red);
  color: var(--red);
}

.single-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) 360px;
}

.single-directory-grid {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) 390px;
}

.single-main,
.single-side {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(32, 41, 95, 0.04);
  padding: 24px;
}

.single-directory-grid .single-main,
.single-directory-grid .single-side {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.single-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(32, 41, 95, 0.04);
  padding: 24px;
}

.single-card + .single-card {
  margin-top: 18px;
}

.single-main h2,
.single-side h2 {
  margin-bottom: 12px;
}

.single-section-heading {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  line-height: 1.2;
  min-width: 0;
}

.single-section-heading > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.single-heading-icon {
  align-items: center;
  background: var(--accent-soft);
  border: 1px solid rgba(240, 77, 115, 0.2);
  border-radius: 50%;
  color: #f04d73;
  display: inline-flex;
  flex: 0 0 34px;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.single-heading-icon svg {
  height: 17px;
  width: 17px;
}

.single-main h1 {
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.1;
}

.single-main p,
.single-side p {
  color: var(--muted);
}

.single-inline-image {
  border-radius: var(--radius);
  display: block;
  margin-bottom: 22px;
  max-height: 360px;
  object-fit: cover;
  width: 100%;
}

.single-check-list {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.single-check-list li {
  color: var(--muted);
  padding-left: 28px;
  position: relative;
}

.single-check-list li::before {
  color: var(--red);
  content: "✓";
  font-weight: 600;
  left: 0;
  position: absolute;
}

.single-facts {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.single-facts span,
.single-side p {
  background: #f7f8fb;
  border-radius: var(--radius);
  display: grid;
  gap: 4px;
  padding: 14px;
}

.single-facts strong,
.single-side strong {
  color: var(--ink);
  font-size: 13px;
}

.single-contact-list {
  display: grid;
  gap: 10px;
}

.single-contact-list p {
  align-items: flex-start;
  display: grid;
  gap: 12px;
  grid-template-columns: 38px minmax(0, 1fr);
  margin: 0;
}

.single-contact-list p > span:last-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.single-contact-list a,
.single-contact-list span {
  overflow-wrap: anywhere;
}

.single-contact-icon {
  align-items: center;
  background: var(--accent-soft);
  border: 1px solid rgba(240, 77, 115, 0.2);
  border-radius: 50%;
  color: #f04d73;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.single-contact-icon svg {
  height: 18px;
  width: 18px;
}

.single-logo {
  align-items: center;
  background: linear-gradient(135deg, var(--navy), var(--red));
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: 24px;
  font-weight: 600;
  height: 78px;
  justify-content: center;
  margin-bottom: 18px;
  overflow: hidden;
  width: 78px;
}

.single-map-link {
  justify-content: center;
  margin-top: 12px;
  width: 100%;
}

.single-side--directory {
  position: sticky;
  top: 98px;
}

.single-hours {
  display: grid;
  gap: 8px;
}

.single-hours span {
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 8px 0;
}

.single-hours span:last-child {
  border-bottom: 0;
}

.single-muted {
  color: var(--muted);
  font-size: 13px;
}

.single-map {
  border: 0;
  border-radius: var(--radius);
  min-height: 240px;
  width: 100%;
}

.single-review-score {
  display: grid;
  gap: 4px;
}

.single-review-score strong {
  color: var(--navy);
  font-size: 42px;
  line-height: 1;
}

.single-review-score--empty strong {
  font-size: 24px;
}

.single-review-list {
  display: grid;
  gap: 10px;
  margin-top: 1rem;
}

.single-review-list article,
.single-review-list .google-review-track article {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  display: grid;
  gap: 0.45rem;
  padding: 0.85rem;
}

.single-review-list [hidden] {
  display: none;
}

.single-review-list article div {
  align-items: start;
  display: grid;
  gap: 0.2rem;
  grid-template-columns: minmax(0, 1fr);
}

.single-review-list span,
.single-review-list p {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.single-review-list article strong {
  color: var(--navy);
  min-width: 0;
  overflow-wrap: anywhere;
}

.single-review-list small {
  color: var(--yellow);
  font-weight: 600;
  letter-spacing: 0;
}

.single-review-pager {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-top: 12px;
}

.single-review-pager button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--navy);
  display: inline-flex;
  flex: 0 0 38px;
  font-size: 24px;
  font-weight: 600;
  height: 38px;
  justify-content: center;
  line-height: 1;
  padding: 0 0 3px;
  transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
  width: 38px;
}

.single-review-pager button:not(:disabled):hover,
.single-review-pager button:not(:disabled):focus-visible {
  border-color: rgba(240, 77, 115, 0.42);
  color: var(--red);
  outline: none;
  transform: translateY(-1px);
}

.single-review-pager button:disabled {
  color: var(--muted);
  cursor: not-allowed;
  opacity: 0.45;
}

.single-review-pager span {
  color: var(--navy);
  display: grid;
  font-size: 13px;
  font-weight: 600;
  gap: 2px;
  justify-items: center;
  line-height: 1.2;
  min-width: 86px;
}

.single-review-pager small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
}

.single-rich-text {
  color: var(--muted);
  display: grid;
  gap: 14px;
  line-height: 1.75;
}

.single-rich-text :is(h1, h2, h3, h4) {
  color: var(--navy);
  line-height: 1.18;
  margin: 8px 0 0;
}

.single-rich-text h1 {
  font-size: clamp(26px, 4vw, 34px);
}

.single-rich-text :is(h2, h3) {
  font-size: 22px;
}

.single-rich-text p {
  margin: 0;
}

.single-rich-text :is(ul, ol) {
  margin: 0;
  padding-left: 1.25rem;
}

.single-rich-text img {
  border-radius: var(--radius);
  display: block;
  height: auto;
  max-height: 430px;
  object-fit: cover;
  width: 100%;
}

.single-social-button {
  align-items: center;
  background: #1877f2;
  border-radius: 14px;
  color: #fff;
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  min-height: 46px;
  padding: 12px 16px;
  text-align: center;
  width: 100%;
}

.single-profile-google .single-map-link {
  justify-content: center;
  width: 100%;
}

.single-gallery {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.single-gallery-item {
  background: transparent;
  border: 0;
  border-radius: var(--radius);
  cursor: zoom-in;
  display: block;
  min-width: 0;
  overflow: hidden;
  padding: 0;
}

.single-gallery-item img {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius);
  display: block;
  object-fit: cover;
  transition: transform 0.2s ease;
  width: 100%;
}

.single-gallery-item:hover img,
.single-gallery-item:focus-visible img {
  transform: scale(1.035);
}

.single-gallery-item:focus-visible {
  outline: 3px solid rgba(240, 77, 115, 0.32);
  outline-offset: 3px;
}

.has-profile-lightbox {
  overflow: hidden;
}

.profile-lightbox {
  display: none;
  inset: 0;
  position: fixed;
  z-index: 500;
}

.profile-lightbox.is-open {
  display: block;
}

.profile-lightbox-backdrop {
  background: rgba(12, 18, 34, 0.82);
  border: 0;
  cursor: zoom-out;
  inset: 0;
  padding: 0;
  position: absolute;
  width: 100%;
}

.profile-lightbox-panel {
  align-items: center;
  display: grid;
  inset: 0;
  justify-items: center;
  padding: 64px 72px;
  pointer-events: none;
  position: absolute;
}

.profile-lightbox-panel img {
  border-radius: var(--radius);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.45);
  max-height: calc(100vh - 150px);
  max-width: min(1120px, calc(100vw - 144px));
  object-fit: contain;
  pointer-events: auto;
  width: auto;
}

.profile-lightbox-close,
.profile-lightbox-nav {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  color: var(--red);
  cursor: pointer;
  display: inline-flex;
  font-size: 34px;
  font-weight: 600;
  height: 48px;
  justify-content: center;
  pointer-events: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
}

.profile-lightbox-close {
  font-size: 32px;
  right: 22px;
  top: 22px;
}

.profile-lightbox-prev {
  left: 22px;
}

.profile-lightbox-next {
  right: 22px;
}

.profile-lightbox-count {
  background: rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  bottom: 24px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 12px;
  pointer-events: auto;
  position: absolute;
}

.single-related {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.single-related .business-card {
  min-height: 386px;
}

.single-related .business-category-link {
  max-width: 100%;
}

.single-related .business-actions {
  align-items: center;
  flex-wrap: wrap;
}

.single-related-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 8px;
  padding: 14px;
}

.single-related-card span {
  color: var(--muted);
  display: -webkit-box;
  font-size: 13px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.single-related-card small {
  color: var(--red);
  font-weight: 600;
}

@media (max-width: 1500px) {
  .site-header {
    gap: 18px;
    grid-template-columns: auto minmax(0, 1fr) minmax(230px, 280px);
    padding-left: 18px;
    padding-right: 18px;
  }

  .brand {
    min-width: 0;
  }

  .brand-logo {
    max-width: 165px;
  }

  .header-search {
    max-width: 280px;
  }

  .main-nav {
    gap: 18px;
  }

  .main-nav a {
    font-size: 13px;
  }
}

@media (max-width: 1280px) {
  .site-header {
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr) minmax(210px, 260px);
  }

  .brand {
    min-width: 0;
  }

  .brand-logo {
    max-width: 148px;
  }

  .header-search {
    grid-column: 3;
    grid-template-columns: minmax(0, 1fr) 48px;
    justify-self: end;
    max-width: 260px;
    position: static;
    width: 100%;
  }

  .header-search input {
    border-bottom-right-radius: 0;
    border-radius: var(--radius) 0 0 var(--radius);
    border-top-right-radius: 0;
    box-shadow: none;
    min-width: 0;
    opacity: 1;
    pointer-events: auto;
    position: static;
    transform: none;
    transition: none;
    width: 100%;
  }

  .header-search .icon-button {
    border-radius: 0 var(--radius) var(--radius) 0;
    width: 48px;
  }

  .main-nav {
    gap: 12px;
    grid-column: 2;
    grid-row: 1;
    justify-content: center;
    overflow: visible;
  }

  .main-nav a {
    font-size: 13px;
  }

  .single-related {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .hero-layout,
  .split-row,
  .single-grid,
  .single-directory-grid {
    grid-template-columns: 1fr;
  }
  .hero-layout {
    margin-left: calc((100vw - var(--page)) / -2);
    margin-right: calc((100vw - var(--page)) / -2);
  }
  .hero-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .hero-duty-card {
    align-self: stretch;
    margin-bottom: 86px;
  }
  .single-side--directory {
    position: static;
  }
  #categoryList,
  .featured-grid,
  .business-grid,
  .institution-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .hero-category-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .cinema-days {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .category-business-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .events-card .section-head {
    align-items: flex-start;
    grid-template-columns: 1fr;
  }
  .events-card .carousel-controls {
    justify-self: start;
  }

  #businessList {
    min-height: 426px;
  }

  #businessList .business-card {
    height: 426px;
    min-height: 426px;
  }

  #featuredPlaces,
  #institutionList {
    min-height: 420px;
  }

  #featuredPlaces .business-card,
  #institutionList .business-card {
    height: 420px;
    min-height: 420px;
  }

  #featuredPlaces .place-card,
  #featuredPlaces .place-card a {
    height: 444px;
    min-height: 444px;
  }

  #eventList {
    min-height: 0;
  }

  #eventList .event-card {
    height: auto;
    min-height: 0;
  }

  #eventList .event-card a {
    grid-template-rows: auto 1fr;
  }

  #eventList .event-card img,
  #eventList .event-media {
    height: auto;
    min-height: 0;
  }
}

@media (max-width: 1100px) {
  .site-header {
    gap: 10px;
    grid-template-columns: auto minmax(0, 1fr) minmax(170px, 210px);
    padding-left: 14px;
    padding-right: 14px;
  }

  .brand-logo {
    max-width: 128px;
  }

  .header-search {
    max-width: 210px;
  }

  .header-search input {
    font-size: 13px;
    min-height: 44px;
    padding: 0 10px;
  }

  .header-search .icon-button {
    height: 44px;
    width: 44px;
  }

  .main-nav {
    gap: 9px;
  }

  .main-nav a {
    font-size: 12px;
  }

  .explore-layout,
  .explore-hero {
    grid-template-columns: 1fr;
  }

  .explore-sidebar {
    position: static;
  }

  .explore-business-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kalo-clinics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 861px) and (max-width: 1100px) {
  .explore-layout {
    align-items: start;
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
  }

  .explore-sidebar {
    align-self: start;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    overscroll-behavior: contain;
    position: sticky;
    top: 84px;
    z-index: 5;
  }
}

@media (max-width: 1024px) {
  body:not(.admin-dashboard-page) {
    --site-header-height: 68px;
    padding-top: 68px;
  }

  body.has-mobile-header {
    padding-top: 68px;
  }

  .site-header {
    display: none;
  }

  .mobile-header-layer {
    display: block;
  }

  .mobile-site-header {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid rgba(225, 228, 240, 0.92);
    box-shadow: 0 14px 32px rgba(32, 41, 95, 0.08);
    display: flex;
    height: 68px;
    left: 0;
    padding: 0 10px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 130;
  }

  .mobile-header-brand {
    left: 50%;
    min-width: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .mobile-header-brand img {
    display: block;
    height: 42px;
    max-width: min(190px, 42vw);
    object-fit: contain;
    width: auto;
  }

  .mobile-header-actions {
    display: flex;
    gap: 8px;
    margin-left: auto;
  }

  .mobile-header-icon {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--navy);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 44px;
    height: 44px;
    justify-content: center;
    width: 44px;
  }

  .mobile-header-icon[aria-expanded="true"],
  .mobile-header-icon:hover,
  .mobile-header-icon:focus-visible {
    background: var(--accent-soft);
    border-color: rgba(235, 69, 95, 0.24);
    color: var(--red);
    outline: none;
  }

  .mobile-header-icon svg,
  .mobile-search-form button svg {
    fill: none;
    height: 22px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
    width: 22px;
  }

  .mobile-header-backdrop {
    background: rgba(15, 23, 42, 0.46);
    bottom: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 68px;
    transition: opacity 180ms ease;
    z-index: 118;
  }

  body.mobile-menu-open .mobile-header-backdrop,
  body.mobile-search-open .mobile-header-backdrop,
  body.mobile-categories-open .mobile-header-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .mobile-nav-drawer,
  .mobile-popover {
    background: #fff;
    border: 1px solid rgba(225, 228, 240, 0.94);
    box-shadow: 0 24px 58px rgba(15, 23, 42, 0.18);
    color: var(--ink);
    position: fixed;
    z-index: 125;
  }

  .mobile-nav-drawer {
    border-radius: 0 18px 18px 0;
    bottom: 0;
    left: 0;
    max-width: calc(100vw - 34px);
    overflow-y: auto;
    padding: 18px;
    top: 68px;
    transform: translateX(-104%);
    transition: transform 220ms ease;
    width: 340px;
  }

  body.mobile-menu-open .mobile-nav-drawer {
    transform: translateX(0);
  }

  .mobile-popover {
    border-radius: 18px;
    left: 12px;
    opacity: 0;
    padding: 16px;
    pointer-events: none;
    right: 12px;
    top: 78px;
    transform: translateY(-10px);
    transition: opacity 180ms ease, transform 180ms ease;
  }

  .mobile-category-panel {
    left: auto;
    max-width: calc(100vw - 24px);
    width: 390px;
  }

  body.mobile-search-open .mobile-search-panel,
  body.mobile-categories-open .mobile-category-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .mobile-panel-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
  }

  .mobile-panel-head strong {
    color: var(--navy);
    font-size: 16px;
    font-weight: 600;
  }

  .mobile-panel-head button {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--navy);
    cursor: pointer;
    display: inline-flex;
    font-size: 22px;
    height: 36px;
    justify-content: center;
    line-height: 1;
    width: 36px;
  }

  .mobile-nav-links {
    display: grid;
    gap: 8px;
  }

  .mobile-nav-links a,
  .mobile-submit-link,
  .mobile-category-list a {
    align-items: center;
    border-radius: 12px;
    color: var(--navy);
    display: flex;
    font-weight: 600;
    min-height: 46px;
    text-decoration: none;
  }

  .mobile-nav-links a {
    background: #f8fafc;
    border: 1px solid var(--line);
    gap: 11px;
    padding: 0 14px;
  }

  .mobile-nav-icon {
    align-items: center;
    color: var(--red);
    display: inline-flex;
    flex: 0 0 22px;
    justify-content: center;
  }

  .mobile-nav-icon svg {
    display: block;
    height: 20px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 20px;
  }

  .mobile-nav-icon svg path,
  .mobile-nav-icon svg circle,
  .mobile-nav-icon svg rect {
    fill: none;
    stroke: currentColor;
  }

  .mobile-submit-link {
    background: linear-gradient(135deg, var(--red), var(--red-dark));
    color: #fff;
    display: none;
    justify-content: center;
    margin-top: 16px;
    padding: 0 14px;
  }

  .mobile-search-form {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 48px;
  }

  .mobile-search-form input,
  .mobile-category-select-label select {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--ink);
    min-height: 48px;
    padding: 0 14px;
    width: 100%;
  }

  .mobile-search-form button {
    align-items: center;
    background: linear-gradient(135deg, var(--red), var(--red-dark));
    border: 0;
    border-radius: 12px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
  }

  .mobile-category-select-label {
    color: var(--muted);
    display: grid;
    font-size: 13px;
    font-weight: 600;
    gap: 7px;
  }

  .mobile-category-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    max-height: min(52vh, 390px);
    overflow-y: auto;
    padding-right: 2px;
  }

  .mobile-category-list a {
    background: #f8fafc;
    border: 1px solid var(--line);
    gap: 10px;
    padding: 0 12px;
  }

  .mobile-category-list img {
    height: 24px;
    object-fit: contain;
    width: 24px;
  }

  .mobile-category-list p {
    color: var(--muted);
    font-weight: 600;
    margin: 0;
  }
}

@media (max-width: 860px) {
  :root { --page: calc(100vw - 24px); }
  body.has-mobile-header {
    padding-bottom: calc(78px + env(safe-area-inset-bottom));
  }
  body.has-filter-drawer-open {
    overflow: hidden;
  }
  .site-header {
    gap: 10px;
    grid-template-columns: 1fr 48px;
    padding: 10px 12px;
    position: fixed;
    top: 0;
  }
  .brand { min-width: 0; }

  .brand-logo {
    max-width: 150px;
  }

  .main-nav {
    gap: 6px 10px;
  }

  .main-nav a {
    font-size: 12px;
  }

  .hero-search,
  .newsletter,
  .newsletter form,
  .section-head--tabs,
  .google-map-shell,
  .health-choice-grid,
  #categoryList,
  .featured-grid,
  .directory-place-grid,
  .directory-business-grid,
  .directory-cinema-grid,
  .directory-institution-grid,
  .business-grid,
  .institution-grid,
  .event-grid,
  .cinema-days,
  .category-business-grid,
  .benefits-row,
  .hospital-list,
  .pharmacy-grid {
    grid-template-columns: 1fr;
  }

  .explore-layout {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr;
  }

  .mobile-filter-toggle {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(32, 41, 95, 0.08);
    color: var(--navy);
    display: inline-flex;
    font-size: 14px;
    font-weight: 600;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    width: max-content;
  }

  .filter-drawer-close {
    align-items: center;
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    color: var(--navy) !important;
    display: inline-flex;
    font-size: 22px;
    height: 34px;
    justify-content: center;
    min-height: 34px !important;
    padding: 0 !important;
    width: 34px;
  }

  .filter-drawer-backdrop {
    background: rgba(15, 23, 42, 0.42);
    display: block;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity 180ms ease;
    z-index: 210;
  }

  .explore-sidebar {
    border-radius: 0 18px 18px 0;
    bottom: 0;
    display: grid;
    left: 0;
    max-height: none;
    max-width: min(88vw, 340px);
    overflow-y: auto;
    padding: 18px;
    position: fixed;
    top: 0;
    transform: translateX(-105%);
    transition: transform 220ms ease;
    width: min(88vw, 340px);
    z-index: 220;
  }

  .explore-layout.filters-open .filter-drawer-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .explore-layout.filters-open .explore-sidebar {
    transform: translateX(0);
  }

  .explore-results {
    padding: 16px;
  }

  #featuredPlaces,
  #businessList,
  #eventList,
  #institutionList,
  #hospitalList {
    touch-action: pan-y;
  }

  .mobile-bottom-nav {
    align-items: stretch;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--line);
    bottom: 0;
    box-shadow: 0 -12px 34px rgba(32, 41, 95, 0.12);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    left: 0;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
    position: fixed;
    right: 0;
    z-index: 180;
  }

  .mobile-bottom-nav a {
    align-items: center;
    border-radius: 12px;
    color: var(--muted);
    display: grid;
    font-size: 10px;
    font-weight: 600;
    gap: 3px;
    justify-items: center;
    line-height: 1.15;
    min-height: 54px;
    min-width: 0;
    padding: 5px 3px;
    text-align: center;
  }

  .mobile-bottom-nav a:hover,
  .mobile-bottom-nav a:focus-visible {
    background: var(--accent-soft);
    color: var(--red);
  }

  .mobile-bottom-nav svg {
    color: #f04d73;
    height: 20px;
    width: 20px;
  }

  .mobile-bottom-nav span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .kalo-clinics__grid {
    grid-template-columns: 1fr;
  }

  .health-page-hero {
    min-height: 260px;
    padding: 24px;
  }

  .health-choice-card {
    min-height: 280px;
  }

  .kalo-clinic-card {
    border-radius: 20px;
    padding: 14px;
  }

  .kalo-clinic-card__icon {
    flex-basis: 68px;
    height: 68px;
    width: 68px;
  }

  .site-footer-inner {
    gap: 28px;
    grid-template-columns: 1fr;
    padding: 48px 18px 20px;
  }
  .explore-hero {
    min-height: auto;
    padding: 24px;
  }
  .directory-page-shell {
    padding: 12px 0 48px;
  }
  .directory-page-hero {
    min-height: auto;
    padding: 24px;
  }
  .explore-hero-search,
  .explore-result-bar,
  .explore-business-list {
    grid-template-columns: 1fr;
  }
  .explore-hero-search svg {
    display: none;
  }
  .explore-hero-search button {
    width: 100%;
  }
  .explore-result-bar {
    align-items: stretch;
    display: grid;
  }
  .hero-card,
  .hero-content {
    min-height: auto;
  }
  .hero-card {
    gap: 18px;
    padding-bottom: 86px;
  }
  .hero-content {
    padding-bottom: 16px;
  }
  .hero-search {
    align-items: stretch;
    grid-template-columns: 1fr;
  }
  .hero-search > svg { display: none; }
  .hero-link-row a {
    flex: 1 1 140px;
    justify-content: center;
  }
  .hero-duty-card {
    margin-bottom: 0;
  }
  .hero-category-panel {
    margin-top: -58px;
  }
  .hero-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .business-meta {
    max-width: 100%;
  }
  .category-hero {
    grid-template-columns: 1fr;
    padding: 24px;
  }
  .category-card {
    border-bottom: 1px solid var(--line);
    border-right: 0;
  }
  .panel-title,
  .section-head,
  .map-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .newsletter input,
  .newsletter button {
    border-radius: var(--radius);
  }
  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-bottom div {
    justify-content: flex-start;
  }
  .hospital-control-row {
    align-items: stretch;
    flex-direction: column;
  }
  .hospital-control-row .carousel-controls {
    justify-content: flex-start;
  }
  .back-to-top {
    bottom: calc(86px + env(safe-area-inset-bottom));
    height: 46px;
    right: max(18px, env(safe-area-inset-right));
    width: 46px;
  }
  .cinema-movie {
    grid-template-columns: 110px minmax(0, 1fr);
  }
  .single-facts {
    grid-template-columns: 1fr;
  }
  .single-related {
    grid-template-columns: 1fr;
  }

  .single-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .profile-page-shell {
    padding-top: 12px;
    width: 100%;
  }

  .single-profile {
    gap: 12px;
    min-width: 0;
  }

  .single-breadcrumb {
    flex-wrap: nowrap;
    margin: 0;
    overflow-x: auto;
    padding-bottom: 2px;
    white-space: nowrap;
  }

  .single-hero {
    border-radius: var(--radius);
    min-height: auto;
    padding: 26px 18px;
  }

  .single-hero h1 {
    font-size: clamp(30px, 10vw, 44px);
    line-height: 1.05;
    margin: 12px 0;
    overflow-wrap: anywhere;
  }

  .single-hero p {
    font-size: 15px;
    line-height: 1.55;
  }

  .single-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 16px;
  }

  .single-hero-actions a {
    justify-content: center;
    width: 100%;
  }

  .single-action-bar {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px;
  }

  .single-action-bar a,
  .single-action-status {
    justify-content: flex-start;
    line-height: 1.25;
    min-height: 44px;
    padding: 10px 12px;
    white-space: normal;
    width: 100%;
  }

  .single-directory-grid {
    gap: 12px;
  }

  .single-directory-grid .single-main,
  .single-directory-grid .single-side {
    display: contents;
  }

  .single-directory-grid .single-card {
    margin-top: 0;
  }

  .single-profile-about { order: 1; }
  .single-profile-gallery { order: 2; }
  .single-profile-contact { order: 3; }
  .single-profile-social { order: 4; }
  .single-profile-hours { order: 5; }
  .single-profile-location { order: 6; }
  .single-profile-tags { order: 7; }
  .single-profile-google { order: 8; }
  .single-profile-related { order: 9; }

  .single-card {
    padding: 16px;
  }

  .single-card + .single-card {
    margin-top: 12px;
  }

  .single-directory-grid .single-card + .single-card {
    margin-top: 0;
  }

  .single-section-heading {
    align-items: flex-start;
    font-size: 20px;
    gap: 9px;
  }

  .single-heading-icon {
    flex-basis: 30px;
    height: 30px;
    width: 30px;
  }

  .single-heading-icon svg {
    height: 15px;
    width: 15px;
  }

  .single-inline-image {
    max-height: 240px;
  }

  .single-contact-list p {
    gap: 10px;
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 12px;
  }

  .single-contact-icon {
    height: 34px;
    width: 34px;
  }

  .single-hours span {
    align-items: flex-start;
    display: grid;
    gap: 3px;
    grid-template-columns: 1fr;
  }

  .single-map {
    min-height: 220px;
  }

  .single-review-score strong {
    font-size: 34px;
  }

  .single-review-list article div {
    align-items: flex-start;
    display: grid;
    gap: 0.25rem;
  }

  .single-related .business-card {
    min-height: 0;
  }

  .single-related .business-actions {
    gap: 8px;
  }

  .single-related .business-google-rating {
    flex: 1 1 100%;
    justify-content: center;
  }
}

@media (max-width: 560px) {
  .profile-page-shell {
    max-width: calc(100vw - 16px);
    padding-top: 8px;
  }

  .single-hero {
    padding: 22px 14px;
  }

  .single-card {
    padding: 14px;
  }

  .single-action-bar {
    padding: 10px;
  }

  .single-action-bar a,
  .single-action-status {
    font-size: 13px;
  }

  .single-gallery {
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-gallery-item img {
    aspect-ratio: 16 / 10;
  }

  .profile-lightbox-panel {
    padding: 58px 12px;
  }

  .profile-lightbox-panel img {
    max-height: calc(100vh - 130px);
    max-width: calc(100vw - 24px);
  }

  .profile-lightbox-close,
  .profile-lightbox-nav {
    height: 42px;
    width: 42px;
  }

  .profile-lightbox-close {
    right: 12px;
    top: 12px;
  }

  .profile-lightbox-prev {
    bottom: 16px;
    left: 12px;
    top: auto;
    transform: none;
  }

  .profile-lightbox-next {
    bottom: 16px;
    right: 12px;
    top: auto;
    transform: none;
  }

  .profile-lightbox-count {
    bottom: 18px;
  }

  .single-related .business-card {
    padding: 0 14px 14px;
  }

  .single-related .business-media {
    height: 118px;
    margin-left: -14px;
    margin-right: -14px;
  }

  .single-related .business-logo {
    height: 56px;
    margin-top: -28px;
    width: 56px;
  }

  .single-related .business-main {
    padding-right: 0;
  }

  .single-related .business-actions {
    margin-top: 12px;
  }
}

.contact-page-shell {
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 48px;
}

.contact-hero {
  align-items: end;
  background:
    linear-gradient(90deg, rgba(32, 41, 95, 0.96), rgba(240, 77, 115, 0.58)),
    url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=1600&q=80") center / cover;
  border-radius: var(--radius);
  color: #fff;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  min-height: 330px;
  padding: 34px;
}

.contact-hero h1 {
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1.02;
  margin: 8px 0 14px;
  max-width: 860px;
}

.contact-hero p {
  color: rgba(255, 255, 255, 0.84);
  margin: 0;
  max-width: 760px;
}

.contact-hero .eyebrow {
  color: #fff;
}

.contact-hero-actions {
  display: grid;
  gap: 10px;
}

.contact-hero-actions a {
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 16px;
  color: #fff;
  display: flex;
  font-weight: 600;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  text-decoration: none;
}

.contact-hero-actions svg,
.contact-info-list svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.contact-hero-actions svg {
  color: #fff;
  flex: 0 0 22px;
  height: 22px;
  width: 22px;
}

.contact-layout {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) 380px;
}

.contact-main,
.contact-sidebar {
  display: grid;
  gap: 18px;
}

.contact-card,
.contact-bottom-grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 24px;
}

.contact-card h2,
.contact-bottom-grid h2 {
  color: var(--navy);
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.08;
  margin: 0 0 10px;
}

.contact-card p,
.contact-bottom-grid p {
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

.contact-form {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 20px;
}

.contact-form label {
  color: var(--muted);
  display: grid;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  font: inherit;
  min-height: 46px;
  outline: 0;
  padding: 0 13px;
  width: 100%;
}

.contact-form textarea {
  line-height: 1.55;
  padding: 12px 13px;
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: rgba(240, 77, 115, 0.65);
  box-shadow: 0 0 0 4px rgba(240, 77, 115, 0.12);
}

.contact-form-wide,
.contact-submit {
  grid-column: 1 / -1;
}

.contact-gdpr {
  align-items: start;
  background: #fff5f8;
  border: 1px solid rgba(240, 77, 115, 0.18);
  border-radius: 14px;
  color: var(--ink);
  display: flex !important;
  gap: 10px;
  padding: 12px;
}

.contact-gdpr input {
  accent-color: var(--red);
  flex: 0 0 auto;
  height: 18px;
  margin-top: 2px;
  min-height: 0;
  width: 18px;
}

.contact-submit {
  background: linear-gradient(135deg, var(--navy), var(--red));
  border: 0;
  border-radius: 14px;
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  min-height: 50px;
  padding: 0 18px;
}

.contact-tip {
  background: #f8fafc;
  border-radius: 14px;
  margin-top: 18px !important;
  padding: 14px;
}

.contact-info-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.contact-info-list a,
.contact-info-list div {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  color: var(--ink);
  display: grid;
  gap: 3px 12px;
  grid-template-columns: 42px minmax(0, 1fr);
  padding: 14px;
  text-decoration: none;
}

.contact-info-list span {
  align-items: center;
  background: var(--accent-soft);
  border-radius: 14px;
  color: var(--red);
  display: inline-flex;
  grid-row: span 2;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.contact-info-list svg {
  height: 20px;
  width: 20px;
}

.contact-info-list strong {
  color: var(--navy);
  font-size: 14px;
}

.contact-info-list em {
  color: var(--muted);
  font-style: normal;
  font-weight: 600;
  line-height: 1.45;
  min-width: 0;
  overflow-wrap: anywhere;
}

.contact-help-list {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

.contact-help-list li {
  align-items: start;
  color: var(--ink);
  display: grid;
  font-weight: 600;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  line-height: 1.5;
}

.contact-help-list li::before {
  background: linear-gradient(135deg, var(--navy), var(--red));
  border-radius: 999px;
  content: "";
  height: 9px;
  margin-top: 7px;
  width: 9px;
}

.contact-bottom-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 980px) {
  .contact-hero,
  .contact-layout,
  .contact-bottom-grid {
    grid-template-columns: 1fr;
  }

  .contact-hero {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .contact-page-shell {
    padding: 12px 12px 92px;
  }

  .contact-hero,
  .contact-card,
  .contact-bottom-grid article {
    border-radius: 18px;
    padding: 18px;
  }

  .contact-form {
    grid-template-columns: 1fr;
  }

  .contact-hero-actions a {
    align-items: flex-start;
  }
}

.contact-workspace {
  align-items: stretch;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(300px, 0.42fr) minmax(0, 1fr);
  overflow: hidden;
}

.contact-direct-panel,
.contact-form-panel {
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.contact-direct-panel {
  background:
    linear-gradient(160deg, rgba(32, 41, 95, 0.98), rgba(32, 41, 95, 0.92)),
    url("/uploads/optimized/kalocsaminta-scaled-1780832929642-banner.webp") right -180px bottom -240px / 620px auto no-repeat;
  border-radius: 26px 0 0 26px;
  color: #fff;
  display: grid;
  gap: 22px;
  padding: 30px;
}

.contact-direct-panel .eyebrow {
  color: rgba(255, 255, 255, 0.72);
}

.contact-direct-panel h2 {
  color: #fff;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.05;
  margin: 0;
}

.contact-panel-lead {
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.65;
  margin: 0;
}

.contact-channel-list {
  display: grid;
  gap: 10px;
}

.contact-channel-list a,
.contact-channel-list div {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  color: #fff;
  display: grid;
  gap: 12px;
  grid-template-columns: 46px minmax(0, 1fr);
  padding: 14px;
  text-decoration: none;
}

.contact-channel-icon {
  align-items: center;
  background: #fff;
  border-radius: 15px;
  color: var(--red);
  display: inline-flex;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.contact-channel-icon svg {
  fill: none;
  height: 21px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 21px;
}

.contact-channel-list strong,
.contact-channel-list em {
  display: block;
  min-width: 0;
}

.contact-channel-list strong {
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.contact-channel-list em {
  color: rgba(255, 255, 255, 0.78);
  font-style: normal;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.contact-note {
  align-self: end;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 18px;
}

.contact-note strong {
  color: #fff;
  display: block;
  font-size: 15px;
  margin-bottom: 6px;
}

.contact-note p {
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.6;
  margin: 0;
}

.contact-form-panel {
  background:
    linear-gradient(180deg, #fff, #fbfcff);
  border-left: 0;
  border-radius: 0 26px 26px 0;
  padding: 30px;
}

.contact-form-head {
  align-items: start;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 22px;
  padding-bottom: 20px;
}

.contact-form-head h2 {
  color: var(--navy);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.05;
  margin: 0 0 10px;
}

.contact-form-head p {
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
  max-width: 660px;
}

.contact-response-pill {
  background: var(--accent-soft);
  border: 1px solid rgba(240, 77, 115, 0.18);
  border-radius: 999px;
  color: var(--red);
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 13px;
}

.contact-workspace .contact-form {
  gap: 16px;
  margin-top: 0;
}

.contact-workspace .contact-form label {
  color: var(--navy);
  font-size: 12px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.contact-workspace .contact-form input,
.contact-workspace .contact-form select,
.contact-workspace .contact-form textarea {
  background: #fff;
  border-color: #dbe2ee;
  border-radius: 14px;
  box-shadow: 0 1px 0 rgba(17, 24, 39, 0.02);
}

.contact-workspace .contact-form textarea {
  min-height: 154px;
}

.contact-workspace .contact-gdpr {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: var(--muted);
  letter-spacing: 0;
  text-transform: none;
}

.contact-workspace .contact-submit {
  justify-self: start;
  min-width: 220px;
}

.contact-honeypot {
  height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  width: 0;
}

.contact-form-result {
  color: var(--navy);
  font-size: 14px;
  grid-column: 1 / -1;
  margin: 0;
}

.contact-service-strip {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.contact-service-strip article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 16px 36px rgba(19, 25, 61, 0.08);
  min-height: 190px;
  padding: 22px;
}

.contact-service-strip span {
  color: var(--red);
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 34px;
}

.contact-service-strip h2 {
  color: var(--navy);
  font-size: 22px;
  line-height: 1.1;
  margin: 0 0 10px;
}

.contact-service-strip p {
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 1100px) {
  .contact-workspace {
    grid-template-columns: 1fr;
  }

  .contact-direct-panel,
  .contact-form-panel {
    border-radius: 24px;
  }

  .contact-form-panel {
    border-left: 1px solid var(--line);
  }

  .contact-service-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .contact-direct-panel,
  .contact-form-panel {
    padding: 20px;
  }

  .contact-form-head {
    display: grid;
  }

  .contact-response-pill {
    justify-self: start;
  }

  .contact-workspace .contact-submit {
    justify-self: stretch;
    width: 100%;
  }

  .contact-service-strip {
    grid-template-columns: 1fr;
  }

  .contact-service-strip article {
    min-height: 0;
  }

  .contact-service-strip span {
    margin-bottom: 18px;
  }
}

/* Late homepage responsive overrides: keep these after page-specific desktop grids. */
@media (max-width: 1180px) {
  .hero-card {
    grid-template-columns: minmax(0, 1fr);
    min-height: auto;
  }

  .hero-content {
    min-height: 0;
    padding-bottom: 24px;
  }

  .hero-duty-card {
    align-self: start;
    max-width: 520px;
    width: 100%;
  }

  .business-grid,
  .directory-business-grid,
  .institution-grid,
  .hospital-section .kalo-clinics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #businessList {
    min-height: 438px;
  }

  #businessList .business-card {
    height: 438px;
    min-height: 438px;
  }

  #featuredPlaces,
  #institutionList {
    min-height: 432px;
  }

  #featuredPlaces .business-card,
  #institutionList .business-card {
    height: 432px;
    min-height: 432px;
  }

  #featuredPlaces .place-card,
  #featuredPlaces .place-card a {
    height: 458px;
    min-height: 458px;
  }

  #eventList {
    min-height: 0;
  }

  #eventList .event-card {
    height: auto;
    min-height: 0;
  }

  .event-grid,
  .featured-grid,
  .category-business-grid,
  .cinema-days {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .split-row {
    grid-template-columns: 1fr;
  }

  /* These IDs have desktop grid rules with higher specificity. */
  #featuredPlaces,
  #hospitalList {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 860px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  main {
    max-width: calc(100vw - 24px);
    min-width: 0;
    width: calc(100vw - 24px);
  }

  .hero-layout {
    margin-left: calc((100vw - (100vw - 24px)) / -2);
    margin-right: calc((100vw - (100vw - 24px)) / -2);
    max-width: 100vw;
    overflow: visible;
  }

  .hero-card {
    gap: 18px;
    grid-template-columns: 1fr;
    padding-left: 12px;
    padding-right: 12px;
    padding-top: 18px;
  }

  .hero-content {
    gap: 14px;
    min-width: 0;
    padding: 28px 0 16px;
  }

  .hero-content h1,
  .kalo-header-title,
  .section-head h2 {
    overflow-wrap: anywhere;
  }

  .hero-content h1 {
    font-size: clamp(34px, 10vw, 48px);
    line-height: 1.05;
  }

  .hero-content p {
    font-size: 15px;
  }

  .hero-search {
    align-items: stretch;
    border-radius: 16px;
    grid-template-columns: 1fr;
    max-width: 100%;
    padding: 10px;
  }

  .hero-search > svg {
    display: none;
  }

  .hero-search input,
  .hero-search button {
    width: 100%;
  }

  .open-toggle {
    min-height: 34px;
  }

  .hero-link-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-link-row a {
    min-width: 0;
    padding: 0 10px;
    white-space: normal;
  }

  .hero-duty-card {
    justify-self: stretch;
    max-width: none;
    min-height: 0;
    padding: 18px;
  }

  .hero-duty-card h2 {
    font-size: 24px;
  }

  .hero-category-panel {
    margin-top: -28px;
    max-width: calc(100vw - 24px);
    padding: 12px;
  }

  .hero-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .content-panel,
  .events-card,
  .map-panel,
  .newsletter,
  .hospital-section,
  .pharmacy-section,
  .cinema-section {
    min-width: 0;
    overflow: hidden;
    padding: 18px;
  }

  .kalo-header-block {
    margin: -18px -18px 18px;
    min-width: 0;
    padding: 22px 18px;
  }

  .business-filter-row,
  .section-control-row,
  .section-control-row--filters,
  .events-card .section-head,
  .map-head {
    align-items: stretch;
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .tabs,
  .carousel-controls,
  .map-tabs {
    flex-wrap: wrap;
    min-width: 0;
  }

  .business-filter-controls,
  .events-card .carousel-controls {
    justify-self: start;
    margin-left: 0;
  }

  .business-grid,
  .directory-business-grid,
  .institution-grid,
  .event-grid,
  .featured-grid,
  .category-business-grid,
  .benefits-row,
  .hospital-list,
  .pharmacy-grid,
  .cinema-days,
  .google-map-shell,
  .split-row {
    grid-template-columns: 1fr;
  }

  .business-card,
  .event-card,
  .category-business-card {
    min-width: 0;
    width: 100%;
  }

  .business-main,
  .business-meta,
  .business-actions,
  .event-body {
    min-width: 0;
  }

  .business-actions {
    flex-wrap: wrap;
  }

  .slider-dots {
    gap: 7px;
    margin-top: 18px;
  }

  .event-card img {
    aspect-ratio: 16 / 9;
  }

  #googleMapFrame,
  .map-location-list {
    height: 340px;
    max-height: 340px;
    min-height: 320px;
  }
}

@media (max-width: 560px) {
  main {
    max-width: calc(100vw - 16px);
    width: calc(100vw - 16px);
  }

  .hero-layout {
    margin-left: calc((100vw - (100vw - 16px)) / -2);
    margin-right: calc((100vw - (100vw - 16px)) / -2);
  }

  .hero-card {
    padding-left: 8px;
    padding-right: 8px;
  }

  .hero-content h1 {
    font-size: clamp(30px, 11vw, 40px);
  }

  .hero-link-row,
  .hero-category-grid {
    grid-template-columns: 1fr;
  }

  .content-panel,
  .events-card,
  .map-panel,
  .newsletter,
  .hospital-section,
  .pharmacy-section,
  .cinema-section {
    padding: 14px;
  }

  .kalo-header-block {
    margin: -14px -14px 14px;
    padding: 20px 14px;
  }

  .kalo-header-title {
    font-size: clamp(24px, 8vw, 31px);
  }

  .business-card {
    --card-logo-safe-space: 74px;
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
    padding-left: 14px;
    padding-right: 14px;
  }

  #businessList {
    min-height: 0;
  }

  #businessList .business-card {
    height: auto;
    min-height: 0;
  }

  #featuredPlaces,
  #institutionList {
    min-height: 0;
  }

  #featuredPlaces .business-card,
  #institutionList .business-card {
    height: auto;
    min-height: 0;
  }

  #featuredPlaces .place-card,
  #featuredPlaces .place-card a {
    height: 470px;
    min-height: 470px;
  }

  #eventList {
    min-height: 0;
  }

  #eventList .event-card {
    height: auto;
    min-height: 0;
  }

  .events-card #eventList .event-card img {
    aspect-ratio: 16 / 11.2;
  }

  .events-card #eventList .event-body {
    padding-bottom: 16px;
    padding-top: 16px;
  }

  #featuredPlaces .business-main {
    padding-right: 0;
  }

  #featuredPlaces .business-logo {
    align-self: flex-end;
    flex: 0 0 58px;
    height: 58px;
    margin-top: -29px;
    width: 58px;
  }

  .business-logo {
    align-self: flex-end;
    flex: 0 0 64px;
  }

  #featuredPlaces .business-card {
    --card-logo-safe-space: 66px;
  }

  #hospitalList .kalo-clinic-card__top {
    align-items: center;
    gap: 10px;
  }

  #hospitalList .kalo-clinic-card__tags {
    gap: 5px;
  }

  #hospitalList .kalo-clinic-tag {
    font-size: 11px;
    min-height: 26px;
    padding: 6px 8px;
  }

  #hospitalList .kalo-clinic-card__box {
    padding: 11px 12px;
  }

  .business-media {
    margin-left: -14px;
    margin-right: -14px;
  }

  .business-media .status-open,
  .business-media .status-closed,
  .business-media .status-appointment {
    left: 12px;
    max-width: calc(50% - 18px);
    overflow: hidden;
    padding-left: 12px;
    padding-right: 12px;
    text-overflow: ellipsis;
    top: 12px;
    white-space: nowrap;
  }

  .business-image-label {
    max-width: calc(50% - 18px);
    padding-left: 12px;
    padding-right: 12px;
    right: 12px;
    top: 12px;
  }

  #businessList .business-main,
  #featuredPlaces .business-main,
  #institutionList .business-main {
    flex: 0 0 auto;
    margin-bottom: 16px;
    min-height: 0;
    width: 100%;
  }

  #businessList .business-category-links,
  #featuredPlaces .business-category-links,
  #institutionList .business-category-links {
    margin-bottom: 0;
  }

  #businessList .business-meta,
  #featuredPlaces .business-meta,
  #institutionList .business-meta {
    align-self: stretch;
    gap: 5px;
    margin-top: 0;
    min-height: 0;
  }

  #businessList .business-actions,
  #featuredPlaces .business-actions,
  #institutionList .business-actions {
    align-self: stretch;
    gap: 5px;
    margin-top: 18px;
    max-height: none;
    padding-top: 0;
  }

  #businessList .circle-action,
  #featuredPlaces .circle-action,
  #institutionList .circle-action {
    flex: 0 0 34px;
    height: 34px;
    width: 34px;
  }

  #businessList .business-google-rating,
  #featuredPlaces .business-google-rating,
  #institutionList .business-google-rating {
    gap: 4px;
    height: 34px;
    max-width: 132px;
    padding: 0 8px;
  }

  #businessList .google-mark,
  #featuredPlaces .google-mark,
  #institutionList .google-mark {
    font-size: 10px;
  }

  #businessList .business-google-rating strong,
  #featuredPlaces .business-google-rating strong,
  #institutionList .business-google-rating strong {
    font-size: 12px;
  }

  #businessList .business-google-rating .stars,
  #featuredPlaces .business-google-rating .stars,
  #institutionList .business-google-rating .stars {
    font-size: 10px;
  }

  .directory-business-grid .business-card,
  .explore-business-list .business-card,
  .explore-directory-card {
    height: auto;
    min-height: 0;
  }

  .directory-business-grid .business-main,
  .explore-business-list .business-main,
  .explore-directory-card .business-main {
    flex: 0 0 auto;
    margin-bottom: 16px;
    min-height: 0;
    width: 100%;
  }

  .directory-business-grid .business-category-links,
  .explore-business-list .business-category-links,
  .explore-directory-card .business-category-links {
    margin-bottom: 0;
  }

  .directory-business-grid .business-meta,
  .explore-business-list .business-meta,
  .explore-directory-card .business-meta {
    align-self: stretch;
    gap: 5px;
    margin-top: 0;
    min-height: 0;
  }

  .directory-business-grid .business-actions,
  .explore-business-list .business-actions,
  .explore-directory-card .business-actions {
    align-self: stretch;
    flex-wrap: nowrap;
    gap: 5px;
    margin-top: 18px;
    max-height: none;
    overflow: hidden;
    padding-top: 0;
  }

  .directory-business-grid .circle-action,
  .explore-business-list .circle-action,
  .explore-directory-card .circle-action {
    flex: 0 0 34px;
    height: 34px;
    width: 34px;
  }

  .directory-business-grid .business-google-rating,
  .explore-business-list .business-google-rating,
  .explore-directory-card .business-google-rating {
    gap: 4px;
    height: 34px;
    max-width: 132px;
    padding: 0 8px;
  }

  .directory-business-grid .google-mark,
  .explore-business-list .google-mark,
  .explore-directory-card .google-mark {
    font-size: 10px;
  }

  .directory-business-grid .business-google-rating strong,
  .explore-business-list .business-google-rating strong,
  .explore-directory-card .business-google-rating strong {
    font-size: 12px;
  }

  .directory-business-grid .business-google-rating .stars,
  .explore-business-list .business-google-rating .stars,
  .explore-directory-card .business-google-rating .stars {
    font-size: 10px;
  }

  .category-business-card .category-google-rating {
    align-items: center;
    flex-wrap: nowrap;
    gap: 4px;
    overflow: hidden;
    white-space: nowrap;
  }

  .category-business-card .category-google-rating,
  .category-business-card .category-google-rating span {
    font-size: 11px;
  }

  .event-body {
    grid-template-columns: 46px minmax(0, 1fr);
    padding: 14px;
  }

  .event-date {
    height: 46px;
    width: 46px;
  }

  .why-card {
    min-height: 0;
    padding: 22px;
  }
}

.cookie-consent-root {
  position: relative;
  z-index: 700;
}

.cookie-banner {
  align-items: center;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(225, 228, 240, 0.96);
  border-radius: 18px;
  bottom: max(18px, env(safe-area-inset-bottom));
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.2);
  color: var(--ink);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  left: 50%;
  max-width: min(1040px, calc(100vw - 32px));
  padding: 18px;
  position: fixed;
  transform: translateX(-50%);
  width: 100%;
}

.cookie-banner strong,
.cookie-modal h2,
.cookie-toggle strong {
  color: var(--navy);
}

.cookie-banner p,
.cookie-modal-lead,
.cookie-toggle small {
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
}

.cookie-banner p {
  font-size: 14px;
  margin: 5px 0;
}

.cookie-banner a {
  color: var(--red);
  font-size: 13px;
  font-weight: 600;
}

.cookie-banner-actions,
.cookie-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.cookie-primary,
.cookie-secondary,
.cookie-icon-button {
  cursor: pointer;
  font-family: inherit;
}

.cookie-primary,
.cookie-secondary {
  border-radius: 12px;
  font-weight: 600;
  min-height: 42px;
  padding: 0 16px;
}

.cookie-primary {
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border: 0;
  color: #fff;
}

.cookie-secondary {
  background: #fff;
  border: 1px solid var(--line);
  color: var(--navy);
}

.cookie-modal-backdrop {
  background: rgba(15, 23, 42, 0.58);
  inset: 0;
  position: fixed;
}

.cookie-modal {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 34px 90px rgba(15, 23, 42, 0.28);
  color: var(--ink);
  display: grid;
  gap: 18px;
  left: 50%;
  max-height: min(760px, calc(100vh - 36px));
  max-width: min(720px, calc(100vw - 28px));
  overflow-y: auto;
  padding: 22px;
  position: fixed;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.cookie-modal-head {
  align-items: start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.cookie-modal-head span {
  color: var(--red);
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cookie-modal h2 {
  font-size: clamp(26px, 4vw, 38px);
  line-height: 1.05;
  margin: 6px 0 0;
}

.cookie-icon-button {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--navy);
  display: inline-flex;
  flex: 0 0 40px;
  font-size: 24px;
  height: 40px;
  justify-content: center;
  line-height: 1;
  width: 40px;
}

.cookie-toggle-list {
  display: grid;
  gap: 10px;
}

.cookie-toggle {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) 54px;
  padding: 14px;
}

.cookie-toggle small {
  display: block;
  font-size: 13px;
  margin-top: 4px;
}

.cookie-toggle input {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.cookie-toggle i {
  background: #d8deea;
  border-radius: 999px;
  display: block;
  height: 30px;
  position: relative;
  transition: background 160ms ease;
  width: 54px;
}

.cookie-toggle i::after {
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.22);
  content: "";
  height: 24px;
  left: 3px;
  position: absolute;
  top: 3px;
  transition: transform 160ms ease;
  width: 24px;
}

.cookie-toggle input:checked + i {
  background: var(--red);
}

.cookie-toggle input:checked + i::after {
  transform: translateX(24px);
}

.cookie-toggle input:disabled + i {
  background: var(--green);
}

.cookie-modal-open {
  overflow: hidden;
}

.cookie-policy-page {
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 0;
}

.cookie-policy-hero,
.cookie-policy-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 12px 36px rgba(32, 41, 95, 0.06);
  padding: clamp(20px, 4vw, 34px);
}

.cookie-policy-hero {
  background: linear-gradient(135deg, var(--navy), var(--red));
  color: #fff;
}

.cookie-policy-hero h1 {
  font-size: clamp(34px, 5vw, 60px);
  line-height: 1.02;
  margin: 0 0 14px;
}

.cookie-policy-hero p {
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.65;
  margin: 0;
  max-width: 860px;
}

.cookie-policy-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cookie-policy-card {
  display: grid;
  gap: 12px;
}

.cookie-policy-card h2 {
  color: var(--navy);
  font-size: 24px;
  margin: 0;
}

.cookie-policy-card p,
.cookie-policy-card li {
  color: var(--muted);
  line-height: 1.7;
}

.cookie-policy-card ul {
  margin: 0;
  padding-left: 1.2rem;
}

.cookie-policy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 860px) {
  .cookie-banner {
    align-items: stretch;
    bottom: calc(84px + env(safe-area-inset-bottom));
    grid-template-columns: 1fr;
    max-width: calc(100vw - 20px);
  }

  .cookie-banner-actions,
  .cookie-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .cookie-policy-page {
    max-width: calc(100vw - 24px);
    width: calc(100vw - 24px);
  }

  .cookie-policy-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .cookie-modal {
    max-width: calc(100vw - 16px);
    padding: 18px;
  }

  .cookie-toggle {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
  .categories-page-hero {
    grid-template-columns: 1fr;
  }

  .categories-directory-grid,
  .categories-directory-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .categories-page-shell {
    padding: 24px 14px 56px;
  }

  .categories-page-hero {
    padding: 22px;
  }

  .categories-directory-grid,
  .categories-directory-grid--compact {
    grid-template-columns: 1fr;
  }

  .category-directory-card {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .category-directory-card em {
    grid-column: 2;
    justify-self: start;
  }
}

/* Adminto-inspired admin application shell */
.admin-dashboard-page {
  --admin-app-bg: #f4f6f9;
  --admin-card: #ffffff;
  --admin-sidebar-bg: #202a36;
  --admin-sidebar-hover: #2b3745;
  --admin-sidebar-text: #c5cbd3;
  --admin-sidebar-muted: #8b96a4;
  --admin-accent: #e95070;
  --admin-border: #e5e9ef;
  --admin-text: #263342;
  --admin-muted: #718096;
  background: var(--admin-app-bg);
  color: var(--admin-text);
  grid-template-columns: 264px minmax(0, 1fr);
}

.admin-sidebar {
  background: var(--admin-sidebar-bg) !important;
  border: 0 !important;
  box-shadow: 3px 0 18px rgba(24, 32, 44, 0.12) !important;
  gap: 18px;
  padding: 16px 12px;
  transition: transform 180ms ease, width 180ms ease, padding 180ms ease;
}

.admin-sidebar-brand {
  align-items: center;
  display: flex;
  height: 46px;
  justify-content: space-between;
  padding: 0 6px 10px;
}

.admin-sidebar .admin-logo {
  align-items: center;
  display: flex;
  height: 36px;
  min-width: 0;
}

.admin-sidebar .admin-logo img {
  max-height: 34px;
  max-width: 154px;
  object-fit: contain;
  object-position: left center;
}

.admin-sidebar .admin-icon-button {
  background: transparent;
  border-color: transparent;
  color: #d6dce3;
  flex: 0 0 36px;
}

.admin-sidebar .admin-icon-button:hover,
.admin-sidebar .admin-icon-button:focus-visible {
  background: var(--admin-sidebar-hover);
  border-color: transparent;
  color: #ffffff;
}

.admin-icon-button svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 20px;
}

.admin-sidebar nav {
  gap: 22px;
}

.admin-nav-group {
  gap: 3px;
}

.admin-nav-group > span {
  color: var(--admin-sidebar-muted);
  font-size: 10px;
  font-weight: 600;
  padding: 0 11px 7px;
}

.admin-sidebar nav a {
  border: 0;
  border-radius: 7px;
  color: var(--admin-sidebar-text);
  font-size: 13px;
  font-weight: 600;
  gap: 11px;
  min-height: 40px;
  padding: 10px 11px;
}

.admin-sidebar nav a svg {
  color: #aab5c1;
  flex: 0 0 18px;
  height: 18px;
  width: 18px;
}

.admin-sidebar nav a:hover {
  background: var(--admin-sidebar-hover);
  color: #ffffff;
}

.admin-sidebar nav a.active {
  background: rgba(233, 80, 112, 0.16);
  border: 0;
  color: #ffffff;
}

.admin-sidebar nav a.active svg {
  color: #ff92a8;
}

.admin-public-link {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
  color: #dce2e8;
  font-size: 12px;
  min-height: 40px;
}

.admin-public-link:hover {
  background: var(--admin-sidebar-hover);
  border-color: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.admin-main {
  gap: 22px;
  margin: 0;
  max-width: none;
  padding: 22px 28px 38px;
}

.admin-topbar {
  background: var(--admin-card);
  border-color: var(--admin-border);
  border-radius: 9px;
  box-shadow: 0 2px 8px rgba(31, 43, 58, 0.04);
  min-height: 66px;
  padding: 10px 14px;
  position: sticky;
  top: 14px;
  z-index: 90;
}

.admin-topbar-leading {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 0;
}

.admin-topbar-menu {
  background: #f6f8fa;
  border: 1px solid var(--admin-border);
  border-radius: 7px;
  color: var(--admin-text);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 38px;
  height: 38px;
  justify-content: center;
  padding: 0;
  width: 38px;
}

.admin-topbar-menu:hover,
.admin-topbar-menu:focus-visible {
  background: #eef1f5;
  outline: none;
}

.admin-topbar-copy .eyebrow {
  color: var(--admin-muted);
  font-size: 11px;
  margin-bottom: 2px;
}

.admin-topbar h1 {
  color: var(--admin-text);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}

.admin-topbar-actions {
  gap: 10px;
}

.admin-search {
  min-width: min(340px, 32vw);
}

.admin-search input {
  background: #f7f8fa;
  border: 1px solid #edf0f3;
  border-radius: 7px;
  font-size: 13px;
  min-height: 38px;
}

.admin-user-pill {
  background: #f7f8fa;
  border: 1px solid var(--admin-border);
  border-radius: 7px;
  color: var(--admin-text);
  font-size: 12px;
  font-weight: 600;
  min-height: 38px;
  padding: 10px 12px;
}

#logoutButton {
  border-radius: 7px;
  font-size: 12px;
  min-height: 38px;
  padding: 0 12px;
}

.admin-stat-grid {
  gap: 18px;
}

.admin-stat-grid article,
.admin-panel,
.admin-dashboard-tools {
  background: var(--admin-card);
  border-color: var(--admin-border);
  border-radius: 9px;
  box-shadow: 0 2px 8px rgba(31, 43, 58, 0.04);
}

.admin-stat-grid article {
  min-height: 122px;
  padding: 17px;
}

.admin-stat-grid article::before {
  background: #f8eef0;
}

.admin-stat-grid article::after {
  color: var(--admin-accent);
}

.admin-stat-grid span,
.admin-stat-grid small,
.admin-panel-head p {
  color: var(--admin-muted);
}

.admin-stat-grid strong {
  color: var(--admin-text);
  font-size: 27px;
}

.admin-panel {
  padding: 20px;
}

.admin-panel-head {
  align-items: center;
  border-bottom-color: var(--admin-border);
  margin-bottom: 16px;
  padding-bottom: 14px;
}

.admin-panel-head h2,
.admin-dashboard-tools h2 {
  color: var(--admin-text);
  font-size: 17px;
}

.admin-panel-head .eyebrow,
.admin-dashboard-tools .eyebrow {
  color: var(--admin-muted);
  font-size: 10px;
}

.admin-panel-controls > button,
.admin-dashboard-tools-actions .admin-ghost-button {
  background: var(--admin-accent);
  border: 1px solid var(--admin-accent);
  border-radius: 7px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
}

.admin-panel-controls > button:hover,
.admin-dashboard-tools-actions .admin-ghost-button:hover {
  background: #d94161;
  border-color: #d94161;
}

.admin-business-workspace {
  gap: 0;
}

.admin-page-workspace {
  display: block;
}

.admin-page-hidden-field {
  display: none !important;
}

#page-admin {
  position: relative;
}

#page-admin label:has(#pageSelect) {
  display: none !important;
}

.admin-page-close {
  position: absolute;
  right: 22px;
  top: 22px;
}

.admin-list-toolbar--single {
  grid-template-columns: minmax(0, 1fr);
}

.admin-page-table-head,
.admin-page-list-item {
  grid-template-columns: minmax(0, 1fr) 170px 184px;
}

.admin-page-list-item .admin-row-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-business-workspace #business-list-admin {
  min-width: 0;
}

.admin-list-toolbar {
  grid-template-columns: minmax(0, 1fr) 230px;
  margin: 0 0 14px;
}

.admin-list-toolbar select,
.admin-list-search input {
  background: #ffffff;
  border-color: var(--admin-border);
  border-radius: 7px;
  font-size: 13px;
}

.admin-list-toolbar select:focus,
.admin-list-search input:focus {
  border-color: #abb6c4;
  box-shadow: 0 0 0 3px rgba(54, 74, 97, 0.08);
  outline: none;
}

.admin-business-table-head {
  color: var(--admin-muted);
  display: grid;
  font-size: 10px;
  font-weight: 600;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) 170px 266px;
  padding: 0 12px 8px;
  text-transform: uppercase;
}

.admin-business-list-item {
  align-items: center;
  background: #ffffff !important;
  border-color: var(--admin-border) !important;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) 170px 266px;
  margin-bottom: 8px !important;
  min-height: 78px;
  padding: 12px !important;
}

.admin-business-list-item:hover {
  border-color: #cfd6df !important;
  box-shadow: 0 4px 16px rgba(31, 43, 58, 0.05);
}

.admin-business-list-copy {
  align-items: center;
  display: grid;
  gap: 0 11px;
  grid-template-columns: 40px minmax(0, 1fr);
}

.admin-business-avatar {
  align-items: center;
  background: #f7f0f2;
  border-radius: 7px;
  color: var(--admin-accent);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  grid-row: span 3;
  height: 40px;
  justify-content: center;
  overflow: hidden;
  width: 40px;
}

.admin-business-avatar img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.admin-business-list-copy > strong,
.admin-business-list-copy > p,
.admin-business-list-copy > .admin-list-tags {
  grid-column: 2;
}

.admin-business-list-copy > strong {
  color: var(--admin-text);
  font-size: 13px;
  line-height: 1.25;
}

.admin-business-list-copy p {
  font-size: 12px;
  line-height: 1.25;
  margin-top: 2px;
}

.admin-list-tags {
  margin-top: 5px;
}

.admin-list-tags span {
  background: #f4f6f8;
  border: 0;
  border-radius: 5px;
  color: #647181;
  font-size: 10px;
  padding: 3px 6px;
}

.admin-status-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.admin-list-tags span.is-valid,
.admin-status-tags span.is-valid {
  background: #e8f6ef;
  color: #278154;
}

.admin-list-tags span.is-missing,
.admin-status-tags span.is-missing {
  background: #f3f5f7;
  color: #718096;
}

.admin-list-tags span.is-error,
.admin-status-tags span.is-error {
  background: #fff0f1;
  color: #c94c64;
}

.admin-business-list-status > span {
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  padding: 5px 8px;
}

.admin-business-list-status {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.admin-business-list-status .is-valid {
  background: #e8f6ef;
  color: #278154;
}

.admin-business-list-status .is-missing {
  background: #f3f5f7;
  color: #718096;
}

.admin-business-list-status .is-error {
  background: #fff0f1;
  color: #c94c64;
}

.admin-business-list-item .admin-row-actions {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
}

.admin-business-list-item .admin-row-actions > * {
  align-items: center;
  background: #f7f8fa;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  color: #4b5867;
  display: flex;
  font-size: 11px;
  font-weight: 600;
  justify-content: center;
  min-height: 34px;
  padding: 0 8px;
  white-space: nowrap;
}

.admin-business-list-item .admin-row-actions > *:hover {
  background: #edf0f4;
  color: var(--admin-text);
}

.admin-business-editor {
  background: #ffffff;
  max-width: min(860px, 100vw);
  width: min(860px, 100vw);
}

.admin-business-editor .admin-panel-head {
  box-shadow: 0 2px 10px rgba(31, 43, 58, 0.06);
}

.admin-fieldset {
  border-color: var(--admin-border);
  border-radius: 8px;
}

.admin-fieldset legend {
  color: var(--admin-text);
  font-size: 13px;
}

.admin-sidebar-backdrop {
  background: rgba(21, 29, 38, 0.42);
  inset: 0;
  position: fixed;
  z-index: 140;
}

.admin-dashboard-page.admin-sidebar-collapsed {
  grid-template-columns: 76px minmax(0, 1fr);
}

.admin-sidebar-collapsed .admin-sidebar {
  padding-inline: 10px;
}

.admin-sidebar-collapsed .admin-sidebar-brand {
  justify-content: center;
  padding-inline: 0;
}

.admin-sidebar-collapsed .admin-sidebar .admin-logo img {
  max-width: 34px;
  object-position: left center;
}

.admin-sidebar-collapsed .admin-sidebar-toggle,
.admin-sidebar-collapsed .admin-nav-group > span,
.admin-sidebar-collapsed .admin-sidebar nav a:not(.active)::after,
.admin-sidebar-collapsed .admin-sidebar nav a,
.admin-sidebar-collapsed .admin-public-link {
  font-size: 0;
}

.admin-sidebar-collapsed .admin-sidebar nav a {
  justify-content: center;
  padding-inline: 0;
}

.admin-sidebar-collapsed .admin-sidebar nav a svg {
  flex-basis: 19px;
  height: 19px;
  width: 19px;
}

.admin-sidebar-collapsed .admin-public-link {
  min-height: 40px;
  padding: 0;
}

@media (max-width: 1180px) {
  .admin-dashboard-page,
  .admin-dashboard-page.admin-sidebar-collapsed {
    display: block;
  }

  .admin-sidebar,
  .admin-sidebar-collapsed .admin-sidebar {
    bottom: 0;
    height: auto;
    left: 0;
    padding: 16px 12px;
    position: fixed;
    top: 0;
    transform: translateX(-105%);
    width: 264px;
    z-index: 141;
  }

  .admin-sidebar-mobile-open .admin-sidebar {
    transform: translateX(0);
  }

  .admin-sidebar nav {
    display: grid;
    overflow: visible;
  }

  .admin-sidebar-collapsed .admin-sidebar-brand {
    justify-content: space-between;
    padding-inline: 6px;
  }

  .admin-sidebar-collapsed .admin-sidebar .admin-logo img {
    max-width: 154px;
  }

  .admin-sidebar-collapsed .admin-sidebar-toggle,
  .admin-sidebar-collapsed .admin-nav-group > span,
  .admin-sidebar-collapsed .admin-sidebar nav a,
  .admin-sidebar-collapsed .admin-public-link {
    font-size: inherit;
  }

  .admin-sidebar-collapsed .admin-sidebar nav a {
    justify-content: flex-start;
    padding-inline: 11px;
  }

  .admin-sidebar-collapsed .admin-public-link {
    padding-inline: 12px;
  }

  .admin-main {
    padding: 16px;
  }

  .admin-topbar {
    top: 8px;
  }
}

@media (max-width: 860px) {
  .admin-topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-topbar-actions {
    width: 100%;
  }

  .admin-search {
    min-width: 0;
    width: auto;
  }

  .admin-business-table-head {
    display: none;
  }

  .admin-business-list-item {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .admin-business-list-status {
    justify-self: end;
  }

  .admin-business-list-item .admin-row-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .admin-main {
    gap: 14px;
    padding: 10px;
  }

  .admin-topbar {
    border-radius: 8px;
    padding: 10px;
  }

  .admin-topbar-actions {
    flex-wrap: wrap;
  }

  .admin-search {
    order: 0;
    width: 100%;
  }

  .admin-user-pill,
  #logoutButton {
    flex: 1 1 auto;
  }

  .admin-panel {
    padding: 14px;
  }

  .admin-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-panel-controls {
    justify-content: space-between;
  }

  .admin-list-toolbar {
    grid-template-columns: 1fr;
  }

  .admin-business-list-item {
    gap: 10px;
    grid-template-columns: 1fr;
  }

  .admin-business-list-status {
    justify-self: start;
  }

  .admin-business-list-item .admin-row-actions > * {
    min-height: 36px;
  }
}

/* Admin monitoring, inbox and calendar */
.admin-stat-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.admin-nav-badge {
  align-items: center;
  background: var(--admin-accent);
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 10px;
  font-weight: 600;
  height: 18px;
  justify-content: center;
  margin-left: auto;
  min-width: 18px;
  padding: 0 5px;
}

.admin-chart-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.55fr) minmax(250px, 0.8fr) minmax(250px, 0.8fr);
}

.admin-chart-panel {
  min-height: 318px;
}

.admin-chart-panel .admin-panel-head {
  margin-bottom: 10px;
}

.admin-line-chart {
  min-height: 230px;
  position: relative;
}

.admin-line-chart svg {
  display: block;
  height: 228px;
  overflow: visible;
  width: 100%;
}

.admin-chart-axis {
  stroke: #e8ebef;
  stroke-width: 1;
}

.admin-chart-area {
  fill: rgba(233, 80, 112, 0.12);
}

.admin-chart-line {
  fill: none;
  stroke: var(--admin-accent);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.admin-chart-point {
  fill: #ffffff;
  stroke: var(--admin-accent);
  stroke-width: 2;
}

.admin-chart-label {
  fill: var(--admin-muted);
  font-family: Inter, sans-serif;
  font-size: 9px;
  text-anchor: middle;
}

.admin-chart-total {
  align-items: baseline;
  display: flex;
  gap: 7px;
  margin: -4px 0 0 4px;
}

.admin-chart-total strong {
  color: var(--admin-text);
  font-size: 23px;
}

.admin-chart-total span,
.admin-chart-empty {
  color: var(--admin-muted);
  font-size: 12px;
}

.admin-chart-empty {
  align-items: center;
  display: flex;
  height: 200px;
  justify-content: center;
  margin: 0;
  text-align: center;
}

.admin-donut-chart {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: 122px minmax(0, 1fr);
  min-height: 210px;
}

.admin-donut {
  align-items: center;
  aspect-ratio: 1;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  padding: 15px;
}

.admin-donut > span {
  align-items: center;
  background: #ffffff;
  border-radius: 50%;
  color: var(--admin-muted);
  display: flex;
  flex-direction: column;
  font-size: 10px;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.admin-donut strong {
  color: var(--admin-text);
  font-size: 20px;
}

.admin-chart-legend {
  display: grid;
  gap: 8px;
}

.admin-chart-legend p {
  align-items: center;
  color: var(--admin-muted);
  display: grid;
  font-size: 11px;
  gap: 7px;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  margin: 0;
}

.admin-chart-legend i {
  border-radius: 50%;
  height: 8px;
  width: 8px;
}

.admin-chart-legend b {
  color: var(--admin-text);
  font-size: 12px;
}

.admin-contact-chart {
  align-items: center;
  display: flex;
  min-height: 210px;
}

.admin-contact-bars {
  display: grid;
  gap: 16px;
  width: 100%;
}

.admin-contact-bars p {
  color: var(--admin-muted);
  display: flex;
  font-size: 12px;
  justify-content: space-between;
  margin: 0 0 6px;
}

.admin-contact-bars b {
  color: var(--admin-text);
}

.admin-contact-bars i {
  background: #edf0f3;
  border-radius: 999px;
  display: block;
  height: 7px;
  overflow: hidden;
}

.admin-contact-bars em {
  background: var(--admin-accent);
  border-radius: inherit;
  display: block;
  height: 100%;
}

.admin-google-analytics {
  overflow: hidden;
}

.admin-ga-notice {
  background: #fff7f9;
  border: 1px solid rgba(233, 80, 112, 0.18);
  border-radius: 14px;
  color: var(--admin-text);
  margin: 0 0 18px;
  padding: 14px 16px;
}

.admin-ga-notice strong {
  display: block;
  font-size: 14px;
  margin-bottom: 4px;
}

.admin-ga-notice p {
  color: var(--admin-muted);
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}

.admin-ga-summary {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 20px;
}

.admin-ga-summary article {
  background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(246,248,252,0.94));
  border: 1px solid var(--admin-border);
  border-radius: 16px;
  box-shadow: 0 12px 26px rgba(32, 41, 95, 0.06);
  padding: 16px;
}

.admin-ga-summary span,
.admin-ga-summary small {
  color: var(--admin-muted);
  display: block;
  font-size: 12px;
  font-weight: 600;
}

.admin-ga-summary strong {
  color: var(--admin-text);
  display: block;
  font-size: 28px;
  line-height: 1.1;
  margin: 8px 0 4px;
}

.admin-split-list--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-inbox-workspace {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(340px, 0.75fr) minmax(0, 1.25fr);
}

.admin-inbox-list-panel,
.admin-message-detail-panel {
  min-height: 650px;
}

.admin-message-list {
  display: grid;
  gap: 7px;
  max-height: 530px;
  overflow-y: auto;
  padding-right: 3px;
}

.admin-message-list-item {
  align-items: start;
  background: #ffffff;
  border: 1px solid var(--admin-border);
  border-radius: 7px;
  color: var(--admin-text);
  cursor: pointer;
  display: grid;
  gap: 9px;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  padding: 11px;
  text-align: left;
}

.admin-message-list-item:hover,
.admin-message-list-item.is-active {
  background: #f9fafc;
  border-color: #cfd7e0;
}

.admin-message-list-item.is-active {
  box-shadow: inset 3px 0 0 var(--admin-accent);
}

.admin-message-avatar {
  align-items: center;
  background: #f7eef1;
  border-radius: 50%;
  color: var(--admin-accent);
  display: flex;
  font-size: 12px;
  font-weight: 600;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.admin-message-list-item strong,
.admin-message-list-item small,
.admin-message-list-item em {
  display: block;
}

.admin-message-list-item strong {
  font-size: 13px;
}

.admin-message-list-item small,
.admin-message-list-item em {
  color: var(--admin-muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
  margin-top: 2px;
}

.admin-message-list-item em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-message-status {
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  padding: 4px 6px;
  white-space: nowrap;
}

.admin-message-status.is-new {
  background: #fff0f3;
  color: #c94663;
}

.admin-message-status.is-in_progress {
  background: #fff8e9;
  color: #9a6a0b;
}

.admin-message-status.is-answered {
  background: #e8f6ef;
  color: #278154;
}

.admin-message-status.is-archived {
  background: #eef1f4;
  color: #657180;
}

.admin-message-detail {
  height: 100%;
}

.admin-message-detail-head {
  align-items: start;
  border-bottom: 1px solid var(--admin-border);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding-bottom: 15px;
}

.admin-message-detail-head .eyebrow {
  color: var(--admin-muted);
  font-size: 10px;
  margin: 0 0 4px;
}

.admin-message-detail-head h2 {
  color: var(--admin-text);
  font-size: 18px;
  margin: 0 0 4px;
}

.admin-message-detail-head p {
  color: var(--admin-muted);
  font-size: 12px;
  margin: 0;
}

.admin-message-detail-head label {
  color: var(--admin-muted);
  display: grid;
  font-size: 10px;
  font-weight: 600;
  gap: 4px;
  text-transform: uppercase;
}

.admin-message-detail-head select {
  background: #ffffff;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  color: var(--admin-text);
  font: inherit;
  min-height: 34px;
  padding: 0 8px;
  text-transform: none;
}

.admin-message-body {
  color: #4e5b69;
  font-size: 14px;
  line-height: 1.65;
  padding: 18px 0;
}

.admin-message-meta {
  border-bottom: 1px solid var(--admin-border);
  border-top: 1px solid var(--admin-border);
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 12px 0;
}

.admin-message-meta dt {
  color: var(--admin-muted);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}

.admin-message-meta dd {
  color: var(--admin-text);
  font-size: 12px;
  margin: 3px 0 0;
}

.admin-message-replies {
  padding: 18px 0 4px;
}

.admin-message-replies h3 {
  color: var(--admin-text);
  font-size: 13px;
  margin: 0 0 9px;
}

.admin-message-replies article {
  background: #f8fafb;
  border-left: 3px solid #dce3eb;
  margin: 8px 0;
  padding: 10px;
}

.admin-message-replies article strong {
  font-size: 12px;
}

.admin-message-replies article small {
  color: var(--admin-muted);
  display: block;
  font-size: 10px;
  margin-top: 2px;
}

.admin-message-replies article p {
  color: #4e5b69;
  font-size: 12px;
  line-height: 1.5;
  margin: 8px 0 0;
}

.admin-message-compose {
  color: var(--admin-text);
  display: grid;
  font-size: 12px;
  font-weight: 600;
  gap: 6px;
  margin-top: 14px;
}

.admin-message-compose textarea {
  border: 1px solid var(--admin-border);
  border-radius: 7px;
  font: inherit;
  padding: 10px;
  resize: vertical;
}

.admin-message-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.admin-message-actions button {
  border-radius: 7px;
  font-size: 12px;
  min-height: 36px;
  padding: 0 12px;
}

.admin-message-empty {
  align-items: center;
  color: var(--admin-muted);
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  min-height: 300px;
  text-align: center;
}

.admin-message-empty strong {
  color: var(--admin-text);
}

.admin-message-empty p {
  font-size: 13px;
  max-width: 260px;
}

.admin-calendar-workspace {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
}

.admin-calendar-controls {
  align-items: center;
  display: flex;
  gap: 7px;
}

.admin-calendar-controls .admin-icon-button {
  font-size: 24px;
  height: 34px;
  width: 34px;
}

.admin-calendar-controls .admin-ghost-button,
.admin-calendar-agenda .admin-panel-head button {
  border-radius: 6px;
  font-size: 11px;
  min-height: 34px;
  padding: 0 10px;
}

.admin-calendar-weekdays,
.admin-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.admin-calendar-weekdays {
  color: var(--admin-muted);
  font-size: 10px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
}

.admin-calendar-weekdays span {
  padding: 8px 4px;
}

.admin-calendar-days {
  border-left: 1px solid var(--admin-border);
  border-top: 1px solid var(--admin-border);
}

.admin-calendar-day {
  border-bottom: 1px solid var(--admin-border);
  border-right: 1px solid var(--admin-border);
  min-height: 112px;
  padding: 7px;
}

.admin-calendar-day.is-empty {
  background: #fafbfc;
}

.admin-calendar-day > strong {
  color: var(--admin-muted);
  display: block;
  font-size: 11px;
  margin-bottom: 5px;
}

.admin-calendar-day.is-today > strong {
  align-items: center;
  background: var(--admin-accent);
  border-radius: 50%;
  color: #ffffff;
  display: flex;
  height: 22px;
  justify-content: center;
  width: 22px;
}

.admin-calendar-day > div {
  display: grid;
  gap: 3px;
}

.admin-calendar-day button {
  background: #fff0f3;
  border: 0;
  border-left: 2px solid var(--admin-accent);
  color: #a63f55;
  cursor: pointer;
  font: inherit;
  font-size: 10px;
  line-height: 1.25;
  overflow: hidden;
  padding: 4px 5px;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-calendar-day button:hover {
  background: #ffe3e9;
}

.admin-calendar-day > div > span {
  color: var(--admin-muted);
  font-size: 10px;
}

.admin-calendar-agenda .admin-list article {
  background: #ffffff;
  border-color: var(--admin-border);
}

.admin-calendar-agenda .admin-list button {
  background: none;
  border: 0;
  color: var(--admin-accent);
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  margin-top: 7px;
  padding: 0;
}

@media (max-width: 1260px) {
  .admin-chart-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-chart-grid .admin-chart-panel:first-child {
    grid-column: 1 / -1;
  }

  .admin-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-ga-summary,
  .admin-split-list--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .admin-inbox-workspace,
  .admin-calendar-workspace {
    grid-template-columns: 1fr;
  }

  .admin-inbox-list-panel,
  .admin-message-detail-panel {
    min-height: 0;
  }

  .admin-message-list {
    max-height: 360px;
  }
}

@media (max-width: 700px) {
  .admin-chart-grid,
  .admin-stat-grid {
    grid-template-columns: 1fr;
  }

  .admin-chart-grid .admin-chart-panel:first-child {
    grid-column: auto;
  }

  .admin-donut-chart {
    grid-template-columns: 110px minmax(0, 1fr);
  }

  .admin-ga-summary,
  .admin-split-list--three {
    grid-template-columns: 1fr;
  }

  .admin-message-detail-head {
    flex-direction: column;
  }

  .admin-message-meta {
    grid-template-columns: 1fr;
  }

  .admin-calendar-day {
    min-height: 78px;
    padding: 4px;
  }

  .admin-calendar-day button {
    font-size: 9px;
    padding: 3px;
  }

  .admin-calendar-weekdays span {
    font-size: 9px;
  }
}

/* Category and institution workspaces */
.admin-category-workspace,
.admin-institution-workspace,
.admin-health-workspace,
.admin-event-workspace {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.admin-resource-editor {
  background: #ffffff;
  border-radius: 0 !important;
  bottom: 0;
  box-shadow: -16px 0 48px rgba(20, 28, 58, 0.2) !important;
  display: block;
  max-width: min(760px, 100vw);
  overflow-x: hidden;
  overflow-y: auto;
  position: fixed;
  right: 0;
  top: 0;
  width: min(760px, 100vw);
  z-index: 181;
}

.admin-resource-editor--compact {
  max-width: min(620px, 100vw);
  width: min(620px, 100vw);
}

.admin-resource-editor .admin-panel-head {
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(31, 43, 58, 0.06);
  margin: -20px -20px 18px;
  padding: 18px 20px;
  position: sticky;
  top: -20px;
  z-index: 2;
}

.admin-resource-list {
  display: grid;
  gap: 8px;
}

.admin-resource-list article {
  align-items: center;
  background: #ffffff !important;
  border-color: var(--admin-border) !important;
  display: grid;
  gap: 6px 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0 !important;
  min-height: 72px;
  padding: 12px !important;
}

.admin-resource-list article:hover {
  border-color: #cfd6df !important;
  box-shadow: 0 4px 16px rgba(31, 43, 58, 0.05);
}

.admin-resource-list article > strong {
  color: var(--admin-text);
  font-size: 13px;
}

.admin-resource-list article > p {
  color: var(--admin-muted);
  font-size: 12px;
  grid-column: 1;
  margin: 0;
}

.admin-resource-list article > p + p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-resource-list .admin-row-actions {
  align-self: center;
  display: grid;
  gap: 6px;
  grid-column: 2;
  grid-row: 1 / span 3;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  min-width: 220px;
}

.admin-resource-list .admin-row-actions > * {
  align-items: center;
  background: #f7f8fa;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  color: #4b5867;
  display: flex;
  font-size: 11px;
  font-weight: 600;
  justify-content: center;
  min-height: 34px;
  padding: 0 7px;
  white-space: nowrap;
}

.admin-resource-list .admin-row-actions > *:hover {
  background: #edf0f4;
  color: var(--admin-text);
}

#institution-category-list-admin {
  border-top: 3px solid #eff2f5;
}

.admin-event-workspace #event-list-admin {
  order: 1;
}

.admin-event-workspace .admin-event-import {
  order: 2;
}

.admin-health-tabs {
  border-bottom: 1px solid var(--admin-border);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 14px;
  padding: 0 0 10px;
}

.admin-health-tabs button {
  background: #f7f8fa;
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  color: var(--admin-muted);
  font-size: 13px;
  font-weight: 600;
  min-height: 38px;
  padding: 0 12px;
}

.admin-health-tabs button.active {
  background: var(--admin-text);
  border-color: var(--admin-text);
  color: #fff;
}

.admin-health-hours {
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  margin: 4px 0 0;
  padding: 14px;
}

.admin-health-hours legend {
  color: var(--admin-text);
  font-size: 13px;
  font-weight: 600;
  padding: 0 6px;
}

.admin-health-hours-grid {
  display: grid;
  gap: 8px;
}

.admin-health-hours-grid label {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(92px, 1fr) minmax(0, 1fr) auto minmax(0, 1fr);
}

.admin-health-hours-grid label span {
  color: var(--admin-muted);
  font-size: 13px;
  font-weight: 600;
}

.admin-health-hours-grid label b {
  color: var(--admin-muted);
}

.admin-health-hours-grid input[type="time"] {
  min-width: 0;
}

#institution-category-list-admin .admin-panel-head > button {
  background: #f7f8fa;
  border: 1px solid var(--admin-border);
  border-radius: 7px;
  color: var(--admin-text);
  font-size: 12px;
  min-height: 36px;
  padding: 0 12px;
}

@media (max-width: 700px) {
  .admin-resource-editor,
  .admin-resource-editor--compact {
    max-width: 100vw;
    width: 100vw;
  }

  .admin-resource-list article {
    grid-template-columns: 1fr;
  }

  .admin-resource-list article > p {
    grid-column: 1;
  }

  .admin-resource-list .admin-row-actions {
    grid-column: 1;
    grid-row: auto;
    min-width: 0;
    width: 100%;
  }

  .admin-health-hours-grid label {
    grid-template-columns: 82px minmax(0, 1fr) auto minmax(0, 1fr);
  }
}

/* Vállalkozóknak - egyszerű, értékesítési fókuszú oldal */
.sales-page {
  display: grid;
  gap: 62px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 72px;
}

.sales-hero {
  background: #eef1f7;
  isolation: isolate;
  min-height: 430px;
  overflow: hidden;
  padding: 48px 52px;
  position: relative;
}

.sales-hero::before,
.sales-hero::after {
  content: "";
  inset: 0;
  position: absolute;
}

.sales-hero::before {
  background: url("/uploads/optimized/happy-businessman-standing-by-window-office-reading-text-mes-1782233228756-banner.webp") center / cover no-repeat;
  transform: scaleX(-1);
  z-index: -2;
}

.sales-hero::after {
  background: rgba(250, 251, 253, 0.88);
  z-index: -1;
}

.sales-hero-copy {
  max-width: 690px;
}

.sales-kicker {
  align-items: center;
  color: var(--pink);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 10px;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.sales-kicker > span {
  align-items: center;
  background: #fff;
  border: 1px solid #ffd1dc;
  border-radius: 50%;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.sales-kicker svg,
.sales-includes li > svg {
  fill: none;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 18px;
}

.sales-hero h1 {
  color: var(--navy);
  font-size: clamp(36px, 4.4vw, 58px);
  line-height: 1.08;
  margin: 0;
  max-width: 680px;
}

.sales-hero-copy > p {
  color: #52617b;
  font-size: 17px;
  line-height: 1.55;
  margin: 18px 0 20px;
  max-width: 620px;
}

.sales-hero ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
}

.sales-hero li {
  align-items: center;
  color: var(--navy);
  display: inline-flex;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
}

.sales-hero li::before {
  background: var(--pink);
  border-radius: 50%;
  content: "";
  height: 7px;
  width: 7px;
}

.sales-button {
  align-items: center;
  border-radius: 7px;
  display: inline-flex;
  font-size: 15px;
  font-weight: 600;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.sales-button--primary {
  background: var(--pink);
  border: 1px solid var(--pink);
  color: #fff;
}

.sales-button--primary:hover {
  background: #d83b67;
  border-color: #d83b67;
  color: #fff;
  transform: translateY(-1px);
}

.sales-message {
  margin: 0 auto;
  max-width: 830px;
  text-align: center;
}

.sales-page .eyebrow {
  margin: 0 0 9px;
}

.sales-message h2,
.sales-section-title h2,
.sales-includes h2,
.sales-fit h2,
.sales-final h2 {
  color: var(--navy);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.17;
  margin: 0;
}

.sales-message > p:last-child {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
  margin: 17px 0 0;
}

.sales-benefits {
  align-items: start;
  display: grid;
  gap: 50px;
  grid-template-columns: minmax(250px, 0.74fr) minmax(0, 1.26fr);
}

.sales-section-title {
  max-width: 500px;
}

.sales-benefit-list {
  border-top: 1px solid var(--line);
}

.sales-benefit-list article {
  align-items: start;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 17px;
  grid-template-columns: 44px minmax(0, 1fr);
  padding: 18px 0;
}

.sales-benefit-list article > span {
  align-items: center;
  background: #fff0f4;
  border: 1px solid #ffd2dd;
  border-radius: 50%;
  color: var(--pink);
  display: flex;
  font-size: 12px;
  font-weight: 600;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.sales-benefit-list h3 {
  color: var(--navy);
  font-size: 18px;
  line-height: 1.3;
  margin: 1px 0 5px;
}

.sales-benefit-list p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.52;
  margin: 0;
}

.sales-includes {
  align-items: start;
  background: #f4f6fa;
  display: grid;
  gap: 52px;
  grid-template-columns: minmax(260px, 0.76fr) minmax(0, 1.24fr);
  padding: 44px 48px;
}

.sales-includes > div {
  max-width: 480px;
}

.sales-includes > div > p:last-child {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.58;
  margin: 16px 0 0;
}

.sales-includes ul {
  display: grid;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sales-includes li {
  align-items: start;
  display: grid;
  gap: 13px;
  grid-template-columns: 30px minmax(0, 1fr);
}

.sales-includes li > svg {
  color: var(--pink);
  margin-top: 2px;
}

.sales-includes strong,
.sales-includes small {
  display: block;
}

.sales-includes strong {
  color: var(--navy);
  font-size: 15px;
  margin-bottom: 3px;
}

.sales-includes small {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.sales-process {
  display: grid;
  gap: 34px;
}

.sales-process .sales-section-title {
  max-width: 620px;
}

.sales-process ol {
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.sales-process li {
  border-bottom: 1px solid var(--line);
  padding: 22px 22px 22px 0;
}

.sales-process li + li {
  border-left: 1px solid var(--line);
  padding-left: 22px;
}

.sales-process li > span {
  color: var(--pink);
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 16px;
}

.sales-process h3 {
  color: var(--navy);
  font-size: 17px;
  line-height: 1.3;
  margin: 0 0 7px;
}

.sales-process li p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.sales-fit {
  align-items: start;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 52px;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.25fr);
  padding-top: 52px;
}

.sales-fit ul {
  display: grid;
  gap: 13px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sales-fit li {
  align-items: start;
  color: var(--navy);
  display: flex;
  font-size: 15px;
  font-weight: 600;
  gap: 11px;
  line-height: 1.48;
}

.sales-fit li::before {
  align-items: center;
  background: #fff0f4;
  border: 1px solid #ffd2dd;
  border-radius: 50%;
  color: var(--pink);
  content: "\2713";
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 12px;
  height: 21px;
  justify-content: center;
  width: 21px;
}

.sales-final {
  background: var(--navy);
  padding: 44px 48px;
  text-align: center;
}

.sales-final .eyebrow {
  color: #ffabc0;
}

.sales-final h2 {
  color: #fff;
  margin: 0 auto;
  max-width: 760px;
}

.sales-final > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.85);
  font-size: 16px;
  line-height: 1.55;
  margin: 15px auto 25px;
  max-width: 670px;
}

.sales-final .sales-button {
  background: #fff;
  border-color: #fff;
  color: var(--navy);
}

.sales-final .sales-button:hover {
  background: #fff2f5;
  border-color: #fff2f5;
  color: var(--navy);
}

@media (max-width: 900px) {
  .sales-page {
    gap: 48px;
    padding: 12px 0 56px;
  }

  .sales-benefits,
  .sales-includes,
  .sales-fit {
    gap: 30px;
    grid-template-columns: 1fr;
  }

  .sales-hero {
    padding: 40px 32px;
  }

  .sales-process ol {
    grid-template-columns: 1fr;
  }

  .sales-process li + li {
    border-left: 0;
    padding-left: 0;
  }
}

@media (max-width: 620px) {
  .sales-hero {
    min-height: 0;
    padding: 32px 22px;
  }

  .sales-hero h1 {
    font-size: 35px;
  }

  .sales-hero-copy > p {
    font-size: 16px;
  }

  .sales-hero ul {
    display: grid;
    gap: 8px;
  }

  .sales-includes {
    margin-left: -16px;
    margin-right: -16px;
    padding: 34px 22px;
  }

  .sales-fit {
    padding-top: 40px;
  }

  .sales-final {
    margin-left: -16px;
    margin-right: -16px;
    padding: 36px 22px;
  }
}

/* Impresszum */
.imprint-page {
  display: grid;
  gap: 24px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 70px;
}

.imprint-hero {
  background: var(--navy);
  color: #fff;
  padding: 40px 44px;
}

.imprint-hero .eyebrow {
  color: #ffadc0;
  margin: 0 0 10px;
}

.imprint-hero h1 {
  color: #fff;
  font-size: clamp(30px, 3.8vw, 50px);
  line-height: 1.1;
  margin: 0;
}

.imprint-hero > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.55;
  margin: 15px 0 0;
}

.imprint-grid {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.imprint-card {
  background: #fff;
  border: 1px solid var(--line);
  min-width: 0;
  padding: 30px;
}

.imprint-card h2 {
  color: var(--navy);
  font-size: 21px;
  margin: 0 0 18px;
}

.imprint-card dl {
  display: grid;
  margin: 0;
}

.imprint-card dl > div {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(150px, 0.75fr) minmax(0, 1fr);
  padding: 12px 0;
}

.imprint-card dl > div:first-child {
  padding-top: 0;
}

.imprint-card dl > div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.imprint-card dt {
  color: var(--muted);
  font-size: 13px;
}

.imprint-card dd {
  color: var(--navy);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  overflow-wrap: anywhere;
}

.imprint-card a {
  color: var(--pink);
  text-decoration: none;
}

.imprint-card a:hover {
  text-decoration: underline;
}

@media (max-width: 800px) {
  .imprint-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .imprint-page {
    padding: 12px 0 52px;
  }

  .imprint-hero {
    margin-left: -16px;
    margin-right: -16px;
    padding: 31px 22px;
  }

  .imprint-hero h1 {
    font-size: 31px;
  }

  .imprint-card {
    margin-left: -16px;
    margin-right: -16px;
    padding: 25px 22px;
  }

  .imprint-card dl > div {
    gap: 3px;
    grid-template-columns: 1fr;
  }
}

/* Jogi oldalak képes fejlécének közös megjelenése */
.terms-hero,
.imprint-hero {
  align-content: end;
  background: url("/uploads/optimized/young-man-wearing-headphones-works-computer-modern-office-se-1782238286398-banner.webp") center / cover no-repeat;
  display: grid;
  isolation: isolate;
  min-height: 260px;
  overflow: hidden;
  position: relative;
}

.terms-hero::before,
.imprint-hero::before {
  background: linear-gradient(180deg, var(--red), var(--navy));
  content: "";
  height: calc(100% - 64px);
  left: 0;
  position: absolute;
  top: 32px;
  width: 4px;
  z-index: 1;
}

.terms-hero::after,
.imprint-hero::after {
  background: rgba(32, 41, 95, 0.78);
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.terms-hero > *,
.imprint-hero > * {
  position: relative;
  z-index: 1;
}

.terms-hero .kalo-header-kicker,
.imprint-hero .kalo-header-kicker {
  color: #ff9fba;
  margin-bottom: 10px;
}

.terms-hero .kalo-header-badge,
.imprint-hero .kalo-header-badge {
  box-shadow: none;
}

.terms-hero .kalo-header-badge svg,
.imprint-hero .kalo-header-badge svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.terms-hero h1,
.imprint-hero h1 {
  font-size: clamp(28px, 3vw, 42px);
  margin: 0;
}

.terms-hero > p:not(.eyebrow),
.imprint-hero > p:not(.eyebrow) {
  margin: 10px 0 0;
  max-width: 720px;
}

.terms-hero .terms-meta {
  margin-top: 18px;
}

@media (max-width: 620px) {
  .terms-hero,
  .imprint-hero {
    min-height: 220px;
  }
}

@media (max-width: 430px) {
  .sales-hero .sales-button {
    width: 100%;
  }
}

/* Általános Szerződési Feltételek */
.terms-page {
  display: grid;
  gap: 24px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 70px;
}

.terms-hero {
  background: var(--navy);
  color: #fff;
  padding: 40px 44px;
}

.terms-hero .eyebrow {
  color: #ffadc0;
  margin: 0 0 10px;
}

.terms-hero h1 {
  color: #fff;
  font-size: clamp(30px, 3.8vw, 50px);
  line-height: 1.1;
  margin: 0;
}

.terms-hero > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.55;
  margin: 15px 0 0;
  max-width: 720px;
}

.terms-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 23px;
}

.terms-meta span {
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  font-size: 13px;
  padding: 7px 10px;
}

.terms-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: 255px minmax(0, 1fr);
}

.terms-toc {
  background: #fff;
  border: 1px solid var(--line);
  display: grid;
  gap: 3px;
  padding: 18px;
  position: sticky;
  top: 18px;
}

.terms-toc strong {
  color: var(--navy);
  font-size: 15px;
  margin-bottom: 7px;
}

.terms-toc a {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  padding: 5px 0;
  text-decoration: none;
}

.terms-toc a:hover {
  color: var(--pink);
}

.terms-content {
  background: #fff;
  border: 1px solid var(--line);
  min-width: 0;
  padding: 38px 44px;
}

.terms-content section {
  border-bottom: 1px solid var(--line);
  padding: 0 0 29px;
  scroll-margin-top: 20px;
}

.terms-content section + section {
  padding-top: 32px;
}

.terms-content section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.terms-content h2 {
  color: var(--navy);
  font-size: 21px;
  line-height: 1.32;
  margin: 0 0 15px;
}

.terms-content p {
  color: #42516a;
  font-size: 14px;
  line-height: 1.68;
  margin: 0 0 13px;
}

.terms-content p:last-child {
  margin-bottom: 0;
}

.terms-content p strong {
  color: var(--navy);
}

.terms-provider {
  background: #f5f7fb;
  border: 1px solid #e1e6f0;
  display: grid;
  margin: 16px 0;
  padding: 4px 16px;
}

.terms-provider div {
  border-bottom: 1px solid #e1e6f0;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(160px, 0.55fr) minmax(0, 1fr);
  padding: 10px 0;
}

.terms-provider div:last-child {
  border-bottom: 0;
}

.terms-provider dt {
  color: var(--muted);
  font-size: 13px;
}

.terms-provider dd {
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
  margin: 0;
}

@media (max-width: 900px) {
  .terms-layout {
    grid-template-columns: 1fr;
  }

  .terms-toc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: static;
  }

  .terms-toc strong {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .terms-page {
    padding: 12px 0 52px;
  }

  .terms-hero {
    margin-left: -16px;
    margin-right: -16px;
    padding: 31px 22px;
  }

  .terms-hero h1 {
    font-size: 31px;
  }

  .terms-toc {
    gap: 2px 14px;
    padding: 16px;
  }

  .terms-toc a {
    font-size: 11px;
  }

  .terms-content {
    margin-left: -16px;
    margin-right: -16px;
    padding: 29px 22px;
  }

  .terms-content h2 {
    font-size: 19px;
  }

  .terms-content p {
    font-size: 14px;
    line-height: 1.62;
  }

  .terms-provider {
    padding: 4px 12px;
  }

  .terms-provider div {
    gap: 3px;
    grid-template-columns: 1fr;
  }
}

/* Az ÁSZF későbbi alapstílusa ne írja felül a közös képes fejlécet. */
.terms-hero,
.imprint-hero {
  background-image: url("/uploads/optimized/young-man-wearing-headphones-works-computer-modern-office-se-1782238286398-banner.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.terms-hero .kalo-header-kicker,
.imprint-hero .kalo-header-kicker {
  color: var(--red);
}

/* Adatkezelési tájékoztató */
.privacy-page {
  display: grid;
  gap: 24px;
  margin: 0 auto;
  max-width: var(--page);
  padding: 18px 0 70px;
}

.privacy-intro {
  align-items: start;
  background: #fff;
  border: 1px solid var(--line);
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  padding: 32px 36px;
}

.privacy-intro .eyebrow,
.privacy-document-head .eyebrow {
  margin: 0 0 8px;
}

.privacy-intro h2,
.privacy-document-head h2 {
  color: var(--navy);
  font-size: 23px;
  line-height: 1.3;
  margin: 0;
}

.privacy-intro p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.62;
  margin: 13px 0 0;
}

.privacy-intro a {
  color: var(--pink);
  font-weight: 600;
  text-decoration: none;
}

.privacy-pdf-link {
  align-items: center;
  display: inline-flex;
  gap: 7px;
  margin-top: 18px;
}

.privacy-pdf-link span {
  font-size: 18px;
  line-height: 1;
}

.privacy-document {
  background: #fff;
  border: 1px solid var(--line);
  padding: 30px;
}

.privacy-document-head {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 22px;
  padding-bottom: 20px;
}

.privacy-document-head a {
  border: 1px solid var(--line);
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
  padding: 10px 12px;
  text-decoration: none;
  white-space: nowrap;
}

.privacy-document-head a:hover {
  border-color: #ffc7d7;
  color: var(--pink);
}

.privacy-document iframe {
  border: 1px solid #dce1ea;
  display: block;
  height: 960px;
  width: 100%;
}

.privacy-document-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
  margin: 13px 0 0;
}

@media (max-width: 760px) {
  .privacy-page {
    padding: 12px 0 52px;
  }

  .privacy-intro {
    gap: 24px;
    grid-template-columns: 1fr;
    padding: 26px 22px;
  }

  .privacy-document {
    margin-left: -16px;
    margin-right: -16px;
    padding: 22px 16px;
  }

  .privacy-document-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .privacy-document iframe {
    height: 720px;
  }
}

/* Adatkezelési tájékoztató teljes HTML-szövege */
.privacy-text-page .terms-meta a {
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  font-size: 13px;
  padding: 7px 10px;
  text-decoration: none;
}

.privacy-text-page .terms-meta a:hover {
  background: rgba(255, 255, 255, 0.1);
}

.privacy-full-content h3 {
  color: var(--navy);
  font-size: 17px;
  line-height: 1.42;
  margin: 27px 0 12px;
}

.privacy-full-content .privacy-bullet {
  color: #42516a;
  padding-left: 18px;
  position: relative;
}

.privacy-full-content .privacy-bullet::before {
  background: var(--pink);
  border-radius: 50%;
  content: "";
  height: 5px;
  left: 2px;
  position: absolute;
  top: 10px;
  width: 5px;
}

.privacy-full-content section {
  display: flow-root;
}

/* A vállalkozóknak oldal végleges, promóciós felülete */
.sales-page {
  background: #fffdfd;
  gap: 58px;
  padding-bottom: 86px;
}

.sales-hero {
  border: 1px solid #e9eaf0;
  border-radius: 8px;
  box-shadow: 0 16px 36px rgba(32, 41, 95, 0.07);
  min-height: 414px;
  padding: 48px 52px;
}

.sales-hero::after {
  background: rgba(255, 252, 253, 0.79);
}

.sales-hero-copy {
  max-width: 650px;
}

.sales-hero h1 {
  font-size: clamp(35px, 4.2vw, 55px);
  max-width: 650px;
}

.sales-hero-copy > p {
  font-size: 16px;
  line-height: 1.5;
  margin: 16px 0 18px;
}

.sales-hero ul {
  gap: 7px 17px;
  margin-bottom: 24px;
}

.sales-hero li {
  font-size: 13px;
}

.sales-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sales-button--secondary {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid #dfe3ed;
  color: var(--navy);
}

.sales-button--secondary:hover {
  background: #fff4f7;
  border-color: #ffcad8;
  color: var(--navy);
}

.sales-trust {
  align-self: center;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: -34px auto -4px;
  max-width: 920px;
  position: relative;
  width: calc(100% - 96px);
  z-index: 2;
}

.sales-trust article {
  background: #fff;
  border: 1px solid #e5e8f0;
  border-radius: 8px;
  box-shadow: 0 9px 24px rgba(32, 41, 95, 0.07);
  display: grid;
  gap: 3px;
  padding: 15px 18px;
}

.sales-trust strong {
  color: var(--navy);
  font-size: 14px;
}

.sales-trust span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.sales-message {
  max-width: 760px;
}

.sales-message h2,
.sales-section-title h2,
.sales-includes h2,
.sales-fit h2,
.sales-final h2 {
  font-size: clamp(27px, 2.7vw, 38px);
}

.sales-message > p:last-child {
  font-size: 15px;
  line-height: 1.55;
  margin-top: 14px;
}

.sales-benefits {
  gap: 46px;
}

.sales-benefit-list {
  border-top: 0;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sales-benefit-list article {
  background: #fff;
  border: 1px solid #e4e7ef;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(32, 41, 95, 0.045);
  gap: 13px;
  padding: 19px;
}

.sales-benefit-list h3 {
  font-size: 16px;
  margin-bottom: 4px;
}

.sales-benefit-list p {
  font-size: 13px;
  line-height: 1.47;
}

.sales-includes {
  background: #fff6f8;
  border: 1px solid #ffe0e8;
  border-radius: 8px;
  gap: 46px;
  padding: 40px 44px;
}

.sales-includes > div > p:last-child {
  font-size: 14px;
  line-height: 1.52;
  margin-top: 14px;
}

.sales-includes ul {
  gap: 14px;
}

.sales-includes strong {
  font-size: 14px;
}

.sales-includes small {
  font-size: 13px;
  line-height: 1.4;
}

.sales-process {
  gap: 28px;
}

.sales-process ol {
  border-top: 0;
  gap: 12px;
}

.sales-process li,
.sales-process li + li {
  background: #fff;
  border: 1px solid #e4e7ef;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(32, 41, 95, 0.04);
  padding: 21px 19px;
}

.sales-process li > span {
  align-items: center;
  background: #fff0f4;
  border: 1px solid #ffd5df;
  border-radius: 50%;
  display: inline-flex;
  height: 30px;
  justify-content: center;
  margin-bottom: 13px;
  width: 30px;
}

.sales-process h3 {
  font-size: 16px;
  margin-bottom: 5px;
}

.sales-process li p {
  font-size: 13px;
  line-height: 1.48;
}

.sales-fit {
  background: #f5f7fb;
  border-top: 0;
  border-radius: 8px;
  gap: 46px;
  padding: 40px 44px;
}

.sales-fit li {
  font-size: 14px;
  line-height: 1.44;
}

.sales-final {
  border-radius: 8px;
  box-shadow: 0 16px 32px rgba(32, 41, 95, 0.13);
  padding: 46px 42px;
}

.sales-final > p:not(.eyebrow) {
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 23px;
}

@media (max-width: 900px) {
  .sales-trust {
    margin-top: -24px;
    width: calc(100% - 64px);
  }

  .sales-benefit-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .sales-page {
    gap: 44px;
  }

  .sales-hero {
    padding: 32px 22px;
  }

  .sales-hero h1 {
    font-size: 34px;
  }

  .sales-hero-actions,
  .sales-hero-actions .sales-button {
    width: 100%;
  }

  .sales-trust {
    grid-template-columns: 1fr;
    margin: -14px 0 0;
    width: 100%;
  }

  .sales-trust article {
    padding: 13px 16px;
  }

  .sales-includes,
  .sales-fit {
    margin-left: -16px;
    margin-right: -16px;
    padding: 32px 22px;
  }

  .sales-final {
    margin-left: -16px;
    margin-right: -16px;
    padding: 36px 22px;
  }
}

body:not(.admin-dashboard-page) > main.explore-page-shell,
body:not(.admin-dashboard-page) > main.directory-page-shell,
body:not(.admin-dashboard-page) > main.category-page-shell,
body:not(.admin-dashboard-page) > main.categories-page-shell,
body:not(.admin-dashboard-page) > main.health-page-shell,
body:not(.admin-dashboard-page) > main.businesses-page-shell,
body:not(.admin-dashboard-page) > main.contact-page-shell,
body:not(.admin-dashboard-page) > main.profile-page-shell,
body:not(.admin-dashboard-page) > main.cookie-policy-page,
body:not(.admin-dashboard-page) > main.terms-page,
body:not(.admin-dashboard-page) > main.imprint-page,
body:not(.admin-dashboard-page) > main.privacy-page {
  padding-top: var(--site-header-banner-gap);
}

@media (max-width: 860px) {
  .hero-category-panel {
    overflow: hidden;
    padding: 12px 0 12px 12px;
  }

  .hero-category-head {
    padding-right: 12px;
  }

  .hero-category-panel #categoryList {
    display: flex;
    gap: 10px !important;
    grid-template-columns: none;
    overflow-x: auto;
    padding: 0 12px 4px 0;
    scroll-padding-left: 0;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .hero-category-panel #categoryList::-webkit-scrollbar {
    height: 6px;
  }

  .hero-category-panel #categoryList::-webkit-scrollbar-thumb {
    background: rgba(32, 41, 95, 0.16);
    border-radius: 999px;
  }

  .hero-category-panel .category-card {
    flex: 0 0 clamp(138px, 30vw, 174px);
    height: 78px;
    min-height: 78px;
    padding: 10px;
    scroll-snap-align: start;
  }
}

@media (max-width: 560px) {
  .hero-category-panel #categoryList {
    grid-template-columns: none;
  }

  .hero-category-panel .category-card {
    flex-basis: 136px;
  }
}

@media (max-width: 860px) {
  .hero-layout {
    padding-bottom: 18px;
  }

  .hero-card {
    background:
      linear-gradient(180deg, rgba(248, 250, 252, 0.96) 0%, rgba(248, 250, 252, 0.82) 46%, rgba(248, 250, 252, 0.68) 100%),
      linear-gradient(135deg, rgba(32, 41, 95, 0.18), rgba(240, 77, 115, 0.12)),
      var(--hero-image) center / cover !important;
    gap: 14px;
    padding: 20px 12px 26px;
  }

  .hero-content {
    gap: 12px;
    justify-items: stretch;
    padding: 20px 0 0;
  }

  .hero-kicker {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(240, 77, 115, 0.16);
    border-radius: 999px;
    font-size: 12px;
    justify-self: start;
    letter-spacing: 0.05em;
    padding: 5px 10px 5px 5px;
  }

  .hero-content h1 {
    font-size: clamp(24px, 6.4vw, 31px);
    line-height: 1.12;
    max-width: none;
    overflow-wrap: normal;
    width: 100%;
  }

  .hero-content p {
    color: #3d4660;
    font-size: 14px;
    line-height: 1.55;
    max-width: none;
    width: 100%;
  }

  .hero-search {
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(32, 41, 95, 0.14);
    gap: 9px;
    grid-template-columns: minmax(0, 1fr);
    margin-top: 6px;
    padding: 11px;
  }

  .hero-search input {
    background: #fff;
    border: 1px solid rgba(225, 228, 240, 0.95);
    border-radius: 12px;
    grid-column: 1 / -1;
    min-height: 48px;
    padding: 0 13px;
  }

  .hero-search .open-toggle {
    display: none;
  }

  .open-toggle {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(225, 228, 240, 0.95);
    border-radius: 12px;
    justify-content: center;
    min-height: 44px;
    padding: 0 10px;
  }

  .open-toggle input {
    height: 18px;
    margin: 0;
    width: 18px;
  }

  .hero-search button {
    border-radius: 12px;
    min-height: 44px;
    padding: 0 16px;
    width: 100%;
  }

  .hero-link-row {
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 2px;
  }

  .hero-link-row a {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(32, 41, 95, 0.14);
    border-radius: 13px;
    box-shadow: 0 10px 24px rgba(32, 41, 95, 0.08);
    font-size: 12px;
    min-height: 44px;
    padding: 0 8px;
  }

  .hero-link-row a svg {
    flex-basis: 15px;
    height: 15px;
    width: 15px;
  }

  .hero-duty-card {
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(32, 41, 95, 0.14);
    gap: 9px;
    margin-top: 6px;
    padding: 16px;
  }

  .hero-duty-card span {
    font-size: 12px;
  }

  .hero-duty-card h2 {
    font-size: 22px;
    line-height: 1.16;
  }

  .hero-duty-card > strong {
    border-radius: 12px;
    font-size: 15px;
    padding: 10px 12px;
  }

  .hero-duty-card > a:last-child {
    border-radius: 12px;
    min-height: 42px;
    padding: 10px 14px;
  }

  .hero-category-panel {
    display: none;
  }
}

@media (max-width: 420px) {
  .hero-search {
    grid-template-columns: 1fr;
  }

  .hero-search button {
    width: 100%;
  }

  .hero-content h1 {
    font-size: clamp(23px, 6.2vw, 29px);
    max-width: none;
  }
}

.hero-template-body {
  background: #f3f5fb;
}

.hero-template-page {
  max-width: none;
}

.alt-hero {
  isolation: isolate;
  min-height: calc(100vh - var(--site-header-height, 82px) - var(--site-header-banner-gap, 18px));
  overflow: hidden;
  position: relative;
}

.alt-hero__media {
  background:
    linear-gradient(90deg, rgba(248, 250, 252, 0.98) 0%, rgba(248, 250, 252, 0.92) 42%, rgba(248, 250, 252, 0.48) 68%, rgba(32, 41, 95, 0.22) 100%),
    linear-gradient(180deg, rgba(32, 41, 95, 0.12), rgba(240, 77, 115, 0.16)),
    url("/uploads/optimized/gemini-generated-image-b8rf97b8rf97b8rf-1781605510207-banner.webp") center / cover;
  inset: 0;
  position: absolute;
  z-index: -2;
}

.alt-hero__media::after {
  background:
    linear-gradient(180deg, rgba(243, 245, 251, 0) 62%, #f3f5fb 100%),
    radial-gradient(circle at 88% 18%, rgba(255, 255, 255, 0.42), transparent 34%);
  content: "";
  inset: 0;
  position: absolute;
}

.alt-hero__inner {
  align-items: center;
  display: grid;
  gap: clamp(28px, 5vw, 76px);
  grid-template-columns: minmax(0, 790px) minmax(300px, 430px);
  min-height: inherit;
  padding: clamp(42px, 6vw, 82px) max(24px, calc((100vw - 1540px) / 2)) clamp(46px, 6vw, 92px);
}

.alt-hero__content {
  display: grid;
  gap: 20px;
  max-width: 820px;
}

.alt-hero__kicker {
  align-items: center;
  color: var(--red);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alt-hero__kicker svg {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(240, 77, 115, 0.22);
  border-radius: 999px;
  fill: none;
  height: 34px;
  padding: 8px;
  stroke: currentColor;
  stroke-width: 2;
  width: 34px;
}

.alt-hero h1 {
  color: var(--navy);
  font-size: clamp(46px, 5.4vw, 82px);
  letter-spacing: 0;
  line-height: 0.98;
  margin: 0;
  max-width: 820px;
}

.alt-hero__content p {
  color: #344054;
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.55;
  margin: 0;
  max-width: 760px;
}

.alt-hero-search {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(32, 41, 95, 0.12);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(32, 41, 95, 0.16);
  display: grid;
  gap: 12px;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  margin-top: 8px;
  max-width: 760px;
  padding: 10px;
  position: relative;
}

.alt-hero-search__icon {
  align-items: center;
  background: #f8fafc;
  border-radius: 14px;
  color: var(--navy);
  display: inline-flex;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.alt-hero-search svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 20px;
}

.alt-hero-search input {
  background: transparent;
  border: 0;
  color: var(--ink);
  font: inherit;
  min-height: 46px;
  outline: none;
  width: 100%;
}

.alt-hero-search button {
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border: 0;
  border-radius: 16px;
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  min-height: 46px;
  padding: 0 26px;
}

.alt-hero__links {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 760px;
}

.alt-hero__links a {
  align-items: center;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(32, 41, 95, 0.12);
  border-radius: 16px;
  color: var(--navy);
  display: flex;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  justify-content: center;
  min-height: 56px;
  padding: 0 12px;
}

.alt-hero__links svg {
  color: var(--red);
  fill: none;
  flex: 0 0 18px;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 18px;
}

.alt-hero__links a:hover,
.alt-hero__links a:focus-visible {
  background: var(--navy);
  color: #fff;
  outline: none;
}

.alt-hero__links a:hover svg,
.alt-hero__links a:focus-visible svg {
  color: #fff;
}

.alt-hero__side {
  align-self: center;
  display: grid;
  gap: 16px;
}

.alt-info-card {
  backdrop-filter: blur(10px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.78)),
    url("/uploads/optimized/closeup-doctor-wearing-white-coat-stethoscope-hangs-from-his-1782138568714-banner.webp") center / cover;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 24px;
  box-shadow: 0 28px 80px rgba(32, 41, 95, 0.2);
  display: grid;
  gap: 12px;
  padding: 26px;
}

.alt-info-card span {
  color: var(--red);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.alt-info-card h2 {
  color: var(--navy);
  font-size: 30px;
  line-height: 1.08;
  margin: 0;
}

.alt-info-card p {
  color: var(--muted);
  margin: 0;
}

.alt-info-card strong {
  background: rgba(240, 77, 115, 0.1);
  border: 1px solid rgba(240, 77, 115, 0.22);
  border-radius: 15px;
  color: var(--navy);
  padding: 13px 14px;
}

.alt-info-card a {
  align-items: center;
  background: var(--navy);
  border-radius: 15px;
  color: #fff;
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
}

.alt-hero__mini-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.alt-mini-card {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(32, 41, 95, 0.12);
  border-radius: 20px;
  box-shadow: 0 18px 46px rgba(32, 41, 95, 0.12);
  color: var(--navy);
  display: grid;
  gap: 3px;
  padding: 18px;
}

.alt-mini-card span {
  color: var(--red);
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}

.alt-mini-card strong {
  font-size: 15px;
}

.alt-mini-card small {
  color: var(--muted);
  font-weight: 600;
}

@media (max-width: 1024px) {
  .alt-hero__inner {
    grid-template-columns: 1fr;
  }

  .alt-hero__side {
    grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
  }

  .alt-hero__mini-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .hero-template-page {
    padding-top: 0;
  }

  .alt-hero {
    min-height: auto;
  }

  .alt-hero__media {
    background:
      linear-gradient(180deg, rgba(248, 250, 252, 0.97) 0%, rgba(248, 250, 252, 0.84) 55%, rgba(248, 250, 252, 0.72) 100%),
      linear-gradient(135deg, rgba(32, 41, 95, 0.18), rgba(240, 77, 115, 0.14)),
      url("/uploads/optimized/gemini-generated-image-b8rf97b8rf97b8rf-1781605510207-banner.webp") center / cover;
  }

  .alt-hero__inner {
    gap: 20px;
    padding: 28px 14px 34px;
  }

  .alt-hero__content {
    gap: 15px;
  }

  .alt-hero__kicker {
    font-size: 12px;
  }

  .alt-hero h1 {
    font-size: clamp(34px, 10vw, 46px);
    line-height: 1.04;
  }

  .alt-hero__content p {
    font-size: 15px;
    line-height: 1.5;
  }

  .alt-hero-search {
    border-radius: 18px;
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 9px;
  }

  .alt-hero-search button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .alt-hero__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .alt-hero__links a {
    min-height: 50px;
  }

  .alt-hero__side {
    grid-template-columns: 1fr;
  }

  .alt-info-card {
    border-radius: 20px;
    padding: 20px;
  }

  .alt-info-card h2 {
    font-size: 24px;
  }

  .alt-hero__mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.tile-hero {
  padding: clamp(18px, 3vw, 34px) max(16px, calc((100vw - 1540px) / 2)) clamp(28px, 4vw, 48px);
}

.tile-hero__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr);
  grid-template-rows: 270px 210px;
  min-height: 500px;
}

.tile-card {
  --tile-image: url("/uploads/optimized/gemini-generated-image-b8rf97b8rf97b8rf-1781605510207-banner.webp");
  background: var(--tile-image) center / cover;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(32, 41, 95, 0.14);
  color: #fff;
  display: grid;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.tile-card--main {
  --tile-image: url("/uploads/optimized/gemini-generated-image-b8rf97b8rf97b8rf-1781605510207-banner.webp");
  grid-row: 1 / span 2;
}

.tile-card--duty {
  --tile-image: url("/uploads/optimized/closeup-doctor-wearing-white-coat-stethoscope-hangs-from-his-1782138568714-banner.webp");
}

.tile-card--daily {
  --tile-image: url("/uploads/optimized/happy-businessman-standing-by-window-office-reading-text-mes-1782233234176-banner.webp");
}

.tile-card--event {
  --tile-image: url("/uploads/optimized/667445966-1663265925338302-1197500524994933570-n-1782049945257-banner.webp");
}

.tile-card__shade {
  background:
    linear-gradient(90deg, rgba(12, 18, 44, 0.78), rgba(12, 18, 44, 0.36) 58%, rgba(12, 18, 44, 0.1)),
    linear-gradient(180deg, rgba(240, 77, 115, 0.1), rgba(32, 41, 95, 0.16));
  inset: 0;
  position: absolute;
}

.tile-card--main .tile-card__shade {
  background:
    linear-gradient(90deg, rgba(12, 18, 44, 0.82), rgba(12, 18, 44, 0.5) 54%, rgba(12, 18, 44, 0.12)),
    linear-gradient(180deg, rgba(32, 41, 95, 0.04), rgba(240, 77, 115, 0.18));
}

.tile-card--duty .tile-card__shade {
  background:
    linear-gradient(90deg, rgba(248, 250, 252, 0.96), rgba(248, 250, 252, 0.76)),
    linear-gradient(180deg, rgba(32, 41, 95, 0.16), rgba(240, 77, 115, 0.18));
}

.tile-card__content {
  align-content: end;
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: clamp(22px, 3vw, 36px);
  position: relative;
  z-index: 1;
}

.tile-card--main .tile-card__content {
  align-content: end;
  max-width: 720px;
}

.tile-card--duty .tile-card__content {
  color: var(--navy);
}

.tile-kicker {
  align-items: center;
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.tile-card--duty .tile-kicker {
  color: var(--red);
}

.tile-card h1,
.tile-card h2 {
  font-family: "Poppins", Arial, Helvetica, sans-serif;
  letter-spacing: 0;
  margin: 0;
}

.tile-card h1 {
  font-size: clamp(42px, 4.7vw, 72px);
  line-height: 0.98;
  max-width: 720px;
}

.tile-card h2 {
  font-size: clamp(24px, 2.4vw, 36px);
  line-height: 1.05;
}

.tile-card p {
  color: rgba(255, 255, 255, 0.88);
  font-size: 16px;
  line-height: 1.45;
  margin: 0;
  max-width: 680px;
}

.tile-card--duty p {
  color: #66708a;
}

.tile-card strong {
  color: inherit;
}

.tile-card--duty strong {
  background: rgba(240, 77, 115, 0.1);
  border: 1px solid rgba(240, 77, 115, 0.22);
  border-radius: 13px;
  color: var(--navy);
  display: inline-flex;
  padding: 10px 12px;
}

.tile-search {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.48);
  border-radius: 18px;
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.18);
  display: grid;
  gap: 10px;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  margin-top: 6px;
  max-width: 690px;
  padding: 9px;
  position: relative;
}

.tile-search > span {
  align-items: center;
  background: #f8fafc;
  border-radius: 12px;
  color: var(--navy);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.tile-search svg,
.tile-quick-links svg {
  fill: none;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 18px;
}

.tile-search input {
  background: transparent;
  border: 0;
  color: var(--ink);
  font: inherit;
  font-weight: 600;
  min-height: 42px;
  outline: 0;
  width: 100%;
}

.tile-search button,
.tile-button {
  align-items: center;
  background: var(--navy);
  border: 0;
  border-radius: 13px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  min-height: 42px;
  padding: 0 20px;
  width: fit-content;
}

.tile-search button {
  background: linear-gradient(135deg, var(--red), var(--red-dark));
}

.tile-quick-links {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 690px;
}

.tile-quick-links a {
  align-items: center;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(255, 255, 255, 0.46);
  border-radius: 14px;
  color: var(--navy);
  display: flex;
  font-size: 13px;
  font-weight: 600;
  gap: 7px;
  justify-content: center;
  min-height: 48px;
  padding: 0 10px;
}

.tile-quick-links a svg {
  color: var(--red);
  flex: 0 0 18px;
}

.tile-quick-links a:hover,
.tile-quick-links a:focus-visible,
.tile-button:hover,
.tile-button:focus-visible {
  background: var(--red);
  color: #fff;
  outline: 0;
}

.tile-quick-links a:hover svg,
.tile-quick-links a:focus-visible svg {
  color: #fff;
}

.tile-card--daily,
.tile-card--event {
  min-height: 210px;
}

.tile-card--daily .tile-card__content,
.tile-card--event .tile-card__content {
  padding: 22px;
}

.tile-card--daily h2,
.tile-card--event h2 {
  font-size: clamp(22px, 2vw, 30px);
}

.tile-card--daily p,
.tile-card--event p {
  display: -webkit-box;
  font-size: 14px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 1180px) {
  .tile-hero__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: minmax(430px, auto) minmax(230px, auto) minmax(210px, auto);
  }

  .tile-card--main {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .tile-card--duty {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .tile-hero {
    padding: 14px;
  }

  .tile-hero__grid {
    gap: 12px;
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .tile-card {
    border-radius: 18px;
    min-height: 220px;
  }

  .tile-card--main {
    min-height: 560px;
  }

  .tile-card__content,
  .tile-card--daily .tile-card__content,
  .tile-card--event .tile-card__content {
    padding: 20px;
  }

  .tile-card h1 {
    font-size: clamp(32px, 9vw, 43px);
    line-height: 1.04;
  }

  .tile-card p {
    font-size: 14px;
  }

  .tile-search {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .tile-search button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .tile-quick-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tile-quick-links a {
    min-height: 46px;
  }
}

.tile-hero--clean {
  padding-top: clamp(18px, 2.4vw, 30px);
}

.tile-hero--clean .tile-hero__grid {
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(390px, auto) minmax(205px, auto) minmax(185px, auto);
  margin: 0 auto;
  max-width: 1180px;
  min-height: 0;
}

.tile-hero--clean .tile-card {
  border: 1px solid rgba(32, 41, 95, 0.1);
  border-radius: 18px;
  box-shadow: 0 18px 46px rgba(32, 41, 95, 0.1);
}

.tile-hero--clean .tile-card--main {
  grid-column: 1 / -1;
  grid-row: 1;
}

.tile-hero--clean .tile-card--duty {
  grid-column: 1;
  grid-row: 2;
}

.tile-hero--clean .tile-card--daily {
  grid-column: 2;
  grid-row: 2;
}

.tile-hero--clean .tile-card--event {
  grid-column: 1 / -1;
  grid-row: 3;
}

.tile-hero--clean .tile-card__shade {
  background:
    linear-gradient(90deg, rgba(10, 16, 38, 0.7), rgba(10, 16, 38, 0.26) 62%, rgba(10, 16, 38, 0.06)),
    linear-gradient(180deg, rgba(32, 41, 95, 0.08), rgba(240, 77, 115, 0.1));
}

.tile-hero--clean .tile-card--main .tile-card__shade {
  background:
    linear-gradient(90deg, rgba(10, 16, 38, 0.74), rgba(10, 16, 38, 0.44) 48%, rgba(10, 16, 38, 0.06)),
    linear-gradient(180deg, rgba(32, 41, 95, 0.05), rgba(240, 77, 115, 0.1));
}

.tile-hero--clean .tile-card--duty .tile-card__shade {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.84)),
    linear-gradient(180deg, rgba(32, 41, 95, 0.08), rgba(240, 77, 115, 0.1));
}

.tile-hero--clean .tile-card__content {
  gap: 10px;
  padding: clamp(20px, 2.8vw, 34px);
}

.tile-hero--clean .tile-card--main .tile-card__content {
  align-content: center;
  max-width: 650px;
}

.tile-hero--clean .tile-card h1 {
  font-size: clamp(38px, 4.4vw, 64px);
  line-height: 1.02;
}

.tile-hero--clean .tile-card h2 {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.12;
}

.tile-hero--clean .tile-card p {
  font-size: 15px;
  line-height: 1.45;
}

.tile-hero--clean .tile-card--daily p,
.tile-hero--clean .tile-card--event p {
  -webkit-line-clamp: 2;
}

.tile-hero--clean .tile-kicker {
  font-size: 12px;
}

.tile-hero--clean .tile-search {
  border-radius: 16px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.14);
  max-width: 580px;
}

.tile-hero--clean .tile-quick-links {
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 580px;
}

.tile-hero--clean .tile-quick-links a {
  border-radius: 13px;
  font-size: 12px;
  min-height: 44px;
}

.tile-hero--clean .tile-card--duty strong {
  font-size: 14px;
  max-width: max-content;
}

.tile-hero--clean .tile-button {
  border-radius: 12px;
  min-height: 40px;
  padding-inline: 18px;
}

.tile-hero--clean .tile-card--event .tile-card__content {
  align-content: center;
  max-width: 680px;
}

@media (max-width: 820px) {
  .tile-hero--clean {
    padding: 12px;
  }

  .tile-hero--clean .tile-hero__grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .tile-hero--clean .tile-card,
  .tile-hero--clean .tile-card--main,
  .tile-hero--clean .tile-card--duty,
  .tile-hero--clean .tile-card--daily,
  .tile-hero--clean .tile-card--event {
    grid-column: 1;
    grid-row: auto;
  }

  .tile-hero--clean .tile-card--main {
    min-height: 470px;
  }

  .tile-hero--clean .tile-card--duty,
  .tile-hero--clean .tile-card--daily,
  .tile-hero--clean .tile-card--event {
    min-height: 210px;
  }

  .tile-hero--clean .tile-card h1 {
    font-size: clamp(31px, 8.4vw, 42px);
  }

  .tile-hero--clean .tile-quick-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.tile-hero--concept {
  padding: clamp(18px, 3vw, 36px) max(16px, calc((100vw - 1260px) / 2)) clamp(28px, 4vw, 54px);
}

.tile-hero--concept .tile-hero__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(390px, auto) minmax(190px, auto) minmax(170px, auto);
  margin: 0 auto;
  max-width: 1160px;
  min-height: 0;
}

.tile-hero--concept .tile-card {
  border: 1px solid rgba(32, 41, 95, 0.1);
  border-radius: 22px;
  box-shadow: 0 22px 52px rgba(32, 41, 95, 0.1);
  min-height: 0;
}

.tile-hero--concept .tile-card--main {
  background:
    linear-gradient(90deg, rgba(248, 250, 252, 0.96) 0%, rgba(248, 250, 252, 0.91) 45%, rgba(248, 250, 252, 0.32) 100%),
    var(--tile-image) center / cover;
  grid-column: 1 / -1;
  grid-row: 1;
}

.tile-hero--concept .tile-card--duty {
  grid-column: 1;
  grid-row: 2;
}

.tile-hero--concept .tile-card--daily {
  grid-column: 2;
  grid-row: 2;
}

.tile-hero--concept .tile-card--event {
  grid-column: 1 / -1;
  grid-row: 3;
}

.tile-hero--concept .tile-card__shade {
  background:
    linear-gradient(90deg, rgba(16, 23, 54, 0.68), rgba(16, 23, 54, 0.28) 64%, rgba(16, 23, 54, 0.08)),
    linear-gradient(180deg, rgba(240, 77, 115, 0.08), rgba(32, 41, 95, 0.1));
}

.tile-hero--concept .tile-card--main .tile-card__shade {
  background:
    radial-gradient(circle at 85% 16%, rgba(255, 255, 255, 0.28), transparent 28%),
    linear-gradient(90deg, rgba(248, 250, 252, 0.98), rgba(248, 250, 252, 0.9) 49%, rgba(248, 250, 252, 0.18));
}

.tile-hero--concept .tile-card--duty .tile-card__shade {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.82)),
    linear-gradient(180deg, rgba(240, 77, 115, 0.08), rgba(32, 41, 95, 0.08));
}

.tile-hero--concept .tile-card__content {
  align-content: end;
  gap: 10px;
  padding: clamp(22px, 3vw, 38px);
}

.tile-hero--concept .tile-card--main .tile-card__content {
  align-content: center;
  color: var(--navy);
  max-width: 610px;
}

.tile-hero--concept .tile-card--duty .tile-card__content {
  color: var(--navy);
}

.tile-hero--concept .tile-kicker {
  color: var(--red);
  font-size: 12px;
  letter-spacing: 0.08em;
}

.tile-hero--concept .tile-card:not(.tile-card--main):not(.tile-card--duty) .tile-kicker {
  color: rgba(255, 255, 255, 0.9);
}

.tile-hero--concept .tile-card h1 {
  color: var(--navy);
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1;
  max-width: 600px;
}

.tile-hero--concept .tile-card h2 {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.1;
}

.tile-hero--concept .tile-card--duty h2 {
  color: var(--navy);
}

.tile-hero--concept .tile-card--main p {
  color: #46506a;
  font-size: clamp(15px, 1.35vw, 18px);
  max-width: 540px;
}

.tile-hero--concept .tile-card p {
  font-size: 14px;
  line-height: 1.45;
}

.tile-hero--concept .tile-search {
  background: #fff;
  border: 1px solid rgba(32, 41, 95, 0.12);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(32, 41, 95, 0.14);
  max-width: 570px;
}

.tile-hero--concept .tile-search > span {
  background: #f5f6fb;
}

.tile-hero--concept .tile-quick-links {
  gap: 9px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 570px;
}

.tile-hero--concept .tile-quick-links a {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(32, 41, 95, 0.11);
  border-radius: 14px;
  color: var(--navy);
  font-size: 12px;
  min-height: 46px;
}

.tile-hero--concept .tile-card--duty strong {
  background: rgba(240, 77, 115, 0.09);
  border: 1px solid rgba(240, 77, 115, 0.22);
  border-radius: 12px;
  color: var(--navy);
  font-size: 14px;
  width: fit-content;
}

.tile-hero--concept .tile-button {
  background: var(--navy);
  border-radius: 12px;
  min-height: 40px;
  padding: 0 18px;
}

.tile-hero--concept .tile-card--daily .tile-card__content,
.tile-hero--concept .tile-card--event .tile-card__content {
  max-width: 620px;
  padding: 24px;
}

.tile-hero--concept .tile-card--event .tile-card__content {
  align-content: center;
}

.tile-hero--concept .tile-card--daily p,
.tile-hero--concept .tile-card--event p {
  -webkit-line-clamp: 2;
}

@media (max-width: 900px) {
  .tile-hero--concept {
    padding: 12px;
  }

  .tile-hero--concept .tile-hero__grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .tile-hero--concept .tile-card,
  .tile-hero--concept .tile-card--main,
  .tile-hero--concept .tile-card--duty,
  .tile-hero--concept .tile-card--daily,
  .tile-hero--concept .tile-card--event {
    grid-column: 1;
    grid-row: auto;
  }

  .tile-hero--concept .tile-card--main {
    min-height: 500px;
  }

  .tile-hero--concept .tile-card--duty,
  .tile-hero--concept .tile-card--daily,
  .tile-hero--concept .tile-card--event {
    min-height: 210px;
  }

  .tile-hero--concept .tile-card h1 {
    font-size: clamp(34px, 9vw, 46px);
  }

  .tile-hero--concept .tile-quick-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .tile-hero--concept .tile-card--main {
    min-height: 560px;
  }

  .tile-hero--concept .tile-card__content {
    padding: 20px;
  }

  .tile-hero--concept .tile-search {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .tile-hero--concept .tile-search button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

.guide-hero {
  min-height: calc(100vh - var(--site-header-height, 82px) - var(--site-header-banner-gap, 18px));
  overflow: hidden;
  padding: clamp(20px, 3vw, 42px) max(16px, calc((100vw - 1320px) / 2)) clamp(30px, 4vw, 58px);
  position: relative;
}

.guide-hero__bg {
  background:
    radial-gradient(circle at 16% 12%, rgba(240, 77, 115, 0.16), transparent 26%),
    radial-gradient(circle at 86% 14%, rgba(32, 41, 95, 0.16), transparent 30%),
    linear-gradient(180deg, #f7f8fd 0%, #eef1f8 100%);
  inset: 0;
  position: absolute;
  z-index: -2;
}

.guide-hero__bg::after {
  background:
    linear-gradient(90deg, rgba(247, 248, 253, 0.94) 0%, rgba(247, 248, 253, 0.86) 50%, rgba(247, 248, 253, 0.68) 100%),
    url("/uploads/optimized/gemini-generated-image-b8rf97b8rf97b8rf-1781605510207-banner.webp") center / cover;
  border-radius: 28px;
  content: "";
  inset: clamp(20px, 3vw, 42px) max(16px, calc((100vw - 1320px) / 2));
  opacity: 0.48;
  position: absolute;
  z-index: -1;
}

.guide-hero__shell {
  align-items: stretch;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
  margin: 0 auto;
  max-width: 1320px;
  position: relative;
}

.guide-hero__copy {
  align-content: center;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(32, 41, 95, 0.12);
  display: grid;
  gap: 18px;
  min-height: 560px;
  padding: clamp(28px, 5vw, 64px);
}

.guide-hero__status {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(240, 77, 115, 0.18);
  border-radius: 999px;
  color: var(--red);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  justify-self: start;
  letter-spacing: 0.08em;
  min-height: 38px;
  padding: 0 14px;
  text-transform: uppercase;
}

.guide-hero h1 {
  color: var(--navy);
  font-size: clamp(44px, 5.6vw, 82px);
  letter-spacing: 0;
  line-height: 0.98;
  margin: 0;
  max-width: 860px;
}

.guide-hero__copy > p {
  color: #46506a;
  font-size: clamp(16px, 1.45vw, 21px);
  line-height: 1.55;
  margin: 0;
  max-width: 720px;
}

.guide-search {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(32, 41, 95, 0.1);
  border-radius: 22px;
  box-shadow: 0 22px 54px rgba(32, 41, 95, 0.14);
  display: grid;
  gap: 12px;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  margin-top: 8px;
  max-width: 820px;
  padding: 10px;
  position: relative;
}

.guide-search__icon {
  align-items: center;
  background: #f5f6fb;
  border-radius: 16px;
  color: var(--navy);
  display: inline-flex;
  height: 50px;
  justify-content: center;
  width: 50px;
}

.guide-search svg,
.guide-actions svg,
.guide-info__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.guide-search svg {
  height: 22px;
  width: 22px;
}

.guide-search input {
  background: transparent;
  border: 0;
  color: var(--ink);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  min-height: 50px;
  outline: 0;
  width: 100%;
}

.guide-search button {
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border: 0;
  border-radius: 16px;
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  min-height: 50px;
  padding: 0 28px;
}

.guide-actions {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 820px;
}

.guide-actions a {
  align-items: center;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(32, 41, 95, 0.1);
  border-radius: 16px;
  color: var(--navy);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  justify-content: center;
  min-height: 54px;
  padding: 0 12px;
}

.guide-actions svg {
  color: var(--red);
  flex: 0 0 18px;
  height: 18px;
  width: 18px;
}

.guide-actions a:hover,
.guide-actions a:focus-visible {
  background: var(--navy);
  color: #fff;
  outline: 0;
}

.guide-actions a:hover svg,
.guide-actions a:focus-visible svg {
  color: #fff;
}

.guide-today {
  align-content: start;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(32, 41, 95, 0.1);
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(32, 41, 95, 0.1);
  display: grid;
  gap: 12px;
  padding: 20px;
}

.guide-today__head {
  border-bottom: 1px solid rgba(32, 41, 95, 0.1);
  display: grid;
  gap: 4px;
  padding: 4px 4px 16px;
}

.guide-today__head span {
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.guide-today__head strong {
  color: var(--navy);
  font-size: 24px;
  line-height: 1.1;
}

.guide-info {
  align-items: start;
  background: #f8fafc;
  border: 1px solid rgba(32, 41, 95, 0.08);
  border-radius: 18px;
  color: var(--navy);
  display: grid;
  gap: 12px;
  grid-template-columns: 42px minmax(0, 1fr);
  min-height: 122px;
  padding: 14px;
}

.guide-info:hover,
.guide-info:focus-visible {
  background: #fff;
  box-shadow: 0 14px 34px rgba(32, 41, 95, 0.1);
  outline: 0;
}

.guide-info__icon {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(240, 77, 115, 0.14);
  border-radius: 14px;
  color: var(--red);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.guide-info__icon svg {
  height: 20px;
  width: 20px;
}

.guide-info small {
  color: var(--red);
  display: block;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.guide-info strong {
  display: -webkit-box;
  font-size: 16px;
  line-height: 1.25;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.guide-info em {
  color: var(--muted);
  display: -webkit-box;
  font-size: 13px;
  font-style: normal;
  line-height: 1.35;
  margin-top: 5px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 1060px) {
  .guide-hero__shell {
    grid-template-columns: 1fr;
  }

  .guide-hero__copy {
    min-height: 500px;
  }

  .guide-today {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .guide-today__head {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .guide-hero {
    padding: 12px;
  }

  .guide-hero__bg::after {
    border-radius: 0;
    inset: 0;
  }

  .guide-hero__copy,
  .guide-today {
    border-radius: 22px;
  }

  .guide-hero__copy {
    min-height: auto;
    padding: 24px;
  }

  .guide-hero h1 {
    font-size: clamp(34px, 9.2vw, 46px);
    line-height: 1.04;
  }

  .guide-hero__copy > p {
    font-size: 15px;
  }

  .guide-search {
    border-radius: 18px;
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .guide-search button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .guide-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guide-today {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .guide-info {
    min-height: 0;
  }
}

.vista-hero {
  margin: 0 auto;
  max-width: min(1540px, calc(100vw - 32px));
  min-height: 640px;
  overflow: hidden;
  position: relative;
}

.vista-hero__backdrop {
  background:
    linear-gradient(90deg, rgba(12, 19, 43, 0.9) 0%, rgba(12, 19, 43, 0.68) 42%, rgba(12, 19, 43, 0.18) 100%),
    linear-gradient(180deg, rgba(32, 41, 95, 0.06), rgba(240, 77, 115, 0.18)),
    url("/uploads/optimized/gemini-generated-image-b8rf97b8rf97b8rf-1781605510207-lcp.webp") center / cover;
  border-radius: 22px;
  inset: 0;
  position: absolute;
}

.vista-hero__backdrop::after {
  background:
    radial-gradient(circle at 90% 20%, rgba(255, 255, 255, 0.24), transparent 26%),
    linear-gradient(180deg, transparent 68%, rgba(12, 19, 43, 0.42) 100%);
  content: "";
  inset: 0;
  position: absolute;
}

.vista-hero__inner {
  display: grid;
  gap: clamp(24px, 4vw, 70px);
  grid-template-columns: minmax(0, 1fr) minmax(360px, 590px);
  min-height: inherit;
  padding: clamp(42px, 5vw, 78px);
  position: relative;
  z-index: 1;
}

.vista-hero__main {
  align-content: center;
  display: grid;
  gap: 24px;
  max-width: 890px;
}

.vista-hero__brandline {
  align-items: center;
  display: inline-flex;
  gap: 12px;
}

.vista-hero__brandline img {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 12px;
  height: 42px;
  object-fit: contain;
  padding: 6px 8px;
  width: 150px;
}

.vista-hero__brandline span {
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vista-hero__copy {
  display: grid;
  gap: 16px;
}

.vista-hero h1 {
  color: #fff;
  font-family: "Poppins", Arial, Helvetica, sans-serif;
  font-size: clamp(34px, 4vw, 64px);
  letter-spacing: 0;
  line-height: 1.02;
  margin: 0;
  max-width: 820px;
}

.vista-hero h1 span {
  color: var(--red);
  display: block;
  font-style: italic;
}

.vista-hero__copy p {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.55;
  margin: 0;
  max-width: 710px;
}

.vista-search {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 18px;
  box-shadow: 0 24px 62px rgba(0, 0, 0, 0.22);
  display: grid;
  gap: 12px;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  max-width: 900px;
  padding: 10px;
  position: relative;
}

.vista-search__icon {
  align-items: center;
  color: var(--navy);
  display: inline-flex;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.vista-search svg,
.vista-quick svg,
.vista-weather svg,
.vista-duty__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.vista-search svg {
  height: 24px;
  width: 24px;
}

.vista-search input {
  background: transparent;
  border: 0;
  color: var(--ink);
  font: inherit;
  font-size: 16px;
  min-height: 48px;
  outline: 0;
  width: 100%;
}

.vista-search button {
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border: 0;
  border-radius: 13px;
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  min-height: 48px;
  padding: 0 28px;
}

.vista-quick {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 980px;
}

.vista-quick a {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.54);
  border-radius: 18px;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
  color: var(--navy);
  display: flex;
  font-size: 15px;
  font-weight: 600;
  gap: 12px;
  min-height: 88px;
  padding: 0 18px;
}

.vista-quick a span {
  align-items: center;
  background: rgba(240, 77, 115, 0.1);
  border-radius: 999px;
  color: var(--red);
  display: inline-flex;
  flex: 0 0 48px;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.vista-quick svg {
  height: 24px;
  width: 24px;
}

.vista-quick a:hover,
.vista-quick a:focus-visible {
  background: #fff;
  transform: translateY(-2px);
}

.vista-weather {
  align-self: center;
  backdrop-filter: blur(18px);
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 22px;
  box-shadow: 0 28px 82px rgba(0, 0, 0, 0.2);
  color: #fff;
  display: grid;
  gap: 22px;
  padding: 26px;
}

.vista-weather__now {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: 104px minmax(0, 1fr);
}

.vista-weather__icon {
  color: #fff;
  display: inline-flex;
}

.vista-weather__icon svg {
  height: 100px;
  stroke-width: 1.6;
  width: 100px;
}

.vista-weather__icon circle {
  fill: var(--red);
  stroke: none;
}

.vista-weather__now strong {
  display: block;
  font-size: 58px;
  line-height: 1;
}

.vista-weather__now span {
  color: rgba(255, 255, 255, 0.84);
}

.vista-weather__days {
  border-left: 1px solid rgba(255, 255, 255, 0.28);
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  padding-left: 22px;
}

.vista-weather__days span {
  display: grid;
  gap: 5px;
}

.vista-weather__days b {
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
}

.vista-weather__days strong {
  font-size: 24px;
}

.vista-weather__foot {
  color: rgba(255, 255, 255, 0.86);
  display: flex;
  font-size: 14px;
  justify-content: space-between;
}

.vista-info-row {
  display: grid;
  gap: 16px;
  grid-template-columns: 0.9fr 0.8fr 1fr;
  margin: 22px auto 0;
  max-width: min(1420px, calc(100vw - 96px));
}

.vista-panel {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(32, 41, 95, 0.1);
  border-radius: 22px;
  box-shadow: 0 24px 62px rgba(32, 41, 95, 0.08);
  display: grid;
  gap: 18px;
  min-height: 255px;
  padding: 28px;
}

.vista-panel__label {
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vista-event-list {
  display: grid;
  gap: 14px;
}

.vista-event-list a {
  align-items: center;
  color: var(--navy);
  display: grid;
  gap: 14px;
  grid-template-columns: 68px minmax(0, 1fr);
}

.vista-event-list time {
  align-items: center;
  background: rgba(240, 77, 115, 0.09);
  border-radius: 12px;
  color: var(--red);
  display: grid;
  height: 68px;
  justify-items: center;
  padding: 8px;
}

.vista-event-list time strong {
  font-size: 26px;
  line-height: 1;
}

.vista-event-list time span,
.vista-event-list small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.vista-event-list a > span {
  min-width: 0;
}

.vista-event-list a > span strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vista-event-list small {
  display: block;
  margin-top: 4px;
}

.vista-panel__more {
  align-self: end;
  color: var(--red);
  font-weight: 600;
}

.vista-duty {
  align-items: center;
  display: grid;
  gap: 18px;
  grid-template-columns: 84px minmax(0, 1fr);
}

.vista-duty__icon {
  align-items: center;
  background: rgba(45, 172, 96, 0.12);
  border-radius: 20px;
  color: #2dac60;
  display: inline-flex;
  height: 84px;
  justify-content: center;
  width: 84px;
}

.vista-duty__icon svg {
  height: 46px;
  stroke-width: 3;
  width: 46px;
}

.vista-duty h2,
.vista-panel--discover h2 {
  color: var(--navy);
  font-size: 24px;
  line-height: 1.15;
  margin: 0;
}

.vista-duty p,
.vista-panel--discover p {
  color: var(--muted);
  line-height: 1.55;
  margin: 6px 0 0;
}

.vista-duty strong {
  background: rgba(45, 172, 96, 0.12);
  border-radius: 999px;
  color: #24864f;
  display: inline-flex;
  font-size: 13px;
  margin-top: 10px;
  padding: 6px 12px;
}

.vista-duty__actions {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vista-duty__actions a,
.vista-panel__button {
  align-items: center;
  background: #f5f6fb;
  border-radius: 12px;
  color: var(--navy);
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  min-height: 48px;
  padding: 0 16px;
}

.vista-panel__button {
  align-self: end;
  background: linear-gradient(135deg, var(--navy), #343f86);
  color: #fff;
  justify-self: start;
}

.vista-panel--discover {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.82)),
    url("/uploads/optimized/young-man-wearing-headphones-works-computer-modern-office-se-1782238286398-banner.webp") right center / cover;
}

@media (max-width: 1180px) {
  .vista-hero__inner {
    grid-template-columns: 1fr;
  }

  .vista-weather {
    align-self: stretch;
  }

  .vista-info-row {
    grid-template-columns: 1fr;
    max-width: min(1540px, calc(100vw - 32px));
  }
}

@media (max-width: 760px) {
  .vista-hero {
    max-width: calc(100vw - 20px);
    min-height: auto;
  }

  .vista-hero__backdrop {
    border-radius: 18px;
  }

  .vista-hero__inner {
    gap: 22px;
    padding: 24px 16px;
  }

  .vista-hero__brandline {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .vista-hero h1 {
    font-size: clamp(24px, 6.4vw, 31px);
    line-height: 1.12;
    max-width: none;
  }

  .vista-hero__copy p {
    font-size: 15px;
  }

  .vista-search {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .vista-search button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .vista-quick {
    grid-template-columns: 1fr;
  }

  .vista-quick a {
    min-height: 62px;
  }

  .vista-weather {
    border-radius: 18px;
    padding: 18px;
  }

  .vista-weather__now {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .vista-weather__icon svg {
    height: 72px;
    width: 72px;
  }

  .vista-weather__now strong {
    font-size: 42px;
  }

  .vista-weather__days {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.24);
    padding-left: 0;
    padding-top: 14px;
  }

  .vista-info-row {
    margin-top: 12px;
    max-width: calc(100vw - 20px);
  }

  .vista-panel {
    border-radius: 18px;
    min-height: 0;
    padding: 20px;
  }

  .vista-duty {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .vista-duty__icon {
    border-radius: 16px;
    height: 64px;
    width: 64px;
  }
}

.hero-template-page {
  max-width: none;
  width: 100%;
}

.vista-hero {
  border-radius: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
}

.vista-hero__backdrop {
  border-radius: 0;
}

.vista-hero__inner {
  grid-template-columns: 1fr;
  margin: 0 auto;
  max-width: var(--page);
}

.vista-hero__main {
  max-width: 920px;
}

.vista-search {
  max-width: 760px;
}

.vista-quick {
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 760px;
}

.vista-quick a {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(32, 41, 95, 0.14);
  border-radius: 13px;
  box-shadow: 0 10px 24px rgba(32, 41, 95, 0.08);
  color: var(--navy);
  font-size: 13px;
  justify-content: center;
  min-height: 48px;
  padding: 0 12px;
}

.vista-quick a span {
  background: transparent;
  border-radius: 0;
  color: var(--red);
  flex: 0 0 18px;
  height: 18px;
  width: 18px;
}

.vista-quick svg {
  height: 18px;
  width: 18px;
}

.vista-info-row {
  max-width: min(var(--page), calc(100vw - 32px));
}

.vista-panel--duty {
  --vista-panel-image: url("/uploads/optimized/closeup-doctor-wearing-white-coat-stethoscope-hangs-from-his-1782138568714-banner.webp");
  background:
    linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.97) 48%, rgba(255, 255, 255, 0.78) 68%, rgba(255, 255, 255, 0.38) 100%),
    var(--vista-panel-image) right center / 52% 100% no-repeat;
  overflow: hidden;
}

.vista-panel--duty .vista-duty,
.vista-panel--duty .vista-duty__actions,
.vista-panel--duty .vista-panel__more {
  max-width: 68%;
  position: relative;
  z-index: 1;
}

.vista-panel--discover {
  --vista-panel-image: url("/uploads/optimized/happy-businessman-standing-by-window-office-reading-text-mes-1782233234176-banner.webp");
  align-content: start;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.94) 54%, rgba(255, 255, 255, 0.58) 100%),
    var(--vista-panel-image) right center / 52% 100% no-repeat;
  overflow: hidden;
}

.vista-profile-mini {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: 64px minmax(0, 1fr);
  position: relative;
  z-index: 1;
}

.vista-profile-mini__logo {
  align-items: center;
  background: #fff;
  border: 3px solid #f1f4fb;
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(32, 41, 95, 0.12);
  color: var(--red);
  display: inline-flex;
  font-size: 18px;
  font-weight: 600;
  height: 64px;
  justify-content: center;
  width: 64px;
}

.vista-panel--discover h2,
.vista-panel--discover p,
.vista-panel--discover .vista-panel__button {
  max-width: 68%;
  position: relative;
  z-index: 1;
}

.vista-panel--discover p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

@media (max-width: 1180px) {
  .vista-panel--duty .vista-duty,
  .vista-panel--duty .vista-duty__actions,
  .vista-panel--duty .vista-panel__more,
  .vista-panel--discover h2,
  .vista-panel--discover p,
  .vista-panel--discover .vista-panel__button {
    max-width: 78%;
  }
}

@media (max-width: 760px) {
  .vista-hero {
    max-width: 100vw;
    width: 100vw;
  }

  .vista-hero__backdrop {
    border-radius: 0;
  }

  .vista-quick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vista-quick a {
    min-height: 48px;
  }

  .vista-panel--duty,
  .vista-panel--discover {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9)),
      var(--vista-panel-image) right top / 100% 190px no-repeat;
    padding-top: 190px;
  }

  .vista-panel--duty .vista-duty,
  .vista-panel--duty .vista-duty__actions,
  .vista-panel--duty .vista-panel__more,
  .vista-panel--discover h2,
  .vista-panel--discover p,
  .vista-panel--discover .vista-panel__button {
    max-width: none;
  }
}

.vista-info-row .vista-panel {
  gap: 10px;
  height: 190px;
  min-height: 190px;
  overflow: hidden;
  padding: 20px;
}

.vista-info-row .vista-panel__label {
  font-size: 11px;
}

.vista-info-row .vista-event-list {
  gap: 10px;
}

.vista-info-row .vista-event-list a {
  gap: 12px;
  grid-template-columns: 58px minmax(0, 1fr);
}

.vista-info-row .vista-event-list time {
  height: 58px;
  padding: 7px;
}

.vista-info-row .vista-event-list time strong {
  font-size: 22px;
}

.vista-info-row .vista-duty {
  gap: 14px;
  grid-template-columns: 68px minmax(0, 1fr);
}

.vista-info-row .vista-duty__icon {
  height: 68px;
  width: 68px;
}

.vista-info-row .vista-duty__icon svg {
  height: 36px;
  width: 36px;
}

.vista-info-row .vista-duty h2,
.vista-info-row .vista-panel--discover h2 {
  font-size: 20px;
}

.vista-info-row .vista-duty__actions a,
.vista-info-row .vista-panel__button {
  min-height: 38px;
}

.vista-info-row .vista-panel--duty {
  background:
    linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.97) 48%, rgba(255, 255, 255, 0.78) 68%, rgba(255, 255, 255, 0.38) 100%),
    var(--vista-panel-image) right center / 52% auto no-repeat;
  background-size: auto 100%, auto 118%;
}

.vista-info-row .vista-panel--discover {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.94) 54%, rgba(255, 255, 255, 0.58) 100%),
    var(--vista-panel-image) right center / auto 118% no-repeat;
}

.vista-info-row .vista-profile-mini {
  gap: 12px;
  grid-template-columns: 54px minmax(0, 1fr);
}

.vista-info-row .vista-profile-mini__logo {
  font-size: 16px;
  height: 54px;
  width: 54px;
}

.vista-info-row .vista-panel--discover p {
  -webkit-line-clamp: 2;
}

.vista-info-row .vista-panel__more {
  font-size: 13px;
}

.vista-info-row .vista-duty p,
.vista-info-row .vista-panel--discover p {
  font-size: 13px;
  line-height: 1.4;
}

.vista-info-row .vista-duty strong {
  font-size: 12px;
  margin-top: 6px;
  padding: 5px 10px;
}

.vista-info-row .vista-event-list small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vista-info-row .vista-event-list a > span strong {
  font-size: 14px;
}

@media (max-width: 760px) {
  .vista-info-row .vista-panel {
    height: auto;
    min-height: 0;
    padding: 20px;
  }

  .vista-info-row .vista-panel--discover {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9)),
      var(--vista-panel-image) center top / auto 220px no-repeat;
    padding-top: 190px;
  }

  .vista-info-row .vista-panel--duty {
    background:
      linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 58%, rgba(255, 255, 255, 0.74) 100%),
      var(--vista-panel-image) center center / cover no-repeat;
    min-height: 200px;
    padding-top: 20px;
  }
}

.vista-info-row .vista-panel {
  height: 205px;
  min-height: 205px;
  padding: 18px;
}

.vista-info-row .vista-panel--events {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.vista-info-row .vista-panel--events .vista-panel__more {
  align-self: end;
  font-size: 12px;
  line-height: 1;
}

.vista-info-row .vista-event-list {
  align-content: start;
  gap: 8px;
  min-height: 0;
  overflow: hidden;
}

.vista-info-row .vista-event-list a {
  grid-template-columns: 50px minmax(0, 1fr);
}

.vista-info-row .vista-event-list time {
  height: 50px;
}

.vista-info-row .vista-event-list time strong {
  font-size: 20px;
}

.vista-info-row .vista-event-list time span,
.vista-info-row .vista-event-list small {
  font-size: 11px;
}

.vista-info-row .vista-panel--duty .vista-duty,
.vista-info-row .vista-panel--duty .vista-duty__actions,
.vista-info-row .vista-panel--duty .vista-panel__more {
  max-width: 76%;
}

.vista-info-row .vista-panel--duty {
  position: relative;
}

.vista-duty-status {
  background: rgb(255 255 255);
  border: 1px solid rgba(240, 77, 115, 0.2);
  border-radius: 999px;
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 8px 10px;
  position: absolute;
  right: 16px;
  top: 10px;
  z-index: 2;
}

.vista-info-row .vista-duty {
  grid-template-columns: 58px minmax(0, 1fr);
}

.vista-info-row .vista-duty__icon {
  height: 58px;
  width: 58px;
}

.vista-info-row .vista-duty__icon svg {
  height: 31px;
  width: 31px;
}

.vista-info-row .vista-duty h2 {
  font-size: 19px;
}

.vista-info-row .vista-duty__actions {
  gap: 8px;
  grid-template-columns: 1fr;
}

.vista-info-row .vista-duty__actions a {
  align-items: center;
  background: transparent;
  border-radius: 0;
  color: var(--navy);
  display: inline-flex;
  font-size: 13px;
  gap: 8px;
  justify-content: flex-start;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vista-info-row .vista-duty__actions a svg {
  color: var(--red);
  flex: 0 0 16px;
  fill: none;
  height: 16px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 16px;
}

.vista-info-row .vista-panel--discover h2 {
  display: -webkit-box;
  font-size: 19px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.vista-info-row .vista-panel--discover p {
  -webkit-line-clamp: 2;
}

.vista-info-row .vista-panel--discover {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.94) 54%, rgba(255, 255, 255, 0.72) 100%),
    var(--vista-panel-image) right center / contain no-repeat;
}

.vista-info-row .vista-profile-mini {
  grid-template-columns: 48px minmax(0, 1fr);
}

.vista-info-row .vista-profile-mini__logo {
  font-size: 15px;
  height: 48px;
  width: 48px;
}

.vista-info-row .vista-panel--discover .vista-panel__button {
  font-size: 13px;
  min-height: 38px;
}

@media (max-width: 760px) {
  .vista-info-row .vista-panel {
    height: auto;
    min-height: 0;
  }

  .vista-info-row .vista-panel--duty .vista-duty,
  .vista-info-row .vista-panel--duty .vista-duty__actions,
  .vista-info-row .vista-panel--duty .vista-panel__more {
    max-width: none;
  }

  .vista-duty-status {
    left: 20px;
    right: auto;
    top: 154px;
  }
}

.vista-quick a {
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(255, 255, 255, 0.62);
  color: var(--navy);
}

.vista-quick a:hover,
.vista-quick a:focus-visible {
  background: rgba(255, 255, 255, 0.94);
  color: var(--navy);
}

.vista-quick a:hover span,
.vista-quick a:focus-visible span {
  color: var(--red);
}

.vista-info-row .vista-duty__actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vista-info-row .vista-duty__actions a {
  min-width: 0;
}

.vista-info-row .vista-panel--discover {
  align-content: stretch;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.94) 54%, rgba(255, 255, 255, 0.72) 100%), var(--vista-panel-image) right center / cover no-repeat;
  gap: 8px;
  grid-template-rows: auto minmax(38px, 1fr) auto;
  position: relative;
}

.vista-info-row .vista-panel--discover h2,
.vista-info-row .vista-panel--discover .vista-daily-actions {
  max-width: calc(100% - 34px);
  position: relative;
  z-index: 1;
}

.vista-info-row .vista-panel--discover .vista-profile-mini {
  max-width: calc(100% - 18px);
  position: relative;
  z-index: 1;
}

.vista-daily-actions {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 7px;
  justify-content: start;
  min-width: 0;
  max-width: calc(100% - 92px);
  width: fit-content;
}

.vista-daily-status {
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 2;
}

.vista-daily-status.status-open,
.vista-daily-status.status-closed,
.vista-daily-status.status-appointment {
  font-size: 12px;
  min-height: 32px;
  padding: 7px 12px;
}

.vista-daily-actions .business-category-link {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  gap: 7px;
  height: 34px;
  line-height: 1;
  margin: 0;
  min-height: 34px;
  min-width: 0;
  max-width: 220px;
  padding: 0 10px 0 0;
}

.vista-daily-categories {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: 7px;
  min-width: 0;
}

.vista-daily-categories .business-category-link {
  max-width: min(220px, 100%);
}

.vista-daily-actions .business-category-link strong {
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vista-daily-actions .vista-panel__button,
.vista-daily-actions .circle-action,
.vista-daily-actions .business-category-link {
  flex: 0 0 auto;
}

.vista-daily-actions .business-category-link > span {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--red);
  display: inline-flex;
  flex: 0 0 34px;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.vista-daily-actions .business-category-link svg {
  height: 18px;
  width: 18px;
}

.vista-daily-actions .business-category-link img {
  display: block;
  height: 18px;
  object-fit: contain;
  width: 18px;
}

.vista-daily-actions .business-category-link,
.vista-daily-actions .circle-action,
.vista-daily-actions .vista-panel__button {
  align-self: center;
}

.vista-daily-actions {
  margin-top: auto;
}

.vista-daily-actions .vista-panel__button {
  font-size: 12px;
  height: 34px;
  min-height: 34px;
  min-width: 102px;
  padding: 0 16px;
  white-space: nowrap;
}

.vista-daily-actions .circle-action {
  flex: 0 0 34px;
  height: 34px;
  min-height: 34px;
  width: 34px;
}

.vista-daily-actions .circle-action:hover {
  color: var(--red);
  transform: none;
}

.vista-daily-actions .circle-action.is-hidden {
  display: none;
}

.vista-info-row .vista-panel--discover p {
  align-self: start;
  display: -webkit-box;
  font-size: 13px;
  line-height: 1.42;
  margin: 6px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.vista-info-row .vista-panel--discover.has-long-title p {
  -webkit-line-clamp: 2;
}

.vista-info-row .vista-panel--discover h2 {
  font-size: 18px;
  line-height: 1.1;
  margin-top: 10px;
  max-width: calc(100% - 86px);
}

.vista-info-row .vista-panel--discover .vista-profile-mini p {
  max-width: calc(100% - 12px);
}

.vista-info-row .vista-panel--discover .vista-profile-mini {
  align-items: start;
  gap: 14px;
  grid-template-columns: 58px minmax(0, 1fr);
}

.vista-info-row .vista-panel--discover .vista-profile-mini__logo {
  height: 58px;
  overflow: hidden;
  width: 58px;
}

.vista-info-row .vista-panel--discover .vista-profile-mini__logo img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.hero-template-page {
  gap: 55px;
  padding-top: 0;
}

.vista-info-row {
  margin-top: 0;
}

.hero-template-page .vista-hero {
  overflow: visible;
  z-index: 20;
}

.hero-template-page .vista-hero__main,
.hero-template-page .hero-search {
  position: relative;
  z-index: 30;
}

.hero-template-page .hero-search .search-suggest-panel {
  max-height: min(360px, calc(100vh - 180px));
  z-index: 1000;
}

.hero-template-page .vista-info-row {
  position: relative;
  z-index: 1;
}

@media (max-width: 760px) {
  .vista-info-row .vista-panel--discover h2,
  .vista-info-row .vista-panel--discover p,
  .vista-info-row .vista-panel--discover .vista-daily-actions {
    max-width: none;
  }

  .vista-daily-status {
    left: 20px;
    right: auto;
    top: 154px;
  }

  .vista-daily-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
}

@media (max-width: 1180px) {
  .vista-duty-status,
  .vista-daily-status {
    left: auto;
    right: 16px;
    top: 16px;
  }
}

@media (max-width: 520px) {
  .vista-duty-status,
  .vista-daily-status {
    font-size: 11px;
    max-width: calc(100% - 32px);
    padding: 7px 9px;
    white-space: nowrap;
  }
}

@media (max-width: 760px) {
  .vista-info-row .vista-panel__label,
  .vista-panel--duty > .vista-panel__label {
    font-size: 11px;
    letter-spacing: 0.08em;
    line-height: 1.15;
    max-width: calc(100% - 172px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vista-duty-status {
    font-size: 10px;
    max-width: 164px;
    padding: 7px 8px;
  }

  .business-media .status-open,
  .business-media .status-closed,
  .business-media .status-appointment,
  .business-image-label {
    font-size: 12px;
    max-width: calc(50% - 16px);
    min-height: 30px;
    overflow: hidden;
    padding: 6px 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .business-media .status-open,
  .business-media .status-closed,
  .business-media .status-appointment {
    left: 10px;
    top: 10px;
  }

  .business-image-label {
    right: 10px;
    top: 10px;
  }

  .business-media .status-appointment {
    max-width: calc(100% - 20px);
  }

  .business-media .status-appointment ~ .business-image-label {
    max-width: calc(100% - 20px);
    top: 46px;
  }
}

@media (max-width: 420px) {
  .vista-panel--duty > .vista-panel__label {
    font-size: 11px;
    max-width: calc(100% - 150px);
  }

  .vista-duty-status {
    font-size: 9px;
    max-width: 144px;
    padding: 6px 7px;
  }

  .business-media .status-open,
  .business-media .status-closed,
  .business-media .status-appointment,
  .business-image-label {
    font-size: 11px;
  }
}

/* Loading stability */
.skeleton-card {
  --skeleton-base: #f3f5fb;
  --skeleton-shine: #ffffff;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.76) 46%, transparent 72%) -180% 0 / 220% 100% no-repeat,
    var(--skeleton-base);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 18px 50px rgba(32, 41, 95, 0.06);
  min-height: 386px;
  overflow: hidden;
  position: relative;
  animation: skeleton-shimmer 1.45s ease-in-out infinite;
}

.skeleton-card::before,
.skeleton-card::after {
  content: "";
  display: block;
  position: absolute;
}

.skeleton-card::before {
  background: linear-gradient(135deg, #dfe5f1, #f8f9fc);
  height: 128px;
  inset: 0 0 auto;
}

.skeleton-card::after {
  background:
    linear-gradient(#dfe5f1, #dfe5f1) 0 0 / 64% 18px no-repeat,
    linear-gradient(#e8ecf4, #e8ecf4) 0 34px / 84% 12px no-repeat,
    linear-gradient(#e8ecf4, #e8ecf4) 0 54px / 58% 12px no-repeat,
    linear-gradient(#e8ecf4, #e8ecf4) 0 98px / 44% 12px no-repeat,
    linear-gradient(#e8ecf4, #e8ecf4) 0 128px / 70% 12px no-repeat,
    linear-gradient(#e8ecf4, #e8ecf4) 0 174px / 52% 34px no-repeat;
  inset: 154px 18px 18px;
}

.skeleton-event-card {
  min-height: 250px;
}

.skeleton-event-card::before {
  height: 118px;
}

.skeleton-event-card::after {
  inset: 144px 18px 18px;
}

.skeleton-wide-card {
  min-height: 180px;
}

.skeleton-wide-card::before {
  height: 100%;
  width: 34%;
}

.skeleton-wide-card::after {
  inset: 34px 24px 24px calc(34% + 24px);
}

.skeleton-clinic-card {
  min-height: 420px;
}

.single-event-skeleton {
  display: grid;
  gap: 24px;
}

.single-event-skeleton__crumb,
.single-event-skeleton__hero,
.single-event-skeleton__main,
.single-event-skeleton__side {
  --skeleton-base: #f3f5fb;
  --skeleton-shine: #ffffff;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.76) 46%, transparent 72%) -180% 0 / 220% 100% no-repeat,
    var(--skeleton-base);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  animation: skeleton-shimmer 1.45s ease-in-out infinite;
}

.single-event-skeleton__crumb {
  height: 24px;
  max-width: 360px;
}

.single-event-skeleton__hero {
  min-height: 360px;
}

.single-event-skeleton__grid {
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.7fr);
}

.single-event-skeleton__main {
  min-height: 560px;
}

.single-event-skeleton__side {
  min-height: 360px;
}

#businessList,
#featuredPlaces,
#institutionList,
#eventList,
#cinemaDays,
#hospitalList,
#pharmacyList,
#exploreBusinessList,
#listingMount,
#singleEvent {
  min-height: 180px;
}

#businessList,
#featuredPlaces,
#institutionList,
#eventList,
#cinemaDays,
#hospitalList,
#pharmacyList,
#exploreBusinessList,
#listingMount,
#singleEvent,
.content-panel,
.explore-results {
  content-visibility: auto;
  contain-intrinsic-size: auto 520px;
}

/* Layout shift guards */
.brand-logo,
.mobile-header-brand img,
.brand--footer .brand-logo {
  aspect-ratio: 190 / 48;
}

.search-suggest-thumb,
.business-logo,
.category-icon,
.meta-icon,
.circle-action,
.event-date,
.kalo-icon {
  flex: 0 0 auto;
}

.business-media,
.category-business-image,
.event-media,
.cinema-poster,
.event-cover-band,
.single-inline-image,
.single-map,
.google-map-shell iframe,
.privacy-document iframe {
  background: #eef1f8;
}

.event-media,
.event-cover-band {
  aspect-ratio: 16 / 7;
  overflow: hidden;
}

.event-media img,
.event-cover-band img,
.cinema-poster img,
.place-card img,
.category-business-image img {
  height: 100%;
}

.single-map,
.google-map-shell iframe {
  aspect-ratio: 16 / 10;
  min-height: 320px;
}

.site-footer {
  min-height: 360px;
}

.directory-page-hero,
.categories-page-hero,
.health-page-hero,
.explore-hero {
  contain: layout paint;
}

.hero-template-page > .content-panel,
.hero-template-page > .events-card,
.hero-template-page > .map-panel,
.hero-template-page > .hospital-section,
.hero-template-page > .pharmacy-section,
.hero-template-page > .cinema-section {
  content-visibility: auto;
  contain-intrinsic-size: auto 680px;
}

.explore-page-shell > .explore-hero,
.categories-page-shell > .explore-hero,
.directory-page-shell > .directory-page-hero,
.health-page-shell > .directory-page-hero,
.health-page-shell > .health-page-hero,
.health-page-shell .content-panel > .kalo-header-block,
.terms-hero,
.imprint-hero {
  align-content: end;
  align-items: end;
  border-bottom: 0;
  border-radius: var(--radius);
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.6fr);
  margin: 0;
  height: 175px;
  min-height: 175px;
  overflow: hidden;
  padding: 34px;
  place-content: initial;
  position: relative;
}

@media (max-width: 900px) {
  .explore-page-shell > .explore-hero,
  .categories-page-shell > .explore-hero,
  .directory-page-shell > .directory-page-hero,
  .health-page-shell > .directory-page-hero,
  .health-page-shell > .health-page-hero,
  .health-page-shell .content-panel > .kalo-header-block,
  .terms-hero,
  .imprint-hero {
    gap: 0;
    grid-template-columns: 1fr;
    height: auto;
    min-height: 148px;
    padding: 22px;
  }

  .explore-page-shell > .explore-hero::before,
  .categories-page-shell > .explore-hero::before,
  .directory-page-shell > .directory-page-hero--kalo::before,
  .health-page-shell > .directory-page-hero--kalo::before,
  .health-page-shell .content-panel > .kalo-header-block::before,
  .terms-hero::before,
  .imprint-hero::before {
    height: calc(100% - 44px);
    top: 22px;
  }

  .explore-page-shell > .explore-hero .eyebrow,
  .categories-page-shell > .explore-hero .kalo-header-kicker,
  .directory-page-shell > .directory-page-hero .kalo-header-kicker,
  .health-page-shell > .directory-page-hero .kalo-header-kicker,
  .health-page-shell .content-panel > .kalo-header-block .kalo-header-kicker,
  .terms-hero .kalo-header-kicker,
  .imprint-hero .kalo-header-kicker {
    font-size: 11px;
    margin-bottom: 8px;
  }

  .explore-page-shell > .explore-hero h1,
  .categories-page-shell > .explore-hero h1,
  .directory-page-shell > .directory-page-hero h1,
  .health-page-shell > .directory-page-hero h1,
  .health-page-shell > .health-page-hero h1,
  .health-page-shell .content-panel > .kalo-header-block .kalo-header-title,
  .terms-hero h1,
  .imprint-hero h1 {
    font-size: 28px;
    line-height: 1.08;
    margin-bottom: 8px;
    max-width: 100%;
  }

  .explore-page-shell > .explore-hero p:not(.eyebrow),
  .categories-page-shell > .explore-hero p:not(.eyebrow),
  .directory-page-shell > .directory-page-hero p:not(.eyebrow),
  .health-page-shell > .directory-page-hero p:not(.eyebrow),
  .health-page-shell > .health-page-hero p:not(.eyebrow),
  .health-page-shell .content-panel > .kalo-header-block .kalo-header-desc,
  .terms-hero > p:not(.eyebrow),
  .imprint-hero > p:not(.eyebrow) {
    font-size: 13px;
    line-height: 1.45;
    max-width: 100%;
  }
}

@media (max-width: 560px) {
  .explore-page-shell > .explore-hero,
  .categories-page-shell > .explore-hero,
  .directory-page-shell > .directory-page-hero,
  .health-page-shell > .directory-page-hero,
  .health-page-shell > .health-page-hero,
  .health-page-shell .content-panel > .kalo-header-block,
  .terms-hero,
  .imprint-hero {
    border-radius: 14px;
    min-height: 128px;
    padding: 18px 18px 18px 22px;
  }

  .explore-page-shell > .explore-hero h1,
  .categories-page-shell > .explore-hero h1,
  .directory-page-shell > .directory-page-hero h1,
  .health-page-shell > .directory-page-hero h1,
  .health-page-shell > .health-page-hero h1,
  .health-page-shell .content-panel > .kalo-header-block .kalo-header-title,
  .terms-hero h1,
  .imprint-hero h1 {
    font-size: 28px;
  }

  .explore-page-shell > .explore-hero p:not(.eyebrow),
  .categories-page-shell > .explore-hero p:not(.eyebrow),
  .directory-page-shell > .directory-page-hero p:not(.eyebrow),
  .health-page-shell > .directory-page-hero p:not(.eyebrow),
  .health-page-shell > .health-page-hero p:not(.eyebrow),
  .health-page-shell .content-panel > .kalo-header-block .kalo-header-desc,
  .terms-hero > p:not(.eyebrow),
  .imprint-hero > p:not(.eyebrow) {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}

.explore-page-shell > .explore-hero::before,
.categories-page-shell > .explore-hero::before,
.directory-page-shell > .directory-page-hero--kalo::before,
.health-page-shell > .directory-page-hero--kalo::before,
.health-page-shell .content-panel > .kalo-header-block::before,
.terms-hero::before,
.imprint-hero::before {
  height: calc(100% - 64px);
  top: 32px;
}

.explore-page-shell > .explore-hero .kalo-header-copy,
.categories-page-shell > .explore-hero .kalo-header-copy,
.directory-page-shell > .directory-page-hero .kalo-header-copy,
.health-page-shell > .directory-page-hero .kalo-header-copy,
.health-page-shell .content-panel > .kalo-header-block .kalo-header-copy,
.terms-hero .kalo-header-copy,
.imprint-hero .kalo-header-copy {
  gap: 0;
}

.explore-page-shell > .explore-hero .eyebrow,
.categories-page-shell > .explore-hero .kalo-header-kicker,
.directory-page-shell > .directory-page-hero .kalo-header-kicker,
.health-page-shell > .directory-page-hero .kalo-header-kicker,
.health-page-shell .content-panel > .kalo-header-block .kalo-header-kicker,
.terms-hero .kalo-header-kicker,
.imprint-hero .kalo-header-kicker {
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0 0 12px;
}

.explore-page-shell > .explore-hero h1,
.categories-page-shell > .explore-hero h1,
.directory-page-shell > .directory-page-hero h1,
.health-page-shell > .directory-page-hero h1,
.health-page-shell > .health-page-hero h1,
.health-page-shell .content-panel > .kalo-header-block .kalo-header-title,
.terms-hero h1,
.imprint-hero h1 {
  color: #fff;
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0 0 12px;
  max-width: 860px;
}

.explore-page-shell > .explore-hero p:not(.eyebrow),
.categories-page-shell > .explore-hero p:not(.eyebrow),
.directory-page-shell > .directory-page-hero p:not(.eyebrow),
.health-page-shell > .directory-page-hero p:not(.eyebrow),
.health-page-shell > .health-page-hero p:not(.eyebrow),
.health-page-shell .content-panel > .kalo-header-block .kalo-header-desc,
.terms-hero > p:not(.eyebrow),
.imprint-hero > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.92);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  margin: 0;
  max-width: 720px;
}

.status-open,
.status-closed,
.status-appointment,
.business-media .status-open,
.business-media .status-closed,
.business-media .status-appointment,
.business-image-label {
  font-weight: 500;
}

.business-card h3,
#eventList .event-card h3 {
  font-weight: 600;
}

.business-category-link {
  font-weight: 600;
}

.business-intro {
  font-size: 13px;
}

.kalo-header-title,
.directory-page-hero--kalo .kalo-header-title,
.health-page-shell .content-panel > .kalo-header-block .kalo-header-title {
  font-weight: 600;
}

.popular-searches button,
.tabs button,
.map-tabs button {
  font-weight: 500;
}

/* Global type hierarchy: 400 body, 500 controls, 600 emphasis/headings. */
body,
p,
li,
input,
select,
textarea,
.business-intro,
.kalo-header-desc,
.directory-page-hero p,
.explore-hero p,
.health-page-hero p,
.single-description,
.event-description {
  font-weight: 400;
}

button,
label,
nav a,
.eyebrow,
.kalo-header-kicker,
.status-open,
.status-closed,
.status-appointment,
.business-image-label,
.popular-searches button,
.tabs button,
.map-tabs button,
.circle-action,
.meta-row,
.explore-field,
.explore-check,
.explore-sort {
  font-weight: 500;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b,
.kalo-header-title,
.hero-title,
.section-head h2,
.business-card h3,
.business-category-link,
.event-card h3,
#eventList .event-card h3,
.vista-panel__label,
.vista-panel h2,
.vista-info-row h2,
.profile-title,
.single-title,
.explore-result-bar h2 {
  font-weight: 600;
}

@media (max-width: 1024px) {
  body:not(.admin-dashboard-page) .explore-page-shell > .explore-hero h1,
  body:not(.admin-dashboard-page) .categories-page-shell > .explore-hero h1,
  body:not(.admin-dashboard-page) .directory-page-shell > .directory-page-hero h1,
  body:not(.admin-dashboard-page) .health-page-shell > .directory-page-hero h1,
  body:not(.admin-dashboard-page) .health-page-shell > .health-page-hero h1,
  body:not(.admin-dashboard-page) .health-page-shell .content-panel > .kalo-header-block .kalo-header-title,
  body:not(.admin-dashboard-page) .terms-hero h1,
  body:not(.admin-dashboard-page) .imprint-hero h1,
  body:not(.admin-dashboard-page) .kalo-header-block .kalo-header-title {
    font-size: 28px;
  }
}

#exploreBusinessList,
#listingMount {
  align-items: stretch;
}

#exploreBusinessList:empty,
#listingMount:empty,
#businessList:empty,
#featuredPlaces:empty,
#institutionList:empty,
#eventList:empty,
#pharmacyList:empty,
#hospitalList:empty {
  min-height: 420px;
}

@keyframes skeleton-shimmer {
  100% {
    background-position: 180% 0, 0 0;
  }
}

@media (max-width: 760px) {
  .skeleton-card {
    min-height: 360px;
  }

  .skeleton-wide-card,
  .skeleton-event-card {
    min-height: 210px;
  }

  .skeleton-clinic-card {
    min-height: 480px;
  }

  .single-event-skeleton__grid {
    grid-template-columns: 1fr;
  }

  .single-event-skeleton__hero {
    min-height: 300px;
  }

  .single-event-skeleton__main {
    min-height: 460px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .skeleton-card,
  .single-event-skeleton__crumb,
  .single-event-skeleton__hero,
  .single-event-skeleton__main,
  .single-event-skeleton__side {
    animation: none;
  }
}

.admin-maintenance-panel {
  border-color: rgba(240, 77, 115, 0.22);
}

.admin-maintenance-panel .admin-panel-head {
  align-items: flex-start;
}

.admin-status-badge {
  border-radius: 999px;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  padding: 10px 14px;
  white-space: nowrap;
}

.admin-status-badge.is-valid {
  background: rgba(67, 181, 95, 0.1);
  color: #2f9d4d;
}

.admin-status-badge.is-missing {
  background: rgba(240, 77, 115, 0.1);
  color: var(--red);
}

.admin-maintenance-toggle {
  background: rgba(240, 77, 115, 0.06);
  border: 1px solid rgba(240, 77, 115, 0.16);
  border-radius: var(--radius);
  padding: 14px 16px;
}

