/*
 Theme Name:        SADPAD Mag
 Theme URI:         https://nasiothemes.com/themes/prespa/
 Description:       Prespa SaaS serves as a child theme of Prespa, inheriting all the features of Prespa. It is specifically designed for SaaS (Software as a Service) businesses, digital agency, startup, mobile app, and ai automation services, providing a modern and professional look to effectively showcase products and services. The theme is made with the distinct purpose to convert site visitors into customers. It includes specialized block patterns for pricing tables, feature lists, services, testimonials and others. The theme supports responsive layouts and includes a native toggle that allows visitors to switch between light and dark mode. Theme demo: https://prespa-saas-demo.nasiothemes.com/
 Author:            Atanas Yonkov
 Author URI:        http://nasiothemes.com
 Template:          prespa
 Requires at least: 6.1
 Tested up to:      6.9
 Requires PHP:      5.6
 Version:           1.0.8
 License:           GNU General Public License v2 or later
 License URI:       http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:       prespa-saas
 Tags:              education, one-column, two-columns, three-columns, four-columns, grid-layout, right-sidebar, left-sidebar, block-patterns, wide-blocks, custom-colors, custom-header, custom-logo, custom-menu, featured-image-header, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
*/

.post-thumbnail img, .wp-element-button, .hentry, .widget-area section {
	border-radius: 1rem;
}

.top-meta .cat-links a {
	border: 1px solid #e3e3e3;
	border-radius: .5rem;
}

:root {
	--wp--style--global--content-size: 1082px;
	--wp--style--global--wide-size: 1180px;
}

.main-navigation-container .header-content-wrapper {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: auto;
	padding: 0;
	width: 100%;
	flex-direction: column;
	background-image: url(https://sadpad-mag.fr/wp-content/uploads/2026/07/banner-magazine-apercu.jpg);
	background-position: 100% 75%;
}

/* Annule le gap:.5rem applique par le theme parent (prespa) sur .header-content-wrapper >= 54rem */
@media (min-width: 54rem) {
	.main-navigation-container .header-content-wrapper,
	.sadpad-top-bar .header-content-wrapper {
		gap: 0;
	}
}

@media screen and (min-width: 54rem) {
	body:not(.has-sidebar) .alignwide {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 1182px !important;
		padding: 0 5% !important;
	}
}

.main-navigation {
	justify-content: right;
	background: #5c94c6;
	width: 100%;
	color:#FFF;
	font-size: 15px;
}
.main-navigation a {
	padding: 12px 6px !important;
}
#primary-menu > li > a > span {
	font-size:15px;
	color:#fff;
}
.site-branding {
	margin-top: 32px;
	margin-bottom: 26px;
	max-width: 60%;
	margin-right: auto;
	margin-left: 10px;
}
/* width: stretch n'est pas reconnu par tous les navigateurs (anciens Edge/Chrome, Safari) :
 * le conteneur retombait à la largeur de son contenu, poussé à droite, sans espacement. */
@media (min-width: 54rem) {
	.slide-menu.slide-section {
		flex: 1 1 auto;
		width: 100%;
	}
}
ul#primary-menu {
	justify-content: space-around;
	display: flex;
	height: 52px;
}
.site-wrapper {
	padding: 0 !important;
	border-radius: 0;
	border: 1px solid #80808033;
	overflow: hidden;
}
.fixed-header {
	top: -66px;
}
.admin-bar .fixed-header {
	top: -34px;
}
.fixed-header .header-content-wrapper .site-branding {
	margin: 0 auto 0 0;
	padding-top: 15px;
	width: 100%;
}
.site-meta {
	padding: .25rem 15px;
	display: flex;
	align-items: center;
}
.site-branding .site-title {
	font-family: bebas Neue;
	font-size: 35px;
	line-height: 1.2;
	flex:1;
	min-width:220px;
}
.site-title a {
	color: #0aa8a5;
}
.site-branding .site-description {
	font-size: 14px;
	line-height: 1.2;
	font-weight: 700;
	flex:3;
	min-width:220px;
}
h1 {
	color: #5c94c6;
}
h1 {
	font-family: bebas Neue;
	font-size: 42px !important;
	line-height: 50px;
}
h2 {
	font-family: bebas Neue;
	font-size: 32px;
	line-height: 38px;
}
table tr td {
	background: none !important;
}
.overlight-actu p {
	width: fit-content;
	font-weight: bold;
	text-decoration: underline;
	text-decoration-thickness: 15px;
	text-underline-offset: -6px;
	text-decoration-skip-ink: none;
	text-decoration-color: #00808060;
	color: #404040 t;
}
.overlight-actu p strong {
	color: #404040 !important;
}
.overlight-actu p, .overlight-actu i {
	transition:all .4s;
}
.overlight-actu:hover p {
	text-underline-offset: -12px;
}
.overlight-actu:hover i {
	transform: translateX(12px);
}
.overlight-actu a {
	text-decoration: none;
}
.wp-block-button .wp-block-button__link {
	border-radius: 50px;
	padding: 8px 16px;
}
#primary-menu .wp-block-button .wp-block-button__link {
	max-height: 44px;
}

.call-to-action a {
	border: 1px solid #e3e3e3;
	border-radius: 1.75rem;
	transition: .4s background;
}
body:not(.dark-mode):not(.has-transparent-header) .call-to-action.wp-block-button .wp-block-button__link {
	background-color: #0d1e56 !important;
	border: none;
	color: #fff;
	padding: 8px 16px !important;
	font-weight: normal;
}
body:not(.dark-mode):not(.has-transparent-header) .call-to-action.wp-block-button .wp-block-button__link:hover {
	background-color: #0aa8a5 !important;
	border: 1px solid #FFF;
}

.wp-singular.page .entry-header {
	display:none;
}

/* Category and taxonomy term pages */
.category main#primary {
	margin: 20px 5%;
}

/* single posts */
.single-post main#primary {
	padding: 20px 5%;
}
/* ⚠️ Sans effet actuellement : la règle "h1 { font-size: 42px !important; }" plus haut
   dans ce fichier l'emporte toujours sur ce h1, quel que soit l'ordre. À vérifier : vouliez-vous
   un h1 plus petit (32px) sur les articles, ou peut-on supprimer cette règle ? */
h1 {
	font-size: 32px;
}
img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
	width: 500px;
}
.entry-meta {
	margin-bottom: 20px;
}
.post-share-wrap {
	display: contents;
}
.post-share-wrap span {
	padding-left: 10px;
}
.actu-sumup {
	background-color: #81a19d33;
	padding: 20px 25px;
	margin-top: 20px;
	border-radius: 12px;
}
.top-meta .cat-links a {
	border: 1px solid #e3e3e3;
	border-radius: 15px;
	padding: 2px 12px;
	margin: 4px;
	background-color: #e6a05a !important;
	color: #fff !important;
}
/* Forms */
input, textarea {
	width: 100%;
	padding: 8px;
	box-sizing: border-box;
}
input.wpcf7-text,input.wpcf7-range, textarea.wpcf7-textarea, .wpcf7-form label, .wpcf7-form-control-wrap, .intl-tel-input {
	width: 100%;
}
input[type=submit] {
	margin: 15px 0 0;
	padding: 16px 16px;
	font-weight: bold;
}
.row-group, .field-item {
	margin-bottom: 5px;
	display: flex;
	flex-direction: row;
	gap: 40px;
	max-width:100%;
}
.row-group .field-item {
	flex: 1;
}
.row-group .field-item p {
	width: 100%;
}
input {
	padding: 24px;
}
.dark-blue label {
	color: #fff;
}
.red {
	color: red;
}
input[type="checkbox"] {
	width: auto;
	margin: 15px 15px 0 0;
}

/* box free mag */
#free-mag p {
	margin: 0;
}
.field-item.submit input[type="submit"] {
	background: #86a7a3;
	margin-top:28px;
	padding: 16px 32px;
	max-height: fit-content;
}
/* box newsletter */
.register p {
	display: flex;
}
.register input[type="submit"] {
	background: #86a7a3;
	border-top-right-radius: 50px;
	border-bottom-right-radius: 50px;
	padding: 16px 32px;
	max-height: fit-content;
}
.register input.wpcf7-email {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}
.register-news input[type="submit"] {
	background: #86a7a3;
}
.register-mag input[type="submit"] {
	background: #86a7a3;
}
/* box services et pictos */
.picto {
	width:75px;
	border-radius:50px
}
.picto img {
	padding:10px
}
.picto.orange {
	background: #e6a05a;
}
.picto.green {
	background: #81b895;
}
.picto.blue {
	background: #84aecf;
}
.picto.cyan {
	background: #8daca8;
}
.picto.grey {
	background: #bcbcbc;
}
.box-service {
	transition: all 0.2s;
	border-radius:12px;
	text-align: center;
	justify-items: center;
	border: 1px solid #dedede !important;
	transition: all 0.2s;
	padding: 15px
}

.box-service:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 45px rgba(30, 41, 59, .12);
	border-color: #d8e1e7 !important;
}

/* actus page d'accueil */
.sadpad-masonry{
	width:100%;
	margin:0 -15px;
}

.sadpad-sizer,
.sadpad-card{
	width:33.3333%;
}

.sadpad-card{
	padding:15px;
	box-sizing:border-box;
	margin:0;
}

.sadpad-card-inner{
	background:#fff;
	border:1px solid #e7ecef;
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 8px 30px rgba(30,41,59,.06);
	transition:all .35s ease;
	height:100%;
}

.sadpad-card:hover .sadpad-card-inner{
	transform:translateY(-6px);
	box-shadow:0 18px 45px rgba(30,41,59,.12);
	border-color:#d8e1e7;
}

.sadpad-thumb-link{
	display:block;
	overflow:hidden;
	background:#f4f6f8;
}

.sadpad-thumb{
	display:block;
	width:100%;
	height:auto;
	transition:transform .7s ease;
}

.sadpad-card:hover .sadpad-thumb{
	transform:scale(1.04);
}

.sadpad-content{
	padding:28px;
}

.sadpad-date {
	display: inline-flex;
	align-items: center;
	padding: 0 14px;
	margin-bottom: 18px;
	border-radius: 30px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	color: #6a7884;
}

.sadpad-card h3{
	margin:0 0 16px;
	font-size:1.2rem;
	line-height:1.3;
	font-weight:700;
}

.sadpad-card h3 a {
	color: #0b7b79;
	text-decoration:none;
	transition:color .25s;
}

.sadpad-card h3 a:hover {
	color: #0aa8a5;
}

.sadpad-excerpt{
	font-size:1rem;
	line-height:1.8;
	color:#5b6976;
	margin-bottom:24px;
}

.sadpad-link{
	display:inline-flex;
	align-items:center;
	font-size:.95rem;
	font-weight:700;
	text-decoration:none;
	color:#0b7b79;
	transition:.25s;
}

.sadpad-link::after{
	content:"→";
	margin-left:8px;
	transition:transform .25s;
}

.sadpad-link:hover::after{
	transform:translateX(4px);
}

/* Listing des partenaires : cartes en grille (réutilise .sadpad-card / .sadpad-card-inner) */
.sadpad-partenaires{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	margin:0;
}
.sadpad-partenaires .sadpad-card{
	width:auto;
}

/* Titre de section par niveau ("Nos partenaires ...") */
.partenaires-level-title{
	font-size:24px !important;
	font-weight:700;
	font-family:'Raleway';
	text-align:center;
	color:#1b2a4a;
}
.partenaires-level-title .partenaires-level-name{
	color:#ef3e56;
}
.partenaires-level-desc{
	margin:8px 0 24px;
	text-align:center;
	color:#999;
}

/* Bannière paysage (image à la une) */
.sadpad-partenaire-banner{
	display:block;
	aspect-ratio:5 / 2;
	overflow:hidden;
	background:#eef2f4;
}
.sadpad-partenaire-banner img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.sadpad-partenaire-banner-placeholder{
	background:linear-gradient(135deg,#eef2f4,#e2e8ec);
}

/* Corps : logo au-dessus, puis titre + description en pleine largeur */
.sadpad-partenaire-body{
	padding:24px 28px 28px;
}

/* Logo : carré blanc à bords arrondis, chevauchant la bannière */
.sadpad-partenaire-logo{
	position:relative;
	z-index:1;
	width:74px;
	height:74px;
	margin-top:-64px;
	margin-bottom:16px;
	padding:10px;
	box-sizing:border-box;
	background:#fff;
	border:1px solid #eef2f4;
	border-radius:16px;
	box-shadow:0 8px 22px rgba(30,41,59,.14);
	display:flex;
	align-items:center;
	justify-content:center;
}
.sadpad-partenaire-logo img{
	max-width:100%;
	max-height:100%;
	width:auto;
	height:auto;
	object-fit:contain;
}
.sadpad-partenaire-logo-initiale{
	font-weight:700;
	font-size:24px;
	line-height:1;
	color:#0b7b79;
}

.sadpad-partenaire-text{
	flex:1 1 auto;
	min-width:0;
}

/* Titre foncé (et non teal comme le blog) */
.sadpad-partenaire-card h3{
	margin:0 0 10px;
	font-size:1.15rem;
	line-height:1.3;
	font-weight:700;
}
.sadpad-partenaire-card h3 a{
	color:#1e293b;
	text-decoration:none;
	transition:color .25s;
}
.sadpad-partenaire-card h3 a:hover{
	color:#0b7b79;
}
.sadpad-partenaire-desc{
	margin:0 0 16px;
	font-size:.95rem;
	line-height:1.7;
	color:#5b6976;
}
.sadpad-excerpt-placeholder{
	font-style:italic;
	color:#9aa7b1;
}

/* CTA façon « DÉCOUVRIR LE SITE → » */
.sadpad-partenaire-card .sadpad-link{
	letter-spacing:.06em;
	font-size:.78rem;
}

/* Fond des cartes selon le niveau partner-level (classes posées dans page-partenaires.php) */
article.formation-en-ligne > div {
	background: #cbe9e7;
}
article.formation-en-salle > div {
	background: #d8eeff;
}
article.accompagnement > div {
	background: #1807ff24;
}
.sadpad-link-disabled{
	color:#9aa7b1;
	cursor:default;
	pointer-events:none;
}

.sadpad-loadmore-wrapper{
	margin:60px 0 20px;
	text-align:center;
}

#sadpad-loadmore{
	padding:16px 34px;
	border:none;
	border-radius:40px;
	background:#0b7b79;
	color:#fff;
	font-size:15px;
	font-weight:600;
	cursor:pointer;
	transition:.3s;
	box-shadow:0 10px 25px rgba(11,123,121,.18);
}

#sadpad-loadmore:hover{
	background:#086563;
	box-shadow:0 16px 36px rgba(11,123,121,.28);
}

#sadpad-loadmore.loading{
	opacity:.6;
	pointer-events:none;
}

.sadpad-mini-list{
	display:flex;
	flex-direction:column;
	gap:18px;
}

.sadpad-mini-post{
	display:flex;
	align-items:flex-start;
	gap:16px;
	padding-bottom:18px;
	border-bottom:1px solid #eceff2;
}

.sadpad-mini-post:last-child{
	border-bottom:none;
	padding-bottom:0;
}

.sadpad-mini-image{
	flex:0 0 90px;
	display:block;
}

.sadpad-mini-thumb{
	display:block;
	width:90px;
	height:90px;
	object-fit:cover;
	border-radius:10px;
	transition:.3s;
}

.sadpad-mini-post:hover .sadpad-mini-thumb{
	transform:scale(1.03);
}

.sadpad-mini-content{
	flex:1;
	min-width:0;
}

.sadpad-mini-date{
	display:block;
	margin-bottom:8px;
	font-size:12px;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.05em;
	color:#7b8792;
}

.sadpad-mini-title{
	margin:0;
	font-size: 15px;
	line-height: 1.2;
	font-weight:700;
}

.sadpad-mini-title a{
	text-decoration:none;
	transition:.2s;
}

.sadpad-mini-title a:hover{
	color:#0aa8a5;
}


/* forum */
.topic-archive .site-main {
	padding: 20px 5%;
}
#bbpress-forums {
	font-size: 14px;
}
form.bbp-login-form {
	max-width: 350px;
	justify-self: center;
}
.forum-template-default main#primary, .forum-archive main#primary, .topic-template-default main#primary {
	padding: 20px 5%;
}
div#qt_bbp_topic_content_toolbar input {
	width: auto;
}
#bbpress-forums li.bbp-header {
	background-color: #0073aa;
	color: #ffffff;
	text-transform: uppercase;
	font-weight: bold;
	padding: 12px;
}
#bbpress-forums .bbp-submit-wrapper button {
	background-color: #27ae60;
	color: white;
	padding: 10px 20px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	transition: background 0.3s ease;
}

#bbpress-forums .bbp-submit-wrapper button:hover {
	background-color: #2ecc71;
}
div.bbp-reply-content {
	font-size:15px;
}
.bbp-reply-author img.avatar {
	border-radius: 50%;
	margin-bottom: 10px;
	border: 2px solid #eee;
}
#bbpress-forums div.bbp-forum-author img.avatar, #bbpress-forums div.bbp-reply-author img.avatar, #bbpress-forums div.bbp-topic-author img.avatar {
	max-width: 45px;
}
.bbp-author-name {
	font-weight: bold;
	color: #0073aa;
}
.bbpress #bbpress-forums input#bbp_topic_subscription,
.bbpress #bbpress-forums input#bbp_search_submit,
.bbpress #bbpress-forums input#rememberme {
	width: auto;
	margin: 0 8px;
	vertical-align: middle;
}

.tutor-wrap {
	color: var(--tutor-body-color);
	max-width: 1082px;
	margin: 20px 5%;
}

/* Cession acquisition */
.filters {
	margin: 60px 0 50px;
}
.filters .container,
.annonces .container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 5%;
}
.filters form {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr auto;
	gap: 16px;
	align-items: center;
}
.filters select {
	height: 52px;
	padding: 0 16px;
	border: 1px solid #d9d9d9;
	background: #fff;
	font-size: 14px;
	width: 100%;
}
.filters button {
	height: 52px;
	padding: 0 28px;
	background: #111;
	color: white;
	border: none;
	cursor: pointer;
	font-size: 12px;
	letter-spacing: 1px;
}
.annonces {
	margin-bottom: 80px;
}
.annonces-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-top: 30px;
}
.annonce-card {
	padding: 34px;
	border: 1px solid #e7ecef;
	border-radius: 12px;
	background: white;
	box-shadow: 0 8px 30px rgba(30,41,59,.06);
	transition: all .35s ease;
}
.annonce-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 45px rgba(30,41,59,.12);
	border-color: #d8e1e7;
}
.annonce-category {
	display: block;
	font-size: 11px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 20px;
	color: #666;
}
.annonce-card h3 {
	font-size: 22px;
	line-height: 1.2;
	margin-bottom: 15px;
	font-weight: 700;
}
.annonce-card h3 a {
	color: #0b7b79;
	text-decoration: none;
	transition: color .25s;
}
.annonce-card h3 a:hover {
	color: #0aa8a5;
}
p.annonce-departements, p.annonce-meta {
	margin: 4px 0;
}
.metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	margin: 25px 0;
	padding: 20px 0;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
.metrics small {
	display: block;
	font-size: 11px;
	color: #888;
	margin-bottom: 6px;
}
.metrics strong {
	font-size: 14px;
}
.annonce-card .sadpad-link {
	margin-top: 25px;
}
/* ⚠️ Cette règle n'est dans aucune media query : elle repasse .annonces-grid à 2 colonnes
   en permanence, y compris sur grand écran, et annule donc les 3 colonnes définies juste
   au-dessus. Elle fait probablement double emploi avec le "1fr" déjà prévu pour le mobile
   plus bas (@media max-width:864px). À confirmer : faut-il la supprimer, ou la déplacer
   dans une media query (ex. @media max-width:1024px) pour un affichage à 2 colonnes sur tablette ? */
.annonces-grid {
	grid-template-columns: repeat(2, 1fr);
}

/* single cession-acquisition */
.container {
	max-width: 1400px;
	margin: auto;
	padding: 0 30px;
}
.single-hero {
	padding: 60px 0 40px;
}
.single-label {
	display: block;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 12px;
	color: #888;
	margin-bottom: 20px;
}
.single-hero h1 {
	font-size: 60px;
	line-height: 1.15;
	margin-bottom: 20px;
}
.location {
	font-size: 18px;
	margin-bottom: 20px;
}
.status-badge {
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid #ddd;
	border-radius: 30px;
	font-size: 13px;
}
.single-kpis {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border: 1px solid #eee;
	margin-bottom: 60px;
}
.kpi-item {
	padding: 35px;
	border: 1px solid #eee;
}
.kpi-item small {
	display: block;
	margin-bottom: 10px;
	color: #777;
}
.kpi-item strong {
	font-size: 28px;
}
.single-content-layout {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 50px;
}
.single-main-content h2 {
	margin-bottom: 30px;
}
.single-sidebar {
	position: sticky;
	top: 40px;
	height: fit-content;
}
.sidebar-box {
	padding: 35px;
	border: 1px solid #eee;
	margin-bottom: 30px;
}
.sidebar-box h3 {
	margin-bottom: 20px;
}
.sidebar-box p {
	margin-bottom: 15px;
}
.cta-btn {
	display: inline-block;
	width: 100%;
	text-align: center;
	background: #111;
	color: white;
	padding: 16px;
	text-decoration: none;
	margin-top: 20px;
}
/* Prise de contact avec l'annonceur (single-cession-acquisition.php) */
.cession-contact {
	position: relative;
	margin: 60px 0;
	padding: 35px;
	border: 1px solid #eee;
	scroll-margin-top: 90px;
}
.cession-contact h2 {
	margin-bottom: 25px;
}
.cession-contact__boutons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}
.cession-contact__btn {
	display: inline-block;
	padding: 16px 28px;
	border: 1px solid #111;
	background: #111;
	color: #fff;
	font: inherit;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}
.cession-contact__btn:hover,
.cession-contact__btn:focus {
	background: #333;
	border-color: #333;
	color: #fff;
}
.cession-contact__btn--secondaire {
	background: #fff;
	color: #111;
}
.cession-contact__btn--secondaire:hover,
.cession-contact__btn--secondaire:focus {
	background: #f5f5f5;
	color: #111;
}
.cession-contact__formulaire {
	margin-top: 35px;
	padding-top: 30px;
	border-top: 1px solid #eee;
	scroll-margin-top: 90px;
}
.cession-contact__formulaire form {
	max-width: 640px;
}
.cession-contact__formulaire h3 {
	margin-bottom: 20px;
}
.cession-contact__formulaire form p {
	margin: 0 0 18px;
}
.cession-contact__formulaire label {
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
}
.cession-contact__formulaire input[type="email"],
.cession-contact__formulaire input[type="text"],
.cession-contact__formulaire textarea {
	width: 100%;
	max-width: 100%;
	padding: 10px 12px;
	border: 1px solid #ddd;
	background: #fff;
	font: inherit;
}
.cession-contact__formulaire input:focus,
.cession-contact__formulaire textarea:focus {
	outline: 2px solid #111;
	outline-offset: 1px;
}
.cession-contact__identite {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 0 16px;
}
.cession-contact__mention {
	font-size: 0.85em;
	color: #777;
}
.cession-contact__piege {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.cession-contact__message {
	margin: 0 0 20px;
	padding: 12px 16px;
	border: 1px solid;
	font-weight: 600;
}
.cession-contact__message--succes {
	background: rgba(28, 124, 74, 0.07);
	border-color: rgba(28, 124, 74, 0.25);
	color: #1c7c4a;
}
.cession-contact__message--erreur {
	background: rgba(179, 38, 30, 0.07);
	border-color: rgba(179, 38, 30, 0.22);
	color: #b3261e;
}

/* footer */
footer.site-footer a {
	color: #fff;
}
.widget-column.footer-widget-1,.footer-widget-2, .widget-column.footer-widget-3 {
	flex: 1;
}
.widget-column {
	border-right: 1px solid #a7a6fd33 !important;
	padding-top: 0;
}
.footer-widget-2, .footer-widget-3 {
	text-align: right;
}
footer .widget-area li:not(:last-child) {
	margin-bottom: 2px;
}
.widget-area li:not(:last-child) {
	border-bottom: none;
}
/* forums */
#bbpress-forums {
	font-size: 15px;
	line-height: 1.6;
	color: #333333;
}

/* En-têtes des tables (Forums et Sujets) */
#bbpress-forums li.bbp-header {
	background-color: #f8f9fa;
	border: none;
	border-bottom: 2px solid #e9ecef;
	padding: 14px 18px;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #495057;
}

/* Lignes des listes (Forums et Sujets) */
#bbpress-forums ul.bbp-forums, 
#bbpress-forums ul.bbp-topics {
	border: 1px solid #e9ecef;
	border-radius: 6px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

#bbpress-forums li.bbp-body ul.forum, 
#bbpress-forums li.bbp-body ul.topic {
	border-top: 1px solid #e9ecef;
	padding: 18px;
	transition: background-color 0.2s ease;
}

/* Effet au survol d'une ligne pour plus de modernité */
#bbpress-forums li.bbp-body ul.forum:hover, 
#bbpress-forums li.bbp-body ul.topic:hover {
	background-color: #fdfdfd;
}

/* Titres des Forums et Sujets */
a.bbp-forum-title, 
a.bbp-topic-permalink {
	font-size: 16px;
	font-weight: 600;
	color: #1a365d; /* Bleu pro / corporate */
	text-decoration: none;
	transition: color 0.2s ease;
}

a.bbp-forum-title:hover, 
a.bbp-topic-permalink:hover {
	color: #2b6cb0; /* Bleu plus clair au survol */
	text-decoration: underline;
}
.forum-intro {
	display: block;
	clear: both;
	margin: 40px 0px 20px;
}
/* Métadonnées et descriptions */
.bbp-forum-content,
.bbp-topic-meta {
	font-size: 13px;
	color: #6c757d;
	margin-top: 4px;
}

/* Boîte de l'en-tête du message (Auteur et Date) */
div.bbp-reply-header {
	background-color: #f8f9fa;
	border: 1px solid #e9ecef;
	border-bottom: none;
	padding: 10px 15px;
	font-size: 13px;
	color: #6c757d;
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
}

/* Boîte du contenu de la réponse */
div.bbp-reply-content {
	padding: 20px;
	background: #ffffff;
	border: 1px solid #e9ecef;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	margin-bottom: 20px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

/* Bloc de l'auteur (à gauche du message) */
.bbp-reply-author {
	margin-bottom: 10px;
}

.bbp-reply-author .bbp-author-name {
	font-weight: 600;
	color: #333333;
	font-size: 15px;
	margin: 5px 0;
}

/* Rôle de l'utilisateur (ex: Administrateur, Participant) */
.bbp-reply-author .bbp-author-role {
	font-size: 11px;
	text-transform: uppercase;
	background-color: #e2e8f0;
	color: #4a5568;
	padding: 2px 6px;
	border-radius: 4px;
	display: inline-block;
}

/* Champs de saisie */
#bbpress-forums input[type="text"], 
#bbpress-forums select, 
#bbpress-forums textarea {
	border: 1px solid #cbd5e0;
	border-radius: 4px;
	padding: 8px 12px;
	font-size: 14px;
	width: 100%;
	transition: border-color 0.2s;
}

#bbpress-forums input[type="text"]:focus, 
#bbpress-forums textarea:focus {
	border-color: #2b6cb0;
	outline: none;
	box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.15);
}

/* Boutons */
#bbpress-forums button[type="submit"] {
	background-color: #1a365d;
	color: #ffffff;
	border: none;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 600;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.2s;
}

#bbpress-forums button[type="submit"]:hover {
	background-color: #2b6cb0;
}

/* Notices et alertes (ex: forum privé, message de succès) */
div.bbp-template-notice {
    border-radius: 6px;
    border: 1px solid #0aa8a5;
    background-color: #f5ffff;
    color: #0aa8a5;
    padding: 12px 15px;
}

div.bbp-template-notice.info {
	border-color: #bee3f8;
	background-color: #ebf8ff;
	color: #2b6cb0;
}


/* User profil : formulaire d'édition (page-user-edit.php) */
.sadpad-profil-editor {
	margin: 5% 50px;
}
.sadpad-profil-editor p {
	margin: 0 0 1.2rem;
}
.sadpad-profil-editor form label {
	display: block; font-weight: 600; margin-bottom: .3rem;
}
.sadpad-profil-editor form input[type=text] {
	width: 100%; padding: .55rem .7rem;
}
.sadpad-profil-editor form .sadpad-help {
	display: block; 
	font-size: .85em; 
	opacity: .7; 
	margin-top: .3rem; }
.sadpad-avatar img {
	border-radius: 50%; 
	object-fit: cover; 
}
.sadpad-notice { 
	padding: .8rem 1rem;
	margin-bottom: 1.5rem;
	border-left: 4px solid;
}
.sadpad-notice--ok {
	border-color: #2e7d32;
	background: #edf7ed;
}
.sadpad-notice--ko {
	border-color: #c62828;
	background: #fdecea;
}
.sadpad-notice--info {
	border-color: #0aa8a5;
	background: #f5ffff;
}
.sadpad-notice ul {
	margin: 0; padding-left: 1.2rem;
}

/* User profil : page publique - carte membre (author.php)
   Anciennement en ".sadpad-card", renommé en ".sadpad-profil" pour ne plus entrer
   en collision avec les cartes d'actus ".sadpad-card" définies plus haut. */
.sadpad-profil {
	max-width: 760px;
	margin: 5% auto;
	padding: 40px;
	background: #fff;
	border: 1px solid #e7ecef;
	border-radius: 12px;
	box-shadow: 0 8px 30px rgba(30, 41, 59, .06);
}
.sadpad-profil__head {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
}
.sadpad-profil__avatar img {
	display: block;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	object-fit: cover;
}
.sadpad-profil__id {
	flex: 1;
	min-width: 220px;
}
.sadpad-profil__name {
	margin: 0 0 .4rem;
	font-size: 32px !important;
	line-height: 1.2;
}
.sadpad-profil__job {
	margin: 0 0 .4rem;
	font-weight: 600;
	color: #0b7b79;
}
.sadpad-profil__full {
	margin: 0 0 .4rem;
	color: #5b6976;
}
.sadpad-profil__meta {
	margin: 0 0 1rem;
	font-size: .9rem;
	color: #7b8792;
}
.sadpad-profil__edit {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 50px;
	background: #0aa8a5;
	color: #fff !important;
	text-decoration: none;
	font-weight: 600;
	font-size: .9rem;
	transition: background .25s;
}
.sadpad-profil__edit:hover {
	background: #086563;
}
.sadpad-profil__posts,
.sadpad-profil__forum {
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid #eceff2;
}
.sadpad-profil__posts h2,
.sadpad-profil__forum h2 {
	margin: 0 0 1rem;
}
.sadpad-profil__posts ul,
.sadpad-profil__forum ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.sadpad-profil__posts li,
.sadpad-profil__topic {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px 12px;
	padding: 12px 0;
	border-bottom: 1px solid #eceff2;
}
.sadpad-profil__posts li:last-child,
.sadpad-profil__topic:last-child {
	border-bottom: none;
}
.sadpad-profil__posts li a,
.sadpad-profil__topic-title {
	color: #0b7b79;
	text-decoration: none;
	font-weight: 600;
}
.sadpad-profil__posts li a:hover,
.sadpad-profil__topic-title:hover {
	color: #0aa8a5;
}
.sadpad-profil__topic-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: .8rem;
	color: #7b8792;
}
.sadpad-profil__topic-forum {
	color: #7b8792;
}
.sadpad-profil__topic-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 30px;
	background: #e6f5f4;
	color: #0b7b79;
	font-size: .7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.sadpad-profil__topic-date {
	white-space: nowrap;
}
@media (max-width: 600px) {
	.sadpad-profil {
		padding: 24px;
	}
	.sadpad-profil__head {
		flex-direction: column;
		text-align: center;
	}
	.sadpad-profil__topic {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* User login bar */
#bar-menu{
	position:fixed;
	top: 0;
	left:calc(-1 * 460px);
	width: 440px;
	height: 100vh;
	padding: 60px 20px 20px;
	background: #0d1e56;
	color: #fff;
	text-align:center;
	overflow-y:auto;
	z-index: 2000;
	box-shadow:2px 0 18px rgba(0,0,0,.35);
	transition:left .35s cubic-bezier(.4,0,.2,1);
}
.user-bar__close{
	position:absolute;
	top:20px;
	right:12px;
	padding:6px;
	background:none;
	border:0;
	color:#fff;
	font-size:1.3rem;
	line-height:1;
	cursor:pointer;
	opacity:.8;
}
.user-bar__close:hover{
	opacity:1;
}

span.burger {
	border-bottom: 4px solid transparent !important;
}
span.burger:before {
	transform: rotate(-45deg) translateY(6px) translateX(-5px);
}
span.burger:after {
	transform: rotate(45deg) translateY(0) translateX(2px);
}

/* liens du menu */
.user-bar__nav{ display:flex; flex-direction:column; gap:4px; margin-top:10px; }
.user-bar__form{ margin:0; }
.user-bar__link{
	display:flex; align-items:center; gap:12px; width:100%; box-sizing:border-box;
	padding:12px 14px; text-align:left; text-decoration:none;
	color:#fff; background:rgba(255,255,255,.05);
	border:0; border-radius:8px; font:inherit; cursor:pointer;
	transition:background .2s, transform .2s;
}
.user-bar__link .fas{ width:18px; text-align:center; opacity:.85; }
.user-bar__link:hover, .user-bar__link:focus-visible{
	background:rgba(255,255,255,.14); transform:translateX(2px);
}
.user-bar__link--logout{ color:#ffb3b3; }
.user-bar__link--logout:hover{ background:rgba(255,80,80,.18); }

/* arguments (déconnecté) */
.user-bar__benefits{
	list-style:none;
	padding:0;
	margin:12px 0; 
	text-align:left;
}
.user-bar__benefits li { position:relative;
	padding:6px 0 6px 24px;
}
.user-bar__benefits li::before { content:"★";
	position:absolute; left:0;
	opacity:.7;
}
#bar-menu hr {
	width: 50%;
	color: #FFF;
	margin: 35px auto;
}

/* focus clavier visible */
#bar-menu a:focus-visible, #bar-menu button:focus-visible {
	outline:2px solid #fff;
	outline-offset:2px; 
}

.user-bar__backdrop{
	position:fixed;
	background:rgba(0,0,0,.5);
	opacity:0;
	visibility:hidden;
	z-index:250;
	transition:opacity .35s var(--bar-ease), visibility .35s;
}
body.isOpen .user-bar__backdrop{
	opacity:1;
	visibility:visible;
}
.close-bar-menu {
	display:block;
	padding:5px;
	text-align:right;
}
.admin-bar #bar-menu {
	top: 32px;
}
body.isOpen #bar-menu {
	left: 0;
}

body.isOpen .site-content-contain {
	margin-left: 25vw;
	transition: all 1.2s cubic-bezier(0.72, 0.13, 0.54, 0.85);
}
.site-content-contain {
	transition: all 1.2s cubic-bezier(0.63, 0.23, 0.38, 1.03);
}
.side-bar-section{
	font-size: 15px;
	max-width: 440px;
	margin: auto;
}

#sidemenu li a {
	font-family: 'Valera', sans-serif;
	position: relative;
	display: block;
	padding: 10px 15px 15px 50px;
	font-size: 0.875rem;
	color: #fff;
	border-top: 1px solid #5a5a5a;
	border-bottom: 1px solid #333;
	background: rgba(255, 255, 255, 0.05);
	-webkit-transition: left 300ms linear 2s, opacity 100ms ease-in 600ms;
	transition: left 300ms linear 2s, opacity 100ms ease-in 600ms;
}
#sidemenu li a:hover {
	border-bottom: #4a4a4a;
	box-shadow: -2px 1px 6px 2px #333;
}

/* Ajax login form */
.lwa  {
	max-width: 310px;
	margin: auto;
}
.lwa-bones .pixelbones .button.button-primary, .lwa-bones .pixelbones button.button-primary, .lwa-bones .pixelbones input[type=button].button-primary, .lwa-bones .pixelbones input[type=reset].button-primary, .lwa-bones .pixelbones input[type=submit].button-primary {
	color: #FFF !important;
	background-color: #0aa8a5 !important;
	border-color: #0aa8a5 !important;
	padding: 0 11px !important;
}
#lwa_wp-submit {
	height: 42px;
	padding: 6px 12px;
	width: 100%;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.8px;
}
.lwa-bones .pixelbones label, .lwa-bones .pixelbones legend {
	display: flex !important;
	text-align: left;
	font-size: 16px;
	margin: 0 10px 5px;
	color: #fff !important;
	flex-direction: row-reverse;
}
.lwa-bones .lwa.lwa-login .grid-container.submit {
	text-align: left !important;
	grid-template-columns: 100px 1fr !important;
	max-width: 100% !important;
	padding: 0 !important;
}
.lwa-bones {
	margin: 50px 0;
	color: #FFF;
}
.lwa-bones .lwa p {
	margin-bottom: 20px !important;
	color: #FFF;
}
.lwa-bones .pixelbones a {
	color: #0aa8a5 !important;
}
.lwa-bones .pixelbones img {
	background: #fff;
}
.lwa-form input[type="checkbox"]{
	height:16px;
}
.lwa-submit-links label {
	display: inline;
	padding-left: 5px;
}
.lwa td.lwa-submit-links {
	text-align: right;
}
.lwa tr {
	border: none;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.lwa tr.lwa-submit {
	flex-direction: column-reverse;
}
.lwa td {
	width: 100%;
	margin: 0;
	padding-top: 7px;
	vertical-align: top;
	text-align: center;
}
.lwa-password input, .lwa-username input, .lwa-email input, .lwa-remember-email input {
	width: 100% !important;
	border-radius: 0;
}
.lwa .lwa-username-label, .lwa .lwa-password-label {
	padding-right: 10px;
	vertical-align: middle;
	text-align: left;
	margin: 0;
}
.lwa .lwa-username-label label, .lwa .lwa-password-label label {
	margin: 4px 10px 0;
}
.lwa .lwa-register {
	margin-top: 10px;
	display: none;
	width: auto;
	max-width: 450px;
	position: relative;
	z-index: 999;
	margin: auto;
	padding: 20px 30px;
	left: auto;
}
td.lwa-info a:first-child {
	display: none;
}
.toshow {
	display:none;
}
.toshow.shown {
	display:block;
}
.reveal-element {
	font-weight: bold;
}
.button-group.button-large .button, .wp-core-ui .wp-core-ui .button.button-large {
	min-height: 32px;
	line-height: 2;
	padding: 6px 14px 8px;
	margin-top: 15px;
	display: block;
	width: 100%;
}

/* top bar */
.sadpad-top-bar .header-content-wrapper {
	background: #0AA8A5;
	color: #ffffff;
	font-size: 14px;
	line-height: 1;
	position: relative;
	z-index: 999;
}
.sadpad-top-bar .site-title a {
	display: none;
}
.sadpad-top-bar .header-content-wrapper {
	max-width: 1182px;
	margin: 0 auto;
	padding: 0px 12px;
}
.sadpad-top-bar__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	min-height: 44px;
}
.sadpad-top-bar__menu > li {
	margin: 0;
	padding: 0;
	position: relative;
	display: flex;
	align-items: center;
}

/* fix bar */
.admin-bar.fix-header .sadpad-top-bar {
	top: 32px;
}
.admin-bar.fix-header .main-navigation {
    top: 76px;
}
.fix-header .sadpad-top-bar {
	top: 0;
	position: fixed;
	width: 100%;
	z-index: 100;
}
.fix-header .main-navigation {
    top: 44px;
    position: fixed;
    z-index: 100;
	max-width: 1182px;
	margin: 0;
}

.fix-header .sadpad-top-bar .header-content-wrapper {
	background-color: #FFF;
}
.fix-header .sadpad-top-bar .account-trigger {
    background: #0AA8A5;
    border-color: #0AA8A5;
}
.fix-header .sadpad-top-bar .site-title a {
    display: inline-block;
	color: #0aa8a5;
	font-family: bebas Neue;
    font-size: 32px;
    line-height: 1;
    flex: 1;
    min-width: 200px;
}

/* --- Lien de présentation --- */
.sadpad-top-bar a.sadpad-presentation__link {
	display: flex;
	align-items: center;
	padding: 11px 12px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	box-shadow: none;
}
.sadpad-top-bar a.sadpad-presentation__link:hover,
.sadpad-top-bar a.sadpad-presentation__link:focus {
	color: #f5c518;
}
.fix-header .sadpad-top-bar a.sadpad-presentation__link {
	color: #0AA8A5;
}
.fix-header .sadpad-top-bar a.sadpad-presentation__link:hover,
.fix-header .sadpad-top-bar a.sadpad-presentation__link:focus {
	color: #111111;
}

/* --- Panier --- */
a.sadpad-cart__link {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 11px 12px;
	color: #ffffff;
	text-decoration: none;
	box-shadow: none;
}
a.sadpad-cart__link:hover,
a.sadpad-cart__link:focus {
	color: #f5c518;
}
.sadpad-top-bar .sadpad-cart__icon {
	display: flex;
}
.sadpad-top-bar .sadpad-cart__count {
	background: #f5c518;
	color: #111111;
	font-size: 11px;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
	border-radius: 9px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
}

/* --- Mini-panier en sous-menu --- */
.sadpad-top-bar .shopping-cart-additional-info {
	position: absolute;
	top: 100%;
	right: 0;
	width: 320px;
	background: #ffffff;
	color: #333333;
	border: 1px solid #e5e5e5;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
	padding: 18px;
	text-align: left;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.sadpad-top-bar .site-header-cart:hover .shopping-cart-additional-info,
.sadpad-top-bar .site-header-cart:focus-within .shopping-cart-additional-info {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.sadpad-top-bar .shopping-cart-additional-info a {
	color: #111111;
}
.sadpad-top-bar .widget_shopping_cart .buttons a {
	display: inline-block;
	margin-right: 6px;
}
.site-header-cart .widget_shopping_cart .cart_list li a.remove {
	padding: 6px;
}
.sadpad-top-bar .woocommerce-mini-cart__empty-message {
	margin: 0;
	font-size: 14px;
}

/* --- Bouton Votre compte --- */
.sadpad-top-bar .account-trigger {
	display: flex;
	align-items: center;
	gap: 7px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 3px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	padding: 6px 14px;
	cursor: pointer;
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.sadpad-top-bar .account-trigger:hover,
.sadpad-top-bar .account-trigger:focus {
	background: #f5c518;
	border-color: #f5c518;
}

/* Woocommerce */
nav.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding:  10px 0;
	list-style-type: none;
}
nav.woocommerce-MyAccount-navigation li {
	padding: 10px 20px;
	list-style-type: none;
}
.woocommerce .quantity .qty {
	width: 80px;
	height: 42px;
	text-align: center;
	padding: 0;
}
/* Sélecteur de quantité des blocs WooCommerce (panier et commande) */
.wc-block-components-quantity-selector:where(:has(input:not([type=hidden]))) {
	width: 140px;
}
.wc-block-components-totals-item__description small {
	font-size: 100%;
}
.woocommerce div.product form.cart .variations label {
	font-weight: 700;
	text-align: left;
	line-height: 24px;
	display: inline-block;
}
.woocommerce div.product form.cart .variations select {
	padding: 10px;
}
/* Mention sous le montant facturé, dans le sélecteur de formule de WPSubscription */
span.subscrpt-buybox__recurrent {
	display: block;
	color: #666;
	font-size: 15px;
	margin-top: 10px;
}
/* Titre des produits dans les listings boutique */
h2.woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--raleway);
	line-height: 1.5;
}
.woocommerce .site-main {
	padding: 0 5%;
}
.woocommerce-page article {
	margin: 0;
}
.woocommerce-page main {
	padding: 50px 5%;
}
/* Page des abonnements du compte client */
.woocommerce-subscriptions main {
	padding: 50px 5%;
}
/*
 * Bandeaux d'information WooCommerce et mention sans commentaire.
 * « body » devant : le thème parent imprime la couleur d'accent sur ces mêmes
 * sélecteurs dans un <style> en wp_head, après cette feuille.
 */
body .woocommerce-info, body .woocommerce-noreviews, body .woocommerce-message, body p.no-comments {
	background-color: #0d1e56;
}

/*--- Nextend Social Login ----*/
.lwa div.nsl-container .nsl-button-default div.nsl-button-label-container {
	font-size: 15px;
	font-family: inherit;
	padding: 11px 0;
	letter-spacing: 0.8px;
}
div.nsl-container.nsl-container-block .nsl-container-buttons {
	width: 100%;
	padding: 4px 0;
}
.lwa #nsl-custom-login-form-main .nsl-container-login-layout-below, .lwa #nsl-custom-login-form-1 .nsl-container-embedded-login-layout-below {
	padding: 0;
}
.nsl-button.nsl-button-default.nsl-button-twitter {
	border-radius: 0;
}

/* Pricing */
figure.table-price {
	margin:0 2%;
	font-size: 15px;
}
figure.table-price tr td:first-child {
	width: 35%;
}

/* lightbox */
.sadpad-lb{
	position:fixed;
	right:24px;
	bottom:24px;
	z-index:99998;
	width:320px;
	max-width:calc(100vw - 32px);
	box-sizing:border-box;
	padding:22px 22px 20px;
	background:#ffffff;
	color:#000;
	border:1px solid rgba(0,0,0,.06);
	border-radius:14px;
	box-shadow:0 12px 40px rgba(0,0,0,.16);
	font-family:inherit;
	line-height:1.4;
	animation:sadpad-lb-in .45s cubic-bezier(.2,.8,.2,1) both;
	animation-delay:.6s;
}
.sadpad-lb[hidden]{display:none;}

/* Empilement : la seconde lightbox se pose au-dessus de la première.
   Le conteneur porte le positionnement fixe, les boîtes se contentent
   de s'empiler dedans — leur hauteur peut donc varier librement. */
.sadpad-lb-stack{
	position:fixed;
	right:24px;
	bottom:24px;
	z-index:99998;
	display:flex;
	flex-direction:column;
	gap:12px;
	width:320px;
	max-width:calc(100vw - 32px);
}
.sadpad-lb-stack .sadpad-lb{
	position:static;
	width:100%;
	max-width:none;
}
.sadpad-lb *{box-sizing:border-box;}

.sadpad-lb__eyebrow{
	margin:0 0 6px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.sadpad-lb__title{
	margin:0 0 16px;
	font-size:12px;
	padding-right:18px;
}
.sadpad-lb__btn{
	display:block;
	width:100%;
	padding:13px 16px;
	background: #0AA8A5;
	color:#FFF!important;
	border-radius:50px;
	font-size:14px;
	font-weight:600;
	text-align:center;
	text-decoration:none!important;
	transition:transform .15s ease, opacity .15s ease;
}
.sadpad-lb__btn:hover{
	opacity: .88;
	transform:translateY(-1px);
}
.sadpad-lb__btn:focus-visible,
.sadpad-lb__close:focus-visible {
	outline:2px solid #000;
	outline-offset:3px;
}

.sadpad-lb__close{
	position:absolute;
	top:10px;
	right:10px;
	width:28px;
	height:28px;
	padding:0;
	display:flex;
	align-items:center;
	justify-content:center;
	background:none;
	border:0;
	border-radius:50%;
	color: #000;
	cursor:pointer;
}
.sadpad-lb__close:hover{
	background:rgba(0,0,0,.06);
	color:#000;
}
.sadpad-lb__close svg{
	width:16px;
	height:16px;
	fill:none;
}
@keyframes sadpad-lb-in{
	from{
		opacity:0;
		transform:translateY(16px);
	}
	to{
		opacity:1;
		transform:none;
	}
}

@supports(padding:max(0px))
{
	.sadpad-lb,
	.sadpad-lb-stack {
		bottom:max(24px, env(safe-area-inset-bottom));
	}
}

@media (prefers-reduced-motion:reduce){
	.sadpad-lb{
		animation:none;
	}
	.sadpad-lb__btn { transition:none; 
	}
}

/* Responsivité pour tablettes et mobiles */
@media (max-width: 1024px) {
	h1 {
		font-size: 24px;
	}
	h2 {
		font-size: 28px;
	}
	.header-content-wrapper {
		background-image:none;
	}
	#primary-menu .wp-block-button .wp-block-button__link {
		max-height: fit-content;
	}
	.sadpad-grid-container {
		grid-template-columns: repeat(2, 1fr);
	}
	.row-group, .field-item {
		flex-direction: column;
		margin-bottom: 5px;
		gap:5px;
	}
	footer.site-footer {
		padding: 40px 5% 0;
	}

	.widget-column {
		border-right: 0 solid #a7a6fd33 !important;
	}
	.single-kpis {
		grid-template-columns: repeat(2, 1fr);
	}
	.single-content-layout {
		grid-template-columns: 1fr;
	}
	.single-sidebar {
		position: static;
	}
	.sadpad-sizer,
	.sadpad-card {
		width: 50%;
	}
	.sadpad-partenaires {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* DearFlip */
._df_book {
	max-width: 900px;
}

/* Prix barré et prix remisé par le code promo, sur la fiche produit */
.sadpad-prix-promo del,
.sadpad-prix-promo del * {
	opacity: .6;
	text-decoration: line-through;
}
.sadpad-prix-promo del {
	margin-right: .5rem;
}
.sadpad-prix-promo ins {
	text-decoration: none;
	font-weight: 700;
}

/* Bandeau du code promo, sous le prix de la fiche produit */
.sadpad-code-promo {
	background: #0aa8a51a;
	border: 1px solid #0aa8a5;
	border-radius: .5rem;
	color: #0d1e56;
	font-weight: 700;
	margin: 0 0 1rem;
	padding: 10px 14px;
}

/* Adaptabilité mobile */
@media (max-width: 864px) {
	.main-navigation-container {
    height: 60px;
	}
	.main-navigation-container .header-content-wrapper {
		background-image: none;
	}
	.main-navigation-container .header-content-wrapper {
    flex-direction: row;
		height: 60px;
	}
	.site-branding .site-description {
		display: none;
	}
	.admin-bar.fix-header .sadpad-top-bar {
    top: 0;
}
	.fix-header .main-navigation {
    position: static;
}
	.fix-header .sadpad-top-bar .site-title a {
		display:none;
	}
	.fix-header .main-navigation-container {
    position: fixed;
    top: 44px;
    background: #d8e8e7;
}
	.site-branding .site-title {
		min-width: 120px;
	}
	.site-branding {
		max-width: 220px;
	}
	.main-navigation {
		justify-content: right;
		background: transparent;
		width: auto;
		color: inherit;
		margin-top: 0;
	}
	.main-navigation {
		background: transparent;
		color: #000;
		text-align: right;
	}
	.register p {
		flex-direction: column;
	}
	.register input.wpcf7-email {
		width: -webkit-fill-available;
		margin-bottom: 20px;
	}
	.register input[type="submit"] {
		border-radius: 50px;
	}
	.sadpad-masonry {
		column-count: 1;
	}
	.sadpad-sizer,
	.sadpad-card {
		width:100%;
	}
	.sadpad-partenaires {
		grid-template-columns: 1fr;
	}
	.single-kpis {
		grid-template-columns: 1fr;
	}
	.single-hero h1 {
		font-size: 40px;
	}
	.annonces-grid {
		grid-template-columns: 1fr;
	}

	.filters form {
		grid-template-columns: 1fr;
	}
	/* lightbox */
	.sadpad-lb{
		right:12px;
		left:12px;
		bottom:12px;
		width:auto;
		padding:18px 18px 16px;
	}
	.sadpad-lb-stack{
		right:12px;
		left:12px;
		bottom:12px;
		width:auto;
	}
}
@media (max-width:500px) {
	body.isOpen #bar-menu {
			left: 0;
	}
	body #bar-menu {
		width: 100%;
	}
}