/*
Theme Name: Seripress
Theme URI: https://www.seripress.fr
Author: Seripress
Description: Thème bloc sur mesure Seripress (FR/EN), reproduction fidèle du site d'origine. 100 % éditable dans Gutenberg.
Version: 1.0.24
Requires at least: 6.5
Requires PHP: 7.4
License: Propriétaire
Text Domain: seripress
*/

/* ==========================================================================
   Seripress — styles du thème (maquette transposée au balisage des blocs)
   Les classes de la maquette sont posées sur les blocs via className.
   ========================================================================== */

@font-face { font-family: 'FontAwesome'; src: url('assets/fonts/fontawesome-webfont.woff2') format('woff2'); font-display: block; }

:root {
  --marine: #0a1e3d;
  --marine-fonce: #091b37;
  --encre: #030a15;
  --bleu: #0085ca;
  --texte: #272727;
  --gris: #f5f5f5;
  --gris-form: #f3f3f3;
  --champ: #e0e0e0;
  --ardoise: #7b86a6;
  --lato: 'Lato', 'Helvetica Neue', Arial, sans-serif;
  --fira: 'Fira Sans', 'Helvetica Neue', Arial, sans-serif;
  --entete: 168px;
}

/* ---------- neutralisations Gutenberg (spécificité nulle, blocs-gutenberg.md) ---------- */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--lato); font-size: 16px; line-height: 1.3; color: var(--texte); background: #fff; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: inherit; text-decoration: none; transition: color .2s, background-color .2s, border-color .2s; }
:where(h1, h2, h3, h4, h5, h6, p, ul, ol, figure) { margin: 0; }
:where(ul.wp-block-list) { padding: 0; list-style: none; }
:where(.wp-block-group) > :where(*) { margin-block: 0; }
figure.wp-block-image, .wp-block-image { margin: 0; }
.wp-block-image img { height: auto; display: block; }
.wp-block-image a { display: block; }
strong { font-weight: 700; }
.wp-site-blocks > * { margin-block: 0; }
.wp-block-buttons { gap: 25px; }
.wp-block-button__link { border-radius: 0; }
:where(.wp-block-group.is-layout-flow) > * + * { margin-block-start: 0; }

/* ==========================================================================
   En-tête fixe (composition synchronisée « En-tête FR / EN »)
   ========================================================================== */
.zone-entete { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }
body.admin-bar .zone-entete { top: 32px; }
.entete { height: var(--entete); background: var(--marine); transition: height .3s; }
.entete .enveloppe { max-width: 1170px; margin: 0 auto; padding: 0 15px; }
.entete-haut { height: 66px; padding-top: 15px; border-bottom: 1px solid rgba(255, 255, 255, .8); display: flex; justify-content: flex-end; align-items: flex-start; transition: height .3s, padding .3s, opacity .3s; }

.recherche { width: 425px; margin-right: 60px; }
.recherche .wp-block-search__inside-wrapper { height: 35px; padding: 0; border: 1px solid rgba(255, 255, 255, .8); background: transparent; }
.recherche .wp-block-search__input { flex: 1; min-width: 0; padding: 0 20px; border: 0; background: transparent; color: #fff; font: italic 14px/20px var(--lato); outline: none; }
.recherche .wp-block-search__input::placeholder { color: #9da5b1; opacity: 1; }
.recherche .wp-block-search__button { width: 40px; margin: 0; padding: 0; border: 0; background: none; color: #fff; }
.recherche .wp-block-search__button svg { width: 18px; height: 18px; fill: currentColor; }

.outils-langue { display: flex; align-items: center; gap: 8px; padding: 12px 17px 0 0; font: 14px/18px var(--fira); color: #fff; }
.outils-langue .contact-lien a { padding: 0 5px; }
.outils-langue .contact-lien a:hover { color: var(--bleu); }
.outils-langue .contact-lien::after { font-family: 'FontAwesome'; content: '\f054'; margin-left: 8px; font-size: 13px; }
/* sélecteur de langue Polylang : drapeau courant, l'autre au survol */
.langue { position: relative; }
.langue ul, ul.langue { margin: 0; padding: 0; list-style: none; position: relative; }
.langue li { display: none; }
.langue li.current-lang { display: block; }
.langue li:not(.current-lang) { position: absolute; top: 100%; right: 0; padding-top: 6px; z-index: 3; }
.langue:hover li:not(.current-lang), .langue:focus-within li:not(.current-lang) { display: block; }
.langue img { display: block; width: 30px !important; height: 21px !important; }
html[lang^="en"] .langue { margin-top: -10px; }

.entete-bas { height: 102px; display: flex; align-items: center; }
.logo img { width: 200px; height: 74px; object-fit: contain; }

/* navigation (bloc core/navigation) */
nav.wp-block-navigation.menu-principal { margin-left: auto; margin-right: 15px; } ul.menu-principal { margin: 0 !important; } /* l’original laisse 15 px après la dernière entrée */
.wp-block-navigation.menu-principal .wp-block-navigation__container { gap: 15px; }
html[lang^="en"] .wp-block-navigation.menu-principal .wp-block-navigation__container { gap: 30px; }
.wp-block-navigation.wp-block-navigation.menu-principal .wp-block-navigation-item__content.wp-block-navigation-item__content { font: 15px/15px var(--fira); color: #fff; }
.wp-block-navigation.menu-principal > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 5px; }
.wp-block-navigation.menu-principal .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.wp-block-navigation.menu-principal .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content,
.wp-block-navigation.menu-principal .menu-bleu > .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--bleu); }
.wp-block-navigation.menu-principal .wp-block-navigation-item__label em { margin-left: 6px; font-style: normal; color: var(--bleu); }
.wp-block-navigation.menu-principal .wp-block-navigation__submenu-container { top: 35px; min-width: 224px !important; padding: 0; border: 0 !important; background: var(--marine-fonce) !important; box-shadow: 0 0 2px rgba(0, 0, 0, .3); }
.wp-block-navigation.wp-block-navigation.menu-principal .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content { padding: 10px 15px; font-size: 14px; line-height: 14px; color: #fff; white-space: nowrap; }
.wp-block-navigation.menu-principal .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { background: var(--gris) !important; box-shadow: 1px 1px 7px rgba(10, 30, 61, .2); }
.wp-block-navigation.wp-block-navigation.menu-principal .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--marine); }
.wp-block-navigation.menu-principal .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-item__content::after { font-family: 'FontAwesome'; content: '\f105'; margin-left: 12px; }
.wp-block-navigation.wp-block-navigation.menu-principal .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: var(--bleu); }
/* sous-menus : alignés à gauche de leur entrée (le bloc les cale à droite quand le menu est justifié à droite),
   3e niveau ouvert vers la droite, largeurs fixes comme l'original */
.wp-block-navigation.menu-principal .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { left: 0 !important; right: auto !important; top: 35px !important; width: 224px !important; min-width: 224px !important; }
.wp-block-navigation.menu-principal .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container { left: 100% !important; right: auto !important; top: 0 !important; width: 200px !important; min-width: 200px !important; }
.wp-block-navigation.menu-principal .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: normal; }
/* pont invisible sur l'écart de 10 px : le survol ne se perd plus en descendant vers le sous-menu */
.wp-block-navigation.menu-principal .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.wp-block-navigation.menu-principal .wp-block-navigation__submenu-container .has-child { position: relative; }
/* panneau mobile : forcer le fond (le CSS du bloc est imprimé après le thème) */
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--marine-fonce) !important; color: #fff !important; padding: 80px 24px 24px; }
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; box-shadow: none; }
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #fff; }
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container-open, .wp-block-navigation.menu-principal .wp-block-navigation__responsive-container-close { color: #fff; }
/* panneau mobile : tout en blanc, aligné à gauche, niveaux indentés (le 3e niveau était marine sur marine) */
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 6px !important; width: 100%; }
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #fff !important; padding: 6px 0 !important; font-size: 16px !important; line-height: 20px !important; }
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-weight: 600; border-bottom: 1px solid rgba(255, 255, 255, .15); width: 100%; }
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static !important; width: auto !important; min-width: 0 !important; padding: 0 0 4px 16px !important; background: transparent !important; box-shadow: none !important; }
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container::before { content: none; }
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation-item__content::after { content: none !important; }
.wp-block-navigation.menu-principal .wp-block-navigation__responsive-container.is-menu-open .menu-bleu > .wp-block-navigation-item__content { color: var(--bleu) !important; }

/* en-tête réduit au défilement */
body.defile .entete { height: 102px; }
body.defile .entete-haut { height: 0; padding-top: 0; border-color: transparent; opacity: 0; overflow: hidden; }

/* ==========================================================================
   Bandeau de page + fil d'Ariane
   ========================================================================== */
.bandeau { position: relative; padding: 268px 0 70px; text-align: center; overflow: hidden; }
.bandeau-image { position: absolute !important; inset: 0; }
.bandeau-image img { width: 100%; height: 100% !important; object-fit: cover; }
.bandeau-titre { position: relative; max-width: 912px; margin: 0 auto !important; padding: 0 15px; font: 400 40px/48px var(--lato); text-transform: uppercase; color: var(--marine); }
.ariane { display: flex; flex-wrap: wrap; align-items: baseline; max-width: 1140px; min-height: 45px; margin: 0 auto; padding: 15px 0; font-size: 10px; line-height: 13px; text-transform: uppercase; color: var(--texte); }
.ariane a { font-size: 11px; line-height: 11px; color: #222; }
.ariane a:hover { color: var(--bleu); }
.ariane a::after, .ariane .ariane-liens + .ariane-courant::before { font-family: 'FontAwesome'; content: '\f105'; margin: 0 8px; font-size: 10px; }
.ariane .ariane-liens a:last-child::after { content: none; }
.ariane .ariane-liens + .ariane-courant { font-size: 10px; }
.ariane-liens:only-child a:last-child::after { content: '\f105'; }

.contenu { padding: 20px 0 10px; }
.intro-grande { max-width: 1200px; margin: 0 auto; font-size: 20px; line-height: 26px; text-align: center; }
.intro-grande p { margin-bottom: 10px !important; }
.intro-grande.espace-haut { padding-top: 11px; }
.intro-grande.corps-normal { font-size: 16px; line-height: 20.8px; }

/* ==========================================================================
   Accueil
   ========================================================================== */
.diaporama { position: relative; height: 720px; overflow: hidden; background: var(--marine); }
.diaporama .diapo { position: absolute; inset: 0; opacity: 0; transition: opacity .8s; }
.diaporama .diapo.est-actif, .diaporama:not(.js-pret) .diapo:first-child { opacity: 1; }
.diaporama .diapo img { width: 100%; height: 100% !important; object-fit: cover; object-position: center top; }
.diaporama-logo { position: absolute !important; left: 50%; top: 279px; z-index: 2; width: 600px; transform: translateX(-50%); }
.diaporama-logo img { width: 600px; height: 184px !important; object-fit: contain; }

/* liens sociaux (bloc core/social-links) : pastilles rondes */
.reseaux-ronds, .pied-reseaux { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px !important; padding: 0 !important; margin: 0; }
.reseaux-ronds .wp-social-link, .pied-reseaux .wp-social-link { width: 40px; height: 40px; margin: 0 !important; border-radius: 50%; background: #fff !important; color: #21201f !important; }
.reseaux-ronds .wp-social-link a, .pied-reseaux .wp-social-link a { width: 100%; height: 100%; padding: 0 !important; display: flex; align-items: center; justify-content: center; }
.reseaux-ronds .wp-social-link svg { width: 20px; height: 20px; }
.reseaux-ronds .wp-social-link:hover, .pied-reseaux .wp-social-link:hover { background: var(--bleu) !important; color: #fff !important; transform: none; }
.diaporama .reseaux-ronds { position: absolute; left: 0; right: 0; bottom: 20px; z-index: 2; }

.accueil-intro { max-width: 1190px; margin: 0 auto; padding: 60px 0; font-size: 17px; line-height: 25.5px; text-align: center; }
.accueil-intro p { margin-bottom: 10px !important; }
.accueil-intro.espace-bas { padding-bottom: 96px; }

.tuiles { display: flex; gap: 33px; max-width: 1190px; margin: 0 auto; padding-bottom: 80px; }
.tuile { position: relative; width: 363px; }
.tuile-image img { width: 363px; height: 483px !important; object-fit: cover; }
.tuile-titre { position: absolute; left: 0; right: 0; top: 46.6%; padding: 10px; background: var(--marine); color: #fff; font-size: 20px; line-height: 26px; text-align: center; transition: background .2s; }
.tuile-titre a { display: block; }
.tuile:hover .tuile-titre { background: var(--bleu); }

.demi { display: flex; min-height: 426px; background: var(--gris); }
.demi-image { flex: 0 0 50%; }
.demi-image img { width: 100%; height: 100% !important; object-fit: cover; }
.demi-texte { flex: 0 0 50%; padding: 60px; display: flex; flex-direction: column; }
.demi.projet { min-height: 446px; }
.demi.projet .demi-texte { padding: 30px 60px; }
.demi-titre { margin-bottom: 30px !important; font: 500 36px/43.2px var(--fira); text-transform: uppercase; color: var(--encre); }
.demi-texte p { margin-bottom: 10px !important; font-size: 16px; line-height: 20.8px; }
.demi-texte .wp-block-buttons { margin-top: 31px !important; }
.wp-block-button.bouton-cadre .wp-block-button__link { display: inline-block; padding: 4px 10px; border: 2px solid var(--marine); background: transparent; color: var(--marine); font-size: 16px; line-height: 20.8px; }
.wp-block-button.bouton-cadre .wp-block-button__link:hover { background: var(--marine); color: #fff; }

.environnement { margin-top: -1px; padding: 60px 0; background: var(--marine); text-align: center; }
.environnement-titre { display: flex; justify-content: center; align-items: center; gap: 3px; }
.environnement-titre img { width: 50px; height: 50px !important; }
.environnement-titre h2 { padding-left: 10px; font: 400 36px/43.2px var(--fira); text-transform: uppercase; color: #fff; }
.environnement-texte { max-width: 1140px; margin: 0 auto; }
.environnement-texte p { color: var(--bleu); font-size: 16px; line-height: 20.8px; }
.environnement-texte li { padding-bottom: 5px; color: #fff; font-size: 16px; line-height: 24px; }
.environnement-texte li::before { content: '•'; margin-right: 8px; }
.environnement-texte ul + p { margin-top: 20px !important; }
.environnement-texte ul:last-child { margin-bottom: 10px !important; }

.expertise { display: flex; padding: 60px 0 80px; background: #fff; }
.expertise-bloc { flex: 0 0 33.333%; padding-right: 15px; text-align: center; }
.expertise-bloc img { width: 90px; height: 80px !important; object-fit: contain; margin: 0 auto; }
.expertise-bloc h3 { margin: 20px 0 10px !important; font-size: 20px; font-weight: 700; line-height: 24px; text-transform: uppercase; color: #000; }

/* ==========================================================================
   Page catégorie
   ========================================================================== */
.encadre-gris { max-width: 1140px; margin: 0 auto 40px !important; padding: 30px; background: var(--gris); text-align: center; }
.encadre-gris p { margin-bottom: 10px !important; line-height: 20.8px; }
.encadre-gris ul { margin-bottom: 10px !important; padding-left: 40px; }
.encadre-gris li { list-style: disc inside; line-height: 20.8px; }
.bandeaux { max-width: 1140px; margin: 0 auto; }
.bandeau-lien { display: flex; height: 149px; margin-bottom: 30px !important; background: #fff; box-shadow: 3px 3px 20px rgba(0, 0, 0, .5); overflow: hidden; }
.bandeau-lien-image { flex: 0 0 740px; overflow: hidden; }
.bandeau-lien-image img { width: 740px; height: 150px !important; object-fit: cover; transition: transform .4s; }
.bandeau-lien:hover img { transform: scale(1.04); }
.bandeau-lien h2 { flex: 1; display: flex; align-items: center; justify-content: center; padding: 0 20px; font: 700 18px/22px var(--fira); text-transform: uppercase; color: #111; text-align: center; }
.bandeau-lien:hover h2 { color: var(--bleu); }

/* ==========================================================================
   Fiche produit
   ========================================================================== */
.gamme { max-width: 1140px; margin: 0 auto 30px !important; padding: 30px 0 0 30px; text-align: center; }
.gamme-titre { margin-bottom: 30px !important; font-size: 34px; font-weight: 800; line-height: 51px; text-transform: uppercase; color: var(--marine); }
.gamme-liste { display: flex; justify-content: center; gap: 60px; flex-wrap: wrap; }
.gamme-carte { width: 310px; margin-bottom: 45px !important; padding: 10px; background: var(--marine); box-shadow: 3px 3px 20px rgba(0, 0, 0, .3); color: #fff; text-align: center; transition: background .2s; }
.gamme-carte:hover { background: var(--bleu); }
.gamme-image img { width: 290px; height: 105px !important; padding-bottom: 10px; object-fit: cover; }
.gamme-nom { font-size: 25px; font-weight: 600; line-height: 32.5px; }

.produit { padding: 30px 0 60px; scroll-margin-top: 110px; }
.produit:nth-child(odd) { background: var(--gris); }
.produit-titre { max-width: 1140px; margin: 20px auto 10px !important; font-size: 26px; font-weight: 700; line-height: 31.2px; text-transform: uppercase; color: var(--marine); }
.produit-rangee { display: flex; max-width: 1140px; margin: 0 auto; }
.produit-galerie { flex: 0 0 870px; padding: 0 30px 29px 0; }
.produit-encart { flex: 0 0 270px; }
.produit-encart .wp-block-image img { width: 270px; margin-bottom: 30px; }
.produit-encart h3 { margin-bottom: 5px !important; padding: 0 30px; font-size: 22px; font-weight: 600; line-height: 33px; text-transform: uppercase; color: var(--marine); text-align: center; }
.options li { margin-bottom: 11px; padding: 10px 15px; border: 2px solid var(--marine); font-size: 18px; text-transform: uppercase; color: var(--marine); text-align: center; }
.options li:has(a) { padding: 0; }
.options a { display: block; padding: 10px 15px; }
.options li:has(a):hover { background: var(--marine); color: #fff; }
.produit-texte { max-width: 1140px; margin: 0 auto; padding-right: 30px; }
.produit-texte p { margin-bottom: 10px !important; line-height: 20.8px; }
.produit-texte ul { margin-bottom: 10px !important; padding-left: 40px; }
.produit-texte li { position: relative; padding-left: 20px; line-height: 20.8px; }
.produit-texte li::before { content: ''; position: absolute; left: 0; top: 7px; width: 8px; height: 8px; background: #aaa; }
.produit-boutons { margin: 25px 0 15px !important; }
.produit-boutons .wp-block-button__link { position: relative; display: inline-block; padding: 15px 10px 15px 40px; background: var(--ardoise); color: #fff; font-size: 16px; font-weight: 700; line-height: 16px; }
.produit-boutons .wp-block-button__link::before { content: ''; position: absolute; left: 10px; top: 11.5px; width: 23px; height: 23px; background: url('assets/img/fiche_icone.png') center / contain no-repeat; }
.produit-boutons .b-echantillon .wp-block-button__link::before { background-image: url('assets/img/panel.png'); }
.produit-boutons .wp-block-button__link:hover { background: var(--marine); }

/* galerie en carrousel : toutes les images sont des blocs de la page */
.galerie { position: relative; height: 458px; overflow: hidden; background: #fff; }
.galerie .wp-block-image { position: absolute; inset: 0; opacity: 0; transition: opacity .5s; }
.galerie .wp-block-image.est-actif, .galerie:not(.js-pret) .wp-block-image:first-child { opacity: 1; }
.galerie img { width: 100%; height: 100% !important; object-fit: cover; }
.galerie-fleche { position: absolute; top: 50%; z-index: 3; width: 40px; height: 60px; margin-top: -30px; border: 0; background: none; color: #fff; font-size: 34px; cursor: pointer; text-shadow: 0 0 6px rgba(0, 0, 0, .4); }
.galerie-fleche::before { font-family: 'FontAwesome'; }
.galerie-fleche.prec { left: 10px; }
.galerie-fleche.prec::before { content: '\f104'; }
.galerie-fleche.suiv { right: 10px; }
.galerie-fleche.suiv::before { content: '\f105'; }

/* ==========================================================================
   Notre entreprise
   ========================================================================== */
.tuiles-page { display: flex; gap: 30px; max-width: 1140px; margin: 0 auto; padding: 20px 0 0 6px; }
.tuiles-page .tuile { width: 346px; margin-bottom: 20px !important; }
.tuiles-page .tuile-image img { width: 346px; height: 461px !important; }
.tuiles-page .tuile-titre { top: 226px; font-weight: 500; line-height: 24px; }

/* ==========================================================================
   Actualités (bloc Requête) + article
   ========================================================================== */
.actus-intro { max-width: 1140px; padding: 0 0 10px; }
.reseaux-ronds.gris { gap: 17px !important; margin: 3px 0 30px !important; }
.reseaux-ronds.gris .wp-social-link { background: #ccc8d6 !important; color: #fff !important; }
.reseaux-ronds.gris .wp-social-link svg { width: 17px; height: 17px; }
.reseaux-ronds.gris .wp-social-link:hover { background: var(--marine) !important; }
.cartes-actu { max-width: 1140px; margin: 0 auto; }
.cartes-actu .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.carte-actu { position: relative; height: 500px; margin-bottom: 60px !important; box-shadow: 3px 3px 20px rgba(0, 0, 0, .2); overflow: hidden; }
.carte-actu .wp-block-post-featured-image { height: 100%; margin: 0; }
.carte-actu .wp-block-post-featured-image a, .carte-actu .wp-block-post-featured-image img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.carte-actu-texte { position: absolute; top: 40px; right: 40px; bottom: 40px; width: 342px; padding: 15px; background: #fff; display: flex; flex-direction: column; }
.carte-actu-date { font-size: 18px; font-weight: 800; line-height: 23.4px; color: #ccc; }
.carte-actu-titre { position: relative; margin: 10px 0 !important; font: 400 26px/31.2px var(--fira); text-transform: uppercase; color: var(--marine); }
.carte-actu-titre::after { content: ''; position: absolute; left: 0; bottom: -8px; width: 50px; height: 1px; background: var(--marine); }
.carte-actu:hover .carte-actu-titre { color: var(--bleu); }
.carte-actu-extrait { flex: 1; display: flex; flex-direction: column; }
.carte-actu-extrait .wp-block-post-excerpt__excerpt { margin: 15px 0 !important; font-size: 16px; font-weight: 300; line-height: 24px; color: var(--texte); }
.carte-actu-extrait .wp-block-post-excerpt__more-text { margin: auto 0 14px !important; align-self: center; }
.carte-actu-extrait .wp-block-post-excerpt__more-link { display: block; width: 60px; height: 33px; background: url('assets/img/right-arrow.png') center / contain no-repeat; font-size: 0; transition: transform .2s; }
.carte-actu:hover .wp-block-post-excerpt__more-link { transform: translateX(8px); }

.article { max-width: 1140px; margin: 0 auto; padding: 20px 0 22px; }
.article-chapo { margin-bottom: 30px !important; line-height: 20.8px; }
.article-image { margin: 0 0 40px !important; }
.article-image img { width: 1110px; height: auto !important; }
.article-date { display: block; font-size: 18px; font-weight: 800; line-height: 23.4px; color: #ccc; }
.article-titre { position: relative; display: inline-block; margin: 10px 0 30px !important; font: 400 26px/31.2px var(--fira); text-transform: uppercase; color: var(--marine); }
.article-titre::after { content: ''; position: absolute; left: 0; bottom: -10px; width: 50px; height: 1px; background: var(--marine); }
.article-texte p { margin-bottom: 10px !important; line-height: 20.8px; }
.article-texte h3 { margin: 10px 0 !important; font: 400 20px/26px var(--fira); color: var(--marine); }
.article-texte ul { margin-bottom: 10px !important; padding-left: 40px; list-style: disc; }
.article-texte a { color: var(--bleu); text-decoration: underline; }
.article-texte .wp-block-image { margin: 10px 0 !important; }

/* ==========================================================================
   Contact (+ Contact Form 7)
   ========================================================================== */
.contact-intro { max-width: 1200px; margin: 0 auto; padding: 0 0 20px 30px; font-size: 20px; line-height: 26px; }
.contact-intro p { margin-bottom: 10px !important; }
.contact-rangee { display: flex; gap: 40px; max-width: 1200px; margin: 0 auto; padding-left: 30px; align-items: flex-start; }
.contact-infos { flex: 0 0 250px; }
.contact-info { margin-bottom: 20px !important; padding: 10px 20px; background: var(--marine); box-shadow: 0 0 10px 2px rgba(130, 129, 129, .4); color: #fff; text-align: center; }
.contact-info .wp-block-image img { width: 50px; height: 70px !important; margin: 0 auto; padding-top: 20px; object-fit: contain; }
.contact-info h2 { margin: 10px 0 !important; font-size: 20px; font-weight: 500; line-height: 24px; }
.contact-info p { margin: 10px 0 !important; font-size: 16px; font-weight: 500; line-height: 20.8px; }
.contact-info a:hover { color: var(--bleu); }
.formulaire { flex: 0 0 880px; padding: 20px 60px 60px; background: var(--gris-form); }
.formulaire h2 { margin: 10px 0 20px !important; font-size: 24px; font-weight: 800; line-height: 28.8px; text-transform: uppercase; color: var(--marine); text-align: center; }
.formulaire .champs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px 40px; }
.formulaire .champ { grid-column: span 3; margin: 0; }
.formulaire .champ.plein { grid-column: 1 / -1; }
.formulaire .champ.tiers { grid-column: span 2; }
.formulaire label { display: block; margin-bottom: 5px; font-size: 16px; font-weight: 600; font-style: italic; line-height: 20.8px; color: var(--marine); }
.formulaire .wpcf7-form-control-wrap { display: block; }
.formulaire input[type=text], .formulaire input[type=email], .formulaire input[type=tel], .formulaire textarea { display: block; width: 100%; padding: 5px 10px; border: 1px solid var(--champ); background: var(--champ); font: 16px/20.8px var(--lato); color: #222; }
.formulaire textarea { height: 126px; padding: 10px 15px; resize: vertical; }
.lecteur-ecran { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* champ pièce jointe : case grise + bouton trombone à droite, comme l'original */
.formulaire .champ-fichier input[type=file] { direction: rtl; display: block; width: 100%; height: 33px; padding: 0 0 0 10px; border: 0; background: var(--champ); font: italic 14px/33px var(--lato); color: #808080; text-align: left; cursor: pointer; }
.formulaire .champ-fichier input[type=file]::file-selector-button { width: 36px; height: 33px; margin: 0 0 0 10px; border: 0; background: var(--marine) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M21 11.5l-8.6 8.6a5.5 5.5 0 01-7.8-7.8l8.6-8.6a3.7 3.7 0 015.2 5.2l-8.6 8.6a1.8 1.8 0 01-2.6-2.6l7.9-7.9'/%3E%3C/svg%3E") center / 16px no-repeat; color: transparent; cursor: pointer; }
.formulaire .envoyer { display: flex; justify-content: flex-end; margin-top: 30px; }
.formulaire input[type=submit] { width: 200px; padding: 15px 23px; border: 2px solid var(--marine); background: var(--marine); color: #fff; font: 700 18px/18px var(--lato); text-transform: uppercase; cursor: pointer; }
.formulaire input[type=submit]:hover { background: #fff; color: var(--marine); }
.formulaire .wpcf7-spinner { display: none; }
.formulaire .wpcf7-not-valid-tip { margin-top: 4px; font-size: 13px; color: #c0392b; }
.formulaire .wpcf7-response-output { margin: 20px 0 0 !important; padding: 10px 15px !important; border: 2px solid var(--marine) !important; color: var(--marine); }
.carte-plan { max-width: 1200px; margin: 20px auto 40px !important; padding-left: 30px; }
.carte-plan img { width: 1170px; height: 500px !important; object-fit: cover; }

/* ==========================================================================
   Pied de page (composition synchronisée « Pied FR / EN »)
   ========================================================================== */
.pied { background: var(--marine) url('assets/img/seripress-footer2.png') center bottom / auto no-repeat; color: #fff; }
.pied-corps { display: flex; max-width: 1190px; margin: 0 auto; padding: 30px 0 20px; }
.pied-col { padding: 0 5px; }
.pied-col.c1 { flex: 0 0 25%; }
.pied-col.c2 { flex: 0 0 32%; }
.pied-col.c3 { flex: 0 0 25.8%; }
.pied-col.c4 { flex: 0 0 17.2%; padding-top: 40px; }
.pied-titre { margin: 20px 0 10px !important; padding-left: 10px; border-left: 3px solid var(--bleu); font-size: 16px; font-weight: 600; line-height: 19.2px; text-transform: uppercase; }
.pied-texte { margin: 0 10px !important; padding: 10px 0; font-size: 14px; line-height: 21px; color: var(--gris); }
.pied-sous-titre, .pied-reseaux, .pied-actus { margin-left: 10px !important; margin-right: 10px !important; }
.pied-sous-titre { padding: 10px 0; font-size: 16px; font-weight: 600; line-height: 21px; color: var(--gris); }
.pied-reseaux { justify-content: flex-start; gap: 8px !important; }
.pied-reseaux .wp-social-link { width: 28px; height: 28px; background: var(--gris) !important; }
.pied-reseaux .wp-social-link svg { width: 14px; height: 14px; }
.pied-actus .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.pied-actu { margin-bottom: 12px !important; }
.pied-actu .wp-block-post-title { margin-bottom: 6px !important; font-size: 14px; font-weight: 500; line-height: 19.6px; }
.pied-actu .wp-block-post-title a:hover { color: var(--bleu); }
.pied-actu .wp-block-post-date { font-size: 14px; font-style: italic; color: var(--bleu); }
.pied-liens { padding-left: 10px !important; }
.pied-col.c4 .pied-liens { padding-left: 0 !important; }
.pied-liens a { font-size: 14px; line-height: 18.2px; }
.pied-liens a:hover { color: var(--bleu); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1199px) {
  .wp-block-navigation.menu-principal .wp-block-navigation__container { gap: 4px !important; }
  .wp-block-navigation.menu-principal .wp-block-navigation-item__content.wp-block-navigation-item__content { font-size: 14px; }
  .tuiles, .tuiles-page { gap: 20px; padding-left: 15px; padding-right: 15px; justify-content: center; }
  .tuile, .tuiles-page .tuile { flex: 1; width: auto; }
  .tuile-image img, .tuiles-page .tuile-image img { width: 100%; }
  .produit-galerie { flex: 1; }
  .produit-titre, .produit-texte, .gamme, .encadre-gris, .bandeaux, .cartes-actu, .article, .ariane, .contact-intro { padding-left: 15px; padding-right: 15px; }
  .bandeau-lien-image { flex-basis: 60%; }
  .bandeau-lien-image img { width: 100%; }
  .formulaire { flex: 1; }
  .carte-plan img { width: 100%; }
}
/* menu principal FR : tient sur une ligne entre 992 et 1099 px (sinon passage à la ligne) */
@media (max-width: 1099px) {
  nav.wp-block-navigation.menu-principal { margin-right: 0; }
  .wp-block-navigation.menu-principal > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 5px 3px; }
  .wp-block-navigation.wp-block-navigation.menu-principal .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content.wp-block-navigation-item__content { font-size: 14px; }
}
@media (max-width: 1024px) {
  .wp-block-navigation.wp-block-navigation.menu-principal .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content.wp-block-navigation-item__content { font-size: 13px; }
}
@media (max-width: 991px) {
  :root { --entete: 80px; }
  body.admin-bar .zone-entete { top: 46px; }
  .entete-haut { display: none; }
  .entete-bas { height: 80px; padding: 0 15px; }
  .logo img { width: 150px; height: 56px; }
  body.defile .entete { height: 80px; }
  .diaporama { height: 70vh; min-height: 420px; }
  .diaporama-logo { top: 50%; width: 80%; transform: translate(-50%, -50%); }
  .diaporama-logo img { width: 100%; height: auto !important; }
  .bandeau { padding: calc(var(--entete) + 60px) 0 40px; }
  .bandeau-titre { font-size: 28px; line-height: 34px; }
  .tuiles, .tuiles-page { flex-direction: column; align-items: center; }
  .tuile, .tuiles-page .tuile { width: 100%; max-width: 363px; flex: none; }
  .demi { flex-direction: column; }
  .demi.innovation .demi-texte { order: 2; }
  .demi-image { height: 300px; }
  .demi-texte { padding: 40px 20px !important; }
  .demi-titre, .environnement-titre h2 { font-size: 26px; line-height: 32px; }
  .environnement { padding: 40px 15px; }
  .expertise { flex-direction: column; gap: 30px; }
  .expertise-bloc { padding: 0 15px; }
  .bandeau-lien { flex-direction: column; height: auto; }
  .bandeau-lien-image { flex: none; }
  .bandeau-lien h2 { padding: 16px; }
  .produit-rangee { flex-direction: column; gap: 20px; padding: 0 15px; }
  .galerie { height: 56vw; }
  .produit-encart { flex: none; max-width: 270px; }
  .carte-actu { height: auto; }
  .carte-actu .wp-block-post-featured-image { height: 56vw; }
  .carte-actu-texte { position: static; width: auto; }
  .carte-actu-titre { font-size: 22px; line-height: 27px; }
  .contact-rangee { flex-direction: column; padding: 0 15px; }
  .contact-infos { flex: none; width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
  .contact-info { margin: 0 !important; }
  .formulaire { width: 100%; padding: 20px; }
  .formulaire .champs { grid-template-columns: 1fr; }
  .formulaire .champ, .formulaire .champ.tiers { grid-column: 1 / -1; }
  .carte-plan { padding: 0 15px; }
  .carte-plan img { height: 300px !important; }
  .pied-corps { flex-wrap: wrap; padding: 30px 15px; }
  .pied-col.c1, .pied-col.c2, .pied-col.c3, .pied-col.c4 { flex: 0 0 50%; padding: 0 10px; }
  .intro-grande, .contact-intro { font-size: 18px; line-height: 24px; padding: 0 15px; }
}
@media (max-width: 600px) {
  .pied-col.c1, .pied-col.c2, .pied-col.c3, .pied-col.c4 { flex-basis: 100%; }
  .gamme-liste { gap: 20px; }
  .gamme-carte { width: 100%; max-width: 310px; }
  .gamme-image img { width: 100%; }
}

/* ==========================================================================
   Site complet — composants supplémentaires (relevés sur seripress.fr)
   ========================================================================== */

/* texte courant (mentions, plan du site, savoir-faire, intro échantillons…) */
.texte-page, .texte-centre, .texte-presses { max-width: 1140px; margin: 0 auto 10px !important; }
.texte-page p, .texte-centre p { margin-bottom: 10px !important; line-height: 20.8px; }
.texte-page h3, .texte-page h4, .texte-centre h3 { margin: 20px 0 10px !important; font-size: 26px; font-weight: 700; line-height: 31.2px; text-transform: uppercase; color: var(--marine); }
.texte-page ul, .fiche-gauche ul, .domaine-texte ul, .ligne-demi-texte ul, .presse-texte ul { margin-bottom: 10px !important; padding-left: 40px; }
.texte-page li, .fiche-gauche li, .domaine-texte li, .ligne-demi-texte li, .presse-texte li { position: relative; padding-left: 20px; line-height: 20.8px; }
.texte-page li::before, .fiche-gauche li::before, .domaine-texte li::before, .ligne-demi-texte li::before, .presse-texte li::before { content: ''; position: absolute; left: 0; top: 7px; width: 8px; height: 8px; background: #aaa; }
.texte-page a, .domaine-texte a, .ligne-demi-texte a { color: var(--bleu); }
.texte-centre { text-align: center; }
.texte-centre h3 { font-size: 34px; font-weight: 800; line-height: 40.8px; }
.texte-chapeau > p:first-child { margin-bottom: 30px !important; font-size: 20px; font-weight: 600; line-height: 24px; color: var(--marine); }
.texte-image { display: grid; grid-template-columns: 300px 1fr; column-gap: 30px; align-items: start; }
.texte-image > .wp-block-image { grid-row: 1 / span 12; }
.texte-image > :not(.wp-block-image) { grid-column: 2; }
.page-selon-vos-besoins .texte-page, .page-recevoir-pack .texte-page { max-width: 969px; }
.texte-presses { max-width: 1200px; }
.texte-presses p { margin-bottom: 5px !important; font-size: 34px; font-weight: 600; line-height: 44.2px; color: var(--marine); }

/* fiche simple : titre, galerie, texte à gauche ; visuel d'option à droite */
.fiche { display: flex; max-width: 1140px; margin: 0 auto 30px !important; padding: 20px 0 60px; }
.fiche-gauche { flex: 0 0 855px; }
.fiche-droite { flex: 0 0 285px; padding: 46px 0 0 15px; }
.fiche-droite img { width: 270px; }
.fiche-titre { margin-bottom: 15px !important; font-size: 26px; font-weight: 800; line-height: 31.2px; text-transform: uppercase; color: var(--marine); }
.galerie.galerie-fiche { height: 465px; margin-bottom: 30px !important; }
.fiche-gauche p { margin-bottom: 10px !important; line-height: 20.8px; }

/* fiche secteur d'activité */
.domaine { max-width: 1140px; margin: 0 auto 64px !important; }
.galerie.galerie-domaine { height: 457px; margin-bottom: 30px !important; }
.domaine-rangee { display: flex; align-items: flex-start; }
.domaine-texte { flex: 0 0 790px; padding-right: 50px; }
.domaine-texte p { margin-bottom: 10px !important; line-height: 20.8px; }
.domaine-pack { flex: 0 0 350px; padding: 15px; background: var(--marine); box-shadow: 3px 3px 20px rgba(0, 0, 0, .5); color: #fff; }
.pack-visuel { position: relative; }
.pack-visuel img { width: 272px; height: 294px !important; object-fit: cover; margin-bottom: 15px; }
.pack-titre { position: absolute; top: 0; right: 0; writing-mode: vertical-rl; font-size: 36px; font-weight: 800; line-height: 43.2px; text-transform: uppercase; color: #fff; white-space: nowrap; }
.pack-texte p { font-size: 16px; font-style: italic; line-height: 20.8px; }
.wp-block-button.b-pack { width: 100%; margin-top: 15px; }
.wp-block-button.b-pack .wp-block-button__link { display: block; padding: 10px 5px; border: 2px solid #fff; background: transparent; color: #fff; font-size: 20px; font-weight: 700; line-height: 20px; text-align: center; text-transform: uppercase; }
.wp-block-button.b-pack .wp-block-button__link:hover { background: #fff; color: var(--marine); }

/* lignes image / texte en alternance (notre savoir-faire) */
.ligne-demi { display: flex; align-items: flex-start; max-width: 1170px; margin: 0 auto 40px !important; font-size: 15px; line-height: 19.5px; }
.ligne-demi.texte-a-gauche { flex-direction: row-reverse; text-align: right; }
.ligne-demi-image, .ligne-demi-texte { flex: 0 0 50%; padding: 0 15px; }
.ligne-demi-image img { width: 555px; }
.ligne-demi-texte h3, .ligne-demi-texte h4 { margin-bottom: 10px !important; font-size: 26px; font-weight: 700; line-height: 31.2px; text-transform: uppercase; color: var(--marine); }
.ligne-demi-texte p { margin-bottom: 10px !important; }
.ligne-demi-texte li { line-height: 19.5px; }

/* presses SEFA */
.titre-presses { max-width: 1200px; margin: 0 auto 10px !important; font-size: 34px; font-weight: 800; line-height: 40.8px; text-transform: uppercase; color: var(--marine); text-align: center; }
.atouts { display: flex; justify-content: center; gap: 20px; margin: 10px 0 30px !important; }
.atout { width: 280px; padding: 20px; background: var(--marine); text-align: center; }
.atout p { font-size: 25px; font-weight: 600; line-height: 32.5px; color: #fff; }
.atout em { font-size: 14px; font-style: normal; font-weight: 400; line-height: 18.2px; }
.presse { padding: 20px; background: #fff; }
.presse.gris { background: #efefef; }
.presse-conteneur { display: flex; max-width: 1140px; margin: 0 auto; }
.presse-texte { flex: 0 0 570px; }
.presse-image { flex: 0 0 570px; }
.presse-image img { width: 473px; }
.presse-titre, .presse-texte h3 { margin: 20px 0 10px !important; font-size: 26px; font-weight: 700; line-height: 31.2px; text-transform: uppercase; color: var(--marine); }
.presse-texte h3 { font-weight: 600; }
.presse-texte p, .presse-texte li { font-size: 14px; line-height: 18.2px; }
.presse-texte p { margin-bottom: 10px !important; }
.presse-texte li img { display: inline; width: 20px !important; height: auto !important; margin-right: 5px; vertical-align: middle; }
.presse-commande { display: flex; align-items: center; gap: 15px; margin: 30px 0 !important; }
.presse-texte .presse-prix { margin: 0 !important; padding: 10px 20px; background: var(--ardoise); font-size: 22px; line-height: 28.6px; color: #fff; }
.wp-block-button.b-devis .wp-block-button__link { padding: 8px 20px; border: 2px solid var(--ardoise); background: transparent; color: var(--ardoise); font-size: 22px; line-height: 28.6px; text-transform: uppercase; }
.wp-block-button.b-devis .wp-block-button__link:hover { background: var(--ardoise); color: #fff; }

/* table des accessoires (bloc Tableau) */
.table-accessoires { max-width: 1200px; margin: 0 auto 30px !important; overflow-x: auto; }
.table-accessoires table { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 16.9px; }
.table-accessoires th, .table-accessoires td { padding: 10px; border: 1px solid #d5d8e0; vertical-align: middle; }
.table-accessoires th { font-size: 16px; font-weight: 600; line-height: 18px; color: var(--marine); text-align: center; }
.table-accessoires tr:first-child th { border-bottom: 3px solid var(--marine); }
.table-accessoires td[colspan] { background: #f1f1f1; font-size: 18px; font-weight: 600; line-height: 18px; color: var(--texte); }
.table-accessoires td:nth-child(3) { font-size: 14px; font-weight: 600; line-height: 18.2px; color: var(--ardoise); text-align: center; }
.table-accessoires td:nth-child(n+4) { text-align: center; }
.table-accessoires td:nth-child(n+4) { font-size: 11px; line-height: 14px; }
.table-accessoires td:nth-child(n+4) strong { font-size: 11px; color: var(--ardoise); }
.table-accessoires td:nth-child(n+4) > strong:first-child, .table-accessoires td:nth-child(n+4) > em:first-child { font-size: 18px; }
.table-accessoires td:nth-child(2) strong, .table-accessoires td[colspan] strong { font-size: 15px; font-weight: 700; color: var(--texte); }
.table-accessoires td[colspan] strong { font-size: 18px; font-weight: 600; }
.table-accessoires td em { font-size: 18px; font-style: normal; color: #d00; }
.table-accessoires img { width: 150px !important; max-width: none; height: auto !important; }

/* formulaires d'échantillons (plein format) */
.formulaire.formulaire-large { display: block; flex: none; max-width: 969px; margin: 0 auto 40px !important; padding: 0; background: transparent; }
.formulaire-large h2 { margin: 0 0 10px !important; font-size: 26px; font-weight: 700; line-height: 31.2px; }
.formulaire-large .wpcf7-form { padding: 60px 20px 20px; background: var(--gris-form); }
.formulaire-large .champs { grid-template-columns: repeat(6, 1fr); gap: 16px 19px; }
.formulaire-large .champ { grid-column: span 3; }
.formulaire-large .champ.plein { grid-column: 1 / -1; }
.formulaire-large .champ.tiers { grid-column: span 2; }
.formulaire-large .champ-fichier { grid-column: 1 / span 3; }
.formulaire .champ.adresse textarea { height: 54px; }
.formulaire-large label { font-style: normal; font-weight: 700; }

/* cartes sans image */
.bandeau-lien.sans-image h2 { flex: 1 1 100%; }
.gamme-carte.sans-image .gamme-nom { padding: 30px 0; }

@media (max-width: 991px) {
  .fiche, .domaine-rangee, .presse-conteneur, .ligne-demi, .ligne-demi.texte-a-gauche { flex-direction: column; padding-left: 15px; padding-right: 15px; text-align: left; }
  .fiche-gauche, .fiche-droite, .domaine-texte, .domaine-pack, .presse-texte, .presse-image, .ligne-demi-image, .ligne-demi-texte { flex: none; width: 100%; padding-left: 0; padding-right: 0; }
  .galerie.galerie-fiche, .galerie.galerie-domaine { height: 56vw; }
  .domaine-pack { max-width: 350px; margin-top: 20px; }
  .texte-image { grid-template-columns: 1fr; }
  .texte-image > .wp-block-image { grid-row: auto; }
  .texte-image > :not(.wp-block-image) { grid-column: 1; }
  .texte-page, .texte-centre, .texte-presses, .titre-presses { padding: 0 15px; }
  .titre-presses, .texte-presses p { font-size: 26px; line-height: 32px; }
  .atouts { flex-wrap: wrap; padding: 0 15px; }
  .formulaire-large .champs { grid-template-columns: 1fr; }
  .formulaire.formulaire-large { padding: 0 15px; }
}

/* URL longues (pages légales) : coupure autorisée pour éviter le défilement horizontal */
.texte-page, .texte-centre, .article-texte, .domaine-texte, .ligne-demi-texte { overflow-wrap: anywhere; }

/* captcha (Really Simple CAPTCHA) */
.formulaire .champ-captcha .captcha-ligne { display: flex; align-items: center; gap: 12px; margin-top: 5px; }
.formulaire .champ-captcha img.wpcf7-captchac { height: 33px; width: auto; }
.formulaire .champ-captcha .wpcf7-form-control-wrap { display: block; width: 160px; }
.formulaire .champ-captcha input[type=text] { width: 160px; }

/* FAQ (blocs Détails) et comparatif des techniques — pages rédigées, contenu/_faq.json */
.faq-theme, .table-comparatif, .comparatif-choisir { max-width: 1140px; margin: 0 auto 30px !important; }
.faq-theme-titre, .comparatif-choisir h2 { margin: 30px 0 15px !important; font-size: 26px; font-weight: 700; line-height: 31.2px; text-transform: uppercase; color: var(--marine); }
.faq-question { margin: 0 0 10px !important; border: 1px solid #d5d8e0; background: #fff; }
.faq-question > summary { position: relative; padding: 14px 50px 14px 20px; font-size: 17px; font-weight: 700; line-height: 22px; color: var(--marine); cursor: pointer; list-style: none; }
.faq-question > summary::-webkit-details-marker { display: none; }
.faq-question > summary::after { content: '+'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 26px; font-weight: 400; color: var(--bleu); }
.faq-question[open] > summary { background: var(--gris); }
.faq-question[open] > summary::after { content: '–'; }
.faq-question > :not(summary) { margin: 12px 20px !important; line-height: 20.8px; }
.faq-question ul { padding-left: 20px; }
.faq-question li { position: relative; margin-bottom: 6px; padding-left: 20px; line-height: 20.8px; }
.faq-question li::before { content: ''; position: absolute; left: 0; top: 7px; width: 8px; height: 8px; background: #aaa; }
.faq-question a, .table-comparatif a { color: var(--bleu); }
.table-comparatif { overflow-x: auto; }
.table-comparatif table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 14px; line-height: 19px; }
.table-comparatif th, .table-comparatif td { padding: 10px 12px; border: 1px solid #d5d8e0; vertical-align: top; text-align: left; }
.table-comparatif thead th { background: var(--marine); color: #fff; font-size: 17px; font-weight: 700; text-transform: uppercase; }
.table-comparatif thead th a { color: #fff; }
.table-comparatif tbody tr:nth-child(even) td { background: var(--gris); }
.table-comparatif td:first-child { width: 14%; color: var(--marine); }
@media (max-width: 991px) {
  .faq-theme, .table-comparatif, .comparatif-choisir { padding: 0 15px; }
  .faq-question > summary { font-size: 16px; }
}
