/* BikeFVG — scheda singolo Servizio. Mobile-first, min-width only. */
.bikefvg-service-main { background: var(--wp--preset--color--paper); }
.bikefvg-service-page { color: var(--wp--preset--color--ink); }
/* Lo shortcode passa da un filtro (wpautop) che inserisce <br> spuri tra i tag di blocco:
   questo markup non ne usa mai di intenzionali, quindi si nascondono in blocco. In alcune
   griglie (es. attributi) restano innocui per via del posizionamento esplicito dei figli,
   ma in una griglia ad auto-placement (es. correlati) si intromettono come celle vuote e
   spaiano le card, facendo sembrare la griglia a una colonna. */
.bikefvg-service-page br { display: none; }
.bikefvg-service-page__wrap { width: min(var(--bfvg-content), calc(100% - 2 * var(--bfvg-gutter))); margin-inline: auto; }
.bikefvg-service-page__narrow { max-width: var(--bfvg-narrow); }
.bikefvg-service-page__hero { padding-block: var(--bfvg-hero-detail-padding); }
.bikefvg-service-page__hero-grid { display: grid; gap: clamp(1.35rem, 4vw, 3rem); }
.bikefvg-service-page__hero-copy { min-width: 0; }
.bikefvg-service-page__badges { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.bikefvg-service-page__badges .bikefvg-service-partner-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; margin-bottom: 0; padding: .25rem .65rem; line-height: 1; }
.bikefvg-service-page__status { display: inline-flex; align-items: center; min-height: 30px; padding: .25rem .65rem; border: 1px solid currentColor; border-radius: 999px; font-size: .76rem; font-weight: 700; }
.bikefvg-service-page__status.is-verified { color: var(--wp--preset--color--verified); }
.bikefvg-service-page__status.is-review { color: var(--wp--preset--color--review); }
.bikefvg-service-page__status.is-critical { color: var(--wp--preset--color--critical); }
.bikefvg-service-page__territory-badge { background: transparent; }
.bikefvg-service-page__kicker { margin: 0 0 .65rem; color: var(--wp--preset--color--ink-muted); font-family: var(--wp--preset--font-family--mono); font-size: .76rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.bikefvg-service-page h1 { max-width: 16ch; margin: 0; font-size: var(--bfvg-detail-title-size); line-height: var(--bfvg-detail-title-line-height); letter-spacing: var(--bfvg-detail-title-letter-spacing); }
.bikefvg-service-page h2 { margin: 0 0 1rem; font-size: clamp(1.8rem, 5vw, 3rem); line-height: 1.04; letter-spacing: -.035em; }
.bikefvg-service-page h3 { line-height: 1.12; }
.bikefvg-service-page__lead { max-width: 700px; margin: 1rem 0 0; color: var(--wp--preset--color--ink-secondary); font-size: var(--wp--custom--type--lead); line-height: 1.5; }
.bikefvg-service-page__actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.4rem; }
.bikefvg-service-page__button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .65rem 1rem; border: 1px solid var(--wp--preset--color--ink); border-radius: var(--bfvg-service-action-radius, 12px); color: var(--wp--preset--color--ink); background: transparent; font-weight: 700; text-decoration: none; }
.bikefvg-service-page__button.is-primary { border-color: var(--wp--preset--color--accent); color: #fff; background: var(--wp--preset--color--accent); }
.bikefvg-service-page__button:hover { text-decoration: underline; text-underline-offset: .18em; }

/* DOM: testo prima della foto. Su mobile il titolo/CTA arrivano quindi sempre prima. */
.bikefvg-service-page__hero-media { order: 2; position: relative; min-height: 240px; margin: 0; overflow: hidden; border-radius: var(--bfvg-service-hero-media-radius, 16px); background: var(--wp--preset--color--surface-alt); }
.bikefvg-service-page__hero-media img { display: block; width: 100%; height: 100%; min-height: 240px; max-height: 480px; object-fit: cover; }
.bikefvg-service-page__hero-media figcaption { position: absolute; right: .65rem; bottom: .65rem; max-width: calc(100% - 1.3rem); padding: .35rem .5rem; border-radius: 5px; color: var(--wp--preset--color--paper); background: color-mix(in srgb, var(--wp--preset--color--ink) 82%, transparent); font-size: .72rem; }

.bikefvg-service-page__quickfacts { display: grid; margin-top: clamp(1.5rem, 4vw, 2.6rem); border-top: 1px solid var(--bfvg-line); border-left: 1px solid var(--bfvg-line); }
.bikefvg-service-page__quickfacts > div { min-height: 86px; padding: .9rem 1rem; border-right: 1px solid var(--bfvg-line); border-bottom: 1px solid var(--bfvg-line); }
.bikefvg-service-page__quickfacts > p:empty { display: none; }
.bikefvg-service-page__quickfacts small { display: block; margin-bottom: .3rem; color: var(--wp--preset--color--ink-muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.bikefvg-service-page__quickfacts strong, .bikefvg-service-page__quickfacts a { overflow-wrap: anywhere; }
.bikefvg-service-page__quickfact-values { display: grid; gap: .22rem; }
.bikefvg-service-page__quickfact-values a { width: fit-content; }
.bikefvg-service-page__hours-check { display: block; margin-top: .4rem; color: var(--wp--preset--color--accent); font-size: .74rem; font-weight: 700; text-decoration: none; }
.bikefvg-service-page__hours-check:hover { text-decoration: underline; text-underline-offset: .18em; }
.bikefvg-service-page__quickfacts a { color: inherit; }


.bikefvg-service-page__section { padding: clamp(2.5rem, 4vw, 3.5rem) 0; border-bottom: 1px solid var(--bfvg-line); }
.bikefvg-service-page__intro { max-width: 720px; margin: 0 0 1.6rem; color: var(--wp--preset--color--ink-secondary); }
.bikefvg-service-page__split { display: grid; gap: clamp(1.5rem, 5vw, 3.4rem); }
.bikefvg-service-page__overview-grid { display: grid; gap: clamp(2.25rem, 6vw, 4rem); }
.bikefvg-service-page__overview-content,
.bikefvg-service-page__bike-panel,
.bikefvg-service-page__map-column,
.bikefvg-service-page__territory-column { min-width: 0; }
.bikefvg-service-page__bike-panel { padding-top: 2rem; border-top: 0; }
.bikefvg-service-page__overview.is-compact { padding-block: clamp(1.8rem, 4vw, 2.8rem); }
.bikefvg-service-page__bike-panel.is-unverified-summary { max-width: 760px; }
.bikefvg-service-page__bike-unverified { max-width: 680px; margin: 0; color: var(--wp--preset--color--ink-secondary); }
.bikefvg-service-page__attributes { display: grid; gap: .55rem; }
.bikefvg-service-page__attribute { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: .35rem .75rem; align-items: center; padding: .8rem; border: 1px solid var(--bfvg-line); border-radius: var(--bfvg-service-attribute-radius, 16px); background: var(--wp--preset--color--panel); }
.bikefvg-service-page__attribute-icon { grid-row: 1 / span 2; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; font-size: .8rem; line-height: 1; }
.bikefvg-service-page__attribute-icon.is-yes { background: var(--wp--preset--color--verified); }
.bikefvg-service-page__attribute-icon.is-yes::before { content: '\2713'; }
.bikefvg-service-page__attribute-icon.is-no { background: var(--wp--preset--color--critical); }
.bikefvg-service-page__attribute-icon.is-no::before { content: '\2715'; }
.bikefvg-service-page__attribute-icon.is-unknown { background: var(--wp--preset--color--review); font-size: .92rem; }
.bikefvg-service-page__attribute-icon.is-unknown::before { content: '?'; }
.bikefvg-service-page__attribute-state { grid-column: 2; font-size: .8rem; font-weight: 700; }
.bikefvg-service-page__attribute-state.is-yes { color: var(--wp--preset--color--verified); }
.bikefvg-service-page__attribute-state.is-no { color: var(--wp--preset--color--critical); }
.bikefvg-service-page__attribute-state.is-unknown { color: var(--wp--preset--color--review); }
.bikefvg-service-page__attribute-note { margin: .9rem 0 0; color: var(--wp--preset--color--ink-muted); font-size: .82rem; line-height: 1.45; }

.bikefvg-service-page__facility-facts { display: grid; gap: .55rem; margin-bottom: 1.2rem; }
.bikefvg-service-page__facility-fact { padding: .8rem; border: 1px solid var(--bfvg-line); border-radius: var(--bfvg-radius-card); background: var(--wp--preset--color--panel); }
.bikefvg-service-page__facility-fact small { display: block; margin-bottom: .3rem; color: var(--wp--preset--color--ink-muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.bikefvg-service-page__facility-fact strong { font-size: .95rem; font-weight: 700; }
.bikefvg-service-page__facility-fact strong small { display: inline; margin: 0; color: var(--wp--preset--color--ink-muted); font-size: .78rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.bikefvg-service-page__facility-fact.is-unknown strong { color: var(--wp--preset--color--review); }
.bikefvg-service-page__facility-note { max-width: 720px; margin: 0 0 .5rem; color: var(--wp--preset--color--ink-secondary); }
.bikefvg-service-page__facility-caption { margin: 0; color: var(--wp--preset--color--ink-muted); font-size: .82rem; }

.bikefvg-service-page__contact-card { align-self: start; padding: var(--bfvg-card-padding); border: 1px solid var(--bfvg-line); border-radius: var(--bfvg-card-radius); background: var(--wp--preset--color--panel); }
.bikefvg-service-page__site { padding: 1rem 0; border-top: 1px solid var(--bfvg-line); }
.bikefvg-service-page__site:first-of-type { border-top: 0; padding-top: .25rem; }
.bikefvg-service-page__site h3, .bikefvg-service-page__site p { margin-top: 0; }
.bikefvg-service-page__site p { margin-bottom: .45rem; color: var(--wp--preset--color--ink-secondary); }
.bikefvg-service-page__site-phones { display: flex; flex-wrap: wrap; gap: .25rem .9rem; margin-bottom: .45rem; }
.bikefvg-service-page__site a { color: var(--wp--preset--color--accent); font-weight: 700; }

.bikefvg-service-page__map-shell { overflow: hidden; border: 1px solid var(--bfvg-line); border-radius: var(--bfvg-service-map-radius, 16px); background: var(--wp--preset--color--panel); }
.bikefvg-service-page__waymark-map { min-height: 320px; }
/* test.461 — la mappa Waymark usa i tile OSM grezzi (stessa fonte delle altre mappe del sito),
 * ma senza l'attenuazione extra che rende le altre mappe (percorsi) piu' sobrie: qui i colori
 * nativi OSM (verde bosco, tratteggio rosa delle gallerie, numeri civici) restavano troppo vividi
 * rispetto al resto del sito. Stessa attenuazione aggiuntiva usata dalla mappa dei percorsi. */
.bikefvg-service-page__map-shell .bikefvg-service-page__waymark-map.leaflet-container .leaflet-tile-pane { filter: var(--bikefvg-map-basemap-filter) saturate(.48); }
.bikefvg-service-page__map-status { margin: 0; padding: .75rem 1rem; color: var(--wp--preset--color--ink-muted); font-size: .85rem; }
.bikefvg-service-page__map-status.is-error { color: var(--wp--preset--color--critical); }
/* test.463 — wpautop rompe il markup di questo blocco (l'<a> "Apri le indicazioni" finisce
 * avvolto in un <p>, e ogni tag </div> in eccesso genera un </p> orfano). Il browser ripara
 * ogni </p> orfano inserendo un <p></p> vuoto: nella mappa quello finisce come ultimo figlio
 * dello shell, e il suo margine di default crea la barra bianca in fondo alla mappa. Colpisce
 * solo i <p> davvero vuoti, quindi non tocca quello (con contenuto) del link indicazioni. */
.bikefvg-service-page__location-grid p:not([class]):empty { display: none; }
.bikefvg-service-page__location { background: color-mix(in srgb, var(--wp--preset--color--surface-alt) 20%, var(--wp--preset--color--paper)); }
.bikefvg-service-page__location-grid { display: grid; gap: clamp(2.25rem, 6vw, 4rem); }
.bikefvg-service-page__section-heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .75rem 1.25rem; }
.bikefvg-service-page__section-heading h2 { margin-bottom: 1rem; }
.bikefvg-service-page__map-directions { margin-bottom: 1rem; color: var(--wp--preset--color--accent); font-size: .88rem; font-weight: 700; text-decoration: none; }
.bikefvg-service-page__map-directions:hover { text-decoration: underline; text-underline-offset: .18em; }
/* I marker di questa mappa sono Servizi, non POI: usano la geometria Servizi del pannello mappe. */
.bikefvg-service-page__waymark-map .waymark-marker-rectangle .waymark-marker-background { border-radius: var(--bikefvg-map-service-radius) !important; }

/* Segno universale di posizione, inscritto nel contenitore BikeFVG dei
 * Servizi. Il marker resta quadrato/tondo secondo le impostazioni globali:
 * la goccia sostituisce soltanto l'ambigua iniziale "S". */
.bikefvg-service-page__waymark-map .waymark-marker .waymark-icon-text {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block !important;
	width: 17px;
	height: 17px;
	background: currentColor;
	font-size: 0 !important;
	line-height: 0 !important;
	transform: translate(-50%, -50%);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%2010c0%205-8%2011-8%2011S4%2015%204%2010a8%208%200%201%201%2016%200z'/%3E%3Ccircle%20cx='12'%20cy='10'%20r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%2010c0%205-8%2011-8%2011S4%2015%204%2010a8%208%200%201%201%2016%200z'/%3E%3Ccircle%20cx='12'%20cy='10'%20r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bikefvg-service-page__content { font-size: clamp(1rem, 1.6vw, 1.12rem); }
.bikefvg-service-page__content > :last-child { margin-bottom: 0; }

.bikefvg-service-page__gallery-section { padding-block: clamp(2.5rem, 4vw, 3.5rem); }
.bikefvg-service-page__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.bikefvg-service-page__gallery > p:empty { display: none; }
.bikefvg-service-page__gallery figure { height: 100%; aspect-ratio: 1; min-height: 0; margin: 0; overflow: hidden; border-radius: var(--bfvg-service-gallery-radius, 16px); background: var(--wp--preset--color--surface-alt); }
.bikefvg-service-page__gallery figure:first-of-type { grid-column: 1 / -1; aspect-ratio: 3 / 2; }
.bikefvg-service-page__gallery figure:nth-of-type(n+4) { display: none; }
.bikefvg-service-page__gallery img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }

.bikefvg-service-page__route-grid { display: grid; gap: .8rem; }
.bikefvg-service-page__route-card { display: flex; flex-direction: column; min-height: 205px; padding: var(--bfvg-card-padding-compact); border: 1px solid var(--bfvg-line); border-radius: var(--bfvg-card-radius); background: var(--wp--preset--color--panel); }
.bikefvg-service-page__route-card h3 { margin: .2rem 0 .7rem; font-size: 1.28rem; }
.bikefvg-service-page__route-card h3 a { color: inherit; text-decoration: none; }
.bikefvg-service-page__route-card p { margin: 0 0 1rem; color: var(--wp--preset--color--ink-secondary); }
.bikefvg-service-page__route-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto; }
.bikefvg-service-page__route-meta span { padding: .25rem .45rem; border: 1px solid var(--bfvg-line); border-radius: 999px; font-size: .75rem; }

.bikefvg-service-page__territory-column h2 { font-size: clamp(1.75rem, 3.4vw, 2.45rem); }
.bikefvg-service-page__territory-links { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.4rem; }
.bikefvg-service-page__nearby-label { margin: 0 0 .8rem; font-size: .88rem; font-weight: 700; color: var(--wp--preset--color--ink-secondary); }
.bikefvg-service-page__related-services { display: grid; gap: .7rem; }
.bikefvg-service-page__related-service { display: block; padding: var(--bfvg-service-nearby-padding, .85rem .95rem); border: 1px solid var(--bfvg-line); border-radius: var(--bfvg-service-nearby-radius, 16px); background: var(--wp--preset--color--paper); color: inherit; text-decoration: none; }
.bikefvg-service-page__related-service > span { display: block; margin-bottom: .25rem; font-size: .7rem; font-weight: 600; color: var(--wp--preset--color--ink-muted); }
.bikefvg-service-page__related-service > strong { display: block; margin-bottom: .15rem; font-size: .94rem; }
.bikefvg-service-page__related-service > .bikefvg-service-page__related-meta { display: flex; flex-direction: column; gap: .18rem; margin: .45rem 0 0; }
.bikefvg-service-page__related-meta small { display: block; font-size: .76rem; color: var(--wp--preset--color--ink-muted); }
.bikefvg-service-page__related-meta .bikefvg-service-page__related-distance { color: var(--wp--preset--color--accent); font-weight: 700; }

.bikefvg-service-page__reliability { padding: clamp(2.5rem, 4vw, 3.5rem) 0; background: color-mix(in srgb, var(--wp--preset--color--surface-alt) 24%, var(--wp--preset--color--paper)); }
.bikefvg-service-page__reliability-grid { display: grid; gap: 1.5rem; }
.bikefvg-service-page__reliability p { margin: 0 0 .35rem; font-size: .88rem; }
.bikefvg-service-page__sources { margin: 0; padding-left: 1.15rem; }
.bikefvg-service-page__sources a { color: var(--wp--preset--color--accent); }

.bikefvg-service-page__mobile-actions { position: fixed; right: 0; bottom: 0; left: 0; z-index: 65; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; padding: 6px clamp(1rem, 4vw, 2rem) calc(6px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--bfvg-line); background: var(--wp--preset--color--paper); box-shadow: 0 -8px 24px color-mix(in srgb, var(--wp--preset--color--ink) 10%, transparent); }
.bikefvg-service-page__mobile-actions .bikefvg-service-page__button { box-sizing: border-box; min-height: var(--bfvg-control-height-compact); padding: var(--bfvg-control-padding-block-compact) var(--bfvg-service-action-sticky-padding-inline, 12px); line-height: var(--bfvg-control-line-compact); }
.bikefvg-service-page__mobile-actions[hidden] { display: none; }
.bikefvg-service-page__mobile-actions .bikefvg-service-page__button:only-child { grid-column: 1 / -1; }
.bikefvg-service-page__mobile-actions .bikefvg-service-page__button:focus-visible { outline: 3px solid var(--wp--preset--color--ink); outline-offset: 2px; }

@media (min-width: 38rem) {
  .bikefvg-service-page__quickfacts { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
  .bikefvg-service-page__attributes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bikefvg-service-page__facility-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bikefvg-service-page__route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bikefvg-service-page__gallery { grid-auto-rows: clamp(10rem, 24vw, 14rem); }
  .bikefvg-service-page__gallery figure,
  .bikefvg-service-page__gallery figure:first-of-type { display: block; height: 100%; aspect-ratio: auto; }
  .bikefvg-service-page__gallery figure:nth-of-type(n+4) { display: block; }
  .bikefvg-service-page__gallery figure:first-of-type { grid-column: auto; grid-row: span 2; }
  .bikefvg-service-page__related-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 48rem) {
  .bikefvg-service-page__split { grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); }
  .bikefvg-service-page__route-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bikefvg-service-page__reliability-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bikefvg-service-page__mobile-actions { display: none; }
}

@media (min-width: 60rem) {
  /* Desktop: foto a sinistra e testo a destra; l'ordine DOM resta text-first per mobile/accessibilità. */
  .bikefvg-service-page.has-media .bikefvg-service-page__hero-grid { grid-template-columns: minmax(340px, .72fr) minmax(0, 1.28fr); grid-template-areas: "media copy"; align-items: stretch; }
  .bikefvg-service-page.has-media .bikefvg-service-page__hero-copy { grid-area: copy; display: flex; flex-direction: column; justify-content: flex-end; padding-block: .3rem; }
  .bikefvg-service-page.has-media .bikefvg-service-page__hero-media { grid-area: media; order: initial; min-height: 330px; }
  .bikefvg-service-page.has-media .bikefvg-service-page__hero-media img { min-height: 330px; max-height: 460px; }
  .bikefvg-service-page.is-text-only .bikefvg-service-page__hero-copy { max-width: 900px; }
  .bikefvg-service-page.is-sparse .bikefvg-service-page__quickfacts { margin-top: 1.8rem; }
  .bikefvg-service-page__overview-grid { grid-template-columns: minmax(0, 1.55fr) minmax(330px, .9fr); align-items: start; }
  .bikefvg-service-page__overview-grid.is-bike-only { grid-template-columns: minmax(0, 1fr); }
  .bikefvg-service-page__bike-panel { padding: 0 0 0 1.6rem; border-top: 0; border-left: 1px solid var(--bfvg-line); }
  .bikefvg-service-page__overview.is-compact .bikefvg-service-page__overview-grid { max-width: var(--bfvg-content); }
  .bikefvg-service-page__overview.is-compact .bikefvg-service-page__bike-panel { padding-block: .35rem; }
  .bikefvg-service-page__location-grid { grid-template-columns: minmax(0, 1.5fr) minmax(330px, .8fr); align-items: start; }
  .bikefvg-service-page__location-grid.is-single { grid-template-columns: minmax(0, 1fr); }
  .bikefvg-service-page__gallery { grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(10rem, 15vw, 13rem); }
}

/* Compact mobile controls: preserve touch targets and allow wrapping at zoom. */
@media (max-width: 47.99rem) {
  .bikefvg-service-page__actions { gap: 6px; }
  .bikefvg-service-page__actions .bikefvg-service-page__button { box-sizing: border-box; flex: 1 0 auto; min-width: 48px; min-height: var(--bfvg-control-height-compact); padding: var(--bfvg-control-padding-block-compact) var(--bfvg-service-action-mobile-padding-inline, 8px); font-size: var(--bfvg-control-font-compact); line-height: var(--bfvg-control-line-compact); }
  .bikefvg-service-page__quickfacts > div { min-height: 0; padding: var(--bfvg-service-quickfacts-mobile-padding, .75rem 1rem); }
}

/* Mobile hero hierarchy; desktop badges retain their original layout. */
.bikefvg-service-page__mobile-location { display: none; }
@media (max-width: 47.99rem) {
  .bikefvg-service-page__badges > .bikefvg-badge,
  .bikefvg-service-page.is-partner .bikefvg-service-page__badges > .bikefvg-service-page__status,
  .bikefvg-service-page__badges.is-mobile-empty { display: none; }
  .bikefvg-service-page__mobile-location { display: block; margin: .75rem 0 0; color: var(--wp--preset--color--ink-secondary); font-size: .9375rem; line-height: 1.5; overflow-wrap: anywhere; }
}

/* Override Leaflet's inline outline:none only for keyboard focus on service pins. */
.bikefvg-service-page__waymark-map .waymark-marker:focus-visible {
  outline: 3px solid var(--wp--preset--color--paper) !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 7px var(--wp--preset--color--ink);
}
