/* ========== 🌑 Variables Globales ========== */
:root {
  --bg-color: #f5f5f5;
  --text-color: #1c1c1e;
  --primary-color: #111;
  --section-bg: #bbb;
  --section-bg-alt: #eaeaea;
  --card-bg: #ffffff;
  --border-color: #dcdcdc;
  --icon-color: #1c1c1e;
  --search-bg: #fff;
  --search-text: #1c1c1e;
  --search-border: #dcdcdc;
  --search-hover: #e0e0e0;
  --fiche-bg: #ffffff;
  --fiche-text: #1a1a1a;
  --fiche-border: #dddddd;
  --fiche-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  --glow-color: rgba(255, 255, 255, 0.4);
}

body.dark-mode {
  --bg-color: #1c1c1e;
  --text-color: #ffffff;
  --primary-color: #ccc;
  --section-bg: #111;
  --section-bg-alt: #2a2a2a;
  --card-bg: #2c2c2c;
  --border-color: #444;
  --icon-color: #f5f5f5;
  --search-bg: #1c1c1e;
  --search-text: #f5f5f5;
  --search-border: #444;
  --search-hover: #333;
  --fiche-bg: #1e1e1e;
  --fiche-text: #f0f0f0;
  --fiche-border: #444444;
  --fiche-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  --glow-color: rgba(173, 216, 230, 0.3);
}

/* === ENVIRONNEMENTS === */
body.tripenv       { --section-bg: #ca9595; }
body.sportsenv     { --section-bg: #fba137; }
body.artsenv       { --section-bg: #95ccca; }
body.foodenv       { --section-bg: #f6ff96; }
body.gameenv       { --section-bg: #f293f9; }
body.natureenv     { --section-bg: #99de95; }
body.otherenv      { --section-bg: #d0c7bc; }

body.dark-mode.tripenv       { --section-bg: #6F1E1E; }
body.dark-mode.sportsenv     { --section-bg: #a66314; }
body.dark-mode.artsenv       { --section-bg: #042347; }
body.dark-mode.foodenv       { --section-bg: #b2c500; }
body.dark-mode.gameenv       { --section-bg: #91199a; }
body.dark-mode.natureenv     { --section-bg: #277123; }
body.dark-mode.otherenv      { --section-bg: #463f39; }


/* === BLOCS COMMUNS === */
body[class*="env"] .block-1,
body[class*="env"] .block-5 {
  background-color: #dddddd;
}

body[class*="env"] .block-2,
body[class*="env"] .block-4 {
  background-color: var(--section-bg);
}

body[class*="env"] .block-3 {
  background-color: #eaeaea;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* === BLOCS DARK MODE === */
body.dark-mode[class*="env"] .block-1,
body.dark-mode[class*="env"] .block-3,
body.dark-mode[class*="env"] .block-5 {
  background-color: #464646;
}

body.dark-mode[class*="env"] .block-2,
body.dark-mode[class*="env"] .block-4 {
  background-color: var(--section-bg);
}

/* Exceptions spécifiques */
body.dark-mode.foodenv .block-5,
body.dark-mode.gameenv .block-5,
body.dark-mode.natureenv .block-5,
body.dark-mode.otherenv .block-5 {
  background-color: #da1c1e;
}

/* === HOVER BOUTONS === */
body[class*="env"] .rectbuttonhigh:hover,
body[class*="env"] .rectbuttonmini:hover {
  background-color: var(--section-bg);
}

/* ========== 🔧 Base Reset & Typo ========== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', 'Arial', sans-serif;
  background-color: var(--bg-color);
  color: var(--text-color);
  line-height: 1.6;
  transition: background 0.3s ease, color 0.3s ease;
  max-width:1500px;
  margin:auto;
}

/* ========== 🔝 Bandeau Supérieur ========== */
header {
  background-color: var(--section-bg);
  border-bottom: 1px solid var(--border-color);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.header-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 20px 40px;
}

.logo {
	font-size: 1.8rem;
	font-weight: bold;
	flex: 1;
	cursor:pointer;
}

.logo a{
	color: var(--primary-color);
	text-decoration: none;
}

/* 🔍 Barre de recherche */
.search-bar {
	flex: 2;
	display: flex;
	justify-content: center;
	max-width: 500px;
	position: relative;
}

.search-bar input {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid var(--border-color);
  border-radius: 5px 0 0 5px;
  outline: none;
  background-color: var(--search-bg);
  color: var(--search-text);
  border: 1px solid var(--search-border);
}

.search-bar button {
  padding: 8px 12px;
  border: 1px solid var(--border-color);
  background-color: transparent;
  color: var(--text-color);
  border-radius: 0 5px 5px 0;
  cursor: pointer;
  font-weight: bold;
  transition: border-color 0.3s ease, color 0.3s ease;
}

.search-bar button svg {
  color: var(--icon-color);
}

.search-bar button:hover {
  background-color: lightgrey;
}
#search-results {
  position: absolute;
  top: 100%; /* pile sous l'input */
  left: 0;
  width: 100%;
  background-color: var(--search-bg);
  color: var(--search-text);
  border: 1px solid var(--search-border);
  border-top: none;
  border-radius: 0 0 5px 5px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  z-index: 2000;
  list-style: none;
  padding: 0;
  margin: 0;
}

#search-results li {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
  background-color: var(--search-bg);
  transition: background-color 0.2s ease;
}

#search-results li:last-child {
  border-bottom: none;
  font-weight: bold;
  justify-content: center;
  color: var(--primary-color);
}

#search-results li a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  width: 100%;
  height: 100%;
  padding: 8px 12px;
}

#search-results li:hover,
#search-results li.active {
  background-color: var(--search-hover);
}

#search-results img {
  width: 36px;
  height: 36px;
  object-fit: cover;
  margin-right: 10px;
  border-radius: 4px;
}

#search-results strong {
  font-size: 14px;
  color: var(--primary-color);
}

#search-results small {
  font-size: 12px;
}

#search-results li.search-more {
  display: flex;
  justify-content: center;
  align-items: center;
}

#search-results li.search-more a {
  display: block;
  text-align: center;
  width: 100%;
  font-weight: bold;
  text-decoration: none;
  color: var(--search-text);
}


/* 👤 Actions utilisateur */
.user-actions {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 15px;
}

.user-actions a {
  color: var(--text-color);
  text-decoration: none;
  font-weight: bold;
  font-size:14px;
}

/* Style général des boutons */
.user-actions button {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  margin: 8px;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  background-color: transparent;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border: 1px solid var(--border-color);
  text-decoration: none;
}

.categories-menu {
  position: relative;
  display: inline-block;
}

.categories-menu:hover .categories-list {
  display: block;
}

#categoriesToggle {
  background: none;
  border: none;
  font-weight: 600;
  cursor: pointer;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  color: inherit;
  transition:none;
  padding-bottom: 0;
}

#categoriesToggle:hover {
  transform: none !important;
  box-shadow: none !important;
  background-color: inherit !important;
}

.categories-list {
  position: absolute;
  left: 0;
  background-color: var(--section-bg);
  border-radius: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  display: none;
  overflow: hidden;
  z-index: 1000;
  min-width: 180px;
}

.categories-list li {
  padding: 0.6rem 1rem;
  font-size: 0.85rem;
  font-weight: 500;
  transition: background 0.3s ease;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2); /* clair */
}

body.dark-mode .user-actions button {
  color: var(--text-color);
}

.categories-list li:last-child {
  border-bottom: none;
}

.categories-list li a {
  text-decoration: none;
  display: block;
}

/* Effet au survol */
.user-actions button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  background-color:lightgrey;
}

/* Icône avant le texte */
.user-actions button svg {
  margin-right: 8px;
  width: 14px;
  height: 14px;
}

/* 🌗 Bouton thème */
#themeToggle {
  position: relative;
  border: 1px solid var(--border-color);
  background: transparent;
  color: var(--text-color);
  padding: 4px 2px;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  transition: border-color 0.3s ease, color 0.3s ease;
  min-width:auto;
}

#themeToggle::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, #999 50%, #ccc 50%);
  margin: 2px;
}

#themeToggle:hover {
  border-color: var(--primary-color);
  color: var(--primary-color);
  background-color:lightgrey;
}

/* 🌓 Mode sombre ajusté */
body.dark-mode .logo {
  color: var(--primary-color);
}

body.dark-mode .search-bar button,
body.dark-mode #themeToggle {
  border: 1px solid #666;
}

body.dark-mode .search-bar button:hover,
body.dark-mode #themeToggle:hover {
  border-color: var(--primary-color);
  color: var(--primary-color);
}

/* ========== 🧭 Barre des Sous-titres ========== */
.subtitles-bar {
  display: flex;
  gap: 30px;
  justify-content: center;
  position: relative;
  padding: 10px 20px;
}

/* Chaque item */
.subtitle-item-wrapper {
  position: relative;
}

/* Lien principal */
.subtitle-item {
  margin: 0 20px;
  font-size: 1rem;
  text-decoration: none;
  position: relative;
  transition: color 0.3s ease;
  font-weight: bold;
}

.subtitle-item:hover {
	color: var(--text-color);
	/* text-decoration: underline var(--text-color); */
	/* text-decoration-thickness: 3px; */
}

.subtitle-item.selected {
	color: var(--primary-color);
	font-weight: bold;
	/* text-decoration: underline var(--text-color); */
	/* text-decoration-thickness: 3px; */
}

.subtitles-bar a {
  color: inherit;
}

/* Sous-menu simple */
.submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 50vw;
  background-color: var(--section-bg);
  border-radius: 8px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.1);
  display: none;
  flex-direction: column;
  z-index: 1000;
}

.submenu a {
  padding: 12px 20px;
  text-align: left;
  font-size: 14px;
  color: #34495e;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}

.submenu a:last-child {
  border-bottom: none;
}

.subtitle-item-wrapper:hover .submenu {
  display: flex;
}

/* Menu enrichi — CENTRÉ sous la barre entière */
.menu-details {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--section-bg);
  border-radius: 8px;
  padding: 0;
  margin: 0;
  margin-top: -10px;
  display: none;
  z-index: 1000;
  width: 55vw;
  max-width: 1200px;
}

/* Affichage contrôlé par classe ou JS */
.menu-details.active {
  display: block;
}

/* Affichage du menu enrichi */
.subtitle-item-wrapper:hover .menu-details {
  display: block;
}

/* Colonnes du menu */
.menu-columns {
	padding: 25px;
  display: flex;
  gap: 20%;
  justify-content: center;
}

.menu-column h4 {
  font-size: 1rem;
  margin-bottom: 10px;
  color: var(--text-color);
}

.menu-column ul {
  list-style: none;
  padding: 0;
}

.menu-column li {
  margin-bottom: 6px;
}

.menu-column a {
  text-decoration: none;
  color: var(--text-color);
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.menu-column a:hover {
  color: var(--primary-color);
}

/* Bloc d’interactions */
.menu-actions {
  margin-top: 30px;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.1);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0 0 12px 12px;
  display: flex;
  justify-content: center;
  margin-left: -40px;
}

.menu-actions h4 {
  font-size: 1rem;
  margin-bottom: 12px;
  color: var(--text-color);
}

.action-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.action-list li {
  margin-bottom: 8px;
}

.action-list a {
  text-decoration: none;
  color: var(--text-color);
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.action-list a:hover {
  color: var(--primary-color);
}


/* ========== 📋 Contenu Principal ========== */
main {
  margin: auto;
  display: flex;
  flex-direction: column;
}

/* 🟩 Blocs Informatifs */
.info-block {
  background-color: var(--section-bg);
  padding: 30px;
  border-radius: 4px;
  transition: background 0.3s ease;
  width: 100%;
  max-width: var(--bandeau-width);
  margin: 0 auto;
  text-align:center;
}

.block-1 { background-color: #dddddd; }
.block-2 { background-color: #bbb; }
.block-3 
{ 
	background-color: #eaeaea; 
	display: flex;
	flex-direction: column;
	align-items: center;
}
.block-4 { background-color: #bbb; }
.block-5 { background-color: #dddddd; }

body.dark-mode .block-1 { background-color: #464646; }
body.dark-mode .block-2 { background-color: #111; }
body.dark-mode .block-3 { background-color: #464646; }
body.dark-mode .block-4 { background-color: #111; }
body.dark-mode .block-5 { background-color: #1c1c1c; }

.info-block h2 {
  font-size: 1.5rem;
  color: var(--text-color);
  padding-bottom:20px;
}

.info-block p {
  font-size: 1.1rem;
  color: var(--text-color);
}

.info-block a {
  text-decoration: none;
  color: var(--text-color);
}

.inline_elem
{
	display:inline-block;
	margin:12px;
}
.rectbuttonmini
{
	border-radius:6px;
	width:70px;
	height:70px;
	padding:5px;
	display:inline-block;
	transition: transform 0.3s ease;
}
.rectbuttonmini:hover {
  transform: scale(1.05);
  background-color: #bbb;
  cursor:pointer;
}
body.dark-mode .rectbuttonmini:hover { background-color: #999999; }
.rectbuttonmini a { color:inherit; }
.rectbuttonactions
{
	flex: 1 1 32px;
	text-align: center;
	border-radius:10px;
	margin:2px;
	padding:4px;
	display:inline-block;
	transition: transform 0.6s ease;
	background-color: var(--section-bg);
}
.rectbuttonactions:hover {
  transform: scale(1.05);
  background-color: #bbb;
  cursor:pointer;
}
.svg-animated {
	width: 28px;
	color: var(--text-color);
	filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.4));
	transition: transform 0.2s ease, filter 0.3s ease;
	vertical-align: middle;    /* pour bien aligner le SVG */
	margin-right: 4px;         /* réduis ou augmente selon ton besoin */
}

.rectbuttonactions:hover .svg-animated {
  transform: scale(1.1);
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.6));
}

body.dark-mode .rectbuttonactions:hover { background-color: #999999; }
.rectbuttonactions a { color:inherit; }
.rectbuttonhigh
{
	flex: 1 1 180px;
	text-align: center;
	border-radius:10px;
	width:100px;
	height:100px;
	margin:5px;
	padding:10px;
	display:inline-block;
	transition: transform 0.3s ease;
}
.rectbuttonhigh:hover {
  transform: scale(1.05);
  background-color: #bbb;
  cursor:pointer;
}
body.dark-mode .rectbuttonhigh:hover { background-color: #999999; }
.twty
{
	font-size:20px;
}
.elvn
{
	font-size:11px;
}
.twlv
{
	font-size:12px;  
	margin: 0;           
	vertical-align: middle;   
}
.ten
{
	font-size:10px;
}
p.fourteen
{
	font-size:14px;
}
.hero-tagline
{
	padding-bottom:25px;
}
.split .feature-list
{
	width:50%;
	border-right:2px inset;
	border-color: rgba(112, 112, 112, 0.25);
	padding-top:20px;
}
.split
{
	display:flex;
}
.split .icons-column
{
	width:50%;
	padding-top:20px;
}
.split .icons-column h2
{
	padding:20px;
}
/* Container Carousel */
.carousel-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-track { 
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* Internet Explorer 10+ */
}

.carousel-track::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}

.carousel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  z-index: 1;
}
.carousel-nav.prev { left: 10px; }
.carousel-nav.next { right: 10px; }

.carousel-card {
  flex: 0 0 auto;
  scroll-snap-align: start;
  width: 300px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

.carousel-card p
{
  padding: 20px;
  font-size: 14px;
}

body.dark-mode .carousel-card {
  background: #111;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  font-size: 2rem;
  padding: 5px;
  border-radius: 50%;
  width:45px;
  cursor: pointer;
  z-index: 1;
}

.carousel_toppicture img {
  width: 100%;
  display: block;
  clip-path: ellipse(100% 85% at 50% 0%);
}

.prev { left: 5px; }
.next { right: 5px; }

.non-selectable {
  user-select: none;
}

/* Bloc 2*/
.bloc2-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 12px;
}

.bloc2-description {
  font-size: 16px;
  margin-bottom: 30px;
}

.bloc2-features {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 20px;
}

.feature-item {
  max-width: 300px;
  padding: 20px;
  background-color: var(--bg-color);
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.feature-item img {
  width: 100%;
  border-radius: 8px;
  margin-bottom: 15px;
}

.feature-item h3 {
  font-size: 18px;
  margin-bottom: 8px;
}

.feature-item p {
  font-size: 14px;
}

/* Bloc 3 */

.bloc3-title {
  font-size: 30px;
  text-align: center;
  margin-bottom: 40px;
}

.bloc3-module {
  display: flex;
  width: 80%;
  margin-bottom: 50px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 12px rgba(0,0,0,0.06);
  background-color: var(--bg-color);
}

.bloc3-left, .bloc3-right {
  flex: 1;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bloc3-left img, .bloc3-right img {
  width: 100%;
  border-radius: 8px;
}

.bloc3-left h3, .bloc3-right h3 {
  font-size: 22px;
  margin-bottom: 12px;
}

.bloc3-left p, .bloc3-right p {
  font-size: 15px;
  margin-bottom: 20px;
}

.bloc3-button {
  display: inline-block;
  padding: 10px 18px;
  background-color: lightgrey;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  color: var(--text-color);
}

/* ========== 🛍️ Amazon Banner ========== */
.ad-banner {
  text-align: center;
  margin-bottom: -20px;
}

.ad-banner img {
  max-width: 100%;
}

/* Tendances */
.tendances {
  padding: 20px 20px;
  background: linear-gradient(to right, var(--section-bg), var(--section-bg-alt));
  position: relative;
  z-index: 1;
}

.tendances h2 {
  text-align: center;
  margin-bottom: 20px;
  color: var(--text-color);
  position: relative;
}

.tendances_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* ✅ Centrage horizontal */
  gap: 32px;
}

/* Bloc image + texte */
.image-recherche {
  width: 100%;
  max-width: 180px;
  aspect-ratio: 2 / 3;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  background: var(--card-bg);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
  flex-shrink: 0;
}

.image-recherche:hover {
  transform: scale(1.02);
  box-shadow: 0 12px 32px rgba(0,0,0,0.3);
}

.image-box {
  width: 100%;
  max-width: 240px;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  background: var(--card-bg);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
  flex-shrink: 0;
  flex: 0 0 240px;
}

.image-box:hover {
  transform: scale(1.02);
  box-shadow: 0 12px 32px rgba(0,0,0,0.3);
}

.image-card {
  width: 100%;
  height: 100%;
  position: relative;
}

.image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.image-recherche:hover img {
  transform: scale(1.05);
}

.caption-recherche {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 16px 10px;
  background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  text-align: center;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
  backdrop-filter: blur(1.8px);
  transition: background 0.3s ease;
}

.image-recherche:hover .caption-recherche {
  background: linear-gradient(to top, rgba(0,0,0,0.95), transparent);
  opacity: 1;
}

/* ========== 📜 Footer ========== */
footer {
  background-color: var(--section-bg);
  padding: 30px;
  text-align: center;
  border-top: 1px solid var(--border-color);
}

.footer-links a {
  margin: 0 15px;
  color: inherit;
  text-decoration: none;
  font-size: 0.9rem;
}

.footer-links a:hover {
  color: var(--text-color);
}

.footer-links button {
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  padding: 0;
  font-size: 0.9rem;
  text-decoration: none;
}


/* Gestion des cookies */
.cookie-banner {
  position: fixed;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 20px;
  font-family: 'Segoe UI', sans-serif;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
  z-index: 9999; /* Assure que la bannière est au-dessus de tout */
  display: block;
  max-width: 600px;
  margin: 0 auto;
}

.cookie-banner p {
  margin: 0 0 12px;
  font-size: 14px;
  color: #333;
  text-align: center;
}

body.dark-mode .cookie-banner
{
	background-color: #464646;
	color: var(--text-color);
}
body.dark-mode .cookie-banner p
{
	color: var(--text-color);
}

.cookie-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.cookie-actions button {
  padding: 10px 18px;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  font-size: 14px;
}

#accept-cookies {
  background-color: #777777;
  color: white;
}

#decline-cookies {
  background-color: #e0e0e0;
  color: #333;
}

.cookie-actions a {
  font-size: 13px;
  color: #777777;
  text-decoration: underline;
  align-self: center;
}

/* Connexion */
    /* Fond semi-transparent */
    .modal-overlay {
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(0,0,0,0.5);
      display: none;
      justify-content: center;
      align-items: center;
      z-index: 1000;
    }
	
	.modal-overlay.show {
		display: flex;
	}

    /* Fenêtre de connexion */
    .modal-content {
      background: var(--bg-color);
      padding: 30px;
      border-radius: 10px;
      width: 400px;
	  max-width:80%;
      box-shadow: 0 10px 25px rgba(50,50,50,0.6);
      text-align: center;
    }

    .modal-content input {
      width: 90%;
      padding: 10px;
      margin: 10px 0;
      border: 1px solid #ccc;
      border-radius: 5px;
    }

    .modal-content button {
      width: 80%;
      padding: 10px;
      margin-top: 10px;
      background-color: var(--section-bg);
      border: none;
      border-radius: 5px;
      cursor: pointer;
    }

    .social-login {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 20px;
    }

    .social-login button {
      background-color: #4267B2; /* Facebook */
    }

    .social-login button.google {
      background-color: #DB4437; /* Google */
    }

    .close-btn {
		position:relative;
		width:20px;
		left:95%;
		font-size:1.4em;
		text-align:right;
		margin-right:-20px;
		margin-top:-20px;
		font-size: 18px;
		color: var(--text-color);
		cursor: pointer;
    }


/* Contenu pour les fiches */
/* === Container principal === */
#fiche-container {
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
  padding-top: 30px;
  animation: fadeIn 0.6s ease;
}

#fiche-container a {
  text-decoration: none;
  color: inherit;
  font-weight: 600;
}

#fiche-container .info-block {
  padding: 5px;
}

/* === Header === */
.fiche-header {
  text-align: center;
  margin-bottom: 5px;
}

.fiche-header h1 {
  font-size: 28px;
}

.fiche-header p {
  font-style: italic;
}

/* === Badges === */
.fiche-badges,
.badge-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 10px 0;
}

.badge-silver,
.badge-gold,
.badge-emeraude,
.badge-diamant,
.badge-rubis,
.badge-saphir,
.badge-ambre,
.badge-amethyste,
.badge-bronze,
.badge-platinum,
.badge-obsidienne, 
.badge-opale,
.badge-topaze,
.badge-quartz,
.badge-titane,
.badge-cobalt
 {
  display: flex;
  align-items: center;
  border-radius: 50px;
  padding: 8px;
  box-shadow:
  inset 0 1px 2px rgba(255, 255, 255, 0.6),
  inset 0 -1px 2px rgba(0, 0, 0, 0.2),
  0 0 6px rgba(255, 255, 255, 0.3),
  0 4px 12px rgba(0, 0, 0, 0.5);
  border: 3px solid rgba(190,190,190,0.95);
  filter: brightness(0.95) contrast(1.2);
  overflow: hidden;
  max-width: 60px;
  transition: max-width 0.8s ease;
  flex-shrink: 0;
}

.badge-silver   { background: linear-gradient(145deg, #dfe6e9, #b2bec3); }
.badge-gold     { background: linear-gradient(145deg, #f9e79f, #f1c40f); }
.badge-emeraude { background: linear-gradient(145deg, #a3e4d7, #1abc9c); }
.badge-diamant  { background: linear-gradient(145deg, #ecf0f1, #bdc3c7); }
.badge-rubis    { background: linear-gradient(145deg, #f5b7b1, #c0392b); }
.badge-saphir   { background: linear-gradient(145deg, #aed6f1, #2980b9); }
.badge-ambre    { background: linear-gradient(145deg, #f8c471, #e67e22); }
.badge-amethyste {  background: linear-gradient(145deg, #d2b4de, #8e44ad);}
.badge-bronze {  background: linear-gradient(145deg, #cd7f32, #a97142);}
.badge-platinum {  background: linear-gradient(145deg, #e5e4e2, #c0c0c0);}
.badge-obsidienne {  background: linear-gradient(145deg, #2c3e50, #1a1a1a);}
.badge-opale {  background: linear-gradient(145deg, #fbeee6, #d7ccc8);}
.badge-topaze {  background: linear-gradient(145deg, #f7dc6f, #f0b429);}
.badge-quartz {  background: linear-gradient(145deg, #fdfefe, #d5dbdb);}
.badge-titane {  background: linear-gradient(145deg, #95a5a6, #7f8c8d);}
.badge-cobalt {  background: linear-gradient(145deg, #5dade2, #2471a3);}

.badge-silver:hover,
.badge-gold:hover,
.badge-emeraude:hover,
.badge-diamant:hover,
.badge-rubis:hover,
.badge-saphir:hover,
.badge-ambre:hover,
.badge-amethyste:hover,
.badge-bronze:hover,
.badge-platinum:hover,
.badge-obsidienne:hover, 
.badge-opale:hover,
.badge-topaze:hover,
.badge-quartz:hover,
.badge-titane:hover,
.badge-cobalt:hover {
  max-width: 400px;
  padding-left: 12px;
}

.badge-label {
  font-weight: 600;
  color: #2c3e50;
  font-size: 16px;
  margin-left: 12px;
  opacity: 0;
  white-space: nowrap;
  transition: opacity 0.7s ease;
}

.badge-silver:hover .badge-label,
.badge-gold:hover .badge-label,
.badge-emeraude:hover .badge-label,
.badge-diamant:hover .badge-label,
.badge-rubis:hover .badge-label,
.badge-saphir:hover .badge-label,
.badge-ambre:hover .badge-label,
.badge-amethyste:hover .badge-label,
.badge-bronze:hover .badge-label,
.badge-platinum:hover .badge-label,
.badge-obsidienne:hover .badge-label, 
.badge-opale:hover .badge-label,
.badge-topaze:hover .badge-label,
.badge-quartz:hover .badge-label,
.badge-titane:hover .badge-label,
.badge-cobalt:hover .badge-label {
  opacity: 1;
}

.badge-silver svg,
.badge-gold svg,
.badge-emeraude svg,
.badge-diamant svg,
.badge-rubis svg,
.badge-saphir svg,
.badge-ambre svg,
.badge-amethyste svg,
.badge-bronze svg,
.badge-platinum svg,
.badge-obsidienne svg, 
.badge-opale svg,
.badge-topaze svg,
.badge-quartz svg,
.badge-titane svg,
.badge-cobalt
 {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
}

/* === Onglets === */
.fiche-tabs {
  display: flex;
  justify-content: center;
  gap: 30px;
  border-bottom: none;
}

.fiche-tabs a {
  font-weight: bold;
}

/* === Contenu principal === */
.fiche-content {
  display: flex;
  gap: 30px;
  padding: 20px;
}

.fiche-poster {
  flex: 1;
  margin-left: 20px;
  /* max-width: 90%; */
}

.poster-glow {
	position: relative;
	display: inline-block;
	border-radius: 12px;
	overflow: hidden;
}

.poster-glow img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

/* Effet de brillance en diagonale */
.poster-glow::after {
  content: "";
  position: absolute;
  top: -100%;
  left: -100%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    135deg,
    rgba(0, 0, 0, 0.0) 40%,
    var(--glow-color) 50%,
    rgba(0, 0, 0, 0.0) 60%
  );
  transform: rotate(25deg);
  pointer-events: none;
  opacity: 0;
}

.poster-glow:hover::after {
  animation: shine 3s ease forwards;
}

@keyframes shine {
  0% {
    top: -100%;
    left: -100%;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 100%;
    left: 100%;
    opacity: 0;
  }
}
.fiche-header .fiche-poster img
{
	max-height: 200px;
}

.fiche-details {
  flex: 3;
}

.fiche-details p {
  margin: 6px 0;
}

/* === Actions === */
.fiche-actions {
  display: flex;
  gap: 20px;
  margin: 20px 0;
  padding: 20px;
}

.fiche-actions button {
  background-color: #ecf0f1;
  border: none;
  padding: 10px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
}

/* === Rating === */
.fiche-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}

/* === Sections === */
.fiche-casting,
.fiche-notes,
.fiche-infos,
.fiche-liens {
  margin-top: 30px;
  padding: 20px;
  background: #fdfdfd;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.fiche-casting h3,
.fiche-notes h3,
.fiche-infos h3,
.fiche-liens h3
{
  font-size: 1.4em;
  margin-bottom: 15px;
  color: #333;
}

#moreinfos
{
	display:none;
}

ul.fiche-casting li {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
  text-decoration: none;
}
.img-thumb {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transition: transform 0.3s ease;
}
.img-thumb-mini {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transition: transform 0.3s ease;
}
.img-thumb-maxi {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 20%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transition: transform 0.3s ease;
}
.img-thumb:hover {
  transform: scale(1.1);
}
.img-thumb-mini:hover {
  transform: scale(1.1);
}
.img-thumb-maxi:hover {
  transform: scale(1.1);
}
.img-thumb-align-item {
  display: inline-flex;
  align-items: center; /* Centrage vertical */
  gap: 4px;
  color: inherit;
  margin-bottom: 6px;
  vertical-align: middle;
}
.img-thumb-comment {
  font-style: italic;
  margin-left: 4px;
  display: inline-block;
  align-items: center;
  line-height: 1;
  margin-top: 2px; /* Ajuste selon ton rendu */
}

/* === Footer === */
.fiche-footer {
  text-align: center;
  margin-top: 40px;
  font-style: italic;
}

/* === Liens externes === */
.fiche-links-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.link-category {
  flex: 1 1 250px;
  min-width: 220px;
  padding: 0 40px;
}

.link-category h4 {
  font-size: 1.1em;
  margin-bottom: 10px;
  border-bottom: 1px solid #a0a0a022;
  padding-bottom: 4px;
}

.link-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.link-card {
	display: flex;
	padding: 10px;
	width: 80%;
	max-width: 400px;
	background-color: var(--section-bg);
	margin: 10px auto;
	gap: 10px;
	border-radius: 6px;
	text-decoration: none;
	transition: background 0.2s ease;
}

.link-card img {
  height: auto;
  width: auto;
  max-height: 20px;
  max-width: 60px;
  object-fit: contain;
  display: block;
}

.link-card:hover {
	background-color: #bbb;
}

.liste-links .link-card
{
	margin-right: 15px;
	display: inline-block;
	width:auto;
	height:auto;
}

.liste-links .link-card img
{
	display: inline;
	padding-right: 15px;
	vertical-align: middle;
}

body.dark-mode .link-card:hover {
	background-color: #999999;
}

/* === Autres blocs === */
.fiche_others {
  padding: 30px;
  text-align: center;
}

.fiche_others > div {
  padding: 40px 0;
}

.fiche_others ul {
  list-style: none;
  display: inline-block;       /* Permet de centrer le bloc */
  text-align: left;            /* Aligne le texte à gauche */
  margin: 0 auto;              /* Centre horizontalement dans le conteneur */
  padding-left: 1.5em;         /* Garde l’indentation des puces */
}

.fiche-notes,
.fiche-infos,
.fiche-liens,
.fiche-casting {
  background-color: #f9fbfd;
  border-radius: 12px;
}

/* Couleurs de fond et texte en mode sombre */
body.dark-mode .fiche-notes,
body.dark-mode .fiche-infos,
body.dark-mode .fiche-liens,
body.dark-mode .fiche-casting {
  background-color: #2c2c2e; /* fond sombre doux */
  color: #f0f0f0;            /* texte clair lisible */
}

/* Pour les titres dans ces blocs */
body.dark-mode .fiche-notes h3,
body.dark-mode .fiche-infos h3,
body.dark-mode .fiche-liens h3,
body.dark-mode .fiche-casting h3 {
  color: #ffffff;
}

/* === Animation === */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.edit-zone {
  display: flex;
  justify-content: flex-end;
}

#edit-toggle {
  background-color: #00000000;
  border: none;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transition: background-color 0.3s ease;
  transition: transform 0.5s ease;
  position:absolute;
}

#edit-toggle:hover {
  transform: scale(1.1);
}
.readonly h2, .readonly p {
  /* pointer-events: none; */
  /* user-select: none; */
}

/* Preview Fiche */
#recuppreview {
  position: absolute;
  z-index: 2200;
  display: none;
  max-width: 280px;
  border-radius: 12px;
  background-color: var(--bg-color);
  color: var(--text-color);
  box-shadow: 0 6px 18px rgba(40,40,40,0.6);
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  line-height: 1.4;
  border: 2px solid rgba(90,90,90,0.1);
  overflow: hidden;
  transition: opacity 0.2s ease, transform 0.8s ease;
  transform: translateY(10px) scale(0.98);
  box-shadow: 0 6px 18px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.1);
  opacity: 0;
}

#recuppreview.show {
  display: block;
  opacity: 1;
  transform: translateY(0) scale(1);
}

.preview-header {
  background-color: var(--section-bg);
  padding: 0.5rem 0.8rem;
  font-weight: 600;
  font-size: 0.9rem;
  text-align: center;
}

.preview-body {
  padding: 0.6rem 0.8rem;
}

.preview-body p {
  margin: 0.4rem 0;
}

/* Contrib */
.contribuer-page {
  padding: 60px 20px;
  width: 100%;
  max-width: var(--bandeau-width);
  margin: 0 auto;
  background: var(--section-bg);
  color: var(--text-color);
  text-align:center;
}

.contribuer-banner {
  width: 100%;
  max-width: 300px;
  display: block;
  margin: 0 auto 30px;
}

.contribuer-title {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.contribuer-text {
  text-align: center;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 40px;
}

.cta-link {
  color: var(--accent-color);
  font-weight: 600;
  text-decoration: underline;
}

.section-title {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 20px;
  border-left: 4px solid var(--accent-color);
  padding-left: 12px;
}

.accordion-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.accordion {
  background-color: var(--card-bg);
  color: var(--text-color);
  cursor: pointer;
  padding: 14px 20px;
  border: none;
  border-radius: 8px;
  font-size: 1.2rem;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: background-color 0.3s ease;
  width:80%;
  margin: 0 auto;
}

.accordion:hover {
  background-color: var(--section-bg-alt);
}

.panel {
  display: none;
}
.panel.open {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* ✅ Centre les boutons horizontalement */
  gap: 16px;                /* ✅ Espacement régulier entre les boutons */
  padding: 20px 0;
  width: 80%;
  margin-left: 10%;
}

.cat-button {
  background-color: var(--card-bg);
  border: 1px solid var(--accent-color);
  border-radius: 8px;
  padding: 12px 18px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
  text-align: center;
  min-width: 160px;
  flex: 0 1 auto;           /* ✅ largeur auto sans étirement */
}

.cat-button:hover {
  background-color: var(--accent-color);
  color: #fff;
  transform: scale(1.05);
}


.cat-button.selected {
	border: 5px solid green;
	background-color:#666666;
	color: white;
}

.contribuer-form {
  max-width: 700px;
  margin: 40px auto;
  padding: 30px;
  background-color: var(--section-bg);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contribuer-form h2 {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 5px;
  text-align: center;
  color: var(--accent-color);
}

.contribuer-form p {
  font-weight: 500;
  margin-bottom: 6px;
  display: block;
  font-size: 1.2rem;
  color: var(--text-color);
}

.prompt_area {
  width: 80%;
  padding: 10px 14px;
  font-size: 1.2rem;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  background-color: var(--card-bg);
  color: var(--text-color);
  transition: border 0.3s ease;
  margin: 0 auto;
}

.prompt_area:focus {
  border-color: var(--accent-color);
  outline: none;
}

select.prompt_area {
  width: 80px;
  font-weight: bold;
}

.boutonvalidation {
  background-color: #777777;
  color: var(--text-color);
  border-color: var(--card-bg);
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  width: fit-content;
  align-self: center;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.boutonvalidation:hover {
  background-color: var(--card-bg);
  transform: scale(1.05);
}

.modal-content .boutonvalidation
{
  margin: 0 auto; /* ✅ Centre horizontalement */
  display: inline-block; /* ✅ Garde la taille du bouton */
  margin-top: 20px;
}


/* Page des envies */
.wishlist-page {
  padding: 60px 20px;
  width: 100%;
  max-width: var(--bandeau-width);
  margin: 0 auto;
  background: var(--section-bg);
  color: var(--text-color);
  text-align:center;
}
.wishlist-header {
  text-align: center;
  margin-bottom: 30px;
}
.share-options {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 10px;
}
.btn {
  background-color: var(--primary);
  color: white;
  padding: 10px 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
}
.wishlist-item {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  background-color: var(--card-bg);
  border-radius: 12px;
  padding: 40px;
  margin-bottom: 24px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  align-items: flex-start;
}

.item-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding-left:20px;
}

.item-info h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.item-info p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--text-muted);
}

.item-actions {
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 12px;
}

.btn-reserve {
  background-color: var(--accent);
  color: white;
  padding: 8px 14px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  font-weight: 600;
}

.reserved-by {
  font-size: 0.9rem;
  color: var(--text-muted);
}

.wishlist-item.accordion {
  background-color: var(--card-bg);
  color: var(--text-color);
  cursor: pointer;
  padding: 10px 14px;
  border: none;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: background-color 0.3s ease;
  width: 100%;
}

.panel {
  display: none;
  padding: 10px 0;
}

.wishlist-item.accordion.active + .panel {
  display: block;
}

/* Mise en forme Listes */
/* 🎾 Mise en forme Listes Tournoi */
.round-block {
  margin-bottom: 30px;
  width: 80%;
  margin-left: 10%;
}
.round-block h2 {
  font-size: 1.4em;
  border-bottom: 1.5px solid var(--border-color);
  padding-bottom: 10px;
  color: var(--text-color);
}

/* 📋 Cartes de match (résultats globaux) */
.match-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.player-duo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.player-side {
  display: flex;
  align-items: center;
  gap: 8px;
}

.vs-label {
  font-style: italic;
  color: #666;
}

.player-name {
  font-weight: bold;
  font-size: 1
}

.match-card {
  border: 1.5px solid var(--border-color);
  border-radius: 6px;
  padding: 10px;
  width: 96%;
  margin: 10px auto;
  background-color: var(--section-bg);
}
.match-date {
  font-weight: bold;
  color: var(--text-color);
  padding-left: 20px;
  padding-bottom: 5px;
}
.match-players {
  margin: 5px 0;
}
.match-score,
.match-sets {
  text-align: center;
  margin-top: 8px;
  font-size: 0.95em;
}

.score-text {
  display: inline-block;
  font-weight: bold;
  color: #2e8b57;
}

.sets-text {
  display: inline-block;
  font-family: 'Courier New', monospace;
}
/* 👤 Cartes joueurs */
.player-card {
  background: var(--section-bg);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  margin: 30px auto;
  max-width: 800px;
  width: 90%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.player-header {
  display: flex;
  align-items: center;
  gap: 20px;
}

.player-header .img-thumb-maxi,
.club-header .img-thumb-maxi
{
  border: 5px solid #d4af37; /* doré */	
}

.player-info
{
	margin-left: 10px;
}

.player-info h2 {
  font-size: 1.6em;
  margin: 0;
  color: var(--text-color);
}

.final-rank {
  font-size: 1.1em;
  font-weight: bold;
  color: #007f00;
  margin-bottom: 5px;
}

.score {
  font-weight: bold;
}

.sets {
  font-family: 'Courier New', monospace;
  font-size: 0.9em;
}

.player-actions,
.club-actions {
  display: flex;
  justify-content: center;
  gap: 15px;
  padding: 5px;
}

.player-actions .btn-note,
.player-actions .btn-favori,
.club-actions .btn-note,
.club-actions .btn-favori{
  padding: 10px 20px;
  background-color: var(--bg-color);
  color: var(--text-color);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.95em;
  transition: background-color 0.3s ease;
}

.player-actions .btn-note:hover,
.player-actions .btn-favori:hover,
.club-actions .btn-note:hover,
.club-actions .btn-favori:hover {
  background-color: var(--section-bg);
}

.club-card {
  background: var(--section-bg);
  border-radius: 12px;
  padding: 20px;
  margin: 20px auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  max-width: 800px;
  width: 90%;
}

.club-header {
  display: flex;
  align-items: center;
  gap: 12px;
}

.club-info h2 {
  font-size: 1.4em;
  margin: 0;
}

.club-stats {
  margin: 10px;
  padding: 10px;
}


/* 🧱 Blocs de parcours */
.match-block {
  margin-top: 15px;
  padding: 12px;
  background: var(--section-bg);
  border-left: 4px solid #0033a0;
  width: 100%;
}
.match-block h3 {
  margin: 0;
  font-size: 1.1em;
  text-transform: uppercase;
  color: #c00;
}
.match-block p {
  margin: 3px 0;
  font-size: 1.1em;
  color: var(--text-color);
}
.match-block .score {
  font-weight: bold;
}
.match-block .sets {
  font-family: 'Courier New', monospace;
  font-size: 1em;
}
.match-block.victoire {
  border-left: 4px solid #2e8b57;
  background-color: #eaf7ea;
}
.match-block.defaite {
  border-left: 4px solid #b22222;
  background-color: #fbeaea;
}
body.dark-mode .match-block.victoire {
  background-color: #244524;
}
body.dark-mode .match-block.defaite {
  border-left: 4px solid #b22222;
  background-color: #452424;
}
.player-side .img-thumb {
  border: 3px solid #d4af37; /* doré */	
}
.match-equipe .img-thumb {
  border: 3px solid #d4af37; /* doré */	
}

.journee-block {
	width:80%;
	margin-left: 10%;
	margin-bottom: 30px;
}

.journee-block h2 {
  font-size: 1.4em;
  border-bottom: 1.5px solid var(--border-color);
  padding-bottom: 10px;
  color: var(--text-color);
}

.match-ligne {
  width: 96%;
  margin: 10px auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  font-size: 0.95em;
  background-color: var(--section-bg);
  border: 1.5px solid var(--border-color);
  border-radius: 6px;
}

.match-date {
  flex: 1;
  color: #666;
  font-style: italic;
}

.match-equipe {
  flex: 1;
  text-align: center;
}

.match-equipe a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.match-equipe .player-name {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
  font-size: 1.2em;
}

.match-score-team {
	padding:25px;
	margin-top: 0px;
  font-weight: bold;
  color: #2e8b57;
  text-align: center;
  vertical-align: middle;
  top:5px;
}

.match-score-team:hover {
  transform: scale(1.25);
  transition: all 0.3s ease;
}

/* 🔁 Boutons de bascule */
.toggle-buttons {
  margin: 30px auto;
  text-align: center;
}
.toggle-buttons button {
  padding: 12px 24px;
  margin: 0 10px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  cursor: pointer;
  color: var(--text-color);
  background-color: var(--section-bg);
  font-size: 1em;
  transition: background-color 0.3s ease;
}
.toggle-buttons button:hover {
  background-color: var(--bg-color);
}
.toggle-buttons button.active {
  background-color: #444444;
  color: white;
  font-weight: bold;
  border: 4px solid #444444;
}

.boutiqueamazon
{
	position: relative;
	font-size:10px;
	font-weight:bold;
	color:white;
	background-color:black;
	left:100%;
	top:-20px;
	width:140px;
	height:12px;
	line-height:12px;
	text-align:left;
	margin-left: -140px;
}

.fiche-events {
  margin-top: 10px;
  padding: 10px;
  border-radius: 8px;
}

.event-equipe {
  margin-bottom: 5px;
}

.event-equipe h3 {
  font-size: 1.2em;
  color: var(--primary-color);
  margin-bottom: 10px;
}

.event-type h4 {
  font-size: 1em;
  margin: 6px 0;
  color: var(--text-color);
}

.event-type p {
  margin: 0 0 10px;
  font-size: 0.95em;
  color: var(--fiche-text);
}

.score-inline {
  font-weight: bold;
  font-size: 0.95em;
  color: var(--section-bg);
  margin-left: 6px;
}

.fiche-score-resume {
  margin: 20px auto;
  font-size: 1.2em;
  text-transform: uppercase;
  font-weight: bold;
  margin-left:25%;
}

.fiche-score-resume a {
  text-decoration: none;
  font-weight: bold;
}

.fiche-score-resume a:hover {
  text-decoration: underline;
}

.fiche_score_score{
  color: var(--section-bg);
}

.filter-count-summary {
  margin: 2px 0 12px 0;
  font-weight: bold;
}

.gift-reserved-info {
  margin-top: 8px;
  padding: 8px;
  border-left: 4px solid grey;
  border-radius: 4px;
  font-size: 0.9em;
}

.accordion-section {
  margin-bottom: 20px;
}

.accordion-toggle {
  border: none;
  padding: 25px 25px;
  font-size: 1.4em;
  cursor: pointer;
  width: 100%;
  text-align: center;
  border-radius: 6px;
  transition: background 0.3s;
}

.accordion-toggle:hover {
  background-color: #e0e0e0;
}

.accordion-toggle.active {
  font-weight: bold;
}

.accordion-content {
  padding: 10px 14px;
}

.error-wrapper {
  text-align: center;
  padding: 60px 20px;
  background: linear-gradient(to bottom, lightgrey, grey);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  margin: 40px auto;
  max-width: 600px;
}
.error-icon {
  font-size: 64px;
  margin-bottom: 20px;
}
.error-button {
  display: inline-block;
  margin-top: 20px;
  padding: 10px 20px;
  background: var(--bg-color);
  color: var(--text-color);
  text-decoration: none;
  border-radius: 8px;
  font-weight: bold;
}
.error-button:hover {
  background: #b88c3f;
}

















/* ========== 📱 Responsive Mobile ========== */
@media screen and (max-width: 600px) {
  .header-top {
    flex-direction: column;
    align-items: flex-start;
  }

  .search-bar {
    width: 100%;
    margin-top: 10px;
  }

  .user-actions {
    justify-content: space-between;
    width: 100%;
  }

  .user-actions a {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    margin-right: 8px;
    border-radius: 6px;
    background-color: var(--background-neutral);
    color: var(--text-color);
    text-decoration: none;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.3s ease, color 0.3s ease;
  }

  .user-actions a:hover {
    background-color: var(--hover-neutral);
    color: var(--accent-color);
  }

  .subtitle-item {
    font-size: 0.9rem;
    margin: 0 10px;
  }
  
  .fiche-content {
    flex-direction: column;
    align-items: center;
  }

  .fiche-poster img {
    max-width: 100%;
  }

  .fiche-actions {
    flex-wrap: wrap;
    justify-content: center;
  }

  .fiche-actions button {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 800px) {
  .fiche-content {
    flex-direction: column;
    align-items: center;
  }
  .player-card {
    padding: 15px;
  }
  .player-header {
    flex-direction: column;
    align-items: center;
  }
  .player-actions {
    flex-direction: column;
    gap: 10px;
  }
  .match-block {
    padding: 10px;
  }
  .toggle-buttons button {
    padding: 10px 16px;
    font-size: 0.95em;
  }
  .fiche-score-resume
  {
	  text-align: center;
	  margin-left: auto;
  }
  
}

@media (max-width: 400px) {
  #recuppreview {
    max-width: 90vw;
    font-size: 0.8rem;
  }
}

@media (max-width: 1000px) {
  .menu-details {
	width: 96vw;
  }
}

@media (max-width: 600px) {
  .wishlist-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .image-box {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .item-actions {
    align-items: center;
  }

  .accordion {
    width: 100%;
  }
}