/* TéléPonts – UI overrides (scoped & minimal)
   Goal: keep the template look, but improve usability + add brand touches.
*/

:root{
  --tp-accent:#054971;   /* TéléPonts blue */
  --tp-accent-2:#0A6DA8; /* lighter blue */
  --tp-paper:#F4FAFF;
  --tp-ink:#071018;
  --tp-header-drift: 0px; /* updated by teleponts-enhancements.js */
}

/* -----------------------------
   Header / menu (bigger + clearer)
   + slightly “descends” while scrolling
------------------------------ */
header{
  position:fixed !important;
  top:18px !important;
  left:50% !important;
  transform: translate(-50%, var(--tp-header-drift)) !important;
  z-index:1000 !important;
  width:100% !important;
  pointer-events:none; /* allow underlying click except menu */
}
header .menu-container{
  pointer-events:auto;
  max-width: 820px !important;
  padding: 6px !important;
  border-radius: 10px !important;
  background: rgba(15,15,15,.48) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.28);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

/* Make it feel more “button-like” */
header .menu-nav-block ul{
  gap: 14px !important;
  font-size: 15px !important;
  line-height: 16px !important;
}

header .home-menu-item,
header .menu-nav-block ul li a{
  height: 40px !important;
  padding: 12px 12px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  line-height: 12px !important;
  letter-spacing: .04em !important;
  color: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.03) !important;
  transition: transform .25s cubic-bezier(.16,1,.3,1), background .25s ease, border-color .25s ease, opacity .25s ease;
}
header .home-menu-item:hover,
header .menu-nav-block ul li a:hover{
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.18) !important;
  transform: translateY(-1px);
  opacity: 1 !important;
}

/* Slight blue accent for the last CTA (Contact) if it exists */
header .menu-nav-block ul li:last-child a,
header .menu-nav-block ul li:last-child .home-menu-item{
  border-color: rgba(10,109,168,.55) !important;
  background: linear-gradient(135deg, rgba(10,109,168,.22), rgba(5,73,113,.10)) !important;
}

/* Search icon spacing */
header .menu-search-icon{height:40px !important; width:44px !important; margin-left:12px !important;}

@media (max-width: 768px){
  header{top:12px !important;}
  header .menu-container{max-width: 94vw !important;}
  header .menu-nav-block ul{gap: 8px !important; font-size: 14px !important;}
  header .home-menu-item,
  header .menu-nav-block ul li a{height: 38px !important; padding: 11px 10px !important; font-size: 13px !important; border-radius: 8px !important;}
}

/* -----------------------------
   Home banner: add logo
------------------------------ */
#home-banner{position:relative;}
#home-banner .tp-home-logo{
  position:absolute;
  left:42px;
  top:32px;
  z-index:4;
  width:170px;
  max-width:42vw;
  pointer-events:auto;
}
#home-banner .tp-home-logo a{display:block;}
#home-banner .tp-home-logo img{
  width:100%;
  height:auto;
  display:block;
  opacity:.98;
  filter: drop-shadow(0 22px 55px rgba(0,0,0,.22));
}
@media (max-width: 768px){
  #home-banner .tp-home-logo{left:18px; top:18px; width:140px;}
}

/* -----------------------------
   Home banner: keep the original static hero
   (runner cut-out layer disabled)
------------------------------ */
#home-banner{overflow:hidden;}

/* -----------------------------
   Inspiring stories: usability redesign
   (bigger text + clearer interactions)
   + keep the contrast / parallax feel
------------------------------ */
#InspiringStories-section{overflow:hidden;}
#InspiringStories-section .ins-title{
  font-size:14px !important;
  line-height:18px !important;
  letter-spacing:.14em !important;
  opacity:.85;
}

#InspiringStories-section .InspiringStoriesText-block:before,
#InspiringStories-section:before{display:none !important;}

#InspiringStories-section .InspiringStoriesText-block{
  position:relative;
  z-index: 12;
}
#InspiringStories-section .InspiringStoriesText-block h3{
  font-size:22px !important;
  line-height:32px !important;
  margin-bottom:16px !important;
}
#InspiringStories-section .InspiringStoriesText-block p,
#InspiringStories-section .InspiringStoriesText-block p b{
  font-size:18px !important;
  line-height:28px !important;
}
#InspiringStories-section .InspiringStoriesText-block p{color: rgba(25,25,25,.78) !important;}
#InspiringStories-section .InspiringStoriesText-block p b{color: var(--tp-ink) !important;}

/* Tabs become obvious clickable cards */
#InspiringStories-section .ins-story-tablist{
  position:relative;
  z-index: 12;
  max-width: 560px;
  margin-left:auto;
}
#InspiringStories-section .ins-story-tablist .react-tabs__tab{
  padding:18px 16px !important;
  border-radius:10px !important;
  border:1px solid rgba(0,0,0,.14) !important;
  background: rgba(255,255,255,.72) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition:
    transform .35s cubic-bezier(.16,1,.3,1),
    border-color .35s ease,
    background .35s ease,
    box-shadow .35s ease;
  margin:0 0 14px 0;
}
#InspiringStories-section .ins-story-tablist .react-tabs__tab:hover{
  transform: translateY(-2px);
  border-color: rgba(0,0,0,.24) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.08);
}
#InspiringStories-section .ins-story-tablist .react-tabs__tab--selected{
  background: rgba(5,73,113,.92) !important;
  border-color: rgba(5,73,113,.55) !important;
  color:#fff !important;
  box-shadow: 0 22px 55px rgba(5,73,113,.22);
}

/* Always show helper text (was hidden when not selected) */
#InspiringStories-section .ins-story-tablist-item{
  justify-content:flex-start !important;
  gap:14px !important;
}
#InspiringStories-section .ins-story-tablist-item hr{
  opacity:1 !important;
  visibility:visible !important;
  width:22px !important;
  height:1px !important;
  border:0 !important;
  background: currentColor !important;
}
#InspiringStories-section .ins-story-tablist-item-text{
  opacity:1 !important;
  visibility:visible !important;
  display:block !important;
  max-width:320px !important;
  font-size:16px !important;
  line-height:22px !important;
  color:inherit !important;
}
#InspiringStories-section .ins-story-tablist-item-icon img{
  width:58px !important;
  height:58px !important;
}

/* Central image + parallax hook (style DCD) */
#InspiringStories-section .InspiringStoriesImg{
  z-index: 5 !important;
  /* Keep the original centering transform from the template and
     add our parallax offset on top (otherwise the contrast layout breaks). */
  transform: translate(-50%, -5%) translateY(var(--tp-parallax, 0px)) !important;
}

#InspiringStories-section .InspiringStoriesImg img{
  filter: drop-shadow(0 28px 55px rgba(0,0,0,.35)) !important;
  clip-path: none !important;
  border-radius: 0 !important;
}

/* Remove duplicate top word (ENPC appears twice in the template) */
#InspiringStories-section .InspiringStoriesImg-block-text-top{display:none !important;}

/* Big typography + contrast when the image moves */
#InspiringStories-section .InspiringStoriesImg-block.text-stories-center{
  z-index: 10 !important;
  pointer-events: none;
}

#InspiringStories-section .InspiringStoriesImg-block.text-stories-center span{
  color: rgba(248, 248, 246, 0.92) !important;
  mix-blend-mode: exclusion !important;
  -webkit-text-stroke: 0 !important;
  opacity: 0.9;
}


@media (max-width: 992px){
  /* On small screens, avoid absolute center image (layout differs) */
  #InspiringStories-section .InspiringStoriesImg{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    margin: 24px auto 0;
  }
  #InspiringStories-section .InspiringStoriesImg img{max-width: 92vw !important;}
  #InspiringStories-section .InspiringStoriesText-block h3{font-size:20px !important; line-height:30px !important;}
  #InspiringStories-section .InspiringStoriesText-block p,
  #InspiringStories-section .InspiringStoriesText-block p b{font-size:16px !important; line-height:26px !important;}

  /* keep big typography from covering everything on mobile */
  #InspiringStories-section .InspiringStoriesImg-block{display:none !important;}
}

/* Photo credits (required for CC BY-SA images from Wikimedia Commons) */
.tp-photo-credits{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.12);
  font-size: 12px;
  line-height: 1.35;
  opacity: 0.78;
}

/* ---- Countdown: display a single friendly line inside the existing .count-timer ---- */
.count-timer.tp-countdown{
  /* Keep layout consistent */
  display: flex;
  align-items: center;
  justify-content: center;

  /* Hide whatever React renders (e.g. "66D14H…") */
  font-size: 0 !important;
  line-height: 0 !important;
}
.count-timer.tp-countdown > *{
  display:none !important;
}
.count-timer.tp-countdown::before{
  content: attr(data-tp-count);
  display:block;
  white-space:nowrap;
  font-size:14px;
  line-height:18px;
}
/* ---- Infos pratiques popup ---- */
html.tp-modal-open,
html.tp-modal-open body{
  overflow: hidden !important;
}

.tp-modal{
  position: fixed;
  inset: 0;
  z-index: 99999;
}
.tp-modal.hidden{
  display: none;
}
.tp-modal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.72);
  backdrop-filter: blur(10px);
}
.tp-modal-card{
  position: relative;
  z-index: 2;
  width: min(920px, calc(100vw - 28px));
  margin: 70px auto;
  background: rgba(12, 18, 26, 0.92);
  color: rgba(255,255,255,0.88);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 18px;
  padding: 26px 26px 22px;
  box-shadow: 0 30px 90px rgba(0,0,0,0.55);
}
.tp-modal-close{
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.95);
  font-size: 24px;
  line-height: 38px;
  cursor: pointer;
}
.tp-modal-close:hover{
  background: rgba(255,255,255,0.12);
}
.tp-modal-title{
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 6px;
  color: rgba(255,255,255,0.98);
}
.tp-modal-sub{
  margin: 0 0 18px;
  opacity: 0.82;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255,255,255,0.82);
}
.tp-modal-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.tp-modal-block{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  padding: 14px 14px 12px;
}
.tp-modal-block h4{
  margin: 0 0 8px;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.86;
  color: rgba(255,255,255,0.86);
}
.tp-modal-block p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  opacity: 0.92;
  color: rgba(255,255,255,0.92);
}
.tp-modal-block-wide{
  grid-column: 1 / -1;
}
.tp-modal-meta{
  margin-top: 10px !important;
  opacity: 0.78 !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.78) !important;
}
.tp-modal-meta a{
  color: rgba(0, 185, 255, 0.92);
  text-decoration: none;
}
.tp-modal-meta a:hover{
  text-decoration: underline;
}

.tp-modal-card p,
.tp-modal-card li{
  color: inherit;
}
.tp-modal-btn{
  margin-top: 12px;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0, 185, 255, 0.18);
  color: rgba(255,255,255,0.96);
  cursor: pointer;
  font-weight: 600;
}
.tp-modal-btn:hover{
  background: rgba(0, 185, 255, 0.24);
}


/* Modal actions (plan + map buttons) */
.tp-modal-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.tp-modal-btn--ghost{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.92);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.tp-modal-btn--ghost:hover{
  background: rgba(255,255,255,0.10);
}

/* Plan overlay */
.tp-plan-overlay{
  position: absolute;
  inset: 0;
  z-index: 3;
}
.tp-plan-overlay.hidden{
  display: none;
}
.tp-plan-card{
  position: relative;
  z-index: 4;
  width: min(1200px, calc(100vw - 28px));
  margin: 40px auto;
  background: rgba(12, 18, 26, 0.96);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 18px;
  padding: 18px;
}
.tp-plan-img{
  width: 100%;
  height: auto;
  max-height: calc(100vh - 140px);
  object-fit: contain;
  border-radius: 12px;
}

/* Infos pratiques (Rewinds slider) */
#InfosPratiques-section{
  width: 100vw;
  height: 100vh;
}

.Rewinds-slider .video-slide{
  position: relative;
}

.Rewinds-slider .rewinds-text-btm-block{
  position: absolute;
  left: 50%;
  /* Push the CTA lower so it never overlaps the title */
  bottom: 9%;
  transform: translateX(-50%);
  width: auto;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
  pointer-events: none; /* keep slider usable; button itself will re-enable */

  /* Remove the big dark “card” from the template:
     we only keep a single CTA button now */
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.Rewinds-slider .rewinds-text-btm-block:before{
  display:none !important;
}

.Rewinds-slider .rewinds-text-btm-block h4{
  /* Hide the “Plan du campus” title: the CTA button opens the full modal */
  display: none !important;
}

/* Make the Infos Pratiques title readable on busy imagery */
#InfosPratiques-section .rewinds-text{
  padding: 18px 26px;
  border-radius: 18px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
#InfosPratiques-section .rewinds-text h2{
  text-shadow: 0 18px 44px rgba(0,0,0,0.65);
}
#InfosPratiques-section .rewinds-text-btm-block h4{
  text-shadow: 0 12px 28px rgba(0,0,0,0.55);
}


/* Center + restyle the CTA button (opens the practical info modal) */
.Rewinds-slider .tp-practical-trigger{
  pointer-events: auto;
  margin-left: auto !important;
  margin-right: auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border: 1px solid rgba(255,255,255,0.24);
  background: rgba(17, 17, 17, 0.35);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: 999px;
  color: rgba(255,255,255,0.92) !important;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  width: auto !important;
  box-shadow: none !important;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

/* Kill any legacy pseudo-elements that draw a rectangular plate behind the pill button */
.Rewinds-slider .tp-practical-trigger:before,
.Rewinds-slider .tp-practical-trigger:after{
  content: none !important;
  display: none !important;
}

.Rewinds-slider .tp-practical-trigger:hover{
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.36);
  transform: translateY(-1px);
}

@media (max-width: 720px){
  .tp-modal-card{ margin: 50px auto; padding: 20px 18px 16px; }
  .tp-modal-grid{ grid-template-columns: 1fr; }
}



/* -----------------------------
   Programme
   - More air between the title row and the event cards
------------------------------ */
#Events-section .container > .flex{
  margin-bottom: 48px !important;
}
@media (max-width: 768px){
  #Events-section .container > .flex{ margin-bottom: 32px !important; }
}

/* -----------------------------
   Sports & Ateliers
   - Slightly smaller title
   - Remove the “(03)” counter next to “Sport”
   - Improve list readability
------------------------------ */
#divisions-section .section-title h2{
  font-size: clamp(62px, 6vw, 102px) !important;
  line-height: 1.02 !important;
}
#divisions-section .divisions-tab-list sup{
  display:none !important;
}
#divisions-section .divisions-content-block p{
  font-size: 16px !important;
  line-height: 1.65 !important;
}
#divisions-section .tp-feature-lines{
  display:block;
  margin-top: 10px;
}
#divisions-section .tp-feature-lines strong{
  font-weight: 600;
}

/* -----------------------------
   Remove InspiringStories
------------------------------ */
#InspiringStories-section{
  display:none !important;
}

/* ------------------------------
   Awards section (Chiffres clés)
   - The section is moved just under the hero via JS
     (see teleponts-enhancements.js → moveAwardsSection)
   - Make the section more compact
   - Give more room to the right column (infos)
   - Remove the redundant "featured" card on the right
   - Make the info list typography larger
------------------------------ */

#awards-section{
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

@media (max-width: 768px){
  #awards-section{margin-top:0px !important;margin-bottom:0px !important;}
}


/* Make left column narrower and right column wider on desktop */
@media (min-width: 768px){
  #awards-section > div > div:first-child{
    flex:0 0 44% !important;
    max-width:44% !important;
  }
  #awards-section > div > div:nth-child(2){
    flex:0 0 56% !important;
    max-width:56% !important;
  }
}

/* Reduce section visual height by constraining the image block */
#awards-section .awards-image-block{
  border-radius:10px;
  overflow:hidden;
  max-height:560px;
}

/* Title overlay: slightly tighter so it doesn't dominate */
#awards-section .section-title{left:22px !important;bottom:18px !important;}
#awards-section .section-title p{max-width:220px;}

/* Remove the redundant top "featured" card ("Chiffres clés" + first item) */
#awards-section .awards-right-content-block-top{display:none !important;}

/* When the top block is removed, make the right column flow naturally */
#awards-section .awards-right-content-block{
  justify-content:flex-start !important;
  gap:22px !important;
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove the (not useful) icon-partner.svg on the left of each item */
#awards-section .awards-item-icon{display:none !important;}

/* Remove icon-partner.svg in this section */
#awards-section img[src*='icon-partner.svg']{display:none !important;}

/* Recent award list: infinite wheel feel (fade at top + seamless loop) */
#awards-section .recent-award-list-block{
  position:relative;
  overflow:hidden;
  margin-top: 0 !important;
  height: clamp(420px, 52vh, 640px);
  max-height: none !important;
  padding-top: 4px !important;
  padding-bottom: 6px !important;

  /* Fade-out (text gradually disappears when reaching the top) */
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.15) 10%, rgba(0,0,0,0.55) 26%, rgba(0,0,0,1) 48%, rgba(0,0,0,1) 100%);
          mask-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.15) 10%, rgba(0,0,0,0.55) 26%, rgba(0,0,0,1) 48%, rgba(0,0,0,1) 100%);
}
#awards-section .recent-award-list-block:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height: 140px;
  pointer-events:none;
  z-index:4;
  /* Fallback fade for browsers without mask-image support */
  background: linear-gradient(to bottom, rgba(12,12,12,0.65) 0%, rgba(12,12,12,0.0) 100%);
}

/* New wheel DOM (CSS marquee — CodePen-like) */
#awards-section .tp-awards-wheel-track{
  display:flex;
  flex-direction:column;
  will-change:transform;
  transform: translate3d(0,0,0);
  animation: none !important;
}

@media (prefers-reduced-motion: reduce){
  /* Keep the wheel transform controlled by JS (do not override inline transforms). */
  #awards-section .tp-awards-wheel-track{ animation:none !important; }
}

#awards-section .tp-awards-wheel-set{
  display:flex;
  flex-direction:column;
}

/* Improve readability of the info list */
#awards-section .recent-award-list-block-item{margin-bottom:72px !important;}
#awards-section .recent-award-list-block-item h3{font-size:19px !important;line-height:22px !important;font-weight:500 !important;}
#awards-section .recent-award-list-block-item p{font-size:16px !important;line-height:21px !important;color:rgba(255,255,255,0.72) !important;}
#awards-section .recent-award-list-block-item h4{font-size:13px !important;letter-spacing:0.08em !important;opacity:0.9;}

/* CTA spacing */
#awards-section a.btn-02{margin-top:10px !important;}

/* -----------------------------
   Réseaux (mosaic board)
   - Rebuilt by JS into .tp-social-board / .tp-social-grid
------------------------------ */

#social-section{ margin-bottom: 150px !important; }

#social-section .tp-social-board{
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 18px;
  border-radius: 28px;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 28px 70px rgba(0,0,0,0.08);
}

#social-section .tp-social-grid{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: 190px 220px 280px;
  gap: 18px;
  grid-template-areas:
    "t1 t1 t2 t5 t5"
    "t3 t4 t4 t5 t5"
    "t3 t6 t7 t5 t5";
}

#social-section .tp-social-card{ position: relative; display:block; width:100%; height:100%; border-radius: 24px; overflow:hidden; }
#social-section .tp-social-card img{ width:100%; height:100%; object-fit: cover; transform: scale(1.02); transition: transform .9s cubic-bezier(.22,1,.36,1), filter .9s cubic-bezier(.22,1,.36,1); }
#social-section .tp-social-card:after{ content:""; position:absolute; inset:0; background: linear-gradient(to top, rgba(0,0,0,0.48) 0%, rgba(0,0,0,0.0) 54%); opacity: .95; }

#social-section .tp-social-card:hover img{ transform: scale(1.06); filter: saturate(1.06) contrast(1.04); }

#social-section .tp-social-label{
  position:absolute;
  left: 16px;
  bottom: 14px;
  z-index: 2;
  color: rgba(255,255,255,0.98);
  font-family: Resonate, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: none;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  padding: 10px 12px;
  border-radius: 14px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#social-section .tp-social-card--big .tp-social-label{ font-size: 15px; padding: 12px 14px; }

/* Grid placement */
#social-section .tp-social-card[data-area="t1"]{ grid-area: t1; }
#social-section .tp-social-card[data-area="t2"]{ grid-area: t2; }
#social-section .tp-social-card[data-area="t3"]{ grid-area: t3; }
#social-section .tp-social-card[data-area="t4"]{ grid-area: t4; }
#social-section .tp-social-card[data-area="t5"]{ grid-area: t5; }
#social-section .tp-social-card[data-area="t6"]{ grid-area: t6; }
#social-section .tp-social-card[data-area="t7"]{ grid-area: t7; }

/* Responsive */
@media (max-width: 1024px){
  #social-section .tp-social-board{ padding: 14px; border-radius: 22px; }
  #social-section .tp-social-grid{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: none;
    grid-template-areas: none;
    grid-auto-rows: 170px;
  }
  #social-section .tp-social-card{ grid-area: auto !important; }
  #social-section .tp-social-card--big{ grid-column: 1 / -1; min-height: 240px; }
}

/* Extra spacing before partners, and a small gap before footer */
#news-section{ margin-top: 140px !important; margin-bottom: 120px !important; }

/* Partners (single big Eiffage block) */
#news-section.tp-partner-single a.news-item{
  max-width: 1280px;
  margin-left: auto !important;
  margin-right: auto !important;
}

#news-section a.news-item.tp-partner-eiffage{
  min-height: 420px;
  border-radius: 26px;
  overflow: hidden;
}

#news-section a.news-item.tp-partner-eiffage h3{
  font-size: 24px !important;
  line-height: 28px !important;
}

#news-section a.news-item.tp-partner-eiffage h4{
  display: none !important;
}

#news-section a.news-item.tp-partner-eiffage img{
  object-fit: contain !important;
}

/* -----------------------------
   Remove sections we don't use
------------------------------ */

#JoinTheClub-section,
#joinclub-section,
#volunteer-banner,
#Subscribe-section,
#subscribe-section{
  display:none !important;
}

/* -----------------------------
   Footer cleanup
   - Remove footer-btm-block
   - Make the main footer block feel complete
------------------------------ */

footer .footer-btm-block{
  display:none !important;
}

/* Remove the big empty spacer inside the footer grid */
footer .pt-\[150px\]{
  display:none !important;
}

footer{
  padding-top: 80px;
  padding-bottom: 80px;
}

footer .footer-menu-block ul a{
  font-size: 14px !important;
  letter-spacing: 0.04em;
}

footer .footer-social-media{
  height: 54px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(25,25,25,0.72);
}

footer .footer-social-media h3{
  font-size: 13px !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.85;
}

footer .footer-social-media ul li a{
  opacity: 0.92;
  transition: opacity .2s ease, transform .2s ease;
}
footer .footer-social-media ul li a:hover{
  opacity: 1;
  transform: translateY(-1px);
}

/* -----------------------------
   Remove reCAPTCHA badge + accessibility widget
   (visual removal; JS also keeps them hidden)
------------------------------ */
.grecaptcha-badge,
iframe[src*="recaptcha"],
iframe[src*="google.com/recaptcha"],
iframe[src*="recaptcha.net"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* UserWay / accessibility widgets */
#userwayAccessibilityIcon,
.uwy,
.userway,
.userway_p1,
.userway_buttons_wrapper,
[class*="userway"],
[id*="userway"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}


/* =====================================================================
   Mobile — final polish
   Goals:
   - zero horizontal overflow
   - readable typography
   - tap targets (menu/buttons) comfortable
   - sections that were 100vh behave well with mobile browser UI
   ===================================================================== */

@media (max-width: 768px){
  html, body{ overflow-x:hidden !important; }
  body{ -webkit-text-size-adjust: 100%; }

  /* Safer container padding (many sections rely on .container) */
  .container{ padding-left: 18px !important; padding-right: 18px !important; }

  /* Avoid annoying horizontal scroll caused by 100vw + scrollbars */
  section, header, footer{ max-width: 100vw; }

  /* -----------------------------
     Header: keep it bigger BUT usable
     - show all items
     - horizontal scroll instead of wrapping/overflow
  ------------------------------ */
  header{ top: calc(10px + env(safe-area-inset-top)) !important; }
  header .menu-container{
    max-width: calc(100vw - 24px) !important;
    border-radius: 14px !important;
  }
  header .menu-nav-block{ width: 100% !important; }
  header .menu-nav-block ul{
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    padding: 0 4px !important;
    scroll-snap-type: x proximity;
    mask-image: linear-gradient(to right, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  }
  header .menu-nav-block ul::-webkit-scrollbar{ display:none; }
  header .menu-nav-block ul li{ flex: 0 0 auto !important; scroll-snap-align: start; }

  /* The template hides some items under 640px; we want all anchors accessible */
  header .menu-nav-block ul li:nth-child(3),
  header .menu-nav-block ul li:nth-child(4),
  header .menu-nav-block ul li:nth-child(5),
  header .menu-nav-block ul li:nth-child(6){
    display: list-item !important;
  }

  header .home-menu-item,
  header .menu-nav-block ul li a{
    height: 42px !important;
    padding: 12px 12px !important;
    font-size: 13px !important;
  }

  /* -----------------------------
     Global typography: avoid giant titles & tiny body on mobile
  ------------------------------ */
  .section-title h2{
    font-size: clamp(54px, 14vw, 78px) !important;
    line-height: 0.94 !important;
    letter-spacing: 1.2px !important;
  }

  /* Many Tailwind bits use text-nowrap which breaks mobile */
  .text-nowrap{ white-space: normal !important; }
  h1,h2,h3,h4,p,a,li{ overflow-wrap:anywhere; word-break: break-word; }

  /* -----------------------------
     Home banner
  ------------------------------ */
  #home-banner,
  .home-slider-video-block,
  .home-slider-video-block video,
  .slide-text{
    height: 100svh !important; /* better than 100vh on mobile */
  }
  .slide-text h1{
    left: 16px !important;
    right: 16px !important;
    max-width: calc(100% - 32px) !important;
    font-size: clamp(56px, 13vw, 82px) !important;
    line-height: 0.90 !important;
    letter-spacing: 1.6px !important;
  }
  .slide-text span{ font-size: inherit !important; line-height: inherit !important; }
  /* The template uses a pseudo overlay with white-space:nowrap; allow wrapping */
  .slide-text h1 .active-span-2:before{ white-space: normal !important; }

  button.slide-button{
    left: 16px !important;
    bottom: calc(22px + env(safe-area-inset-bottom)) !important;
    font-size: 15px !important;
  }
  .custom-nav-slider{ right: 16px !important; bottom: calc(22px + env(safe-area-inset-bottom)) !important; }

  /* -----------------------------
     Awards / chiffres clés
  ------------------------------ */
  #awards-section .awards-image-block{ max-height: 320px !important; }
  #awards-section .recent-award-list-block{ height: 320px !important; }
  #awards-section .recent-award-list-block-item{ margin-bottom: 52px !important; }
  #awards-section .recent-award-list-block-item h3{ font-size: 18px !important; line-height: 21px !important; }
  #awards-section .recent-award-list-block-item p{ font-size: 15px !important; line-height: 20px !important; }

  /* -----------------------------
     Programme
  ------------------------------ */
  #Events-section{ padding: 44px 0 16px !important; }
  #Events-section .container > .flex{ margin-bottom: 28px !important; }
  .event-block-item>img,
  .event-block-item img{ height: 320px !important; }
  .event-block-item-text{ padding: 20px 16px 18px !important; }
  .event-block-item h3{ font-size: 18px !important; min-height: auto !important; }
  .event-block-item p{ font-size: 14px !important; line-height: 1.55 !important; }

  /* Make primary buttons full-width on mobile */
  a.btn-01,
  a.btn-02,
  button.btn-01,
  button.btn-02{ max-width: 100% !important; }

  /* -----------------------------
     Sports & ateliers
  ------------------------------ */
  #divisions-section .section-title h2{
    font-size: clamp(52px, 13vw, 74px) !important;
    line-height: 0.96 !important;
  }
  #divisions-section .divisions-tab-list{
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px !important;
    gap: 18px !important;
  }
  #divisions-section .divisions-tab-list::-webkit-scrollbar{ display:none; }
  #divisions-section .divisions-tab-list li{ flex: 0 0 auto !important; }
  #divisions-section .divisions-content-block p{ font-size: 15px !important; line-height: 1.70 !important; }

  /* Some template image blocks use fixed pixel widths on mobile → overflow.
     Make them fluid without changing the desktop composition. */
  #divisions-section .division-img-05{ padding-left: 0 !important; justify-content: center !important; }
  #divisions-section .division-img-05 img,
  #divisions-section .division-img-05 video{
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* -----------------------------
     Infos pratiques (rewinds)
  ------------------------------ */
  #InfosPratiques-section,
  .Rewinds-slider{ height: 100svh !important; }

  #InfosPratiques-section .rewinds-text{
    width: calc(100% - 32px);
    margin-left: auto;
    margin-right: auto;
    padding: 14px 16px;
    border-radius: 16px;
  }
  #InfosPratiques-section .rewinds-text h2{
    font-size: clamp(46px, 12vw, 64px) !important;
    line-height: 0.95 !important;
  }

.Rewinds-slider .rewinds-text-btm-block{
  bottom: calc(18% + env(safe-area-inset-bottom)) !important; /* remonte le CTA */
  width: calc(100% - 32px) !important;
  gap: 10px !important;
}
/* Bulle "Infos pratiques" : centrer le texte dans la bulle */
#InfosPratiques-section .rewinds-text{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#InfosPratiques-section .rewinds-text h2{
  margin: 0 !important;
  line-height: 1 !important;
  padding-top: -14px!important;
  padding-bottom: 24px!important;
}
  .Rewinds-slider .tp-practical-trigger{
    padding: 13px 18px !important;
    font-size: 12px !important;
    letter-spacing: 0.12em !important;
  }

  /* -----------------------------
     Modals
     - fit on small screens
     - scroll inside instead of spilling off-screen
  ------------------------------ */
  .tp-modal-card,
  .tp-plan-card{
    margin: 14px auto !important;
    width: calc(100vw - 20px) !important;
    max-height: calc(100svh - 28px) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .tp-plan-img{ max-height: calc(100svh - 160px) !important; }
  .tp-modal-close{ top: calc(10px + env(safe-area-inset-top)) !important; right: 10px !important; }

  /* -----------------------------
     Réseaux
  ------------------------------ */
  #social-section{ margin-bottom: 100px !important; }
  #social-section .tp-social-board{ padding: 14px !important; border-radius: 22px !important; }
  #social-section .tp-social-grid{ gap: 12px !important; grid-auto-rows: 140px !important; }
  #social-section .tp-social-label{
    left: 12px;
    bottom: 12px;
    font-size: 13px;
    padding: 9px 10px;
    max-width: calc(100% - 24px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* -----------------------------
     Partenaires
  ------------------------------ */
  #news-section{ margin-top: 90px !important; margin-bottom: 90px !important; }
  #news-section a.news-item.tp-partner-eiffage{ min-height: 300px !important; border-radius: 22px !important; }
  #news-section a.news-item.tp-partner-eiffage h3{ font-size: 22px !important; line-height: 26px !important; }

  /* -----------------------------
     Footer
  ------------------------------ */
  footer{ padding-top: 60px !important; padding-bottom: 60px !important; }
  footer .footer-social-media{
    height: auto !important;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 14px;
  }
  footer .footer-social-media ul{ flex-wrap: wrap; gap: 10px; }
}

@media (max-width: 380px){
  /* Very small phones */
  header .home-menu-item,
  header .menu-nav-block ul li a{ height: 40px !important; padding: 11px 11px !important; font-size: 12.5px !important; }
  .slide-text h1{ font-size: clamp(52px, 15vw, 74px) !important; }
  #awards-section .recent-award-list-block{ height: 300px !important; }
}



/* =========================================
   FIX22 — Awards: injected marquee (vertical, seamless)
   We inject our own DOM inside .recent-award-list-block
========================================= */

#awards-section .recent-award-list-block[data-tp-awards="tp-injected"]{
  padding-top: 8px !important;
  padding-bottom: 10px !important;
}

#awards-section .tp-awards-marquee{
  height: 100%;
  position: relative;
}

#awards-section .tp-awards-track{
  display: flex;
  flex-direction: column;
  will-change: transform;
  transform: translate3d(0,0,0);
  animation: none;
}

#awards-section .tp-awards-set{
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding-bottom: 30px; /* keeps the seam spacing identical */
}

#awards-section .tp-awards-item{
  display:flex;
  align-items:flex-start;
  gap: 14px;
  min-width: 0;
}

#awards-section .tp-awards-badge{
  flex: 0 0 auto;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.92);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  padding: 8px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

#awards-section .tp-awards-text{
  min-width: 0;
}

#awards-section .tp-awards-title{
  font-size: 19px;
  line-height: 1.15;
  font-weight: 520;
  color: rgba(255,255,255,0.96);
}

#awards-section .tp-awards-desc{
  margin-top: 7px;
  font-size: 16px;
  line-height: 1.35;
  color: rgba(255,255,255,0.72);
  max-width: 52ch;
}

#awards-section .tp-awards-marquee.tp-awards-running .tp-awards-track{
  animation: tpAwardsMarquee var(--tp-dur, 22s) linear infinite;
}

@keyframes tpAwardsMarquee{
  from{ transform: translate3d(0,0,0); }
  to{ transform: translate3d(0, calc(-1 * var(--tp-loop-h, 380px)), 0); }
}

/* Fade at the top: text gradually disappears when reaching the top */
#awards-section .recent-award-list-block[data-tp-awards="tp-injected"]{
  -webkit-mask-image: linear-gradient(to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.18) 12%,
    rgba(0,0,0,0.60) 26%,
    rgba(0,0,0,1) 44%,
    rgba(0,0,0,1) 100%);
          mask-image: linear-gradient(to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.18) 12%,
    rgba(0,0,0,0.60) 26%,
    rgba(0,0,0,1) 44%,
    rgba(0,0,0,1) 100%);
}
#awards-section .recent-award-list-block[data-tp-awards="tp-injected"]::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height: 120px;
  pointer-events:none;
  z-index:3;
  background: linear-gradient(to bottom, rgba(8,10,12,0.85) 0%, rgba(8,10,12,0.0) 100%);
  opacity: 0.9;
}

@media (max-width: 640px){
  #awards-section .tp-awards-set{ gap: 22px; padding-bottom: 22px; }
  #awards-section .tp-awards-badge{ font-size: 11px; padding: 7px 9px; }
  #awards-section .tp-awards-title{ font-size: 18px; }
  #awards-section .tp-awards-desc{ font-size: 15px; }
}

/* Reduced motion: keep readable, no moving marquee */
@media (prefers-reduced-motion: reduce){
  #awards-section .tp-awards-marquee.tp-awards-running .tp-awards-track{ animation: none !important; }
}


/* =====================================================
   MOBILE POLISH (v20260218b)
   ===================================================== */

/* On mobile, we use a dedicated hamburger + full-screen menu.
   Hide the original header (prevents broken icons & simplifies UX). */
@media (max-width: 768px){
  header{ display:none !important; }
}

html.tp-mobile-menu-open,
html.tp-mobile-menu-open body{
  overflow:hidden !important;
  height:100% !important;
}

.tp-mobile-nav-btn{
  position:fixed;
  top:max(14px, calc(env(safe-area-inset-top) + 12px));
  left:14px;
  z-index:99999;
  width:48px;
  height:48px;
  display:none;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(12, 18, 28, 0.55);
  border:1px solid rgba(255,255,255,0.16);
  box-shadow:0 10px 35px rgba(0,0,0,0.35);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.tp-mobile-nav-btn:active{ transform:translateY(1px); }
.tp-mobile-nav-btn .tp-bars{
  width:20px;
  height:14px;
  position:relative;
}
.tp-mobile-nav-btn .tp-bars span{
  position:absolute;
  left:0;
  right:0;
  height:2px;
  border-radius:2px;
  background:rgba(255,255,255,0.92);
}
.tp-mobile-nav-btn .tp-bars span:nth-child(1){ top:0; }
.tp-mobile-nav-btn .tp-bars span:nth-child(2){ top:6px; opacity:0.88; }
.tp-mobile-nav-btn .tp-bars span:nth-child(3){ top:12px; opacity:0.78; }

.tp-mobile-menu{
  position:fixed;
  inset:0;
  z-index:99998;
  display:none;
}
.tp-mobile-menu .tp-mobile-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.62);
  opacity:0;
  transition:opacity .25s ease;
}
.tp-mobile-menu .tp-mobile-panel{
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:min(92vw, 420px);
  padding:22px 20px;
  background:rgba(10, 12, 16, 0.92);
  border-right:1px solid rgba(255,255,255,0.12);
  transform:translateX(-12px);
  opacity:0;
  transition:transform .35s cubic-bezier(.2,.9,.2,1), opacity .25s ease;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  display:flex;
  flex-direction:column;
}
.tp-mobile-menu.is-open .tp-mobile-backdrop{ opacity:1; }
.tp-mobile-menu.is-open .tp-mobile-panel{ transform:translateX(0); opacity:1; }

.tp-mobile-menu .tp-mobile-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.tp-mobile-menu .tp-mobile-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.tp-mobile-menu .tp-mobile-brand img{
  width:38px;
  height:38px;
  object-fit:contain;
  border-radius:10px;
}
.tp-mobile-menu .tp-mobile-brand .tp-mobile-title{
  font-family: var(--tp-font-display);
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-size:16px;
  line-height:1;
  color:#fff;
}
.tp-mobile-menu .tp-mobile-close{
  width:44px;
  height:44px;
  border-radius:14px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tp-mobile-menu .tp-mobile-close:active{ transform:translateY(1px); }

.tp-mobile-menu .tp-mobile-nav{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,0.10);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.tp-mobile-menu .tp-mobile-nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 14px;
  border-radius:16px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.10);
  color:#fff;
  text-decoration:none;
  font-size:16px;
  font-weight:600;
  letter-spacing:0.01em;
}
.tp-mobile-menu .tp-mobile-nav a .tp-sub{
  font-size:12px;
  font-weight:500;
  opacity:0.72;
}
.tp-mobile-menu .tp-mobile-nav a:active{ transform:translateY(1px); }

.tp-mobile-menu .tp-mobile-foot{
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,0.10);
  color:rgba(255,255,255,0.75);
  font-size:12px;
  line-height:1.4;
}

@media (max-width: 768px){
  .tp-mobile-nav-btn{ display:flex; }
  .tp-mobile-menu{ display:block; }
}

/* Home banner: on mobile, disable the width-based "fill" animation that breaks alignment */
@media (max-width: 768px){
  .slide-text h1{ max-width:calc(100vw - 32px) !important; }
  .slide-text h1 .active-span-2:before{
    animation:none !important;
    width:100% !important;
  }
}

/* Section headings: prevent awkward letter-breaking + keep single line for short titles */
@media (max-width: 640px){
  #Events-section .section-title h2,
  #news-section .section-title h2{
    font-size: clamp(44px, 14.5vw, 62px) !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    white-space: nowrap !important;
  }
}

/* Programme cards: visually still nice, but not navigable */
#Events-section .event-block-item,
#Events-section .event-block-item a{
  cursor: default !important;
}

/* Sports & Ateliers tabs: fix underline overlap + prevent overflow */
@media (max-width: 768px){
  ul.divisions-tab-list{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:18px !important;
    padding-bottom:6px !important;
  }
  ul.divisions-tab-list::-webkit-scrollbar{ display:none; }
  ul.divisions-tab-list li{
    flex:0 0 auto;
    white-space:nowrap;
    font-size:26px !important;
    line-height:30px !important;
    padding:0 14px 12px !important;
    border-bottom-width:3px !important;
  }
  ul.divisions-tab-list li .tab-indicator,
  .tab-indicator{
    bottom:-3px !important;
    height:3px !important;
  }
}

@media (max-width: 768px){
  ul.divisions-tab-list li .tab-indicator,
  .tab-indicator{
    top: auto !important;
    bottom:-3px !important;
    height:3px !important;
    transform: none !important;
  }
}

@media (min-width: 769px) and (max-width: 1024px){
  ul.divisions-tab-list li{
    padding-bottom: 14px !important;
    border-bottom-width: 3px !important;
  }

  ul.divisions-tab-list li .tab-indicator,
  .tab-indicator{
    top: auto !important;
    bottom: -3px !important;
    height: 3px !important;
    transform: none !important;
  }
}

/* Infos pratiques title bubble: push down a bit on mobile so nothing clips */
@media (max-width: 768px){
  #InfosPratiques-section .riwinds_titles{
    top:54px !important;
    left:18px !important;
    right:18px !important;
  }
  #InfosPratiques-section .riwinds_titles h2{
    font-size: clamp(48px, 14vw, 74px) !important;
    line-height: 0.95 !important;
  }
  #InfosPratiques-section .riwinds_titles p{
    max-width: 100% !important;
  }
}

/* Réseaux: mobile spacing so title never overlaps the subtitle */
@media (max-width: 768px){
  #social-section .section-title{ margin-bottom: 18px !important; }
  #social-section .section-title h2{ margin-bottom: 10px !important; }
}

/* Réseaux mosaic: keep the "big block + small rectangles" look on mobile too */
@media (max-width: 768px){
  #social-section .tp-social-grid{
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 200px 140px 140px 120px !important;
    grid-template-areas:
      "t5 t5"
      "t1 t2"
      "t3 t4"
      "t6 t6";
    gap: 12px !important;
  }
  /* Keep the big card visually dominant */
  #social-section .tp-social-card[data-area="t5"]{ min-height: 200px !important; }
  #social-section .tp-social-card[data-area="t6"]{ min-height: 120px !important; }
  /* Mobile-only removal requested (the extra tile) */
  #social-section .tp-social-card[data-area="t7"]{ display:none !important; }
}


/* -------------------------------------------------------
   TP FIX24 — hero description + logo strip + new sections
------------------------------------------------------- */

/* Home banner: small descriptive paragraph under the hero */
#home-banner .tp-hero-desc{
  position:absolute;
  left:30px;
  bottom:78px;
  /* Slightly wider so the paragraph breathes */
  width:min(780px, 92vw);
  max-width: 820px;
  /* Light readable backdrop (subtle, not a heavy black box) */
  padding:14px 16px;
  background: rgba(6, 28, 46, 0.34);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 45px rgba(0,0,0,0.18);
  color:rgba(255,255,255,0.82);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size:16px;
  line-height:26px;
  letter-spacing:0.02em;
  z-index:2;
  text-wrap:balance;
}
@media (max-width: 768px){
  #home-banner .tp-hero-desc{
    left:16px;
    width:calc(100vw - 32px);
    padding:12px 14px;
    font-size:14px;
    line-height:22.5px;
    border-radius: 12px;
  }
}

@media (max-width: 768px){
  #home-banner .tp-hero-desc{
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
  }
}

/* Awards: remove the old dark overlay rectangle (keep the subtle fade via mask-image) */
#awards-section .recent-award-list-block:before{display:none !important;}
/* Make right column fill the full height so the marquee reaches the bottom */
#awards-section .awards-right-content-block{padding-bottom:18px !important;}
#awards-section .recent-award-list-block{flex:1 1 auto !important; height:auto !important; min-height: 0 !important;}

/* Logo strip (between hero and chiffres clés) */
#tp-logos-strip{
  position:relative;
  z-index:11;
  background: radial-gradient(1200px 280px at 20% 30%, rgba(10,109,168,0.22), rgba(0,0,0,0) 60%),
              radial-gradient(900px 240px at 80% 70%, rgba(5,73,113,0.26), rgba(0,0,0,0) 62%),
              #0f0f10;
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  overflow:hidden;
}
#tp-logos-strip .tp-logos-inner{
  max-width: 1600px;
  margin: 0 auto;
  padding: 18px 30px;
  display:flex;
  align-items:center;
  gap:18px;
}
#tp-logos-strip .tp-logos-title{
  color: rgba(255,255,255,0.72);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
  margin-right: 10px;
}
#tp-logos-strip .tp-logos-marquee{
  position:relative;
  flex:1 1 auto;
  overflow:hidden;
  height: 62px;
}
#tp-logos-strip .tp-logos-track{
  display:flex;
  align-items:center;
  width:max-content;
  gap:34px;
  will-change: transform;
  animation: tpLogoMarquee 22s linear infinite;
}
#tp-logos-strip .tp-logos-set{
  display:flex;
  align-items:center;
  gap:34px;
  padding-right:34px;
}
#tp-logos-strip .tp-logo{
  height: 44px;
  width: auto;
  opacity: 0.92;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,0.35));
}
#tp-logos-strip .tp-logo.tp-logo--ip{
  height: 40px;
  opacity: 0.86;
  filter: brightness(0) invert(1) drop-shadow(0 12px 24px rgba(0,0,0,0.35));
}
@keyframes tpLogoMarquee{
  0%{ transform: translate3d(0,0,0); }
  100%{ transform: translate3d(-50%,0,0); }
}
@media (prefers-reduced-motion: reduce){
  #tp-logos-strip .tp-logos-track{ animation:none !important; }
}
@media (max-width: 768px){
  #tp-logos-strip .tp-logos-inner{ padding: 14px 18px; }
  #tp-logos-strip .tp-logos-title{ display:none; }
  #tp-logos-strip .tp-logos-marquee{ height: 54px; }
  #tp-logos-strip .tp-logo{ height: 40px; }
  #tp-logos-strip .tp-logo.tp-logo--ip{ height: 36px; }
}

/* Post-partners sections */
#schools-section, #team-section, #rules-strip{
  background:#141414;
}
#schools-section{
  padding: 90px 0 70px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
#schools-section .tp-section-head{
  max-width: 1600px;
  margin: 0 auto 28px;
  padding: 0 30px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 20px;
}
#schools-section .tp-section-head h2{
  color:#faf7ee;
  letter-spacing:1.8px;
  text-transform:uppercase;
  font-family: Chreed Regular, ui-serif, Georgia, serif;
  font-size: 64px;
  line-height: 0.95;
}
#schools-section .tp-section-head p{
  margin: 0;
  color: rgba(255,255,255,0.68);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 16px;
  line-height: 24px;
  max-width: 520px;
}
#schools-section .tp-schools-grid{
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 30px;
  display:grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 14px;
}
#schools-section .tp-school-tile{
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 18px 14px;
  min-height: 76px;
  overflow:hidden;
}
#schools-section .tp-school-tile img{
  max-height: 40px;
  width:auto;
  opacity: 0.92;
}
@media (max-width: 1024px){
  #schools-section .tp-section-head h2{ font-size: 48px; }
  #schools-section .tp-schools-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 640px){
  #schools-section{ padding: 70px 0 55px; }
  #schools-section .tp-section-head{ padding: 0 18px; margin-bottom: 18px; }
  #schools-section .tp-section-head h2{ font-size: 38px; }
  #schools-section .tp-section-head p{ font-size: 14px; line-height: 22px; }
  #schools-section .tp-schools-grid{ padding: 0 18px; grid-template-columns: repeat(2, minmax(0,1fr)); }
  #schools-section .tp-school-tile{ min-height: 70px; }
  #schools-section .tp-school-tile img{ max-height: 34px; }
}

/* Team section */
#team-section{
  padding: 70px 0 90px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
#team-section .tp-team-inner{
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 30px;
  display:grid;
  grid-template-columns: 1.1fr 1.4fr;
  gap: 26px;
  align-items:stretch;
}
#team-section .tp-team-head h2{
  color:#faf7ee;
  letter-spacing:1.8px;
  text-transform:uppercase;
  font-family: Chreed Regular, ui-serif, Georgia, serif;
  font-size: 58px;
  line-height: 0.95;
  margin: 0 0 14px;
}
#team-section .tp-team-head p{
  margin: 0;
  color: rgba(255,255,255,0.70);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 16px;
  line-height: 24px;
  max-width: 560px;
}
#team-section .tp-team-card{
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.02);
  border-radius: 14px;
  overflow:hidden;
  min-height: 340px;
}
#team-section .tp-team-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media (max-width: 1024px){
  #team-section .tp-team-inner{ grid-template-columns: 1fr; }
  #team-section .tp-team-head h2{ font-size: 46px; }
  #team-section .tp-team-card{ min-height: 300px; }
}
@media (max-width: 640px){
  #team-section{ padding: 55px 0 70px; }
  #team-section .tp-team-inner{ padding: 0 18px; }
  #team-section .tp-team-head h2{ font-size: 38px; }
  #team-section .tp-team-head p{ font-size: 14px; line-height: 22px; }
  #team-section .tp-team-card{ min-height: 240px; }
}

/* Rules strip */
#rules-strip{
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
#rules-strip .tp-rules-inner{
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
}
#rules-strip .tp-rules-text h3{
  margin: 0;
  color: rgba(255,255,255,0.90);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
#rules-strip .tp-rules-text p{
  margin: 4px 0 0;
  color: rgba(255,255,255,0.62);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 14px;
  line-height: 20px;
}
#rules-strip .tp-rules-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  height: 42px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.14);
  background: linear-gradient(135deg, rgba(10,109,168,.22), rgba(5,73,113,.10));
  color: rgba(255,255,255,0.92);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 14px;
  letter-spacing: 0.02em;
}
#rules-strip .tp-rules-btn:hover{ opacity: .95; transform: translateY(-1px); }

@media (max-width: 640px){
  #rules-strip .tp-rules-inner{ padding: 0 18px; flex-direction:column; align-items:flex-start; }
  #rules-strip .tp-rules-btn{ width:100%; justify-content:center; }
}

/* Add a bit of air before the footer */
#footer{ margin-top: 22px; }

/* =========================
   TP FIX26 – Logos + compact awards + centered rules button
   ========================= */

/* Center the rules button (and content) */
#rules-strip .tp-rules-inner{
  justify-content: center !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}
#rules-strip .tp-rules-text{ text-align: center !important; }
#rules-strip .tp-rules-btn-wrap,
#rules-strip .tp-rules-btn{
  justify-content: center !important;
}

/* Keep the "Chiffres clés" section compact (desktop) */
#awards-section .awards-image-block{
  max-height: 420px !important;
}
#awards-section .awards-right-content-block{
  height: 420px !important;
  max-height: 420px !important;
  display: flex !important;
  flex-direction: column !important;
}
#awards-section .recent-award-list-block{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
}

@media (max-width: 768px){
  #awards-section .awards-image-block{ max-height: 320px !important; }
  #awards-section .awards-right-content-block{ height: auto !important; max-height: none !important; }
  #awards-section .recent-award-list-block{ height: 240px !important; }
}

/* =========================
   TP FIX27 – Red accents + centred infinite logos + bigger school logos + footer reset
   ========================= */

/* Logo strip: switch blue glow → red glow, and center content on desktop */
#tp-logos-strip{
  background: radial-gradient(1200px 280px at 22% 35%, rgba(232,70,90,0.22), rgba(0,0,0,0) 62%),
              radial-gradient(980px 260px at 78% 72%, rgba(178,30,60,0.28), rgba(0,0,0,0) 66%),
              #0f0f10 !important;
}
#tp-logos-strip .tp-logos-inner{
  max-width: 1180px !important;
  padding: 20px 22px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}
#tp-logos-strip .tp-logos-title{
  margin: 0 !important;
}
#tp-logos-strip .tp-logos-marquee{
  width: 100% !important;
  max-width: 980px !important;
}

/* Rules button: red background instead of blue */
#rules-strip .tp-rules-btn{
  background: linear-gradient(135deg, rgba(232,70,90,.26), rgba(178,30,60,.12)) !important;
  border-color: rgba(232,70,90,.22) !important;
}

/* Participating schools logos: make them larger */
#schools-section .tp-school-tile{
  min-height: 96px !important;
  padding: 20px 16px !important;
}
#schools-section .tp-school-tile img{
  max-height: 56px !important;
}
@media (max-width: 640px){
  #schools-section .tp-school-tile{ min-height: 82px !important; }
  #schools-section .tp-school-tile img{ max-height: 44px !important; }
}

/* Footer: remove top margin (requested) */
#footer{ margin-top: 0px !important; }

@media (max-width: 768px){
  #tp-logos-strip .tp-logos-inner{ padding: 14px 18px !important; }
  #tp-logos-strip .tp-logos-marquee{ max-width: 100% !important; }
}


/* =========================================================
   TP FIX28 — Logo strip centering + mobile polish + programme cards
   ========================================================= */

#tp-logos-strip .tp-logos-marquee{
  width:100% !important;
  max-width:400px !important;
  margin-inline:auto !important;
}

#tp-logos-strip .tp-logos-track,
#tp-logos-strip .tp-logos-set{
  gap:18px !important;
  padding-right:18px !important;
}

#tp-logos-strip .tp-logo{
  height:36px !important;
  opacity:0.96 !important;
}

#tp-logos-strip .tp-logo--ip{
  height:32px !important;
}

@media (max-width: 480px){
  #tp-logos-strip .tp-logos-track,
  #tp-logos-strip .tp-logos-set{
    gap:14px !important;
    padding-right:14px !important;
  }
  #tp-logos-strip .tp-logo{ height:32px !important; }
  #tp-logos-strip .tp-logo--ip{ height:28px !important; }
}

/* Mobile hero: 3 lines (TéléPonts / date / heure) */
@media (max-width: 768px){
  #home-banner .slide-text h1.tp-hero-3lines{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:6px !important;
  }
  #home-banner .slide-text h1.tp-hero-3lines .tp-hero-line1{
    font-size: clamp(56px, 16vw, 86px) !important;
    line-height: 0.92 !important;
    letter-spacing: 0.02em !important;
  }
  #home-banner .slide-text h1.tp-hero-3lines .tp-hero-line2,
  #home-banner .slide-text h1.tp-hero-3lines .tp-hero-line3{
    font-size: clamp(26px, 8vw, 44px) !important;
    line-height: 1.05 !important;
    letter-spacing: 0.06em !important;
    -webkit-text-stroke: 0 !important;
    color: #fff !important;
    opacity: 0.95 !important;
  }
}

/* Mobile section headings: keep visible + single line */
@media (max-width: 640px){
  #awards-section .section-title h2,
  #Events-section .section-title h2,
  #news-section .section-title h2{
    font-size: clamp(34px, 12vw, 54px) !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
  }
}

/* Programme cards: truly non-clickable */
#Events-section a.event-block-item,
#Events-section .event-block-item a{
  cursor: default !important;
}

/* Schools: make logos bigger */
#schools-section .tp-school-tile{
  min-height: 120px !important;
  padding: 24px 18px !important;
}

#schools-section .tp-school-tile img{
  max-height: 72px !important;
}

@media (max-width: 640px){
  #schools-section .tp-school-tile{
    min-height: 110px !important;
  }
  #schools-section .tp-school-tile img{
    max-height: 62px !important;
  }
}

/* Infos pratiques: drop the title bubble lower on mobile */
@media (max-width: 768px){
  #InfosPratiques-section .riwinds_titles{
    top: 82px !important;
  }
}
@media (max-width: 380px){
  #InfosPratiques-section .riwinds_titles{
    top: 92px !important;
  }
}


/* Injected mobile headings (only when the original is missing/hidden) */
.tp-mobile-injected-awards-title,
.tp-mobile-injected-events-title{
  display:none;
}

@media (max-width: 768px){
  .tp-mobile-injected-awards-title,
  .tp-mobile-injected-events-title{
    display:block;
    margin: 0 0 18px 0;
  }

  .tp-mobile-injected-awards-title .tp-mobile-kicker{
    font-family: Resonate, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(250,247,238,0.72);
    margin-bottom: 6px;
  }

  .tp-mobile-injected-awards-title h2,
  .tp-mobile-injected-events-title h2{
    font-family: "Chreed Regular", Chreed, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #faf7ee;
    font-size: clamp(34px, 12vw, 54px);
    line-height: 1;
    margin: 0;
    white-space: nowrap;
  }
}

/* =========================================================
   TP FIX29 — Mobile stability + hero title + logo strip sizing
   ========================================================= */

/* Logo strip width on desktop */
#tp-logos-strip .tp-logos-marquee{
  width: 100% !important;
  max-width: 700px !important;
  margin-inline: auto !important;
}

/* Slightly more spacing between logos */
#tp-logos-strip .tp-logos-track,
#tp-logos-strip .tp-logos-set{
  gap: 24px !important;
  padding-right: 24px !important;
}

/* Mobile menu overlay must NOT capture clicks when closed */
@media (max-width: 768px){
  .tp-mobile-menu{
    pointer-events: none !important;
  }
  .tp-mobile-menu.is-open{
    pointer-events: auto !important;
  }
  .tp-mobile-menu .tp-mobile-backdrop,
  .tp-mobile-menu .tp-mobile-panel{
    pointer-events: none !important;
  }
  .tp-mobile-menu.is-open .tp-mobile-backdrop,
  .tp-mobile-menu.is-open .tp-mobile-panel{
    pointer-events: auto !important;
  }
  /* Move panel fully off-screen when closed (prevents invisible links being clickable) */
  .tp-mobile-menu .tp-mobile-panel{
    transform: translateX(-110%) !important;
  }
  .tp-mobile-menu.is-open .tp-mobile-panel{
    transform: translateX(0) !important;
  }

  /* Menu mobile : permettre le scroll dans la liste de liens */
.tp-mobile-menu .tp-mobile-panel{
  min-height: 0; /* indispensable en flex-column */
}

.tp-mobile-menu .tp-mobile-nav{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(14px + env(safe-area-inset-bottom));
}
}

/* Mobile hero: force 3-line title (custom stack) */
@media (max-width: 768px){
  #home-banner.tp-mobile-hero-ready .slide-text h1{
    display:none !important;
  }

  #home-banner .tp-hero-mobile-stack{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    margin: 0 0 14px 0;
  }

  #home-banner .tp-hero-mobile-stack .tp-hero-mobile-line1{
    font-family: "Chreed Regular", Chreed, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    font-size: clamp(56px, 16vw, 86px);
    line-height: 0.92;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
  }

  #home-banner .tp-hero-mobile-stack .tp-hero-mobile-line2,
  #home-banner .tp-hero-mobile-stack .tp-hero-mobile-line3{
    font-family: Resonate, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    font-size: clamp(24px, 8.2vw, 42px);
    line-height: 1.05;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.92);
  }

  /* Description should sit under the title on mobile (not absolute) */
  #home-banner .tp-hero-desc{
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 10px !important;
  }
}

/* Mobile section titles: use injected headings and avoid template misplacement */
.tp-mobile-injected-news-title{ display:none; }

@media (max-width: 768px){
  /* Hide the base theme titles for the 3 sections we control on mobile */
  #awards-section.tp-mobile-title-injected .section-title,
  #Events-section.tp-mobile-title-injected .section-title,
  #news-section.tp-mobile-title-injected .section-title{
    display:none !important;
  }

  .tp-mobile-injected-news-title{
    display:block;
    margin: 0 0 18px 0;
  }

  .tp-mobile-injected-news-title h2{
    font-family: "Chreed Regular", Chreed, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: clamp(34px, 12vw, 54px);
    line-height: 1;
    margin: 0;
    white-space: nowrap;
  }
}


/* FIX30: Logo strip marquee — wider (700px), centered, and seamless (no rollback) */
#tp-logos-strip .tp-logos-marquee{
  width: 100% !important;
  max-width: 700px !important;
  margin-inline: auto !important;
}
#tp-logos-strip .tp-logos-inner{
  justify-content: center !important;
}
#tp-logos-strip .tp-logos-title{
  display:none !important;
}
#tp-logos-strip .tp-logos-track{
  gap: 40px !important;
  animation: none !important;
}
#tp-logos-strip .tp-logos-set{
  gap: 40px !important;
  padding-right: 0 !important;
}


/* =========================================================
   TP FIX31 — Requested tweaks
   ========================================================= */

/* Logo strip: show the “Avec le soutien de” label again */
#tp-logos-strip .tp-logos-title{
  display:block !important;
}

/* Mobile hero: place the custom 3-line title lower on the banner (like desktop) */
@media (max-width: 768px){
  #home-banner .tp-hero-mobile-stack{
    position:absolute !important;
    top:50% !important;
    left:16px !important;
    right:16px !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 2 !important;
    max-width: calc(100% - 32px) !important;
  }

  /* Keep the hero description near the bottom on mobile (like desktop) */
  #home-banner .tp-hero-desc{
    position:absolute !important;
    left:16px !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    width:calc(100vw - 32px) !important;
    max-width: 820px !important;
    margin-top: 0 !important;
  }

  /* Schools section heading: stack title + text (avoid awkward word breaks) */
  #schools-section .tp-section-head{
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }
  #schools-section .tp-section-head h2{
    width: 100% !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  #schools-section .tp-section-head p{
    width: 100% !important;
    max-width: none !important;
  }
}

/* Mobile: remove the extra space before Programme */
@media (max-width: 1024px){
  section#Events-section{
    margin-top: 0 !important;
  }
}

/* =========================================================
   TP FIX32 — requested tweaks (logos size, hero desc, clean UI)
   ========================================================= */

/* Logo strip: bigger school logos */
#tp-logos-strip .tp-logo,
#tp-logos-strip .tp-logo--ip{
  height: 62px !important;
}

/* Ensure the marquee height can contain the larger logos (avoid clipping) */
#tp-logos-strip .tp-logos-marquee{
  height: 78px !important;
}

/* Remove the "Featured" bubble */
.press-tag{ display: none !important; }

/* Remove the small info blocks labelled with flex items-center gap-[8px] */
/* (1) Section header right-side infos */
div[class*="gap-[8px]"][class*="pb-[12px]"][class*="border-b"][class*="border-black"]{
  display: none !important;
}
/* (2) Cards meta row (date/category) */
div[class*="mt-[28px]"][class*="gap-[8px]"][class*="items-center"]{
  display: none !important;
}


/* =========================================================
   TP — Fix mobile (home-banner + titres + spacing)
   ========================================================= */
@media (max-width: 768px){

  /* 1) Home-banner : éviter le chevauchement TéléPonts / date
     -> on augmente l'espace vertical + on remonte le line-height */
  #home-banner .tp-hero-mobile-stack{
    gap: 30px !important;
  }
  #home-banner .tp-hero-mobile-stack .tp-hero-mobile-line1{
    line-height: 0.9 !important;
  }

  /* 2) Masquer “Points essentiels” + “Chiffres clés” sur mobile
     (ce sont les titres mobiles injectés pour #awards-section) */
  #awards-section .tp-mobile-injected-awards-title{
    display: none !important;
  }

  /* 3) “Infos Pratiques” : centrer le texte dans la bulle */
  #InfosPratiques-section .riwinds_titles h2{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    line-height: 1.05 !important;
  }

  /* 4) Trop d’espace blanc avant #Reseaux
     -> le gap vient du mb-[140px] sur #awards-section + mt-[150px] sur #social-section */
  #awards-section{
    margin-bottom: 0px !important; /* au lieu de 140px */
  }
  #social-section{
    margin-top: 70px !important;    /* au lieu de 150px */
  }

  /* 5) Masquer “Découvrir nos partenaires” sur mobile */
  #news-section{
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  #social-section{
    margin-bottom: 20px !important;
  }
  #social-section .tp-social-grid{
    margin-bottom: -100px !important;
  }
  #news-section a.btn-01{
    display: none !important;
  }
  /* Retire aussi l'espace du wrapper (mt-[100px]) */
  #news-section .mt-\[100px\]{
    margin-top: 0 !important;
  }
}

.brand-logo{
  display: none !important;
}
.brand-logo-right{
  display: none !important;
}


/* Cache le bouton "Voir les activités" (CTA du bloc Sports & ateliers) */
#divisions-section a.btn-01{
  display: none !important;
}

/* Modales : sur mobile/tablette, la carte doit scroller */
@media (max-width: 1024px){
  .tp-modal-card,
  .tp-plan-card{
    max-height: calc(100svh - 28px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 768px){
  #home-banner.tp-mobile-hero-ready .tp-hero-desc{
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
  }
}

#divisions-section .btn-01{
  display:none !important;
}

#FeaturedSportEvent-banner .press-tag{
  display:none !important;
}

[class*="mt-[28px]"][class*="gap-[8px]"][class*="items-center"]{
  display:none !important;
}

@media (min-width: 769px) and (max-width: 1024px){
  .section-title h2{
    font-size: 88px !important;
    line-height: 0.92 !important;
  }

  /* Chiffres clés : éviter collision titre / description */
  #awards-section .section-title{ left: 18px !important; bottom: 14px !important; }
  #awards-section .section-title h2{ font-size: 82px !important; line-height: 0.9 !important; }
  #awards-section .section-title p{ max-width: 320px !important; width: auto !important; }
}


#tp-logos-strip .tp-logo{ height: 62px !important; }

/* optionnel : si le logo IP Paris est trop “haut”, on le limite un peu */
#tp-logos-strip .tp-logo--ip{ height: 56px !important; }

/* important : sinon 62px peut être “clippé” */
#tp-logos-strip .tp-logos-marquee{ height: 72px !important; }

/* =========================================================
   TP — TABLETTES / iPad (769px → 1024px)
   À coller en BAS de teleponts-overrides.css
   ========================================================= */
@media (min-width: 769px) and (max-width: 1024px){

  /* -----------------------------
     Base / sécurité
  ------------------------------ */
  html, body{
    overflow-x: hidden !important;
  }

  :root{
    --tp-tablet-pad: 24px;
  }

  /* Beaucoup de sections du template reposent sur .container */
  .container{
    padding-left: var(--tp-tablet-pad) !important;
    padding-right: var(--tp-tablet-pad) !important;
  }

  /* -----------------------------
     Header (léger ajustement iPad)
  ------------------------------ */
  header{
    top: max(14px, calc(env(safe-area-inset-top) + 10px)) !important;
  }

  header .menu-container{
    max-width: min(820px, calc(100vw - (var(--tp-tablet-pad) * 2))) !important;
    border-radius: 12px !important;
  }

  header .menu-nav-block ul{
    gap: 12px !important;
  }

  /* -----------------------------
     Typo globale des gros titres (évite les titres “trop desktop” sur iPad)
  ------------------------------ */
  .section-title h2{
    font-size: clamp(62px, 7.2vw, 92px) !important;
    line-height: 0.95 !important;
    letter-spacing: 0.06em !important;
  }

  /* -----------------------------
     HOME (banner)
     - un peu plus “tablet friendly”
  ------------------------------ */
  #home-banner .tp-home-logo{
    left: 26px !important;
    top: 22px !important;
    width: 160px !important;
  }

  /* Titre hero */
  .slide-text h1{
    left: var(--tp-tablet-pad) !important;
    right: var(--tp-tablet-pad) !important;
    max-width: calc(100% - (var(--tp-tablet-pad) * 2)) !important;
    font-size: clamp(78px, 9vw, 118px) !important;
    line-height: 0.90 !important;
  }

  /* Bouton + nav (si présents) */
  button.slide-button{
    left: var(--tp-tablet-pad) !important;
    bottom: 24px !important;
  }
  .custom-nav-slider{
    right: var(--tp-tablet-pad) !important;
    bottom: 24px !important;
  }

  /* Texte de description (tp-hero-desc) sur tablette */
  #home-banner .tp-hero-desc{
    left: var(--tp-tablet-pad) !important;
    width: min(760px, calc(100vw - (var(--tp-tablet-pad) * 2))) !important;
    bottom: 86px !important;
    font-size: 15px !important;
    line-height: 24px !important;
    padding: 13px 15px !important;
  }

  /* -----------------------------
     LOGO STRIP (si tu veux l’avoir plus grand sur iPad)
     NOTE : si tu veux 62px PARTOUT (desktop inclus), mets la règle HORS du @media.
  ------------------------------ */
  #tp-logos-strip .tp-logo{
    height: 62px !important;
  }
  #tp-logos-strip .tp-logo--ip{
    height: 56px !important;
  }
  #tp-logos-strip .tp-logos-marquee{
    height: 72px !important;
  }

  /* -----------------------------
     AWARDS / CHIFFRES CLÉS
     - sur iPad, le titre écrase la description => on réduit + on respire
  ------------------------------ */
  #awards-section .awards-image-block{
    max-height: 480px !important;
  }

  #awards-section .section-title{
    left: 18px !important;
    bottom: 14px !important;
    max-width: calc(100% - 36px) !important;
  }

  #awards-section .section-title h2{
    font-size: clamp(66px, 6.6vw, 86px) !important;
    line-height: 0.92 !important;
    margin-bottom: 10px !important; /* espace clair avant la description */
  }

  #awards-section .section-title p{
    max-width: 360px !important;
    font-size: 14px !important;
    line-height: 20px !important;
    opacity: 0.88 !important;
  }

  /* -----------------------------
     SPORTS & ATELIERS — bug iPad underline au milieu du texte
     => on force l’underline en bas + on annule les transforms “centrage”
  ------------------------------ */
  #divisions-section .divisions-tab-list{
    gap: 22px !important;
    padding-bottom: 8px !important;
  }

  #divisions-section .divisions-tab-list li{
    padding: 0 14px 14px !important;
    border-bottom-width: 3px !important;
  }

  #divisions-section .divisions-tab-list li .tab-indicator,
  #divisions-section .tab-indicator{
    top: auto !important;
    bottom: -3px !important;
    height: 3px !important;
    transform: none !important;
  }

  /* -----------------------------
     Cache le bouton “Voir les activités” (sur tablette seulement ici)
     NOTE : si tu veux le cacher sur TOUTES les tailles, sors cette règle du @media.
  ------------------------------ */
  #divisions-section a.btn-01{
    display: none !important;
  }

  /* -----------------------------
     Réseaux / Partenaires — réduire un peu les “gros blancs” sur iPad
  ------------------------------ */
  #social-section{
    margin-bottom: 110px !important;
  }

  #news-section{
    margin-top: 100px !important;
    margin-bottom: 90px !important;
  }

  #news-section a.news-item.tp-partner-eiffage{
    min-height: 360px !important;
  }

  #news-section a.news-item.tp-partner-eiffage h3{
    font-size: 22px !important;
    line-height: 26px !important;
  }

  /* -----------------------------
     INFOS PRATIQUES (slider)
     - resserre titre/bouton + centre mieux la bulle
  ------------------------------ */
  #InfosPratiques-section{
    height: 100svh !important;
  }

  .Rewinds-slider .rewinds-text{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 16px 22px !important;
  }

  .Rewinds-slider .rewinds-text h2{
    margin: 0 !important;
    line-height: 1 !important;
  }

  .Rewinds-slider .rewinds-text-btm-block{
    bottom: 7% !important;
    gap: 10px !important;
  }

  /* -----------------------------
     POPUPS / MODALES : scroll interne sur tablette
     (évite l’effet “ça scroll derrière” + permet de descendre dans la popup)
  ------------------------------ */
  .tp-modal-card,
  .tp-plan-card{
    max-height: calc(100svh - 40px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

/* =========================================================
   Safari fixes (macOS Safari + iPad/iOS Safari)
   Cause: métriques de font différentes -> titres/traits trop "serrés"
   Nécessite: <html class="tp-safari">
   ========================================================= */

html.tp-safari{
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Safari: corrections surtout visibles en formats iPad / small desktop */
@media (max-width: 1100px){

  /* =========================================
     1) SPORTS / ATELIERS / HANDISPORT
     Problème: le trait (border-bottom + indicator) traverse le texte.
     Cause: line-height trop serré + pas de padding bas -> WebKit coupe dedans.
     Fix: on ajoute du padding-bottom + on relaxe un peu la line-height.
     ========================================= */
  html.tp-safari ul.divisions-tab-list{
    align-items: flex-end !important;
  }

  html.tp-safari ul.divisions-tab-list li{
    /* on garde le padding horizontal du template, on rajoute juste du bas */
    padding: 0 15px 14px !important;
    line-height: 48px !important; /* au lieu de 42px */
    border-bottom-width: 4px !important; /* équivalent à .25rem mais stable */
  }

  /* L’indicateur noir actif (si présent) : on s’assure qu’il reste bas */
  html.tp-safari .tab-indicator{
    bottom: -4px !important;
    height: 4px !important;
  }


  /* =========================================
     2) CHIFFRES CLÉS (Awards)
     Problème: le titre chevauche la description.
     Cause: titre énorme + marge 0 + glyphes Chreed "descendent" différemment sur Safari.
     Fix: on réduit un peu + on remet de l’espace sous le h2.
     ========================================= */
  html.tp-safari section#awards-section .section-title h2{
    /* on limite la taille sur iPad/small desktop */
    font-size: clamp(64px, 9vw, 92px) !important;
    line-height: 1.06 !important;
    margin-bottom: 14px !important;  /* IMPORTANT: évite le chevauchement */
    padding-bottom: 2px !important;  /* petite marge de sécurité WebKit */
  }

  html.tp-safari section#awards-section .section-title p{
    width: auto !important;
    max-width: 360px !important;
  }
}

/* Bonus: iPad portrait (encore plus étroit) */
@media (max-width: 900px){
  html.tp-safari section#awards-section .section-title h2{
    font-size: clamp(56px, 10vw, 84px) !important;
  }
}

/* =========================================================
   FIX SAFARI/WebKit — Onglets Sports/Ateliers/Handisport
   Le border-bottom + les métriques Safari font passer le trait dans le texte.
   On remplace l'underline par un pseudo-élément placé sous le texte.
========================================================= */

ul.divisions-tab-list{
  align-items: flex-end !important;
}

ul.divisions-tab-list li{
  /* On enlève le underline "border-bottom" qui traverse le texte sur Safari */
  border-bottom: 0 !important;

  /* On crée de la place en bas pour notre nouveau trait */
  padding-bottom: 16px !important;

  position: relative; /* sécurité (normalement déjà présent) */
}

/* Nouveau trait gris (à la place du border-bottom) */
ul.divisions-tab-list li::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: 4px;
  background: #dedede;

  pointer-events: none;
}

/* Onglet actif -> trait noir */
ul.divisions-tab-list li.active::after{
  background: #000;
}

/* On masque le système d'underline du template (tab-indicator) */
ul.divisions-tab-list li .tab-indicator{
  display: none !important;
}

/* =========================================================
   FIX iPad/tablette (Safari) — CHIFFRES CLÉS
   Le h2 recouvre la description : on force un layout en colonne avec un gap
   + on réduit légèrement la taille du titre sur 1024×768.
========================================================= */

@media (min-width: 768px) and (max-width: 1100px){

  #awards-section .section-title{
    /* On évite les collisions en forçant un empilement propre */
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;

    /* Optionnel mais utile sur iPad */
    left: 18px !important;
    bottom: 14px !important;

    max-width: calc(100% - 36px);
  }

  #awards-section .section-title h2{
    margin: 0 !important;

    /* La clé: line-height "confort" (pas < 1) */
    line-height: 1.02 !important;

    /* On réduit un peu sur tablette pour éviter que ça mange tout */
    font-size: clamp(60px, 7.4vw, 86px) !important;
  }

  #awards-section .section-title p{
    margin: 0 !important;

    width: auto !important;
    max-width: 340px !important;

    line-height: 20px !important;
  }
}

/* =========================================================
   SAFARI / WEBKIT — Fix “titres trop bas” (overlap)
   Cause: line-height < 1 + métriques font Safari -> le texte déborde vers le bas
   Fix: on donne plus de hauteur au titre (line-height + padding-bottom)
   ========================================================= */

html.tp-safari :is(
  /* Titres des sections (Programme, Chiffres clés, Réseaux, Partenaires, etc.) */
  .section-title h2,

  /* Titre du hero */
  #home-banner .slide-text h1,

  /* Titres des sections custom (Écoles participantes, L’équipe) */
  #schools-section .tp-section-head h2,
  #team-section .tp-team-head h2,

  /* Titres infos pratiques (bulle et overlay) */
  #InfosPratiques-section .riwinds_titles h2,
  #InfosPratiques-section .rewinds-text h2
){
  /* La partie clé : ne jamais descendre sous 1 sur Safari */
  line-height: 1.06 !important;

  /* Augmente la “boîte” du titre => pousse l’élément suivant vers le bas */
  padding-bottom: 0.38em !important;

  /* Évite certains cas où Safari compacte trop */
  -webkit-font-smoothing: antialiased;
}

/* Bonus: certaines sections ont h2+p dans la même zone (ex: awards).
   On s’assure que le paragraphe ne remonte pas. */
html.tp-safari .section-title p{
  margin-top: 0 !important;
}

/* SAFARI — Onglets SPORTS/ATELIERS/HANDISPORT : underline toujours sous le texte */
html.tp-safari ul.divisions-tab-list{
  align-items: flex-end !important;
}

html.tp-safari ul.divisions-tab-list li{
  border-bottom: 0 !important;
  padding-bottom: 16px !important;
  position: relative !important;
}

/* Trait gris */
html.tp-safari ul.divisions-tab-list li::after{
  content:"";
  position:absolute;
  left:0; right:0;
  bottom:0;
  height:4px;
  background:#dedede;
  pointer-events:none;
}

/* Actif -> noir */
html.tp-safari ul.divisions-tab-list li.active::after{
  background:#000;
}

/* Désactive le système d’indicateur du template */
html.tp-safari ul.divisions-tab-list li .tab-indicator{
  display:none !important;
}


.news-item > .flex.items-center.gap-\[8px\] {
  display: none!important;
}

/* Masque le bouton "Découvrir nos partenaires" */
#news-section .flex.justify-end.mt-\[100px\]{
  display: none !important;
}

/* TP FIX33 — inscriptions Lydia + animateurs handisport */
#inscriptions-section{
  padding: 16px 0 30px;
}
#inscriptions-section .tp-register-inner{
  width: min(1180px, calc(100vw - 28px));
  margin: 0 auto;
  padding: 24px 26px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.10);
  background:
    radial-gradient(900px 260px at 18% 30%, rgba(11,111,176,0.22), rgba(0,0,0,0) 62%),
    linear-gradient(135deg, rgba(20,20,20,0.98), rgba(28,28,28,0.98));
  box-shadow: 0 18px 52px rgba(0,0,0,0.18);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 24px;
}
#inscriptions-section .tp-register-copy{
  max-width: 720px;
}
#inscriptions-section .tp-register-kicker{
  display:inline-flex;
  align-items:center;
  margin-bottom: 10px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.09);
  color: rgba(255,255,255,0.82);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
#inscriptions-section .tp-register-copy h2{
  margin: 0 0 8px;
  color:#faf7ee;
  font-family: Chreed Regular, ui-serif, Georgia, serif;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 0.96;
}
#inscriptions-section .tp-register-copy p{
  margin: 0;
  color: rgba(255,255,255,0.72);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 16px;
  line-height: 24px;
}
#inscriptions-section .tp-register-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
  min-height: 54px;
  padding: 0 18px;
  border-radius: 14px;
  background: var(--tp-accent, #0B6FB0);
  color: #fff;
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.03em;
  text-decoration:none;
  box-shadow: 0 14px 26px rgba(11,111,176,0.28);
  transition: transform .22s ease, opacity .22s ease, box-shadow .22s ease;
}
#inscriptions-section .tp-register-btn:hover{
  opacity: .96;
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(11,111,176,0.34);
}
@media (max-width: 768px){
  #inscriptions-section{
    padding: 10px 0 22px;
  }
  #inscriptions-section .tp-register-inner{
    width: calc(100vw - 24px);
    padding: 18px 16px;
    border-radius: 18px;
    flex-direction:column;
    align-items:flex-start;
  }
  #inscriptions-section .tp-register-copy h2{
    font-size: 36px;
  }
  #inscriptions-section .tp-register-copy p{
    font-size: 14px;
    line-height: 22px;
  }
  #inscriptions-section .tp-register-btn{
    width: 100%;
  }
}

#handisport-groups-section{
  padding: 86px 0 84px;
  background:#141414;
  border-top: 1px solid rgba(255,255,255,0.06);
}
#handisport-groups-section .tp-handi-shell{
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 30px;
}
#handisport-groups-section .tp-handi-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 22px;
  margin-bottom: 26px;
}
#handisport-groups-section .tp-handi-kicker{
  display:inline-flex;
  align-items:center;
  margin-bottom: 12px;
  color: rgba(255,255,255,0.60);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
#handisport-groups-section .tp-handi-head h2{
  margin: 0;
  color:#faf7ee;
  font-family: Chreed Regular, ui-serif, Georgia, serif;
  font-size: clamp(42px, 6vw, 70px);
  line-height: 0.95;
}
#handisport-groups-section .tp-handi-head p{
  margin: 0;
  max-width: 560px;
  color: rgba(255,255,255,0.70);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 16px;
  line-height: 24px;
}
#handisport-groups-section .tp-handi-grid{
  display:grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
  gap: 18px;
}
#handisport-groups-section .tp-handi-card{
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 20px 54px rgba(0,0,0,0.22);
  background: linear-gradient(135deg, rgba(22,22,22,0.98), rgba(30,30,30,0.98));
}
#handisport-groups-section .tp-handi-card--featured{
  background:
    radial-gradient(760px 220px at 18% 26%, rgba(232,70,90,0.18), rgba(0,0,0,0) 62%),
    linear-gradient(135deg, rgba(20,20,20,0.98), rgba(30,30,30,0.98));
}
#handisport-groups-section .tp-handi-card--federation{
  background:
    radial-gradient(760px 220px at 18% 26%, rgba(11,111,176,0.18), rgba(0,0,0,0) 62%),
    linear-gradient(135deg, rgba(20,20,20,0.98), rgba(30,30,30,0.98));
}
#handisport-groups-section .tp-handi-card-inner{
  height:100%;
  display:grid;
  grid-template-columns: 1fr;
}
#handisport-groups-section .tp-handi-card--featured .tp-handi-card-inner{
  grid-template-columns: minmax(280px, 0.96fr) 1.08fr;
}
#handisport-groups-section .tp-handi-card-media{
  min-height: 270px;
}
#handisport-groups-section .tp-handi-card--featured .tp-handi-card-media{
  min-height: 100%;
}
#handisport-groups-section .tp-handi-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#handisport-groups-section .tp-handi-card-body{
  padding: 22px 22px 24px;
}
#handisport-groups-section .tp-handi-card--featured .tp-handi-card-body{
  padding: 24px 24px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#handisport-groups-section .tp-handi-tags{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin-bottom: 12px;
}
#handisport-groups-section .tp-handi-tags span{
  display:inline-flex;
  align-items:center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
#handisport-groups-section .tp-handi-context{
  margin: 0 0 12px;
  color: rgba(255,255,255,0.56);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
#handisport-groups-section .tp-handi-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 78px;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 16px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,0.96);
}
#handisport-groups-section .tp-handi-logo img{
  display:block;
  max-width: 100%;
  max-height: 48px;
  width:auto;
  height:auto;
}
#handisport-groups-section .tp-handi-card h3{
  margin: 0 0 12px;
  color:#faf7ee;
  font-family: Chreed Regular, ui-serif, Georgia, serif;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 0.98;
}
#handisport-groups-section .tp-handi-card--featured h3{
  font-size: clamp(36px, 5vw, 56px);
}
#handisport-groups-section .tp-handi-card p:not(.tp-handi-context){
  margin: 0;
  color: rgba(255,255,255,0.74);
  font-family: Resonate, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 16px;
  line-height: 25px;
}
@media (max-width: 1024px){
  #handisport-groups-section .tp-handi-head{
    align-items:flex-start;
    flex-direction:column;
  }
  #handisport-groups-section .tp-handi-grid{
    grid-template-columns: 1fr;
  }
  #handisport-groups-section .tp-handi-card--featured .tp-handi-card-inner{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px){
  #handisport-groups-section{
    padding: 62px 0 60px;
  }
  #handisport-groups-section .tp-handi-shell{
    padding: 0 18px;
  }
  #handisport-groups-section .tp-handi-head{
    margin-bottom: 18px;
  }
  #handisport-groups-section .tp-handi-head h2{
    font-size: 38px;
  }
  #handisport-groups-section .tp-handi-head p,
  #handisport-groups-section .tp-handi-card p:not(.tp-handi-context){
    font-size: 14px;
    line-height: 22px;
  }
  #handisport-groups-section .tp-handi-card{
    border-radius: 18px;
  }
  #handisport-groups-section .tp-handi-card-media{
    min-height: 220px;
  }
  #handisport-groups-section .tp-handi-card-body,
  #handisport-groups-section .tp-handi-card--featured .tp-handi-card-body{
    padding: 18px 16px 20px;
  }
  #handisport-groups-section .tp-handi-logo{
    min-height: 66px;
    padding: 12px 14px;
    border-radius: 14px;
  }
  #handisport-groups-section .tp-handi-logo img{
    max-height: 42px;
  }
}
