/* ============================================================
   VendéeActus V2.5.32 — DA newsroom premium pour les services
   Agenda, marchés, patrimoine, campings, météo, TV, décès,
   communes, emploi et sports.
   Principes : fond blanc, angles droits, lignes fines, titres noirs,
   bleu éditorial et rouge d'alerte cohérents avec accueil/rubriques.
   ============================================================ */

.vendee-portal{
  --news-ink:#0b0b0f;
  --news-navy:#080b4f;
  --news-blue:#073bc9;
  --news-red:#e30613;
  --news-line:#dfe2e6;
  --news-soft:#f5f6f7;
  --news-muted:#6f6f73;
  --news-white:#fff;
}

/* Cadre général des univers concernés */
.vendee-portal.agenda-public-page,
.vendee-portal.markets-page,
.vendee-portal.heritage-public-page,
.vendee-portal.campings-page,
.vendee-portal.camping-detail-page,
.vendee-portal.deaths-public-page,
.vendee-portal.territories-public-page,
.vendee-portal.employment-hub-page,
.vendee-portal.jobs-public-page,
.vendee-portal.sports-page,
.vendee-portal.weather-public-page,
.vendee-portal.tv-public-page{
  background:#fff!important;
}
.vendee-portal.agenda-public-page .site-main,
.vendee-portal.markets-page .site-main,
.vendee-portal.heritage-public-page .site-main,
.vendee-portal.campings-page .site-main,
.vendee-portal.camping-detail-page .site-main,
.vendee-portal.deaths-public-page .site-main,
.vendee-portal.territories-public-page .site-main,
.vendee-portal.employment-hub-page .site-main,
.vendee-portal.jobs-public-page .site-main,
.vendee-portal.sports-page .site-main,
.vendee-portal.weather-public-page .site-main,
.vendee-portal.tv-public-page .site-main{
  width:min(1180px,calc(100% - 40px))!important;
  padding-top:28px!important;
}

/* Les deux pages historiques sans body class restent protégées. */
.vendee-portal .meteo-pro-page,
.vendee-portal .tv-guide-page{
  width:100%;
  max-width:1180px;
  margin-inline:auto;
}

/* Titres de pages : même hiérarchie que les rubriques newsroom. */
.vendee-portal :is(
  .agenda-hero,
  .markets-hero,
  .heritage-index-hero,
  .camping-directory-head,
  .meteo-pro-titlebar,
  .tv-guide-titlebar,
  .death-page-head,
  .territory-directory-hero,
  .employment-hero,
  .employment-page-head,
  .sports-hero__inner
){
  margin:0 0 20px!important;
  padding:0 0 18px!important;
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  color:var(--news-ink)!important;
}
.vendee-portal :is(
  .agenda-hero,
  .markets-hero,
  .heritage-index-hero,
  .camping-directory-head,
  .meteo-pro-titlebar,
  .tv-guide-titlebar,
  .death-page-head,
  .territory-directory-hero,
  .employment-hero,
  .employment-page-head,
  .sports-hero__copy
) h1{
  margin:4px 0 8px!important;
  color:var(--news-ink)!important;
  font-size:clamp(32px,4vw,46px)!important;
  line-height:1.03!important;
  font-weight:850!important;
  letter-spacing:-.04em!important;
}
.vendee-portal :is(
  .agenda-kicker,
  .markets-hero .kicker,
  .heritage-kicker,
  .meteo-pro-kicker,
  .tv-guide-kicker,
  .death-kicker,
  .territory-kicker,
  .employment-kicker,
  .sports-page .eyebrow
){
  color:var(--news-red)!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
.vendee-portal :is(
  .agenda-hero,
  .markets-hero,
  .heritage-index-hero,
  .camping-directory-head,
  .meteo-pro-titlebar,
  .tv-guide-titlebar,
  .death-page-head,
  .territory-directory-hero,
  .employment-hero,
  .employment-page-head,
  .sports-hero__copy
) p{
  margin:0!important;
  max-width:820px;
  color:var(--news-muted)!important;
  font-size:14px!important;
  line-height:1.5!important;
}

/* Navigation locale, onglets et boutons : rectangulaires. */
.vendee-portal :is(
  .agenda-quick-links,
  .markets-quick,
  .heritage-explore-nav,
  .meteo-pro-nav,
  .tv-guide-tabs,
  .employment-nav,
  .sports-anchor-nav,
  .camping-detail-tabs
){
  gap:8px!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.vendee-portal :is(
  .agenda-quick-links a,
  .markets-quick a,
  .heritage-explore-nav a,
  .meteo-pro-nav a,
  .tv-guide-tabs a,
  .employment-nav a,
  .sports-anchor-nav a,
  .camping-detail-tabs a
){
  border:1px solid #cfd4da!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--news-ink)!important;
  box-shadow:none!important;
  font-weight:750!important;
}
.vendee-portal :is(
  .agenda-quick-links a.is-active,
  .markets-quick a.is-active,
  .heritage-explore-nav a.is-active,
  .meteo-pro-nav a.is-active,
  .tv-guide-tabs a.active,
  .employment-nav a.is-active,
  .sports-anchor-nav a.is-active,
  .camping-detail-tabs a.is-active,
  .agenda-quick-links a:hover,
  .markets-quick a:hover,
  .heritage-explore-nav a:hover,
  .meteo-pro-nav a:hover,
  .tv-guide-tabs a:hover,
  .employment-nav a:hover,
  .sports-anchor-nav a:hover,
  .camping-detail-tabs a:hover
){
  border-color:var(--news-blue)!important;
  background:#fff!important;
  color:var(--news-blue)!important;
}

/* Filtres */
.vendee-portal :is(
  .agenda-filters,
  .markets-filter,
  .heritage-modern-filters,
  .camping-filter-panel,
  .sports-filters,
  .jobs-search-box,
  .jobs-search-box-v2,
  .employment-search-simple,
  .death-search
){
  border:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal :is(
  .agenda-filters input,.agenda-filters select,
  .markets-filter input,.markets-filter select,
  .heritage-modern-filters input,.heritage-modern-filters select,
  .camping-filter-panel input,.camping-filter-panel select,
  .sports-filters input,.sports-filters select,
  .jobs-search-box input,.jobs-search-box select,
  .employment-search-simple input,
  .death-search input
){
  border:1px solid #cfd4da!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal :is(
  .agenda-filters button,
  .markets-filter button,
  .heritage-modern-filters button,
  .camping-filter-submit,
  .sports-filters button,
  .jobs-search-actions button,
  .death-search button
){
  border:1px solid var(--news-navy)!important;
  border-radius:0!important;
  background:var(--news-navy)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-weight:800!important;
}

/* En-têtes de sections */
.vendee-portal :is(
  .agenda-section>header,
  .markets-section-head,
  .heritage-modern-head,
  .heritage-inline-head,
  .camping-section>header,
  .meteo-pro-section-head,
  .sports-section-head,
  .employment-panel>header,
  .jobs-section-head,
  .territory-section>header,
  .death-related>h2
){
  margin-bottom:0!important;
  padding:18px 0 11px!important;
  border-bottom:2px solid var(--news-ink)!important;
}
.vendee-portal :is(
  .agenda-section h2,
  .markets-section-head h2,
  .heritage-modern-head h2,
  .heritage-inline-head h2,
  .camping-section h2,
  .meteo-pro-section-head h2,
  .sports-section-head h2,
  .employment-panel h2,
  .jobs-section-head h2,
  .territory-section h2,
  .death-related h2
){
  color:var(--news-ink)!important;
  font-size:24px!important;
  line-height:1.1!important;
  font-weight:850!important;
  letter-spacing:-.025em!important;
}

/* ============================================================
   AGENDA
   ============================================================ */
.vendee-portal.agenda-public-page .agenda-hero{padding-top:0!important}
.vendee-portal .agenda-quick-links{margin-top:16px!important}
.vendee-portal .agenda-filters{padding:14px!important}
.vendee-portal .agenda-result-head{
  margin:0!important;
  padding:13px 0!important;
  border-bottom:1px solid var(--news-line)!important;
  color:var(--news-muted)!important;
}
.vendee-portal .agenda-result-head a{color:var(--news-blue)!important;font-weight:750!important}
.vendee-portal .agenda-priority-section{
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
}
.vendee-portal .agenda-day-group{margin:0!important;padding:0!important;border:0!important}
.vendee-portal .agenda-day-heading{
  padding:15px 0 10px!important;
  border-bottom:1px solid var(--news-line)!important;
  background:#fff!important;
}
.vendee-portal .agenda-day-date{
  border:0!important;
  border-right:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
}
.vendee-portal .agenda-day-date strong{color:var(--news-red)!important}
.vendee-portal .agenda-compact-list{gap:0!important}
.vendee-portal .agenda-compact-event{
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .agenda-compact-event:before{width:3px!important;background:var(--news-red)!important}
.vendee-portal .agenda-compact-link{padding:15px 12px!important}
.vendee-portal .agenda-compact-category{color:var(--news-blue)!important}
.vendee-portal .agenda-compact-special{border-radius:0!important;background:var(--news-red)!important;color:#fff!important}
.vendee-portal .agenda-compact-main h3{color:var(--news-ink)!important;font-size:17px!important}
.vendee-portal .agenda-compact-arrow{border:0!important;border-radius:0!important;color:var(--news-blue)!important}
.vendee-portal .agenda-public-pagination a{
  border:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--news-ink)!important;
}
.vendee-portal .agenda-public-pagination a.is-active{border-color:var(--news-navy)!important;background:var(--news-navy)!important;color:#fff!important}
.vendee-portal .agenda-empty-public{border:1px solid var(--news-line)!important;border-radius:0!important;background:var(--news-soft)!important}

/* Détail agenda */
.vendee-portal .event-breadcrumb{color:var(--news-muted)!important}
.vendee-portal .event-breadcrumb a{color:var(--news-blue)!important}
.vendee-portal .event-hero{
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .event-hero-copy h1{color:var(--news-ink)!important}
.vendee-portal .event-status{border-radius:0!important}
.vendee-portal .event-info-card,
.vendee-portal .event-section,
.vendee-portal .event-related-grid article{
  border:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .event-ticket-btn,.vendee-portal .event-calendar-btn{border-radius:0!important}

/* ============================================================
   MARCHÉS
   ============================================================ */
.vendee-portal .markets-shell{max-width:1180px!important;margin-inline:auto!important}
.vendee-portal .markets-hero{padding-top:0!important}
.vendee-portal .markets-quick{margin:0 0 14px!important;padding:0 0 14px!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal .markets-filter{padding:14px!important}
.vendee-portal .markets-grid{gap:0!important;border-top:1px solid var(--news-line)!important}
.vendee-portal .market-card,
.vendee-portal .market-page-card{
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .market-card-body{padding:18px 0!important}
.vendee-portal .market-card-city,.vendee-portal .market-card-type{color:var(--news-blue)!important}
.vendee-portal .market-card h2,.vendee-portal .market-card-headline{color:var(--news-ink)!important}
.vendee-portal .market-card-meta,.vendee-portal .market-description,.vendee-portal .market-place{color:var(--news-muted)!important}
.vendee-portal .markets-empty{border-radius:0!important;background:var(--news-soft)!important}

/* ============================================================
   PATRIMOINE
   ============================================================ */
.vendee-portal .heritage-index-hero{padding-top:0!important}
.vendee-portal .heritage-index-stats{
  margin-top:14px!important;
  padding-top:14px!important;
  border-top:1px solid var(--news-line)!important;
}
.vendee-portal .heritage-index-stats>div{
  border:0!important;
  border-right:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
}
.vendee-portal .heritage-explore-nav{border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal .heritage-modern-filters{padding:14px!important}
.vendee-portal .heritage-feature-modern,
.vendee-portal .heritage-modern-card,
.vendee-portal .heritage-aside-card,
.vendee-portal .heritage-related-modern-grid>a,
.vendee-portal .heritage-content-card,
.vendee-portal .heritage-source-card,
.vendee-portal .heritage-protection-card,
.vendee-portal .heritage-photo-card{
  border:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .heritage-feature-modern:hover,
.vendee-portal .heritage-modern-card:hover,
.vendee-portal .heritage-related-modern-grid>a:hover{transform:none!important;border-color:#aeb5bc!important}
.vendee-portal .heritage-modern-type,.vendee-portal .heritage-card-label{color:var(--news-blue)!important}
.vendee-portal .heritage-modern-card h2,.vendee-portal .heritage-feature-modern h2{color:var(--news-ink)!important}
.vendee-portal .heritage-modern-pagination a{border-radius:0!important}

/* Détail patrimoine */
.vendee-portal .heritage-breadcrumb a{color:var(--news-blue)!important}
.vendee-portal .heritage-monument-hero,
.vendee-portal .heritage-monument-gallery,
.vendee-portal .heritage-monument-section,
.vendee-portal .heritage-monument-aside{
  border-radius:0!important;
  box-shadow:none!important;
}
.vendee-portal .heritage-monument-hero{background:var(--news-navy)!important}
.vendee-portal .heritage-monument-topline,.vendee-portal .heritage-monument-location{color:#d9ddf0!important}
.vendee-portal .heritage-monument-hero h1{color:#fff!important}
.vendee-portal .heritage-btn{border-radius:0!important}
.vendee-portal .heritage-person-photo,.vendee-portal .heritage-monument-placeholder{border-radius:0!important}
.vendee-portal .heritage-map-panel,.vendee-portal .heritage-map-canvas{border-radius:0!important}

/* ============================================================
   CAMPINGS
   ============================================================ */
.vendee-portal .camping-directory,.vendee-portal .camping-detail{max-width:1180px!important;margin-inline:auto!important}
.vendee-portal .camping-directory-head{padding-top:0!important}
.vendee-portal .camping-directory-head h1,.vendee-portal .camping-titlebar h1{color:var(--news-ink)!important}
.vendee-portal .camping-directory-layout{grid-template-columns:250px minmax(0,1fr)!important;gap:30px!important}
.vendee-portal .camping-filter-panel{
  top:145px!important;
  padding:16px!important;
  border-top:3px solid var(--news-red)!important;
}
.vendee-portal .camping-filter-title{color:var(--news-ink)!important}
.vendee-portal .camping-result-card{
  min-height:210px!important;
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .camping-result-card:hover{transform:none!important;border-color:var(--news-line)!important}
.vendee-portal .camping-result-photo,.vendee-portal .camping-result-photo img,.vendee-portal .camping-result-placeholder{border-radius:0!important}
.vendee-portal .camping-result-titleline h2{color:var(--news-ink)!important;font-size:22px!important}
.vendee-portal .camping-result-chips span,.vendee-portal .camping-feature-chips span{
  border-radius:0!important;
  background:var(--news-soft)!important;
  color:var(--news-ink)!important;
}
.vendee-portal .camping-result-cta,.vendee-portal .camping-primary-link{
  border-radius:0!important;
  background:var(--news-navy)!important;
  color:#fff!important;
}
.vendee-portal .camping-result-classification{color:var(--news-red)!important}
.vendee-portal .camping-directory .pagination a,.vendee-portal .camping-directory .pagination span{border-radius:0!important}

/* Détail camping */
.vendee-portal .camping-breadcrumb a{color:var(--news-blue)!important}
.vendee-portal .camping-titlebar{
  padding:0 0 18px!important;
  border-bottom:1px solid var(--news-line)!important;
}
.vendee-portal .camping-media-main,
.vendee-portal .camping-media-side button,
.vendee-portal .camping-map-panel,
.vendee-portal .camping-contact-v2,
.vendee-portal .camping-facts>div,
.vendee-portal .camping-local-grid a{
  border-radius:0!important;
  box-shadow:none!important;
}
.vendee-portal .camping-contact-v2{border-top:3px solid var(--news-red)!important}
.vendee-portal .camping-highlight-row{border-bottom:1px solid var(--news-line)!important}
.vendee-portal .camping-highlight-row span{border-radius:0!important;background:var(--news-soft)!important}
.vendee-portal .camping-section{border-top:1px solid var(--news-line)!important}

/* ============================================================
   MÉTÉO
   ============================================================ */
.vendee-portal .meteo-pro-page{--mp-navy:var(--news-navy)!important;--mp-text:var(--news-ink)!important;--mp-muted:var(--news-muted)!important}
.vendee-portal .meteo-pro-titlebar{padding-top:0!important}
.vendee-portal .meteo-pro-live-dot{background:var(--news-red)!important}
.vendee-portal .meteo-pro-nav{padding:0!important;border:0!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal .meteo-pro-current{
  border:0!important;
  border-radius:0!important;
  background:var(--news-navy)!important;
  box-shadow:none!important;
}
.vendee-portal .meteo-pro-current :is(h2,strong,.meteo-pro-location){color:#fff!important}
.vendee-portal .meteo-pro-current :is(p,span,.meteo-pro-model-badge){color:#d9ddf0!important}
.vendee-portal .meteo-pro-today,
.vendee-portal .meteo-pro-hourly-panel,
.vendee-portal .meteo-pro-week,
.vendee-portal .meteo-pro-indicators,
.vendee-portal .meteo-department-overview{
  border:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .meteo-pro-section{margin-top:28px!important}
.vendee-portal .meteo-pro-section-head{padding-left:0!important;padding-right:0!important}
.vendee-portal .meteo-pro-week article{border-radius:0!important;border-color:var(--news-line)!important}
.vendee-portal .meteo-pro-week article.is-today{background:var(--news-soft)!important;box-shadow:inset 4px 0 0 var(--news-red)!important}
.vendee-portal .meteo-pro-chart{border-radius:0!important;background:#fff!important}
.vendee-portal .meteo-pro-alert{border-radius:0!important}

/* ============================================================
   PROGRAMME TV
   ============================================================ */
.vendee-portal .tv-guide-titlebar{padding-top:0!important}
.vendee-portal .tv-guide-tabs{padding:0 0 14px!important;border:0!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal .tv-guide-date-picker input,.vendee-portal .tv-guide-date-picker button{border-radius:0!important}
.vendee-portal .tv-guide-list{gap:0!important;border-top:1px solid var(--news-line)!important}
.vendee-portal .tv-guide-row{
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .tv-guide-channel-mark,.vendee-portal .tv-guide-program-image{border-radius:0!important}
.vendee-portal .tv-guide-program-copy h2,.vendee-portal .tv-guide-program-copy h3{color:var(--news-ink)!important}
.vendee-portal .tv-guide-live-badge{border-radius:0!important;background:var(--news-red)!important;color:#fff!important}
.vendee-portal .tv-guide-next-badge,.vendee-portal .tv-guide-upcoming-badge{border-radius:0!important;background:var(--news-blue)!important;color:#fff!important}
.vendee-portal .tv-guide-progress{border-radius:0!important}
.vendee-portal .tv-guide-progress>span{background:var(--news-red)!important}
.vendee-portal .tv-guide-empty{border-radius:0!important;background:var(--news-soft)!important}

/* ============================================================
   AVIS DE DÉCÈS
   ============================================================ */
.vendee-portal .death-page{max-width:1180px!important;margin-inline:auto!important}
.vendee-portal .death-page-head{padding-top:0!important}
.vendee-portal .death-page-stat{
  border:0!important;
  border-left:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .death-search{padding:14px!important}
.vendee-portal .death-grid{gap:0!important;border-top:1px solid var(--news-line)!important}
.vendee-portal .death-card{
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .death-card-link{padding:18px 0!important;color:var(--news-ink)!important}
.vendee-portal .death-card-top h2{color:var(--news-ink)!important}
.vendee-portal .death-type{border-radius:0!important;background:var(--news-soft)!important;color:var(--news-red)!important}
.vendee-portal .death-card-meta,.vendee-portal .death-source-note{color:var(--news-muted)!important}
.vendee-portal .death-pagination a,.vendee-portal .death-pagination span{border-radius:0!important}
.vendee-portal .death-pagination a.active{background:var(--news-navy)!important;color:#fff!important}
.vendee-portal .death-explainer{border-radius:0!important;border-color:var(--news-line)!important;background:var(--news-soft)!important}

/* Détail décès */
.vendee-portal .death-breadcrumb a{color:var(--news-blue)!important}
.vendee-portal .death-detail-head{
  padding:0 0 18px!important;
  border-bottom:1px solid var(--news-line)!important;
}
.vendee-portal .death-detail-head h1{color:var(--news-ink)!important}
.vendee-portal .death-detail-side>div,
.vendee-portal .death-info-section,
.vendee-portal .death-ceremony-box,
.vendee-portal .death-registry-info,
.vendee-portal .death-sources article{
  border-radius:0!important;
  box-shadow:none!important;
}
.vendee-portal .death-detail-side>div{background:var(--news-navy)!important;color:#fff!important}
.vendee-portal .death-info-section,.vendee-portal .death-ceremony-box,.vendee-portal .death-registry-info{border:1px solid var(--news-line)!important;background:#fff!important}

/* ============================================================
   COMMUNES
   ============================================================ */
.vendee-portal .territory-directory{max-width:1180px!important;margin-inline:auto!important}
.vendee-portal .territory-directory-hero{padding-top:0!important}
.vendee-portal .territory-directory-toolbar{
  margin:0 0 16px!important;
  padding:14px 0!important;
  border-top:1px solid var(--news-line)!important;
  border-bottom:1px solid var(--news-line)!important;
}
.vendee-portal .territory-directory-search{border-radius:0!important;border-color:#cfd4da!important}
.vendee-portal .territory-directory-stats>div{
  border:0!important;
  border-right:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .territory-card-grid{gap:0!important;border-top:1px solid var(--news-line)!important}
.vendee-portal .territory-card{
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .territory-card:hover{transform:none!important;border-color:var(--news-line)!important;background:var(--news-soft)!important}
.vendee-portal .territory-card-body{padding:17px 0!important}
.vendee-portal .territory-card h2{color:var(--news-ink)!important}
.vendee-portal .territory-card-cta{border-radius:0!important;background:#fff!important;color:var(--news-blue)!important}

/* Détail commune */
.vendee-portal .territory-breadcrumb a{color:var(--news-blue)!important}
.vendee-portal .territory-detail-hero{
  border-radius:0!important;
  background:var(--news-navy)!important;
  box-shadow:none!important;
}
.vendee-portal .territory-detail-hero h1{color:#fff!important}
.vendee-portal .territory-local-facts,
.vendee-portal .territory-info-card,
.vendee-portal .territory-city-service-card,
.vendee-portal .territory-event-card,
.vendee-portal .territory-article-card,
.vendee-portal .territory-water-card,
.vendee-portal .territory-mayor-card{
  border:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .territory-card-icon,.vendee-portal .territory-association-mark{border-radius:0!important;background:var(--news-soft)!important}
.vendee-portal .territory-section{border-top:1px solid var(--news-line)!important}
.vendee-portal .territory-section-kicker{color:var(--news-red)!important}
.vendee-portal .territory-person-link,.vendee-portal .territory-associations-all{color:var(--news-blue)!important}

/* ============================================================
   EMPLOI
   ============================================================ */
.vendee-portal .employment-hub{width:100%!important;max-width:1180px!important;margin-inline:auto!important}
.vendee-portal .employment-hero{
  grid-template-columns:minmax(0,1fr) 220px!important;
  padding-top:0!important;
}
.vendee-portal .employment-hero-number{
  border-left:1px solid var(--news-line)!important;
  color:var(--news-muted)!important;
}
.vendee-portal .employment-hero-number strong{color:var(--news-red)!important}
.vendee-portal .employment-hero-actions a{border-radius:0!important}
.vendee-portal .employment-primary{background:var(--news-navy)!important;color:#fff!important}
.vendee-portal .employment-stat-grid{gap:0!important;border-top:1px solid var(--news-line)!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal .employment-stat-grid article{
  border:0!important;
  border-right:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .employment-stat-grid article strong{color:var(--news-ink)!important}
.vendee-portal .employment-two-cols{gap:30px!important}
.vendee-portal .employment-panel,
.vendee-portal .employment-directory-card,
.vendee-portal .employment-company-list article,
.vendee-portal .employment-offer-mini,
.vendee-portal .job-card,
.vendee-portal .job-detail-info-box,
.vendee-portal .job-company-box,
.vendee-portal .job-related-grid article{
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .employment-panel{padding:0!important}
.vendee-portal .employment-ranking>a{border-bottom:1px solid var(--news-line)!important}
.vendee-portal .employment-ranking b{color:var(--news-blue)!important}
.vendee-portal .employment-ranking strong,.vendee-portal .employment-directory-card h2{color:var(--news-ink)!important}
.vendee-portal .employment-territory-strip{border-radius:0!important;background:var(--news-navy)!important;color:#fff!important}
.vendee-portal .employment-directory-grid{gap:0!important;border-top:1px solid var(--news-line)!important}
.vendee-portal .employment-directory-card{padding:18px 0!important}
.vendee-portal .employment-page-head{padding-top:0!important}

/* Offres */
.vendee-portal .jobs-search-box,.vendee-portal .jobs-search-box-v2{padding:14px!important}
.vendee-portal .jobs-list,.vendee-portal .jobs-partner-grid{gap:0!important;border-top:1px solid var(--news-line)!important}
.vendee-portal .job-card{margin:0!important;padding:0!important}
.vendee-portal .job-card-main{padding:18px 0!important}
.vendee-portal .job-card:hover{transform:none!important;border-color:var(--news-line)!important}
.vendee-portal .job-card h2{color:var(--news-ink)!important}
.vendee-portal .job-partner-badge{border-radius:0!important;background:var(--news-red)!important;color:#fff!important}
.vendee-portal .jobs-pagination a,.vendee-portal .jobs-pagination span{border-radius:0!important}
.vendee-portal .job-detail-hero{
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .job-detail-title h1{color:var(--news-ink)!important}
.vendee-portal .job-detail-cta{border-radius:0!important;background:var(--news-navy)!important;color:#fff!important}
.vendee-portal .job-breadcrumb a{color:var(--news-blue)!important}

/* ============================================================
   SPORTS
   ============================================================ */
.vendee-portal .sports-hero{margin:0!important;background:#fff!important}
.vendee-portal .sports-hero__inner{padding-top:0!important}
.vendee-portal .sports-hero__badge{
  border:0!important;
  border-left:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .sports-hero__badge span{color:var(--news-red)!important}
.vendee-portal .sports-shell{width:100%!important;max-width:1180px!important;margin-inline:auto!important;padding-top:0!important}
.vendee-portal .sports-public-stats{
  gap:0!important;
  border-top:1px solid var(--news-line)!important;
  border-bottom:1px solid var(--news-line)!important;
}
.vendee-portal .sports-public-stats>div,
.vendee-portal .sport-page-stats>div{
  border:0!important;
  border-right:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .sport-cards,.vendee-portal .club-grid,.vendee-portal .team-grid,.vendee-portal .competition-grid,.vendee-portal .results-grid{gap:0!important}
.vendee-portal .sport-card,
.vendee-portal .club-card,
.vendee-portal .team-card,
.vendee-portal .competition-card,
.vendee-portal .fixture-card,
.vendee-portal .match-card{
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.vendee-portal .sport-card:hover,.vendee-portal .club-card:hover,.vendee-portal .team-card:hover{transform:none!important;background:var(--news-soft)!important}
.vendee-portal .sport-card-icon,.vendee-portal .club-card__logo,.vendee-portal .fixture-logo{border-radius:0!important;background:var(--news-soft)!important}
.vendee-portal .sport-card strong,.vendee-portal .club-card strong,.vendee-portal .team-card strong,.vendee-portal .competition-card strong{color:var(--news-ink)!important}
.vendee-portal .sport-card-arrow{border-radius:0!important;color:var(--news-blue)!important}
.vendee-portal .sports-filters{padding:14px!important}
.vendee-portal .match-day{border-radius:0!important;background:var(--news-soft)!important;color:var(--news-ink)!important}
.vendee-portal .sports-back{color:var(--news-blue)!important}
.vendee-portal .sports-hero--detail,.vendee-portal .sports-hero--club{border-bottom:1px solid var(--news-line)!important}
.vendee-portal .club-hero-logo,.vendee-portal .sport-big-icon{border-radius:0!important;background:var(--news-soft)!important}
.vendee-portal .sports-empty{border-radius:0!important;background:var(--news-soft)!important}

/* ============================================================
   Cohérence visuelle transversale
   ============================================================ */
.vendee-portal :is(
  .agenda-public-page,
  .markets-shell,
  .heritage-public-page,
  .camping-directory,
  .camping-detail,
  .meteo-pro-page,
  .tv-guide-page,
  .death-page,
  .death-detail,
  .territory-directory,
  .territory-detail,
  .employment-hub,
  .jobs-page,
  .job-detail-page,
  .sports-shell
) a:not(.header-nav-link):not(.header-submenu-link):not(.header-brand):not(.site-footer-link){
  text-underline-offset:2px;
}

/* Les boutons structurants gardent une lecture nette, sans pilules. */
.vendee-portal :is(
  .agenda-public-page,
  .markets-page,
  .heritage-public-page,
  .campings-page,
  .camping-detail-page,
  .deaths-public-page,
  .territories-public-page,
  .employment-hub-page,
  .jobs-public-page,
  .sports-page,
  .weather-public-page,
  .tv-public-page
) :is(button,.btn,[class*="-btn"],[class*="-cta"]){
  border-radius:0!important;
  box-shadow:none!important;
}

/* Médias : pas de coins arrondis. */
.vendee-portal :is(
  .agenda-public-page,
  .markets-page,
  .heritage-public-page,
  .campings-page,
  .camping-detail-page,
  .deaths-public-page,
  .territories-public-page,
  .employment-hub-page,
  .jobs-public-page,
  .sports-page,
  .weather-public-page,
  .tv-public-page
) :is(img,video,iframe){
  border-radius:0!important;
}

/* Responsive */
@media(max-width:1000px){
  .vendee-portal.agenda-public-page .site-main,
  .vendee-portal.markets-page .site-main,
  .vendee-portal.heritage-public-page .site-main,
  .vendee-portal.campings-page .site-main,
  .vendee-portal.camping-detail-page .site-main,
  .vendee-portal.deaths-public-page .site-main,
  .vendee-portal.territories-public-page .site-main,
  .vendee-portal.employment-hub-page .site-main,
  .vendee-portal.jobs-public-page .site-main,
  .vendee-portal.sports-page .site-main,
  .vendee-portal.weather-public-page .site-main,
  .vendee-portal.tv-public-page .site-main{width:min(100% - 32px,1180px)!important}
  .vendee-portal .camping-directory-layout{grid-template-columns:1fr!important}
  .vendee-portal .camping-filter-panel{position:static!important}
  .vendee-portal .employment-hero{grid-template-columns:1fr!important}
  .vendee-portal .employment-hero-number{padding-left:0!important;border-left:0!important;border-top:1px solid var(--news-line)!important}
}

@media(max-width:720px){
  .vendee-portal.agenda-public-page .site-main,
  .vendee-portal.markets-page .site-main,
  .vendee-portal.heritage-public-page .site-main,
  .vendee-portal.campings-page .site-main,
  .vendee-portal.camping-detail-page .site-main,
  .vendee-portal.deaths-public-page .site-main,
  .vendee-portal.territories-public-page .site-main,
  .vendee-portal.employment-hub-page .site-main,
  .vendee-portal.jobs-public-page .site-main,
  .vendee-portal.sports-page .site-main,
  .vendee-portal.weather-public-page .site-main,
  .vendee-portal.tv-public-page .site-main{width:calc(100% - 28px)!important;padding-top:20px!important}
  .vendee-portal :is(
    .agenda-hero,.markets-hero,.heritage-index-hero,.camping-directory-head,
    .meteo-pro-titlebar,.tv-guide-titlebar,.death-page-head,.territory-directory-hero,
    .employment-hero,.employment-page-head,.sports-hero__inner
  ) h1{font-size:30px!important}
  .vendee-portal .agenda-filters,
  .vendee-portal .markets-filter,
  .vendee-portal .sports-filters{padding:12px!important}
  .vendee-portal .territory-card-body{grid-template-columns:1fr!important;gap:8px!important}
  .vendee-portal .territory-card-meta,.vendee-portal .territory-card-cta{grid-column:1!important;grid-row:auto!important}
  .vendee-portal .camping-result-card{grid-template-columns:1fr!important}
  .vendee-portal .camping-result-photo{aspect-ratio:16/9!important}
  .vendee-portal .employment-stat-grid,.vendee-portal .sports-public-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vendee-portal .employment-stat-grid article,.vendee-portal .sports-public-stats>div{border-bottom:1px solid var(--news-line)!important}
}

/* Correctifs de portée : les bodyClass sont portées par <body>. */
.vendee-portal.agenda-public-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.markets-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.heritage-public-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.campings-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.camping-detail-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.deaths-public-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.territories-public-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.employment-hub-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.jobs-public-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.sports-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.weather-public-page :is(button,.btn,[class*="-btn"],[class*="-cta"]),
.vendee-portal.tv-public-page :is(button,.btn,[class*="-btn"],[class*="-cta"]){border-radius:0!important;box-shadow:none!important}

.vendee-portal.agenda-public-page .site-main :is(img,video,iframe),
.vendee-portal.markets-page .site-main :is(img,video,iframe),
.vendee-portal.heritage-public-page .site-main :is(img,video,iframe),
.vendee-portal.campings-page .site-main :is(img,video,iframe),
.vendee-portal.camping-detail-page .site-main :is(img,video,iframe),
.vendee-portal.deaths-public-page .site-main :is(img,video,iframe),
.vendee-portal.territories-public-page .site-main :is(img,video,iframe),
.vendee-portal.employment-hub-page .site-main :is(img,video,iframe),
.vendee-portal.jobs-public-page .site-main :is(img,video,iframe),
.vendee-portal.sports-page .site-main :is(img,video,iframe),
.vendee-portal.weather-public-page .site-main :is(img,video,iframe),
.vendee-portal.tv-public-page .site-main :is(img,video,iframe){border-radius:0!important}

/* Garantie DA : aucun arrondi dans les zones de contenu de ces univers. */
.vendee-portal.agenda-public-page .site-main *,
.vendee-portal.markets-page .site-main *,
.vendee-portal.heritage-public-page .site-main *,
.vendee-portal.campings-page .site-main *,
.vendee-portal.camping-detail-page .site-main *,
.vendee-portal.deaths-public-page .site-main *,
.vendee-portal.territories-public-page .site-main *,
.vendee-portal.employment-hub-page .site-main *,
.vendee-portal.jobs-public-page .site-main *,
.vendee-portal.sports-page .site-main *,
.vendee-portal.weather-public-page .site-main *,
.vendee-portal.tv-public-page .site-main *{border-radius:0!important}

/* ============================================================
   VendéeActus V2.5.31 — finition PREMIUM newsroom
   Harmonisation stricte des services avec l'accueil/rubriques.
   Palette unique : #03172B / #073BC9 / #E30613 / noir / gris.
   ============================================================ */

/* ---------- palette unique / neutralisation complète de l'ancienne DA ---------- */
.vendee-portal:is(
  .agenda-public-page,.markets-page,.heritage-public-page,.campings-page,
  .camping-detail-page,.deaths-public-page,.territories-public-page,
  .employment-hub-page,.jobs-public-page,.sports-page,.weather-public-page,.tv-public-page
){
  --news-ink:#0b0b0f;
  --news-text:#202124;
  --news-navy:#03172b;
  --news-blue:#073bc9;
  --news-red:#e30613;
  --news-red-dark:#bb0010;
  --news-line:#dfe2e6;
  --news-line-strong:#cbd1d8;
  --news-soft:#f5f6f7;
  --news-soft-2:#eef1f4;
  --news-muted:#6f7277;
  --news-white:#fff;

  --cms-primary:#e30613!important;
  --cms-primary-contrast:#fff!important;
  --cms-accent:#e30613!important;
  --cms-accent-hover:#bb0010!important;
  --cms-heading:#0b0b0f!important;
  --cms-text:#202124!important;
  --cms-info:#202124!important;
  --cms-link:#073bc9!important;
  --cms-muted:#6f7277!important;
  --cms-border:#dfe2e6!important;
  --cms-surface:#fff!important;
  --cms-surface-alt:#f5f6f7!important;
  --cms-body-bg:#fff!important;
  --cms-button-bg:#03172b!important;
  --cms-button-text:#fff!important;

  --portal-ink:#0b0b0f!important;
  --portal-red:#e30613!important;
  --portal-bordeaux:#e30613!important;
  --portal-muted:#6f7277!important;
  --portal-bg:#fff!important;
  --portal-line:#dfe2e6!important;

  --territory-navy:#0b0b0f!important;
  --territory-orange:#e30613!important;
  --territory-line:#dfe2e6!important;
  --territory-muted:#6f7277!important;
}

.vendee-portal:is(
  .agenda-public-page,.markets-page,.heritage-public-page,.campings-page,
  .camping-detail-page,.deaths-public-page,.territories-public-page,
  .employment-hub-page,.jobs-public-page,.sports-page,.weather-public-page,.tv-public-page
) .site-main{
  background:#fff!important;
  color:var(--news-text)!important;
}

/* Les anciens fonds beige / champagne / gris bleuté ne doivent plus gagner. */
.vendee-portal:is(
  .agenda-public-page,.markets-page,.heritage-public-page,.campings-page,
  .camping-detail-page,.deaths-public-page,.territories-public-page,
  .employment-hub-page,.jobs-public-page,.sports-page,.weather-public-page,.tv-public-page
) .site-main :is(
  [class*="hero"],[class*="card"],[class*="panel"],[class*="box"],
  [class*="stats"],[class*="filter"],[class*="nav"],[class*="section"]
){
  box-shadow:none!important;
}

.vendee-portal:is(
  .agenda-public-page,.markets-page,.heritage-public-page,.campings-page,
  .camping-detail-page,.deaths-public-page,.territories-public-page,
  .employment-hub-page,.jobs-public-page,.sports-page,.weather-public-page,.tv-public-page
) .site-main :is(
  button,.btn,[class*="-btn"],[class*="-cta"],input,select,textarea,
  [class*="card"],[class*="panel"],[class*="box"],img,iframe,video
){border-radius:0!important}

/* Titres cohérents avec les pages catégories. */
.vendee-portal:is(
  .agenda-public-page,.markets-page,.heritage-public-page,.campings-page,
  .camping-detail-page,.deaths-public-page,.territories-public-page,
  .employment-hub-page,.jobs-public-page,.sports-page,.weather-public-page,.tv-public-page
) .site-main h1{
  color:var(--news-ink)!important;
  font-weight:850!important;
  letter-spacing:-.04em!important;
}
.vendee-portal:is(
  .agenda-public-page,.markets-page,.heritage-public-page,.campings-page,
  .camping-detail-page,.deaths-public-page,.territories-public-page,
  .employment-hub-page,.jobs-public-page,.sports-page,.weather-public-page,.tv-public-page
) .site-main h2{
  color:var(--news-ink)!important;
  font-weight:850!important;
  letter-spacing:-.025em!important;
}

/* Boutons : deux seuls traitements, rouge action / bleu nuit secondaire. */
.vendee-portal:is(
  .agenda-public-page,.markets-page,.heritage-public-page,.campings-page,
  .camping-detail-page,.deaths-public-page,.territories-public-page,
  .employment-hub-page,.jobs-public-page,.sports-page,.weather-public-page,.tv-public-page
) .site-main :is(
  .agenda-filters button,.markets-filter button,.camping-filter-submit,.sports-filters button,
  .death-search button,.jobs-search-actions button,.employment-search-simple button,
  .camping-result-cta,.job-detail-cta
){
  border:1px solid var(--news-navy)!important;
  background:var(--news-navy)!important;
  color:#fff!important;
}
.vendee-portal:is(
  .agenda-public-page,.markets-page,.heritage-public-page,.campings-page,
  .camping-detail-page,.deaths-public-page,.territories-public-page,
  .employment-hub-page,.jobs-public-page,.sports-page,.weather-public-page,.tv-public-page
) .site-main :is(.heritage-btn,.event-ticket-btn,.camping-primary-link,.employment-primary){
  border:1px solid var(--news-red)!important;
  background:var(--news-red)!important;
  color:#fff!important;
}

/* ============================================================
   AGENDA — hiérarchie éditoriale, aucun effet "dashboard"
   ============================================================ */
.vendee-portal.agenda-public-page .agenda-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  column-gap:30px!important;
  padding:0 0 20px!important;
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  background:#fff!important;
}
.vendee-portal.agenda-public-page .agenda-hero>span,
.vendee-portal.agenda-public-page .agenda-hero>h1,
.vendee-portal.agenda-public-page .agenda-hero>p{grid-column:1}
.vendee-portal.agenda-public-page .agenda-hero h1{font-size:clamp(38px,4.2vw,52px)!important}
.vendee-portal.agenda-public-page .agenda-quick-links{
  grid-column:1/-1!important;
  display:flex!important;
  gap:0!important;
  margin:20px 0 -21px!important;
  overflow-x:auto!important;
  border-top:1px solid var(--news-line)!important;
  background:#fff!important;
}
.vendee-portal.agenda-public-page .agenda-quick-links a{
  flex:0 0 auto!important;
  padding:13px 16px!important;
  border:0!important;
  border-right:1px solid var(--news-line)!important;
  border-bottom:3px solid transparent!important;
  color:var(--news-ink)!important;
  background:#fff!important;
}
.vendee-portal.agenda-public-page .agenda-quick-links a.is-active,
.vendee-portal.agenda-public-page .agenda-quick-links a:hover{
  border-bottom-color:var(--news-red)!important;
  color:var(--news-red)!important;
}
.vendee-portal.agenda-public-page .agenda-filters{
  margin:18px 0 0!important;
  padding:14px!important;
  border:1px solid var(--news-line)!important;
  background:var(--news-soft)!important;
}
.vendee-portal.agenda-public-page .agenda-filters label span{color:#55595e!important}
.vendee-portal.agenda-public-page .agenda-result-head{margin:0!important;padding:15px 0!important}
.vendee-portal.agenda-public-page .agenda-section{margin:24px 0 34px!important}
.vendee-portal.agenda-public-page .agenda-section>header{padding:0 0 10px!important;border-bottom:2px solid var(--news-ink)!important}
.vendee-portal.agenda-public-page .agenda-section>header:after{display:none!important}
.vendee-portal.agenda-public-page .agenda-day-heading{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr) auto!important;
  gap:14px!important;
  padding:13px 0 10px!important;
  border-bottom:1px solid var(--news-line)!important;
}
.vendee-portal.agenda-public-page .agenda-day-date{justify-content:flex-start!important;border-right:1px solid var(--news-line)!important}
.vendee-portal.agenda-public-page .agenda-compact-event{border:0!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal.agenda-public-page .agenda-compact-event:before{left:0!important;top:0!important;bottom:0!important;width:3px!important}
.vendee-portal.agenda-public-page .agenda-compact-link{
  grid-template-columns:90px minmax(0,1fr) 38px!important;
  min-height:78px!important;
  padding:0 10px!important;
}
.vendee-portal.agenda-public-page .agenda-compact-time strong{color:var(--news-red)!important;font-size:15px!important}
.vendee-portal.agenda-public-page .agenda-compact-main{padding:15px 16px!important}
.vendee-portal.agenda-public-page .agenda-compact-main h3{white-space:normal!important;font-size:16px!important}
.vendee-portal.agenda-public-page .agenda-compact-category{color:var(--news-blue)!important}
.vendee-portal.agenda-public-page .agenda-compact-special{padding:3px 6px!important;background:var(--news-red)!important;color:#fff!important}

/* Détail agenda */
.vendee-portal.agenda-public-page.event-detail-page .event-hero{
  padding:0 0 26px!important;border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important
}
.vendee-portal.agenda-public-page.event-detail-page .event-taxonomy-row span{background:var(--news-soft)!important;color:var(--news-blue)!important}
.vendee-portal.agenda-public-page.event-detail-page .event-status{background:var(--news-soft)!important;color:var(--news-ink)!important}
.vendee-portal.agenda-public-page.event-detail-page .event-detail-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:48px!important}
.vendee-portal.agenda-public-page.event-detail-page .event-lead{border-left:4px solid var(--news-red)!important;background:var(--news-soft)!important}
.vendee-portal.agenda-public-page.event-detail-page :is(.event-info-card,.event-occurrence-list>div,.event-people a){border:1px solid var(--news-line)!important;background:#fff!important}

/* ============================================================
   MARCHÉS — 2 colonnes lisibles, cartes éditoriales sans débordement
   ============================================================ */
.vendee-portal.markets-page .markets-shell{max-width:1180px!important;margin:0 auto 56px!important}
.vendee-portal.markets-page .markets-hero{padding:0 0 19px!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal.markets-page .markets-hero h1{font-size:clamp(38px,4.2vw,52px)!important}
.vendee-portal.markets-page .markets-quick{display:flex!important;gap:0!important;margin:0!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal.markets-page .markets-quick a{
  padding:13px 16px!important;border:0!important;border-right:1px solid var(--news-line)!important;border-bottom:3px solid transparent!important
}
.vendee-portal.markets-page .markets-quick a.is-active,.vendee-portal.markets-page .markets-quick a:hover{border-bottom-color:var(--news-red)!important;color:var(--news-red)!important}
.vendee-portal.markets-page .markets-filter{margin:18px 0 28px!important;padding:14px!important;background:var(--news-soft)!important}
.vendee-portal.markets-page .markets-section-head{padding:0 0 10px!important;border-bottom:2px solid var(--news-ink)!important}
.vendee-portal.markets-page .markets-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 32px!important;
  align-items:start!important;
}
.vendee-portal.markets-page .market-card{
  --market-color:var(--news-red)!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid var(--news-line)!important;
  background:#fff!important;
  overflow:hidden!important;
}
.vendee-portal.markets-page .market-card-headline{padding:18px 0 13px!important;border:0!important;border-top:3px solid var(--news-red)!important}
.vendee-portal.markets-page .market-card-meta{display:flex!important;justify-content:space-between!important;gap:12px!important;min-width:0!important}
.vendee-portal.markets-page .market-card-type{color:var(--news-blue)!important}
.vendee-portal.markets-page .market-card-city{color:var(--news-muted)!important;white-space:nowrap!important}
.vendee-portal.markets-page .market-card h3{margin:7px 0 0!important;font-size:20px!important;line-height:1.18!important}
.vendee-portal.markets-page .market-card-body{min-width:0!important;padding:0 0 20px!important;overflow:hidden!important}
.vendee-portal.markets-page .market-schedules{display:grid!important;gap:0!important;margin:0 0 11px!important;border-top:1px solid var(--news-line)!important}
.vendee-portal.markets-page .market-schedule{
  display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;gap:7px!important;padding:9px 0!important;
  border-bottom:1px solid var(--news-line)!important;background:#fff!important
}
.vendee-portal.markets-page .market-schedule strong{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
.vendee-portal.markets-page .market-place{margin:9px 0!important;color:#565a5f!important}
.vendee-portal.markets-page .market-description{
  display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;
  overflow:hidden!important;margin:10px 0!important;color:var(--news-muted)!important;line-height:1.5!important
}
.vendee-portal.markets-page .market-links{display:flex!important;gap:13px!important;flex-wrap:wrap!important;margin-top:10px!important}
.vendee-portal.markets-page .market-links a{color:var(--news-blue)!important;font-weight:800!important}
.vendee-portal.markets-page .market-source-note{margin-top:12px!important;color:#989ba0!important;font-size:10px!important}

/* ============================================================
   PATRIMOINE — atlas éditorial monochrome + rouge/bleu
   ============================================================ */
.vendee-portal.heritage-public-page .heritage-breadcrumb{color:var(--news-muted)!important}
.vendee-portal.heritage-public-page .heritage-breadcrumb a{color:var(--news-blue)!important}
.vendee-portal.heritage-public-page .heritage-index-hero{
  display:grid!important;grid-template-columns:minmax(0,1fr) 350px!important;gap:48px!important;align-items:end!important;
  padding:0 0 24px!important;border-bottom:1px solid var(--news-line)!important
}
.vendee-portal.heritage-public-page .heritage-index-stats{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;border-top:1px solid var(--news-line)!important;border-left:1px solid var(--news-line)!important
}
.vendee-portal.heritage-public-page .heritage-index-stats article{padding:16px!important;border-right:1px solid var(--news-line)!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.heritage-public-page .heritage-index-stats strong{color:var(--news-ink)!important;font-size:28px!important}
.vendee-portal.heritage-public-page .heritage-index-stats span{color:var(--news-muted)!important}
.vendee-portal.heritage-public-page .heritage-index-actions{display:flex!important;gap:18px!important;align-items:center!important;margin-top:20px!important}
.vendee-portal.heritage-public-page .heritage-btn{padding:11px 16px!important}
.vendee-portal.heritage-public-page .heritage-text-link{color:var(--news-blue)!important}
.vendee-portal.heritage-public-page .heritage-explore-nav{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;margin:20px 0 38px!important;border:1px solid var(--news-line)!important
}
.vendee-portal.heritage-public-page .heritage-explore-nav a{padding:17px 18px!important;border:0!important;border-right:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.heritage-public-page .heritage-explore-nav a:last-child{border-right:0!important}
.vendee-portal.heritage-public-page .heritage-explore-nav a>span{color:var(--news-red)!important}
.vendee-portal.heritage-public-page .heritage-explore-nav a>b{color:var(--news-blue)!important}
.vendee-portal.heritage-public-page .heritage-modern-filters{padding:14px!important;background:var(--news-soft)!important}
.vendee-portal.heritage-public-page :is(.heritage-feature-modern,.heritage-modern-card,.heritage-related-modern a,.heritage-person-modern){border-color:var(--news-line)!important;background:#fff!important}
.vendee-portal.heritage-public-page [class*="protection-"]{background:var(--news-soft)!important;color:var(--news-red)!important}

/* Fiche patrimoine et sous-pages */
.vendee-portal.heritage-public-page :is(.heritage-subhero,.heritage-monument-hero){border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.heritage-public-page :is(.heritage-aside-card,.heritage-map-panel,.heritage-timeline-group,.heritage-jep-day){border:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.heritage-public-page .heritage-monument-keyfacts{border-top:1px solid var(--news-line)!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.heritage-public-page .heritage-source-card{background:var(--news-soft)!important}

/* ============================================================
   CAMPINGS — listing + fiche sans encadrés hérités
   ============================================================ */
.vendee-portal.campings-page .camping-directory,
.vendee-portal.camping-detail-page .camping-detail{padding-top:0!important}
.vendee-portal.campings-page .camping-directory-head{padding:0 0 20px!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal.campings-page .camping-directory-head h1{font-size:clamp(38px,4.2vw,52px)!important}
.vendee-portal.campings-page .camping-directory-layout{grid-template-columns:245px minmax(0,1fr)!important;gap:34px!important}
.vendee-portal.campings-page .camping-filter-panel{border:1px solid var(--news-line)!important;border-top:3px solid var(--news-red)!important;background:var(--news-soft)!important;overflow:visible!important}
.vendee-portal.campings-page .camping-filter-panel form{padding:18px!important}
.vendee-portal.campings-page .camping-filter-title{border-bottom:1px solid var(--news-line)!important}
.vendee-portal.campings-page .camping-list-premium{gap:0!important;border-top:2px solid var(--news-ink)!important}
.vendee-portal.campings-page .camping-result-card{
  grid-template-columns:240px minmax(0,1fr)!important;min-height:174px!important;
  border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important
}
.vendee-portal.campings-page .camping-result-card:hover{transform:none!important;background:var(--news-soft)!important}
.vendee-portal.campings-page .camping-result-photo{min-height:174px!important;background:var(--news-soft-2)!important}
.vendee-portal.campings-page .camping-result-content{padding:17px 18px!important}
.vendee-portal.campings-page .camping-result-titleline h2{font-size:20px!important}
.vendee-portal.campings-page :is(.camping-result-classification,.camping-result-chips span){background:var(--news-soft)!important;color:var(--news-ink)!important}
.vendee-portal.campings-page .camping-result-cta{padding:9px 13px!important}

/* Fiche camping : onglets type newsroom, pas de vieux boutons encadrés. */
.vendee-portal.camping-detail-page .camping-titlebar{padding:0 0 20px!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal.camping-detail-page .camping-titlebar h1{font-size:clamp(36px,4.2vw,52px)!important}
.vendee-portal.camping-detail-page .camping-detail-tabs{
  position:sticky!important;top:0!important;z-index:20!important;gap:0!important;margin:0 0 22px!important;padding:0!important;
  border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important
}
.vendee-portal.camping-detail-page .camping-detail-tabs a{
  padding:13px 15px!important;border:0!important;border-right:1px solid var(--news-line)!important;border-bottom:3px solid transparent!important;
  background:#fff!important;color:var(--news-ink)!important
}
.vendee-portal.camping-detail-page .camping-detail-tabs a:first-child,
.vendee-portal.camping-detail-page .camping-detail-tabs a:hover{border-bottom-color:var(--news-red)!important;color:var(--news-red)!important}
.vendee-portal.camping-detail-page .camping-detail-tabs a:first-child:after{display:none!important}
.vendee-portal.camping-detail-page :is(.camping-media-main,.camping-media-side button,.camping-map-panel){border-color:var(--news-line)!important;background:var(--news-soft)!important}
.vendee-portal.camping-detail-page .camping-content-layout{gap:46px!important}
.vendee-portal.camping-detail-page .camping-section{padding:0 0 28px!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.camping-detail-page .camping-section h2{padding-bottom:10px!important;border-bottom:2px solid var(--news-ink)!important}
.vendee-portal.camping-detail-page :is(.camping-facts,.camping-highlight-row,.camping-contact,.camping-local-grid){border-color:var(--news-line)!important;background:#fff!important}
.vendee-portal.camping-detail-page .camping-feature-chips span{background:var(--news-soft)!important;color:var(--news-ink)!important}
.vendee-portal.camping-detail-page .camping-more-photos{background:rgba(3,23,43,.72)!important}

/* ============================================================
   MÉTÉO — tableaux éditoriaux, plus de cartes colorées legacy
   ============================================================ */
.vendee-portal.weather-public-page .meteo-pro-titlebar{padding:0 0 20px!important}
.vendee-portal.weather-public-page .meteo-pro-titlebar h1{font-size:clamp(38px,4.2vw,52px)!important}
.vendee-portal.weather-public-page .meteo-pro-nav{
  display:flex!important;gap:0!important;overflow-x:auto!important;border-bottom:1px solid var(--news-line)!important
}
.vendee-portal.weather-public-page .meteo-pro-nav a{padding:12px 14px!important;border:0!important;border-right:1px solid var(--news-line)!important;border-bottom:3px solid transparent!important}
.vendee-portal.weather-public-page .meteo-pro-nav a:hover,.vendee-portal.weather-public-page .meteo-pro-nav a.is-active{border-bottom-color:var(--news-red)!important;color:var(--news-red)!important}
.vendee-portal.weather-public-page :is(.meteo-pro-hero,.meteo-pro-current,.meteo-pro-hourly-panel,.meteo-pro-chart,.meteo-department-overview,.meteo-pro-week){border:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.weather-public-page .meteo-pro-current{border-top:3px solid var(--news-red)!important}
.vendee-portal.weather-public-page .meteo-pro-current-temp{color:var(--news-ink)!important}
.vendee-portal.weather-public-page .meteo-pro-current-condition strong,.vendee-portal.weather-public-page .meteo-pro-today-condition strong{color:var(--news-ink)!important}
.vendee-portal.weather-public-page .meteo-pro-indicators{border-top:1px solid var(--news-line)!important;background:var(--news-soft)!important}
.vendee-portal.weather-public-page .meteo-pro-week-day{border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.weather-public-page .meteo-pro-week-day.is-today{border-left:3px solid var(--news-red)!important;background:var(--news-soft)!important}
.vendee-portal.weather-public-page .meteo-pro-alert{border:1px solid var(--news-red)!important;border-left:4px solid var(--news-red)!important;background:#fff!important;color:var(--news-ink)!important}
.vendee-portal.weather-public-page .meteo-pro-model-badge{background:var(--news-navy)!important;color:#fff!important}

/* ============================================================
   PROGRAMME TV — liste plate façon newsroom
   ============================================================ */
.vendee-portal.tv-public-page .tv-guide-titlebar{padding:0 0 20px!important}
.vendee-portal.tv-public-page .tv-guide-titlebar h1{font-size:clamp(38px,4.2vw,52px)!important}
.vendee-portal.tv-public-page .tv-guide-tabs{display:flex!important;gap:0!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal.tv-public-page .tv-guide-tabs a{padding:12px 15px!important;border:0!important;border-right:1px solid var(--news-line)!important;border-bottom:3px solid transparent!important}
.vendee-portal.tv-public-page .tv-guide-tabs a.active,.vendee-portal.tv-public-page .tv-guide-tabs a:hover{border-bottom-color:var(--news-red)!important;color:var(--news-red)!important}
.vendee-portal.tv-public-page .tv-guide-date-picker{padding:14px!important;border:1px solid var(--news-line)!important;background:var(--news-soft)!important}
.vendee-portal.tv-public-page .tv-guide-list{border-top:2px solid var(--news-ink)!important}
.vendee-portal.tv-public-page .tv-guide-row{border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.tv-public-page .tv-guide-row:hover{background:var(--news-soft)!important}
.vendee-portal.tv-public-page .tv-guide-channel-mark{background:var(--news-soft)!important;color:var(--news-ink)!important}
.vendee-portal.tv-public-page :is(.tv-guide-live-badge,.tv-guide-upcoming-badge){background:var(--news-red)!important;color:#fff!important}
.vendee-portal.tv-public-page .tv-guide-next-badge{background:var(--news-soft)!important;color:var(--news-blue)!important}
.vendee-portal.tv-public-page .tv-guide-progress{background:var(--news-line)!important}
.vendee-portal.tv-public-page .tv-guide-progress>span{background:var(--news-red)!important}

/* ============================================================
   AVIS DE DÉCÈS — sobriété et lignes fines
   ============================================================ */
.vendee-portal.deaths-public-page .death-page-head{padding:0 0 20px!important}
.vendee-portal.deaths-public-page .death-search{padding:14px!important;background:var(--news-soft)!important}
.vendee-portal.deaths-public-page .death-grid{gap:0!important;border-top:2px solid var(--news-ink)!important}
.vendee-portal.deaths-public-page .death-card{border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.deaths-public-page .death-card:hover{background:var(--news-soft)!important}
.vendee-portal.deaths-public-page .death-type{background:var(--news-soft)!important;color:var(--news-red)!important}
.vendee-portal.deaths-public-page :is(.death-explainer,.death-source-note,.death-registry-info,.death-ceremony-box){border-color:var(--news-line)!important;background:var(--news-soft)!important}
.vendee-portal.deaths-public-page .death-detail-head{border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.deaths-public-page .death-info-section{border-bottom:1px solid var(--news-line)!important}

/* ============================================================
   COMMUNES — suppression des restes bleu-gris / orange historiques
   ============================================================ */
.vendee-portal.territories-public-page .territory-directory-hero{padding:0 0 20px!important}
.vendee-portal.territories-public-page .territory-directory-toolbar{padding:14px!important;border:1px solid var(--news-line)!important;background:var(--news-soft)!important}
.vendee-portal.territories-public-page .territory-list{gap:0!important;border-top:2px solid var(--news-ink)!important}
.vendee-portal.territories-public-page .territory-row{padding:17px 0!important;border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.territories-public-page .territory-row:hover{transform:none!important;background:var(--news-soft)!important}
.vendee-portal.territories-public-page .territory-row-main h2,.vendee-portal.territories-public-page .territory-row-meta strong{color:var(--news-ink)!important}
.vendee-portal.territories-public-page .territory-row-cta{color:var(--news-blue)!important}

/* Fiche commune */
.vendee-portal.territories-public-page.territory-detail-page .territory-detail-hero{overflow:hidden!important;border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.territories-public-page.territory-detail-page .territory-detail-hero-copy{background:#fff!important;color:var(--news-ink)!important}
.vendee-portal.territories-public-page.territory-detail-page .territory-detail-hero-copy h1{color:var(--news-ink)!important}
.vendee-portal.territories-public-page.territory-detail-page .territory-detail-hero-overlay{background:linear-gradient(90deg,rgba(3,23,43,.9),rgba(3,23,43,.15))!important}
.vendee-portal.territories-public-page.territory-detail-page .territory-local-facts{gap:0!important;border:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.territories-public-page.territory-detail-page .territory-local-facts>div{border-color:var(--news-line)!important}
.vendee-portal.territories-public-page.territory-detail-page .territory-local-facts strong{color:var(--news-ink)!important}
.vendee-portal.territories-public-page.territory-detail-page .territory-section>header{padding:0 0 10px!important;border-bottom:2px solid var(--news-ink)!important}
.vendee-portal.territories-public-page.territory-detail-page :is(.territory-city-service-card,.territory-info-card,.territory-article-card,.territory-event-card,.territory-association-list>a){border-color:var(--news-line)!important;background:#fff!important}
.vendee-portal.territories-public-page.territory-detail-page .territory-card-icon{background:var(--news-soft)!important;color:var(--news-red)!important}
.vendee-portal.territories-public-page.territory-detail-page :is(.territory-city-service-card small,.territory-article-copy>span,.territory-event-category){color:var(--news-blue)!important}
.vendee-portal.territories-public-page.territory-detail-page :is(.territory-city-service-card h3,.territory-article-copy h3){color:var(--news-ink)!important}

/* ============================================================
   EMPLOI — nouvelle DA jusque dans le détail d'offre
   ============================================================ */
.vendee-portal:is(.employment-hub-page,.jobs-public-page) .employment-nav{
  display:flex!important;gap:0!important;overflow-x:auto!important;border-bottom:1px solid var(--news-line)!important
}
.vendee-portal:is(.employment-hub-page,.jobs-public-page) .employment-nav a{
  padding:12px 14px!important;border:0!important;border-right:1px solid var(--news-line)!important;border-bottom:3px solid transparent!important;background:#fff!important;color:var(--news-ink)!important
}
.vendee-portal:is(.employment-hub-page,.jobs-public-page) .employment-nav a.is-active,
.vendee-portal:is(.employment-hub-page,.jobs-public-page) .employment-nav a:hover{border-bottom-color:var(--news-red)!important;color:var(--news-red)!important}
.vendee-portal.employment-hub-page .employment-hero{padding:0 0 22px!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.employment-hub-page .employment-hero-number{border-left:1px solid var(--news-line)!important;background:#fff!important;color:var(--news-ink)!important}
.vendee-portal.employment-hub-page .employment-hero-number strong{color:var(--news-red)!important}
.vendee-portal.employment-hub-page .employment-stat-grid{gap:0!important;border:1px solid var(--news-line)!important}
.vendee-portal.employment-hub-page .employment-stat-grid>*{border:0!important;border-right:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.employment-hub-page :is(.employment-panel,.employment-directory-card,.employment-company-list>* ,.employment-offer-mini){border-color:var(--news-line)!important;background:#fff!important}
.vendee-portal.employment-hub-page .employment-ranking a,.vendee-portal.employment-hub-page .employment-offer-mini a{color:var(--news-blue)!important}
.vendee-portal.jobs-public-page .employment-page-head{padding:0 0 20px!important}
.vendee-portal.jobs-public-page .jobs-search-box{padding:14px!important;background:var(--news-soft)!important}
.vendee-portal.jobs-public-page .jobs-list{gap:0!important;border-top:2px solid var(--news-ink)!important}
.vendee-portal.jobs-public-page .job-card{border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.jobs-public-page .job-card:hover{background:var(--news-soft)!important}
.vendee-portal.jobs-public-page .job-partner-badge{background:var(--news-soft)!important;color:var(--news-red)!important}

/* Détail offre : retrait du panneau violet/bordeaux hérité. */
.vendee-portal.jobs-public-page .job-detail-page{color:var(--news-text)!important}
.vendee-portal.jobs-public-page .job-detail-hero{padding:0 0 26px!important;border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.jobs-public-page .job-detail-title h1{color:var(--news-ink)!important;font-size:clamp(36px,4vw,52px)!important}
.vendee-portal.jobs-public-page .job-detail-company{color:var(--news-muted)!important}
.vendee-portal.jobs-public-page .job-detail-cta{
  padding:22px!important;border:0!important;border-top:4px solid var(--news-red)!important;background:var(--news-navy)!important;color:#fff!important
}
.vendee-portal.jobs-public-page .job-detail-cta a{display:block!important;background:var(--news-red)!important;color:#fff!important}
.vendee-portal.jobs-public-page .job-detail-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:48px!important}
.vendee-portal.jobs-public-page :is(.job-description,.job-detail-info-box,.job-company-box,.job-unavailable-warning){border-color:var(--news-line)!important;background:#fff!important}
.vendee-portal.jobs-public-page .job-detail-section{border-bottom:1px solid var(--news-line)!important}

/* ============================================================
   SPORTS — page éditoriale et scorecards nettoyées
   ============================================================ */
.vendee-portal.sports-page .sports-hero{border:0!important;background:#fff!important}
.vendee-portal.sports-page .sports-hero__inner{
  display:grid!important;grid-template-columns:minmax(0,1fr) 190px!important;align-items:end!important;gap:36px!important;
  padding:0 0 20px!important;border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important
}
.vendee-portal.sports-page .sports-hero__copy{min-width:0!important}
.vendee-portal.sports-page .sports-hero__copy h1{font-size:clamp(38px,4.2vw,52px)!important}
.vendee-portal.sports-page .sports-hero__badge{
  min-width:0!important;padding:0 0 2px 28px!important;border:0!important;border-left:1px solid var(--news-line)!important;background:#fff!important;align-items:flex-end!important
}
.vendee-portal.sports-page .sports-hero__badge span{color:var(--news-red)!important;font-size:38px!important}
.vendee-portal.sports-page .sports-public-stats{margin-top:18px!important;border:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.sports-page .sports-public-stats>div{padding:15px 18px!important;border-right:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.sports-page .sports-public-stats strong{color:var(--news-ink)!important;font-size:27px!important}
.vendee-portal.sports-page .sports-block{margin-top:34px!important}
.vendee-portal.sports-page .sports-section-head{padding:0 0 10px!important;border-bottom:2px solid var(--news-ink)!important}
.vendee-portal.sports-page .sports-section-head h2{font-size:25px!important}
.vendee-portal.sports-page .sport-cards{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;border-top:1px solid var(--news-line)!important;border-bottom:1px solid var(--news-line)!important
}
.vendee-portal.sports-page .sport-card{
  grid-template-columns:34px minmax(0,1fr) auto!important;gap:10px!important;padding:14px 12px!important;
  border:0!important;border-right:1px solid var(--news-line)!important;background:#fff!important
}
.vendee-portal.sports-page .sport-card:last-child{border-right:0!important}
.vendee-portal.sports-page .sport-card:hover{transform:none!important;background:var(--news-soft)!important}
.vendee-portal.sports-page .sport-card-icon{width:30px!important;height:30px!important;background:#fff!important;font-size:19px!important}
.vendee-portal.sports-page .sport-card-arrow{color:var(--news-blue)!important}
.vendee-portal.sports-page .sports-filters{margin-top:20px!important;padding:14px!important;background:var(--news-soft)!important}
.vendee-portal.sports-page .fixture-card{border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.sports-page .fixture-card--featured{border-top:3px solid var(--news-red)!important}
.vendee-portal.sports-page .fixture-card__meta{background:var(--news-soft)!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal.sports-page .fixture-sport{background:#fff!important;color:var(--news-red)!important}
.vendee-portal.sports-page .fixture-logo{border:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.sports-page .match-day{padding:10px 0!important;border-bottom:2px solid var(--news-ink)!important;background:#fff!important}
.vendee-portal.sports-page .results-grid{gap:0!important}
.vendee-portal.sports-page :is(.competition-card,.club-card,.team-card){border:0!important;border-bottom:1px solid var(--news-line)!important;background:#fff!important}
.vendee-portal.sports-page .team-card__index{background:var(--news-soft)!important;color:var(--news-red)!important}
.vendee-portal.sports-page .sports-anchor-nav{display:flex!important;gap:0!important;border-bottom:1px solid var(--news-line)!important}
.vendee-portal.sports-page .sports-anchor-nav a{padding:12px 14px!important;border:0!important;border-right:1px solid var(--news-line)!important;border-bottom:3px solid transparent!important}
.vendee-portal.sports-page .sports-anchor-nav a:hover{border-bottom-color:var(--news-red)!important;color:var(--news-red)!important}
.vendee-portal.sports-page .sports-back{padding:9px 12px!important;border:1px solid var(--news-line)!important;background:#fff!important;color:var(--news-blue)!important}
.vendee-portal.sports-page .sports-empty{border:1px solid var(--news-line)!important;background:var(--news-soft)!important}

/* ============================================================
   Responsive commun
   ============================================================ */
@media(max-width:1000px){
  .vendee-portal.markets-page .markets-grid{grid-template-columns:1fr!important}
  .vendee-portal.heritage-public-page .heritage-index-hero{grid-template-columns:1fr!important;gap:22px!important}
  .vendee-portal.heritage-public-page .heritage-index-stats{max-width:620px!important}
  .vendee-portal.sports-page .sports-hero__inner{grid-template-columns:1fr!important;gap:18px!important}
  .vendee-portal.sports-page .sports-hero__badge{padding:12px 0 0!important;border-left:0!important;border-top:1px solid var(--news-line)!important;align-items:flex-start!important}
  .vendee-portal.sports-page .sport-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vendee-portal.sports-page .sport-card:nth-child(2){border-right:0!important}
  .vendee-portal.campings-page .camping-directory-layout{grid-template-columns:1fr!important}
  .vendee-portal.campings-page .camping-filter-panel{position:static!important}
  .vendee-portal.jobs-public-page .job-detail-layout{grid-template-columns:1fr!important;gap:28px!important}
}

@media(max-width:720px){
  .vendee-portal.agenda-public-page .agenda-hero{display:block!important}
  .vendee-portal.agenda-public-page .agenda-filters{grid-template-columns:1fr!important}
  .vendee-portal.agenda-public-page .agenda-day-heading{grid-template-columns:62px minmax(0,1fr)!important}
  .vendee-portal.agenda-public-page .agenda-day-count{display:none!important}
  .vendee-portal.agenda-public-page .agenda-compact-link{grid-template-columns:66px minmax(0,1fr) 24px!important;padding:0!important}
  .vendee-portal.agenda-public-page .agenda-compact-main{padding:13px 12px!important}
  .vendee-portal.heritage-public-page .heritage-explore-nav{grid-template-columns:1fr!important}
  .vendee-portal.heritage-public-page .heritage-explore-nav a{border-right:0!important;border-bottom:1px solid var(--news-line)!important}
  .vendee-portal.campings-page .camping-result-card{grid-template-columns:118px minmax(0,1fr)!important;min-height:130px!important}
  .vendee-portal.campings-page .camping-result-photo{min-height:130px!important}
  .vendee-portal.campings-page .camping-result-description,.vendee-portal.campings-page .camping-result-chips{display:none!important}
  .vendee-portal.camping-detail-page .camping-detail-tabs a{padding:12px 10px!important}
  .vendee-portal.sports-page .sport-cards{grid-template-columns:1fr!important}
  .vendee-portal.sports-page .sport-card{border-right:0!important;border-bottom:1px solid var(--news-line)!important}
  .vendee-portal.sports-page .sports-public-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ============================================================
   V2.5.31 — MARCHÉS : correction du flux masonry et des débordements
   ============================================================ */
.vendee-portal.markets-page .markets-hero{
  border-left:0!important;
  background:#fff!important;
}
.vendee-portal.markets-page .markets-quick a{
  background:transparent!important;
  color:var(--news-ink)!important;
  border-radius:0!important;
}
.vendee-portal.markets-page .markets-quick a.is-active,
.vendee-portal.markets-page .markets-quick a:hover,
.vendee-portal.markets-page .markets-quick a:focus-visible{
  background:transparent!important;
  color:var(--news-red)!important;
}
.vendee-portal.markets-page .markets-filter{
  border:1px solid var(--news-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.vendee-portal.markets-page .markets-filter :is(select,button,.btn){
  border-radius:0!important;
}
.vendee-portal.markets-page .markets-filter button,
.vendee-portal.markets-page .markets-filter .btn{
  background:var(--news-navy)!important;
  border-color:var(--news-navy)!important;
  color:#fff!important;
}
.vendee-portal.markets-page .markets-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:8px!important;
  grid-auto-flow:row dense!important;
  column-gap:32px!important;
  row-gap:0!important;
  border-top:0!important;
  align-items:start!important;
}
.vendee-portal.markets-page .market-card{
  position:relative!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-top:3px solid var(--news-red)!important;
  border-bottom:1px solid var(--news-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.vendee-portal.markets-page .market-card::before,
.vendee-portal.markets-page .market-card::after{
  content:none!important;
  display:none!important;
}
.vendee-portal.markets-page .market-card-headline{
  padding:17px 2px 13px!important;
  border:0!important;
}
.vendee-portal.markets-page .market-card-body{
  min-width:0!important;
  padding:0 2px 20px!important;
  overflow:visible!important;
}
.vendee-portal.markets-page .market-card-meta,
.vendee-portal.markets-page .market-card h3,
.vendee-portal.markets-page .market-card-body,
.vendee-portal.markets-page .market-schedule,
.vendee-portal.markets-page .market-place,
.vendee-portal.markets-page .market-description,
.vendee-portal.markets-page .market-links,
.vendee-portal.markets-page .market-source-note{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.vendee-portal.markets-page .market-card h3,
.vendee-portal.markets-page .market-description,
.vendee-portal.markets-page .market-place,
.vendee-portal.markets-page .market-links a,
.vendee-portal.markets-page .market-source-note,
.vendee-portal.markets-page .market-schedule strong{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.vendee-portal.markets-page .market-schedules{
  margin:0 0 11px!important;
  border-top:1px solid var(--news-line)!important;
}
.vendee-portal.markets-page .market-schedule{
  padding:9px 2px!important;
  background:#fff!important;
  border-radius:0!important;
}
.vendee-portal.markets-page .market-description{
  -webkit-line-clamp:4!important;
}
.vendee-portal.markets-page .markets-empty{
  grid-column:1/-1!important;
  grid-row:auto!important;
  padding:28px!important;
  border:1px solid var(--news-line)!important;
  background:var(--news-soft)!important;
}
@media(max-width:760px){
  .vendee-portal.markets-page .markets-grid{
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
  }
  .vendee-portal.markets-page .market-card{
    grid-row:auto!important;
    margin-bottom:22px!important;
  }
}

/* V2.5.33 : la signature des titres est isolée dans page-headings.css,
   chargé en dernier pour éviter tout conflit avec les modules. */

/* ============================================================
   V2.5.34 — Correctif météo : le panneau "En ce moment" reste
   un bloc d'information sombre. Une règle V2.5.30 avait forcé
   son fond en blanc tout en conservant les textes clairs.
   ============================================================ */
.vendee-portal.weather-public-page .meteo-pro-hero{
  border:0!important;
  background:transparent!important;
}
.vendee-portal.weather-public-page .meteo-pro-current{
  overflow:hidden!important;
  border:0!important;
  border-top:3px solid var(--news-red)!important;
  border-radius:0!important;
  background:var(--news-navy)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.vendee-portal.weather-public-page .meteo-pro-current-top{
  background:var(--news-navy)!important;
}
.vendee-portal.weather-public-page .meteo-pro-current :is(.meteo-pro-section-label,.meteo-pro-location,.meteo-pro-current-temp>strong,.meteo-pro-current-temp sup,.meteo-pro-current-condition h2,.meteo-pro-current-summary strong){
  color:#fff!important;
}
.vendee-portal.weather-public-page .meteo-pro-current :is(.meteo-pro-reference-note,.meteo-pro-current-temp>span,.meteo-pro-current-condition p,.meteo-pro-current-summary span){
  color:#C9D5E1!important;
}
.vendee-portal.weather-public-page .meteo-pro-current-condition{
  border-left:1px solid rgba(255,255,255,.20)!important;
}
.vendee-portal.weather-public-page .meteo-pro-current-summary{
  border-top:1px solid rgba(255,255,255,.18)!important;
  background:#0A2946!important;
}
.vendee-portal.weather-public-page .meteo-pro-current-summary>div{
  border-right:1px solid rgba(255,255,255,.14)!important;
  background:transparent!important;
}
.vendee-portal.weather-public-page .meteo-pro-model-badge{
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
}
.vendee-portal.weather-public-page .meteo-pro-current .meteo-icon .cloud-fill{fill:#F4F8FB!important;stroke:#C3D2DF!important}
.vendee-portal.weather-public-page .meteo-pro-current .meteo-icon .rain-strokes path,
.vendee-portal.weather-public-page .meteo-pro-current .meteo-icon .snow-strokes path,
.vendee-portal.weather-public-page .meteo-pro-current .meteo-icon .fog-strokes path{stroke:#DCE7F2!important}
.vendee-portal.weather-public-page .meteo-pro-today,
.vendee-portal.weather-public-page .meteo-pro-hourly-panel,
.vendee-portal.weather-public-page .meteo-department-overview,
.vendee-portal.weather-public-page .meteo-pro-week,
.vendee-portal.weather-public-page .meteo-pro-alert,
.vendee-portal.weather-public-page .meteo-pro-unavailable{
  border-radius:0!important;
  box-shadow:none!important;
}
