/* Modale de connexion — site public. (Le bouton « Connexion » du menu est géré
   directement dans le menu du site ; ici on ne style que la modale.) */

/* Modale */
.tcm-login-modal{
	position:fixed; inset:0; background:rgba(26,24,21,.55);
	display:none; align-items:center; justify-content:center; z-index:100000;
}
.tcm-login-modal.is-open{ display:flex; }
.tcm-login-box{
	position:relative; width:380px; max-width:92vw; box-sizing:border-box;
	background:#fff; border-radius:16px; padding:34px 30px;
	box-shadow:0 24px 70px rgba(0,0,0,.3);
	font-family:'Rubik',sans-serif; color:#1A1815;
}
.tcm-login-close{
	position:absolute; top:12px; right:14px; background:none !important; border:0 !important;
	box-shadow:none !important; padding:0 4px !important; width:auto !important; height:auto !important;
	font-size:26px; line-height:1; cursor:pointer; color:#1A1815 !important;
}
.tcm-login-box h3{
	font-family:'Rubik',sans-serif; font-weight:900; text-transform:uppercase;
	font-size:22px; margin:0 0 6px; color:#1A1815;
}
.tcm-login-sub{ font-size:14px; color:#6b6659; margin:0 0 22px; }
.tcm-login-box label{ display:block; font-size:13px; font-weight:600; margin-bottom:14px; }
.tcm-login-box input[type=text],
.tcm-login-box input[type=password]{
	width:100%; box-sizing:border-box; margin-top:6px;
	padding:11px 13px; border:1px solid #ddd; border-radius:8px;
	font-size:15px; font-family:'Rubik',sans-serif; color:#1A1815; background:#fff;
}
.tcm-login-box input:focus{ outline:none; border-color:#F4C020; }
.tcm-login-remember{ font-weight:400 !important; display:flex; align-items:center; gap:8px; }
.tcm-login-remember input{ width:auto; margin:0; }
.tcm-login-err{ color:#b42318; font-size:13px; min-height:16px; margin:2px 0 8px; }
.tcm-login-submit{
	display:inline-flex; align-items:center; justify-content:center;
	width:100% !important; padding:14px !important; margin-top:4px;
	background:#F4C020 !important; color:#1A1815 !important;
	font-family:'Rubik',sans-serif; font-weight:700 !important; text-transform:uppercase;
	font-size:15px; letter-spacing:.5px; line-height:1;
	border:0 !important; border-radius:40px !important; box-shadow:none !important;
	cursor:pointer; -webkit-appearance:none; appearance:none; transition:background .2s ease, color .2s ease;
}
.tcm-login-submit:hover{ background:#E0851A !important; color:#fff !important; }
.tcm-login-forgot{ display:block; text-align:center; margin-top:14px; font-size:13px; color:#6b6659; text-decoration:underline; }
.tcm-login-forgot:hover{ color:#E0851A; }

/* --------------------------------------------------------------------------
   Newsletter footer (plugin Newsletter « tnp », « Suivez l'actu du club ») :
   champ e-mail + bouton sur une seule ligne, bouton au style charte.
   -------------------------------------------------------------------------- */
.elementor-location-footer .tnp form{ display:flex !important; flex-wrap:nowrap !important; gap:10px; align-items:flex-end; margin:0; }
.elementor-location-footer .tnp .tnp-field{ margin:0 !important; padding:0 !important; }
.elementor-location-footer .tnp .tnp-field-email{ flex:1 1 auto; min-width:0; }
.elementor-location-footer .tnp .tnp-field-button{ flex:0 0 auto; }
.elementor-location-footer .tnp .tnp-email{ width:100% !important; box-sizing:border-box; height:44px; }
.elementor-location-footer .tnp .tnp-submit{
	background:#F4C020 !important; color:#1A1815 !important;
	border:0 !important; border-radius:40px !important; box-shadow:none !important;
	font-family:'Rubik',sans-serif !important; font-weight:700 !important;
	text-transform:uppercase; letter-spacing:.5px; padding:0 26px !important;
	height:44px; min-height:44px; cursor:pointer; white-space:nowrap; transition:background .2s ease, color .2s ease;
}
.elementor-location-footer .tnp .tnp-submit:hover{ background:#E0851A !important; color:#fff !important; }
/* Mobile : champ e-mail et bouton sur 2 lignes (chacun pleine largeur) */
@media (max-width:767px){
	.elementor-location-footer .tnp form{ flex-direction:column !important; align-items:stretch !important; gap:12px; }
	.elementor-location-footer .tnp .tnp-field-button,
	.elementor-location-footer .tnp .tnp-submit{ width:100% !important; }
}
