/* La Régate — classement payant des bateaux-écoles (08/10/2026). Mode clair uniquement,
   jetons du thème Pavillon (--voile/--rade/--nuit/--pavillon/--jaune-q/--coque/--tribord/
   --babord), aucune couleur propre introduite. Préfixe de classes : rgt- uniquement. */

.rgt-page{ padding-bottom:clamp(3rem,6vw,5.5rem); }

/* ====================== En-tête (fond nuit, coupe d'étrave) ====================== */
.rgt-intro{ background:var(--nuit); }
.rgt-intro-in{ padding-block:clamp(2rem,5vw,3.6rem) clamp(2.6rem,6vw,4.4rem); }
.rgt-intro .pv-fil{ margin-bottom:.6rem; }
.rgt-etiquette{
	display:inline-flex; align-items:center; gap:.5em;
	font-family:var(--police-corps); font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em;
	color:var(--jaune-q); margin-bottom:.9rem;
}
.rgt-h1{ color:#fff; font-size:clamp(2.2rem,6vw,4.4rem); max-width:16ch; margin:0 0 .9rem; text-wrap:balance; }
.rgt-accent{ background:linear-gradient(100deg,var(--jaune-q) 10%,var(--pavillon) 120%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.rgt-chapo{ font-family:var(--police-corps); color:var(--rade); font-size:1.08rem; max-width:62ch; margin-bottom:1.3rem; }
.rgt-transparence{
	max-width:640px; margin:0 0 1.6rem; padding:.9rem 1.1rem;
	background:rgba(251,251,248,.08); border-left:3px solid var(--jaune-q);
	font-size:.92rem; line-height:1.55; color:var(--rade);
}
.rgt-transparence strong{ color:#fff; }
.rgt-actions{ display:flex; flex-wrap:wrap; gap:.8rem; }
.rgt-petit{ font-size:.86rem; color:var(--coque); }

/* ====================== Bandeaux d'état ====================== */
.rgt-etat-conteneur{ padding-top:1.6rem; }
.rgt-bandeau{
	margin:0 0 1.6rem; padding:.9rem 1.1rem; background:var(--rade); border:1px solid var(--rade);
	border-left:3px solid var(--pavillon); font-size:1rem;
}
.rgt-bandeau-ok{ border-left-color:var(--tribord); }
.rgt-bandeau-ko{ border-left-color:var(--babord); }

/* ====================== Mon bateau (ma fiche) ====================== */
.rgt-mon-bateau{ margin-top:1.4rem; }
.rgt-mon-bateau-in{
	display:flex; flex-wrap:wrap; gap:1.4rem; align-items:flex-start;
	padding:1.3rem 1.4rem; background:var(--rade); box-shadow:inset 0 3px 0 var(--jaune-q);
}
.rgt-mon-bateau-rang{ display:flex; flex-direction:column; gap:2px; min-width:140px; }
.rgt-mon-bateau-n{ font-family:var(--police-titre); font-style:italic; font-weight:800; font-size:2.6rem; line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:var(--nuit); }
.rgt-releve-lib{ font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; color:var(--coque); font-weight:700; }
.rgt-modifier{ flex:1; min-width:260px; }
.rgt-modifier summary{ cursor:pointer; font-weight:700; color:var(--pavillon); padding:.5rem 0; min-height:44px; display:flex; align-items:center; }
.rgt-modifier form{ margin-top:.8rem; }

/* ====================== Relevés en direct ====================== */
.rgt-scene{ padding-top:1.6rem; }
.rgt-releves{
	display:grid; grid-template-columns:repeat(4,1fr);
	border-top:1px solid var(--rade); border-left:1px solid var(--rade); margin-bottom:2rem;
}
.rgt-releve{ display:flex; flex-direction:column; gap:.4rem; padding:1.2rem 1.3rem; background:var(--voile); border-right:1px solid var(--rade); border-bottom:1px solid var(--rade); }
.rgt-releve-val{ font-family:var(--police-titre); font-style:italic; font-weight:800; font-size:clamp(1.6rem,3vw,2.2rem); line-height:1; color:var(--nuit); font-variant-numeric:tabular-nums; }
.rgt-releve-petit{ font-size:clamp(1.15rem,2vw,1.35rem); }

/* ====================== Plan : course + colonne vainqueur ====================== */
.rgt-plan{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:2.2rem; align-items:start; }
.rgt-course{ min-width:0; }
.rgt-course-tete,.rgt-couloir{ display:grid; grid-template-columns:56px minmax(0,1fr) 190px 100px 160px; gap:14px; align-items:center; }
.rgt-course-tete{ padding:0 1rem .55rem; font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; color:var(--coque); font-weight:700; border-bottom:1px solid var(--rade); }
.rgt-liste{ list-style:none; margin:0; padding:0; }
.rgt-couloir{ padding:1rem; border-bottom:1px solid var(--rade); background:var(--voile); transition:background .2s; }
.rgt-couloir:nth-child(even){ background:var(--rade); }
.rgt-couloir.rgt-podium{ background:rgba(255,194,14,.12); }
.rgt-rang{ font-family:var(--police-titre); font-style:italic; font-weight:800; font-size:1.6rem; letter-spacing:-.02em; color:var(--coque); font-variant-numeric:tabular-nums; }
.rgt-podium .rgt-rang{ color:var(--nuit); }
.rgt-podium-1 .rgt-rang{ background:linear-gradient(100deg,var(--jaune-q),var(--pavillon)); -webkit-background-clip:text; background-clip:text; color:transparent; font-size:2rem; }
.rgt-qui{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rgt-nom{ font-family:var(--police-titre); font-style:italic; font-weight:700; font-size:1.05rem; letter-spacing:-.01em; line-height:1.25; overflow-wrap:anywhere; color:var(--nuit); }
.rgt-nom:hover{ color:var(--pavillon); }
.rgt-accroche{ font-size:.86rem; color:var(--coque); line-height:1.4; overflow-wrap:anywhere; }
.rgt-domaine{ font-size:.76rem; color:var(--pavillon); font-weight:600; }

/* Couloir de course : sillage (progression), bouées, bateau */
.rgt-piste{ position:relative; height:10px; background:var(--rade); margin-top:16px; }
.rgt-sillage{ position:absolute; inset:0 auto 0 0; height:100%; width:0; background:linear-gradient(90deg,var(--pavillon),var(--jaune-q)); }
.rgt-boue{
	position:absolute; top:50%; width:8px; height:8px; border-radius:50%;
	background:var(--jaune-q); border:2px solid var(--nuit); transform:translate(-50%,-50%);
}
.rgt-bateau-marqueur{
	position:absolute; top:50%; width:0; height:0; transform:translate(-50%,-85%);
	border-left:8px solid transparent; border-right:8px solid transparent; border-bottom:14px solid var(--pavillon);
	animation:rgt-houle 2.6s ease-in-out infinite;
}
.rgt-bateau-marqueur::after{
	content:""; position:absolute; left:50%; top:14px; width:2px; height:6px; background:var(--nuit); transform:translateX(-50%);
}
@keyframes rgt-houle{ 0%,100%{ transform:translate(-50%,-85%) rotate(-3deg); } 50%{ transform:translate(-50%,-90%) rotate(3deg); } }

.rgt-total{ font-family:var(--police-titre); font-style:italic; font-weight:800; font-size:1.1rem; text-align:right; color:var(--nuit); font-variant-numeric:tabular-nums; }
.rgt-doubler{
	display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:.5em .8em;
	border:1.5px solid var(--pavillon); color:var(--pavillon); font-weight:700; font-size:.86rem; white-space:nowrap;
	transition:background .15s,color .15s;
}
.rgt-doubler:hover{ background:var(--pavillon); color:#fff; }
.rgt-cest-vous{ justify-self:center; padding:.4em .8em; background:var(--jaune-q); color:var(--nuit); font-weight:800; font-size:.8rem; }
.rgt-derriere{ justify-self:center; font-size:.8rem; color:var(--coque); }
.rgt-moi{ background:rgba(11,69,194,.08) !important; }
.rgt-couloir.rgt-flash{ animation:rgt-flash 1.6s ease; }
@keyframes rgt-flash{ 0%{ background:rgba(255,194,14,.35); } 100%{ background:transparent; } }

.rgt-vide{ display:grid; grid-template-columns:56px 1fr auto; gap:14px; align-items:center; padding:1.6rem 1rem; border-bottom:1px dashed var(--rade); font-size:1rem; }
.rgt-vide-rang{ font-family:var(--police-titre); font-style:italic; font-weight:800; font-size:2rem; color:var(--coque); }

/* ====================== Colonne vainqueur de la manche ====================== */
.rgt-large{ display:flex; flex-direction:column; gap:1.6rem; position:sticky; top:96px; }
.rgt-manche{ padding:1.4rem; background:var(--rade); box-shadow:var(--ombre-carte); position:relative; overflow:hidden; }
.rgt-manche::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,var(--pavillon),var(--jaune-q)); }
.rgt-manche-nom{ font-family:var(--police-titre); font-style:italic; font-weight:800; font-size:1.5rem; letter-spacing:-.02em; line-height:1.15; margin:.7rem 0 .2rem; overflow-wrap:anywhere; color:var(--nuit); }
.rgt-manche-val{ margin:0 0 1rem; font-weight:700; font-variant-numeric:tabular-nums; color:var(--nuit); }
.rgt-manche-val span{ font-weight:400; color:var(--coque); font-size:.85rem; }
.rgt-manche .pv-bouton{ width:100%; }
.rgt-fil-titre{ font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; color:var(--coque); font-family:var(--police-corps); font-weight:700; margin:0 0 .6rem; }
.rgt-fil-liste{ list-style:none; margin:0; padding:0; border-top:1px solid var(--rade); }
.rgt-fil-liste li{ display:grid; grid-template-columns:1fr auto; gap:2px 12px; padding:.6rem 0; border-bottom:1px solid var(--rade); font-size:.88rem; }
.rgt-fil-nom{ font-weight:600; overflow-wrap:anywhere; color:var(--nuit); }
.rgt-fil-mt{ font-weight:700; font-variant-numeric:tabular-nums; text-align:right; color:var(--pavillon); }
.rgt-fil-quand{ font-size:.76rem; color:var(--coque); grid-column:1/-1; }
.rgt-fil-vide{ font-size:.9rem; color:var(--coque); margin:0; }

/* ====================== Prendre le départ (formulaire de paiement) ====================== */
.rgt-depart-cta{ margin-top:clamp(3rem,6vw,5.5rem); background:var(--rade); }
.rgt-depart-in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,540px); gap:2.6rem; align-items:start; padding-block:clamp(2.4rem,5vw,3.6rem); }
.rgt-h2{ font-size:clamp(1.7rem,3vw,2.5rem); letter-spacing:-.02em; margin:0 0 .8rem; }
.rgt-form{ display:flex; flex-direction:column; gap:1.2rem; background:var(--voile); padding:1.6rem; box-shadow:var(--ombre-carte); }
.rgt-mises{ border:0; margin:0; padding:0; }
.rgt-mises legend{ font-weight:700; margin-bottom:.6rem; font-size:.92rem; }
.rgt-puces{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:.8rem; }
.rgt-mise{
	min-height:44px; padding:.5em 1em; border:1.5px solid var(--rade); font-weight:700; font-variant-numeric:tabular-nums;
	background:var(--voile); color:var(--nuit); transition:border-color .15s,background .15s;
}
.rgt-mise:hover{ border-color:var(--pavillon); }
.rgt-mise[aria-pressed="true"]{ background:var(--pavillon); border-color:var(--pavillon); color:#fff; }
.rgt-mise-libre{ display:flex; align-items:center; gap:.6rem; font-size:.92rem; color:var(--coque); }
.rgt-mise-libre input{ width:110px; font-family:var(--police-titre); font-style:italic; font-weight:800; font-size:1.4rem; color:var(--nuit); }
.rgt-effet{ margin:.6rem 0 0; font-size:.92rem; font-weight:700; color:var(--pavillon); min-height:1.4em; }
.rgt-form-grille{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.rgt-form-grille label,.rgt-retrouver-form label{ display:flex; flex-direction:column; gap:.4rem; font-size:.92rem; font-weight:700; color:var(--nuit); }
.rgt-plein{ grid-column:1/-1; }
.rgt-form input[type=text],.rgt-form input:not([type]),.rgt-form input[type=url],.rgt-form input[type=email],.rgt-form input[type=number],
.rgt-mon-bateau input[type=text],.rgt-mon-bateau input:not([type]),.rgt-mon-bateau input[type=url],
.rgt-retrouver-form input{
	padding:.7em .85em; border:1.5px solid var(--coque); background:var(--blanc); color:var(--nuit);
	font-family:var(--police-corps); font-weight:400; min-height:44px;
}
.rgt-case{ flex-direction:row !important; align-items:flex-start; gap:.6rem !important; font-weight:400 !important; line-height:1.45; }
.rgt-case input{ margin-top:4px; width:20px; height:20px; flex:none; accent-color:var(--pavillon); }
.rgt-pot{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.rgt-payer{ width:100%; justify-content:center; }

/* ====================== Règles & FAQ ====================== */
.rgt-regles{ margin-top:clamp(3rem,6vw,5.5rem); }
.rgt-etapes{
	list-style:none; margin:1.6rem 0 2.2rem; padding:0; display:grid; grid-template-columns:repeat(4,1fr);
	border-top:1px solid var(--rade); border-left:1px solid var(--rade);
}
.rgt-etapes li{ padding:1.4rem 1.3rem; background:var(--voile); border-right:1px solid var(--rade); border-bottom:1px solid var(--rade); }
.rgt-etapes strong{ display:block; font-family:var(--police-titre); font-style:italic; font-weight:700; font-size:1.1rem; margin:.7rem 0 .3rem; letter-spacing:-.01em; color:var(--nuit); }
.rgt-etapes p{ margin:0; font-size:.92rem; color:var(--coque); line-height:1.55; }
.rgt-pastille{ display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--pavillon); color:#fff; font-weight:800; font-family:var(--police-titre); font-style:italic; }
.rgt-faq{ max-width:820px; display:flex; flex-direction:column; gap:.6rem; }
.rgt-faq-item{ background:var(--voile); border:1px solid var(--rade); }
.rgt-faq-item summary{
	font-family:var(--police-titre); font-style:italic; font-weight:700; font-size:1.05rem; text-transform:none;
	padding:.9rem 1.1rem; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem;
	list-style:none; min-height:44px; color:var(--nuit);
}
.rgt-faq-item summary::-webkit-details-marker{ display:none; }
.rgt-faq-item summary::after{ content:"+"; color:var(--pavillon); font-size:1.3rem; line-height:1; flex:0 0 auto; }
.rgt-faq-item[open] summary::after{ content:"−"; }
.rgt-faq-item p{ margin:0 0 1rem; padding:0 1.1rem; color:var(--coque); font-size:.92rem; }

/* ====================== Retrouver mon lien ====================== */
.rgt-retrouver{ margin-top:2.4rem; }
.rgt-retrouver-form{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:.8rem; }
.rgt-retrouver-form label{ flex:1; min-width:240px; max-width:420px; }

/* ====================== Tablette ====================== */
@media (max-width:1180px){
	.rgt-plan{ grid-template-columns:1fr; }
	.rgt-large{ position:static; display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
	.rgt-manche{ grid-column:1/-1; }
	.rgt-depart-in{ grid-template-columns:1fr; gap:1.6rem; }
	.rgt-etapes{ grid-template-columns:1fr 1fr; }
	.rgt-course-tete,.rgt-couloir{ grid-template-columns:48px minmax(0,1fr) 120px 90px 150px; gap:10px; }
}
/* ====================== Téléphone (390 px) ====================== */
@media (max-width:640px){
	.rgt-intro-in{ padding-block:1.6rem 2rem; }
	.rgt-releves{ grid-template-columns:1fr 1fr; }
	.rgt-releve{ padding:.9rem 1rem; }
	.rgt-cache-mobile{ display:none !important; }
	.rgt-course-tete{ display:none; }
	.rgt-couloir{
		grid-template-columns:40px minmax(0,1fr) auto; grid-template-areas:"r q t" "r b b";
		gap:6px 10px; padding:.9rem .3rem; column-gap:10px;
	}
	.rgt-rang{ grid-area:r; font-size:1.3rem; align-self:start; }
	.rgt-podium-1 .rgt-rang{ font-size:1.5rem; }
	.rgt-qui{ grid-area:q; }
	.rgt-total{ grid-area:t; align-self:start; font-size:1rem; }
	.rgt-doubler,.rgt-cest-vous,.rgt-derriere{ grid-area:b; justify-self:start; white-space:normal; }
	.rgt-vide{ grid-template-columns:44px 1fr; padding:1.2rem .3rem; }
	.rgt-vide .pv-bouton{ grid-column:1/-1; }
	.rgt-large{ grid-template-columns:1fr; }
	.rgt-depart-in{ padding-block:1.8rem 2.2rem; }
	.rgt-form{ padding:1.1rem; }
	.rgt-form-grille{ grid-template-columns:1fr; }
	.rgt-etapes{ grid-template-columns:1fr; }
	.rgt-regles{ margin-top:2.4rem; }
	.rgt-mon-bateau-in{ padding:1rem; }
}
@media (prefers-reduced-motion:reduce){
	.rgt-bateau-marqueur{ animation:none; }
}
