/*/// GENERAL */
/*Masquer ReCaptcha*/
.grecaptcha-badge{
    display:none !important;
}
/*/// ACCUEIL */
/*Style des onglets ordinateur-mobile + onglets des Offres */
.device-tabs .e-n-tabs-heading{
    width: auto;
    border: solid 1px #BBBBBB;
    border-radius: 99px;
    padding: 4px;
    margin: auto;
}
.ts-plan-tabs{
    width: fit-content;
    border: solid 1px #BBBBBB;
    border-radius: 99px;
    padding: 4px 0;
    margin: 0 auto 32px auto;
}
@media (max-width: 768px) {
    .ts-plan-tabs{
        width: 100% !important;
        display: flex;
        flex-wrap: nowrap;
        box-sizing: border-box;
        overflow-x: auto;
        justify-content: flex-start !important;
    }
    .ts-plan-tabs > li {
        flex: 0 0 auto;
    }
}
/* Listing Plans (VX) — note total sous prix mensuel équivalent */
.ts-plan-pricing .bedame-plan-total-note{
    width: 100%;
    font-size: 0.85em;
    font-style: italic;
    line-height: 1.35;
    color: var(--e-global-color-text, #666);
}
span.ts-plan-featured-text {
    top: 16px;
    right: 16px;
    padding: 6px 16px;
    width: auto;
    transform: none;
    border-radius: 99px;
  }
/*Format video embed*/
.video1610 .elementor-wrapper{
    aspect-ratio: 1.6;
}
/*/// DASHBOARD USER */
/* margin bottom des paragraphes (statut des posts) */
.no-bottom-margin > p{
    margin-bottom:0;
}
/* margin top du titre Fonctionnalités Pro, étape 2 du formulaire de création */
.info-features{
    margin-top:30px;
}
/* loader icon */
.ts-loader-wrapper span.ts-loader{
    border-color:var(--e-global-color-text) !important;
    border-bottom-color:hsla(0,0%,100%,0) !important;
}
/* save draft popup */
.save-dialog{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4); /* Fond semi-transparent */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    backdrop-filter: blur(4px)
}
.save-dialog .save-dialog-content{
    width: 220px;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--ts-shade-3);
    box-shadow: 0 0 10px rgba(0,0,0,.2);
    z-index: 99999;
    border-radius: 20px;
    max-height: 300px;
    font-size: 16px;
    color: var(--ts-shade-2);
    white-space: pre-wrap;
    overflow-y: scroll;
    text-align:center;
}
.save-dialog .save-dialog-content p{
    text-align:left;
    margin-top:20px;
}
.bedame-create-post-shell{
    position: relative;
    min-height: 220px;
}
.bedame-create-post-loading{
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: var(--ts-shade-2);
    text-align: center;
    background: #fff;
    z-index: 2;
}
.bedame-create-post-loading p{
    margin: 0;
}
.bedame-create-post-shell:has(.ts-create-post.ts-ready) .bedame-create-post-loading{
    display: none;
}
.ts-create-post .ts-edit-success {
	display: none !important;
}
.bedame-save-toast {
	position: fixed;
	top: 16px;
	left: 50%;
	transform: translate(-50%, calc(-100% - 24px));
	z-index: 100001;
	width: min(420px, calc(100% - 32px));
	padding: 20px 40px 20px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.16);
	transition: transform 0.35s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
}
.bedame-save-toast.is-visible {
	transform: translate(-50%, 0);
}
.bedame-save-toast__icon {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #00FFAC;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.bedame-save-toast__icon svg {
	width: 16px;
	height: 16px;
	display: block;
}
.bedame-save-toast__icon svg path {
	fill: #fff !important;
}
.bedame-save-toast__text {
	margin: 0;
	font-size: 15px;
	line-height: 1.35;
	color: var(--ts-shade-1, #1c2033);
}
.bedame-save-toast__view {
	display: inline-flex;
	margin: 2px 0 0;
	padding: 6px 16px;
	border-radius: 99px;
	border: 1px solid var(--ts-shade-1, #1c2033);
	color: inherit;
	text-decoration: none;
	font-size: 14px;
}
.bedame-save-toast__close {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 32px;
	height: 32px;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: var(--ts-shade-2, #555);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}
.bedame-save-toast__close svg {
	width: 16px;
	height: 16px;
}
/* Alerte slug existant */
.slug-error-message {
    color: red;
    font-size: 14px;
    margin-left: 10px;
}

.is-invalid {
    border: 1px solid red;
}
/*/// PAGE BEDAME PRO GENERAL*/
/* Liens */
.contact-form7:not(.main-form) a,
.legals a{
    color:var(--e-global-color-0834667);
    font-style:italic;
    text-decoration:underline;
}
.contact-form7 a:hover,
.legals a:hover{
    background-color:var(--e-global-color-3a2ec86);
}
/* Menu Principal */
.navbar-desk,
.max-width-site{
    max-width:var(--container-max-width);
}
.navbar-desk {
	transition: background-color 0.35s ease;
}
.navbar-desk.is-scrolled {
	background-color: #ffffffcc !important;
    box-shadow: 0 0 8px 0px #0001;
}
.glass-effect{
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
/* Menu Mobile */
.bedame-template-default .vx-popup .ts-field-popup-container{
    backdrop-filter: blur(12px);
}
.bedame-template-default .vx-popup .ts-term-dropdown ul{
    padding-top: 40px;
    padding-bottom: 40px;
}
/* Boutons */
.elementor-button > span{
    align-items: center;
}
.elementor-button-icon{
    font-size: 26px;
}
.btn-action a,
.single .elementor-button{
    justify-content: center;
    padding: 8px 22px 8px 18px;
}
/* Sous-titre principal */
h1 .seo-subtitle{
    font-family:var(--bedame-text-font), sans-serif !important; 
    font-weight:400; 
    font-size:16px; 
    color: #000; 
    margin-top:16px;
}
/* Paragraphes */
.p-text p{
    margin:0;
}
/* Carrousel des services / prestations / produits / équipe */
.cards-container {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scroll-snap-stop: always;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none; /* Firefox */
	justify-content: flex-start;
}
.cards-container::-webkit-scrollbar {
	display: none;
}
.cards-container.is-centered {
	justify-content: center;
}
.cards-container.is-overflowing {
	justify-content: flex-start;
}

.card-carousel {
	overflow-x: auto;
}

.cards:not(.reviews) {
	--width: 500px;
}
.cards:hover,
.team-photo > img {
	box-shadow: 0px 0px 20px -10px var(--e-global-color-e89023f);
}
.cards-loop.elementor-widget:not(.cards-reviews) {
	--width: 520px;
}
.cards-loop.elementor-widget {
	flex: 0 0 auto;
	scroll-snap-align: start;
}
.cards-loop:last-child {
	margin-right: 20px;
}

@media (max-width: 500px) {
	.cards-loop.elementor-widget {
		width: calc(80% + 20px) !important;
	}
}

.cards:target {
	box-shadow: 0px 0px 20px -10px #443DFF;
}

/* Nav carrousel (widget Actions VX + class .cards-carousel-nav) */
.cards-carousel-nav[hidden] {
	display: none !important;
}
.cards-carousel-nav a.ts-action-con.is-disabled {
	opacity: 0.35;
	pointer-events: none;
	cursor: default;
}

/* Carrousel des partnaires */
.partners .elementor-image-carousel img{
    max-height: 160px
}
/* Maxi-liens */
.icon-maxi-link{
    max-height: 80px;
}
/* Formulaire de contact page Bédame */
.contact-form7 input,
.contact-form7 textarea,
.contact-form7 select{
    max-width:100%;
    min-height:44px;
    border: solid 1px var( --e-global-color-text );
    padding:6px 10px;
    margin-top:4px;
}
.contact-form7 input:not([type='submit']):not([class='acceptance']),
.contact-form7 textarea,
.contact-form7 select{
    width:100%;
}
.contact-form7 textarea{
    height:100px;
    border-radius:16px;
}
.contact-form7 .wpcf7-acceptance{
    font-size:12px;
}
.contact-form7 .wpcf7-submit:disabled{
    opacity:0.7;
}
.contact-form7 .wpcf7-submit{
    cursor:pointer;
    border:none;
    padding: 12px 22px 12px 22px !important;
    min-width:200px;
    background-color: var( --e-global-color-a65c668);
    color: var( --e-global-color-dd2b219 );
}
.contact-form7 input.wpcf7-submit:hover{
    background-color: var( --e-global-color-e89023f)
}
/* Horaires */
.work-hours p{
    margin-bottom:0;
}
/*/// INSCRIPTION */
/* Alignement de la case à cocher de consentement lors de la création d'un compte */
.ts-form .ts-form-group.tos-group {
  align-items: normal;
}
/* Mot de passe inscription*/
.password-requirements li {
    color: gray;
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}
.password-requirements li.valid {
    color: #27e77d;
    font-weight: 600;
}
.password-requirements .icon {
    margin-right: 8px;
}
.password-requirements .icon svg {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
}
.password-requirements .icon svg path {
    fill: #ccc; /* Couleur par défaut */
}
.password-requirements li.valid .icon svg path {
    fill: #27e77d;
}
/* Bouton voir le mot de passe */
.ts-input-icon {
    position: relative;
}

/* Positionner l'icône du mot de passe */
.ts-input-icon .toggle-password {
    background: none;
    border: none;
    left: unset;
    right: 15px;
    top: 50%;
    transform: translateY(-50%); /* Centre verticalement l'icône */
    cursor: pointer;
    padding: 0;
    font-size: 1.2em;
    color: inherit;
    text-decoration: none; /* Retire la décoration du lien */
}

/* Taille des icônes */
.toggle-password svg {
    width: 20px;
    height: 20px;
}

/* Affichage de l'icône de l'œil visible quand l'état est "visible" */
#eye-icon[data-state="visible"] #eye-visible {
    display: inline-block;
}

/* Cacher l'icône de l'œil barré quand l'état est "visible" */
#eye-icon[data-state="visible"] #eye-hidden {
    display: none;
}

/* Affichage de l'icône de l'œil barré quand l'état est "hidden" */
#eye-icon[data-state="hidden"] #eye-hidden {
    display: inline-block;
}

/* Cacher l'icône de l'œil visible quand l'état est "hidden" */
#eye-icon[data-state="hidden"] #eye-visible {
    display: none;
}
/*/// FORMULAIRE DE CREATION */
/* Personnalisation du style du Picker */
#color-palette-preview-primary,
#color-palette-preview-secondary,
#color-palette-preview-background{
    display: flex;
    margin-top: 10px;
}
.color-swatch {
    flex: 1;
    height: 40px;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-preview {
    grid-area: 2/1/4/3;
    margin-left: 0;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-preview .pcr-current-color {
    width: 100%;
    margin: 0 .6em;
    border-radius:0;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-chooser, .pcr-app[data-theme="nano"] .pcr-selection .pcr-color-opacity {
    margin: .4em .6em;
}
.pcr-app[data-theme="nano"] .pcr-selection .pcr-color-chooser {
    grid-area: 4/1/4/3;
}
/* Live Preview (Create / Edit) */
.preview-background {
	position: relative;
}
.preview-background:not(.is-ready)::before,
.preview-background:not(.is-ready)::after {
	content: '';
	position: absolute;
	z-index: 20;
	pointer-events: none;
}
.preview-background:not(.is-ready)::after {
	inset: 0;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	background: rgba(255, 255, 255, 0.28);
	border-radius: inherit;
}
.preview-background:not(.is-ready)::before {
	top: 50%;
	left: 50%;
	width: 28px;
	height: 28px;
	margin: -14px 0 0 -14px;
	border-radius: 50%;
	border: 2px solid var(--e-global-color-text, #333);
	border-bottom-color: transparent;
	animation: bedame-preview-spin 0.7s linear infinite;
	z-index: 21;
}
@keyframes bedame-preview-spin {
	to { transform: rotate(360deg); }
}
.preview-subtitle,
.preview-subtitle .elementor-heading-title {
	font-family: var(--bedame-text-font), sans-serif !important;
	font-weight: 400;
	font-size: 16px;
	color: #000;
}
/* Personnalisation de la partie sélection de Polices */
.ts-filter.font-picker {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ts-filter.font-picker .font-selected {
  margin-left: auto;
  text-align: right;
}
.font-selected {
    padding: 10px;
	width:100%;
}
.font-dropdown {
    display: none;
    position: absolute;
    top: 110%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #ccc;
    z-index: 1000;
    border-radius: 16px
}

.font-search {
    border: none !important;
    border-bottom: 1px solid #eee !important;
    background: none !important;
}

.font-options {
    max-height: 200px;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    list-style: none;
}

.font-options li {
    padding: 10px;
}

.font-options li:hover {
    background: #f0f0f0;
}
.font-preview{
    font-size: 48px;
    margin: 16px auto;
    width: fit-content;
}
/* Masquage des champs à cacher
.field-key-main-color,
.field-key-main-color-txt,
.field-key-main-color-acc,
.field-key-main-color-bkg,
.field-key-sec-color,
.field-key-sec-color-acc,
.field-key-title-font-select{
    display:none;
}

/* Personnalisation de la partie sélection du Design Général + Avis */
/* Grille */
.select-design .ts-term-dropdown .ts-term-dropdown-list, 
.main-btn-lum .ts-term-dropdown .ts-term-dropdown-list,
.sec-btn-lum .ts-term-dropdown .ts-term-dropdown-list,
.select-review .ts-term-dropdown .ts-term-dropdown-list{
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 16px 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.select-style .ts-term-dropdown .ts-term-dropdown-list{
  display: grid;
  grid-template-columns: repeat(4, minmax(80px, 1fr));
  gap: 16px 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.select-design .inline-multilevel,
.select-design ul,
.select-design li,
.select-style .inline-multilevel,
.select-style ul,
.select-style li,
.main-btn-lum .inline-multilevel,
.main-btn-lum ul,
.main-btn-lum li,
.sec-btn-lum .inline-multilevel,
.sec-btn-lum ul,
.sec-btn-lum li,
.select-review .inline-multilevel,
.select-review ul,
.select-review li{
  overflow: visible !important;
}

/* Masquer radios et icônes d’origine */
.select-design .ts-term-dropdown .ts-radio-container,
.select-style .ts-term-dropdown .ts-radio-container,
.main-btn-lum .ts-term-dropdown .ts-radio-container,
.sec-btn-lum .ts-term-dropdown .ts-radio-container{
  display: none !important;
}

/* Boutons */
.create-form-step .ts-term-dropdown .ts-term-dropdown-list > li > a.flexify {
  position: relative;
  padding: 24px;
  border: 1px solid #9ea3a9;
  border-radius: 99px;
  margin-left:auto;
}
.create-form-step .select-style .ts-term-dropdown .ts-term-dropdown-list > li > a.flexify > span {
  margin-left:auto;
}

/* État actif avec une "bordure" externe indépendante */
.create-form-step .ts-term-dropdown .ts-term-dropdown-list > li.ts-selected > a.flexify::after {
  content: "";
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  border-radius: inherit;
  border: 2px solid #000; /* contour extérieur principal */
  outline: 3px solid #FFF; /* effet double contour comme ton ancien box-shadow */
  pointer-events: none;
  z-index: 1;
}

/* Responsive */
@media (max-width: 880px) {
  .create-form-step .ts-term-dropdown .ts-term-dropdown-list {
    grid-template-columns: 1fr;
  }
}

/* Style des boutons de style */
.create-form-step .select-style .ts-term-dropdown-list > li:has(input[value="solid"]) > a.flexify {
  border: 1px solid hsla(210, 100%, 83.8%, 1);
  background: hsla(210, 100%, 83.8%, 1);
}
.create-form-step .select-style .ts-term-dropdown-list > li:has(input[value="wire"]) > a.flexify {
  border: 1px solid #0081C7;
}
.create-form-step .select-style .ts-term-dropdown-list > li:has(input[value="3d"]) > a.flexify {
  background-color: hsla(210, 100%, 92.5%, 1);
  border-color: hsla(210, 100%, 17%, 1);
  box-shadow:0px -3px 0px 0px hsla(210, 100%, 17%, 1) inset
}
.create-form-step .select-style .ts-term-dropdown-list > li:has(input[value="glass"]) > a.flexify {
  border: 1px solid rgba(0, 177, 241, 0.15);
  background: radial-gradient(50% 50% at 50% 50%, #FFF 0%, rgba(255, 255, 255, 0.46) 100%), rgba(0, 177, 241, 0.30);
  box-shadow: -2px -2px 1px 0 rgba(255, 255, 255, 0.70) inset, 2px 2px 1px 0 rgba(255, 255, 255, 0.50) inset;
}

/* Create Post (VX) : numéros d’étape sur la barre de progression */
.ts-create-post ul.step-percentage {
	overflow: visible;
}
.ts-create-post ul.step-percentage li {
	overflow: visible;
	transition: none;
	border-radius: inherit;
}
.ts-create-post ul.step-percentage li:after {
	transition: none !important;
	transform: none !important;
	opacity: 0;
	z-index: 0;
	border-radius: inherit;
}
.ts-create-post ul.step-percentage li.step-done:after {
	opacity: 1;
	transform: none !important;
}
.ts-create-post ul.step-percentage li.is-jumpable {
	cursor: pointer;
}
.ts-create-post .step-nav {
	position: relative;
	z-index: 4;
}
.ts-create-post ul.step-percentage .step-num {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	user-select: none;
	background-color: inherit;
	color: var(--ts-shade-1, #1c2033);
	box-sizing: border-box;
}
.ts-create-post ul.step-percentage li.step-done .step-num {
	background-color: var(--ts-accent-1);
	color: #fff;
}
.ts-create-post ul.step-percentage .step-num.has-tooltip[data-tooltip]:after {
	content: attr(data-tooltip);
	opacity: 0;
	visibility: hidden;
	position: absolute;
	bottom: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%);
	padding: 6px 10px;
	border-radius: 50px;
	background-color: var(--ts-shade-1);
	color: #fff;
	font-size: 14px;
	max-width: 300px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	transition: all .14s ease;
	z-index: 5;
	pointer-events: none;
}
.ts-create-post ul.step-percentage .step-num.has-tooltip[data-tooltip]:hover:after,
.ts-create-post ul.step-percentage li:hover .step-num.has-tooltip[data-tooltip]:after {
	visibility: visible;
	opacity: 1;
}