/*
Theme Name: Alliance 2026
Theme URI: https://alliance-tunisie.com/
Description: Thème du site Alliance Consulting & Training. Reproduit l'apparence de l'ancien site (The7) avec des blocs WordPress standard, sans constructeur de pages.
Author: Alliance Consulting & Training
Template: twentytwentyfive
Version: 2.0.0
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: alliance-2026
*/

/*
 * Values (colours, fonts, sizes) are those of the previous site (The7 theme
 * options + its custom CSS). Colours and fonts are defined in theme.json.
 *
 *  1. Header (top bar, logo, menu)     6. Inner pages
 *  2. Home slideshow                   7. Sidebar
 *  3. Home sections                    8. Forms
 *  4. Plugins (formations, logos)      9. Footer
 *  5. Shared content                  10. Accessibility, mobile
 */

/* No gap above the header (parent theme adds root padding) */
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }

/* ===== 1. Header ===================================================== */
.old-header { position: relative; z-index: 20; background: #fff; }
.old-header > * { max-width: 1212px; }

/* Top bar: phones, e-mail, social icons, INSCRIPTION */
.old-topbar { padding: 8px 0; gap: 10px; }
.old-topbar-left { gap: 6px 26px; }
.old-header:not(.old-header--home) .old-topbar { position: relative; }
.old-header:not(.old-header--home) .old-topbar::before {
	content: "";
	position: absolute;
	inset: 0 -100vmax;
	background: rgba(0, 0, 0, .02);
	z-index: -1;
}
.mini-contact {
	margin: 0;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 13px;
	font-weight: 500;
	line-height: 17px;
	color: var(--wp--preset--color--topbar);
}
.mini-contact a { color: inherit; }
.mini-contact::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 7px;
	vertical-align: -2px;
	background: currentColor;
	-webkit-mask: var(--ico) no-repeat center / contain;
	mask: var(--ico) no-repeat center / contain;
}
.ico-phone { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
.ico-mail { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5h20v14H2zm2 2v.5l8 5 8-5V7l-8 5z'/%3E%3C/svg%3E"); }

/* Square, brand-coloured social icons as on the old site */
.old-social { gap: 6px !important; margin: 0; }
.old-social .wp-social-link,
.old-social .wp-social-link a { border-radius: 0 !important; }
.old-social .wp-social-link a { padding: 4px !important; }
.old-social .wp-social-link svg { width: 16px; height: 16px; }

/* INSCRIPTION */
.old-inscription .wp-block-button__link {
	padding: 6px 25px;
	border-radius: 5px;
	background: #fff;
	color: #004288;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
}
.old-header:not(.old-header--home) .old-inscription .wp-block-button__link { border: 1px solid #e6e8ec; }
.old-inscription .wp-block-button__link:hover { background: #004288; color: #fff; }

/* Logo + menu */
.old-mainrow { padding: 6px 0 14px; gap: 30px; }
.old-mainrow .wp-block-site-logo img { width: 276px; height: auto; }
.old-nav { font-family: var(--wp--preset--font-family--poppins); }
.old-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--contrast); padding: 15px 0 4px; }
.old-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { border-bottom: 2px solid transparent; }
.old-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.old-header .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.old-header .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content { border-bottom-color: currentColor; text-decoration: none; }
.old-nav .wp-block-navigation__submenu-container {
	min-width: 240px !important;
	padding: 10px 0;
	border: 0 !important;
	background: #fff !important;
	box-shadow: 0 0 10px rgba(0, 0, 0, .15);
	font-size: 14px;
	font-weight: 400;
}
.old-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 9px 20px; color: var(--wp--preset--color--contrast) !important; }
.old-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary) !important; text-decoration: none; }

/* Home: header over the slideshow, white text */
.old-home-top { position: relative; }
.old-header--home { position: absolute; top: 0; left: 0; right: 0; background: transparent; }
.old-header--home .mini-contact,
.old-header--home .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { color: #fff; }

/* ===== 2. Home slideshow ============================================= */
.old-slider { position: relative; overflow: hidden; aspect-ratio: 1920 / 779; background: #fff; }
.old-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .9s ease; }
.old-slide.is-active { opacity: 1; }
.old-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.old-slider__nav {
	position: absolute;
	top: 50%;
	z-index: 5;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, .5);
	cursor: pointer;
}
.old-slider__nav::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border: solid #fff;
	border-width: 0 3px 3px 0;
}
.old-slider__prev { left: 20px; }
.old-slider__next { right: 20px; }
.old-slider__prev::after { transform: translate(-30%, -50%) rotate(135deg); }
.old-slider__next::after { transform: translate(-70%, -50%) rotate(-45deg); }
.old-slider__nav:hover { background: #000; }

/* ===== 3. Home sections ============================================== */
.old-home { padding-bottom: 0; }
.old-h1 { margin: 26px 0 0; font-size: 30px; font-weight: 400; line-height: 1.35; color: var(--wp--preset--color--contrast); }
.old-h1 strong { font-weight: 700; }
.old-sep { width: 240px; max-width: 60%; margin: 6px auto 30px !important; border: 0 !important; border-top: 3px solid var(--wp--preset--color--primary) !important; opacity: 1; }
.old-sep--short { width: 120px; margin-top: 14px !important; margin-bottom: 40px !important; }
.old-intro { max-width: 1160px; margin: 0 auto 50px !important; font-size: 16px; line-height: 1.4; color: #000; }
.old-intro a { color: inherit; }

.old-services { gap: 40px !important; margin-bottom: 110px !important; }
.old-service-icon { margin: 0 0 10px !important; }
.old-service-icon img { width: 88px; height: auto; }
.old-service-title { margin: 0 0 30px; font-size: 16px; font-weight: 700; line-height: 1.4; }
.old-service-title a { color: var(--wp--preset--color--contrast); }
.old-service-text { margin: 0; font-size: 15px; line-height: 20px; text-align: justify; color: var(--wp--preset--color--muted); }

.old-band { padding-top: 45px; padding-bottom: 60px; }
.old-band-cols { gap: 50px !important; }

/* Section titles with a line in front ("trait" on the old site) */
.trait { margin: 0 0 30px; font-size: 22px !important; font-weight: 400; color: var(--wp--preset--color--contrast); }
.trait::before {
	content: "";
	display: inline-block;
	width: 4rem;
	height: 2px;
	margin-right: 1.3rem;
	vertical-align: middle;
	background: var(--wp--preset--color--secondary);
}

/* Events: three cards per row, red "Détails" button */
.old-events .wp-block-post-template { gap: 30px; }
.old-event-card { height: 100%; background: var(--wp--preset--color--card); }
.old-event-card .wp-block-post-featured-image { margin: 0; }
.old-event-card .wp-block-post-featured-image img { display: block; width: 100%; object-fit: cover; }
.old-event-body { padding: 26px 30px 30px; }
.old-event-body .wp-block-post-title { margin: 0 0 10px; font-size: 17px; font-weight: 700; line-height: 20px; }
.old-event-body .wp-block-post-title a { color: var(--wp--preset--color--contrast); }
.old-event-body .wp-block-post-excerpt { margin: 0 0 14px; font-size: 14px; line-height: 24px; color: var(--wp--preset--color--contrast); }
.old-event-body .wp-block-post-excerpt__excerpt { margin: 0; }
.old-details {
	display: inline-block;
	padding: 8px 14px 7px;
	border-radius: 1px;
	background: var(--wp--preset--color--red);
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 14px;
}
.old-details::after { content: ""; display: inline-block; margin-left: 6px; border: 4px solid transparent; border-left-color: currentColor; border-right-width: 0; vertical-align: 1px; }
.old-details:hover { background: #8f1409; text-decoration: none !important; }

/* Références */
.old-refs { padding-top: 90px; padding-bottom: 60px; }
.old-refs-title { margin: 0; font-size: 36px; font-weight: 400; letter-spacing: 2px; }
.old-refs-sub { margin: 4px 0 0; font-size: 17px; color: #000; }

/* Map, full width under the references */
.old-map { margin: 0 calc(-1 * var(--wp--style--root--padding-right, 20px)) 0 calc(-1 * var(--wp--style--root--padding-left, 20px)); line-height: 0; }
.old-map iframe { display: block; width: 100%; height: 450px; border: 0; }

/* ===== 4. Plugins ==================================================== */
/* Ultimate Post List ("Nos Formations"): blue bar on the left */
.upl-list ul { margin: 0; padding: 0 0 0 19px; list-style: none; border-left: 4px solid var(--wp--preset--color--secondary); overflow: hidden; }
.upl-list li { display: grid; grid-template-columns: 100px 1fr; column-gap: 18px; align-items: center; margin: 0 0 30px !important; }
.upl-list li:last-child { margin-bottom: 0 !important; }
.upl-list .upl-post-thumbnail,
.upl-list .upl-post-title,
.upl-list .upl-post-excerpt { float: none !important; margin: 0 !important; width: auto !important; }
.upl-list .upl-post-thumbnail { grid-row: span 2; }
.upl-list .upl-post-thumbnail img { display: block; width: 100px !important; height: 100px !important; max-width: none !important; object-fit: cover; margin: 0 !important; }
.upl-list .upl-post-title { align-self: end; }
.upl-list .upl-post-title a { color: #000 !important; font-size: 18px; font-weight: 600 !important; line-height: 20px; text-decoration: none !important; }
.upl-list .upl-post-excerpt { grid-column: 2; align-self: start; font-size: 17px; line-height: 20px; color: #a6a7ad; }

/* Logos Showcase: the plugin's own carousel, logos at their 200x150 size */
.lshowcase-slide img { max-width: 100% !important; max-height: 150px; width: auto !important; height: auto !important; margin: 0 auto; }

/* ===== 5. Shared content ============================================= */
.wp-block-html iframe { max-width: 100%; border: 0; }
.wp-block-table table { width: 100%; border-collapse: collapse; }
.wp-block-table td, .wp-block-table th { padding: .6em .8em; border: 1px solid var(--wp--preset--color--border); }
.wp-block-latest-posts.is-grid li { margin-bottom: 1.5rem; }
.wp-block-latest-posts__post-title { font-weight: 700; color: var(--wp--preset--color--contrast); }

/* ===== 6. Inner pages ================================================ */
/* Title band (Lato 30px uppercase on the old photo) */
.wp-block-cover.alliance-banner.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container { width: 100%; max-width: 1212px !important; margin: 0 auto !important; }
.alliance-banner .banner-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--lato);
	font-size: 30px;
	font-weight: 400;
	line-height: 40px;
	text-transform: uppercase;
	color: #f4f4f4;
}

/* Content + sidebar */
.inner-layout { gap: 0 !important; }
.inner-main { min-width: 0; padding-right: 40px; }
.inner-aside { padding-left: 40px; border-left: 1px solid rgba(133, 134, 140, .15); }

/* Section titles "» Présentation" (h3 strong on the old site) */
.alliance-inner h3 strong { font-size: 20px; font-weight: 500; color: var(--wp--preset--color--primary); }
.alliance-inner h3 strong::before { content: "»"; padding-right: 7px; font-weight: 700; color: #134286; }
.alliance-inner .wp-block-post-content p,
.alliance-inner .wp-block-post-content li { color: var(--wp--preset--color--muted); }
.alliance-inner .wp-block-post-content ul { padding-left: 1.3em; }
.alliance-inner .wp-block-post-content .wp-block-image img { max-width: 100%; height: auto; }

/* Accordions: grey boxes with "+" (WPBakery "tta" style) */
.alliance-inner .wp-block-details { margin: 0 0 5px; padding: 0; border: 0; background: var(--wp--preset--color--card); }
.alliance-inner .wp-block-details summary {
	position: relative;
	padding: 14px 20px 14px 55px;
	list-style: none;
	cursor: pointer;
	font-size: 13px;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}
.alliance-inner .wp-block-details summary::-webkit-details-marker { display: none; }
.alliance-inner .wp-block-details summary::before { content: "+"; position: absolute; left: 20px; top: 50%; transform: translateY(-55%); font-size: 20px; font-weight: 400; }
.alliance-inner .wp-block-details[open] summary::before { content: "−"; }
.alliance-inner .wp-block-details > :not(summary) { padding: 0 20px; }
.alliance-inner .wp-block-details[open] { padding-bottom: 10px; }

/* ===== 7. Sidebar ==================================================== */
.alliance-sidebar .sidebar-title { margin: 0 0 18px; font-family: var(--wp--preset--font-family--roboto); font-size: 16px; font-weight: 700; line-height: 26px; color: var(--wp--preset--color--contrast); }
.alliance-sidebar .wp-block-search__inside-wrapper { padding: 0; border: 1px solid #dcdde1; border-radius: 1px; }
.alliance-sidebar .wp-block-search__input { padding: 8px 10px; border: 0; font-size: 12px; color: var(--wp--preset--color--muted); }
.alliance-sidebar .wp-block-search__button { padding: 4px 10px; background: transparent !important; color: #a6a7ad !important; }
.sidebar-modules .wp-block-navigation-item { width: 100%; }
.sidebar-modules .wp-block-navigation-item__content {
	position: relative;
	display: block;
	width: 100%;
	padding: 7px 0 7px 18px !important;
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast) !important;
}
.sidebar-modules .wp-block-navigation-item__content::before { content: "›"; position: absolute; left: 2px; top: 5px; color: #a6a7ad; font-size: 15px; }
.sidebar-modules .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary) !important; }

/* ===== 8. Forms (Contact Form 7) ===================================== */
.wpcf7 label { display: block; margin-bottom: 1rem; font-weight: 500; color: var(--wp--preset--color--contrast); }
.wpcf7 :is(input[type=text], input[type=email], input[type=tel], input[type=url], textarea, select) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-top: .3rem;
	padding: 10px 12px;
	border: 1px solid #dcdde1;
	border-radius: 1px;
	background: #fff;
	font: inherit;
	color: var(--wp--preset--color--contrast);
}
.wpcf7 input.wpcf7-quiz { max-width: 160px; }
.wpcf7 input[type=file] { margin-top: .35rem; font-size: 14px; }
.wpcf7 input[type=submit] {
	padding: 10px 24px;
	border: 0;
	border-radius: 1px;
	background: var(--wp--preset--color--accent);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.wpcf7 input[type=submit]:hover { background: var(--wp--preset--color--primary); }
.alliance-coords p { margin: 0 0 1.1rem; }
.alliance-coords .label { display: block; margin-bottom: .15rem; font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--wp--preset--color--contrast); }

/* ===== 9. Footer ===================================================== */
.old-footer { padding-top: 38px; padding-bottom: 26px; font-size: 14px; line-height: 25px; }
.old-footer-cols { gap: 40px !important; }
.old-footer-title { margin: 0 0 22px; font-family: var(--wp--preset--font-family--roboto); font-size: 16px; font-weight: 700; line-height: 26px; color: #fff; text-align: center; }
.old-footer p, .old-footer li, .old-footer a { color: #fff; }
.old-footer .wp-block-image { margin-bottom: 18px; }
.old-footer-contact { width: max-content; max-width: 100%; margin: 0 auto; padding: 0; list-style: none; }
.old-footer .old-footer-contact > li { position: relative; padding-left: 26px; margin-bottom: 4px; }
.old-footer .old-footer-contact > li::before { content: ""; position: absolute; left: 0; top: 5px; width: 16px; height: 16px; background-repeat: no-repeat; background-position: center; background-size: contain; }
.fi-home::before { background-image: url("/wp-content/uploads/2019/05/home_footer.png"); }
.fi-phone::before { background-image: url("/wp-content/uploads/2019/05/phone_footer.png"); }
.fi-fax::before { background-image: url("/wp-content/uploads/2018/12/fax.png"); }
.fi-gsm::before { background-image: url("/wp-content/uploads/2019/05/gsm_footer.png"); }
.fi-mail::before { background-image: url("/wp-content/uploads/2019/05/mail_footer.png"); }
.old-footer-sep { margin: 60px 0 22px !important; border: 0 !important; border-top: 1px solid rgba(255, 255, 255, .12) !important; opacity: 1; }
.old-copyright { margin: 0; font-size: 13px; color: rgba(255, 255, 255, .75) !important; }

/* ===== 10. Accessibility, mobile ===================================== */
:where(a, button, input, textarea, select, summary):focus-visible { outline: 2px solid #23aadd; outline-offset: 2px; }
.old-header--home a:focus-visible, .old-footer a:focus-visible { outline-color: #fff; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

@media (max-width: 1100px) {
	.old-nav { --wp--style--block-gap: 16px; }
	.old-nav .wp-block-navigation-item__content { font-size: 14px; }
	.old-mainrow .wp-block-site-logo img { width: 210px; }
}
@media (max-width: 781px) {
	.old-header--home { position: relative; background: #fff; }
	.old-header--home .mini-contact { color: var(--wp--preset--color--topbar); }
	.old-topbar { justify-content: center !important; }
	.old-topbar-left { justify-content: center; }
	.old-mainrow .wp-block-site-logo img { width: 190px; }
	.old-nav .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--contrast); }
	.old-h1 { font-size: 24px; }
	.old-services { margin-bottom: 60px !important; }
	.old-band-cols { gap: 40px !important; }
	.old-refs-title { font-size: 28px; }
	.inner-main { padding-right: 0; }
	.inner-aside { padding-left: 0; padding-top: 30px; border-left: 0; border-top: 1px solid rgba(133, 134, 140, .15); }
	.old-footer-sep { margin-top: 30px !important; }
}
@media (max-width: 600px) {
	.ico-mail, .old-social { display: none !important; }
	.old-events .wp-block-post-template { grid-template-columns: 1fr !important; }
}

/* Header and slideshow sit flush: no block spacing between them */
.old-home-top > * { margin-block: 0 !important; }

/* Fine-tuning against the old site (measured on screenshots) */
.old-mainrow { padding: 2px 0 8px; }
.old-header:not(.old-header--home) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--contrast) !important; }
.alliance-banner { min-height: 178px !important; }
.alliance-inner h3 strong { font-size: 17px; }
.alliance-inner .wp-block-post-content > * + *,
.alliance-inner .wp-block-post-content .wp-block-column > * + * { margin-block-start: .65em; }
.alliance-inner .wp-block-post-content :is(p, ul) { margin-block-end: 0; }
.alliance-inner .wp-block-post-content li { margin: 0; line-height: 20px; padding: 0 0 0; }
.alliance-inner .wp-block-post-content li + li { margin-top: 0; }
.alliance-inner .wp-block-post-content p { line-height: 20px; }
.alliance-inner .wp-block-post-content :is(p, li) a { color: inherit; }
.alliance-inner .wp-block-post-content h3 { margin-top: 2.2em; margin-bottom: .4em; }
.alliance-inner .wp-block-post-content :is(p, li) { font-size: 16px; line-height: 27px; }
.alliance-inner .wp-block-post-content > h3:first-child,
.alliance-inner .wp-block-post-content > :first-child h3:first-child { margin-top: 0; }
.inner-layout { padding-top: 36px !important; }
.old-mainrow { padding: 0 0 4px; }
.old-nav .wp-block-navigation-item__content { padding-top: 8px; }

/* Contact page: grey band with six contact items (icons as on the old site) */
.contact-band { padding-top: 34px; padding-bottom: 34px; }
.contact-items { gap: 20px !important; }
.contact-item { margin: 0; font-size: 15px; font-weight: 500; line-height: 25px; color: var(--wp--preset--color--muted); word-break: break-word; }
.contact-item a { color: inherit; }
.contact-item::before {
	content: "";
	display: block;
	width: 34px;
	height: 34px;
	margin: 0 auto 26px;
	background: #004288;
	-webkit-mask: var(--ico) no-repeat center / contain;
	mask: var(--ico) no-repeat center / contain;
}
.ci-home { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 1 12h3v9h6v-6h4v6h6v-9h3z'/%3E%3C/svg%3E"); }
.ci-phone { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm4.6 4.2-1.7.5c-.6.2-1 .8-.9 1.4.6 4.5 4.4 8.3 8.9 8.9.6.1 1.2-.3 1.4-.9l.5-1.7-2.6-1.2-1.2 1.3a8 8 0 0 1-3.2-3.2l1.3-1.2z'/%3E%3C/svg%3E"); }
.ci-mobile { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' d='M7.5 2.5h9a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-17a1 1 0 0 1 1-1zM6.5 5.5h11M6.5 18h11'/%3E%3C/svg%3E"); }
.ci-fax { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 2h9l3 3v5h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H8V2zm2 2v6h8V6h-2V4zM3 9h3v13H3a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1zm8 4v2h2v-2zm4 0v2h2v-2zm-4 4v2h2v-2zm4 0v2h2v-2z'/%3E%3C/svg%3E"); }
.ci-mail-open { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' d='M3 10 12 3l9 7v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm0 0 9 6 9-6'/%3E%3C/svg%3E"); }
.ci-mail { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 2 9.5V21a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V9.5zm0 12.3L4.6 9.6 12 4.6l7.4 5z'/%3E%3C/svg%3E"); }
.contact-main { gap: 40px !important; margin-top: 30px !important; }
.contact-main h3 { margin-top: 0 !important; }
.old-social--contact { margin: 18px 0 40px !important; }
.old-social--contact .wp-social-link svg { width: 22px; height: 22px; }

/* Contact form: labels above fields, two columns on the first rows (old Gravity Form layout) */
.wpcf7 .cf7-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
.wpcf7 label { font-size: 13px; font-weight: 400; color: var(--wp--preset--color--muted); }
.wpcf7 label abbr { color: var(--wp--preset--color--red); text-decoration: none; border: 0; }
.wpcf7 :is(input[type=text], input[type=email], input[type=tel], textarea) { padding: 6px 8px; font-size: 14px; }
.wpcf7 textarea { height: 140px; }
@media (max-width: 600px) { .wpcf7 .cf7-grid { grid-template-columns: 1fr; } }

/* Inscription: JotForm directly under the header, as on the old site */
.page-id-4685 main { padding-top: 50px !important; }
.bulletin-title { margin-top: 60px; font-size: 28px; }

/* Contact: grey band runs edge to edge directly under the title band */
.page-id-88 .alliance-inner > .wp-block-group { padding-top: 0 !important; }
.contact-band { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; max-width: 100vw !important; width: 100vw; }
.contact-band > .contact-items { max-width: 1212px; margin-left: auto !important; margin-right: auto !important; }
.contact-item::before { margin-bottom: 40px; }
.contact-main { margin-top: 40px !important; }
.wpcf7 label :is(input, textarea) { display: block; }
.wpcf7 .wpcf7-form-control-wrap { display: block; }

/* Inscription: grey page background behind the JotForm, as on the old site */
.page-id-4685 .wp-site-blocks > main { background: var(--wp--preset--color--light); padding-bottom: 60px !important; }

.page-id-88 .alliance-inner > * + * { margin-block-start: 0 !important; }
