.lpc-app,
.lpc-app * {
	box-sizing: border-box;
}

.lpc-app {
	position: relative;
	width: 100%;
	padding: var(--lpc-padding, 24px);
	border: 1px solid var(--lpc-border, #d8e4de);
	border-radius: var(--lpc-radius, 20px);
	background: var(--lpc-bg, #f3f7f5);
	color: var(--lpc-text, #263a31);
	font-family: var(--lpc-font, inherit);
	font-size: var(--lpc-text-size, 16px);
	line-height: 1.5;
	box-shadow: 0 18px 55px rgba(18, 54, 39, .08);
	isolation: isolate;
}

.lpc-app button,
.lpc-app input,
.lpc-app select {
	font: inherit;
}

.lpc-header {
	max-width: 920px;
	margin: 0 0 22px;
}

.lpc-eyebrow {
	margin-bottom: 7px;
	color: var(--lpc-accent, #1f6b4f);
	font-size: .76em;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.lpc-title {
	margin: 0;
	color: var(--lpc-title, #18392d);
	font-size: var(--lpc-title-size, 38px);
	font-weight: 780;
	letter-spacing: -.035em;
	line-height: 1.08;
}

.lpc-intro {
	max-width: 850px;
	margin: 12px 0 0;
	color: var(--lpc-muted, #6b7d74);
	font-size: 1em;
}

.lpc-stats {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.lpc-stat {
	min-width: 0;
	padding: 13px 12px;
	border: 1px solid var(--lpc-border, #d8e4de);
	border-radius: calc(var(--lpc-card-radius, 15px) - 2px);
	background: var(--lpc-card-bg, #fff);
	color: var(--lpc-text, #263a31);
	text-align: left;
	cursor: pointer;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.lpc-stat:hover,
.lpc-stat:focus-visible,
.lpc-stat.is-active {
	border-color: var(--lpc-accent, #1f6b4f);
	box-shadow: 0 8px 24px rgba(18, 54, 39, .09);
	transform: translateY(-1px);
}

.lpc-stat span,
.lpc-stat small {
	display: block;
	overflow: hidden;
	color: var(--lpc-muted, #6b7d74);
	font-size: .72em;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lpc-stat strong {
	display: block;
	margin: 2px 0 1px;
	color: var(--lpc-price, #0a6a45);
	font-size: 1.08em;
	font-variant-numeric: tabular-nums;
}

.lpc-filters {
	display: grid;
	grid-template-columns: minmax(135px, .8fr) minmax(105px, .55fr) minmax(155px, .85fr) minmax(185px, 1.25fr) auto auto;
	gap: 10px;
	align-items: end;
	margin-bottom: 18px;
	padding: 14px;
	border: 1px solid var(--lpc-border, #d8e4de);
	border-radius: var(--lpc-card-radius, 15px);
	background: var(--lpc-filters-bg, #fff);
}

.lpc-field {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 5px;
}

.lpc-field > span {
	color: var(--lpc-muted, #6b7d74);
	font-size: .76em;
	font-weight: 700;
}

.lpc-field select,
.lpc-field input {
	width: 100%;
	min-height: 43px;
	padding: 8px 34px 8px 11px;
	border: 1px solid var(--lpc-border, #d8e4de);
	border-radius: 10px;
	outline: 0;
	background-color: var(--lpc-card-bg, #fff);
	color: var(--lpc-text, #263a31);
	transition: border-color .18s ease, box-shadow .18s ease;
}

.lpc-field input {
	padding-right: 11px;
}

.lpc-field select:focus,
.lpc-field input:focus {
	border-color: var(--lpc-accent, #1f6b4f);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--lpc-accent, #1f6b4f) 16%, transparent);
}

.lpc-check {
	display: inline-flex;
	min-height: 43px;
	align-items: center;
	gap: 8px;
	padding: 0 4px;
	color: var(--lpc-text, #263a31);
	font-size: .85em;
	white-space: nowrap;
	cursor: pointer;
}

.lpc-check input {
	width: 17px;
	height: 17px;
	accent-color: var(--lpc-accent, #1f6b4f);
}

.lpc-reset,
.lpc-load-more,
.lpc-actions button,
.lpc-actions a {
	display: inline-flex;
	min-height: 41px;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border: 1px solid var(--lpc-button, #1f6b4f);
	border-radius: 999px;
	font-weight: 700;
	line-height: 1.15;
	text-decoration: none;
	cursor: pointer;
	transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease;
}

.lpc-reset {
	min-height: 43px;
	background: transparent;
	color: var(--lpc-button, #1f6b4f);
}

.lpc-reset:hover,
.lpc-reset:focus-visible,
.lpc-load-more:hover,
.lpc-load-more:focus-visible,
.lpc-actions button:hover,
.lpc-actions button:focus-visible,
.lpc-actions a:hover,
.lpc-actions a:focus-visible {
	opacity: .9;
	transform: translateY(-1px);
	box-shadow: 0 7px 18px rgba(18, 54, 39, .12);
}

.lpc-layout {
	display: grid;
	gap: 18px;
	align-items: stretch;
}

.lpc-map-right.lpc-ratio-70-30 .lpc-layout { grid-template-columns: minmax(290px, 30fr) minmax(0, 70fr); }
.lpc-map-right.lpc-ratio-65-35 .lpc-layout { grid-template-columns: minmax(310px, 35fr) minmax(0, 65fr); }
.lpc-map-right.lpc-ratio-60-40 .lpc-layout { grid-template-columns: minmax(330px, 40fr) minmax(0, 60fr); }
.lpc-map-right.lpc-ratio-55-45 .lpc-layout { grid-template-columns: minmax(340px, 45fr) minmax(0, 55fr); }
.lpc-map-right.lpc-ratio-50-50 .lpc-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.lpc-map-right.lpc-ratio-45-55 .lpc-layout { grid-template-columns: minmax(0, 55fr) minmax(330px, 45fr); }
.lpc-map-right.lpc-ratio-40-60 .lpc-layout { grid-template-columns: minmax(0, 60fr) minmax(310px, 40fr); }

.lpc-map-left.lpc-ratio-70-30 .lpc-layout { grid-template-columns: minmax(0, 70fr) minmax(290px, 30fr); }
.lpc-map-left.lpc-ratio-65-35 .lpc-layout { grid-template-columns: minmax(0, 65fr) minmax(310px, 35fr); }
.lpc-map-left.lpc-ratio-60-40 .lpc-layout { grid-template-columns: minmax(0, 60fr) minmax(330px, 40fr); }
.lpc-map-left.lpc-ratio-55-45 .lpc-layout { grid-template-columns: minmax(0, 55fr) minmax(340px, 45fr); }
.lpc-map-left.lpc-ratio-50-50 .lpc-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.lpc-map-left.lpc-ratio-45-55 .lpc-layout { grid-template-columns: minmax(330px, 45fr) minmax(0, 55fr); }
.lpc-map-left.lpc-ratio-40-60 .lpc-layout { grid-template-columns: minmax(310px, 40fr) minmax(0, 60fr); }

.lpc-map-left .lpc-map-panel { order: 1; }
.lpc-map-left .lpc-list-panel { order: 2; }
.lpc-map-right .lpc-list-panel { order: 1; }
.lpc-map-right .lpc-map-panel { order: 2; }

.lpc-list-panel,
.lpc-map-panel {
	min-width: 0;
	height: var(--lpc-map-height, 620px);
	border: 1px solid var(--lpc-border, #d8e4de);
	border-radius: var(--lpc-card-radius, 15px);
	background: var(--lpc-panel-bg, #fff);
	overflow: hidden;
}

.lpc-list-panel {
	display: flex;
	flex-direction: column;
}

.lpc-list-head {
	display: flex;
	min-height: 62px;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 15px;
	border-bottom: 1px solid var(--lpc-border, #d8e4de);
	background: var(--lpc-panel-bg, #fff);
}

.lpc-list-head strong {
	color: var(--lpc-title, #18392d);
	font-size: 1.08em;
}

.lpc-list-head span,
.lpc-data-date {
	color: var(--lpc-muted, #6b7d74);
	font-size: .77em;
}

.lpc-data-date {
	max-width: 190px;
	text-align: right;
}

.lpc-list {
	flex: 1;
	padding: 13px;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-color: var(--lpc-border, #d8e4de) transparent;
	scrollbar-width: thin;
}

.lpc-list.is-loading {
	opacity: .55;
	pointer-events: none;
}

.lpc-station {
	position: relative;
	margin-bottom: 12px;
	padding: 15px;
	border: 1px solid var(--lpc-border, #d8e4de);
	border-radius: var(--lpc-card-radius, 15px);
	background: var(--lpc-card-bg, #fff);
	box-shadow: 0 7px 22px rgba(18, 54, 39, .055);
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.lpc-station:last-child { margin-bottom: 0; }

.lpc-station:hover,
.lpc-station.is-active {
	border-color: var(--lpc-accent, #1f6b4f);
	box-shadow: 0 12px 30px rgba(18, 54, 39, .11);
}

.lpc-station.is-active {
	transform: translateY(-1px);
}

.lpc-station-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}


.lpc-station-identity {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	align-items: flex-start;
	gap: 10px;
}

.lpc-station-heading {
	min-width: 0;
	flex: 1 1 auto;
}

.lpc-station-brand {
	display: block;
	margin-top: 2px;
	color: var(--lpc-accent, #1f6b4f);
	font-size: .72em;
	font-weight: 760;
	line-height: 1.25;
}

.lpc-station-logo {
	position: relative;
	display: grid;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	place-items: center;
	overflow: hidden;
	border: 1px solid var(--lpc-border, #d8e4de);
	border-radius: 11px;
	background: color-mix(in srgb, var(--lpc-card-bg, #fff) 92%, var(--lpc-accent, #1f6b4f));
	font-size: 21px;
	line-height: 1;
}

.lpc-station-logo-fallback {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
}

.lpc-station-logo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 5px;
	background: #fff;
	object-fit: contain;
}

.lpc-station h3 {
	margin: 0;
	color: var(--lpc-title, #18392d);
	font-size: 1em;
	font-weight: 780;
	line-height: 1.22;
}

.lpc-station p {
	margin: 4px 0 0;
	color: var(--lpc-muted, #6b7d74);
	font-size: .8em;
}

.lpc-main-price {
	flex: 0 0 auto;
	text-align: right;
}

.lpc-main-price > span {
	display: block;
	color: var(--lpc-muted, #6b7d74);
	font-size: .7em;
	font-weight: 700;
}

.lpc-main-price strong {
	display: block;
	color: var(--lpc-price, #0a6a45);
	font-size: 1.28em;
	font-variant-numeric: tabular-nums;
	line-height: 1.12;
	white-space: nowrap;
}

.lpc-main-price small {
	font-size: .52em;
	font-weight: 600;
}

.lpc-station-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 11px;
}

.lpc-station-meta > span,
.lpc-services span {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	padding: 3px 8px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--lpc-accent, #1f6b4f) 8%, var(--lpc-card-bg, #fff));
	color: var(--lpc-muted, #6b7d74);
	font-size: .7em;
	font-weight: 650;
}

.lpc-freshness--fresh { color: #18794e !important; }
.lpc-freshness--normal { color: #496d5c !important; }
.lpc-freshness--aged { color: #9a6412 !important; }
.lpc-freshness--old { color: #a33a34 !important; }

.lpc-price-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	margin-top: 11px;
}

.lpc-price-grid > div {
	min-width: 0;
	padding: 7px 8px;
	border: 1px solid var(--lpc-border, #d8e4de);
	border-radius: 9px;
	background: color-mix(in srgb, var(--lpc-card-bg, #fff) 93%, var(--lpc-accent, #1f6b4f));
}

.lpc-price-grid > div.is-selected {
	border-color: var(--lpc-accent, #1f6b4f);
}

.lpc-price-grid > div.is-unavailable {
	border-style: dashed;
	opacity: .72;
}

.lpc-price-grid > div.is-unavailable strong {
	color: #9a6412;
	font-size: .67em;
}

.lpc-price-grid span,
.lpc-price-grid strong {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lpc-price-grid span {
	color: var(--lpc-muted, #6b7d74);
	font-size: .65em;
}

.lpc-price-grid strong {
	color: var(--lpc-text, #263a31);
	font-size: .79em;
	font-variant-numeric: tabular-nums;
}

.lpc-services {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 10px;
}

.lpc-services span {
	max-width: 100%;
	overflow: hidden;
	background: transparent;
	border: 1px solid var(--lpc-border, #d8e4de);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lpc-hours {
	padding-top: 8px;
	border-top: 1px dashed var(--lpc-border, #d8e4de);
	font-size: .72em !important;
}

.lpc-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.lpc-actions button,
.lpc-actions a {
	min-height: 36px;
	padding: 7px 12px;
	font-size: .74em;
}

.lpc-actions button {
	background: transparent;
	color: var(--lpc-button, #1f6b4f);
}

.lpc-actions a,
.lpc-load-more {
	background: var(--lpc-button, #1f6b4f);
	color: var(--lpc-button-text, #fff);
}

.lpc-load-more {
	align-self: center;
	margin: 10px 12px 13px;
}

.lpc-empty,
.lpc-error,
.lpc-warning {
	padding: 14px 16px;
	border-radius: 12px;
	font-size: .85em;
}

.lpc-empty {
	border: 1px dashed var(--lpc-border, #d8e4de);
	color: var(--lpc-muted, #6b7d74);
	text-align: center;
}

.lpc-error {
	margin-bottom: 14px;
	border: 1px solid #e1b6b2;
	background: #fff4f2;
	color: #8b302b;
}

.lpc-error--standalone {
	margin: 0;
}

.lpc-warning {
	margin-bottom: 14px;
	border: 1px solid #ead3a0;
	background: #fff9e9;
	color: #76500c;
}

.lpc-map-panel {
	position: relative;
}

.lpc-map {
	width: 100%;
	height: 100%;
	min-height: 300px;
	background: #e9efec;
}


.lpc-google-zoom-controls {
	position: absolute;
	top: 92px;
	right: 12px;
	z-index: 950;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, .16);
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .24);
}

.lpc-google-zoom-controls button {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #2f3337;
	font-family: Arial, sans-serif;
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}

.lpc-google-zoom-controls button + button {
	border-top: 1px solid #e1e3e5;
}

.lpc-google-zoom-controls button:hover,
.lpc-google-zoom-controls button:focus-visible {
	background: #f5f5f5;
	color: #000;
	outline: 2px solid var(--lpc-accent, #1f6b4f);
	outline-offset: -2px;
}

.lpc-map-notice {
	position: absolute;
	top: 12px;
	left: 50%;
	z-index: 800;
	max-width: calc(100% - 24px);
	padding: 8px 12px;
	border: 1px solid var(--lpc-border, #d8e4de);
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	color: #5a3d08;
	font-size: 12px;
	box-shadow: 0 5px 18px rgba(0, 0, 0, .12);
	transform: translateX(-50%);
}

.lpc-price-divicon {
	background: transparent !important;
	border: 0 !important;
}

.lpc-price-marker {
	display: inline-flex;
	min-width: 56px;
	height: 31px;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: var(--lpc-accent, #1f6b4f);
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 12px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
	white-space: nowrap;
	transform: translate(-50%, -50%);
}

.lpc-price-marker.is-active {
	background: #111;
	transform: translate(-50%, -50%) scale(1.12);
}

.lpc-popup {
	min-width: 220px;
	max-width: 290px;
	font-family: Arial, sans-serif;
}

.lpc-popup-head {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 8px;
}

.lpc-popup-identity {
	min-width: 0;
}

.lpc-popup-identity strong,
.lpc-popup-identity small {
	display: block;
}

.lpc-popup-identity strong {
	margin: 0;
	color: #202822;
	font-size: 14px;
	line-height: 1.22;
}

.lpc-popup-identity small {
	margin-top: 2px;
	color: var(--lpc-accent, #1f6b4f);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
}

.lpc-station-logo--popup {
	width: 40px;
	height: 40px;
	flex-basis: 40px;
	border-radius: 9px;
	font-size: 19px;
}

.lpc-popup-address {
	display: block;
	margin-bottom: 7px;
	color: #58655f;
	font-size: 12px;
	line-height: 1.35;
}

.lpc-popup b {
	display: block;
	color: var(--lpc-price, #0a6a45);
	font-size: 16px;
}

.lpc-popup a {
	display: inline-block;
	margin-top: 8px;
	color: var(--lpc-accent, #1f6b4f);
	font-weight: 700;
}

.lpc-source {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px 18px;
	margin-top: 13px;
	color: var(--lpc-muted, #6b7d74);
	font-size: .7em;
}

.lpc-mobile-tabs {
	display: none;
}

.lpc-app.is-loading::after {
	position: absolute;
	inset: 0;
	z-index: 1200;
	display: grid;
	place-items: center;
	border-radius: inherit;
	background: color-mix(in srgb, var(--lpc-bg, #f3f7f5) 78%, transparent);
	color: var(--lpc-title, #18392d);
	content: "Chargement des prix…";
	font-weight: 800;
	backdrop-filter: blur(2px);
}

@media (max-width: 1180px) {
	.lpc-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

	.lpc-field--search {
		grid-column: span 2;
	}
}

@media (max-width: 980px) {
	.lpc-app {
		font-size: var(--lpc-text-size-tablet, 16px);
	}

	.lpc-title {
		font-size: var(--lpc-title-size-tablet, 34px);
	}

	.lpc-layout,
	.lpc-map-right .lpc-layout,
	.lpc-map-left .lpc-layout {
		grid-template-columns: minmax(300px, 42fr) minmax(0, 58fr) !important;
	}

	.lpc-map-left .lpc-layout {
		grid-template-columns: minmax(0, 58fr) minmax(300px, 42fr) !important;
	}

	.lpc-list-panel,
	.lpc-map-panel {
		height: var(--lpc-map-height-tablet, 520px);
	}

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

@media (max-width: 767px) {
	.lpc-app {
		padding: max(14px, calc(var(--lpc-padding, 24px) * .65));
		font-size: var(--lpc-text-size-mobile, 15px);
		border-radius: min(var(--lpc-radius, 20px), 16px);
	}

	.lpc-title {
		font-size: var(--lpc-title-size-mobile, 28px);
	}

	.lpc-header {
		margin-bottom: 17px;
	}

	.lpc-stats {
		display: flex;
		margin-right: -2px;
		padding: 2px 2px 7px;
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}

	.lpc-stat {
		min-width: 116px;
		scroll-snap-align: start;
	}

	.lpc-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 11px;
	}

	.lpc-field--search {
		grid-column: 1 / -1;
	}

	.lpc-check,
	.lpc-reset {
		width: 100%;
	}

	.lpc-mobile-tabs > button {
		flex: 1;
		min-height: 42px;
		border: 0;
		border-radius: 999px;
		background: transparent;
		color: var(--lpc-muted, #6b7d74);
		font-weight: 750;
		cursor: pointer;
	}

	.lpc-mobile-tabs > button.is-active {
		background: var(--lpc-button, #1f6b4f);
		color: var(--lpc-button-text, #fff);
	}

	.lpc-app.lpc-mobile-mode-tabs > .lpc-mobile-tabs {
		display: flex;
		gap: 5px;
		margin-bottom: 12px;
		padding: 4px;
		border: 1px solid var(--lpc-border, #d8e4de);
		border-radius: 999px;
		background: var(--lpc-filters-bg, #fff);
	}

	.lpc-layout,
	.lpc-map-right .lpc-layout,
	.lpc-map-left .lpc-layout {
		display: flex !important;
		flex-direction: column;
		gap: 14px;
	}

	.lpc-list-panel,
	.lpc-map-panel {
		width: 100%;
		height: auto;
		min-height: 0;
	}

	.lpc-map-panel,
	.lpc-map-left .lpc-map-panel,
	.lpc-map-right .lpc-map-panel {
		order: 1;
		height: var(--lpc-map-height-mobile, 470px);
	}

	.lpc-list-panel,
	.lpc-map-left .lpc-list-panel,
	.lpc-map-right .lpc-list-panel {
		order: 2;
	}

	.lpc-list {
		max-height: none;
		overflow: visible;
	}

	.lpc-app.lpc-mobile-mode-tabs .lpc-map-panel {
		display: none;
	}

	.lpc-app.lpc-mobile-mode-tabs[data-mobile-view="map"] .lpc-map-panel {
		display: block;
	}

	.lpc-app.lpc-mobile-mode-tabs[data-mobile-view="map"] .lpc-list-panel {
		display: none;
	}

	.lpc-app.lpc-mobile-mode-tabs[data-mobile-view="list"] .lpc-list-panel {
		display: flex;
	}

	.lpc-station-top {
		gap: 9px;
	}

	.lpc-station-logo {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}

	.lpc-google-zoom-controls {
		top: 82px;
		right: 10px;
	}

	.lpc-main-price strong {
		font-size: 1.17em;
	}

	.lpc-data-date {
		display: none;
	}

	.lpc-source {
		flex-direction: column;
	}
}

@media (max-width: 430px) {
	.lpc-filters {
		grid-template-columns: 1fr;
	}

	.lpc-field--search {
		grid-column: auto;
	}

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

	.lpc-actions > * {
		flex: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lpc-app *,
	.lpc-app *::before,
	.lpc-app *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}


/* Identité commerciale des stations — v1.1.0 */
.lpc-station-logo-fallback svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
}

.lpc-station-logo:not(.is-fallback) .lpc-station-logo-fallback {
	opacity: 0;
}

.lpc-station-logo.is-fallback .lpc-station-logo-image {
	display: none;
}

.lpc-station-logo-fallback {
	color: var(--lpc-accent, #1f6b4f);
	transition: opacity .15s ease;
}

.lpc-station-logo-image {
	border: 0;
}

.lpc-map.leaflet-container {
	width: 100%;
	height: 100%;
	min-height: 300px;
	font-family: Arial, sans-serif;
}

.lpc-popup .lpc-station-logo-fallback svg {
	width: 19px;
	height: 19px;
}

/* 1.1.1 — géométrie carrée sur l'ensemble de l'affichage public. */
.lpc-app,
.lpc-app .lpc-stat,
.lpc-app .lpc-filters,
.lpc-app .lpc-field input,
.lpc-app .lpc-field select,
.lpc-app .lpc-reset,
.lpc-app .lpc-load-more,
.lpc-app .lpc-actions button,
.lpc-app .lpc-actions a,
.lpc-app .lpc-list-panel,
.lpc-app .lpc-map-panel,
.lpc-app .lpc-station,
.lpc-app .lpc-station-logo,
.lpc-app .lpc-station-meta > span,
.lpc-app .lpc-services span,
.lpc-app .lpc-price-grid > div,
.lpc-app .lpc-empty,
.lpc-app .lpc-error,
.lpc-app .lpc-warning,
.lpc-app .lpc-google-zoom-controls,
.lpc-app .lpc-google-zoom-controls button,
.lpc-app .lpc-map-notice,
.lpc-app .lpc-price-marker,
.lpc-app .lpc-station-logo--popup,
.lpc-app .lpc-mobile-tabs,
.lpc-app .lpc-mobile-tabs > button,
.lpc-app.is-loading::after,
.lpc-app .leaflet-control,
.lpc-app .leaflet-control-layers,
.lpc-app .leaflet-control-zoom,
.lpc-app .leaflet-control-zoom a,
.lpc-app .leaflet-popup-content-wrapper,
.lpc-app .leaflet-popup-tip,
.lpc-app .leaflet-bar,
.lpc-app .leaflet-bar a,
.lpc-app .leaflet-tooltip {
	border-radius: 0 !important;
}
.lpc-app {
	--lpc-radius: 0px !important;
	--lpc-card-radius: 0px !important;
}
/* Les contrôles natifs conservent uniquement leur forme fonctionnelle. */
.lpc-app input[type="radio"] { border-radius: 50% !important; }
.lpc-app input[type="checkbox"] { border-radius: 0 !important; }
