.hydra-seo-block {
    max-width: 100%;
}

.hydra-seo-block .orion-local-service,
.hydra-seo-block .orion-cta {
    box-sizing: border-box;
    margin: 2rem 0;
    border-radius: 18px;
}

.hydra-seo-block .orion-local-service {
    padding: clamp(1.5rem, 4vw, 3rem);
    color: #152238;
    background: linear-gradient(135deg, #eef7ff 0%, #ffffff 55%, #fff5e9 100%);
    border: 1px solid #dce8f5;
    box-shadow: 0 18px 50px rgba(21, 34, 56, .08);
}

.hydra-seo-block .orion-eyebrow {
    margin: 0 0 .65rem;
    color: #e26b27;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hydra-seo-block .orion-local-service h2,
.hydra-seo-block .orion-cta h2 {
    margin-top: 0;
}

.hydra-seo-block .orion-proof-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .8rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.hydra-seo-block .orion-proof-list li {
    padding: .9rem 1rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(21, 34, 56, .08);
}

.hydra-seo-block .orion-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    color: #fff;
    background: #152238;
}

.hydra-seo-block .orion-cta p {
    margin-bottom: 0;
}

.hydra-seo-block .orion-button {
    display: inline-block;
    flex: 0 0 auto;
    padding: .85rem 1.25rem;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    border-radius: 999px;
    background: #e26b27;
}

.orion-hydra-cities {
	display: block;
	clear: both;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: 0;
	margin: 2rem 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--orion-links-border, #d9e0ea);
	border-radius: calc(var(--orion-link-radius, 8px) + 8px);
	color: var(--orion-links-text, inherit);
	background: var(--orion-links-background, transparent);
	box-shadow: 0 18px 45px rgb(15 23 42 / 7%);
}

.orion-hydra-cities.theme-light {
	--orion-links-background: linear-gradient(135deg, #f8fbff 0%, #ffffff 58%, #f8fafc 100%);
	--orion-links-border: #dce5ef;
	--orion-links-text: #172033;
	--orion-link-background: #fff;
	--orion-link-border: #dfe7f0;
	--orion-link-text: #12395b;
}

.orion-hydra-cities.theme-dark {
	--orion-links-background: linear-gradient(135deg, #111827 0%, #172033 100%);
	--orion-links-border: #33445a;
	--orion-links-text: #f8fafc;
	--orion-link-background: #1c293c;
	--orion-link-border: #3b4c63;
	--orion-link-text: #f8fafc;
}

.orion-hydra-cities.theme-auto {
	--orion-links-background: transparent;
	--orion-links-border: rgb(127 127 127 / 28%);
	--orion-links-text: inherit;
	--orion-link-background: rgb(127 127 127 / 6%);
	--orion-link-border: rgb(127 127 127 / 25%);
	--orion-link-text: inherit;
}

.orion-hydra-cities h2 {
	margin: 0 0 1.15rem;
	color: inherit;
	font-size: clamp(1.25rem, 2.2vw, 1.65rem);
	font-weight: 750;
	letter-spacing: -.02em;
	line-height: 1.2;
}

.orion-hydra-cities ul {
	display: grid;
	grid-template-columns: repeat(var(--orion-city-columns, 3), minmax(0, 1fr));
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.orion-hydra-cities li {
	min-width: 0;
	margin: 0;
	padding: 0;
}

/* Orion menus can contain many local links in a footer: keep the footer usable. */
[class*="menu-orion-villes-par-service"],
[class*="menu-orion-services-par-ville"],
[class*="menu-orion-liens-locaux-mixtes"] {
	max-height: 360px;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	padding-right: 8px;
}

/* Footer widgets must stay as compact as WordPress' native Recent Posts widget. */
footer .orion-hydra-cities,
.site-footer .orion-hydra-cities,
#colophon .orion-hydra-cities {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

footer .orion-hydra-cities h2,
.site-footer .orion-hydra-cities h2,
#colophon .orion-hydra-cities h2 {
	margin: 0 0 .65rem;
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
}

footer .orion-hydra-cities ul,
.site-footer .orion-hydra-cities ul,
#colophon .orion-hydra-cities ul,
footer [class*="menu-orion-villes-par-service"],
footer [class*="menu-orion-services-par-ville"],
footer [class*="menu-orion-liens-locaux-mixtes"],
.site-footer [class*="menu-orion-villes-par-service"],
.site-footer [class*="menu-orion-services-par-ville"],
.site-footer [class*="menu-orion-liens-locaux-mixtes"],
#colophon [class*="menu-orion-villes-par-service"],
#colophon [class*="menu-orion-services-par-ville"],
#colophon [class*="menu-orion-liens-locaux-mixtes"] {
	display: block;
	margin: 0;
	padding: 0 .45rem 0 0;
	list-style: none;
}

footer .orion-hydra-cities li,
.site-footer .orion-hydra-cities li,
#colophon .orion-hydra-cities li,
footer [class*="menu-orion-"] > li,
.site-footer [class*="menu-orion-"] > li,
#colophon [class*="menu-orion-"] > li {
	margin: 0 0 .45rem;
	padding: 0;
	border: 0;
	background: transparent;
}

footer .orion-hydra-cities a,
.site-footer .orion-hydra-cities a,
#colophon .orion-hydra-cities a,
footer [class*="menu-orion-"] > li > a,
.site-footer [class*="menu-orion-"] > li > a,
#colophon [class*="menu-orion-"] > li > a {
	display: inline;
	padding: 0;
	border: 0;
	border-radius: 0;
	color: inherit;
	background: transparent;
	box-shadow: none;
	text-decoration: none;
}

footer .orion-hydra-cities a:hover,
footer .orion-hydra-cities a:focus-visible,
.site-footer .orion-hydra-cities a:hover,
.site-footer .orion-hydra-cities a:focus-visible,
#colophon .orion-hydra-cities a:hover,
#colophon .orion-hydra-cities a:focus-visible {
	transform: none;
	box-shadow: none;
	text-decoration: underline;
}

footer .orion-hydra-cities a::before,
footer .orion-hydra-cities a::after,
.site-footer .orion-hydra-cities a::before,
.site-footer .orion-hydra-cities a::after,
#colophon .orion-hydra-cities a::before,
#colophon .orion-hydra-cities a::after {
	display: none;
	content: none;
}

.orion-hydra-cities.is-scrollable ul {
	max-height: var(--orion-list-height, 320px);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-color: var(--orion-link-accent, #2563eb) transparent;
	scrollbar-width: thin;
	padding-right: .5rem;
}

.orion-hydra-cities.is-scrollable ul::-webkit-scrollbar,
[class*="menu-orion-villes-par-service"]::-webkit-scrollbar,
[class*="menu-orion-services-par-ville"]::-webkit-scrollbar,
[class*="menu-orion-liens-locaux-mixtes"]::-webkit-scrollbar { width: 8px; }
.orion-hydra-cities.is-scrollable ul::-webkit-scrollbar-thumb,
[class*="menu-orion-villes-par-service"]::-webkit-scrollbar-thumb,
[class*="menu-orion-services-par-ville"]::-webkit-scrollbar-thumb,
[class*="menu-orion-liens-locaux-mixtes"]::-webkit-scrollbar-thumb { border-radius: 999px; background: var(--orion-link-accent, #2563eb); }

.orion-hydra-cities.columns-1 { --orion-city-columns: 1; }
.orion-hydra-cities.columns-2 { --orion-city-columns: 2; }
.orion-hydra-cities.columns-3 { --orion-city-columns: 3; }
.orion-hydra-cities.columns-4 { --orion-city-columns: 4; }

.orion-hydra-cities a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	min-height: 48px;
	padding: .8rem 1rem;
	border: var(--orion-link-border-width, 1px) solid var(--orion-link-border, #d9e0ea);
	border-radius: var(--orion-link-radius, 8px);
	color: var(--orion-link-text, inherit);
	background: var(--orion-link-background, transparent);
	box-shadow: var(--orion-link-shadow, 0 1px 3px rgb(16 24 39 / 8%));
	text-decoration: none;
	font-size: .96rem;
	font-weight: 650;
	line-height: 1.35;
	transition: color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.orion-hydra-cities.style-cards a::after {
	content: "\2192";
	flex: 0 0 auto;
	margin-left: .85rem;
	color: var(--orion-link-accent, #2563eb);
	font-size: 1.1em;
	font-weight: 800;
	transition: transform .18s ease;
}

.orion-hydra-cities.style-cards a:hover::after,
.orion-hydra-cities.style-cards a:focus-visible::after {
	transform: translateX(3px);
}

.orion-hydra-cities.style-simple {
	padding-top: 1.35rem;
	padding-bottom: 1.35rem;
	box-shadow: none;
}

.orion-hydra-cities.style-simple ul {
	gap: 0 1.5rem;
}

.orion-hydra-cities.style-simple li {
	border-bottom: 1px solid var(--orion-link-border, rgb(127 127 127 / 25%));
}

.orion-hydra-cities.style-simple a {
	min-height: 44px;
	padding: .68rem .1rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.orion-hydra-cities.style-simple a::before {
	content: "";
	flex: 0 0 6px;
	width: 6px;
	height: 6px;
	margin-right: .65rem;
	border-radius: 999px;
	background: var(--orion-link-accent, #2563eb);
}

.orion-hydra-cities .orion-hydra-beyond {
	margin: 1rem 0 0;
	color: var(--orion-link-accent, #2563eb);
	font-weight: 700;
}

.orion-hydra-cities a:hover,
.orion-hydra-cities a:focus-visible {
	color: var(--orion-link-accent, inherit);
	transform: translateY(-1px);
	box-shadow: 0 5px 15px rgb(16 24 39 / 16%);
	outline: none;
}

.orion-hydra-cities.style-simple a:hover,
.orion-hydra-cities.style-simple a:focus-visible {
	transform: translateX(3px);
	box-shadow: none;
}

.orion-hydra-generated-image {
	margin: 1.75rem 0;
}

.orion-hydra-generated-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

.orion-hydra-generated-image figcaption {
	margin-top: .45rem;
	color: #5f6b7a;
	font-size: .9rem;
}

@media (max-width: 700px) {
	.orion-hydra-cities ul {
		grid-template-columns: 1fr;
	}
}

.hydra-demo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0 2rem;
}

.hydra-demo-card {
    padding: 1.25rem;
    border: 1px solid #dfe6ee;
    border-radius: 14px;
    background: #fff;
}

.hydra-demo-card h2,
.hydra-demo-card h3 {
    margin-top: 0;
}

@media (max-width: 640px) {
    .hydra-seo-block .orion-cta {
        align-items: flex-start;
        flex-direction: column;
    }
}
