/**
Theme Name: Alimentaly
Author: WP GRAPHIK
Author URI: https://wpgraphik.com
Description: Alimentaly website theme.
Version: 1.0.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: alimentaly
Template: astra
*/

/* =====================================================================
   ALIMENTALY — utilitaires du Design System v1.0 (handoff 09/10/2026)
   Chaque classe s'applique via Avance > Classe(s) CSS supplementaire(s).
   Les couleurs viennent de la palette Astra (--ast-global-color-0..8).
   ===================================================================== */

:root{
  --al-red-text:#B01F2A;
  --al-muted:#6B706C;
  --al-on-green:#E3F1E8;
  --al-on-green-label:#BFE3CD;
  --al-rule:#EFECE4;
  --al-placeholder:#ECE7DC;
  --al-radius-img:16px; /* arrondi unique de toutes les images du site (10/11/2026) */
}

/* ---------- Typographie ---------- */
.al-eyebrow{font-family:'Open Sans',sans-serif!important;font-size:14px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--al-red-text);margin:0}
.al-eyebrow.al-on-green,.al-on-green .al-eyebrow{color:var(--al-on-green-label)}
.al-eyebrow.al-muted{color:var(--al-muted)}
@media (max-width:767px){.al-eyebrow{font-size:13px!important}}

.al-lead{font-size:21px;line-height:1.6!important}
@media (max-width:1024px){.al-lead{font-size:20px}}
@media (max-width:767px){.al-lead{font-size:18px}}

.al-category-line{font-family:sofia-pro,'Sofia-Pro',sans-serif;font-weight:900;font-size:42px;line-height:1.3!important;color:var(--ast-global-color-2);margin:0}
@media (max-width:1024px){.al-category-line{font-size:34px}}
@media (max-width:767px){.al-category-line{font-size:26px}}
.al-category-line mark{background:transparent!important;padding:0 .08em}

.al-figure,.al-figure .spectra-counter-number{white-space:nowrap}
.al-figure .spectra-counter-number{font-family:sofia-pro,'Sofia-Pro',sans-serif;font-weight:900;letter-spacing:-.02em;line-height:1}
.al-figure .spectra-counter-suffix,.al-figure [class*="suffix"]{font-size:.5em}

/* ---------- Boutons ---------- */
.wp-block-spectra-button{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.wp-block-spectra-button svg{transition:transform .2s ease}
.wp-block-spectra-button:hover svg{transform:translateX(4px)}

a.al-btn-link,.al-btn-link a{background:transparent!important;color:var(--al-red-text)!important;padding:0 0 4px!important;border-radius:0!important;border:0!important;box-shadow:inset 0 -2px 0 var(--ast-global-color-1)!important;font-size:15px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;min-height:0!important}
a.al-btn-link:hover,.al-btn-link a:hover{color:var(--ast-global-color-2)!important;box-shadow:inset 0 -2px 0 var(--ast-global-color-2)!important}

a.al-btn-outline,.al-btn-outline a{background:transparent!important;color:var(--ast-global-color-2)!important;box-shadow:inset 0 0 0 2px var(--ast-global-color-2)!important;border:0!important}
a.al-btn-outline:hover,.al-btn-outline a:hover{background:var(--ast-global-color-2)!important;color:#fff!important}
a.al-btn-outline:hover svg,.al-btn-outline a:hover svg{fill:#fff}

a.al-btn-white,.al-btn-white a{background:#fff!important;color:var(--ast-global-color-6)!important;border:0!important}
a.al-btn-white:hover,.al-btn-white a:hover{background:var(--ast-global-color-4)!important;color:var(--ast-global-color-6)!important}

@media (max-width:480px){.al-btn-stack{width:100%}.al-btn-stack .wp-block-spectra-button:not(.al-btn-link){width:100%;justify-content:center}}

/* ---------- Hero ---------- */
.al-bleed-right{margin-right:calc(-40px - max(0px, (100vw - 1320px) / 2))!important}
.al-bleed-right img{width:100%;height:auto;display:block}
@media (max-width:1024px){.al-bleed-right{margin-right:-32px!important}}
@media (max-width:767px){.al-bleed-right{margin-left:-20px!important;margin-right:-20px!important;order:-1}}

/* ---------- Formes decoratives (CSS uniquement) ---------- */
.al-ellipse-bg{position:relative;overflow:hidden}
.al-ellipse-bg::after{content:"";position:absolute;right:-220px;top:50%;transform:translateY(-50%);width:980px;height:520px;border-radius:50%;background:#fff;opacity:.7;pointer-events:none;z-index:0}
.al-ellipse-bg>*{position:relative;z-index:1}
@media (max-width:767px){.al-ellipse-bg::after{width:620px;height:360px;right:-300px}}

.al-ellipse-outline{position:relative;overflow:hidden}
.al-ellipse-outline::after{content:"";position:absolute;right:-140px;bottom:-120px;width:360px;height:220px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.16);pointer-events:none}
.al-ellipse-outline>*{position:relative;z-index:1}

.al-cta-shape{position:relative;overflow:hidden}
.al-cta-shape::after{content:"";position:absolute;right:-380px;top:50%;transform:translateY(-50%);width:760px;height:560px;border-radius:50%;background:var(--ast-global-color-1);pointer-events:none;z-index:0}
.al-cta-shape>*{position:relative;z-index:1}
@media (max-width:1024px){.al-cta-shape::after{width:420px;height:300px;right:-230px;top:auto;bottom:-150px;transform:none}}
@media (max-width:767px){.al-cta-shape::after{display:none}}

.al-ellipse img,img.al-ellipse{border-radius:50%;aspect-ratio:2/1.25;width:100%;height:auto;object-fit:cover;display:block}
.al-ellipse{margin:0}

/* ---------- Composants ---------- */
.al-member-row{transition:background-color .2s ease;text-decoration:none!important}
.al-member-row:hover{background:var(--ast-global-color-4)}
.al-member-row:hover .al-member-name{color:var(--ast-global-color-7)}
.al-member-logo{flex:0 0 52px}
.al-member-logo img{width:52px;height:52px;object-fit:contain;padding:6px;background:#fff;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ast-global-color-8);display:block}
.al-member-logo figure,figure.al-member-logo{margin:0}

.al-logo-tile{border-radius:16px;box-shadow:inset 0 0 0 1px var(--ast-global-color-8);transition:box-shadow .2s ease;aspect-ratio:3/2;background:#fff}
.al-logo-tile:hover{box-shadow:inset 0 0 0 1px var(--ast-global-color-0)}
.al-logo-tile figure{margin:0;width:60%;display:flex;justify-content:center}
.al-logo-tile img{max-width:100%;max-height:72px;width:auto;height:auto;object-fit:contain}

.al-logo-white img{background:#fff;border-radius:12px;padding:10px 16px;width:132px;height:64px;object-fit:contain;display:block}
.al-logo-white{margin:0}

.al-tag{display:inline-block;align-self:flex-start;background:#fff;color:var(--ast-global-color-2);font-size:12px!important;font-weight:700;line-height:30px!important;padding:0 14px;border-radius:999px;margin:0}

.al-news-card .wp-block-post-featured-image{margin:0}
.al-news-card .wp-block-post-featured-image img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--al-radius-img);width:100%;height:auto}
.al-news-card .wp-block-post-date{font-size:14px;font-weight:600;color:var(--al-muted);margin:0}
.al-news-card .wp-block-post-title{font-size:22px;line-height:1.25;margin:0}
.al-news-card .wp-block-post-title a{color:var(--ast-global-color-2);text-decoration:none}
.al-news-card .wp-block-post-title a:hover{color:var(--ast-global-color-7)}
.al-news-card .wp-block-read-more{font-size:14px;font-weight:700;color:var(--al-red-text);text-decoration:none}
.al-news-card .wp-block-read-more:hover{color:var(--ast-global-color-2)}

.al-placeholder img{background:var(--al-placeholder)}
.al-rule-top{border-top:1px solid var(--al-rule)}

.al-tricolore{display:block;height:6px;background:linear-gradient(90deg,var(--ast-global-color-0) 0 33.33%,#fff 33.33% 66.66%,var(--ast-global-color-1) 66.66%)}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--ast-global-color-0);outline-offset:3px}

.wp-block-spectra-content:is(h1,h2){text-transform:uppercase}

/* Fond Spectra : le calque ::before doit rester dans le conteneur */
.wp-block-spectra-container.spectra-background-color{position:relative}
.al-sofia{font-family:sofia-pro,'Sofia-Pro',sans-serif!important;font-weight:900!important}
.al-maxw-560{max-width:560px}
.al-maxw-30em{max-width:30em}

/* Hero : la colonne image prend l'espace restant puis deborde a droite */
.al-bleed-right{flex:1 1 0%!important;min-width:0}
@media (max-width:1024px){.al-bleed-right{flex:none!important;width:auto!important}}

/* Chiffres cles alignes a gauche */
.al-figure,.al-figure .spectra-counter-child-wrapper,.al-figure .spectra-counter-number{text-align:left;justify-content:flex-start;align-items:flex-start}

/* Logos membres */
.al-member-logo figure{width:52px;margin:0}
.al-member-row{color:inherit}
.al-figure .spectra-counter-number{display:inline-flex;align-items:baseline}
.al-logo-tile:hover{border-color:var(--ast-global-color-0)!important}

/* ===================== EN-TETE ===================== */
.ast-primary-header-bar{border-bottom-color:#EFECE4}
.al-lang{font-family:'Open Sans',sans-serif;font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--ast-global-color-2)}
.al-lang strong{font-weight:700;color:var(--ast-global-color-2)}
.al-lang a{color:#6B706C;text-decoration:none}
.al-lang a:hover{color:var(--ast-global-color-0)}
.main-header-menu .menu-item>.menu-link{position:relative}
@media (min-width:1025px){
 .main-header-menu>.menu-item.current-menu-item>.menu-link::after,.main-header-menu>.menu-item>.menu-link:hover::after{content:"";position:absolute;left:16px;right:16px;bottom:-2px;height:3px;background:var(--ast-global-color-0);border-radius:2px}
 .main-header-menu .sub-menu,.main-header-menu .astra-megamenu{border-radius:16px;box-shadow:0 16px 40px rgba(30,35,32,.10);border:0!important;padding:16px 8px}
 .main-header-menu .astra-megamenu{padding:28px 32px}
 .main-header-menu .astra-megamenu>.menu-item>.menu-link,.main-header-menu .astra-megamenu .menu-item-heading>.menu-link{font-family:'Open Sans',sans-serif;font-size:13px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#B01F2A!important;pointer-events:none}
 .main-header-menu .sub-menu .menu-link{font-size:15px;font-weight:600;color:var(--ast-global-color-2)}
 .main-header-menu .sub-menu .menu-link:hover{color:var(--ast-global-color-0)}
}
/* Menu mobile plein ecran vert fonce */
.ast-mobile-popup-drawer .ast-mobile-popup-inner,.ast-mobile-header-content{background:var(--ast-global-color-6)}
.ast-mobile-popup-drawer .main-header-menu>.menu-item>.menu-link,.ast-mobile-header-content .main-header-menu>.menu-item>.menu-link{font-family:sofia-pro,'Sofia-Pro',sans-serif;font-weight:900;font-size:30px;text-transform:uppercase;color:#fff;border:0}
.ast-mobile-popup-drawer .sub-menu,.ast-mobile-header-content .sub-menu{border-left:2px solid var(--ast-global-color-1)!important;margin-left:4px}
.ast-mobile-popup-drawer .sub-menu .menu-link,.ast-mobile-header-content .sub-menu .menu-link{font-size:16px;color:#E3F1E8;border:0}
.ast-mobile-popup-drawer .al-lang,.ast-mobile-popup-drawer .al-lang strong{color:#fff}
.ast-mobile-popup-drawer .al-lang a{color:#BFE3CD}
.ast-mobile-popup-drawer .ast-builder-button-wrap .ast-custom-button{background:#fff!important;color:var(--ast-global-color-6)!important}
.menu-toggle.main-header-menu-toggle{width:48px;height:48px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0}

/* ===================== PIED DE PAGE ===================== */
.site-footer::before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--ast-global-color-0) 0 33.33%,#fff 33.33% 66.66%,var(--ast-global-color-1) 66.66%)}
.site-primary-footer-wrap{padding-top:72px!important;padding-bottom:56px!important}
.al-footer-title{font-family:'Open Sans',sans-serif;font-size:13px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ast-global-color-7)!important;margin:0 0 16px!important}
.al-footer-links{list-style:none;margin:0 0 28px!important;padding:0}
.al-footer-links li{margin:0 0 10px}
.al-footer-links a,.al-footer-phone a{font-size:15px;color:var(--ast-global-color-2)!important;text-decoration:none}
.al-footer-links a:hover,.al-footer-phone a:hover{color:var(--ast-global-color-7)!important}
.al-footer-address{font-size:15px;line-height:1.6!important;color:var(--ast-global-color-3);margin:0 0 16px!important}
.al-footer-address strong{color:var(--ast-global-color-2)}
.al-footer-phone a{font-weight:700}
.al-footer-logo{margin:0 0 24px!important}
.al-footer-member{gap:14px;align-items:center;font-size:14px;line-height:1.4;color:var(--ast-global-color-3)}
.al-footer-member p{margin:0!important;font-size:14px}
.al-footer-member strong{color:var(--ast-global-color-2)}
.al-footer-ecu{margin:0!important}
.al-footer-ecu img{display:block;width:100px!important;max-width:none;height:auto!important;aspect-ratio:1.65;object-fit:cover;object-position:50% 52%;background:none;border-radius:0;padding:0;box-shadow:none}
.al-footer-logo img{width:210px!important;max-width:100%;height:auto}
.al-footer-member{gap:18px}
/* LinkedIn : libellé « Follow us / Seguici » + icône agrandie */
.ast-footer-social-1-wrap .footer-social-inner-wrap{display:flex;align-items:center;gap:14px}
.ast-footer-social-1-wrap .footer-social-inner-wrap::before{content:"Follow us:";font-size:15px;font-weight:600;color:var(--ast-global-color-2)}
html[lang^="it"] .ast-footer-social-1-wrap .footer-social-inner-wrap::before{content:"Seguici:"}
.ast-footer-social-1-wrap .ast-builder-social-element{margin:0!important}
/* Footer : libellés centrés au-dessus des logos (axe du logo Alimentaly 210 px) */
.al-footer-member{flex-direction:column-reverse!important;align-items:center!important;text-align:center;gap:10px!important;width:210px;max-width:100%}
.ast-footer-social-1-wrap .footer-social-inner-wrap{flex-direction:column;align-items:center;gap:10px;width:210px;max-width:100%}
.ast-footer-social-1-wrap .footer-social-inner-wrap::before{content:"Follow us"}
html[lang^="it"] .ast-footer-social-1-wrap .footer-social-inner-wrap::before{content:"Seguici"}
.site-below-footer-wrap{font-size:13px}
.site-below-footer-wrap .ast-footer-copyright p,.al-footer-legal{font-size:13px;margin:0}
.al-footer-legal{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:flex-end}
.al-footer-legal a{color:#6B706C;text-decoration:none}
.al-footer-legal a:hover{color:var(--ast-global-color-7)}
@media (max-width:767px){.al-footer-legal{justify-content:flex-start}}
/* Separations titre / texte : cote a cote a 1024, empilees naturellement sous ~900px */
@media (min-width:768px) and (max-width:1024px){
 .al-split{flex-wrap:wrap!important}
 .al-split>*{flex:1 1 360px!important;width:auto!important;max-width:100%}
}
/* Cartes news : image pleine largeur */
.al-news-card .wp-block-post-featured-image,.al-news-card .wp-block-post-featured-image a{display:block;width:100%}
/* Fleches du menu mobile alignees sur les intitules */
.ast-mobile-popup-drawer .main-header-menu>.menu-item>.menu-link{padding-top:12px!important;padding-bottom:12px!important;line-height:1.2!important}
.ast-mobile-popup-drawer .main-header-menu>.menu-item>.ast-menu-toggle{top:18px!important;color:#fff}

/* ===================== PAGES INTERIEURES ===================== */
/* C-15 : bandeau photo, voile degrade (bas 62 % -> haut 18 %) */
.al-page-banner.spectra-background-image::before,.al-page-banner.spectra-background-color::before{background:linear-gradient(0deg,rgba(20,24,22,.62) 0%,rgba(20,24,22,.18) 100%)!important;opacity:1!important;z-index:0}
.al-page-banner>*{position:relative;z-index:1}

/* C-15 v2 (10/11/2026) : voile des bandeaux PHOTO cale sur la colonne de texte.
   Sombre sous le texte, image laissee claire a droite ; contraste texte >= 4,5:1 (mesure sur les 5 bandeaux, 375 a 2560 px).
   Ordinateur : plateau jusqu'a la fin du titre le plus long (conteneur 1240 px), fondu sur 420 px. */
.al-page-banner.spectra-background-image::before{background:linear-gradient(0deg,rgba(20,24,22,.25) 0%,rgba(20,24,22,0) 50%),linear-gradient(90deg,rgba(20,24,22,.65) 0,rgba(20,24,22,.65) max(calc(50% + 100px),760px),rgba(20,24,22,0) max(calc(50% + 520px),1180px))!important}
@media (max-width:1024px){.al-page-banner.spectra-background-image::before{background:linear-gradient(0deg,rgba(20,24,22,.25) 0%,rgba(20,24,22,0) 50%),linear-gradient(90deg,rgba(20,24,22,.6) 0,rgba(20,24,22,.6) 560px,rgba(20,24,22,0) 840px)!important}}
@media (max-width:767px){.al-page-banner.spectra-background-image::before{background:linear-gradient(0deg,rgba(20,24,22,.72) 0%,rgba(20,24,22,.65) 50%,rgba(20,24,22,.1) 100%)!important}}
.al-breadcrumb{font-size:13px!important;line-height:1.4!important;color:rgba(255,255,255,.8)!important;margin:0}
.al-breadcrumb a{color:rgba(255,255,255,.8)!important;text-decoration:none}
.al-breadcrumb a:hover{color:#fff!important;text-decoration:underline}
/* Signature Alimentaly Team */
.al-signature-logo{flex:0 0 120px!important;width:120px!important}
.al-signature-logo figure{margin:0}
.al-signature-logo img{width:120px;height:auto;display:block}
/* C-15 sans photo */
.al-breadcrumb--dark,.al-breadcrumb--dark a{color:#6B706C!important}
.al-breadcrumb--dark a:hover{color:var(--ast-global-color-0)!important}
.al-maxw-760{max-width:760px}
/* Carte logo (ECU, marques) */
.al-logo-card-media{width:100%;align-items:center!important}
.al-logo-card-media figure{margin:0 auto;display:flex;justify-content:center}
.al-logo-card-img img{max-width:300px;width:100%;height:auto;max-height:220px;object-fit:contain}
/* Ellipse discrete sur fond vert */
.al-ellipse-bg--green::after{background:#fff!important;opacity:.06!important}
/* Formulaires SureForms (C-17) */
.al-form-card{border-radius:24px}
.al-form .srfm-input-common,.al-form input[type=text],.al-form input[type=email],.al-form input[type=tel],.al-form input[type=url],.al-form textarea,.al-form select{border-radius:12px!important;border:1px solid var(--ast-global-color-8)!important;background:#fff!important;font-family:'Open Sans',sans-serif!important;font-size:16px!important}
.al-form input[type=text],.al-form input[type=email],.al-form input[type=tel],.al-form input[type=url]{min-height:52px}
.al-form input:focus,.al-form textarea:focus{border-color:var(--ast-global-color-0)!important;box-shadow:0 0 0 1px var(--ast-global-color-0)!important}
.al-form .srfm-block-label,.al-form label{font-size:14px!important;font-weight:600!important;color:var(--ast-global-color-2)!important}
.al-form .srfm-submit-button,.al-form button[type=submit]{background:var(--ast-global-color-7)!important;color:#fff!important;border-radius:999px!important;min-height:52px;padding:0 28px!important;font-weight:700!important;font-size:14px!important;letter-spacing:.08em;text-transform:uppercase;border:0!important}
.al-form .srfm-submit-button:hover,.al-form button[type=submit]:hover{background:var(--ast-global-color-6)!important}
/* Listes a puces Alimentaly */
.al-checklist{list-style:none;margin:0;padding:0}
.al-checklist li{position:relative;padding:14px 0 14px 34px;border-bottom:1px solid var(--ast-global-color-8);color:var(--ast-global-color-3);line-height:1.6}
.al-checklist li::before{content:"";position:absolute;left:0;top:22px;width:18px;height:11px;border-radius:50%;background:var(--ast-global-color-0)}
.al-checklist li:last-child::before{background:var(--ast-global-color-1)}
/* Membres */
.al-member-card-logo figure{margin:0}
.al-member-card-logo img{width:100%;height:150px;object-fit:contain;display:block}
.al-member-meta,.al-member-meta a{font-size:14px;color:#6B706C;text-decoration:none}
.al-member-meta a:hover{color:var(--ast-global-color-7)}
/* Pages legales et articles */
.al-legal h2{font-size:28px;margin:48px 0 16px}
.al-legal h3{font-size:20px;margin:32px 0 12px}
.al-legal p,.al-legal li{font-size:17px;line-height:1.7;color:var(--ast-global-color-3)}
.al-legal a{color:var(--ast-global-color-7)}
/* Complements pages interieures */
.al-news-card .wp-block-post-title{text-transform:none!important;font-size:22px!important;line-height:1.25!important}
.al-phone-big{font-family:sofia-pro,'Sofia-Pro',sans-serif;font-weight:900;font-size:30px!important;line-height:1.2;margin:0}
.al-phone-big a{color:var(--ast-global-color-0)!important;text-decoration:none}
.al-office{font-size:16px;line-height:1.6!important;margin:0}
.al-office-contact{font-size:15px;line-height:1.6!important;margin:0}
.al-office-contact a{color:var(--ast-global-color-2);text-decoration:none}
.al-map iframe{border-radius:16px}
.al-legal-list{margin:0 0 0 1.4em!important;color:var(--ast-global-color-3)}
.al-legal-list li{margin-bottom:6px}
.al-member-contact{margin:0}

/* ===================== MENU : CATALOGUE (09/10/2026) =====================
   Entree "Product catalogue" (classe al-menu-catalogue) en tete du sous-menu Products & brands. */
.main-header-menu .sub-menu .menu-item.al-menu-catalogue{border-bottom:1px solid #EFECE4;margin-bottom:6px;padding-bottom:6px}
.main-header-menu .sub-menu .menu-item.al-menu-catalogue>.menu-link{font-weight:700;color:var(--ast-global-color-7)}
.main-header-menu .sub-menu .menu-item.al-menu-catalogue>.menu-link:hover{color:var(--ast-global-color-0)}
.ast-mobile-popup-drawer .sub-menu .menu-item.al-menu-catalogue,.ast-mobile-header-content .sub-menu .menu-item.al-menu-catalogue{border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:4px;padding-bottom:4px}
.ast-mobile-popup-drawer .sub-menu .menu-item.al-menu-catalogue>.menu-link,.ast-mobile-header-content .sub-menu .menu-item.al-menu-catalogue>.menu-link{color:#fff;font-weight:700}

/* ===================== SIAL 2026 (13/10/2026) ===================== */
/* Bandeau partenaires defilant : 2 series identiques, la 2e est aria-hidden + inert */
.al-marquee{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.al-marquee__track{display:flex!important;flex-wrap:nowrap!important;width:max-content!important;gap:0!important;animation:al-marquee 40s linear infinite}
.al-marquee:hover .al-marquee__track,.al-marquee:focus-within .al-marquee__track{animation-play-state:paused}
.al-marquee__set{display:flex!important;flex-wrap:nowrap!important;gap:20px!important;padding-right:20px!important;flex:none!important}
.al-marquee__set .al-logo-tile{width:180px;min-width:180px;height:120px;flex:none;background:#fff}
.al-marquee__set .al-logo-tile img{max-height:72px;width:auto;max-width:100%;object-fit:contain}
@keyframes al-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.al-marquee__track{animation:none;width:auto!important;flex-wrap:wrap!important}.al-marquee__set[aria-hidden=true]{display:none!important}.al-marquee{-webkit-mask-image:none;mask-image:none}}
@media (max-width:767px){.al-marquee__set .al-logo-tile{width:140px;min-width:140px;height:96px}.al-marquee__track{animation-duration:30s}}
/* Cartes "Our selection" */
.al-select-card{background:#fff;border-radius:16px;transition:box-shadow .2s ease,transform .2s ease;text-decoration:none!important;height:100%}
.al-select-card:hover,.al-select-card:focus-visible{box-shadow:inset 0 0 0 2px var(--ast-global-color-0);transform:translateY(-2px)}
.al-select-card figure{margin:0!important;width:100%}
.al-select-card img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:var(--al-radius-img)}
.al-select-card h3{margin:0}
.al-select-card--more{background:var(--ast-global-color-7)}
.al-select-card--more h3,.al-select-card--more p{color:#fff!important}
.al-statement{font-family:'sofia-pro','Sofia Pro',sans-serif;font-weight:900;font-size:22px;line-height:1.3;color:var(--ast-global-color-0)}
/* ===================== Fiches techniques (plugin alimentaly-tech-sheets) ===================== */
.al-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.al-sheets{margin-top:8px}
.al-sheets__note{font-size:15px;color:var(--ast-global-color-3);margin:0 0 12px}
.al-sheets__btn,.al-sheets__submit{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;background:var(--ast-global-color-7);color:#fff!important;font-family:'Open Sans',sans-serif;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none!important;border:0;cursor:pointer;transition:background .2s ease}
.al-sheets__btn:hover,.al-sheets__submit:hover,.al-sheets__btn:focus-visible,.al-sheets__submit:focus-visible{background:var(--ast-global-color-6)}
.al-sheets__link{color:#B01F2A;font-weight:700;text-decoration:underline}
.al-sheet-access{max-width:1240px;margin:0 auto}
.al-sheets__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:32px;align-items:start}
.al-sheets__card{background:#fff;border:1px solid var(--ast-global-color-8);border-radius:24px;padding:40px}
.al-sheets__card--alt{background:var(--ast-global-color-4);border-color:transparent}
.al-sheets__h{font-size:28px;margin:0 0 20px}
.al-sheet-access .al-field{margin:0 0 16px}
.al-sheet-access .al-field label{display:block;font-size:14px;font-weight:600;color:var(--ast-global-color-2);margin-bottom:6px}
.al-sheet-access .al-field input[type=text],.al-sheet-access .al-field input[type=email],.al-sheet-access .al-field input[type=password]{width:100%;min-height:52px;border:1px solid var(--ast-global-color-8);border-radius:12px;padding:0 16px;font-size:16px;background:#fff}
.al-sheet-access .al-field input:focus{outline:2px solid var(--ast-global-color-0);outline-offset:1px}
.al-sheet-access .al-field--check label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;line-height:1.5;color:var(--ast-global-color-3)}
.al-sheet-access .al-field--check input{margin-top:3px;width:18px;height:18px;flex:none}
.al-sheets__msg{padding:14px 18px;border-radius:12px;font-size:15px;margin:0 0 24px}
.al-sheets__msg--ok{background:#E6F3EC;color:#005C2E}
.al-sheets__msg--err{background:#FBE9EA;color:#8E1A23}
.al-sheets__actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:0}
@media (max-width:767px){.al-sheets__card{padding:28px 20px}.al-sheets__btn,.al-sheets__submit{width:100%;justify-content:center}}
/* SIAL 2026 : empilement mobile des nouvelles sections + grille 2 colonnes des cartes "Our selection" */
@media (max-width:767px){
.al-split{flex-direction:column!important;align-items:stretch!important;flex-wrap:wrap!important}
.al-split>*{width:100%!important;max-width:100%!important}
:has(> .al-select-card){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.al-select-card{padding:12px 12px 16px!important}
.al-select-card h3{font-size:16px!important}
.al-select-card--more{min-height:0!important}
}
/* Bandeau partenaires (14/10/2026) : logos agrandis, 4 visibles a la fois (3 tablette, 2 mobile) */
.al-marquee{container-type:inline-size;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%)}
.al-marquee__set{gap:24px!important;padding-right:24px!important}
.al-marquee__set .al-logo-tile{width:calc((100cqw - 72px) / 4)!important;min-width:0!important;height:200px!important;padding:24px!important}
.al-marquee__set .al-logo-tile figure{width:100%;height:100%;display:flex;align-items:center;justify-content:center;margin:0}
.al-marquee__set .al-logo-tile img{max-height:140px!important;max-width:85%!important;width:auto!important;height:auto!important;object-fit:contain}
.al-marquee__track{animation-duration:36s}
@media (max-width:1024px){.al-marquee__set .al-logo-tile{width:calc((100cqw - 48px) / 3)!important;height:170px!important}.al-marquee__set .al-logo-tile img{max-height:110px!important}}
@media (max-width:767px){.al-marquee__set{gap:16px!important;padding-right:16px!important}.al-marquee__set .al-logo-tile{width:calc((100cqw - 16px) / 2)!important;height:130px!important;padding:16px!important}.al-marquee__set .al-logo-tile img{max-height:80px!important}.al-marquee__track{animation-duration:26s}}
/* Logo Michelangelo sur fond blanc (14/10/2026) */
.al-brand-logo{margin:0 auto!important;width:100%;max-width:480px}
.al-brand-logo img{width:100%;height:auto;border-radius:0}
@media (max-width:767px){.al-brand-logo{max-width:320px}}

/* 14/10 fix: marquee sets must size to their content (Spectra caps them at 100%), otherwise set B overlaps set A */
.al-marquee__track{max-width:none!important}
.al-marquee__set{width:max-content!important;min-width:max-content!important;max-width:none!important}

/* CONTACT : E-MAIL (06/11/2026) - adresse e-mail publique en grand, sans debordement sur mobile */
.al-email-big{font-size:clamp(20px,6vw,30px)!important;overflow-wrap:anywhere}

/* OUR SELECTION : DEPLIAGE des categories (06/11/2026) - carte verte = bouton, cartes .al-select-card--extra masquees par defaut */
.al-select-grid:not(.is-expanded) .al-select-card--extra{display:none!important}
.al-select-grid.is-animating{overflow:hidden;transition:height .5s cubic-bezier(.2,.7,.2,1)}
.al-select-grid.is-expanded .al-select-card--extra{animation:alCardIn .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--al-i,0) * 45ms)}
@keyframes alCardIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.al-select-card--more{cursor:pointer;-webkit-tap-highlight-color:transparent}
.al-select-card--more:focus-visible{outline:3px solid var(--ast-global-color-1);outline-offset:3px}
.al-more-open{display:none}
.al-select-grid.is-expanded .al-more-open{display:inline}
.al-select-grid.is-expanded .al-more-closed{display:none}
.al-more-arrow{display:inline-block;margin-left:6px;transition:transform .3s ease}
.al-select-grid.is-expanded .al-more-arrow{transform:rotate(180deg);margin-left:0}
.al-select-grid.is-expanded .al-select-card--more{grid-column-end:-1;min-height:96px!important;align-items:center!important;text-align:center}
@media (max-width:767px){.al-select-grid.is-expanded .al-select-card--more{min-height:0!important}}
@media (prefers-reduced-motion:reduce){.al-select-grid.is-expanded .al-select-card--extra{animation:none}.al-more-arrow{transition:none}}
/* OUR SELECTION : 5 COLONNES (06/11/2026) - ferme : 4 cartes + carte verte ; ouvert : 5 / 5 / 3 + carte verte sur 2 cases */
@media (min-width:768px){.al-select-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media (max-width:767px){.al-select-grid .al-select-card--more{align-items:center!important;text-align:center;padding:20px 16px!important}}
/* ACCUEIL S4 MICHELANGELO (06/11/2026) : photo de Sharon sur toute la moitie gauche de la section + logo dans le titre H2 */
.al-bleed-left{flex:1 1 0%!important;width:auto!important;min-width:0;align-self:stretch!important;position:relative;min-height:440px;margin-left:calc((100% - 100cqw) / 2 - 40px)!important;margin-top:-96px!important;margin-bottom:-96px!important}
/* la section sert de reference de largeur (cqw) : le debord s'arrete exactement au bord de l'ecran, barre de defilement exclue */
:has(> .al-split > .al-bleed-left){container-type:inline-size}
.al-bleed-left .al-michelangelo-photo{position:absolute!important;inset:0;margin:0!important;width:100%;height:100%}
.al-bleed-left .al-michelangelo-photo img{width:100%;height:100%;object-fit:cover;object-position:18% 50%;display:block;border-radius:0}
.al-michelangelo-title{margin:0;line-height:0}
.al-michelangelo-title img{display:block;width:min(100%,300px);height:auto}
/* S4 MICHELANGELO tablette/mobile : photo en haut sur toute la largeur (format 4:3, sans recadrage), texte dessous */
@media (max-width:1024px){
.al-split:has(> .al-bleed-left){flex-direction:column!important;align-items:stretch!important;flex-wrap:nowrap!important;gap:40px!important}
.al-split:has(> .al-bleed-left)>:not(.al-bleed-left){width:100%!important;max-width:640px!important}
.al-bleed-left{flex:none!important;width:calc(100% + 80px)!important;max-width:none!important;min-height:0;aspect-ratio:4/3;margin:-96px -40px 0 -40px!important}
.al-bleed-left .al-michelangelo-photo img{object-position:50% 50%}
}
@media (max-width:767px){.al-michelangelo-title img{width:min(100%,240px)}}


/* ===== MENU PRINCIPAL : 6 ENTREES (07/11/2026, ajout de Recipes) =====
   Entre 1025 et 1279 px, le menu en ligne manquait de place (entrees, langues et bouton passaient a la ligne). */
.ast-primary-header-bar .al-lang,.ast-primary-header-bar .ast-header-button-1 .ast-custom-button{white-space:nowrap}
@media (min-width:1025px) and (max-width:1279px){
 .ast-primary-header-bar #ast-hf-menu-1>li>.menu-link{padding-left:9px!important;padding-right:9px!important;font-size:14px!important}
 .ast-primary-header-bar .custom-logo{width:170px!important;max-width:170px!important;height:auto}
}


/* ===== IMAGES : ARRONDI UNIQUE (10/11/2026) =====
   Toutes les photos du site ont le meme arrondi : var(--al-radius-img) = 16px (defini dans :root).
   Exceptions voulues : logos, symbole du hero, forme ellipse (.al-ellipse), photo a fond perdu (.al-bleed-left). */
.single-post .post-thumb-img-content,.single-post .post-thumb-img-content img,.single-post .entry-content .wp-block-image img{border-radius:var(--al-radius-img)}

/* ===== FOCUS : PAS DE CADRE AU CLIC DE SOURIS (10/11/2026) =====
   Astra (a:focus, .ast-menu-toggle:focus, input[type=search]:focus...) et certaines extensions affichent
   un contour pointille au clic (logo, liens, boutons). On le retire quand le focus vient de la souris.
   Au clavier (:focus-visible), le contour vert reste affiche : accessibilite conservee. */
:focus:not(:focus-visible){outline:none!important}

/* Hero mobile (13/11/2026) : l'illustration occupait 100 % de la colonne mais etait decalee de 20 px vers la gauche
 * (marges -20 px des deux cotes). Elle prend maintenant toute la largeur de l'ecran, centree. */
@media (max-width:767px){.al-bleed-right{width:calc(100% + 40px)!important;max-width:none!important}}
