/* Stickers Stationnement : charte « gestionnaires de lieux » (bleu nuit, vert pétrole). */
@font-face {
	font-family: "Archivo";
	src: url("fonts/archivo-latin.woff2") format("woff2");
	font-weight: 500 800;
	font-stretch: 62% 125%;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--ss-encre: #13233a;
	--ss-encre-2: #22385a;
	--ss-texte: #1f2a37;
	--ss-doux: #5b6675;
	--ss-accent: #0b7a6f;
	--ss-accent-fonce: #075a52;
	--ss-accent-pale: #e3f2ef;
	--ss-signal: #d63a26;
	--ss-sable: #f5f3ee;
	--ss-ligne: #dfdbd2;
	--ss-blanc: #fff;
	--ss-rayon: 10px;
	--ss-ombre: 0 1px 2px rgba(19, 35, 58, .06), 0 6px 20px rgba(19, 35, 58, .07);
	--ss-titre: "Archivo", "Arial Narrow", system-ui, sans-serif;
	--ss-corps: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Base ---------- */
body.ss2, body.ss2 button, body.ss2 input, body.ss2 select, body.ss2 textarea {
	font-family: var(--ss-corps);
	color: var(--ss-texte);
}
body.ss2 { background: #fff; font-size: 17px; line-height: 1.6; }
body.ss2 h1, body.ss2 h2, body.ss2 h3, body.ss2 h4,
body.ss2 .entry-title, body.ss2 .woocommerce-products-header__title,
body.ss2 .product_title, body.ss2 .woocommerce-loop-product__title {
	font-family: var(--ss-titre);
	font-stretch: 88%;
	color: var(--ss-encre);
	letter-spacing: -.01em;
	line-height: 1.15;
	font-weight: 750;
}
body.ss2 h1, body.ss2 .product_title { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.6rem); }
body.ss2 h2 { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.8rem); margin-top: 1.6em; }
body.ss2 h3 { font-size: 1.2rem; }
body.ss2 a { color: var(--ss-accent-fonce); }
body.ss2 a:hover { color: var(--ss-encre); }
body.ss2 table { border-collapse: collapse; width: 100%; font-size: .95rem; }
body.ss2 .entry-content table th, body.ss2 .entry-content table td,
body.ss2 .ssseo-bloc table th, body.ss2 .ssseo-bloc table td { border: 1px solid var(--ss-ligne); padding: .6em .8em; text-align: left; vertical-align: top; }
body.ss2 .entry-content table thead th, body.ss2 .ssseo-bloc table thead th { background: var(--ss-encre); color: #fff; border-color: var(--ss-encre); }
body.ss2 .entry-content table tbody tr:nth-child(even), body.ss2 .ssseo-bloc table tbody tr:nth-child(even) { background: var(--ss-sable); }

/* Boutons */
body.ss2 .button, body.ss2 button.button, body.ss2 .single_add_to_cart_button, body.ss2 .ast-button,
body.ss2 input[type="submit"], body.ss2 .wp-element-button, body.ss2 .checkout-button, body.ss2 #place_order,
.ss2-btn {
	background: var(--ss-accent) !important;
	border: 2px solid var(--ss-accent) !important;
	color: #fff !important;
	border-radius: 8px !important;
	font-family: var(--ss-titre);
	font-stretch: 92%;
	font-weight: 700;
	letter-spacing: .01em;
	text-transform: none !important;
	padding: .75em 1.3em;
	line-height: 1.2 !important;
	height: auto !important;
	transition: background .15s, border-color .15s;
}
body.ss2 .button:hover, body.ss2 .single_add_to_cart_button:hover, body.ss2 #place_order:hover, .ss2-btn:hover {
	background: var(--ss-accent-fonce) !important;
	border-color: var(--ss-accent-fonce) !important;
	color: #fff !important;
}
.ss2-btn { display: inline-block; text-decoration: none; margin: .25em .4em .25em 0; }
.ss2-btn.ss2-btn-ghost { background: transparent !important; color: var(--ss-encre) !important; border-color: var(--ss-encre) !important; }
.ss2-btn.ss2-btn-ghost:hover { background: var(--ss-encre) !important; color: #fff !important; }
body.ss2 :focus-visible { outline: 3px solid var(--ss-accent); outline-offset: 2px; }

/* ---------- En-tête ---------- */
body.ss2 .ast-above-header-bar, body.ss2 .ast-above-header.ast-above-header-bar {
	background: var(--ss-encre) !important;
	color: #dbe4ef;
	font-size: .85rem;
	min-height: 0;
}
body.ss2 .ast-above-header-bar *, body.ss2 .ast-above-header-bar a { color: #dbe4ef !important; }
body.ss2 .ast-above-header-bar strong { color: #fff !important; }
body.ss2 .ast-primary-header-bar { border-bottom: 1px solid var(--ss-ligne) !important; background: #fff; }
body.ss2 .ast-below-header-bar { background: #fff !important; border-bottom: 1px solid var(--ss-ligne) !important; }
body.ss2 .main-header-menu .menu-link, body.ss2 .ast-builder-menu .menu-item > .menu-link {
	font-family: var(--ss-titre);
	font-stretch: 90%;
	font-weight: 650;
	color: var(--ss-encre) !important;
	font-size: 1rem;
}
body.ss2 .main-header-menu .current-menu-item > .menu-link,
body.ss2 .main-header-menu .menu-link:hover { color: var(--ss-accent) !important; }
body.ss2 .main-header-menu .sub-menu { border-top: 3px solid var(--ss-accent); box-shadow: var(--ss-ombre); }
body.ss2 .ast-site-header-cart .ast-cart-menu-wrap .count,
body.ss2 .ast-site-header-cart .count { background: var(--ss-accent) !important; border-color: var(--ss-accent) !important; color: #fff !important; }

/* ---------- Pied de page ---------- */
body.ss2 .site-footer, body.ss2 .site-above-footer-wrap, body.ss2 .site-primary-footer-wrap, body.ss2 .site-below-footer-wrap {
	background: var(--ss-encre) !important;
	color: #c9d3df;
	border: 0 !important;
}
body.ss2 .site-footer a, body.ss2 .site-footer .menu-link { color: #fff !important; }
body.ss2 .site-footer h2, body.ss2 .site-footer h3, body.ss2 .site-footer .widget-title { color: #fff; }
body.ss2 .site-below-footer-wrap { border-top: 1px solid rgba(255, 255, 255, .12) !important; font-size: .85rem; }

/* ---------- Grilles produits ---------- */
body.ss2 ul.products li.product {
	background: #fff;
	border: 1px solid var(--ss-ligne);
	border-radius: var(--ss-rayon);
	padding: 0 0 1em !important;
	overflow: hidden;
	transition: box-shadow .15s, transform .15s;
	display: flex;
	flex-direction: column;
}
body.ss2 ul.products li.product:hover { box-shadow: var(--ss-ombre); transform: translateY(-2px); }
body.ss2 ul.products li.product .astra-shop-thumbnail-wrap { background: var(--ss-sable); margin-bottom: .8em; }
body.ss2 ul.products li.product img { margin: 0 !important; aspect-ratio: 1; object-fit: cover; width: 100%; }
body.ss2 ul.products li.product .astra-shop-summary-wrap { padding: 0 1em; display: flex; flex-direction: column; flex: 1; }
body.ss2 ul.products li.product .woocommerce-loop-product__title { font-size: 1.02rem !important; font-weight: 650; line-height: 1.3; margin-bottom: .4em; }
body.ss2 ul.products li.product .ast-woo-product-category { display: none; }
body.ss2 ul.products li.product .price { margin-top: auto; color: var(--ss-encre) !important; }
body.ss2 ul.products li.product .button { margin-top: .7em; width: 100%; text-align: center; font-size: .95rem; }
body.ss2 ul.products li.product .star-rating { font-size: .8rem; margin: .1em 0 .4em; }
body.ss2 .star-rating span::before, body.ss2 .star-rating::before { color: #d99a00; }
body.ss2 .onsale { background: var(--ss-signal) !important; }
body.ss2 .ast-on-card-button, body.ss2 .ast-quick-view-trigger { display: none !important; }

/* Prix TTC / HT */
.ss2-prix { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15em .35em; }
.ss2-prix-des { font-size: .82em; color: var(--ss-doux); font-weight: 500; }
body.ss2 .price .woocommerce-Price-amount { font-weight: 750; color: var(--ss-encre); }
.ss2-ttc { font-size: .75em; color: var(--ss-doux); font-weight: 600; }
.ss2-prix-ht { display: block; flex-basis: 100%; font-size: .8em; color: var(--ss-doux); font-weight: 500; }
.ss2-prix-ht .woocommerce-Price-amount { font-weight: 600 !important; color: var(--ss-doux) !important; }

/* ---------- Archives : en-tête, navigation par lieu, bloc bas ---------- */
body.ss2.tax-product_cat .woocommerce-products-header,
body.ss2.post-type-archive-product .woocommerce-products-header {
	background: var(--ss-sable);
	border-radius: var(--ss-rayon);
	padding: 1.6em 1.6em 1.2em;
	margin-bottom: 1.5em;
}
body.ss2 .term-description { max-width: none; font-size: 1.05rem; color: var(--ss-texte); }
.ss2-lieux-nav { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; margin: 1em 0 .2em; }
.ss2-lieux-nav-titre { font-family: var(--ss-titre); font-weight: 700; font-stretch: 90%; color: var(--ss-encre); margin-right: .3em; }
.ss2-lieux-nav a {
	display: inline-block; padding: .4em .85em; border-radius: 999px;
	border: 1px solid var(--ss-ligne); background: #fff; color: var(--ss-encre);
	text-decoration: none; font-size: .9rem; font-weight: 600;
}
.ss2-lieux-nav a:hover { border-color: var(--ss-accent); color: var(--ss-accent-fonce); }
.ss2-lieux-nav a.actif { background: var(--ss-encre); border-color: var(--ss-encre); color: #fff; }
body.ss2 .ssseo-bloc { max-width: none !important; padding: 0 !important; margin-top: 3rem !important; }
body.ss2 .ssseo-bloc h3 { margin-top: 1.4em; }
.ss2-guides { max-width: none; margin: 2.5em 0 0; padding: 0; }
.ss2-guides ul { columns: 3; column-gap: 2.5em; padding-left: 1.1em; }
.ss2-guides li { break-inside: avoid; margin-bottom: .5em; }

/* ---------- Fiche produit ---------- */
body.ss2.single-product div.product .summary .price { font-size: 1.5rem; }
body.ss2.single-product .woocommerce-product-details__short-description { color: var(--ss-texte); font-size: 1.02rem; }
body.ss2.single-product div.product form.cart .variations select { border: 1px solid var(--ss-ligne); border-radius: 8px; padding: .55em .8em; background-color: #fff; }
body.ss2.single-product div.product form.cart .variations th, body.ss2.single-product div.product form.cart .variations td { border: 0; padding: .3em 0; }
.ss2-tarifs { margin: 1.4em 0 1em; border: 1px solid var(--ss-ligne); border-radius: var(--ss-rayon); overflow: hidden; }
.ss2-tarifs table { margin: 0 !important; font-size: .92rem; border: 0 !important; }
.ss2-tarifs caption { caption-side: top; text-align: left; font-family: var(--ss-titre); font-weight: 700; font-stretch: 90%; color: #fff; background: var(--ss-encre); padding: .55em .9em; font-size: 1rem; }
.ss2-tarifs th, .ss2-tarifs td { border: 0 !important; border-bottom: 1px solid var(--ss-ligne) !important; padding: .5em .9em !important; text-align: left; background: #fff; }
.ss2-tarifs thead th { background: var(--ss-sable) !important; color: var(--ss-doux) !important; font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.ss2-tarifs tbody th { font-weight: 600; color: var(--ss-encre); }
.ss2-tarifs-note { font-size: .8rem; color: var(--ss-doux); margin: 0; padding: .6em .9em; background: var(--ss-sable); }
.ss2-eco { display: inline-block; background: var(--ss-accent-pale); color: var(--ss-accent-fonce); font-weight: 700; font-size: .75rem; padding: .05em .45em; border-radius: 4px; margin-left: .2em; }
.ss2-franco { display: inline-block; background: #fff4e0; color: #8a5300; font-weight: 700; font-size: .72rem; padding: .05em .45em; border-radius: 4px; margin-left: .2em; }
.ss2-reassurance { list-style: none; margin: 1em 0 .6em !important; padding: 0 !important; display: grid; gap: .45em; }
.ss2-reassurance li { position: relative; padding-left: 1.7em; font-size: .93rem; }
.ss2-reassurance li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1.05em; height: 1.05em; border-radius: 50%; background: var(--ss-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E") center/80% no-repeat; }
.ss2-question { font-size: .9rem; color: var(--ss-doux); }
body.ss2.single-product .woocommerce-tabs { margin-top: 2.5em; }
body.ss2.single-product .woocommerce-tabs ul.tabs li a { font-family: var(--ss-titre); font-stretch: 90%; font-weight: 700; }
body.ss2.single-product .woocommerce-tabs .panel { max-width: none; }
.ss2-carac th { width: 32%; background: var(--ss-sable); font-weight: 600; color: var(--ss-encre); }
.ss2-etapes { padding-left: 1.3em; }
.ss2-etapes li { margin-bottom: .4em; }
.ss2-note { background: var(--ss-sable); border-left: 4px solid var(--ss-accent); padding: .9em 1.1em; border-radius: 0 8px 8px 0; font-size: .95rem; }
.ss2-lieux p { display: flex; flex-wrap: wrap; gap: .5em; }
.ss2-lieux a { padding: .4em .9em; border-radius: 999px; background: var(--ss-accent-pale); color: var(--ss-accent-fonce); text-decoration: none; font-weight: 600; font-size: .92rem; }
.ss2-faq details { border: 1px solid var(--ss-ligne); border-radius: 8px; margin-bottom: .6em; background: #fff; }
.ss2-faq summary { cursor: pointer; padding: .85em 1.1em; font-weight: 650; color: var(--ss-encre); list-style: none; position: relative; padding-right: 2.6em; }
.ss2-faq summary::-webkit-details-marker { display: none; }
.ss2-faq summary::after { content: "+"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); font-size: 1.3em; color: var(--ss-accent); font-weight: 400; }
.ss2-faq details[open] summary::after { content: "−"; }
.ss2-faq details > div { padding: 0 1.1em .9em; }
.ss2-faq details > div p:last-child { margin-bottom: 0; }

/* ---------- Encart de fin d'article ---------- */
.ss2-encart { margin: 2.5em 0 1em; padding: 1.4em; border-radius: var(--ss-rayon); background: var(--ss-sable); border: 1px solid var(--ss-ligne); }
.ss2-encart-titre { font-family: var(--ss-titre); font-stretch: 90%; font-weight: 750; font-size: 1.3rem; color: var(--ss-encre); margin: 0 0 .3em; }
.ss2-encart-intro { font-size: .95rem; color: var(--ss-doux); margin-bottom: 1em; }
.ss2-cartes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1em; }
.ss2-carte { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ss-ligne); border-radius: 8px; overflow: hidden; text-decoration: none !important; color: var(--ss-texte) !important; }
.ss2-carte:hover { box-shadow: var(--ss-ombre); }
.ss2-carte img { width: 100%; aspect-ratio: 1; object-fit: cover; margin: 0 !important; }
.ss2-carte-nom { font-size: .88rem; font-weight: 600; line-height: 1.3; padding: .6em .7em .2em; color: var(--ss-encre); }
.ss2-carte-prix { font-size: .85rem; padding: 0 .7em .7em; margin-top: auto; }
.ss2-encart-lien { margin: 1em 0 0; font-weight: 650; }

/* ---------- Accueil ---------- */
body.ss2.home .entry-header, body.ss2.home .ast-archive-description { display: none; }
body.ss2.home .site-content > .ast-container { max-width: 100%; padding: 0; }
body.ss2.home #primary { margin: 0; padding: 0; }
body.ss2.home .entry-content > .ss2-accueil { margin: 0; }
.ss2-accueil { overflow-x: clip; }
.ss2-accueil > section { max-width: 1200px; margin: 0 auto; padding: 3.2em 20px; }
.ss2-hero {
	display: grid; grid-template-columns: 1.1fr .9fr; gap: 2.5em; align-items: center;
	position: relative; padding-top: 3.5em !important; padding-bottom: 3.5em !important;
}
.ss2-hero::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw; z-index: -1;
	background: linear-gradient(135deg, #13233a 0%, #1d3553 60%, #0b5f58 140%);
}
.ss2-hero h1 { color: #fff !important; font-size: clamp(2rem, 1.3rem + 2.8vw, 3.2rem) !important; margin: .2em 0 .45em; }
.ss2-surtitre { color: #8fd9cd; font-family: var(--ss-titre); font-stretch: 92%; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .85rem; margin: 0; }
.ss2-hero-intro { color: #dbe4ef; font-size: 1.1rem; max-width: 56ch; }
.ss2-hero .ss2-btn-ghost { color: #fff !important; border-color: rgba(255, 255, 255, .7) !important; }
.ss2-hero .ss2-btn-ghost:hover { background: #fff !important; color: var(--ss-encre) !important; }
.ss2-preuves { list-style: none; padding: 0; margin: 1.6em 0 0; display: flex; flex-wrap: wrap; gap: .6em 1.6em; color: #c9d3df; font-size: .92rem; }
.ss2-preuves strong { color: #fff; }
.ss2-hero-visuel { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: .9em; }
.ss2-hero-visuel a { display: block; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 30px rgba(0, 0, 0, .3); background: #fff; }
.ss2-hero-visuel a:first-child { grid-row: span 2; }
.ss2-hero-visuel img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; }
.ss2-bande { padding-top: 0 !important; padding-bottom: 0 !important; }
.ss2-bande ul { list-style: none; margin: -1.6em 0 0; padding: 1.2em; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1em; background: #fff; border-radius: var(--ss-rayon); box-shadow: var(--ss-ombre); position: relative; }
.ss2-bande li { display: flex; flex-direction: column; font-size: .88rem; color: var(--ss-doux); padding-left: .9em; border-left: 3px solid var(--ss-accent); }
.ss2-bande strong { color: var(--ss-encre); font-size: 1rem; }
.ss2-section > h2 { text-align: center; margin-top: 0; }
.ss2-chapo { text-align: center; max-width: 64ch; margin: 0 auto 2em; color: var(--ss-doux); font-size: 1.05rem; }
.ss2-lieux-grille { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1em; }
.ss2-lieu { display: flex; flex-direction: column; border: 1px solid var(--ss-ligne); border-radius: var(--ss-rayon); overflow: hidden; text-decoration: none !important; background: #fff; transition: box-shadow .15s, transform .15s; }
.ss2-lieu:hover { box-shadow: var(--ss-ombre); transform: translateY(-3px); }
.ss2-lieu img { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin: 0 !important; background: var(--ss-sable); }
.ss2-lieu-corps { display: flex; flex-direction: column; gap: .35em; padding: .9em 1em 1em; flex: 1; }
.ss2-lieu-pour { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--ss-accent-fonce); font-weight: 700; }
.ss2-lieu-nom { font-family: var(--ss-titre); font-stretch: 90%; font-weight: 750; font-size: 1.1rem; color: var(--ss-encre); line-height: 1.2; }
.ss2-lieu-txt { font-size: .88rem; color: var(--ss-doux); line-height: 1.45; }
.ss2-lieu-nb { margin-top: auto; font-weight: 700; font-size: .85rem; color: var(--ss-accent-fonce); }
.ss2-centre { text-align: center; margin-top: 1.5em; }
.ss2-fond { position: relative; }
.ss2-fond::before { content: ""; position: absolute; inset: 0 auto 0 calc(50% - 50vw); width: 100vw; background: var(--ss-sable); z-index: -1; }
.ss2-trois { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4em; counter-reset: etape; }
.ss2-trois li { background: #fff; border-radius: var(--ss-rayon); padding: 1.4em; border: 1px solid var(--ss-ligne); counter-increment: etape; display: flex; flex-direction: column; gap: .4em; }
.ss2-trois li::before { content: counter(etape); width: 2em; height: 2em; border-radius: 50%; background: var(--ss-accent); color: #fff; font-family: var(--ss-titre); font-weight: 800; display: grid; place-items: center; }
.ss2-trois strong { font-family: var(--ss-titre); font-stretch: 90%; font-size: 1.15rem; color: var(--ss-encre); }
.ss2-trois span { color: var(--ss-doux); font-size: .95rem; }
.ss2-deux-col { display: grid; grid-template-columns: 1.2fr .8fr; gap: 2.5em; align-items: start; }
.ss2-deux-col h2 { margin-top: 0; }
.ss2-enbref { background: var(--ss-sable); border-radius: var(--ss-rayon); padding: 1.4em; }
.ss2-enbref table { font-size: .9rem; }
.ss2-enbref th, .ss2-enbref td { border: 0 !important; border-bottom: 1px solid var(--ss-ligne) !important; padding: .5em .3em !important; background: none !important; text-align: left; vertical-align: top; }
.ss2-enbref th { color: var(--ss-encre); width: 36%; font-weight: 650; }
.ss2-guides-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1em; }
.ss2-guide { display: flex; flex-direction: column; border-radius: var(--ss-rayon); overflow: hidden; border: 1px solid var(--ss-ligne); text-decoration: none !important; color: var(--ss-encre) !important; background: #fff; }
.ss2-guide img { width: 100%; aspect-ratio: 16/10; object-fit: cover; margin: 0 !important; }
.ss2-guide span { padding: .8em 1em 1em; font-weight: 650; line-height: 1.35; font-size: .95rem; }
.ss2-faq-accueil .ss2-faq { max-width: none; }
.ss2-accueil ul.products { margin-bottom: 0 !important; }

/* Pages de contenu */

/* ---------- Mobile ---------- */
@media (max-width: 1024px) {
	.ss2-lieux-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ss2-guides-grille, .ss2-cartes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ss2-bande ul { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
	body.ss2 { font-size: 16px; }
	.ss2-hero { grid-template-columns: 1fr; gap: 1.6em; padding-top: 2em !important; }
	.ss2-hero-visuel { order: -1; grid-template-rows: auto; }
	.ss2-hero-visuel a:first-child { grid-row: auto; }
	.ss2-hero-visuel a:nth-child(3) { display: none; }
	.ss2-lieux-grille { grid-template-columns: 1fr 1fr; }
	.ss2-trois, .ss2-deux-col { grid-template-columns: 1fr; }
	.ss2-bande ul { grid-template-columns: 1fr 1fr; margin-top: -1em; }
	.ss2-guides ul { columns: 1; }
	.ss2-accueil > section { padding: 2.4em 16px; }
	.ss2-tarifs th, .ss2-tarifs td { padding: .45em .5em !important; font-size: .85rem; }
}
@media (max-width: 480px) {
	.ss2-lieux-grille, .ss2-bande ul { grid-template-columns: 1fr; }
	.ss2-cartes, .ss2-guides-grille { grid-template-columns: 1fr 1fr; }
}

/* Pied de page (textes Astra) */
.ss2-pied-marque { font-family: var(--ss-titre); font-stretch: 90%; font-weight: 800; font-size: 1.35rem; color: #fff; margin-bottom: .3em; }
.ss2-pied-titre { font-family: var(--ss-titre); font-stretch: 90%; font-weight: 700; color: #fff; margin: 0 0 .2em; text-transform: uppercase; letter-spacing: .05em; font-size: .85rem; }
body.ss2 .site-footer p { margin-bottom: .9em; font-size: .92rem; line-height: 1.55; }
body.ss2 .site-above-footer-wrap { padding: 2.5em 0 1.5em; }
.ss2-chapo-page { font-size: 1.12rem; color: var(--ss-doux); }
body.ss2.single-product .summary .ast-woo-product-category,
body.ss2.single-product .product_meta .posted_in { display: none; }
body.ss2.single-product .product_meta { font-size: .8rem; color: var(--ss-doux); }
body.ss2 .site-below-footer-wrap, body.ss2 .site-below-footer-wrap .ast-footer-copyright { color: #aebbcb !important; }

/* Mobile : en-tête et cartes de lieux */
@media (max-width: 921px) {
	body.ss2 .ast-mobile-header-wrap .ast-header-html-1,
	body.ss2 #ast-mobile-header .ast-header-html-1 { display: none !important; }
	body.ss2 .ast-header-html-2 a[href^="mailto"], body.ss2 .ast-header-html-2 .ss2-sep { display: none; }
	body.ss2 .ast-header-html-2 { font-size: .85rem; }
}
@media (max-width: 760px) {
	.ss2-lieux-grille { grid-template-columns: 1fr; gap: .7em; }
	.ss2-lieu { flex-direction: row; align-items: stretch; }
	.ss2-lieu { align-items: center; }
	.ss2-lieu img { width: 92px !important; min-width: 92px; height: 92px !important; aspect-ratio: 1; object-fit: cover; margin: .6em 0 .6em .6em !important; border-radius: 6px; }
	.ss2-lieu-corps { padding: .7em .9em; gap: .2em; }
	.ss2-lieu-nom { font-size: 1.02rem; }
	.ss2-hero-visuel { grid-template-columns: 1fr 1fr; }
	.ss2-hero-visuel img { max-height: 170px; }
}
body.ss2 .woocommerce-ordering select { padding-right: 2.4em !important; background-position: right .8em center !important; background-repeat: no-repeat !important; }

/* ---------- En-tête sur une ligne (26/09) ---------- */
body.ss2 .ast-primary-header-bar { border-bottom: 1px solid var(--ss-ligne) !important; box-shadow: 0 2px 10px rgba(19, 35, 58, .05); }
body.ss2 .site-primary-header-wrap { min-height: 84px; }
body.ss2 .ast-primary-header-bar .site-header-primary-section-right { gap: 1.1em; }
body.ss2 .ast-primary-header-bar .main-header-menu > .menu-item > .menu-link { padding: 0 .85em; line-height: 84px; position: relative; }
body.ss2 .ast-primary-header-bar .main-header-menu > .menu-item:not(.ss2-menu-pro) > .menu-link::after {
	content: ""; position: absolute; left: .85em; right: .85em; bottom: 24px; height: 2px; border-radius: 2px;
	background: var(--ss-accent); transform: scaleX(0); transition: transform .18s ease;
}
body.ss2 .ast-primary-header-bar .main-header-menu > .menu-item:not(.ss2-menu-pro):hover > .menu-link::after,
body.ss2 .ast-primary-header-bar .main-header-menu > .current-menu-item:not(.ss2-menu-pro) > .menu-link::after,
body.ss2 .ast-primary-header-bar .main-header-menu > .current-menu-ancestor > .menu-link::after { transform: scaleX(1); }
body.ss2 .main-header-menu > .current-menu-item > .menu-link, body.ss2 .main-header-menu > .current-menu-ancestor > .menu-link { color: var(--ss-encre) !important; }
/* « Commande pro » en bouton */
body.ss2 .main-header-menu > .ss2-menu-pro { margin-left: .5em; }
body.ss2 .main-header-menu > .ss2-menu-pro > .menu-link {
	line-height: 1.2 !important; padding: .62em 1.1em !important; border-radius: 8px;
	background: var(--ss-accent); color: #fff !important; transition: background .15s;
}
body.ss2 .main-header-menu > .ss2-menu-pro > .menu-link:hover { background: var(--ss-accent-fonce); }
body.ss2 .main-header-menu > .ss2-menu-pro { align-self: center; }
/* Sous-menu par lieu */
body.ss2 .main-header-menu .sub-menu { border-radius: 0 0 10px 10px; padding: .4em 0; min-width: 300px; border-top: 3px solid var(--ss-accent); }
body.ss2 .main-header-menu .sub-menu .menu-link { line-height: 1.35 !important; padding: .65em 1.2em !important; font-size: .95rem; }
body.ss2 .main-header-menu .sub-menu .menu-item:last-child .menu-link { border-top: 1px solid var(--ss-ligne); font-weight: 700; }
/* Compte et panier */
body.ss2 .ast-header-account-wrap .ast-header-account-link, body.ss2 .ast-header-account-wrap svg { color: var(--ss-encre) !important; fill: var(--ss-encre) !important; }
body.ss2 .ast-site-header-cart .ast-cart-menu-wrap, body.ss2 .ast-site-header-cart .ast-addon-cart-wrap {
	border: 0 !important; background: var(--ss-sable) !important; border-radius: 50% !important;
	width: 44px; height: 44px; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 !important;
}
body.ss2 .ast-site-header-cart .ast-cart-menu-wrap:hover, body.ss2 .ast-site-header-cart .ast-addon-cart-wrap:hover { background: var(--ss-accent-pale) !important; }
body.ss2 .ast-site-header-cart .ast-woo-header-cart-info-wrap { display: none; }
body.ss2 .ast-site-header-cart .ast-icon svg, body.ss2 .ast-site-header-cart .ahfb-svg-iconset svg { fill: var(--ss-encre) !important; color: var(--ss-encre) !important; }
body.ss2 .ast-site-header-cart .count, body.ss2 .ast-site-header-cart .ast-count-text { color: var(--ss-encre); }
body.ss2 .ast-site-header-cart .astra-icon::after, body.ss2 .ast-site-header-cart .ast-cart-menu-wrap .count::after { border-color: transparent !important; }
/* Mobile */
@media (max-width: 921px) {
	body.ss2 .ast-mobile-header-wrap .ast-primary-header-bar { min-height: 64px; }
	body.ss2 .ast-mobile-header-wrap .site-header-primary-section-right { gap: .7em; }
	body.ss2 .ast-mobile-header-wrap .ast-above-header-bar { text-align: center; }
	body.ss2 .ast-mobile-header-wrap .custom-logo-link img { max-width: 150px; height: auto; }
	body.ss2 .ast-button-wrap .menu-toggle { background: var(--ss-encre) !important; border-radius: 8px !important; }
	body.ss2 .ast-button-wrap .menu-toggle .ast-mobile-svg { fill: #fff !important; }
}
body.ss2.single-product .summary .single-product-category { display: none; }

/* ---------- Centre de guides (/actualites/) ---------- */
body.ss2.page-template-default .ss2-guides-hub { margin: 0; }
.ss2-guides-hub { position: relative; }
body.ss2:has(.ss2-guides-hub) #page, body.ss2:has(.ss2-guides-hub) .site { overflow-x: clip; }
.ss2-gh-tete { position: relative; padding: 3.2em 0 4.6em; color: #dbe4ef; }
.ss2-gh-tete::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw; z-index: -1; background: linear-gradient(135deg, #13233a 0%, #1d3553 60%, #0b5f58 140%); }
.ss2-gh-tete h1 { color: #fff !important; margin: .25em 0 .4em; max-width: 22ch; font-size: clamp(2rem, 1.3rem + 2.6vw, 3rem) !important; }
.ss2-gh-intro { max-width: 70ch; font-size: 1.1rem; color: #dbe4ef; }
.ss2-gh-chiffres { list-style: none; padding: 0; margin: 1.4em 0 0 !important; display: flex; flex-wrap: wrap; gap: .5em 2em; font-size: .95rem; }
.ss2-gh-chiffres strong { color: #fff; font-family: var(--ss-titre); font-stretch: 90%; font-size: 1.15rem; }
.ss2-gh-une { margin-top: -2.6em; position: relative; }
.ss2-gh-filtres { display: flex; flex-wrap: wrap; gap: .5em; margin: 2.4em 0 1.4em; }
.ss2-gh-filtres button {
	font: inherit; font-size: .92rem; font-weight: 600; cursor: pointer;
	padding: .5em 1em; border-radius: 999px; border: 1px solid var(--ss-ligne); background: #fff; color: var(--ss-encre);
	transition: border-color .15s, background .15s;
}
.ss2-gh-filtres button span { display: inline-block; margin-left: .3em; font-size: .78rem; color: var(--ss-doux); font-weight: 700; }
.ss2-gh-filtres button:hover { border-color: var(--ss-accent); }
.ss2-gh-filtres button.actif { background: var(--ss-encre); border-color: var(--ss-encre); color: #fff; }
.ss2-gh-filtres button.actif span { color: #8fd9cd; }
.ss2-gh-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5em; }
.ss2-gc[hidden] { display: none !important; }
.ss2-gc-lien { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--ss-ligne); border-radius: 12px; overflow: hidden; text-decoration: none !important; color: var(--ss-texte) !important; transition: box-shadow .18s, transform .18s; }
.ss2-gc-lien:hover { box-shadow: var(--ss-ombre); transform: translateY(-3px); }
.ss2-gc-media { display: block; overflow: hidden; background: var(--ss-sable); }
.ss2-gc-img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; margin: 0 !important; transition: transform .35s ease; }
.ss2-gc-lien:hover .ss2-gc-img { transform: scale(1.04); }
.ss2-gc-corps { display: flex; flex-direction: column; gap: .55em; padding: 1.1em 1.2em 1.25em; flex: 1; }
.ss2-gc-titre { font-size: 1.12rem !important; line-height: 1.3 !important; margin: 0 !important; color: var(--ss-encre); }
.ss2-gc-lien:hover .ss2-gc-titre { color: var(--ss-accent-fonce); }
.ss2-gc-resume { font-size: .92rem; color: var(--ss-doux); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ss2-gc-meta { margin-top: auto; padding-top: .4em; font-size: .8rem; color: var(--ss-doux); }
.ss2-gc-badge { align-self: flex-start; display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: .28em .7em; border-radius: 999px; background: var(--ss-accent-pale); color: var(--ss-accent-fonce); }
.ss2-lieu-copropriete { background: #e6eefb; color: #1d4f91; }
.ss2-lieu-commerces { background: #fdf0e1; color: #8a4b08; }
.ss2-lieu-entreprises { background: #ecebf8; color: #4b3f99; }
.ss2-lieu-sante { background: #fde8e6; color: #a1281a; }
.ss2-lieu-collectivites { background: var(--ss-accent-pale); color: var(--ss-accent-fonce); }
.ss2-lieu-autres { background: #eef0f3; color: #4b5563; }
/* À la une */
.ss2-gc-une .ss2-gc-lien { flex-direction: row; box-shadow: 0 18px 40px rgba(19, 35, 58, .16); border: 0; }
.ss2-gc-une .ss2-gc-media { flex: 0 0 55%; }
.ss2-gc-une .ss2-gc-img { height: 100%; aspect-ratio: auto; min-height: 340px; }
.ss2-gc-une .ss2-gc-corps { padding: 2em 2.2em; justify-content: center; gap: .8em; }
.ss2-gc-une .ss2-gc-titre { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem) !important; }
.ss2-gc-une .ss2-gc-resume { font-size: 1rem; -webkit-line-clamp: 4; }
.ss2-gc-sur { font-size: .8rem; font-weight: 700; color: var(--ss-signal); text-transform: uppercase; letter-spacing: .05em; }
.ss2-gc-lire { align-self: flex-start; margin-top: .3em; font-weight: 700; color: var(--ss-accent-fonce); border-bottom: 2px solid var(--ss-accent); padding-bottom: 2px; }
/* Appel à l'action */
.ss2-gh-cta { margin: 3.5em 0 1em; padding: 2em 2.2em; border-radius: 14px; background: var(--ss-encre); color: #c9d3df; display: grid; grid-template-columns: 1fr auto; gap: 1.5em 2.5em; align-items: center; }
.ss2-gh-cta-titre { font-family: var(--ss-titre); font-stretch: 90%; font-weight: 750; font-size: 1.45rem; color: #fff; margin: 0 0 .3em; line-height: 1.2; }
.ss2-gh-cta p { margin: 0; }
.ss2-gh-cta-actions { white-space: nowrap; }
.ss2-gh-cta .ss2-btn-ghost { color: #fff !important; border-color: rgba(255, 255, 255, .6) !important; }
.ss2-gh-cta .ss2-btn-ghost:hover { background: #fff !important; color: var(--ss-encre) !important; }
/* Articles */
.ss2-art-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .6em 1em; font-size: .88rem; color: var(--ss-doux); margin: 0 0 1.6em; padding-bottom: 1em; border-bottom: 1px solid var(--ss-ligne); }
.ss2-art-retour { font-weight: 650; text-decoration: none; }
.ss2-art-retour::before { content: "← "; }
.ss2-art-lies { margin-top: 3em; }
.ss2-gh-grille-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) {
	.ss2-gh-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ss2-gc-une .ss2-gc-lien { flex-direction: column; }
	.ss2-gc-une .ss2-gc-img { min-height: 0; aspect-ratio: 16/9; }
	.ss2-gh-cta { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.ss2-gh-grille, .ss2-gh-grille-3 { grid-template-columns: 1fr; }
	.ss2-gh-tete { padding: 2.2em 0 4em; }
	.ss2-gc-une .ss2-gc-corps { padding: 1.3em; }
	.ss2-gh-filtres { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .4em; margin-right: -16px; }
	.ss2-gh-filtres button { white-space: nowrap; }
	.ss2-gh-cta-actions { white-space: normal; }
}
body.ss2:has(.ss2-guides-hub) #primary { margin-top: 0 !important; padding-top: 0 !important; }
body.ss2:has(.ss2-guides-hub) .entry-header { display: none; }
body.ss2:has(.ss2-guides-hub) .site-main > article { margin-bottom: 0; padding-bottom: 2em; }
/* Articles : la ligne méta d'Astra (commentaires, « Par admin ») est remplacée par .ss2-art-meta */
body.ss2.single-post .entry-header .entry-meta { display: none; }
.ss2-art-meta span:not(.ss2-gc-badge) + span::before { content: "·"; margin-right: 1em; color: var(--ss-ligne); }
