/* TeslaMagz Superchargers
 * Minimal, built on the theme's own colour variables (--cs-*) so it follows light/dark mode and
 * any palette change. The map keeps its own colours.
 */

/* ---------------------------------------------------------------- tokens
 * Declared on the component roots (not :root) so they resolve inside the theme's
 * data-scheme="light|dark" element. */
.tmsc-single, .tmsc-hub, .tmsc-home, .tmsc-app, .tmsc-embed, .tmsc-embed-list, .tmsc-report-note, .tmsc-finder {
  --tmsc-border: var(--cs-color-border, rgba(127,127,127,.3));
  --tmsc-muted: var(--cs-color-secondary, rgba(127,127,127,.95));
  --tmsc-surface: var(--cs-color-tag-background, rgba(127,127,127,.08));
  --tmsc-surface-2: var(--cs-color-button-secondary, rgba(127,127,127,.18));
  --tmsc-btn-bg: var(--cs-color-button, #1d1d1f);
  --tmsc-btn-fg: var(--cs-color-button-contrast, #fff);
  --tmsc-accent: var(--cs-color-accent, #4b92fc);
  --tmsc-radius: 8px;
  --tmsc-pill: var(--cs-button-border-radius, 26px);
  --tmsc-tag: var(--cs-badge-border-radius, 3px);
}

/* ---------------------------------------------------------------- basics */
.tmsc-wrap { max-width: 1100px; margin: 0 auto; padding: 24px 16px 48px; }
.tmsc-lead { font-size: 1.05em; line-height: 1.65; margin: 0 0 20px; }
.tmsc-meta { display: block; font-size: .875em; color: var(--tmsc-muted); }
.tmsc-meta-inline { color: var(--tmsc-muted); font-size: .85em; white-space: nowrap; }
.tmsc-credit { font-size: .8125em; color: var(--tmsc-muted); margin-top: 40px; line-height: 1.6; }
.tmsc-crumbs { font-size: .875em; color: var(--tmsc-muted); margin-bottom: 14px; }
.tmsc-nowrap { white-space: nowrap; }
.tmsc-error { padding: 12px; }
.tmsc-ico { display: block; margin: 0 auto 6px; color: var(--tmsc-muted); }

.tmsc-block { margin: 40px 0; }
.tmsc-h2, .tmsc-single h2, .tmsc-hub h2 { font-size: 1.35rem; line-height: 1.25; margin: 0 0 14px; }
.tmsc-single h2, .tmsc-hub h2 { margin-top: 2em; }

:where(.tmsc-single, .tmsc-hub, .tmsc-home, .tmsc-embed) :focus-visible { outline: 2px solid var(--tmsc-accent); outline-offset: 2px; }

/* ---------------------------------------------------------------- buttons, chips, badges */
.tmsc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 22px; border: 1px solid transparent;
  border-radius: var(--tmsc-pill); font: inherit; font-size: 15px; font-weight: 700; line-height: 1.2; text-align: center;
  text-decoration: none !important; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.tmsc-btn.tmsc-btn--primary { background: var(--tmsc-btn-bg); color: var(--tmsc-btn-fg); }
.tmsc-btn.tmsc-btn--primary:hover, .tmsc-btn.tmsc-btn--primary:focus-visible { background: var(--cs-color-button-hover, var(--tmsc-accent)); color: var(--cs-color-button-hover-contrast, #fff); }
.tmsc-btn.tmsc-btn--ghost { background: transparent; color: inherit; border-color: var(--tmsc-border); }
.tmsc-btn.tmsc-btn--ghost:hover, .tmsc-btn.tmsc-btn--ghost:focus-visible { background: var(--tmsc-surface-2); }
.tmsc-btn:disabled { opacity: .55; cursor: default; }

.tmsc-chip { display: inline-block; padding: 6px 14px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-pill); background: transparent;
  color: inherit; font: inherit; font-size: 13px; font-weight: 600; line-height: 1.3; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.tmsc-chip:hover { background: var(--tmsc-surface-2); }
.tmsc-chip[aria-pressed=true] { background: var(--tmsc-btn-bg); border-color: var(--tmsc-btn-bg); color: var(--tmsc-btn-fg); }

/* One quiet badge style; non-open states are outlined instead of coloured. */
.tmsc-status, .tmsc-badge { display: inline-block; padding: 2px 8px; border-radius: var(--tmsc-tag); background: var(--tmsc-surface-2);
  font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; line-height: 1.5; white-space: nowrap; }
.tmsc-status--planned, .tmsc-status--unavailable, .tmsc-status--unconfirmed { background: transparent; box-shadow: inset 0 0 0 1px var(--tmsc-border); }
.tmsc-badge { width: 76px; text-align: center; box-sizing: border-box; flex: none; }

.tmsc-pill { display: inline-block; padding: 2px 10px; border-radius: var(--tmsc-pill); background: var(--tmsc-surface-2); font-size: 12px; font-weight: 600; white-space: nowrap; }
.tmsc-pill--muted { background: transparent; box-shadow: inset 0 0 0 1px var(--tmsc-border); color: var(--tmsc-muted); }

/* ---------------------------------------------------------------- map */
.tmsc-map { width: 100%; min-height: 240px; border-radius: var(--tmsc-radius); background: var(--tmsc-surface); margin: 12px 0 20px; position: relative; z-index: 0; }
.tmsc-popup { min-width: 150px; }
.tmsc-popup a { color: #1d1d1f !important; font-weight: 700; text-decoration: none; }
.tmsc-popup .tmsc-meta { color: #616162; }
.tmsc-popup-links { display: flex; gap: 14px; margin-top: 8px; font-size: .9em; }
.tmsc-popup-links a { font-weight: 600; text-decoration: underline; }
/* Clusters in the map's own colour */
.marker-cluster-small, .marker-cluster-medium, .marker-cluster-large { background-color: rgba(227,25,55,.28); }
.marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div { background-color: rgba(227,25,55,.82); color: #fff; font-weight: 700; }
.marker-cluster-medium { background-color: rgba(227,25,55,.34); }
.marker-cluster-large { background-color: rgba(227,25,55,.42); }
.tmsc-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; margin: 8px 0 0; font-size: .75em; color: var(--tmsc-muted); }
.tmsc-legend em { flex-basis: 100%; font-style: normal; }
.tmsc-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 5px; vertical-align: -1px; }
.tmsc-dot--o { background: #e31937; } .tmsc-dot--p { background: #6b7280; } .tmsc-dot--t { background: #f59e0b; }

/* ---------------------------------------------------------------- map app (search, filters, results) */
.tmsc-app { box-sizing: border-box; display: grid; gap: 12px 16px; margin: 12px 0 28px; padding: 14px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius);
  background: var(--tmsc-surface); grid-template-columns: minmax(300px, 380px) 1fr; grid-template-rows: auto minmax(0, 1fr);
  grid-template-areas: "search map" "results map"; height: var(--tmsc-h, 640px); }
.tmsc-app .tmsc-map { grid-area: map; height: 100% !important; margin: 0; }
.tmsc-searchbox { grid-area: search; }
.tmsc-results-wrap { grid-area: results; overflow-y: auto; min-height: 0; padding-right: 2px; }
.tmsc-searchform { display: flex; gap: 8px; }
.tmsc-searchform input[type=search] { flex: 1 1 auto; min-width: 0; padding: 11px 14px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-pill);
  background: var(--cs-color-input, transparent); color: inherit; font: inherit; font-size: 16px; }
.tmsc-searchform .tmsc-btn { padding: 11px 20px; }
.tmsc-actions-row { display: flex; align-items: center; gap: 8px; margin: 10px 0 8px; flex-wrap: wrap; }
.tmsc-actions-row .tmsc-btn { padding: 7px 14px; font-size: 13px; }
.tmsc-search-status { font-size: .8em; color: var(--tmsc-muted); }
.tmsc-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.tmsc-results-meta { margin: 10px 0 8px; font-size: .85em; color: var(--tmsc-muted); }
.tmsc-results { list-style: none; margin: 0; padding: 0; }
.tmsc-result { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: start; margin-bottom: 8px; padding: 10px 12px;
  border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius); background: transparent; transition: border-color .15s; }
.tmsc-result:hover { border-color: var(--tmsc-accent); }
.tmsc-r-head { grid-column: 1 / 2; }
.tmsc-r-title { font-weight: 700; line-height: 1.3; }
.tmsc-r-meta { grid-column: 1 / 2; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: .85em; }
.tmsc-r-dist { color: var(--tmsc-muted); margin-right: 2px; }
.tmsc-r-show { grid-column: 2 / 3; grid-row: 1 / 3; padding: 6px 12px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-pill); background: transparent; color: inherit; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.tmsc-r-show:hover { background: var(--tmsc-surface-2); }
.tmsc-more-results { width: 100%; margin: 4px 0 8px; }

.tmsc-app--full { position: fixed; inset: 0; z-index: 100000; height: 100vh !important; margin: 0; border: 0; border-radius: 0; padding: 12px; background: var(--tmsc-bg, #fff); color: var(--tmsc-fg, inherit); }
html.tmsc-noscroll { overflow: hidden; }

/* ---------------------------------------------------------------- tiles (key facts, hero numbers) */
.tmsc-tiles { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tmsc-tiles li { flex: 1 1 128px; }
.tmsc-tiles li { padding: 12px 8px; text-align: center; border-radius: var(--tmsc-radius); background: transparent; border: 1px solid var(--tmsc-border); }
.tmsc-tiles strong { display: block; font-size: 1.2em; line-height: 1.2; overflow-wrap: anywhere; }
.tmsc-tiles span { display: block; margin-top: 2px; font-size: .78em; color: var(--tmsc-muted); }
.tmsc-hint { display: block; margin-top: 2px; font-style: normal; font-size: .72em; color: var(--tmsc-muted); }
.tmsc-tiles--hub { margin-bottom: 20px; }

/* ---------------------------------------------------------------- charger page */
.tmsc-card { margin: 0 0 18px; padding: 16px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius); background: var(--tmsc-surface); }
.tmsc-card-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 14px; }
.tmsc-fresh { font-size: .8125em; color: var(--tmsc-muted); }
.tmsc-address { margin: 0 0 14px; font-size: .95em; color: var(--tmsc-muted); }
.tmsc-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.tmsc-card .tmsc-actions .tmsc-btn--primary { flex: 1 1 150px; }
.tmsc-alt-dirs { margin: -8px 0 20px; font-size: .875em; color: var(--tmsc-muted); }

.tmsc-facts { width: 100%; border-collapse: collapse; margin: 0 0 8px; }
.tmsc-facts th, .tmsc-facts td { padding: 11px 4px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--tmsc-border); font-size: 1em; line-height: 1.5; text-transform: none; letter-spacing: 0; }
.tmsc-facts th { width: 38%; font-weight: 600; color: var(--tmsc-muted); }

.tmsc-fac-note { margin: -6px 0 14px; }
.tmsc-fac-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; margin-bottom: 8px; }
.tmsc-fac-card { padding: 14px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius); background: var(--tmsc-surface); }
.tmsc-fac-card h3 { margin: 0 0 8px; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--tmsc-muted); }
.tmsc-fac-card ul { list-style: none; margin: 0; padding: 0; }
.tmsc-fac-card li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px solid var(--tmsc-border); font-size: .94em; }
.tmsc-fac-card li:first-child { border-top: 0; padding-top: 0; }

.tmsc-list, .tmsc-cards { list-style: none; margin: 0 0 20px; padding: 0; }
.tmsc-list li, .tmsc-cards li { padding: 12px 0; border-bottom: 1px solid var(--tmsc-border); }
.tmsc-list li a, .tmsc-cards li a, .tmsc-rows a, .tmsc-minis a, .tmsc-changes a { font-size: .97em; font-weight: 600; }

.tmsc-near-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 6px; }
.tmsc-more { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }

.tmsc-faq details { padding: 12px 0; border-bottom: 1px solid var(--tmsc-border); }
.tmsc-faq summary { cursor: pointer; font-weight: 700; }
.tmsc-faq p { margin: 10px 0 0; line-height: 1.65; color: var(--tmsc-muted); }

.tmsc-report { margin: 28px 0 0; font-size: .9em; color: var(--tmsc-muted); }
.tmsc-report-note { padding: 12px 16px; margin: 0 0 20px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius); background: var(--tmsc-surface); }

/* ---------------------------------------------------------------- hub pages */
.tmsc-chips { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tmsc-chips a { display: inline-block; padding: 6px 14px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-pill); font-size: .9em; text-decoration: none; }
.tmsc-chips a:hover { background: var(--tmsc-surface-2); }
.tmsc-chips a span { color: var(--tmsc-muted); }
.tmsc-places, .tmsc-countries { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tmsc-places { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.tmsc-countries { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.tmsc-card-link { display: block; padding: 14px 16px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius); background: var(--tmsc-surface); text-decoration: none; transition: border-color .15s; }
.tmsc-card-link:hover, .tmsc-card-link:focus-visible { border-color: var(--tmsc-accent); }
.tmsc-places strong { display: block; }
.tmsc-places span { font-size: .85em; color: var(--tmsc-muted); }
.tmsc-countries .tmsc-card-link { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.tmsc-countries-name { font-weight: 700; }
.tmsc-countries-count { color: var(--tmsc-muted); font-variant-numeric: tabular-nums; }

.tmsc-list--cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.tmsc-list--cards li { padding: 14px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius); background: var(--tmsc-surface); }

.tmsc-rows { list-style: none; margin: 0 0 20px; padding: 0; }
.tmsc-rows li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 12px; padding: 12px 0; border-bottom: 1px solid var(--tmsc-border); }
.tmsc-rows .tmsc-card-title { font-weight: 600; flex: 1 1 260px; }
.tmsc-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }

/* ---------------------------------------------------------------- main page */
.tmsc-hero { margin: 0 0 22px; padding: 4px 0 0; }
.tmsc-stats { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.tmsc-stats li { padding: 18px 8px; text-align: center; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius); background: var(--tmsc-surface); }
.tmsc-stats strong { display: block; font-size: clamp(1.7rem, 4.4vw, 2.5rem); font-weight: 800; line-height: 1.05; font-variant-numeric: tabular-nums; }
.tmsc-stats span { display: block; margin-top: 4px; font-size: .85em; color: var(--tmsc-muted); }
.tmsc-quick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tmsc-quick-label { font-size: .85em; color: var(--tmsc-muted); margin-right: 4px; }

.tmsc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.tmsc-two--one { grid-template-columns: 1fr; }
.tmsc-minis, .tmsc-changes { list-style: none; margin: 0 0 10px; padding: 0; }
.tmsc-minis li, .tmsc-changes li { display: flex; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--tmsc-border); }
.tmsc-changes li { align-items: flex-start; }
.tmsc-datebadge { flex: none; width: 54px; padding: 6px 0; text-align: center; border-radius: var(--tmsc-radius); background: var(--tmsc-surface-2); font-size: .78em; line-height: 1.25; }
.tmsc-datebadge b { display: block; font-size: 1.05em; text-transform: uppercase; letter-spacing: .04em; }
.tmsc-mini-body a, .tmsc-change-body a { font-weight: 600; line-height: 1.35; }
.tmsc-change-body { min-width: 0; }

/* ---------------------------------------------------------------- embeds in articles */
.tmsc-embed { margin: 22px 0; padding: 16px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius); background: var(--tmsc-surface); }
.tmsc-embed-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.tmsc-embed-title { display: block; margin-bottom: 4px; font-weight: 700; font-size: 1.05em; }
.tmsc-embed .tmsc-address { margin: 0 0 12px; }
.tmsc-embed .tmsc-actions .tmsc-btn { padding: 10px 18px; font-size: 14px; }

/* ---------------------------------------------------------------- theme integration */
/* Charger pages: slim the theme's tall hero but keep the real h1. */
.single-supercharger .cs-entry__header-standard .cs-entry__outer { aspect-ratio: auto !important; min-height: 0 !important; height: auto !important; padding: 0 !important; background: transparent !important; }
.single-supercharger .cs-entry__header-standard .cs-entry__outer::before,
.single-supercharger .cs-entry__header-standard .cs-overlay-background { display: none !important; }
.single-supercharger .cs-entry__header-standard .cs-entry__content { position: static !important; padding: 20px 0 4px !important; background: none !important; }
.single-supercharger .cs-entry__header-standard .cs-entry__title { font-size: clamp(1.5rem, 4vw, 2.25rem) !important; line-height: 1.2; }
.single-supercharger .cs-breadcrumbs { display: none; } /* our own trail shows the region path */

/* Main Superchargers page: full width (no sidebar) with a compact header. */
.tmsc-home-page .cs-sidebar__area { display: none !important; }
.tmsc-home-page .cs-main-content { grid-template-columns: minmax(0, 1fr) !important; }
.tmsc-home-page .cs-content-area, .tmsc-home-page .cs-entry__wrap, .tmsc-home-page .entry-content { max-width: none !important; width: 100% !important; }
.tmsc-home-page .cs-entry__header-standard .cs-entry__outer { aspect-ratio: auto !important; min-height: 0 !important; height: auto !important; padding: 0 !important; background: transparent !important; }
.tmsc-home-page .cs-entry__header-standard .cs-entry__outer::before, .tmsc-home-page .cs-entry__header-standard .cs-overlay-background { display: none !important; }
.tmsc-home-page .cs-entry__header-standard .cs-entry__content { position: static !important; padding: 20px 0 4px !important; background: none !important; }
.tmsc-home-page .entry-content > h1:first-child { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.1; margin: 0 0 12px; }
.tmsc-home-page .entry-content > h1:first-child + p { max-width: 70ch; font-size: 1.1em; line-height: 1.65; margin: 0 0 22px; }
.tmsc-home .tmsc-wrap { padding: 0; }
.entry-content > .tmsc-home, .entry-content > .tmsc-single { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; width: 100% !important; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 900px) {
  .tmsc-app { grid-template-columns: 1fr; grid-template-rows: auto 380px auto; grid-template-areas: "search" "map" "results"; height: auto; padding: 10px; }
  .tmsc-results-wrap { max-height: 520px; }
  .tmsc-two { grid-template-columns: 1fr; gap: 8px; }
  .tmsc-app--full { display: grid; grid-template-rows: auto minmax(0, 1fr); grid-template-areas: "search" "map"; }
  .tmsc-app--full .tmsc-results-wrap { display: none; }
  .tmsc-facts th { width: 44%; }
}
@media (max-width: 480px) {
  .tmsc-stats { gap: 6px; }
  .tmsc-stats li { padding: 14px 4px; }
  .tmsc-stats span { font-size: .75em; }
  .tmsc-searchform { gap: 6px; }
  .tmsc-searchform input[type=search] { flex: 1 1 0; padding: 11px 12px; }
  .tmsc-searchform .tmsc-btn { padding: 11px 16px; flex: none; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* ---------------------------------------------------------------- link policy
 * Links that sit in cards, rows and buttons never get an underline, not even on hover; they
 * change colour instead. Only running text (credits, notes) keeps underlined links. */
:where(.tmsc-single, .tmsc-hub, .tmsc-home, .tmsc-embed, .tmsc-embed-list) a { text-decoration: none !important; background-image: none !important; }
:where(.tmsc-single, .tmsc-hub, .tmsc-home, .tmsc-embed, .tmsc-embed-list) a:hover { text-decoration: none !important; }
:where(.tmsc-single, .tmsc-hub, .tmsc-home) a:not(.tmsc-btn):hover { color: var(--tmsc-accent); }
.tmsc-credit a, .tmsc-report a { text-decoration: underline !important; }
.tmsc-crumbs a { color: inherit; }

/* ---------------------------------------------------------------- "Open in" logo buttons */
.tmsc-openin { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -6px 0 22px; }
.tmsc-openin-label { margin-right: 4px; font-size: .875em; color: var(--tmsc-muted); }
.tmsc-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--tmsc-border); border-radius: 50%;
  background: var(--tmsc-surface); color: inherit; transition: border-color .15s, background-color .15s; }
.tmsc-iconbtn:hover, .tmsc-iconbtn:focus-visible { border-color: var(--tmsc-accent); background: var(--tmsc-surface-2); }
.tmsc-brand { width: 22px; height: 22px; fill: currentColor; }
.tmsc-brand--googlemaps { fill: #4285f4; }
.tmsc-brand--waze { fill: #33ccff; }

/* ---------------------------------------------------------------- extra station information */
.tmsc-note { margin: 0 0 6px; padding: 14px 16px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius); background: var(--tmsc-surface); line-height: 1.65; }
.tmsc-facts--types td { font-variant-numeric: tabular-nums; }
.tmsc-change-title { font-weight: 600; line-height: 1.35; display: block; }
.tmsc-actions--map { margin: -6px 0 22px; }

/* ---------------------------------------------------------------- charger page: sidebar on the left (desktop)
 * Content gets the wide column, which is easier to read. Phones keep content first. */
@media (min-width: 992px) {
  .single-supercharger .cs-main-content { grid-template-columns: 320px minmax(0, 1fr) !important; }
  .single-supercharger #secondary { order: -1; }
  /* The title lines up with the content column: sidebar width (320px) + column gap (48px). */
  .single-supercharger .cs-entry__header-standard .cs-entry__content { padding-left: 368px !important; max-width: none !important; width: 100%; box-sizing: border-box; }
}

/* ---------------------------------------------------------------- feature pills and inline text links */
.tmsc-features { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 0; }
.tmsc-features .tmsc-pill { font-size: 12.5px; }
.tmsc-fac-card li > span:first-child { line-height: 1.5; }
.tmsc-inline { text-decoration: underline !important; }

/* ---------------------------------------------------------------- hub: sort toggle */
.tmsc-sorter { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }

/* ---------------------------------------------------------------- finder (shortcode / widget) */
.tmsc-finder { padding: 16px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-radius); background: var(--tmsc-surface); }
.tmsc-finder-title { margin: 0 0 10px; font-weight: 800; font-size: 1.05em; }
.tmsc-finder-form { display: flex; gap: 8px; }
.tmsc-finder-form input[type=search] { flex: 1 1 auto; min-width: 0; padding: 10px 14px; border: 1px solid var(--tmsc-border); border-radius: var(--tmsc-pill); background: var(--cs-color-input, transparent); color: inherit; font: inherit; font-size: 16px; }
.tmsc-finder-form .tmsc-btn { padding: 10px 18px; }
.tmsc-finder-near { margin: 10px 0 0; font-size: .85em; color: var(--tmsc-muted); }
.tmsc-finder a { text-decoration: none !important; }
.tmsc-finder a:hover { color: var(--tmsc-accent); }
