/*
Theme Name: Sainte Marie V2
Version: 1.0
Description: A child theme of Sainte Marie
Template: sainte-marie-starter
Author: Gazelle Communication
*/

/* ═══════════════════════════════════════════════════════════
   CSS additionnel repris du Customizer du thème parent
   (le CSS additionnel est stocké par thème, l'enfant ne l'hérite pas)
   ═══════════════════════════════════════════════════════════ */
.jpo-card-ecole,.jpo-card-college,.jpo-card-lycee{border-radius:16px!important;padding:32px 28px 28px!important}@media (max-width:1200px){.bg-sun{overflow:hidden}.bg-sun::after{right:-20px}}.menu--primary .sub-menu{list-style:none;margin:0;padding:0}@media (min-width:901px){.site-nav-wrapper>.site-nav{align-self:stretch;display:flex}.menu--primary{align-self:stretch}.menu--primary>li.menu-item-has-children{position:relative;align-self:stretch;display:flex;align-items:center}.menu--primary>li.menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s}.menu--primary>li.menu-item-has-children:hover>a,.menu--primary>li.menu-item-has-children:focus-within>a{color:var(--color-white)}.menu--primary>li.menu-item-has-children:hover>a::after,.menu--primary>li.menu-item-has-children:focus-within>a::after{transform:translateY(0) rotate(-135deg)}.menu--primary .sub-menu{position:absolute;top:100%;left:-20px;z-index:100;display:flex;flex-direction:column;gap:0;min-width:230px;padding:10px 0 14px;background:var(--color-navy);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:0 12px 24px rgba(0,36,66,.2);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s , transform .2s , visibility .2s}.menu--primary>li.menu-item-has-children:hover>.sub-menu,.menu--primary>li.menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.menu--primary .sub-menu a{display:block;padding:9px 20px;color:var(--color-lavender);font-size:14px;font-weight:500;white-space:nowrap;transition:color .2s , background-color .2s}.menu--primary .sub-menu a:hover,.menu--primary .sub-menu a:focus-visible{color:var(--color-white);background:rgba(255,255,255,.06)}.menu--primary .sub-menu .current-menu-item>a{color:var(--color-white)}}@media (max-width:900px){.menu--primary .sub-menu{display:flex;flex-direction:column;gap:0;padding:0 0 12px 16px}.menu--primary .sub-menu a{display:block;padding:8px 0;font-size:16px;color:var(--color-lavender)}}.sm-contact-hero{min-height:520px}.sm-contact-hero .wp-block-media-text__content{padding:56px 8% 56px 64px}.sm-contact-hero .wp-block-media-text__content>*{margin-top:0;margin-bottom:16px}.sm-contact-hero .wp-block-media-text__content>*:last-child{margin-bottom:0}.sm-contact-hero h1{margin-bottom:24px}.sm-contact-hero p{line-height:1.5}.sm-contact-hero a{color:var(--color-white);text-decoration:underline;text-decoration-color:var(--color-lavender);text-underline-offset:3px}.sm-contact-hero a:hover{color:var(--color-lavender)}.sm-contact-annuaire .wp-block-columns{align-items:flex-start}.sm-contact-stack>*{width:100%}.sm-contact-card>*{margin-top:0!important;margin-bottom:0!important}.sm-contact-card .sm-contact-card__role{font-weight:600;line-height:1.35;margin-bottom:4px!important}.sm-contact-card .sm-contact-card__name{line-height:1.25;margin-bottom:8px!important}.sm-contact-card .sm-contact-card__line{line-height:1.5}.sm-contact-card a{color:var(--color-navy);text-decoration:underline;text-decoration-color:var(--color-lavender);text-underline-offset:3px;word-break:break-word;transition:color .2s}.sm-contact-card a:hover{color:var(--color-lavender)}.sm-links .sm-links__title{margin-bottom:16px}.sm-links .sm-links__list{list-style:none;margin:0;padding:0}.sm-links .sm-links__list li{line-height:1.45;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}.sm-links .sm-links__list li:last-child{border-bottom:0}.sm-links a{color:var(--color-lavender);text-decoration:none;display:inline-block}.sm-links a:hover{color:var(--color-white);text-decoration:underline;text-underline-offset:3px}@media (max-width:781px){.sm-contact-hero{min-height:0}.sm-contact-hero .wp-block-media-text__media{min-height:260px}.sm-contact-hero .wp-block-media-text__content{padding:40px 24px}.sm-contact-hero h1{font-size:30px!important}.sm-contact-map iframe{height:320px}.sm-contact-card{padding:24px!important}}.sm-apel-hero{min-height:440px}.sm-apel-hero .wp-block-media-text__content{padding:56px 56px 56px 64px}.sm-apel-hero .wp-block-media-text__content>*{margin-top:0;margin-bottom:16px}.sm-apel-hero .wp-block-media-text__content>*:last-child{margin-bottom:0}.sm-apel-hero h1 em{color:var(--color-lavender);font-style:italic}.sm-apel-hero .wp-block-media-text__media{background:var(--color-white);align-self:stretch!important;height:100%;display:flex;align-items:center;justify-content:center;padding:40px}.sm-apel-hero .wp-block-media-text__media img{width:100%;max-width:440px;height:auto;object-fit:contain}.sm-apel-text,.sm-apel-list{line-height:1.6}.sm-apel-intro p+p{margin-top:24px}.sm-apel-section+.sm-apel-section{margin-top:48px;padding-top:48px;border-top:1px solid var(--color-border)}.sm-apel-h2{margin:0 0 20px;line-height:1.2}.sm-apel-text{margin:0 0 14px}.sm-apel-list{list-style:none;margin:8px 0 0;padding:0}.sm-apel-list li{position:relative;padding:10px 0 10px 32px;border-bottom:1px solid var(--color-border)}.sm-apel-list li:last-child{border-bottom:0}.sm-apel-list li::before{content:"";position:absolute;left:4px;top:17px;width:10px;height:10px;border-radius:50%;background:var(--color-lavender)}.sm-apel-section .wp-block-buttons{margin-top:24px}.sm-apel-section .wp-block-button__link,.sm-apel-box .wp-block-button__link{padding:14px 26px;font-size:15px;font-weight:600;transition:opacity .2s}.sm-apel-section .wp-block-button__link:hover,.sm-apel-box .wp-block-button__link:hover{opacity:.85}.sm-apel-aside{display:flex;flex-direction:column;gap:24px}.sm-apel-box>*{margin-top:0!important;margin-bottom:12px!important}.sm-apel-box>*:last-child{margin-bottom:0!important}.sm-apel-box h3{line-height:1.2;margin-bottom:16px!important}.sm-apel-box p{line-height:1.5}.sm-apel-box .wp-block-buttons{margin-top:20px!important}.sm-apel-events__empty{opacity:.75;font-style:italic}.sm-apel-box--contact a{color:var(--color-white);text-decoration:underline;text-decoration-color:var(--color-lavender);text-underline-offset:3px;word-break:break-word}.sm-apel-box--contact a:hover{color:var(--color-lavender)}@media (max-width:781px){.sm-apel-hero{min-height:0}.sm-apel-hero .wp-block-media-text__content{padding:40px 24px}.sm-apel-hero h1{font-size:30px!important}.sm-apel-hero .wp-block-media-text__media{padding:32px}.sm-apel-intro p:first-child{font-size:21px!important}.sm-apel-box{padding:24px!important}}.sm-resto-hero h1 em{color:var(--color-lavender);font-style:italic}.sm-resto-hero .sm-resto-hero__label{margin-bottom:16px}.sm-resto-text{line-height:1.6}.sm-resto-intro p+p{margin-top:20px}.sm-resto-menus h2{margin-bottom:12px}.sm-resto-menus .sm-resto-grid{margin-top:40px}.sm-resto-grid>.wp-block-column{display:flex}.sm-resto-card{width:100%;display:flex;flex-direction:column;transition:transform .2s , box-shadow .2s}.sm-resto-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}.sm-resto-card>*{margin-top:0!important;margin-bottom:8px!important}.sm-resto-card h3{line-height:1.2;margin-bottom:24px!important}.sm-resto-card .wp-block-buttons{margin-top:auto!important;margin-bottom:0!important}.sm-resto-card .wp-block-button__link{padding:12px 22px;font-size:14px;font-weight:600}@media (max-width:1024px) and (min-width:782px){.sm-resto-grid{flex-wrap:wrap!important}.sm-resto-grid>.wp-block-column{flex-basis:calc(50% - 12px)!important}}@media (max-width:781px){.sm-resto-hero h1{font-size:36px!important}.sm-resto-lead{font-size:21px!important}}.sm-eras-hero .sm-eras-hero__title{margin:0;text-shadow:0 2px 12px rgba(0,36,66,.35)}.sm-eras-hero .sm-eras-hero__small{font-size:.5em;font-weight:500;font-style:italic}.sm-eras-hero .sm-eras-hero__title em{font-style:italic;font-weight:700}.sm-eras-aside{position:sticky;top:140px;align-self:flex-start}.sm-eras-logo{margin:0 0 24px}.sm-eras-logo img{width:100%;max-width:240px;height:auto}.sm-eras-dl .wp-block-button__link{padding:12px 22px;font-size:14px;font-weight:600;line-height:1.3;transition:opacity .2s}.sm-eras-dl .wp-block-button__link:hover{opacity:.85}.sm-eras-main>*{margin-top:0}.sm-eras-h2{line-height:1.2;margin-bottom:24px}.sm-eras-h3{line-height:1.25;margin:40px 0 16px!important}.sm-eras-h4{line-height:1.35;margin:28px 0 12px!important}.sm-eras-text{line-height:1.6;margin:0 0 14px}.sm-eras-list{list-style:none;margin:4px 0 18px;padding:0;line-height:1.6}.sm-eras-list li{position:relative;padding:3px 0 3px 26px}.sm-eras-list li::before{content:"";position:absolute;left:4px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--color-lavender)}.sm-eras-accs{margin-top:40px;display:flex;flex-direction:column;gap:16px}.sm-eras-acc{margin:0!important;background:var(--color-bg);border-radius:16px;overflow:hidden}.sm-eras-acc>summary{list-style:none;cursor:pointer;position:relative;padding:22px 64px 22px 28px;font-size:18px;font-weight:600;line-height:1.35;color:var(--color-navy);transition:background-color .2s}.sm-eras-acc>summary::-webkit-details-marker{display:none}.sm-eras-acc>summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--color-navy);color:var(--color-white);font-size:20px;font-weight:400;line-height:30px;text-align:center}.sm-eras-acc[open]>summary::after{content:"\2212"}.sm-eras-acc>summary:hover{background:var(--color-sand)}.sm-eras-acc > :not(summary) {padding-left:28px;padding-right:28px}.sm-eras-acc>summary+*{margin-top:8px}.sm-eras-acc>:last-child{padding-bottom:28px;margin-bottom:0}@media (max-width:781px){.sm-eras-hero{padding:40px 24px!important;min-height:320px!important}.sm-eras-hero .sm-eras-hero__title{font-size:36px!important}.sm-eras-aside{position:static}.sm-eras-logo img{max-width:180px}.sm-eras-acc>summary{font-size:16px;padding:18px 56px 18px 20px}.sm-eras-acc > :not(summary) {padding-left:20px;padding-right:20px}}.sm-past-hero h1 em{font-style:italic}.sm-past-hero .sm-past-hero__label{margin-bottom:16px}.sm-past-text{line-height:1.6;margin:0 0 14px}.sm-past-intro h2{margin-bottom:24px}.sm-past-lead{margin:0}.sm-past-axes>.sm-past-axe+.sm-past-axe{margin-top:24px}.sm-past-axe .sm-past-axe__cols{margin:0}.sm-past-axe__num{margin:0 0 12px}.sm-past-axe__title{margin:0}.sm-past-axe__body>*:last-child{margin-bottom:0}.sm-past-list{list-style:none;margin:4px 0 18px;padding:0;line-height:1.6}.sm-past-list li{position:relative;padding:4px 0 4px 26px}.sm-past-list li::before{content:"";position:absolute;left:4px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--color-lavender)}.sm-past-sacrs{margin-top:8px}.sm-past-sacrs>.wp-block-column{display:flex}.sm-past-sacr{width:100%}.sm-past-sacr>*{margin-top:0}.sm-past-sacr h4{margin-bottom:10px}.sm-past-sacr .sm-past-text{font-size:15px;margin-bottom:8px}.sm-past-sacr>*:last-child{margin-bottom:0}.sm-past-quote p{margin:0}.sm-past-h2{margin:0 0 24px}.sm-past-h2--video{margin-top:64px}.wp-block-gallery.sm-slider{display:flex!important;flex-wrap:nowrap!important;gap:16px!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:18px;scrollbar-width:thin;scrollbar-color:var(--color-navy) var(--color-sand);cursor:grab}.wp-block-gallery.sm-slider::-webkit-scrollbar{height:6px}.wp-block-gallery.sm-slider::-webkit-scrollbar-track{background:var(--color-sand);border-radius:3px}.wp-block-gallery.sm-slider::-webkit-scrollbar-thumb{background:var(--color-navy);border-radius:3px}.wp-block-gallery.sm-slider>figure.wp-block-image{flex: 0 0 calc((100% - 32px) / 3) !important;width:auto!important;margin:0!important;scroll-snap-align:start;aspect-ratio: 4 / 3;border-radius:16px;overflow:hidden}.wp-block-gallery.sm-slider>figure.wp-block-image img{width:100%;height:100%!important;object-fit:cover}.sm-slider-nav{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.sm-slider-btn{width:44px;height:44px;border-radius:50%;border:0;background:var(--color-navy);color:var(--color-white);font-size:20px;line-height:1;cursor:pointer;transition:opacity .2s , background-color .2s}.sm-slider-btn:hover{background:var(--color-lavender);color:var(--color-navy)}.sm-slider-btn:disabled{opacity:.3;cursor:default;background:var(--color-navy);color:var(--color-white)}.sm-past-video{margin:0}.sm-past-video .wp-block-embed__wrapper{border-radius:16px;overflow:hidden}@media (max-width:1024px){.wp-block-gallery.sm-slider>figure.wp-block-image{flex-basis: calc((100% - 16px) / 2) !important}}@media (max-width:781px){.sm-past-hero h1{font-size:36px!important}.sm-past-axe{padding:28px 24px!important}.sm-past-axe__num{font-size:36px!important}.sm-past-quote p{font-size:22px!important}.wp-block-gallery.sm-slider>figure.wp-block-image{flex-basis:85%!important}}

/* ═══════════════════════════════════════════════════════════
   Personnalisations V2 — direction « classique & institutionnelle »
   Typo serif pour les titres, angles droits, filets bronze,
   grands bandeaux photo pleine largeur. Palette du thème conservée.
   ═══════════════════════════════════════════════════════════ */

:root {
	--sm-navy: #002442;
	--sm-navy-2: #314E6F;
	--sm-bronze: #86734A;
	--sm-sand: #EAE0D8;
	--sm-sand-dark: #DDD2C9;
	--sm-beige: #F7F5F3;
	--sm-violet: #7F96FF;
	--sm-coral: #FF715B;
	--sm-serif: "EB Garamond", Garamond, "Times New Roman", serif;
	--sm-sans: "Work Sans", system-ui, sans-serif;
	--sm-header-h: 88px;
	--sm-wrap: min(calc(100% - 48px), 1280px);
}

html, body { overflow-x: clip; }
body { line-height: 1.55; }

/* ── Bandeau institutionnel (au-dessus du header) ──────────── */
.sm-topbar {
	background: var(--sm-navy);
	color: var(--sm-sand-dark);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(234, 224, 216, .14);
}
.sm-topbar__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	min-height: 38px;
}
.sm-topbar p { margin: 0; }
.sm-topbar__contact { display: flex; gap: 22px; }
.sm-topbar a { color: var(--sm-sand); transition: color .2s; }
.sm-topbar a:hover { color: #fff; }

/* ── Header ───────────────────────────────────────────────── */
.site-header {
	background: var(--sm-navy);
	border-bottom: 3px solid var(--sm-bronze);
}
.site-header__inner {
	min-height: var(--sm-header-h);
	align-items: stretch;
}
.site-branding { background: transparent; }
.site-header .custom-logo,
.site-header .custom-logo-alternative {
	height: var(--sm-header-h);
	width: auto;
}
.site-nav-wrapper { background: transparent; }
@media (min-width: 901px) { .site-nav { background: transparent; } }
@media (max-width: 900px) {
	.site-nav { background: var(--sm-navy); }
	.menu--primary .sub-menu a { color: var(--sm-sand-dark); }
}

@media (min-width: 901px) {
	.site-nav-wrapper { max-height: none; padding: 0; align-items: stretch; }
	.menu--primary { gap: 0; align-items: stretch; }
	.menu--primary > li { display: flex; align-items: center; position: relative; }
	.menu--primary > li > a {
		position: relative;
		display: flex;
		align-items: center;
		align-self: stretch;
		padding: 0 14px;
		color: var(--sm-sand);
		font-size: 12.5px;
		font-weight: 500;
		letter-spacing: .12em;
		text-transform: uppercase;
	}
	.menu--primary > li > a::before {
		content: "";
		position: absolute;
		left: 14px;
		right: 14px;
		bottom: -3px;
		height: 3px;
		background: var(--sm-sand);
		transform: scaleX(0);
		transition: transform .25s ease;
	}
	.menu--primary > li > a:hover,
	.menu--primary > li.current-menu-item > a,
	.menu--primary > li.current-menu-ancestor > a,
	.menu--primary > li.current-page-ancestor > a { color: #fff; }
	.menu--primary > li > a:hover::before,
	.menu--primary > li.current-menu-item > a::before,
	.menu--primary > li.current-menu-ancestor > a::before,
	.menu--primary > li.current-page-ancestor > a::before { transform: scaleX(1); }

	/* Boutons Contact / Inscription : rectangles, sans arrondi */
	.menu--primary > li.menu-btn-contact { margin-left: 14px; }
	.menu--primary > li.menu-btn-contact > a,
	.menu--primary > li.menu-btn-inscription > a {
		align-self: center;
		padding: 12px 18px;
		border-radius: 0;
		font-size: 11.5px;
		font-weight: 600;
		letter-spacing: .14em;
		transition: background-color .2s, color .2s, border-color .2s;
	}
	.menu--primary > li.menu-btn-contact > a::before,
	.menu--primary > li.menu-btn-inscription > a::before { display: none; }
	.menu--primary > li.menu-btn-contact > a {
		background: transparent;
		color: var(--sm-sand);
		border: 1px solid rgba(234, 224, 216, .55);
	}
	.menu--primary > li.menu-btn-contact > a:hover {
		background: var(--sm-sand);
		color: var(--sm-navy);
		border-color: var(--sm-sand);
		opacity: 1;
	}
	.menu--primary > li.menu-btn-inscription {
		position: static;
		margin-left: 8px;
	}
	.menu--primary > li.menu-btn-inscription > a {
		display: flex;
		background: var(--sm-coral);
		color: #fff;
		border: 1px solid var(--sm-coral);
	}
	.menu--primary > li.menu-btn-inscription > a:hover {
		background: #fff;
		color: var(--sm-navy);
		border-color: #fff;
		opacity: 1;
	}

	/* Sous-menus */
	.menu--primary .sub-menu {
		left: 0;
		top: calc(100% + 3px);
		border-radius: 0;
		border-top: 0;
		padding: 8px 0;
		background: var(--sm-navy);
		box-shadow: 0 18px 30px rgba(0, 36, 66, .25);
	}
	.menu--primary .sub-menu a {
		color: var(--sm-sand);
		font-size: 14px;
		padding: 11px 22px;
		letter-spacing: .02em;
	}
	.menu--primary .sub-menu li + li a { border-top: 1px solid rgba(234, 224, 216, .1); }
	.menu--primary .sub-menu a:hover { color: #fff; background: rgba(255, 255, 255, .05); }
}
@media (min-width: 901px) and (max-width: 1200px) {
	.menu--primary > li > a { padding: 0 8px; font-size: 11.5px; letter-spacing: .07em; }
	.menu--primary > li > a::before { left: 8px; right: 8px; }
	.menu--primary > li.menu-btn-contact { margin-left: 8px; }
	.menu--primary > li.menu-btn-contact > a,
	.menu--primary > li.menu-btn-inscription > a { padding: 10px 12px; letter-spacing: .08em; }
}
@media (max-width: 900px) {
	:root { --sm-header-h: 72px; }
	.site-header__inner { padding: 0; flex-wrap: nowrap; }
	.site-nav-wrapper { align-items: center; }
	.nav-toggle { border-radius: 0; }
	.menu--primary > li > a { font-family: var(--sm-serif); font-size: 24px; color: var(--sm-sand); }
	.menu--primary > li.menu-btn-contact > a,
	.menu--primary > li.menu-btn-inscription > a {
		font-family: var(--sm-sans);
		font-size: 13px;
		text-transform: uppercase;
		letter-spacing: .12em;
		border-radius: 0;
	}
	.menu--primary > li.menu-btn-contact > a { background: transparent; color: var(--sm-sand); border: 1px solid rgba(234, 224, 216, .55); }
	.menu--primary > li.menu-btn-inscription > a { background: var(--sm-coral); color: #fff; }
	.sm-topbar__tagline { display: none; }
	.sm-topbar__inner { justify-content: center; }
}
@media (max-width: 560px) {
	.sm-topbar__contact span { display: none; }
}

/* ── Mise en page : sections pleine largeur ───────────────── */
.page .page-section { padding-top: 0; }
.entry-content > .alignfull {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* ── Typographie ──────────────────────────────────────────── */
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4,
.sm-single__title, .card-actu h3, .wp-block-post-title,
.gz-c-Footer h2, .gz-c-Footer h3, .gz-c-Footer h4 {
	font-family: var(--sm-serif) !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.08;
}
.entry-content h1 { font-size: clamp(2.8rem, 6vw, 5.2rem); }
.entry-content p, .entry-content li { line-height: 1.6 !important; letter-spacing: 0 !important; }
.entry-content p.has-medium-font-size { line-height: 1.45 !important; }

/* Petits titres-étiquettes (ex. « Bienvenue à Sainte Marie de Chavagnes ») */
.entry-content h2.has-body-font-size,
.entry-content h3.has-body-font-size {
	font-family: var(--sm-sans) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	letter-spacing: .22em !important;
	text-transform: uppercase;
	color: var(--sm-bronze) !important;
	margin-bottom: 1.25rem;
}

/* Filet bronze sous les titres centrés */
.entry-content :is(h1, h2, h3).has-text-align-center:not(.has-body-font-size)::after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	margin: .5em auto 0;
	background: var(--sm-bronze);
}

/* ── Boutons : rectangles sobres ──────────────────────────── */
.wp-block-button:not(.p-0) > .wp-block-button__link,
.button-secondary,
.sm-single__btn {
	border-radius: 0 !important;
	padding: 14px 26px !important;
	font-family: var(--sm-sans);
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase;
	line-height: 1.2;
	transition: background-color .2s, color .2s, opacity .2s;
}
.wp-block-button:not(.p-0) > .wp-block-button__link:hover { opacity: .85; }
.wp-block-button.is-style-outline > .wp-block-button__link { border-width: 1px; }
.filtres-actu button, .filtres-actu a, .filtres-actu .wp-block-button__link {
	border-radius: 0 !important;
	text-transform: uppercase;
	letter-spacing: .12em;
}

/* ── Angles droits ────────────────────────────────────────── */
.entry-content .wp-block-column.has-background,
.entry-content .wp-block-columns.has-background,
.entry-content .wp-block-group.has-background,
.entry-content .wp-block-cover,
.entry-content .wp-block-media-text,
.entry-content .wp-block-image:not(.is-style-rounded) img,
.entry-content .wp-block-embed__wrapper,
.entry-content .wp-block-post-featured-image img,
.card-actu, .card-actu img,
.wp-block-accordion-item,
.sm-single, .sm-single__image img, .sm-single__cat,
.sm-eras-acc, .sm-resto-card, .sm-slider figure,
.jpo-card-ecole, .jpo-card-college, .jpo-card-lycee {
	border-radius: 0 !important;
}

/* Décors dessinés à la main : retirés pour une ligne plus austère */
.bg-bird::after, .bg-arrow::after, .bg-sun::after { display: none !important; }

/* ═══════════════════════════════════════════════════════════
   GRANDS BANDEAUX D'EN-TÊTE
   ═══════════════════════════════════════════════════════════ */

/* A. Hero 2 colonnes (accueil, Institut, Collège, Lycée, École…)
   – avec « Image mise en avant » : photo plein cadre + titre en surimpression
   – sans : bandeau marine, texte à gauche, visuel d'origine à droite */
.entry-content > .wp-block-group.mb-60:first-child {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 0 !important;
	padding: 0 !important;
	background-color: var(--sm-navy) !important;
	overflow: hidden;
}
.entry-content > .wp-block-group.mb-60:first-child > .wp-block-columns {
	position: relative;
	z-index: 2;
	width: var(--sm-wrap) !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: clamp(56px, 9vh, 100px) 0 !important;
	gap: clamp(32px, 5vw, 80px);
	align-items: center !important;
}
.entry-content > .wp-block-group.mb-60:first-child .wp-block-column:not(.bg-bird) {
	position: relative;
	z-index: 2;
	flex: 0 1 620px !important;
	max-width: 620px !important;
	color: #fff;
}
.entry-content > .wp-block-group.mb-60:first-child .bg-bird { flex: 1 1 0 !important; }
.entry-content > .wp-block-group.mb-60:first-child .wp-block-column:not(.bg-bird) > figure.wp-block-image { display: none; }
.entry-content > .wp-block-group.mb-60:first-child .bg-bird figure { margin: 0; }
.entry-content > .wp-block-group.mb-60:first-child h1 {
	color: #fff !important;
	font-size: clamp(3rem, 6.4vw, 5.6rem);
	line-height: 1;
	margin: 0 0 .35em;
}
.entry-content > .wp-block-group.mb-60:first-child h1::before {
	content: "";
	display: block;
	width: 64px;
	height: 3px;
	margin-bottom: .45em;
	background: var(--sm-coral);
}
.entry-content > .wp-block-group.mb-60:first-child p {
	color: rgba(255, 255, 255, .92) !important;
	font-size: clamp(17px, 1.4vw, 20px) !important;
	line-height: 1.5 !important;
	max-width: 46ch;
}
.entry-content > .wp-block-group.mb-60:first-child p[style*="uppercase"],
.entry-content > .wp-block-group.mb-60:first-child p:has(+ h1) {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	letter-spacing: .24em !important;
	text-transform: uppercase;
	color: var(--sm-sand) !important;
	line-height: 1.7 !important;
}
.entry-content > .wp-block-group.mb-60:first-child .wp-block-buttons { margin-top: 28px; }
.entry-content > .wp-block-group.mb-60:first-child .wp-block-button__link {
	background: transparent !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, .7) !important;
}
.entry-content > .wp-block-group.mb-60:first-child .wp-block-button__link:hover {
	background: #fff !important;
	color: var(--sm-navy) !important;
	opacity: 1;
}
/* Variante photo plein cadre */
.sm-has-hero-img .entry-content > .wp-block-group.mb-60:first-child {
	align-items: flex-end;
	min-height: clamp(460px, 74vh, 760px);
	background-image: var(--sm-hero-img) !important;
	background-size: cover !important;
	background-position: center !important;
}
.sm-has-hero-img .entry-content > .wp-block-group.mb-60:first-child::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(0, 36, 66, .9) 0%, rgba(0, 36, 66, .6) 38%, rgba(0, 36, 66, .08) 75%),
		linear-gradient(0deg, rgba(0, 36, 66, .55) 0%, rgba(0, 36, 66, 0) 45%);
}
.sm-has-hero-img .entry-content > .wp-block-group.mb-60:first-child > .wp-block-columns {
	padding: 0 0 clamp(56px, 10vh, 110px) !important;
	align-items: flex-end !important;
}
.sm-has-hero-img .entry-content > .wp-block-group.mb-60:first-child .bg-bird { display: none !important; }
.sm-has-hero-img .entry-content > .wp-block-group.mb-60:first-child h1 { text-shadow: 0 2px 24px rgba(0, 20, 40, .25); }

/* B. Image pleine largeur en tête (Collège – Présentation, Nos plus…) */
.entry-content > figure.wp-block-image.alignfull:first-child {
	position: relative;
	height: clamp(340px, 62vh, 640px);
	min-height: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	overflow: hidden;
}
.entry-content > figure.wp-block-image.alignfull:first-child img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}
.entry-content > figure.wp-block-image.alignfull:first-child::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0, 36, 66, .55) 0%, rgba(0, 36, 66, 0) 55%);
	pointer-events: none;
}
/* …et le bloc-titre qui suit vient chevaucher le bandeau */
.entry-content > figure.wp-block-image.alignfull:first-child + .wp-block-group.alignfull {
	position: relative;
	z-index: 3;
	width: min(calc(100% - 48px), 1180px) !important;
	max-width: none !important;
	margin: -150px auto 0 !important;
	border-top: 4px solid var(--sm-bronze);
	box-shadow: 0 -10px 40px rgba(0, 36, 66, .12);
}

/* C. Bloc « Couverture » en tête (Inscriptions, Restauration, Pastorale…) */
.entry-content > .wp-block-cover.alignfull:first-child {
	min-height: clamp(400px, 64vh, 680px) !important;
	align-items: flex-end !important;
	justify-content: flex-start !important;
	padding: 0 0 clamp(56px, 10vh, 110px) !important;
}
.entry-content > .wp-block-cover.alignfull:first-child::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(0, 36, 66, .82) 0%, rgba(0, 36, 66, .45) 40%, rgba(0, 36, 66, 0) 75%),
		linear-gradient(0deg, rgba(0, 36, 66, .5) 0%, rgba(0, 36, 66, 0) 45%);
}
.entry-content > .wp-block-cover.alignfull:first-child .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: var(--sm-wrap) !important;
	max-width: none !important;
	margin: 0 auto !important;
}
.entry-content > .wp-block-cover.alignfull:first-child :is(h1, h2, p) {
	max-width: 760px;
	margin-left: 0 !important;
	text-shadow: 0 2px 24px rgba(0, 20, 40, .25);
}
.entry-content > .wp-block-cover.alignfull:first-child h1::before {
	content: "";
	display: block;
	width: 64px;
	height: 3px;
	margin-bottom: .45em;
	background: var(--sm-coral);
}

/* D. Média + texte marine (Contacts, Parents d'élèves) */
.entry-content > .wp-block-media-text.alignfull:first-child { border-bottom: 4px solid var(--sm-bronze); }

/* ═══════════════════════════════════════════════════════════
   COMPOSANTS
   ═══════════════════════════════════════════════════════════ */

/* Séparateurs fins */
.border-top-violet { border-top-color: var(--sm-sand-dark); }

/* Cartes JPO / Erasmus : cadre plus sobre */
.entry-content .bloc-erasmus { box-shadow: 0 0 0 1px rgba(0, 36, 66, .08); }

/* Accordéons */
.wp-block-accordion { gap: 10px; }
.wp-block-accordion-heading__toggle { min-height: 0; padding: 28px 36px; }
.wp-block-accordion-heading__toggle-title {
	font-family: var(--sm-serif) !important;
	font-weight: 500 !important;
	font-size: clamp(24px, 2.4vw, 32px) !important;
	letter-spacing: 0 !important;
	color: var(--sm-navy);
}
.wp-block-accordion-heading__toggle-icon {
	border-radius: 0 !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	background-color: var(--sm-navy) !important;
}
.wp-block-accordion-panel { line-height: 1.6; }

/* Actualités */
.card-actu { box-shadow: 0 0 0 1px rgba(0, 36, 66, .06); }
.card-actu h3 { font-size: 24px !important; line-height: 1.15 !important; }
.card-actu .card-actu__body { padding: 28px 24px 32px !important; }

/* Article seul */
.sm-single { box-shadow: 0 0 0 1px rgba(0, 36, 66, .06); }
.sm-single__title { font-size: clamp(2rem, 4vw, 3rem); }
.sm-single__content { font-size: 18px; }

/* Pied de page */
.site-footer { border-top: 3px solid var(--sm-bronze); }
.gz-c-Footer-menu-fancy .wp-block-navigation-item__content {
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--sm-sand) !important;
	border: 1px solid rgba(234, 224, 216, .45) !important;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 10px 16px !important;
}
.gz-c-Footer-menu-fancy .wp-block-navigation-item__content:hover {
	background: var(--sm-sand) !important;
	color: var(--sm-navy) !important;
}
.gz-c-Footer-cta > .wp-block-button__link {
	background: transparent !important;
	color: var(--sm-sand) !important;
	border: 1px solid rgba(234, 224, 216, .45) !important;
	padding: 11px 18px !important;
	font-size: 11.5px !important;
}
.gz-c-Footer-cta > .wp-block-button__link:hover {
	background: var(--sm-sand) !important;
	color: var(--sm-navy) !important;
	opacity: 1;
}
.site-footer p { line-height: 1.55; }

/* Mobile */
@media (max-width: 781px) {
	.entry-content > figure.wp-block-image.alignfull:first-child + .wp-block-group.alignfull {
		width: calc(100% - 24px) !important;
		margin-top: -70px !important;
	}
	.sm-has-hero-img .entry-content > .wp-block-group.mb-60:first-child { min-height: 520px; }
	.sm-has-hero-img .entry-content > .wp-block-group.mb-60:first-child::after {
		background: linear-gradient(0deg, rgba(0, 36, 66, .92) 0%, rgba(0, 36, 66, .55) 55%, rgba(0, 36, 66, .2) 100%);
	}
	.wp-block-accordion-heading__toggle { padding: 22px 22px; }
}
