/*
Theme Name: Twenty Twenty-Four child
Template: twentytwentyfour
Version: 9.12
*/

body {
  font-family: 'Barlow Semi Condensed', sans-serif;
}

.rugby-ytbe-border {
  box-shadow: 6px 0px 5px rgba(0, 0, 0, 0.07);
}

.rugby-home-nav :where(.wp-site-blocks :focus) {
  outline: none !important;
  color: #d21f3f !important;
}

.rugby-home-nav :where(.wp-block-navigation a:where(:not(.wp-element-button)):hover) {
  text-decoration: none!important;
  color: #d21f3f !important;
  transition: color 0.3s ease, text-decoration 0.3s ease;
}

.fr-logo-top-right img {
	width: 88px;
	height: 88px;
} 
.equipe img, .logo_club {
    width: 25px;
	height: 25px;
}
.header-mobile {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:1000000;
    top: unset;
	visibility: hidden;
}
.mobile-home-img {
	 width: 200px;
	 height: 200px;
	 overflow: hidden;
}
.mobile-home-img img {
	 width: 100%;
	 height: 100%;
	 object-fit: cover;
}
.rugby-container {
    background-color: #1A202C;
    color: #A0AEC0;
    width: 100%;
    margin: 0 auto;
    padding: 2.5rem 1rem;
}
.rugby-table-container {
    margin-top: 1.5rem;
    overflow-x: auto;
}
.rugby-table {
    width: 100%;
    border-collapse: collapse;
    color: #A0AEC0;
}
.rugby-table thead th {
    background-color: #2D3748;
    text-transform: uppercase;
    padding: 0.75rem;
    text-align: left;
}
.rugby-table tbody tr:nth-child(even) {
    background-color: rgba(0, 0, 0, 0.2);
}
.rugby-table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.1);
}
.rugby-team-cell {
    display: flex;
    align-items: center;
}
.rugby-team-cell img {
    width: 20px;
    margin-right: 10px;
}
.rugby-team-name {
    font-weight: 500;
}
.rugby-text-green {
    color: #16A34A;
}
.rugby-text-gray {
    color: #A0AEC0;
}
.rugby-text-red {
    color: #EF4444;
}
.container-home button, #dateSelectorContainer button, .container-match button {
	color: white;
	background-color: #004D90;
	padding: 5px 10px;
	border-radius: 5px;
	border: none;
}

.rugby-grid-goup {
	margin-right: -20px;
	text-align: center;
}

.results-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
    position: relative;
    background-color: #fff;
}

.results-grid::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    background-color: #ddd;
    z-index: 1;
}

.results-grid div {
    text-align: center;
    font-size: 1.2rem;
    padding: 10px; 
    position: relative; 
    z-index: 2;
	margin-right: -20px;
  	margin-left: -20px;
	text-decoration: none;
}

.results-grid div a {
	text-decoration: none;
}

.results-grid div::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ddd;
    margin-top: 28px;
}

.tribe-common svg:not(:root) {
    width: 10px;
    height: 10px;
}

.rank-circle {
    width: 7px;
    height: 7px;
    margin: 0.07em;
    border-radius: 50%;
    background-color: rgb(51, 51, 136);
    display: inline-block;
}
.rank-circle-v { background-color: green; }
.rank-circle-n { background-color: rgba(205, 205, 24, 0.832); }
.rank-circle-p { background-color: #f44336; }

abbr[title] {
    text-decoration: none !important;
    cursor: default;
}
.rank-table-p {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(0,0,0,0.15);
	text-align: center;
}
#rankTableContainer th, #rankTableContainer td {
    border-bottom: 1px solid #F4F5F9;
    padding: 4px;
    text-align: left;
    white-space: nowrap;
}
.rank-table-r {
  text-align: center;
  min-width: 50px;
  margin-right: 5px;
}
#rankTableContainer th {
  background-color: #004D90;
  color: white;
  padding: 6px 0;
}
.rank-bold {
    font-weight: bold;
    background-color: #F4F5F9;
    text-align: center;
}
.rank-team-name {
    text-align: left;
    margin-left: 5px;
}
.rank-position {
    font-weight: bold;
    padding-right: 10px;
}
tr .rank-team-logo {
  width: 50%;
  text-align: left;
}
.rank-team-logo img {
    width: 25px;
    height: 25px;
	vertical-align: middle;
    padding: 8px 0;
}
.rank-forme-column {
  min-width: 50px;
}
.rank-table-p tr {
	border-bottom: solid 1px #00000012;
}
.rugby-home-sep { display: none; }

@media (max-width: 640px) {
  th, td {
    display: none;
  }
  th:nth-child(1), th:nth-child(2), th:nth-child(3),
  th:nth-child(4), th:nth-child(5), th:nth-child(10),
  td:nth-child(1), td:nth-child(2), td:nth-child(3),
  td:nth-child(4), td:nth-child(5), td:nth-child(10) {
    display: table-cell;
  }
  .rank-circle {
    width: 8px;
    height: 8px;
    margin: 1px;
  }
  .rank-forme-column {
    white-space: nowrap;
    overflow: visible;
  }
  .rank-team-logo img {
    display: none;
  }
  .rank-team-name {
    font-size: 12px;
    margin-left: 0px;
  }
  #rankTableContainer {
    font-size: 12px;
  }
}

.rugby-home-youtbe-title {
	display: none;
}

@media (max-width: 768px) {
	header {
	  position: fixed;
	  top: 0;
	  left: 0;
	  right: 0;
	  z-index: 500; /* au-dessus du contenu qui défile, très en-dessous de l'overlay JS (2147483000) */
	}
	/* Le header étant fixed, tout contenu qui commence juste après lui dans le
	   flux normal (hero, boutons, titres...) peut se retrouver caché dessous
	   selon les pages — correctif global au lieu de corriger page par page. */
	.wp-site-blocks {
	  padding-top: 70px;
	}
	/* <header class="match-header"> des pages live hérite de la règle générique
	   ci-dessus (même balise sémantique <header>) et s'affiche donc visuellement
	   au-dessus du vrai header du site (logo + menu burger) — c'est voulu, sinon
	   le badge compétition/journée/date de la page live disparaît. Mais comme
	   .match-header n'a aucun lien ni bouton à lui (juste du texte), on le rend
	   transparent aux clics pour que le menu burger/logo restent cliquables
	   au travers. */
	.match-header {
	  pointer-events: none;
	}
	.rugby-header {
	  padding-top: 5px !important;
      padding-bottom: 5px !important;
	}
	.rugby-main-body {
	  padding-left: 30px;
	}
    .results-grid {
        grid-template-columns: 1fr;
    }
    .results-grid::before {
        display: none;
    }
	.results-grid div {
    	font-size: 1.1rem;
	}
	.header-desktop {
	  display: none;
	}
	.header-mobile {
	  visibility: visible;
	  justify-content: space-evenly;
	  gap: 0px;
	}
	.mobile-img {
		padding-top: 10px;
		text-align: center;
	}
	.mobile-img a {
		text-decoration: none;
	}
	.mobile-home-content {
		display: none;
		width: 0px;
	}
	.mobile-home-img {
		width: 80px !important;
		height: 80px !important;
		overflow: hidden;
		flex-shrink: 0;
		border-radius: 8px;
	}
	.mobile-home-img img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
	/* Premier article de la liste en grand (image pleine largeur), les suivants en petites vignettes carrées. */
	.wp-block-post-template > li:first-child .wp-block-columns {
		flex-direction: column !important;
	}
	.wp-block-post-template > li:first-child .wp-block-column {
		flex-basis: 100% !important;
	}
	.wp-block-post-template > li:first-child .mobile-home-img {
		width: 100% !important;
		height: 200px !important;
		border-radius: 12px;
	}
	.rugby-home-sep {
		border: 1px solid #00000052;
		display: block;
	}
	.rugby-media-img, .rugby-media-img img {
		height: 400px !important;
	}
	.rugby-home-youtbe-title {
		display: block;
		text-align: center;
	}
	#h-rugby-en-direct {
		text-align: center;
		font-size: 22px !important;
	}
	/* Espaces (wp:spacer) autour du carousel de matchs en home, trop grands sur mobile. */
	.home .wp-block-spacer {
		height: 24px !important;
		margin-top: 0 !important;
	}
	.home .container-home {
		margin-top: 0 !important;
	}
	/* Paragraphes vides du widget matchs (autour des boutons scroll) : gardent
	   une marge par défaut alors qu'ils ne contiennent rien. */
	.home .container-perso > p {
		margin: 0 !important;
	}
	/* La barre mobile fixe (.header-mobile) masque le bloc pagination
	   (précédent/suivant) en bas des pages d'archive paginées. */
	.wp-block-query-pagination {
		margin-bottom: 90px;
	}
}

.player-bio {
  border: 1px solid #ccc;
  padding: 15px;
  margin-bottom: 20px;
  background: #f9f9f9;
  border-radius: 5px;
}

.player-bio img {
  float: left;
  margin-right: 15px;
  border-radius: 5px;
  max-width: 150px;
}

.player-bio h2 {
  margin-top: 0;
}

.player-bio::after {
  content: "";
  display: block;
  clear: both;
}

/* 🩹 (15/09/2026) Anti-zoom iOS Safari : tout input/textarea/select sous 16px
   de font-size déclenche un zoom automatique au focus (comportement natif
   iOS), qui laisse la page "coincée" zoomée tant qu'on ne dézoome pas à la
   main — le menu burger (haut) et la barre de nav (bas), tous deux en
   position fixed, sortent alors du viewport visible. Le champ de recherche
   du bloc Search natif WP héritait de 0.9rem (14.4px) du thème parent.
   16px minimum = pas de zoom déclenché, sans rien changer visuellement en
   desktop (règle limitée au mobile). */
@media (max-width: 782px) {
  input,
  textarea,
  select,
  .wp-block-search__input {
    font-size: 16px !important;
  }
}


