@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, 
hgroup, menu, nav, section, menu,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  vertical-align:baseline;
  background:transparent;
}  
body {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	text-align: center;
	margin: 0;
	padding: 0;

}
.mobile {
	display: none;
}
a:link {
	color: #000;
	text-decoration: none;
}
a:visited {
	color: #000;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
	color: #000;
}
a:active {
	color: #000;
	text-decoration: underline;
}
sup {
	position: relative;
	font-size: 0.7em;
	text-decoration: none;
	bottom: 7px;
}
h1 {
	color: #999;
	font-size: 11px;
	font-weight: normal;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.3em;
}
h1 a:visited {
	color: #666;
	text-decoration: none;
}
h1 a:link {
	color: #666;
	text-decoration: none;
}
h1 a:hover {
	color: #666;
	text-decoration: none;
}
h2 {
	font-family: "Times New Roman", Times, serif;
	font-size: 22px;
	color: #FFF;
	font-weight: normal;
}
h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: normal;
}
h3 a:visited {
	color: #000;
	text-decoration: none;
}
h3 a:link {
	color: #000;
	text-decoration: none;
}
h4 {
	font-size: 17px;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
}
h4 a:link {
	color: #000;
	text-decoration: none;
}
h4 a:visited {
	color: #000;
	text-decoration: none;
}
h4 a#amateur:hover {
	text-decoration: none;
}
h4 a:active {
	color: #FFF;
	text-decoration: none;
}
h4 a#debutant:hover {
	text-decoration: none;
}
h4 a#etudiant:hover {
	text-decoration: none;
}
p {
	line-height: 1.1em;
}
.retrait {
	margin-left: 15px;
	letter-spacing: 0.1em;
}
.exp {
	font-size: 10px;
	visibility: visible;
	z-index: 1;
	letter-spacing: 1px;
	position: absolute;
	top: -2px;
	overflow: visible;
}
a#img1:link {
	background-image: url(../images/debutant_full.png);
	background-repeat: no-repeat;
	height: 30px;
	width: 137px;
	display: block;
}
a#img1:hover {
	background-image: url(../images/debutant_full.png);
	background-position: left -31px;
	display: block;
	height: 30px;
	width: 137px;
}
.red-logo {
	color: #970f00;
	font-family: Arial, Helvetica, sans-serif;
}
#container {
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	background-image: url(../images/fond_piano.jpg);
	background-repeat: no-repeat;
	width: 980px;
	text-align: left;
}
#header {
	margin-right: 17px;
	margin-left: 17px;
	position: relative;
	z-index: 999;
	width: 946px;
}
#header-top {
	background-color: #FFF;
	margin-top: 0px;
	margin-bottom: 8px;
}
#header-top a img {
	width: 534px;
	padding: 5px;	
}
.loginerror {
	display: none;
	color: #FFF;
	background-color: #F81917;
	margin-bottom: 5px;
	padding: 3px;
}
#offrespe {
	color: #FFF;
	display: block;
	position: absolute;
	left: 642px;
	top: 8px;
	height: 35px;
	width: 275px;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 7px;
	padding-left: 10px;
	text-align: center;
	visibility: visible;
	z-index: 1;
	background-color: #D10612;
}
.offrespe-titre {
	font-size: 17px;
	font-weight: bold;
	color: #FFF;
	line-height: 1.1em;
}
#offrespe h1 .offrespe-titre a:hover {
	color: #FFF;
	text-decoration: underline;
}
#offrespe h1 .offrespe-titre a:link {
	color: #FFF;
}
#offrespe h1 .offrespe-titre a:visited {
	color: #FFF;
}
.offrespe-remise {
	font-size: 17px;
	font-weight: bold;
	display: block;
	float: left;
	color: #FFF;
	margin-top: 0px;
}
.offrespe-detail {
	font-size: 16px;
	font-weight: bold;
	margin-top: 0px;
	color: #FF0;
}
.offrespe-code {
	clear: both;
	display: block;
	color: #FFF;
	text-align: center;
	margin-top: 2px;
	font-size: 12px;
}
#offrespe-zone {
	color: #FFF;
	display: block;
	position: absolute;
	left: 642px;
	top: 5px;
	height: 50px;
	width: 275px;
	visibility: visible;
	z-index: 2;
	bottom: 5px;
}

.newboutonabo {
	background-color: #F22200;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    border: none;
    padding: 1px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
	display: block;
	height: 18px;
	width: 81px;
	position: absolute;
	top: 72px;
	left: 752px;
	z-index: 5;
	visibility: visible;
}
.newboutonabo:hover {
	background-color: #e2e2e2;
    color: #F22200;
    
}

.newboutoncompte1 {
	background-color: #6a190c;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    border: none;
    padding: 1px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
	display: block;
	height: 18px;
	width: 97px;
	position: absolute;
	top: 72px;
	left: 840px;
	z-index: 4;
	visibility: visible;
}
.newboutoncompte1:hover {
	background-color: #e2e2e2;
    color: #6a190c;
    
}

.newboutoncompte2{
	background-color: #6a190c;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    border: none;
    padding: 1px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
	display: block;
	height: 18px;
	width: 97px;
	position: absolute;
	top: 72px;
	left: 731px;
	z-index: 8;
	visibility: visible;
}
.newboutoncompte2:hover {
	background-color: #e2e2e2;
    color: #6a190c;
    
}

.newboutonmonespace2 {
	background-color: #F22200;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    border: none;
    padding: 1px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
	display: block;
	height: 18px;
	width: 93px;
	position: absolute;
	top: 72px;
	left: 734px;
	z-index: 10;
	overflow: hidden;
	visibility: visible;
}
.newboutonmonespace2:hover {
	background-color: #e2e2e2;
    color: #F22200;
}

.newboutondeconnexion {
	background-color: #F22200;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    border: none;
    padding: 1px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
	display: block;
	height: 18px;
	width: 103px;
	position: absolute;
	top: 72px;
	left: 834px;
	z-index: 3;
	overflow: hidden;
	visibility: visible;
}
.newboutondeconnexion:hover {
	background-color: #e2e2e2;
    color: #F22200;
}


a.boutoncompte1 {
	background-image: url(../images/moncompte.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 93px;
	position: absolute;
	top: 74px;
	left: 844px;
	z-index: 4;
	overflow: hidden;
	visibility: visible;
}
a.boutoncompte1:hover {
	background-position: 0px -16px;
}



a.boutoncompte2 {
	background-image: url(../images/moncompte.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 93px;
	position: absolute;
	top: 74px;
	left: 741px;
	z-index: 8;
	overflow: hidden;
	visibility: visible;
}
a.boutoncompte2:hover {
	background-position: 0px -16px;
}

a.boutonmonespace2 {
	background-image: url(../images/monespace.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 89px;
	position: absolute;
	top: 74px;
	left: 742px;
	z-index: 10;
	overflow: hidden;
	visibility: visible;
}
a.boutonmonespace2:hover {
	background-position: 0px -16px;
}

a.boutondeconnexion {
	background-image: url(../images/deconnexion.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 99px;
	position: absolute;
	top: 74px;
	left: 838px;
	z-index: 3;
	overflow: hidden;
	visibility: visible;
}
a.boutondeconnexion:hover {
	background-position: 0px -16px;
}
a.boutonabo {
	background-image: url(../images/sabonner.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 81px;
	position: absolute;
	top: 74px;
	left: 756px;
	z-index: 5;
	overflow: hidden;
	visibility: visible;
}
a.boutonabo:hover {
	background-position: 0px -16px;
}

a.boutoncours {
	background-image: url(../images/coursalacarte.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 126px;
	position: absolute;
	top: 74px;
	left: 712px;
	z-index: 6;
	overflow: hidden;
	visibility: visible;
}
a.boutoncours:hover {
	background-position: 0px -16px;
}
#header-middle {
	bottom: 5px;
	position: relative;
}

#header-bottom {
	background-color: #FFF;
	height: 21px;
}
#header-bottom, x:-moz-any-link, x:default {height : 21px;}

#mainmenu {
	font-size: 1.1em;
	font-weight: bold;
	letter-spacing: 0.1em;
}
#boutonsm {
	display: none;
}
.clearfloat {
	clear: both;
}
#content {
	margin-top: 19px;
	margin-right: 17px;
	margin-left: 17px;
background: none;
}
#center {
	margin-right: 17px;
	width: 656px;
	float: left;
	background: none;
}
#megaban {
	height: 100px;
	width: 656px;
	margin-bottom: 0px;
}
#banner {
	width: 100%;
}
.bxslider li img {
	width: 100%;
}
#clic-offre {
    background-color: #F22200;
    color: #FFF;
    font-size: 10px;
    display: inline-block;
    font-weight: bold;
    border: none;
    margin:4px 0 0 10px;
    padding: 2px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
    vertical-align: top;
}

#clic-offre:hover {
    background-color: #FFF;
    color: #F22200;
    font-weight: bolder;
}
#clic-coursdeb {
    background-color: #F22200;
    color: #FFF;
    font-size: 10px;
    display: inline-block;
    font-weight: bold;
    border: none;
    margin:2px 0 0 10px;
    padding: 2px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
    vertical-align: top;
}

#clic-coursdeb:hover {
    background-color: #FFF;
    color: #F22200;
    font-weight: bolder;
}
#clic-new {
    background-color: #F22200;
    color: #FFF;
    font-size: 10px;
    display: inline-block;
    font-weight: bold;
    border: none;
    margin:2px 0 0 10px;
    padding: 2px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
    vertical-align: top;
}

#clic-new:hover {
    background-color: #FFF;
    color: #F22200;
    font-weight: bolder;
}
#clic-presse {
    background-color: #F22200;
    color: #FFF;
    font-size: 10px;
    display: inline-block;
    font-weight: bold;
    border: none;
    margin:2px 0 0 10px;
    padding: 2px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
    vertical-align: top;
}

#clic-presse:hover {
    background-color: #FFF;
    color: #F22200;
    font-weight: bolder;
}
.caption {
	background: #333;
	background: rgba(67,67,67, 0.99);
	padding: 10px;
	font-size: 15px;
	color: #E7E7E7;
	
}
.caption-title{
	color: #fff;
	font-size: 20px;
	font-weight: normal;
	line-height: 20px;
	display: block;
}
.caption a img {
	display: inline;
	margin-bottom: -1px;
	width: auto;
	height: auto;
}
.caption a .spe {
	width: 79px;
	display: inline;
	margin-bottom: -1px;
}
#profs {
	width: 656px;
	margin-top: 25px;
}
.caption a img {
}
#profs-top {
	background-color: #FFF;
	padding-top: 10px;
	padding-left: 15px;
	padding-bottom: 10px;
	padding-right: 10px;
	z-index: 0;
}
#profs-bottom {
	width: 656px;
	background-image: url(../images/cadre_gris.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	float: left;
	padding-bottom: 12px;
	margin-bottom: 25px;
}
#profs-bottom p {
	line-height: 1.1em;
}
#profs-bottom-left {
	float: left;
	width: 313px;
	padding-left: 15px;
	position: relative;
}
#profs-bottom h3 a:hover {
	text-decoration: none;
}
a.boutoncoursprof {
	background-image: url(../images/biographie.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 13px;
	width: 69px;
	right: 876px;
	position: absolute;
	top: 75px;
	visibility: visible;
	left: 107px;
	z-index: 1;
	overflow: hidden;
}
a.boutoncoursprof:hover {
	background-position: 0px -13px;
}
#profs-bottom-right {
	float: right;
	width: 313px;
	padding-left: 13px;
	position: relative;
}
.prof-cadre {
	float: left;
	width: 310px;
	margin-top: 12px;
	position: relative;
}
.prof-cadre p {
	font-size: 13px;
}
.trait-epais {
	font-weight: bold;
	color: #C0231F;
	margin-right: -2px;
}
.prof-img {
	float: left;
	height: 95px;
	width: 95px;
	margin-right: 10px;
}
#clear {
	display:block;
	clear:both;
}
#clearight {
	display: block;
	clear: right;
}
#cours {
	width: 656px;
}
#cours-top {
	background-color: #FFF;
	padding-top: 10px;
	padding-left: 15px;
	padding-bottom: 10px;
	padding-right: 15px;
	z-index: 0;
}
#cours-bottom {
	width: 626px;
	padding-top: 12px;
	padding-right: 15px;
	padding-left: 15px;
	position: relative;
	background-image: url(../images/cadre_gris.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	margin-bottom: 35px;
	padding-bottom: 30px;
}
#cours-bottom p {
	line-height: 1.1em;
	margin-bottom: 5px;
}
a.boutondebutant {
	background-image: url(../images/debutant.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 72px;
	right: 876px;
	position: absolute;
	top: 290px;
	visibility: visible;
	left: 15px;
	z-index: 1;
	overflow: hidden;
}
a.boutondebutant:hover {
	background-position: 0px -16px;
}
a.boutonamateur {
	background-image: url(../images/intermediaire.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 102px;
	right: 876px;
	position: absolute;
	top: 290px;
	visibility: visible;
	left: 105px;
	z-index: 1;
	overflow: hidden;
}
a.boutonamateur:hover {
	background-position: 0px -16px;
}
a.boutonetudiant {
	background-image: url(../images/avance.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 56px;
	right: 876px;
	position: absolute;
	top: 290px;
	visibility: visible;
	left: 225px;
	z-index: 1;
	overflow: hidden;
}
a.boutonetudiant:hover {
	background-position: 0px -16px;
}
#ensavoirplusbleu {
	position:absolute;
	left:15px;
	top:245px;
	width:71px;
	height:16px;
	z-index:1;
	visibility: visible;
	overflow: visible;
}
#ensavoirplusvert {
	position:absolute;
	left:105px;
	top:245px;
	width:115px;
	height:16px;
	z-index:1;
	visibility: visible;
}
#ensavoirplusorange {
	position:absolute;
	left:240px;
	top:245px;
	width:67px;
	height:16px;
	z-index:1;
	visibility: visible;
}
.double-trait1 {
	color: #3A57A0;
	letter-spacing: 1px;
}
.double-trait2 {
	color: #73BE1E;
	letter-spacing: 1px;
}
.double-trait3 {
	color: #FF7800;
	letter-spacing: 0.1em;
}
#partenaires {
	border: 1px solid #C6CACB;
	position: relative;
	background-color: #FFF;
	margin-bottom: 25px;
	float: left;
	width: 312px;
	margin-right: 25px;
}
#partenaires-top {
	padding-top: 9px;
	padding-left: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #C6CACB;
	padding-bottom: 6px;
}
#partenaires-bottom {
	padding-top: 10px;
	background-color: #FFF;
	padding-bottom: 10px;
}
#partenaires-bottom ul {
	list-style-type: none;
	margin-left: 10px;
	margin-right: 10px;
}
#partenaires-bottom a:hover {
	text-decoration: underline;
}
#reseaux {
	float: left;
	margin-bottom: 35px;
	border: 1px solid #C6CACB;
	width: 656px;
	overflow: hidden;
}
#reseaux-top {
	padding-top: 9px;
	padding-left: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #C6CACB;
	padding-bottom: 12px;
	position: relative;
	height: 20px;
}
.floatleft {
	float: left;
}
#reseaux-bottom {
	background-color: #FFF;
	padding: 10px;
}
.facebook {
	background-image: url(../images/facebook.png);
	background-repeat: no-repeat;
	height: 25px;
	width: 25px;
	display: block;
	background-position: bottom;
	float: left;
}
.facebook:hover {
	background-position: 0px 0px;
}
.twitter {
	background-image: url(../images/twitter.png);
	background-repeat: no-repeat;
	height: 25px;
	width: 25px;
	display: block;
	background-position: bottom;
	float: left;
	margin-left: 5px;
}
.twitter:hover {
	background-position: 0px 0px;
}
.youtube {
	background-image: url(../images/youtube.png);
	background-repeat: no-repeat;
	height: 25px;
	width: 69px;
	display: block;
	background-position: bottom;
	float: left;
	margin-left: 5px;
}
.youtube:hover {
	background-position: 0px 0px;
}
#right {
	width: 272px;
	float: right;
}
#news {
	background-color: #FFF;
	margin-bottom: 25px;
	border: 1px solid #C6CACB;
	overflow: hidden;
	margin-top: 0px;
}
#news-top {
	padding-top: 5px;
	padding-left: 8px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #C6CACB;
	padding-bottom: 2px;
}
#news-bottom {
	background-color: #FFF;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 10px;
}
#news-bottom a:hover {
	text-decoration: underline;
}
.news-titre  {
	font-weight: bold;
	font-size: 13px;
		}
.news-texte {
	font-size: 13px;
}

.ticker {
	width: 252px;
	height: 120px;
	overflow: hidden;
	margin: 0;
	padding: 0;
	list-style: none;
}

#ticker_02 {
	height: 155px;
}

.ticker li {
	height: 90px;
	
}
#nouveau {
	border: 1px solid #C6CACB;
	margin-bottom: 15px;
}
#etaussi {
	margin-top: 0px;
	margin-bottom: 25px;
}
#etaussi-top {
	background-color: #f0f0f0;
}
#etaussi-bottom {
	background-color: #e6e6e6;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #C6CACB;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	padding-top: 20px;
	 display: flex;
  justify-content: center;
}

#etaussi-bottom-infos {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#etaussi-bottom-infos .trustpilot-widget {
  width: 60%;          /* pour matcher ton data-style-width */
  max-width: 420px;    /* optionnel : look plus premium */
  min-width: 260px;    /* optionnel : évite trop étroit */
  margin-left: auto;
  margin-right: auto;
}

.surtitresright {
	margin-top: 15px;
	margin-bottom: 15px;
	margin-left: 10px;
}
#abonne {
	border: 1px solid #C6CACB;
	margin-bottom: 25px;
}
#abonne #abonne-bottom a:hover {
	text-decoration: underline;
}
#nouveau-top {
	background-color: #FFF;
	padding-top: 9px;
	padding-left: 10px;
	overflow: hidden;
	padding-bottom: 0px;
}
#abonne-top {
	background-color: #FFF;
	padding-top: 9px;
	padding-left: 10px;
	overflow: hidden;
	padding-bottom: 6px;
}
#nouveau-bottom {
	background-color: #F5F5F5;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
}
#abonne-bottom img {
	float: left;
	margin-right: 10px;
}
#abonne-bottom {
	background-color: #F5F5F5;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	line-height: 14px;
	font-size: 13px;
}
.titresright {
	color: #BA0000;
	font-weight: normal;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
}
#nouveau-bottom ul {
	list-style-type: none;
	margin-bottom: 10px;
}
#plus {
	border: 1px solid #C6CACB;
	margin-bottom: 25px;
}
#plus-top {
	background-color: #FFF;
	padding-top: 7px;
	padding-left: 10px;
	overflow: hidden;
	padding-bottom: 2px;
}
#plus-bottom {
	background-color: #F5F5F5;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
}
#plus-bottom ul {
	list-style-type: none;
	margin-bottom: 10px;
}
#plus-bottom a:hover {
	text-decoration: underline;
}

#presse {
	border: 1px solid #C6CACB;
	margin-bottom: 25px;
}
#presse-top {
	background-color: #FFF;
	padding-top: 9px;
	padding-left: 10px;
	overflow: hidden;
	padding-bottom: 6px;
}
#presse-bottom {
	background-color: #F5F5F5;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-left: 10px;
}
.news-texte a:hover {
	text-decoration: underline;
}
#offreabo {
/*	border: 2px solid #d10612; */
	margin-bottom: 25px;
	position: relative;
}

#offreabo-top {
	background-color: #FFF;
	padding-top: 0px;
	padding-left: 0px;
	
	padding-bottom: 0px;
	text-align:center;
	position: relative;
}
.textv {
	 writing-mode: lr-tb;
	position: relative;
	/* font-weight: bold; */
	font-size:13px;
	top:125px;
	left:145px;
	-webkit-transform: rotate(90deg);	
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);	
}
.texth {
	font-size: 14px;
    margin: 0 2px;
    color: #fcff00;
    background-color:#000;

}
#offreabo-top img{
	margin: 0 auto 0 auto;
	display:block;

	}
#offreabo-bottom {
	background-color: #D10612;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	color: #FFF;
}
#offreabo-bottom a {
	color: #FFF;
}
#offreabo-bottom a:hover {
	color: #FFF;
	text-decoration: underline;
}
.offreabo-a1 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: bold;
}
.cadrevideo {
	margin-top: 5px;
	margin-bottom: 5px;
	margin-left: auto;
	margin-right: auto;
}
.derniersjours {
	display: block;
	position: absolute;
	top: -20px;
	right: -27px;
}
#compte {	
	font-weight: bold;
	color: #000000;
	font-size: 15px;
	}
#comptem {	
	font-weight: bold;
	color: #000000;
	font-size: 15px;
	background-color: #e1e1e6;
    padding: 0 0px 0 5px;
	}	
#compte2 {	
	display: block;
	font-weight: bold;
	/* color: #615e5e; */
	color: #d11a10;
	/*color: #aa926f;*/
	font-size: 15px;
	}
a.player {
	width:251px;
	height:171px;
	color:#fff;
	text-decoration:none;
	cursor:pointer;
	-moz-box-shadow:0 0 40px rgba(100, 118, 173, 0.5);
	display: block;
}
#pleinecran {
	display: block;
	float: right;
	margin-right: 22px;
	font-size: 10px;
}
#ban1 {
	position: relative;
	border: 1px solid #C6CACB;
	margin-bottom: 25px;
	background-color: #F5F5F5;
	text-align: center;
	font-size: 10px;
	letter-spacing: 0.1em;
	color: #000;
	font-weight: bold;
}
#ban2 {
	position: relative;
	border: 1px solid #C6CACB;
	margin-bottom: 25px;
	background-color: #F5F5F5;
	text-align: center;
	font-size: 10px;
	letter-spacing: 0.1em;
	color: #000;
	font-weight: bold;
}
#ban3 {
	position: relative;
	border: 1px solid #C6CACB;
	margin-bottom: 25px;
	background-color: #F5F5F5;
	text-align: center;
	font-size: 10px;
	letter-spacing: 0.1em;
	color: #000;
	font-weight: bold;
}
.pub-top {
	text-align: center;
	font-size: 10px;
	letter-spacing: 0.1em;
	color: #000;
	font-weight: bold;
}
.pub-top2 {
	text-align: center;
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #B81526;
	font-weight: bold;
}
.pub-bottom {
	text-align: center;
	padding-bottom: 10px;
}
#mag {
	border: 1px solid #C6CACB;
	position: relative;
	margin-bottom: 25px;
}
#mag-top {
	background-color: #FFF;
	padding-top: 9px;
	padding-left: 10px;
	overflow: hidden;
	padding-bottom: 6px;
}
#mag-bottom {
	background-color: #F5F5F5;
	padding-top: 10px;
	padding-bottom: 10px;
}
#mag-bottom ul {
	list-style-type: none;
	margin-left: 10px;
	margin-right: 10px;
}
.nom {
	text-transform: capitalize;
}
.mag-surtitre {
	font-family: "Times New Roman", Times, serif;
	font-size: 18px;
	color: #D10000;
	margin-top: 10px;
}
.mag-titre {
	font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
	font-size: 14px;
	margin-bottom: 3px;
	line-height: 1em;
	margin-top: 0px;
}
.mag-titre a:hover {
	text-decoration: underline;
}
#cadrevideo {
	margin-top: 15px;
	margin-bottom: 5px;
	height: 201px;
	margin-right: auto;
	margin-left: auto;
	width: 252px;
}
#bdp {
	background-color: #FFF;
	color: #666;
	border: 1px solid #C6CACB;
	font-family: Arial, Helvetica, sans-serif;
	margin-bottom: 15px;
	padding: 10px;
}
#bdp ul {
	list-style-type: none;
}
#bdp ul    a{
	color: #666;
	font-family: Arial, Helvetica, sans-serif;
}
#bdp ul a:hover {
	color: #666;
	font-family: Arial, Helvetica, sans-serif;
	text-decoration: underline;
}
#bdp ul a:visited {
	color: #666;
	font-family: Arial, Helvetica, sans-serif;
}
.col1 {
	float: left;
	text-align: justify;
	width: 45%;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #C6CACB;
	padding-right: 35px;
}
.col1 p {
	color: #999;
	font-size: 11px;
	font-weight: normal;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.3em;
}
.col1 p a:visited {
	color: #666;
	text-decoration: none;
}
.col1 p a:link {
	color: #666;
	text-decoration: none;
}
.col1 p a:hover {
	color: #666;
	text-decoration: none;
}
.col2  {
	float: left;
	margin-left: 35px;
	margin-right: 10px;
}
.col3 {
	float: left;
	margin-left: 35px;
	margin-right: 10px;
}
.titre1    {
	font-weight: bold;
	margin-bottom: 3px;
}
.titre2 {
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 3px;
}
.titre3 {
	font-weight: bold;
	margin-bottom: 3px;
}
.titre4   {
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 3px;
}
#footer {
	text-align: center;
}
#footer a:hover {
	text-decoration: underline;
}
.slicknav_menu {
	display:none;
}




@media(max-width: 980px){
.desktop {
	display: none;
}
.mobile {
	display: block;
}
body {
	font-size: 14px;
	-webkit-text-size-adjust: 100%;
}

#container {
	width: auto;
	padding: 10px;
	margin: 10px 0 0 0;
	background-image: none;
}
#header {
	width: 100%;
	margin-left: 0px;
	margin-right: 0px;
	text-align:center;
}
#header-top {
	margin-bottom:0;
	margin-top:-10px;
}
#header-top a img {
	width: 100%;
	padding:0px;
}
#mainmenu {
	margin:10px 0 10px 0;
}	
#offrespe-zone {
	display: none;
}
#offrespe {
	display: none;
}
.newboutoncompte1 {	
	display: none;	
}
.newboutoncompte2 {
	display: none;
}
.newboutonmonespace2 {
	display: none;
}
.newboutondeconnexion {
	display: none;
}
.newboutonabo {
	display: none;
}

a.boutoncompte1 {	
	display: none;	
}
a.boutoncompte2 {
	display: none;
}
a.boutonmonespace2 {
	display: none;
}
a.boutondeconnexion {
	display: none;
}
a.boutonabo {
	display: none;
}
a.boutoncours {
	display: none;
}

#content {
	width: 100%;
	margin: 10px 0 0 0;
}
#center {
	width: auto;
	float: none;
	margin: 0;
}
#boutonsm {
	display:block;
}
.newboutoncompte1m {
	background-color: #6a190c;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    border: none;
    padding: 1px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
	display: block;
	height: 16px;
	width: 101px;
	position: relative;
	bottom: -31px;
	margin-right:10px;
	float:right;
	z-index: 4;
	overflow: hidden;
	visibility: visible;
}
.newboutoncompte1m:hover {
	background-color: #e2e2e2;
    color: #6a190c;
}
.newboutoncompte2m {
	background-color: #6a190c;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    border: none;
    padding: 1px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
	display: block;
	height: 16px;
	width: 101px;
	position: relative;
	bottom: -31px;
	margin-right:10px;
	float:right;
	z-index: 4;
	overflow: hidden;
	visibility: visible;
}
.newboutoncompte2m:hover {
	background-color: #e2e2e2;
    color: #6a190c;
}
.newboutonabom {
	background-color: #F22200;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    border: none;
    padding: 1px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
	display: block;
	height: 16px;
	width: 81px;
	position: relative;
	bottom: -31px;
	float:right;
	margin-right:5px;
	z-index: 5;
	overflow: hidden;
	visibility: visible;
}
.newboutonabom:hover {
	background-color: #e2e2e2;
    color: #F22200;
}
.newboutondeconnexionm {
	background-color: #F22200;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    border: none;
    padding: 1px 5px 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
	display: block;
	height: 16px;
	width: 99px;
	position: relative;
	float:right;
	bottom: -31px;
	margin-right:10px;
	z-index: 3;
	overflow: hidden;
	visibility: visible;
}
.newboutondeconnexionm:hover {
	background-color: #e2e2e2;
    color: #F22200;
}


a.boutoncompte1m {
	background-image: url(../images/moncompte.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 93px;
	position: relative;
	bottom: -31px;
	margin-right:10px;
	float:right;
	z-index: 4;
	overflow: hidden;
	visibility: visible;
}
a.boutoncompte1m:hover {
	background-position: 0px -16px;
}
a.boutonabom {
	background-image: url(../images/sabonner.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 81px;
	position: relative;
	bottom: -31px;
	float:right;
	margin-right:5px;
	z-index: 5;
	overflow: hidden;
	visibility: visible;
}
a.boutonabom:hover {
	background-position: 0px -16px;
}
a.boutondeconnexionm {
	background-image: url(../images/deconnexion.png);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	display: block;
	height: 16px;
	width: 99px;
	position: relative;
	float:right;
	bottom: -31px;
	margin-right:10px;
	z-index: 3;
	overflow: hidden;
	visibility: visible;
}
a.boutondeconnexionm:hover {
	background-position: 0px -16px;
}
#megaban {
	width: 100%;
}
#banner {
	width: auto;
	margin-bottom:0px;
}

.caption {
	height: auto;	
}

.caption a img {
	display: inline;
	margin-left: 0px;
	margin-top:5px;

}
#offreabo {
	width: auto;
	margin-top: 25px;
	text-align: center;
	
}
#offreabo-top a img {
	width: 100%;
}
.derniersjours {
	right: 0px;
	top: 0px;
}
#profs {
	width: auto;
	margin-top:15px;
}
#profs-top {
	padding: 10px;
	background-color: #CCC;
}
h3  {
	font-size: 17px;
	line-height: 1em;
}
.prof-cadre h3 {
	font-size: 16px;
	margin-top: 5px;
}
#profs-bottom {
	width: 100%;
	float: none;
	padding: 0;
	margin-bottom: 0px;
	background-color: #F5F5F5;
	background-image: none;
}
#profs-bottom-left {
	float: none;
	width: 100%;
	padding: 0;
}
.prof-cadre p {
	background-image: none;
	padding-right: 5px;
}
.prof-cadre {
	width: 100%;
	margin-top: 0px;
	margin-bottom: 12px;
}
#profs-bottom-right {
	float: none;
	width: 100%;
	padding: 0px;
}

#cours {
	width: auto;
	margin-top: 25px;
}
#cours-top {
	padding: 10px;
	background-color: #CCC;
}
#cours-bottom {
	width: auto;
	padding: 10px;
	margin-top: 0px;
	float: none;
	background-color: #F5F5F5;
	margin-bottom: 0px;
	height: auto;
	background-image: none;
}
#cours-bottom p {
	margin-bottom: 0px;
}
#cours-bottom h4 {
	margin-top: 0px;
}
a.boutondebutant {	
	display: none;	
}
a.boutonamateur {	
	display: none;	
}
a.boutonetudiant {	
	display: none;	
}
#part-fb {
	display: none;
}
#right {
	float: none;
	width: 100%;
	clear: both;
}
#news {
	width: 100%;
	margin-top: 25px;
}
#news-top {
	width: auto;
}
#abonne {
}
#abonne-bottom {
	height: 85px;
	font-size: 14px;
}
#news-bottom {
	width: auto;
	padding: 10px;
}
#plus {
	display: none;
}
#ban1 {
	text-align:center;
}
#ban2 {
	text-align:center;
}
#ban3 {
	text-align:center;
}
#mag {
	margin-bottom:25;
}
#reseau {
	margin-bottom:0;
}
#bdp {
	padding: 10px;
}
.col1  {
	float: none;
	width: 100%;
	display: none;
}
.col2  {
	float: none;
	width: 100%;
	margin: 0 0 30px 0;
	display: block;
}
.col3  {
	float: none;
	width: 100%;
	margin: 30px 0 0 0;
	display: block;
}
#footer {
	width: 100%;
}
/* Menu mobile : hamburger seul */
@media (max-width: 980px) {
    .flexy-menu li.showhide span.title {
        display: none !important;
    }

    .flexy-menu li.showhide span.icon {
        float: left;
        margin-left: 0;
    }
}
@media(max-width: 480px){

}
}

/* ==========================================================
   HOMEPAGE RENTRÉE 2026
   Ajout volontairement isolé pour préserver les pages historiques
   ========================================================== */

.rentree-home {
    width: 946px;
    margin: 19px 17px 0 17px;
    text-align: left;
    background: #fff;
}

.rentree-home * {
    box-sizing: border-box;
}

.rentree-home h1,
.rentree-home h2,
.rentree-home h3,
.rentree-home p {
    margin: 0;
}

.rentree-hero {
    min-height: 470px;
    padding: 58px 54px 46px 54px;
    background:
        linear-gradient(110deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.96) 53%, rgba(244,244,244,0.92) 100%);
    border-top: 6px solid #d10612;
    position: relative;
}

.rentree-hero-copy {
    max-width: 660px;
}

.rentree-radio-kicker {
    font-size: 14px;
    font-weight: 700;
    color: #6a6a6a;
    margin-bottom: 13px;
}

.rentree-label {
    display: inline-block;
    padding: 6px 10px 5px 10px;
    background: #d10612;
    color: #fff;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .08em;
}

.rentree-main-title {
    margin-top: 18px !important;
    color: #171717;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 38px;
    line-height: 1.14;
    font-weight: 400;
    max-width: 760px;
}

.rentree-lead {
    margin-top: 17px !important;
    max-width: 650px;
    color: #555;
    font-size: 18px;
    line-height: 1.45;
}

.rentree-price-line {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-top: 27px;
}

.rentree-old-price {
    color: #777;
    font-size: 20px;
    text-decoration: line-through;
}

.rentree-price {
    color: #d10612;
    font-size: 45px;
    line-height: 1;
    font-weight: 700;
}

.rentree-price-period {
    color: #222;
    font-size: 18px;
    font-weight: 700;
}

.rentree-price-detail {
    margin-top: 8px !important;
    color: #444;
    font-size: 15px;
}

.rentree-cta {
    display: inline-block;
    margin-top: 22px;
    padding: 14px 21px 13px 21px;
    border-radius: 2px;
    font-size: 15px;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}

.rentree-cta:hover {
    transform: translateY(-1px);
}

.rentree-cta-primary,
.rentree-cta-primary:link,
.rentree-cta-primary:visited {
    background: #d10612;
    color: #fff;
}

.rentree-cta-primary:hover {
    background: #a9000a;
    color: #fff;
}

.rentree-deadline {
    margin-top: 9px !important;
    color: #777;
    font-size: 12px;
}

.rentree-hero-proof {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin-top: 42px;
    max-width: 760px;
    border: 1px solid #dedede;
    background: #dedede;
}

.rentree-proof-card {
    padding: 15px 17px;
    background: #fff;
}

.rentree-proof-card strong {
    display: block;
    color: #222;
    font-size: 20px;
    margin-bottom: 2px;
}

.rentree-proof-card span {
    color: #666;
    font-size: 12px;
    line-height: 1.3;
}

.rentree-section {
    padding: 58px 54px;
    border-top: 1px solid #e1e1e1;
}

.rentree-section-heading {
    max-width: 720px;
    margin-bottom: 30px;
}

.rentree-eyebrow {
    display: block;
    color: #d10612;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    margin-bottom: 8px;
}

.rentree-section h2,
.rentree-final-offer h2 {
    color: #222;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 29px;
    line-height: 1.22;
    font-weight: 400;
}

.rentree-section-heading p,
.rentree-wide-copy {
    margin-top: 12px !important;
    color: #555;
    font-size: 16px;
    line-height: 1.55;
}

.rentree-wide-copy {
    max-width: 820px;
}

.rentree-text-link {
    display: inline-block;
    margin-top: 18px;
    color: #d10612 !important;
    font-size: 14px;
    font-weight: 700;
}

.rentree-text-link:hover {
    text-decoration: underline;
}

.rentree-professors {
    background: #f5f5f5;
}

.rentree-prof-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.rentree-prof-card {
    display: flex;
    min-height: 118px;
    align-items: center;
    gap: 16px;
    padding: 11px;
    background: #fff;
    border: 1px solid #e2e2e2;
}

.rentree-prof-card:hover {
    border-color: #c7c7c7;
}

.rentree-prof-card img {
    width: 92px;
    height: 92px;
    object-fit: cover;
    flex: 0 0 92px;
}

.rentree-prof-card strong {
    display: block;
    color: #222;
    font-size: 16px;
    line-height: 1.2;
    margin-bottom: 5px;
}

.rentree-prof-card strong:before {
    content: "I ";
    color: #d10612;
}

.rentree-prof-card span {
    display: block;
    color: #555;
    font-size: 12px;
    line-height: 1.35;
}

.rentree-level-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.rentree-level-card {
    padding: 26px 23px 24px 23px;
    border: 1px solid #dedede;
    background: #fff;
}

.rentree-level-tag {
    display: inline-block;
    margin-bottom: 16px;
    padding: 4px 7px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    background: #777;
}

.rentree-level-beginner .rentree-level-tag { background: #6ebd2b; }
.rentree-level-intermediate .rentree-level-tag { background: #325bd2; }
.rentree-level-advanced .rentree-level-tag { background: #f27a14; }

.rentree-level-card h3 {
    color: #222;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
}

.rentree-level-card p {
    margin-top: 11px !important;
    min-height: 117px;
    color: #555;
    font-size: 14px;
    line-height: 1.45;
}

.rentree-level-card a {
    color: #d10612 !important;
    font-size: 13px;
    font-weight: 700;
}

.rentree-included {
    background: #f5f5f5;
}

.rentree-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.rentree-benefit {
    min-height: 116px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e2e2e2;
}

.rentree-benefit strong {
    display: block;
    color: #222;
    font-size: 15px;
    margin-bottom: 6px;
}

.rentree-benefit span {
    color: #555;
    font-size: 13px;
    line-height: 1.45;
}

.rentree-reviews {
    text-align: center;
}

.rentree-reviews .rentree-section-heading {
    margin-left: auto;
    margin-right: auto;
}

.rentree-trustpilot {
    max-width: 620px;
    margin: 0 auto;
    min-height: 90px;
}

.rentree-final-offer {
    padding: 55px 54px 48px 54px;
    text-align: center;
    background: #d10612;
    color: #fff;
}

.rentree-final-offer .rentree-label {
    background: #fff;
    color: #d10612;
}

.rentree-final-offer h2 {
    margin-top: 17px !important;
    color: #fff;
    font-size: 31px;
}

.rentree-final-price {
    margin-top: 18px;
}

.rentree-final-price .rentree-old-price {
    color: rgba(255,255,255,.72);
}

.rentree-final-price strong {
    margin-left: 10px;
    color: #fff;
    font-size: 42px;
}

.rentree-final-offer > p {
    max-width: 650px;
    margin: 12px auto 0 auto !important;
    font-size: 15px;
    line-height: 1.45;
}

.rentree-cta-light,
.rentree-cta-light:link,
.rentree-cta-light:visited {
    background: #fff;
    color: #d10612;
}

.rentree-cta-light:hover {
    background: #f0f0f0;
    color: #a9000a;
}

.rentree-final-note {
    font-size: 12px !important;
    opacity: .85;
}

.rentree-monthly {
    max-width: 650px;
    margin: 32px auto 0 auto;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.35);
}

.rentree-monthly span,
.rentree-monthly strong {
    display: block;
}

.rentree-monthly strong {
    margin-top: 4px;
    font-size: 15px;
}

.rentree-monthly a {
    display: inline-block;
    margin-top: 8px;
    color: #fff !important;
    text-decoration: underline;
}

@media (max-width: 980px) {
    .rentree-home {
        width: 100%;
        margin: 10px 0 0 0;
    }

    .rentree-hero,
    .rentree-section,
    .rentree-final-offer {
        padding-left: 25px;
        padding-right: 25px;
    }

    .rentree-hero {
        min-height: 0;
        padding-top: 34px;
        padding-bottom: 32px;
    }

    .rentree-radio-kicker {
        font-size: 13px;
    }

    .rentree-main-title {
        font-size: 31px;
    }

    .rentree-lead {
        font-size: 16px;
    }

    .rentree-price {
        font-size: 39px;
    }

    .rentree-hero-proof,
    .rentree-level-grid,
    .rentree-benefits {
        grid-template-columns: 1fr;
    }

    .rentree-proof-card {
        padding: 12px 14px;
    }

    .rentree-prof-grid {
        grid-template-columns: 1fr;
    }

    .rentree-section {
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .rentree-section h2,
    .rentree-final-offer h2 {
        font-size: 25px;
    }

    .rentree-level-card p {
        min-height: 0;
    }

    .rentree-benefit {
        min-height: 0;
    }
}

@media (max-width: 560px) {
    .rentree-hero,
    .rentree-section,
    .rentree-final-offer {
        padding-left: 18px;
        padding-right: 18px;
    }

    .rentree-main-title {
        font-size: 27px;
    }

    .rentree-price-line {
        flex-wrap: wrap;
        gap: 8px 10px;
    }

    .rentree-old-price {
        font-size: 18px;
    }

    .rentree-price {
        font-size: 38px;
    }

    .rentree-price-period {
        font-size: 16px;
    }

    .rentree-cta {
        width: 100%;
        text-align: center;
        padding-left: 12px;
        padding-right: 12px;
    }

    .rentree-prof-card {
        align-items: flex-start;
    }

    .rentree-prof-card img {
        width: 78px;
        height: 78px;
        flex-basis: 78px;
    }

    .rentree-final-price strong {
        font-size: 38px;
    }
}


/* ==========================================================
   AJUSTEMENTS HERO — version affinée
   Piano uniquement dans le premier bloc, très discret.
   ========================================================== */

.rentree-home {
    background: #fff;
}

/* Le fond historique du container ne doit plus transparaître
   sous toute la longueur de la nouvelle homepage. */
#container {
    background-image: none;
    background-color: #fff;
}

/* Hero : piano subtil, surtout visible à droite, texte toujours très lisible */
.rentree-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.98) 0%,
            rgba(255,255,255,0.97) 44%,
            rgba(255,255,255,0.91) 66%,
            rgba(255,255,255,0.86) 100%
        ),
        url('/images/fond_piano.jpg') right center / cover no-repeat;
}

/* Légère matière visuelle sans gêner le texte */
.rentree-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(255,255,255,0.02) 0%,
        rgba(255,255,255,0.00) 70%,
        rgba(255,255,255,0.08) 100%
    );
}

.rentree-hero-copy,
.rentree-hero-proof {
    position: relative;
    z-index: 1;
}

/* Hero un peu plus compact et plus direct */
.rentree-hero {
    min-height: 440px;
    padding-top: 46px;
    padding-bottom: 38px;
}

.rentree-main-title {
    max-width: 680px;
    font-size: 37px;
}

.rentree-lead {
    max-width: 610px;
    margin-top: 14px !important;
}

.rentree-price-line {
    margin-top: 24px;
}

.rentree-price-detail {
    margin-top: 7px !important;
    font-size: 14px;
    color: #4f4f4f;
}

.rentree-hero-proof {
    margin-top: 34px;
}

/* Les sections sous le hero deviennent opaques et propres */
.rentree-section,
.rentree-professors,
.rentree-included,
.rentree-reviews,
.rentree-final-offer {
    position: relative;
    z-index: 1;
}

/* Plus de respiration après le hero */
.rentree-intro {
    background: #fff;
}

/* Mobile : conserver le piano très discret sans diminuer la lisibilité */
@media (max-width: 980px) {
    .rentree-hero {
        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.98) 0%,
                rgba(255,255,255,0.96) 62%,
                rgba(255,255,255,0.90) 100%
            ),
            url('/images/fond_piano.jpg') right center / cover no-repeat;
    }
}

@media (max-width: 560px) {
    .rentree-hero {
        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.985) 0%,
                rgba(255,255,255,0.97) 72%,
                rgba(255,255,255,0.93) 100%
            ),
            url('/images/fond_piano.jpg') 72% center / cover no-repeat;
    }

    .rentree-main-title {
        font-size: 27px;
    }
}


/* ==========================================================
   HOMEPAGE RENTRÉE 2026 — V3 FINALE
   Finitions validées : hero piano renforcé, intro supprimée,
   4 bénéfices, niveaux renommés, header resserré.
   ========================================================== */

/* Le hero devient plus visuel à droite : touches noires et blanches plus lisibles,
   tout en conservant une zone très claire derrière le texte. */
.rentree-hero {
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.985) 0%,
            rgba(255,255,255,0.975) 38%,
            rgba(255,255,255,0.89) 58%,
            rgba(255,255,255,0.72) 78%,
            rgba(255,255,255,0.58) 100%
        ),
        url('/images/fond_piano.jpg') 72% center / cover no-repeat;
    padding-top: 42px;
    padding-bottom: 28px;
}

.rentree-hero::after {
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.00) 0%,
            rgba(255,255,255,0.00) 60%,
            rgba(255,255,255,0.05) 100%
        );
}

.rentree-hero-proof {
    margin-top: 30px;
}

/* La section professeurs suit désormais directement le hero. */
.rentree-professors {
    border-top: 1px solid #e1e1e1;
}

/* Professeurs légèrement plus présents sans alourdir la grille. */
.rentree-prof-card img {
    width: 98px;
    height: 98px;
    flex-basis: 98px;
}

.rentree-prof-card strong {
    font-size: 16px;
}

.rentree-prof-card span {
    font-size: 12.5px;
    line-height: 1.4;
}

/* 4 bénéfices sur une ligne en desktop. */
.rentree-benefits {
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.rentree-benefit {
    min-height: 132px;
    padding: 18px;
}

.rentree-benefit strong {
    font-size: 14px;
    line-height: 1.25;
}

.rentree-benefit span {
    font-size: 12.5px;
    line-height: 1.45;
}

/* Réduction de quelques espaces verticaux pour une page plus dynamique. */
.rentree-section {
    padding-top: 48px;
    padding-bottom: 48px;
}

.rentree-section-heading {
    margin-bottom: 24px;
}

.rentree-levels {
    padding-top: 46px;
    padding-bottom: 46px;
}

.rentree-included {
    padding-top: 44px;
    padding-bottom: 44px;
}

.rentree-reviews {
    padding-top: 42px;
    padding-bottom: 42px;
}

/* Header historique : resserrement discret pour éviter le retour à la ligne. */
#mainmenu {
    font-size: 1.02em;
    letter-spacing: 0.075em;
}

.flexy-menu > li > a {
    padding-left: 11px !important;
    padding-right: 11px !important;
}

/* Mobile et tablette */
@media (max-width: 980px) {
    .rentree-hero {
        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.985) 0%,
                rgba(255,255,255,0.96) 58%,
                rgba(255,255,255,0.80) 100%
            ),
            url('/images/fond_piano.jpg') 72% center / cover no-repeat;
    }

    .rentree-benefits {
        grid-template-columns: 1fr 1fr;
    }

    .rentree-benefit {
        min-height: 120px;
    }
}

@media (max-width: 560px) {
    .rentree-hero {
        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.99) 0%,
                rgba(255,255,255,0.975) 66%,
                rgba(255,255,255,0.86) 100%
            ),
            url('/images/fond_piano.jpg') 72% center / cover no-repeat;
    }

    .rentree-benefits {
        grid-template-columns: 1fr;
    }

    .rentree-prof-card img {
        width: 82px;
        height: 82px;
        flex-basis: 82px;
    }
}


/* ==========================================================
   HOMEPAGE RENTRÉE 2026 — V4 FINITIONS
   - prix barré rapproché de 199 €
   - bloc Trustpilot compacté
   - CTA final rouge réduit d'environ 20 %
   ========================================================== */

/* Prix du hero : rapprocher 232 € de 199 € */
.rentree-price-line {
    gap: 7px;
}

.rentree-old-price {
    margin-right: 0;
}

/* Trustpilot : section plus compacte et plus dense */
.rentree-reviews-compact {
    padding-top: 28px;
    padding-bottom: 26px;
}

.rentree-reviews-compact .rentree-section-heading {
    margin-bottom: 12px;
}

.rentree-reviews-compact .rentree-section-heading p {
    margin-top: 6px !important;
}

.rentree-reviews-compact .rentree-trustpilot {
    max-width: 500px;
    min-height: 72px;
}

.rentree-reviews-compact .trustpilot-widget {
    margin-top: 0;
}

/* Bloc final : plus ramassé, même impact */
.rentree-final-offer {
    padding-top: 38px;
    padding-bottom: 34px;
}

.rentree-final-offer h2 {
    margin-top: 12px !important;
}

.rentree-final-price {
    margin-top: 12px;
}

.rentree-final-offer > p {
    margin-top: 9px !important;
}

.rentree-final-offer .rentree-cta {
    margin-top: 16px;
}

.rentree-final-note {
    margin-top: 7px !important;
}

.rentree-monthly {
    margin-top: 22px;
    padding-top: 18px;
}

@media (max-width: 560px) {
    .rentree-reviews-compact {
        padding-top: 24px;
        padding-bottom: 22px;
    }

    .rentree-final-offer {
        padding-top: 30px;
        padding-bottom: 28px;
    }
}


/* ==========================================================
   HOMEPAGE RENTRÉE 2026 — V5 MOBILE
   Optimisation mobile :
   - professeurs en grille 2 colonnes, descriptions masquées
   - niveaux plus compacts
   - bénéfices en grille 2x2
   - Trustpilot réduit
   ========================================================== */

@media (max-width: 560px) {

    /* PROFESSEURS : 2 colonnes compactes */
    .rentree-prof-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .rentree-prof-card {
        min-height: 0;
        padding: 10px;
        gap: 8px;
        display: block;
        text-align: center;
    }

    .rentree-prof-card img {
        width: 92px;
        height: 92px;
        margin: 0 auto 8px auto;
        display: block;
        float: none;
    }

    .rentree-prof-card strong {
        font-size: 14px;
        line-height: 1.2;
        margin-bottom: 0;
    }

    .rentree-prof-card strong:before {
        content: "";
    }

    .rentree-prof-card span {
        display: none;
    }

    /* NIVEAUX : cartes moins hautes */
    .rentree-level-grid {
        gap: 12px;
    }

    .rentree-level-card {
        padding: 20px 18px 18px 18px;
    }

    .rentree-level-tag {
        margin-bottom: 12px;
    }

    .rentree-level-card h3 {
        font-size: 17px;
    }

    .rentree-level-card p {
        margin-top: 8px !important;
        font-size: 13.5px;
        line-height: 1.4;
    }

    .rentree-level-card a {
        display: inline-block;
        margin-top: 6px;
    }

    /* BÉNÉFICES : grille 2 x 2 */
    .rentree-benefits {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .rentree-benefit {
        min-height: 0;
        padding: 16px 14px;
    }

    .rentree-benefit strong {
        font-size: 13px;
        line-height: 1.2;
    }

    .rentree-benefit span {
        font-size: 12px;
        line-height: 1.35;
    }

    /* TRUSTPILOT : nettement plus compact */
    .rentree-reviews-compact {
        padding-top: 22px;
        padding-bottom: 20px;
    }

    .rentree-reviews-compact .rentree-section-heading {
        margin-bottom: 8px;
    }

    .rentree-reviews-compact .rentree-section-heading h2 {
        font-size: 22px;
    }

    .rentree-reviews-compact .rentree-section-heading p {
        font-size: 13px;
        margin-top: 4px !important;
    }

    .rentree-reviews-compact .rentree-trustpilot {
        max-width: 300px;
        min-height: 54px;
        margin: 0 auto;
        transform: scale(0.78);
        transform-origin: top center;
        margin-bottom: -14px;
    }

    /* Réduction générale des espacements mobiles */
    .rentree-section {
        padding-top: 34px;
        padding-bottom: 34px;
    }

    .rentree-professors {
        padding-top: 32px;
        padding-bottom: 34px;
    }

    .rentree-levels {
        padding-top: 32px;
        padding-bottom: 34px;
    }

    .rentree-included {
        padding-top: 32px;
        padding-bottom: 32px;
    }
}


/* ==========================================================
   HOMEPAGE RENTRÉE 2026 — V6 MOBILE FINITIONS
   ========================================================== */

@media (max-width: 560px) {

    /* Noms des professeurs : légèrement plus discrets */
    .rentree-prof-card strong {
        font-size: 13px;
        line-height: 1.18;
    }

    /* Niveaux : encore un peu plus compacts */
    .rentree-level-grid {
        gap: 10px;
    }

    .rentree-level-card {
        padding: 17px 16px 15px;
    }

    .rentree-level-tag {
        margin-bottom: 10px;
    }

    .rentree-level-card h3 {
        margin-bottom: 0;
    }

    .rentree-level-card p {
        font-size: 13px;
        line-height: 1.35;
        margin-top: 7px !important;
        margin-bottom: 0;
    }

    .rentree-level-card a {
        margin-top: 5px;
    }

    /* Trustpilot : réduire encore le widget sans toucher au titre */
    .rentree-reviews-compact .rentree-trustpilot {
        max-width: 270px;
        transform: scale(0.62);
        transform-origin: top center;
        margin-bottom: -28px;
    }

    .rentree-reviews-compact {
        padding-bottom: 16px;
    }
}


/* ==========================================================
   HOMEPAGE RENTRÉE 2026 — MENU MOBILE OPTIMISÉ
   ========================================================== */

@media (max-width: 980px) {

    #header-bottom {
        height: auto;
        min-height: 54px;
        background: #2f2f2f;
        margin-top: 10px;
        padding: 0 10px;
        display: flex;
        align-items: center;
        position: relative;
    }

    #mainmenu {
        width: 100%;
        margin: 0;
        font-size: 1em;
        letter-spacing: 0;
    }

    #boutonsm {
        display: flex;
        align-items: center;
        gap: 8px;
        position: absolute;
        right: 10px;
        top: 13px;
        transform: none;
        z-index: 20;
    }

    .newboutonabom,
    .newboutoncompte1m,
    .newboutoncompte2m,
    .newboutondeconnexionm {
        position: static;
        float: none;
        bottom: auto;
        margin: 0;
        width: auto;
        height: 28px;
        padding: 0 10px;
        font-size: 11px;
        line-height: 28px;
        border: 0;
        box-sizing: border-box;
        white-space: nowrap;
    }

    .newboutonabom {
        background-color: #d10612;
        color: #fff;
    }

    .newboutoncompte1m,
    .newboutoncompte2m {
        background-color: #5d130c;
        color: #fff;
    }

    .newboutondeconnexionm {
        background-color: #d10612;
        color: #fff;
    }

    #header-bottom .flexy-menu {
        padding-right: 230px;
        box-sizing: border-box;
    }

    .flexy-menu li.showhide {
        min-height: 54px;
        line-height: 54px;
        background: transparent !important;
        color: #fff !important;
        padding: 0 !important;
    }

    .flexy-menu li.showhide span.title {
        color: #fff !important;
        font-size: 15px;
        font-weight: 700;
        letter-spacing: .04em;
        line-height: 54px;
    }

    .flexy-menu li.showhide span.icon {
        margin-top: 16px;
    }

    .flexy-menu li.showhide span.icon em {
        height: 2px;
        background: #cfcfcf;
        margin-bottom: 4px;
    }
}

@media (max-width: 560px) {

    #header-bottom {
        min-height: 52px;
        padding-left: 9px;
        padding-right: 9px;
    }

    #boutonsm {
        right: 9px;
        top: 13px;
        gap: 6px;
    }

    .newboutonabom,
    .newboutoncompte1m,
    .newboutoncompte2m,
    .newboutondeconnexionm {
        height: 26px;
        line-height: 26px;
        padding: 0 8px;
        font-size: 10.5px;
    }

    #header-bottom .flexy-menu {
        padding-right: 205px;
    }

    .flexy-menu li.showhide {
        min-height: 52px;
        line-height: 52px;
    }

    .flexy-menu li.showhide span.title {
        font-size: 14px;
        line-height: 52px;
    }

    .flexy-menu li.showhide span.icon {
        margin-top: 15px;
    }
}

@media (max-width: 390px) {

    #header-bottom .flexy-menu {
        padding-right: 185px;
    }

    .newboutonabom,
    .newboutoncompte1m,
    .newboutoncompte2m,
    .newboutondeconnexionm {
        padding: 0 6px;
        font-size: 10px;
    }

    #boutonsm {
        gap: 4px;
    }
}


/* ==========================================================
   HOMEPAGE RENTRÉE 2026 — MENU MOBILE OUVERT V8
   ========================================================== */

@media (max-width: 980px) {

    /* Hamburger seul */
    .flexy-menu li.showhide span.title {
        display: none !important;
    }

    .flexy-menu li.showhide span.icon {
        float: left;
        margin-left: 0;
    }

    /* Les boutons restent toujours dans la barre supérieure */
    #boutonsm {
        top: 13px !important;
        transform: none !important;
    }

    /* Plus de réserve de largeur sur le menu déroulé */
    #header-bottom .flexy-menu {
        padding-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    /* On réserve seulement l'espace des boutons sur la ligne du hamburger */
    #header-bottom .flexy-menu > li.showhide {
        box-sizing: border-box;
        padding-right: 230px !important;
    }

    /* Navigation principale sur toute la largeur */
    #header-bottom .flexy-menu > li:not(.showhide) {
        float: none !important;
        width: 100% !important;
        clear: both !important;
        box-sizing: border-box;
    }

    #header-bottom .flexy-menu > li:not(.showhide) > a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
        padding: 13px 22px !important;
    }

    /* Sous-menus en pleine largeur */
    #header-bottom .flexy-menu li ul,
    #header-bottom .flexy-menu li ul ul {
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        min-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box;
        box-shadow: none !important;
    }

    #header-bottom .flexy-menu li ul li {
        float: none !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    #header-bottom .flexy-menu li ul li > a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
        padding: 11px 22px 11px 42px !important;
    }

    #header-bottom .flexy-menu li ul li ul li > a {
        padding-left: 60px !important;
    }
}

@media (max-width: 560px) {

    #header-bottom .flexy-menu > li.showhide {
        padding-right: 205px !important;
    }

    #header-bottom .flexy-menu > li:not(.showhide) > a {
        padding: 13px 14px !important;
    }

    #header-bottom .flexy-menu li ul li > a {
        padding: 10px 14px 10px 32px !important;
    }

    #header-bottom .flexy-menu li ul li ul li > a {
        padding-left: 48px !important;
    }

    #boutonsm {
        top: 13px !important;
    }
}

@media (max-width: 390px) {

    #header-bottom .flexy-menu > li.showhide {
        padding-right: 185px !important;
    }
}

/* ==========================================================
   HEADER DESKTOP — aligné sur la page abonnements
   - davantage d'espace entre la baseline du logo et le menu
   - ligne rouge légèrement abaissée sous le menu
   ========================================================== */
@media (min-width: 981px) {

    /* Détache légèrement le menu de la baseline du logo */
    #header-top {
        margin-bottom: 13px;
    }

    /* Annule le décalage historique vers le haut du menu */
    #header-middle {
        bottom: 0;
    }

    /* Abaisse la séparation rouge sous le menu */
    .rentree-home {
        margin-top: 31px;
    }
}


/* ==========================================================
   HEADER — BOUTONS UTILISATEUR (RÈGLES COMMUNES HOME / OFFRES)
   États :
   - visiteur : S'ABONNER + MON COMPTE
   - connecté sans abonnement : MON COMPTE + DÉCONNEXION
   - abonné actif : MON ESPACE + DÉCONNEXION
   ========================================================== */

/* Desktop */
.newboutonabo,
.newboutoncompte1,
.newboutoncompte2,
.newboutonmonespace2,
.newboutondeconnexion {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    border: 0;
    padding: 1px 5px;
    cursor: pointer;
    text-transform: uppercase;
    display: block;
    height: 18px;
    position: absolute;
    top: 72px;
    box-sizing: border-box;
    visibility: visible;
}

.newboutonabo {
    background-color: #f22200;
    width: 81px;
    left: 752px;
    z-index: 5;
}

.newboutoncompte1 {
    background-color: #6a190c;
    width: 97px;
    left: 840px;
    z-index: 4;
}

.newboutoncompte2 {
    background-color: #6a190c;
    width: 97px;
    left: 731px;
    z-index: 8;
}

.newboutonmonespace2 {
    background-color: #f22200;
    width: 93px;
    left: 734px;
    z-index: 10;
}

.newboutondeconnexion {
    background-color: #f22200;
    width: 103px;
    left: 834px;
    z-index: 9;
}

.newboutonabo:hover,
.newboutonmonespace2:hover,
.newboutondeconnexion:hover {
    background-color: #e2e2e2;
    color: #f22200;
}

.newboutoncompte1:hover,
.newboutoncompte2:hover {
    background-color: #e2e2e2;
    color: #6a190c;
}

/* Mobile */
@media (max-width: 980px) {

    .newboutonabo,
    .newboutoncompte1,
    .newboutoncompte2,
    .newboutonmonespace2,
    .newboutondeconnexion {
        display: none !important;
    }

    #boutonsm {
        display: flex !important;
        align-items: center;
        gap: 8px;
        position: absolute;
        right: 10px;
        top: 13px !important;
        z-index: 20;
        transform: none !important;
    }

    .newboutonabom,
    .newboutoncompte1m,
    .newboutoncompte2m,
    .newboutonmonespace2m,
    .newboutondeconnexionm {
        position: static !important;
        float: none !important;
        bottom: auto !important;
        margin: 0 !important;
        width: auto !important;
        min-width: 0;
        height: 28px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
        line-height: 28px !important;
        font-weight: 700;
        border: 0 !important;
        box-sizing: border-box;
        white-space: nowrap;
        text-transform: uppercase;
        color: #fff;
        cursor: pointer;
        overflow: visible;
        visibility: visible;
    }

    .newboutonabom,
    .newboutonmonespace2m,
    .newboutondeconnexionm {
        background-color: #d10612;
    }

    .newboutoncompte1m,
    .newboutoncompte2m {
        background-color: #5d130c;
    }

    .newboutonabom:hover,
    .newboutonmonespace2m:hover,
    .newboutondeconnexionm:hover {
        background-color: #e2e2e2;
        color: #d10612;
    }

    .newboutoncompte1m:hover,
    .newboutoncompte2m:hover {
        background-color: #e2e2e2;
        color: #5d130c;
    }
}

@media (max-width: 560px) {
    #boutonsm {
        right: 9px;
        top: 13px !important;
        gap: 6px;
    }

    .newboutonabom,
    .newboutoncompte1m,
    .newboutoncompte2m,
    .newboutonmonespace2m,
    .newboutondeconnexionm {
        height: 26px !important;
        line-height: 26px !important;
        padding: 0 8px !important;
        font-size: 10.5px !important;
    }
}

@media (max-width: 390px) {
    #boutonsm {
        gap: 4px;
    }

    .newboutonabom,
    .newboutoncompte1m,
    .newboutoncompte2m,
    .newboutonmonespace2m,
    .newboutondeconnexionm {
        padding: 0 6px !important;
        font-size: 10px !important;
    }
}



/* ==========================================================
   HOMEPAGE RENTRÉE 2026 — V7 MOBILE ESPACEMENTS
   - preuve hero légèrement compactée
   - rapprochement niveaux / abonnement
   - bloc Trustpilot fixe conservé
   ========================================================== */

@media (max-width: 560px) {
    /* Bloc 15 ans / 4,9 / 300 : un peu moins haut */
    .rentree-hero-proof {
        margin-top: 26px;
    }

    .rentree-proof-card {
        padding: 9px 14px;
    }

    .rentree-proof-card strong {
        margin-bottom: 1px;
    }

    /* Réduit légèrement l'espace après les trois cartes de niveaux */
    .rentree-levels {
        padding-bottom: 26px;
    }

    /* Le bloc suivant remonte légèrement */
    .rentree-included {
        padding-top: 28px;
    }

    /* Trustpilot reste volontairement fixe sur la homepage. */
}
