/* Wrapper : taille gérée en JS après le slide (évite diagonal avec thèmes WordPress) */
.aso-cookie-banner-outer {
	width: 400px;
	height: 450px;
	font-family: Montserrat;
	pointer-events: none;
	z-index: 100000 !important;
	isolation: isolate;
	overflow: hidden !important;
	transition: none !important;
}
.aso-cookie-banner-outer.aso-banner-closed-snapped {
	width: 60px !important;
	height: 60px !important;
	transition: none !important;
}
.aso-cookie-banner-outer * {
	pointer-events: auto;
}
/* État fermé : contenu slide + fade uniquement (pas de changement de taille ici) */
.aso-cookie-banner-outer.aso-banner-closed .global-banner {
	opacity: 0;
	visibility: hidden;
	transition: transform 0.3s ease !important, opacity 0.25s ease 0.3s !important, visibility 0s linear 0.55s !important;
}
/* État ouvert : slide horizontal strict (left → gauche, right → droite) */
.aso-cookie-banner-outer .global-banner {
	transform: translateX(0);
	transition: transform 0.3s ease !important, opacity 0.25s ease !important, visibility 0s !important;
}
.aso-cookie-banner-outer.aso-banner-open .global-banner {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.25s ease !important, transform 0.3s ease !important, visibility 0s !important;
}
.aso-cookie-banner-outer.aso-banner-closed .logopoint {
	opacity: 1 !important;
}
.aso-cookie-banner-outer.aso-banner-closed .showhide {
	pointer-events: auto !important;
	cursor: pointer;
}
.aso-cookie-banner-outer .global-banner {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	z-index: 1;
	width: 348px;
	height: 446px;
	font-family: Montserrat;
	/* Ancrage horizontal : left = bord gauche, right = bord droit (slide strictement horizontal) */
}
.aso-cookie-banner-outer.aso-banner-position-left .global-banner {
	transform-origin: left center;
}
.aso-cookie-banner-outer.aso-banner-position-right .global-banner {
	transform-origin: right center;
}
/* Couche contenu (sous le bouton de rappel) */
.aso-cookie-banner-outer .global-banner .cookie-bannerdem {
	position: relative;
	z-index: 1;
}
/* Bouton d'ouverture/fermeture toujours au-dessus du bandeau */
.aso-cookie-banner-outer .showhide,
.aso-cookie-banner-outer .logopoint {
	position: absolute !important;
	bottom: 5px !important;
	z-index: 2 !important;
}
.aso-cookie-banner-outer .showhide {
	width: 50px;
	height: 50px;
	left: 0;
	right: auto;
	cursor: pointer;
	pointer-events: auto !important;
}
.aso-cookie-banner-outer .logopoint {
	left: 2px;
	right: auto;
	bottom: 5px;
	opacity: 0.5;
	width: 50px;
	height: 50px;
	pointer-events: none;
}
.aso-cookie-banner-outer .showhide:hover ~ .logopoint,
.aso-cookie-banner-outer .logopoint:hover {
	opacity: 1;
}
.aso-cookie-banner-outer.aso-banner-position-right .showhide {
	left: auto;
	right: 0;
}
.aso-cookie-banner-outer.aso-banner-position-right .logopoint {
	left: auto;
	right: 2px;
}
/* Bouton de rappel visible uniquement quand le bandeau est replié */
.aso-cookie-banner-outer.aso-banner-open .showhide,
.aso-cookie-banner-outer.aso-banner-open .logopoint {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}
/* Fallback si pas de wrapper (admin preview) */
.global-banner{
	z-index: 100000;
	position: fixed;
	bottom: 85px;
	left: 10px;
	font-family: Montserrat;
	width: 400px;
	height: 450px;
}
.aso-cookie-banner-outer .global-banner {
	position: relative !important;
	bottom: auto !important;
	left: auto !important;
	right: auto !important;
}
.global-bannerdem{
	z-index: 100000;
	position: fixed;
	top: 200px;
	left: 700px;
	font-family: Montserrat;
	width: 400px;
	height: 580px;
}
/* Scope reset and all banner styles to avoid conflicts with theme/builders */
.aso-cookie-banner * {
	box-sizing: revert;
}
/* Panel principal */
.aso-cookie-banner .aso-banner,
.aso-cookie-banner .cookie-bannerdem {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 348px;
	height: 446px;
	background-color: #fff;
	border: 1px solid #9e9e9e;
	border-radius: 18px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.08), 0 6px 16px rgba(0,0,0,0.12);
	overflow: hidden;
}
.aso-cookie-banner .aso-banner__header {
	padding: 20px 20px 0;
	flex-shrink: 0;
}
.aso-cookie-banner .aso-banner__logo {
	margin-bottom: 8px;
}
.aso-cookie-banner .aso-banner__title,
.aso-cookie-banner .banner-title {
	margin: 0;
	font: normal normal 600 16px/22px Montserrat;
}
.aso-cookie-banner .aso-banner__body,
.aso-cookie-banner .topbansect {
	flex: 1 1 0;
	min-height: 0;
	overflow: hidden;
	padding: 12px 20px 16px;
}
/* Vue texte (visible par défaut) */
.aso-cookie-banner .aso-banner__info {
	display: block;
}
/* Vue personnalisation (masquée par défaut) */
.aso-cookie-banner .aso-banner__perso {
	display: none;
}
.aso-cookie-banner .aso-banner__text,
.aso-cookie-banner .banner-text {
	font: normal normal normal 12px/18px Montserrat;
	margin: 0 0 12px;
	color: #000;
	letter-spacing: 0.24px;
}
.aso-cookie-banner .aso-banner__brand {
	display: inline-block;
	margin-top: 4px;
}
.aso-cookie-banner .imglien {
	display: block;
}
.aso-cookie-banner .aso-banner__categories,
.aso-cookie-banner .cadre-categ {
	border-radius: 12px;
	width: 100%;
	max-width: 308px;
	font-size: 16px;
	font-weight: 550;
	letter-spacing: 0.3px;
}
.aso-cookie-banner .table-categ {
	border-spacing: 0;
	width: 100%;
	color: #000;
}
.aso-cookie-banner .table-categ tr {
	border: 0;
}
.aso-cookie-banner .categlab {
	padding: 12px 16px 10px;
}
.aso-cookie-banner .categsl {
	padding: 12px 16px 10px;
	width: 52px;
	text-align: right;
}
.aso-cookie-banner .aso-banner__remember,
.aso-cookie-banner .remember-text {
	display: block;
	margin-top: 12px;
	font-size: 13px;
	font-weight: 400;
	color: #000;
}
.aso-cookie-banner .aso-banner__remember label,
.aso-cookie-banner .remember-text label {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.aso-cookie-banner .storeform {
	display: inline;
}
.aso-cookie-banner #remembox {
	margin: 0;
}
/* Barre d'actions – couleurs gérées par customStyle() */
.aso-cookie-banner .aso-banner__actions,
.aso-cookie-banner .bottombansect {
	flex: 0 0 auto;
	display: block;
	height: 56px;
	border-radius: 0 0 17px 17px;
	overflow: hidden;
	margin: 0 1px 1px 1px;
	letter-spacing: 0.26px;
}
.aso-cookie-banner .aso-banner__actions-inner {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	height: 56px;
}
.aso-cookie-banner .aso-banner__btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-width: 0;
}
.aso-cookie-banner .aso-banner__btn .button-ref,
.aso-cookie-banner .aso-banner__btn .button-all,
.aso-cookie-banner .aso-banner__btn .button-pers {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 56px;
	padding: 14px 8px;
	border: 0;
	background: transparent !important;
	font: normal normal 500 13px/16px Montserrat;
	letter-spacing: 0.26px;
	cursor: pointer;
}
.aso-cookie-banner .divref {
	border-radius: 0 0 0 17px;
}
.aso-cookie-banner .divacc {
	border-radius: 0 0 17px 0;
}
.aso-cookie-banner .divacc,
.aso-cookie-banner .divref,
.aso-cookie-banner .divpers {
	min-width: 0;
}
.aso-cookie-banner .switch {
	position: relative;
	display: inline-block;
	width:38px;
	height:20px;
	border-radius: 10px;
}
.aso-cookie-banner .switch input {
	opacity: 0;
	width: 0;
	height: 0;
}
.aso-cookie-banner .slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	box-shadow: inset 0px 3px 6px #00000060;
	background-color: #ccc;
	-webkit-transition: .4s;
	transition: .4s;
}
.aso-cookie-banner .slider:before {
	position: absolute;
	content: "";
	height: 16px;
	width: 16px;
	left: 2px;
	bottom: 2px;
	background-color: white;
	-webkit-transition: .4s;
	transition: .4s;
}
.aso-cookie-banner input:focus + .slider {
	box-shadow: 0 0 1px #adacac;
}
.aso-cookie-banner input:checked + .slider:before {
	-webkit-transform: translateX(19px);
	-ms-transform: translateX(19px);
	transform: translateX(19px);
}
.aso-cookie-banner .slider.round {
	border-radius: 34px;
}
.aso-cookie-banner .slider.round:before {
	border-radius: 50%;
}
.aso-cookie-banner .sliderN {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width:38px;
	height:20px;
	border-radius: 10px;
	background-color: #ccc;
	opacity:0.4;
	box-shadow: inset 0px 3px 6px #00000060;
	-webkit-transition: .4s;
	transition: .4s;
}
.aso-cookie-banner .sliderN:before {
	position: absolute;
	content: "";
	height: 16px;
	width: 16px;
	left: 2px;
	bottom: 2px;
	background-color: white;
	-webkit-transition: .4s;
	transition: .4s;
}
.aso-cookie-banner input:focus + .sliderN {
	box-shadow: 0 0 1px #adacac;
}
.aso-cookie-banner input:checked + .sliderN:before {
	-webkit-transform: translateX(20px);
	-ms-transform: translateX(20px);
	transform: translateX(20px);
}
.aso-cookie-banner .sliderN.round {
	border-radius: 34px;
}
.aso-cookie-banner .sliderN.round:before {
	border-radius: 50%;
}
.aso-cookie-banner .showhide{
	position:fixed;
	bottom: 5px;
	width: 50px;
	height: 50px;
	z-index: 100000;
}
.showhidedem{
	position:fixed;
	top:200px;
	left:640px;
}
.aso-cookie-banner .logopoint{
	position:fixed;
	left: 2px;
	bottom: 5px;
	opacity:0.5;
	z-index: 99999;
}
/* Admin preferences page only (not inside .aso-cookie-banner on front) */
.logotd{
	text-align:center;
}
.logochoixtd{
	padding-top:10px;
	padding-left:10px;
}
.taillerec{
	font-size:9px;
	padding-top:10px;
}
.prefpicker{
	margin-left: 15px;
	margin-top: 3px;
}
.fauxspan{
	background-color:#AFACB3;
	box-shadow: inset 0px 3px 6px #00000060;
	width:38px;
	height:20px;
	border-radius: 10px;
}
.fauxspanN{
	background-color:#9E9EA3;
	opacity: 0.49;
	width:38px;
	height:20px;
	border-radius: 10px;
	box-shadow: inset 0px 3px 6px #00000060;
}
.fauxboutton{
	position: relative;
	background-color:#ffffff;
	top: 1px;
	left:2px;
	width:16px;
	height:16px;
	border-radius: 34px;
}
.fauxspanc{
	box-shadow: inset 0px 3px 6px #00000060;
	width:38px;
	height:20px;
	border-radius: 10px;
}
.fauxbouttonc{
	position: relative;
	background-color:#ffffff;
	top: 1px;
	left:20px;
	width:16px;
	height:16px;
	border-radius: 34px;
	box-shadow: 0px 3px 5px #00000072;
}
.fauxspansh{
	width:25px;
	height:12px;
	border-radius: 34px;
}
.fauxbouttonsh{
	position: relative;
	background-color:#ffffff;
	top: 3px;
	left:15px;
	width:8px;
	height:8px;
	border-radius: 34px;
}
.slidecontainer {
	display: inline-block;
	position:relative;
	top:7px;
	left:5px;
	width: 250px;
}
.custom-slider-range:hover {
	opacity: 1.2;
}
.custom-slider-range {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 25px;
	background: linear-gradient(to right,#ff6e6e,#ffff70,#70ff70,#70ffff,#7070ff,#ff70ff,#ff6e6e);
	outline: none;
	opacity: 0.8;
	transition: opacity 0.4s;
	border-radius: 15px;
}
.custom-slider-range::-moz-range-thumb {
	width: 25px;
	height: 25px;
	background: #fff;
	border: 2px solid #000;
	border-radius: 50%;
	cursor: pointer;
}
.divPrev{
	width:45px;
	height: 23px;
	border:1px solid #8c8f94;
}
.divPrevBorder{
	padding-top:1px;
	padding-left:3px;
	width:53px;
	height:27px;
	top: 7px;
	display: inline-block;
	margin-left: 20px;
	position: relative;
	border:1px solid #8c8f94;
	border-radius: 4px;
}
.wp-menu-image.dashicons-before img{
	width:25px;
}
.tabletextchoice td{
	text-align: left;
	padding-right: 10px;
	padding-bottom:10px;
}
.fieldsingleline{
	width: 300px;
}
.fieldmultiline{
	width: 300px;
	height: 300px;
}
