.bouton-resa-smi a{
  color: #fff!important;
  border-color: #00661A!important;
  background-color: #007D20!important;
  font-weight: bolder!important;
  font-size: 1.5em!important;
  padding-inline: 3rem!important;
	border-radius: 3px!important;
  }

.bouton-resa-smi .su-expand-link-less a{
	display: none!important;
}


.smi-status{
	text-align: center;
}

.smi-special-msg{
	text-align: center;
}

.smi-pin:before{
	content: "📌 ";
}

.smi-txt-date-location{	
	text-align: center;
	font-size: 1.2em;
	text-shadow: 1px 1px #00000038;
	color: #ff6600!important;
	margin-bottom: 0.3em !important;
}

.smi-date-location-div{	
  border-left: 4px solid #ff6600;
  padding-block: 0.2em;
  background-color: #ff660012;
  margin-bottom: 20px;	
}

.smi-date-location-div p{
	margin-bottom: 0;
}

.smi-map{
	margin-top: 3rem;
	margin-bottom: 1rem;
}

h1 {
  font-size: 2em !important;
  font-family: 'Economica', sans-serif !important;
}

h2 {
  font-size: 1.2em !important;
  font-family: inherit !important;
}

/******************* SMI PUBLIC FORM ****************/


.smi-form{
    background-color:#f6f2e9;
    padding:1em;
    border-radius:.5em;
    box-shadow:4px 4px 4px #d0d0d0
}
.smi-form *{
    box-sizing:border-box
}

.smi-form input{
		color: black;
	}	
	
.smi-form fieldset{
		border: none!important;
		margin: 0!important;
		padding: 0!important;
		background-color: transparent!important;
		box-shadow: none!important;
		outline: none!important;
		min-inline-size: 100%;
	}

.smi-form .smi-f-el-group:after,.smi-form .smi-f-el-group:before{
    content:" ";
    display:table
}
.smi-form .smi-f-el-group:after{
    clear:both
}
.smi-form .smi-f-el-group{
    margin-bottom:20px
}
@media (min-width:481px){
    .smi-form .smi-f-el-group.smi-f-el-form-left .smi-f-el-input--label{
        text-align:left
    }
}
.smi-form .smi-f-el-input--label{
    display:inline-block;
    margin-bottom:5px;
    position:relative
}
.smi-form .smi-f-el-is-required.asterisk-right::after{
    color:red;
    content:" *";
    margin-left:3px
}
.smi-form .smi-f-el-form-control{
    display:block;
    width:100%
}
@media (min-width:481px){
    .smi-form .smi-f-el-form-left .smi-f-el-input--label{
        float:left;
        margin-bottom:0;
        padding:10px 15px 0 0;
        width:180px
    }
    .smi-form .smi-f-el-form-left .smi-f-el-input--content{
        margin-left:180px
    }
}
.smi-form input[type=checkbox]{
    display:inline-block;
    margin:0
}
.smi-form input[type=checkbox]{
    -webkit-appearance:checkbox
}
.smi-form .smi-f-el-form-check{
    margin-bottom:5px
}
.smi-form .smi-f-el-form-check-label .smi-f-el-form-check-input{
    position:relative;
    top:-2px;
    vertical-align:middle
}
.smi-form .smi-f-text-right{
    text-align:right
}
.smi-form .smi-f-el-form-control::-moz-placeholder{
    color:#868e96;
    opacity:1
}
.smi-form .smi-f-el-form-control:disabled{
    background-color:#e9ecef;
    opacity:1
}
.smi-f-errors-in-stack{
    display:none;
    margin-top:15px
}
.smi_form_notif fieldset{
    display:grid!important
}
.smi_form_notif .text-small-order-1{
    font-size:1.3rem;
    order:99
}
.smi_form_notif .smi-f-el-form-check-label{
    font-weight:400
}
.smi_form_notif .smi-f-el-group{
    margin-bottom:5px
}
.smi_form_notif hr{
    border-top:1px solid #bdbdbd
}

.smi-notif{margin-bottom:3rem;}
.smi-notif.smi-error, .smi-notif.smi-warning { background: #fff0f0; border: 1px solid #b00020; border-left: 4px solid #b00020; padding:8px;}
.smi-notif.smi-success, .smi-success { background: #f8fff5; border: 1px solid #2e7d32; border-left: 4px solid #2e7d32; padding:8px;}

.smi-resa-remain-critic{  
  color: red;
  text-align: center;
  font-weight: bold;
  }

.smi-resa-remain-alert{  
  color: #f60;
  text-align: center;
  font-weight: bold;
  }

a.smi-add-resa-btn{
	color: #ffffff; background-color: #1e9100; font-size: 16px; border-radius: 5px; text-decoration: none; font-weight: normal; font-style: normal; padding: 0.8rem 1rem; border-color: #1e9100;
}

/******************** Contrôle des résas *************************/


        #smi-resa-control {
            font-family: system-ui, sans-serif;
            padding-top: 15px; /* pour la zone sticky */
        }
        .smi-sticky-header {
            position: sticky;
            top: 0;
            background: #fff;
            padding: 10px;
            border-bottom: 1px solid #ddd;
            z-index: 10;
        }
        .smi-filters {
            display: flex;
            gap: 6px;
            margin-bottom: 6px;
            flex-wrap: wrap;
        }
        .smi-filters button {
            padding: 6px 12px;
            border-radius: 6px;
            border: 1px solid #ccc;
            cursor: pointer;
            background: #6c6a6a;
        }
		.smi-filters button:hover {					
			filter: brightness(1.4);
			color: white;
		}
        .smi-filters button.active {
            background: #0073aa;
            color: white;
            border-color: #0073aa;
        }
        .smi-stats {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.9em;
            color: #333;
        }
        .smi-progress-bar {
            flex: 1;
            height: 8px;
            background: #eee;
            border-radius: 6px;
            overflow: hidden;
        }
        .smi-progress-fill {
            height: 100%;
            width: 0%;
            background: #4caf50;
            transition: width 0.4s ease;
        }
        #smi-resa-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 8px;			
        }
		#smi-resa-table thead{
			background-color: #e0f5ff;			
		}
		#smi-resa-table thead th {
			border-bottom: 1px solid #000;
		}
        #smi-resa-table tr.is-inside td{
            color: grey;			
        }
		#smi-resa-table tr.is-outside td{
            font-weight: 550;			
        }
		#smi-resa-table tr.is-outside .td-inside-out{
			text-align: left;	
		}
		#smi-resa-table tr.is-inside .td-inside-out{
			text-align: right;	
		}
        #smi-resa-table th, #smi-resa-table td {
            padding: 8px;
            border-bottom: 1px solid #ddd;
        }
        #smi-resa-table tr:nth-child(even) {
            background: #f8f8f8;
        }
		#smi-resa-table tr:last-child td{
			border-bottom: 1px solid #000;
		}
        #smi-resa-table button {
            padding: 10px 17px;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            font-weight: 500;
			line-height: 0;
        }
        #smi-resa-table button.ok {
            background: #00a1bb;
            color: white;
			margin-right: 100%;
        }
        #smi-resa-table button.cancel {
            background: #4caf50;
            color: white;
			margin-right: 0%;
        }
        .email-col { display: none; }
        .show-email .email-col { display: table-cell; }

        @media (max-width: 600px) {
            #smi-resa-table th, #smi-resa-table td {
                font-size: 0.85em;
                padding: 6px;
            }
        }


/********************* SMI Modale *******************/

.smi-modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1001; /* Sit on top */
  padding-top: 170px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0, 0, 0, 0.56); /* Black w/ opacity */
}

/* Modal Content */
.smi-modal-content {
  background-color: #fefefe;
  margin-inline: 20%;    
  min-width: 50%;
  box-shadow: 4px 4px 4px #00000052;
}

@media only screen and (max-width: 600px) {
  .smi-modal-content {  	
  	margin-inline: 5%;
	}
}

.smi-modal-content .smi-notif{
	margin-bottom: 0;
	padding: 26px;
}

/* The Close Button */
.smi-modal-close {
  color: #515151;
  float: right;
  font-size: 30px;
  font-weight: bold;
  margin-right: 10px;
  position: relative;
  top: -12px;
}

.smi-modal-close:hover,
.smi-modal-close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

/**************** Team Zone ****************/

.stats-complet{
	  font-size: 2em;
	  background-color: green;
	  display: inline-block;
	  transform: rotate(-3deg);
	  padding: 0.1rem 2rem;
	  color: white;
	  margin-top: 2rem;
	  box-shadow: 3px 3px 4px #00000059;
	  border-radius: 0.35rem;
}


/******************************************* formulaire session SMI admin ******************************************/

.smi-flex{
	display: flex;
}

.smi-logout a::before{
	content :"❌ ";
}

label:has(+*+*:required):after {
  content: ' *';
  color: red;
}
label:has(+*+*+*:required):after {
  content: ' *';
  color: red;
}

input[type="text"]{
	width: 100%;
}

input, select, textarea{
	color: black!important;
}

button[type="submit"]{
	background-color: #40bbc2;
	border-color:#40bbc2; 
}

button[type="submit"]:hover{
	background-color: transparent;
	color: #40bbc2;
}

#smi-session-form .smi-special-links{
	background-color: #dafdff;
  	padding: 1rem 2rem;
	margin-bottom: 1rem;
}

#smi-session-form .smi-special-links a{
	margin-left: 1rem;
}

#smi-session-form .tooltip, .smi-table .tooltip, .smi-mails-table .tooltip {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

#smi-session-form .tooltip:after, .smi-table .tooltip:after, .smi-mails-table .tooltip:after {
display: inline-block;
  text-align: center;
  padding: 0;
  border-radius: 50%;
  content: "i";
  font-family: sans-serif;
  font-weight: bold;
  background-color: #40bbc2;
  color: white;
  width: 2rem;
  height: 2rem;
  font-size: 1.5rem;
  line-height: 2rem;
  margin-left: 1rem;
  }

#smi-session-form .tooltiptext, .smi-table .tooltiptext, .smi-mails-table .tooltiptext {
  visibility: hidden;
  width: 300px;
  background-color: #e8e8e8;
  box-shadow: 2px 2px 4px #00000082;
  color: #000;
  text-align: left;
  border-radius: 6px;
  padding: 5px;
  position: absolute;
  z-index: 15;
  margin-left: 2.5em;
}

#smi-session-form .tooltip:hover .tooltiptext, .smi-table .tooltip:hover .tooltiptext, .smi-mails-table .tooltip:hover .tooltiptext {
  visibility: visible;
}

#smi-session-form .smi-form-center{
	text-align: center;
}

.success-msg{
	padding:10px;margin:10px 0;background:#dff0d8;color:#3c763d;border:1px solid #d6e9c6;
}
.notif_mail_smi_form iframe { min-height: 300px !important; }

.smi-warning { background: #fff0f0; border: 1px solid #b00020; border-left: 4px solid #b00020; padding:8px;}

/**** corrélé au smi form ********/
.su-expand-collapsed .su-expand-content{
	padding: 0;
}

.su-expand-content{
	padding: 0 6px 6px 0;
}

/******************* Design listing inscriptions / resas / mailtrap *********************/

    table.smi-table { border-collapse: collapse; width: 100%; margin-top: 1em; }
    table.smi-table th, table.smi-table td { border: 1px solid #ccc; padding: 6px; text-align: left; vertical-align: top; }
	table.smi-table th { background: #f5f5f5; }
    table.smi-table th[data-sort] { cursor: pointer; }
	table.smi-table tr { background: #fff; }
    table.smi-table tr:nth-child(even) { background: #fafafa; }
    .smi-table .btn-smi { cursor: pointer; color: #2271b1; text-decoration: none; margin-right: 6px; }
    .smi-table .btn-smi:hover { color: #d63638; text-decoration: none;}
    .spam-content { max-height: 2em; overflow: hidden; position: relative; }
    .spam-content.expanded { max-height: none; background: #fff8f8; }
    .spam-toggle { cursor: pointer; color: #555; font-size: 0.9em; display: inline-block; margin-top: 4px; }

	.smi-table .spam-content { display: none; white-space: pre-wrap; }
	.smi-table .spam-content.expanded { display: block; }
	.smi-table .spam-toggle { color: #0073aa; cursor: pointer; margin-left: 5px; }

	table.smi-table tr.invalid-line td{color: gray;}
	.notif-smi-table tbody th,td {width: auto!important; padding:5px;}
	.btn-suppr-smi { color: red; cursor:pointer; }

	.smi-mails-table { width:100%; border-collapse:collapse; margin:1em 0; font-size:14px; }
	.smi-mails-table th, .smi-mails-table td { border:1px solid #ccc; padding:8px; text-align:left; vertical-align:top; }
	.smi-mails-table th { background:#f7f7f7; }
	.smi-mail-body { display:none; padding:10px; background:#fff; border:1px solid #ddd; }
	.smi-mail-row:hover { background:#f0f8ff; cursor:pointer; }
	.smi-clear-btn { display:inline-block; padding:8px 14px; background:#d63638; color:#fff; border-radius:4px; text-decoration:none; margin-bottom:15px; }
	.smi-clear-btn:hover { background:#b52a2c; }
	button.smi-classic-btn{
		border-radius: 5px;
		padding: 0.5rem 1.2rem;
		color: white;
		background-color: #610B0B;
		border-color: #610B0B;
		text-transform: none;
		font-weight: normal;
	}
	button.smi-classic-btn:hover{
	  filter: brightness(1.2);
	  color: white;
	  background-color: #610B0B;
	  border-color: #610B0B;
	}

/******************************************* Onglets SMI admin ******************************************/

/* Style the tab */
.tab {
  overflow: hidden;
  display: flex;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
}

button.tablinks{
text-transform: none!important;
font-weight: normal;}

/* Style the buttons inside the tab */
.tab button {
  background-color: inherit;
  float: left;
  border: none;  
  cursor: pointer;
  padding: 14px 16px;  
  font-size: 17px;
  color: black;
}

.tablinks.sessiona{
	background-color: #40bbc2 !important;
}

.tablinks.notifa{
  background-color: #ffbe79 !important;}

.tablinks.resaa{
background-color: #79ff81 !important;}

.tablinks.admin{
background-color: #ff8300!important;}

/* Change background color of buttons on hover */
.tab button:hover {
  color: black;
  filter: brightness(1.2); 
}

/* Create an active/current tablink class */
.tab button.active {
  border-bottom: solid 3px;
	transition: none;
}

/* Style the tab content */
.tabcontent {
  display: none;
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-top: none;
}
/****************************** Touchy admin ****************************/

.smi-admin-notif-zone{
	background-color: #ffbe79;
  	padding: 1rem;
  	border-radius: 1rem;
}

.smi-admin-resa-zone{
	background-color: #79ff81;
  	padding: 1rem;
  	border-radius: 1rem;
}

.smi-admin-all-zone{
	background-color: #ff8300;
  	padding: 1rem;
	border-radius: 1rem;
}

/********************************* Login ********************************************/

.smi-logout{
	text-align: right;
}

.login .button{
	height: auto!important;
}

.login .message,
.login .success,
.login #login_error {
	border-left: 4px solid #00a0d2;
	padding: 12px;
	margin-left: 0;
	margin-bottom: 20px;
	background-color: #fff;
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
}

.login .success {
	border-left-color: #46b450;
}

.login #login_error {
	border-left-color: #dc3232;
}

#loginform p.submit,
.login-action-lostpassword p.submit {
	border: none;
	margin: -10px 0 20px; /* May want to revisit this */
}

.login * {
	margin: 0;
	padding: 0;
}

.login .input::-ms-clear {
	display: none;
}

.login .pw-weak {
	margin-bottom: 15px;
}

.login .button.wp-hide-pw {
	background: transparent;
	border: 1px solid transparent;
	box-shadow: none;
	font-size: 14px;
	line-height: 2;
	width: 2.5rem;
	height: 2.5rem;
	min-width: 40px;
	min-height: 40px;
	margin: 0;
	padding: 5px 9px;
	position: absolute;
	right: 0;
	top: 0;
}

.login .button.wp-hide-pw:hover {
	background: transparent;
}

.login .button.wp-hide-pw:focus {
	background: transparent;
	border-color: #007cba;
	box-shadow: 0 0 0 1px #007cba;
	/* Only visible in Windows High Contrast mode */
	outline: 2px solid transparent;
}

.login .button.wp-hide-pw:active {
	background: transparent;
	box-shadow: none;
	transform: none;
}

.login .button.wp-hide-pw .dashicons {
	width: 1.25rem;
	height: 1.25rem;
	top: 0.25rem;
}

.login .wp-pwd {
	position: relative;
}

.no-js .hide-if-no-js {
	display: none;
}

.login form {
	margin-top: 20px;
	margin-left: 0;
	padding: 26px 24px 46px;
	font-weight: 400;
	overflow: hidden;
	background: #fff;
	border: 1px solid #ccd0d4;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.login-action-confirm_admin_email #login {
	width: 60vw;
	margin-top: -2vh;
}

@media screen and (max-width: 782px) {
	.login-action-confirm_admin_email #login {
		width: 100vw;
	}
}

.login form .forgetmenot {
	font-weight: 400;
	float: left;
	margin-bottom: 0;
}

.login .button-primary {
	float: right;
}

.login .admin-email-confirm-form .submit {
	text-align: center;
}

.admin-email__later {
	text-align: left;
}

.login form p.admin-email__details {
	margin: 1.1em 0;
}

.login h1.admin-email__heading {
	border-bottom: 1px rgb(241, 241, 241) solid;
	color: rgb(95, 95, 95);
	font-weight: normal;
	padding-bottom: 0.5em;
	text-align: left;
}

.admin-email__actions div {
	padding-top: 1.5em;
}

.login .admin-email__actions .button-primary {
	float: none;
	margin-left: 0.25em;
	margin-right: 0.25em;
}

#login form p {
	margin-bottom: 0;
}

#login form p.submit {
	margin: 0;
	padding: 0;
}

.login label {
	font-size: 14px;
	line-height: 1.5;
	display: inline-block;
	margin-bottom: 3px;
}

.login .forgetmenot label,
.login .pw-weak label {
	line-height: 1.5;
	vertical-align: baseline;
}


#login {
	width: 320px;
	padding: 2rem 0 0;
	margin: auto;
}

.login #nav,
.login #backtoblog {
	font-size: 13px;
	padding: 0 24px 0;
}

.login #nav {
	margin: 24px 0 0 0;
}

#backtoblog {
	margin: 16px 0;
}

.login #nav a,
.login #backtoblog a {
	text-decoration: none;
	color: #555d66;
}

.login #nav a:hover,
.login #backtoblog a:hover,
.login h1 a:hover {
	color: #00a0d2;
}

.login #nav a:focus,
.login #backtoblog a:focus,
.login h1 a:focus {
	color: #124964;
}

.login .privacy-policy-page-link {
	text-align: center;
	width: 100%;
	margin: 5em 0 2em;
}

.login form .input,
.login input[type="text"],
.login input[type="password"] {
	font-size: 24px;
	line-height: 1.33333333; /* 32px */
	width: 100%;
	border-width: 0.0625rem;
	padding: 0.1875rem 0.3125rem; /* 3px 5px */
	margin: 0 6px 16px 0;
	min-height: 40px;
	max-height: none;
}

.js.login input.password-input,
.js.login-action-rp form .input,
.js.login-action-rp input[type="text"] {
	padding-right: 2.5rem;
}

.login form .input,
.login input[type="text"],
.login form input[type="checkbox"] {
	background: #fbfbfb;
}

.js.login-action-rp input[type="text"],
.js.login-action-rp input[type="password"] {
	margin-bottom: 0;
}

.login #pass-strength-result {
	font-weight: 600;
	margin: -1px 5px 16px 0;
	padding: 6px 5px;
	text-align: center;
	width: 100%;
}

body.interim-login {
	height: auto;
}

.interim-login #login {
	padding: 0;
	margin: 5px auto 20px;
}

.interim-login.login h1 a {
	width: auto;
}

.interim-login #login_error,
.interim-login.login .message {
	margin: 0 0 16px;
}

.interim-login.login form {
	margin: 0;
}

/* Hide visually but not from screen readers */
.screen-reader-text,
.screen-reader-text span {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important; /* many screen reader and browser combinations announce broken words as they would appear visually */
}

/* Hide the Edge "reveal password" native button */
input::-ms-reveal {
	display: none;
}

@-ms-viewport {
	width: device-width;
}

@media screen and (max-height: 550px) {
	#login {
		padding: 20px 0;
	}
}


@media screen and (max-width: 782px) {
	.interim-login input[type=checkbox] {
		width: 1rem;
		height: 1rem;
	}

	.interim-login input[type=checkbox]:checked:before {
		width: 1.3125rem;
		height: 1.3125rem;
		margin: -0.1875rem 0 0 -0.25rem;
	}
}

/********** SMI ADMIN non connecté **************/

body.page-smi-admin {
  max-width: none !important;
}