/* 
Theme Name:   Sport Talent
Description:  Thème pour le site du soutien à la relève sportive suisse
Author:       Kaufmann Interactive Design
Template:     Divi
Version:      1.0.0
*/

@font-face {
    font-family: 'Caveat';
    src: url('fonts/Caveat-Regular.woff2') format('woff2'),
        url('fonts/Caveat-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
/* Font-family */
  --font-script: "Caveat", sans-serif;
	
  /* Base typo */
  --font-size-base: 17px;
  --font-size-script-base: 24px;
  --line-height-base: 1.65;

  /* Échelle typographique fluide */
  --fs-xs: clamp(0.82rem, 0.78rem + 0.15vw, 0.9rem);
  --fs-sm: clamp(0.94rem, 0.9rem + 0.2vw, 1rem);
  --fs-base: 1rem;

  --fs-h6: clamp(1.05rem, 1rem + 0.3vw, 1.2rem);
  --fs-h5: clamp(1.18rem, 1.08rem + 0.45vw, 1.4rem);
  --fs-h4: clamp(1.35rem, 1.18rem + 0.75vw, 1.75rem);
  --fs-h3: clamp(1.6rem, 1.3rem + 1.2vw, 2.25rem);
  --fs-h2: clamp(2rem, 1.55rem + 2vw, 3rem);
  --fs-h1: clamp(2.1rem, 1.75rem + 3vw, 4.25rem);

  /* Interlignages */
  --lh-heading: 1.12;
  --lh-body: 1.45;
}

/* Base globale */
html {
  /*font-size: var(--font-size-base);*/
}

body,
.et_pb_text,
.et_pb_text p,
.et_pb_blurb_description,
.et_pb_toggle_content,
.et_pb_accordion_item,
.et_pb_tab_content {
  /*font-size: var(--fs-base);*/
  line-height: var(--lh-body);
}

/* Titres globaux Divi */
h1, .et_pb_module h1 {
  font-size: var(--fs-h1);
  line-height: var(--lh-heading);
	text-transform: uppercase;
	font-weight: 500
}

h2, .et_pb_module h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-heading);
	text-transform: uppercase;
	font-weight: 500
}

h3, .et_pb_module h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-heading);
}

h4, .et_pb_module h4 {
  font-size: var(--fs-h4);
  line-height: 1.18;
}

h5, .et_pb_module h5 {
  font-size: var(--fs-h5);
  line-height: 1.25;
}

h6, .et_pb_module h6 {
  font-size: var(--fs-h6);
  line-height: 1.3;
}

/* Marges verticales cohérentes */
.et_pb_text h1,
.et_pb_text h2,
.et_pb_text h3,
.et_pb_text h4,
.et_pb_text h5,
.et_pb_text h6 {
  margin-top: 0;
  margin-bottom: 0.55em;
}

.et_pb_text p {
	margin-bottom:.5em;
		padding-bottom:.3em
}


/* Petits textes utiles */
.text-small {
  font-size: var(--fs-sm);
}
.font-gold,
.font-gold p {
	color: var(--gcid-secondary-color) !important;
}

.text-xs {
  font-size: var(--fs-xs);
}

.font-script, 
.font-script p, 
.font-script h2, 
.font-script h3 {font-family: var(--font-script); line-height: 1.1; text-transform:none}

/*.font-script p {font-size:var(--font-size-script-base)}*/

html, body, p, label {
  	font-family: "realist", sans-serif;
	font-weight: 400;
	font-style: normal;
}
h1, h2, h3, .et_pb_module_header {
	font-family: "realist", sans-serif;
	font-weight: 700;
}

/* Menu */
#menu-menu-principal li a, 
#mobile_menu1 li a {
	padding-left:24px;
	position: relative;
	transition: none
}
#mobile_menu1 li a {
	padding-left:28px;
}
#menu-menu-principal li a:hover {
	color:#fff
}
#menu-menu-principal li a::before,
#mobile_menu1 li a::before {
	content:'';
	display: block;
	background: url("assets/ico-main-nav.svg") no-repeat;
	width:16px;
	height: 31px;
	position: absolute;
	left: 0;
	top: -7px;
}
#menu-menu-principal li a:hover::before,
#menu-menu-principal li.current_page_item a::before,
#mobile_menu1 li a::before {
	background: url("assets/ico-main-nav-hover.svg") no-repeat;
}
#mobile_menu1 li a::before {
	top:8px
}
/* Tableaux */
.sp-wrap { font-family: var(--font-sans); padding: 1rem 0; }
  .sp-title { font-size: 18px; font-weight: 500; color: var(--color-text-primary); margin: 0 0 1.5rem; }
  .sp-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .sp-table-wrap table { width: 100%; border-collapse: collapse; min-width: 800px; border:none !important }
  .col-label { width: 38%; }
  .col-tier { width: 15.5%; text-align: center; }
  th { padding: 0 12px 10px; font-size: 14px; font-weight: 400; color: var(--color-text-secondary); }
  th.tier-head { text-align: left; }
  .tier-name { display: block; font-weight: 900; font-size: 14px; color: var(--color-text-primary); }
  .tier-amount { display: block; font-weight: 900; font-size: 15px; color: var(--color-text-primary); margin-top: 2px; }
  .tier-icon { display: flex;  gap: 3px; margin: 6px 0 0; }
  .tri-black { width: 0; height: 0; border-left: 14px solid transparent; border-right: 0px solid transparent; border-top: 11px solid #1A1A1A; }
  .tri-gold  { width: 0; height: 0; border-left: 0px solid transparent; border-right: 14px solid transparent; border-top: 11px solid #C9A84C; }
  tbody tr { border-bottom: 0.5px solid var(--color-border-tertiary); }
  tbody tr:last-child { border-bottom: none; }
  td { padding: 9px 12px; font-size: 14px; color: var(--color-text-primary); }
  td.label-cell { font-style: italic; color: var(--color-text-secondary); font-size: 14px; }
  td.val-cell { text-align: left; font-size: 14px; }
  .dash { color: var(--color-text-secondary); }
  .sp-note { font-size: 14px; color: var(--color-text-secondary); margin: 12px 0 0; line-height: 1.5; }
  .sp-note strong { font-weight: 500; }
  @media (max-width: 500px) {
    .sp-title { font-size: 15px; }
    td, th { padding: 8px 7px; font-size: 12px; }
    .tier-amount { font-size: 13px; }
  }
sup {
  bottom: 0.3em;
}
.mb-0 h2, .mb-0 h3 {
	margin-bottom:0
}
