/* =====================================================================
   Kiwanis Martigny – styles fonctionnels du plugin, aux couleurs de la charte Kiwanis
   (le design du site se règle dans Elementor : styles globaux + CSS du site)
   Bleu #003874 · bleu clair #99CAEA · or #B49759 (filets, jamais en petit texte sur blanc)
   ===================================================================== */

/* ---------- Blocs d'inscription de la page Événement (selon l'état) ---------- */
.kwm-bloc-inscription, .kwm-bloc-membres, .kwm-bloc-ferme, .kwm-bloc-libre{ display:none !important; }
body.kwm-etat-public .kwm-bloc-inscription,
body.kwm-etat-membres .kwm-bloc-membres,
body.kwm-etat-ferme .kwm-bloc-ferme,
body.kwm-etat-libre .kwm-bloc-libre{ display:flex !important; }
/* Dans l'éditeur Elementor, tous les blocs restent visibles pour pouvoir les modifier. */
body.elementor-editor-active .kwm-bloc-inscription, body.elementor-editor-active .kwm-bloc-membres,
body.elementor-editor-active .kwm-bloc-ferme, body.elementor-editor-active .kwm-bloc-libre,
body.elementor-editor-preview .kwm-bloc-inscription, body.elementor-editor-preview .kwm-bloc-membres,
body.elementor-editor-preview .kwm-bloc-ferme, body.elementor-editor-preview .kwm-bloc-libre{
	display:flex !important; outline:1px dashed rgba(0,56,116,.45); outline-offset:4px;
}

/* ---------- Réponses des membres (grille « Mes prochains rendez-vous ») ---------- */
.kwm-sans-accompagnant .kwm-btn-present2{ display:none !important; }
.kwm-reponse-fermee .kwm-btn-reponse{ display:none !important; }
.kwm-reponse-present .kwm-btn-present .elementor-button,
.kwm-reponse-present2 .kwm-btn-present2 .elementor-button{
	background-color:var(--e-global-color-primary, #003874) !important; color:#FFFFFF !important; box-shadow:none !important;
}
.kwm-reponse-absent .kwm-btn-absent .elementor-button{
	background-color:#595959 !important; color:#FFFFFF !important; box-shadow:none !important;
}
.kwm-reponse-present .kwm-btn-present .elementor-button-text::before,
.kwm-reponse-present2 .kwm-btn-present2 .elementor-button-text::before,
.kwm-reponse-absent .kwm-btn-absent .elementor-button-text::before{ content:"✓ "; }
.kwm-reponse-present .kwm-ma-reponse .elementor-heading-title::before,
.kwm-reponse-present2 .kwm-ma-reponse .elementor-heading-title::before{ content:"✓ "; }

/* ---------- Page de connexion : messages ---------- */
.kwm-alerte-echec, .kwm-alerte-reserve{ display:none; }
body.kwm-login-echec .kwm-alerte-echec, body.kwm-acces-reserve .kwm-alerte-reserve{ display:block; }
body.elementor-editor-active .kwm-alerte-echec, body.elementor-editor-active .kwm-alerte-reserve{ display:block; }
.kwm-alerte-echec .elementor-alert, .kwm-alerte-reserve .elementor-alert{ border-radius:4px; border-width:0 0 0 3px; font-family:inherit; }
.kwm-alerte-reserve .elementor-alert{ background:#E6F2FA; border-color:#003874; color:#003874; }

/* ---------- Message court (toast) ---------- */
.kwm-toast{
	position:fixed; left:50%; bottom:24px; z-index:99999; transform:translate(-50%, 0);
	display:flex; align-items:center; gap:14px; max-width:min(92vw, 560px);
	padding:16px 18px 16px 22px; border-radius:4px; background:#FFFFFF; color:#003874;
	border:1px solid #DEDEDE; border-left:3px solid #B49759;
	font:400 15px/1.45 'Kiwanis Texte', Arial, Helvetica, sans-serif; box-shadow:0 24px 60px -24px rgba(0,40,84,.45);
	animation:kwm-toast-in .6s cubic-bezier(.16,1,.3,1) both;
}
.kwm-toast::before{ content:""; flex:0 0 10px; height:10px; border-radius:50%; background:#B49759; }
.kwm-toast-erreur::before{ background:#F28B82; }
.kwm-toast-info::before{ background:#003874; }
.kwm-toast-fermer{ background:none; border:0; color:inherit; font-size:22px; line-height:1; cursor:pointer; opacity:.75; padding:0 4px; }
.kwm-toast-fermer:hover{ opacity:1; }
.kwm-toast.kwm-cache{ animation:kwm-toast-out .4s ease both; }
@keyframes kwm-toast-in{ from{ opacity:0; transform:translate(-50%, 24px); } to{ opacity:1; transform:translate(-50%, 0); } }
@keyframes kwm-toast-out{ to{ opacity:0; transform:translate(-50%, 24px); } }

/* ---------- Page « Votre réponse » (lien de convocation) ---------- */
.kwm-sys{ font-family:'Kiwanis Texte', Arial, Helvetica, sans-serif; color:#262626; background:#FFFFFF; }
.kwm-sys-largeur{ max-width:1280px; margin:0 auto; padding:0 40px; }
.kwm-sys-hero{ background:#FFFFFF; color:#262626; padding:80px 0 40px; }
.kwm-sys-hero .kwm-sys-largeur{ border-bottom:2px solid #B49759; padding-bottom:36px; }
.kwm-sys-etiquette{ display:inline-flex; padding:6px 10px 5px; border:1px solid #003874; color:#003874; border-radius:2px;
	font:400 20px/1 'Kiwanis Sous-titres', Haettenschweiler, Impact, 'Arial Narrow', sans-serif; text-transform:uppercase; letter-spacing:.6px; margin:0 0 22px; }
.kwm-sys-hero h1{ font:400 clamp(44px, 6vw, 84px)/.92 'Kiwanis Titres', Haettenschweiler, Impact, 'Arial Narrow', sans-serif;
	text-transform:uppercase; color:#003874; margin:0 0 18px; letter-spacing:0; }
.kwm-sys-lead{ font-size:clamp(18px, 2vw, 22px); line-height:1.5; color:#262626; margin:0; }
.kwm-sys-corps{ padding:40px 0 112px; background:#FFFFFF; }
.kwm-sys-grille{ display:grid; grid-template-columns:minmax(0, 1.6fr) minmax(0, 1fr); gap:32px; align-items:start; }
.kwm-sys-carte{ background:#FFFFFF; border:1px solid #DEDEDE; border-top:3px solid #B49759; padding:44px; }
.kwm-sys-carte h2{ font:400 clamp(30px, 3.4vw, 44px)/.95 'Kiwanis Titres', Haettenschweiler, Impact, 'Arial Narrow', sans-serif;
	text-transform:uppercase; color:#003874; margin:0 0 24px; letter-spacing:0; }
.kwm-sys-carte p{ font-size:17px; line-height:1.6; }
.kwm-sys-choix{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0 0 24px; }
.kwm-sys-option{ position:relative; display:block; cursor:pointer; }
.kwm-sys-option input{ position:absolute; opacity:0; pointer-events:none; }
.kwm-sys-option span{ display:flex; flex-direction:column; gap:4px; padding:20px 22px; border-radius:4px; border:1px solid #8C8B8C; transition:border-color .3s, background-color .3s, box-shadow .3s; }
.kwm-sys-option strong{ font:400 23px/1.05 'Kiwanis Sous-titres', Haettenschweiler, Impact, 'Arial Narrow', sans-serif; text-transform:uppercase; letter-spacing:.3px; color:#003874; }
.kwm-sys-option em{ font-style:normal; font-size:14px; color:#595959; }
.kwm-sys-option:hover span{ border-color:#003874; }
.kwm-sys-option input:checked + span{ border-color:#003874; background:#E6F2FA; box-shadow:inset 0 0 0 1px #003874; }
.kwm-sys-option input:focus-visible + span{ outline:3px solid #003874; outline-offset:3px; }
.kwm-sys-champ{ display:flex; flex-direction:column; gap:8px; margin:0 0 18px; }
.kwm-sys-champ label{ font-size:15px; font-weight:700; color:#003874; }
.kwm-sys-champ label span{ font-weight:400; color:#595959; }
.kwm-sys-champ select, .kwm-sys-champ textarea{ font:400 17px 'Kiwanis Texte', Arial, Helvetica, sans-serif; padding:14px 16px; border:1px solid #8C8B8C; border-radius:4px; background:#FFFFFF; color:#262626; }
.kwm-sys-champ select:focus, .kwm-sys-champ textarea:focus{ outline:none; border-color:#003874; box-shadow:0 0 0 3px rgba(153,202,234,.9); }
.kwm-sys-champ select{ max-width:140px; }
.kwm-sys-bouton{ display:inline-flex; align-items:center; justify-content:center; padding:17px 26px; border:0; border-radius:4px; background:#003874; color:#FFFFFF !important;
	font:700 14px/1.2 'Kiwanis Texte', Arial, Helvetica, sans-serif; text-transform:uppercase; letter-spacing:1.2px; text-decoration:none; cursor:pointer; transition:background-color .3s, color .3s; }
.kwm-sys-bouton:hover{ background:#002854; }
.kwm-sys-bouton:focus-visible{ outline:3px solid #003874; outline-offset:3px; }
.kwm-sys-contour{ background:transparent; color:#003874 !important; box-shadow:inset 0 0 0 2px #003874; }
.kwm-sys-contour:hover{ background:#003874; color:#FFFFFF !important; }
.kwm-sys-boutons{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.kwm-sys-erreur{ padding:14px 18px; border-radius:4px; border-left:3px solid #B3261E; background:#FBEDEB; color:#8C1D18; }
.kwm-sys-confirme{ display:flex; gap:20px; align-items:flex-start; }
.kwm-sys-icone{ flex:0 0 56px; height:56px; border-radius:4px; display:flex; align-items:center; justify-content:center; background:#003874; color:#FFFFFF; font-size:26px; }
.kwm-sys-absent .kwm-sys-icone{ background:#595959; color:#FFFFFF; }
.kwm-sys-confirme h2{ margin-bottom:8px; }
.kwm-sys-infos{ background:#FFFFFF; border:1px solid #DEDEDE; border-top:3px solid #B49759; padding:28px; }
.kwm-sys-image{ width:100%; height:200px; object-fit:cover; margin-bottom:18px; display:block; }
.kwm-sys-infos dl{ display:grid; grid-template-columns:auto 1fr; gap:10px 16px; margin:0 0 12px; font-size:16px; }
.kwm-sys-infos dt{ font:400 19px/1.1 'Kiwanis Sous-titres', Haettenschweiler, Impact, 'Arial Narrow', sans-serif; text-transform:uppercase; letter-spacing:.5px; color:#003874; padding-top:2px; }
.kwm-sys-infos dd{ margin:0; }
@media (max-width: 900px){
	.kwm-sys-grille{ grid-template-columns:1fr; }
	.kwm-sys-hero{ padding:56px 0 32px; }
}
@media (max-width: 600px){
	.kwm-sys-largeur{ padding:0 20px; }
	.kwm-sys-carte{ padding:28px 22px; }
	.kwm-sys-choix{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){
	.kwm-toast, .kwm-sys-option span, .kwm-sys-bouton{ animation:none !important; transition:none !important; }
}
