:root{ --ar-red:#bc2440; }
body.ar-hudson{ font-family:"Open Sans",Helvetica,Arial,sans-serif; color:#333; }
body.ar-hudson h1,body.ar-hudson h2,body.ar-hudson h3,body.ar-hudson h4{ font-family:"Montserrat",Helvetica,Arial,sans-serif; }

/* Header */
.t3-header{ background:#fff; padding:10px 0; box-shadow:0 1px 4px rgba(0,0,0,.08); position:relative; z-index:100; }
.t3-header .row{ display:flex; align-items:center; flex-wrap:wrap; }
.t3-header .logo{ flex:0 0 auto; }
.t3-header .logo-img{ max-height:64px; width:auto; }
.t3-header .t3-navbar{ flex:1 1 auto; }

/* Menu principal horizontal */
.t3-megamenu .mod-menu{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:nowrap; justify-content:flex-end; align-items:center; white-space:nowrap; }
.t3-megamenu .mod-menu > li{ position:relative; }
.t3-megamenu .mod-menu > li > a,
.t3-megamenu .mod-menu > li > span{ display:block; padding:22px 9px; color:#333; font-family:"Montserrat",sans-serif; font-weight:700; font-size:11px; letter-spacing:.2px; text-transform:uppercase; text-decoration:none; cursor:pointer; white-space:nowrap; }
.t3-megamenu .mod-menu > li:hover > a,
.t3-megamenu .mod-menu > li.current > a,
.t3-megamenu .mod-menu > li.active > a{ color:var(--ar-red); }
/* Sous-menus déroulants */
.t3-megamenu .mod-menu ul{ list-style:none; margin:0; padding:0; }
.t3-megamenu .mod-menu li ul{ position:absolute; top:100%; left:0; min-width:230px; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.15); border-top:3px solid var(--ar-red); display:none; z-index:1000; }
.t3-megamenu .mod-menu li:hover > ul{ display:block; }
.t3-megamenu .mod-menu li ul li{ position:relative; }
.t3-megamenu .mod-menu li ul li a,
.t3-megamenu .mod-menu li ul li span{ display:block; padding:11px 18px; color:#333; white-space:nowrap; text-decoration:none; font-size:13px; border-bottom:1px solid #f0f0f0; }
.t3-megamenu .mod-menu li ul li a:hover{ background:var(--ar-red); color:#fff; }
.t3-megamenu .mod-menu li ul ul{ top:0; left:100%; }

/* Corps */
#t3-mainbody{ padding:0; }
#t3-content{ min-height:300px; }

/* Footer */
.t3-footer{ background:#bc2440; color:#fff; padding:40px 0 0; margin-top:0; }
.t3-footer a{ color:#fff; }
.t3-copyright{ background:#fff; color:#000; padding:16px 0 5px; margin-top:30px; border-top:1px solid #333; font-size:13px; }
a{ color:var(--ar-red); }

@media (max-width:768px){
  .t3-megamenu .mod-menu{ flex-direction:column; align-items:stretch; }
  .t3-megamenu .mod-menu li ul{ position:static; box-shadow:none; }
}

/* === Effet ligne rouge du menu (identique itl_hudson) === */
.t3-megamenu .mod-menu > li > a{ position:relative; font-weight:600; }
.t3-megamenu .mod-menu > li > a:after{
  content:''; display:block; height:2px; background:transparent; width:0;
  position:absolute; top:0; left:0; transition:all .3s;
}
.t3-megamenu .mod-menu > li:hover > a,
.t3-megamenu .mod-menu > li.current > a,
.t3-megamenu .mod-menu > li.active > a{ color:#bc2440 !important; }
.t3-megamenu .mod-menu > li:hover > a:after,
.t3-megamenu .mod-menu > li.current > a:after,
.t3-megamenu .mod-menu > li.active > a:after{ background:#bc2440; width:100%; }

/* === Suppression fond grisé sur items à sous-menu + déroulants masqués hors survol === */
.t3-megamenu .mod-menu > li > a,
.t3-megamenu .mod-menu > li.open > a,
.t3-megamenu .mod-menu > li.deeper > a,
.t3-megamenu .mod-menu > li:hover > a{ background:transparent !important; box-shadow:none !important; }
.t3-megamenu .mod-menu li > ul{ display:none !important; }
.t3-megamenu .mod-menu li:hover > ul{ display:block !important; }
.t3-megamenu .mod-menu li ul{ background:#fff; }
#t3-content,.t3-mainbody{ padding:0; margin:0; }

/* Footer reconstruit */
.t3-footer .module-title{ font-size:16px; line-height:22px; position:relative; margin-bottom:50px; text-transform:uppercase; color:#fff; border-bottom:2px solid; font-family:"Montserrat",sans-serif; font-weight:700; padding:0; }
.t3-footer .t3-footnav p{ color:#fff; }
.t3-footer img{ max-width:100%; height:auto; }
.t3-copyright .custom{ display:inline-block; }
.t3-copyright a{ color:#000; }

.t3-footer .module-title:after{ position:absolute; bottom:0; left:0; width:25px; height:2px; margin:-27px auto; content:""; opacity:1; background:#bc2440; }

/* === Responsive / mobile === */
.ar-menu-toggle{ display:none !important; background:none; border:none; color:var(--ar-red); font-size:30px; line-height:1; cursor:pointer; padding:6px 10px; }
@media (max-width:991px){
  .t3-header .row{ position:relative; }
  .ar-menu-toggle{ display:block !important; position:absolute; right:10px; top:50%; transform:translateY(-50%); }
  .t3-header .t3-navbar{ flex-basis:100%; }
  .t3-megamenu .mod-menu{ display:none; flex-direction:column; align-items:stretch; flex-wrap:wrap; width:100%; }
  body.ar-menu-open .t3-megamenu .mod-menu{ display:flex; }
  .t3-megamenu .mod-menu > li > a{ padding:12px 10px; border-bottom:1px solid #eee; }
  .t3-megamenu .mod-menu > li > a:after{ display:none; }
  .t3-megamenu .mod-menu li ul{ position:static; box-shadow:none; border-top:0; background:#fafafa; }
  .t3-megamenu .mod-menu li:hover > ul{ display:block; }
  .t3-footer .col-md-3{ width:100%; margin-bottom:20px; }
  .t3-copyright .text-right{ text-align:left !important; }
}
@media (max-width:767px){
  .t3-header .logo-img{ max-height:48px; }
}



/* === News : grille 3 colonnes façon K2 (carte image+date+titre) === */
.com-content-category-blog__items{ display:flex !important; flex-wrap:wrap; column-count:auto !important; columns:auto !important; column-gap:0 !important; margin:30px -15px 0; }
.com-content-category-blog__item{ flex:0 0 33.333%; max-width:33.333%; padding:0 15px 40px; box-sizing:border-box; }
.com-content-category-blog__item > .item-content > .article-info,
.com-content-category-blog__item > .item-content > .page-header,
.com-content-category-blog__item .icons,
.com-content-category-blog__item dl.article-info{ display:none !important; }
.ar-news-img img{ width:100%; height:auto; display:block; }
.ar-news-meta{ display:flex; margin-top:16px; align-items:flex-start; }
.ar-news-date{ background:#bc2440; color:#fff; text-align:center; padding:8px 9px; min-width:52px; font-family:"Montserrat",sans-serif; flex:0 0 auto; }
.ar-news-date .d{ display:block; font-size:22px; font-weight:700; line-height:1.1; }
.ar-news-date .m{ display:block; font-size:11px; text-transform:uppercase; }
.ar-news-text{ padding-left:15px; }
.ar-news-title{ margin:0 0 8px; font-size:16px; line-height:1.25; }
.ar-news-title a{ color:#333; font-family:"Montserrat",sans-serif; font-weight:700; text-transform:uppercase; text-decoration:none; }
.ar-news-title a:hover{ color:#bc2440; }
.ar-news-intro{ color:#777; font-size:14px; line-height:1.5; margin:0 0 10px; }
.ar-news-more{ color:#bc2440; font-weight:600; font-size:13px; text-decoration:none; }
.ar-news-more:hover{ color:#000; }
@media(max-width:991px){ .com-content-category-blog__item{ flex:0 0 50%; max-width:50%; } }
@media(max-width:575px){ .com-content-category-blog__item{ flex:0 0 100%; max-width:100%; } }

/* Contenu non-SPPB (articles/news) dans le conteneur aligné menu */
.t3-mainbody > .container.t3-boxed{ padding-top:40px; padding-bottom:40px; }
.t3-boxed #t3-content article, .t3-boxed #t3-content .item-page{ font-size:15px; line-height:1.7; color:#333; }
.t3-boxed #t3-content .item-page h1,.t3-boxed #t3-content .page-header h1,.t3-boxed #t3-content h2{ font-family:"Montserrat",sans-serif; color:#bc2440; }
.t3-boxed #t3-content img{ max-width:100%; height:auto; }

/* === Bandeau titre de page (sauf home) === */
.ar-page-banner{ background-color:#e9edf0; background-position:50% 30%; background-size:cover; background-repeat:no-repeat; padding:60px 0; }
.ar-page-title{ margin:0; font-family:"Montserrat",sans-serif; font-weight:700; color:#333; font-size:36px; text-transform:uppercase; letter-spacing:1px; }
/* Mise en forme article détail */
.t3-boxed .item-page{ max-width:100%; }
.t3-boxed .item-page .page-header h2,.t3-boxed .item-page h1{ font-family:"Montserrat",sans-serif; color:#bc2440; font-weight:700; margin-bottom:20px; }
.t3-boxed .item-page img{ max-width:100%; height:auto; margin:10px 0; }
.t3-boxed .item-page{ font-size:15px; line-height:1.75; color:#333; }
.t3-boxed .item-page .article-info{ color:#999; font-size:13px; margin-bottom:20px; }

/* ===== Corrections rapport client 07/2026 ===== */
/* Retirer le soulignement des titres (feature box, headings) */
.sppb-addon-title a,
.sppb-addon-title,
.sppb-feature-box-title a,
.sppb-title-heading a,
h1.sppb-addon-title a, h2.sppb-addon-title a, h3.sppb-addon-title a{
  text-decoration:none !important;
  border-bottom:none !important;
}
/* Garantir la cliquabilité des liens footer (Follow us / Conditions) */
.t3-footer a, footer a, .t3-spotlight a{
  pointer-events:auto !important;
  position:relative;
  z-index:2;
}
.t3-footer .module-ct, .t3-footer .custom{ position:relative; z-index:2; }

/* Latest news sur la home (3 colonnes avec image) */
.ar-news-home{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:10px 0; }
.ar-news-home .ar-news-card{ background:#fff; border:1px solid #eee; border-radius:4px; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.05); display:flex; flex-direction:column; }
.ar-news-home .ar-news-imgwrap{ display:block; overflow:hidden; }
.ar-news-home .ar-news-imgwrap img{ width:100%; height:180px; object-fit:cover; transition:transform .4s; }
.ar-news-home .ar-news-imgwrap:hover img{ transform:scale(1.06); }
.ar-news-home .ar-news-body{ padding:18px; position:relative; flex:1; display:flex; flex-direction:column; }
.ar-news-home .ar-news-date{ position:absolute; top:-30px; left:12px; background:#bc2440; color:#fff; padding:6px 10px; text-align:center; font-weight:700; font-size:16px; line-height:1; border-radius:3px; }
.ar-news-home .ar-news-date small{ display:block; font-size:10px; font-weight:400; text-transform:uppercase; }
.ar-news-home .ar-news-title{ font-size:14px; margin:6px 0 8px; }
.ar-news-home .ar-news-intro{ color:#777; font-size:13px; line-height:1.5; flex:1; }
.ar-news-home .ar-news-more{ color:#bc2440; font-weight:600; font-size:12px; text-transform:uppercase; margin-top:8px; }
@media(max-width:767px){ .ar-news-home{ grid-template-columns:1fr; } }
