/*
Theme Name: Blocksy Child
Description: Blocksy Child theme
Author: Creative Themes
Template: blocksy
Text Domain: blocksy
*/

/* Masquer la sidebar sur mobile */
@media (max-width: 768px) {
    .ct-acount-nav {
        display: none !important;
    }
}

/* Footer */
#footer [data-id="text"] h3 {
    font-size: 17px;
    margin-bottom: 5px;
}

#b2bking_request_custom_quote_button,
.b2bking_add_cart_to_purchase_list_button {
    float: left;
    margin-right: 10px;
    clear: none;
}

/* Masquer les messages natifs WooCommerce et le bouton SalesKing */
.woocommerce-account :not([class*="endpoint"]) .woocommerce-MyAccount-content>p,
.woocommerce-account :not([class*="endpoint"]) .salesking_go_to_agent_dashboard {
    display: none;
}

/* Protection : On s'assure que les paragraphes à l'intérieur de vos blocs personnalisés restent visibles */
.custom-dashboard-hero p,
.account-search-header p {
    display: block;
}

/* Recherche */
.wp-block-search__inside-wrapper {
    display: flex;
    width: 100%;
    max-width: 100%;
    height: 50px;
    padding: 5px;
    align-items: center;
    background-color: #f7f7f7;
    border-radius: 100px;
}

.wp-block-search__input {
    color: #AFB3B6;
    font-family: "Titillium Web", sans-serif !important;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    background: transparent;
    border: none;
    flex: 1;
}

.wp-block-search__input::placeholder {
    color: #AFB3B6;
}

.wp-block-search__button {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    padding: 5px !important;
    margin-right: 5px !important;
    border-radius: 50% !important;
    background-color: #4A4A4A !important;
    flex-shrink: 0;
    transition: background-color 0.3s ease;
}

.wp-block-search__button:hover {
    background-color: var(--theme-palette-color-2) !important;
}

/* Inverse bannière actu et recherche */
.woocommerce-MyAccount-content {
    display: flex;
    flex-direction: column;
}

.custom-dashboard-hero {
    order: -1;
}

.account-search-header {
    order: 0;
    margin-bottom: 50px;
}

/* Forcer la sidebar à s'étirer verticalement jusqu'au footer sans rogner le haut/gauche */
.woocommerce-account .ct-woo-account {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
}

.woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
}

/* Sidebar */
.ct-acount-nav {
    background-color: #f7f7f7;
    margin-left: -10%;
    padding-left: 100px;
    padding-right: 50px;
    margin-top: -60px;
    padding-top: 50px;
    padding-bottom: 60px;
    border-radius: 0px;
    width: 373px;
    position: relative;
}

/* Extension du fond gris vers le bas uniquement */
.ct-acount-nav::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 10000px;
    background-color: #f7f7f7;
    z-index: -1;
    pointer-events: none;
}

/* Réduire l'interligne dans onglets Mon Compte */
.woocommerce-MyAccount-navigation ul li a {
    font-family: "Titillium Web", sans-serif;
    font-weight: 600;
    line-height: 20px;
    padding-left: 35px;
    position: relative;
}

/* Masquer les anciennes icônes WooCommerce/thème par défaut */
.woocommerce-MyAccount-navigation ul li a svg,
.woocommerce-MyAccount-navigation ul li a i {
    display: none !important;
}

/* Masquer les icônes par défaut du thème au niveau du li */
.woocommerce-MyAccount-navigation ul li::before {
    display: none !important;
}

/* Masquer TOUTES les icônes par défaut de "Mes commandes" - règles ultra-spécifiques */
.woocommerce-MyAccount-navigation-link--orders::before,
.woocommerce-MyAccount-navigation-link--orders svg,
.woocommerce-MyAccount-navigation-link--orders i,
li.woocommerce-MyAccount-navigation-link--orders::before,
li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--orders::before {
    content: none !important;
    display: none !important;
    background: none !important;
    visibility: hidden !important;
}

/* Reset total de TOUS les ::before et ::after sur "Mes commandes" sauf notre icône */
.woocommerce-MyAccount-navigation-link--orders *:not(a)::before,
.woocommerce-MyAccount-navigation-link--orders *:not(a)::after {
    content: none !important;
    display: none !important;
}

/* Masquer le lien Conversations dans la sidebar */
.woocommerce-MyAccount-navigation-link--conversations {
    display: none !important;
}

/* Affichage des icônes personnalisées */
.woocommerce-MyAccount-navigation-link--simulateur a::before,
.woocommerce-MyAccount-navigation-link--shop-direct a::before,
.woocommerce-MyAccount-navigation-link--shop-detail a::before,
.woocommerce-MyAccount-navigation-link--simulations a::before,
.woocommerce-MyAccount-navigation-link--orders a::before,
.woocommerce-MyAccount-navigation-link--quotes a::before,
.woocommerce-MyAccount-navigation-link--modules-formation a::before,
.woocommerce-MyAccount-navigation-link--tutoriel-oplead a::before,
.woocommerce-MyAccount-navigation-link--fiches-techniques a::before,
.woocommerce-MyAccount-navigation-link--docs-marketing a::before,
.woocommerce-MyAccount-navigation-link--sav-reclamations a::before,
.woocommerce-MyAccount-navigation-link--garantie-chantier a::before {
    display: inline-block !important;
    visibility: visible !important;
}

/* Masquer toute icône SVG dans "Mes commandes" */
.woocommerce-MyAccount-navigation-link--orders a svg,
.woocommerce-MyAccount-navigation-link--orders a svg *,
.woocommerce-MyAccount-navigation-link--orders svg,
.woocommerce-MyAccount-navigation-link--orders svg * {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Arrière-plan des articles spécifiques */
div.alignfull article#post-1947,
div.alignfull article#post-1798,
div.alignfull article#post-1804,
div.alignfull article#post-1960,
div.alignfull article#post-1962 {
    background-color: #f7f7f7;
    padding: 30px;
}

div.alignfull article#post-1935 {
    background-color: #fafafa !important;
    padding: 30px;
    margin-top: -20px !important;
}

/* Styles pour les onglets (Greenshift Tabs) sur la page OPLEAD */
#post-1935 .gspb-tabs {
    border: none !important;
    box-shadow: none !important;
}

#post-1935 .t-btn-container {
    display: flex;
    gap: 2px;
    /* Petit espace blanc entre onglets */
    border: none !important;
    background: transparent !important;
}

#post-1935 .t-btn {
    border: none !important;
    background-color: #f7f7f7 !important;
    border-radius: 0 !important;
    padding: 10px 20px;
    box-shadow: none !important;
}

#post-1935 .t-btn.active {
    background-color: #ffffff !important;
    border-bottom: 2px solid var(--theme-palette-color-2) !important;
    /* Bordure dorée dessous */
    box-shadow: none !important;
}

#post-1935 .t-btn.active .tabtitlelabel {
    color: var(--theme-palette-color-2) !important;
}

#post-1935 .t-panel-container {
    border: none !important;
    /* Supprime bord gris dessous et sur les côtés */
    background-color: #ffffff;
    box-shadow: none !important;
}

/* Style par défaut pour les sections Media & Text sur la page OPLEAD */
#post-1935 .wp-block-media-text {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    border: none !important;
    display: grid !important;
    grid-template-columns: 1fr 95px !important;
}

/* Alignement du texte pour les sections sans fond (ex: Suivi du projet) */
#post-1935 .wp-block-media-text:not(:has(strong)) .wp-block-media-text__content {
    padding-left: 0 !important;
    text-align: left !important;
}

/* Style spécifique pour les sections "À SAVOIR !" */
#post-1935 .wp-block-media-text:has(strong) {
    background-color: #f7f7f7 !important;
    padding: 30px !important;
    margin-top: 60px !important;
    position: relative;
}

#post-1935 .wp-block-media-text:has(strong) .wp-block-media-text__content {
    text-align: left !important;
    padding-left: 0 !important;
    z-index: 5;
}

#post-1935 .wp-block-media-text:has(strong) .wp-block-media-text__content p:first-child {
    margin-top: 0 !important;
}

#post-1935 .wp-block-media-text:has(strong) .wp-block-media-text__content p:first-child strong {
    background-color: var(--theme-palette-color-2);
    color: #ffffff;
    padding: 6px 20px;
    border-radius: 50px;
    font-size: 13px;
    display: inline-block;
    font-weight: 600;
    position: absolute;
    top: -15px;
    left: 30px;
    z-index: 10;
}

#post-1935 .wp-block-greenshift-blocks-tab h3 {
    margin-top: 50px !important;
    /* Espace au dessus de tous les titres dans l'accordéon */
}

/* --- RÉINITIALISATION POUR L'ONGLET SPÉCIFIQUE (STATUS) --- */
#post-1935 #gspb-tab-item-content-gsbp-1e420a1-2 .wp-block-media-text {
    background-color: transparent !important;
    padding: 0 !important;
    margin-top: 30px !important;
    position: static !important;
    grid-template-columns: unset !important;
    column-gap: 40px !important;
    /* Espace horizontal entre l'image et le texte */
}

#post-1935 #gspb-tab-item-content-gsbp-1e420a1-2 .wp-block-media-text .wp-block-media-text__content p:first-child strong {
    background-color: transparent !important;
    color: inherit !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-size: inherit !important;
    display: inline !important;
    position: static !important;
    margin: 0 !important;
}

#post-1935 #gspb-tab-item-content-gsbp-1e420a1-2 .wp-block-media-text__media,
#post-1935 #gspb-tab-item-content-gsbp-1e420a1-2 .wp-block-media-text__media img {
    width: 248px !important;
    min-width: 248px !important;
}

/* Nouveau bloc Greenshift spécifique (Liste sans image) */
#post-1935 #gspb_col-id-gsbp-4a7733f {
    background-color: #f7f7f7 !important;
    padding: 30px !important;
    margin-top: 60px !important;
    margin-bottom: 30px !important;
    position: relative;
    border: none !important;
}

#post-1935 #gspb_col-id-gsbp-4a7733f p#a-savoir {
    margin-top: 0 !important;
    margin-bottom: 25px !important;
}

#post-1935 #gspb_col-id-gsbp-4a7733f p#a-savoir strong {
    background-color: var(--theme-palette-color-2);
    color: #ffffff;
    padding: 6px 20px;
    border-radius: 50px;
    font-size: 13px;
    display: inline-block;
    font-weight: 600;
    position: absolute;
    top: -15px;
    left: 30px;
    z-index: 10;
}

/* Espacement entre les points de liste sur la page OPLEAD */
#post-1935 ul.wp-block-list>li {
    margin-bottom: 25px !important;
}

#post-1935 ul.wp-block-list>li:last-child {
    margin-bottom: 0 !important;
}

#post-1935 .wp-block-media-text__media,
#post-1935 .wp-block-media-text__media img {
    width: 95px !important;
    height: auto !important;
    min-width: 95px !important;
    padding: 0 !important;
}

/* Police Titillium Web pour la page OPLEAD (sauf phrase de description) */
article#post-1935 *:not(.wp-elements-49646afbada5c229066869df3b0f01c9) {
    font-family: "Titillium Web", sans-serif !important;
}

/* Police Inter pour la phrase de description */
article#post-1935 p.wp-elements-49646afbada5c229066869df3b0f01c9 {
    font-family: "Inter", sans-serif !important;
}

/* Aligne le texte à gauche à l'intérieur des boutons de cet article spécifique */
#post-1947 .wp-block-button__link {
    text-align: left;
}

/* Onglet actif */
.woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: transparent;
    color: var(--theme-palette-color-2);
}

.woocommerce-MyAccount-navigation ul li a:hover {
    background-color: transparent;
    color: #9D8964;
}

/* Couleur dorée au survol et actif des icônes */
.woocommerce-MyAccount-navigation ul li a:hover::before,
.woocommerce-MyAccount-navigation ul li.is-active a::before {
    filter: brightness(0) saturate(100%) invert(60%) sepia(15%) saturate(800%) hue-rotate(8deg) brightness(95%) contrast(85%);
}

/* Trait au dessus de déconnexion */
.menu-item-logout-with-separator {
    border-top: 2px solid var(--theme-palette-color-2);
    margin-top: 20px;
    padding-top: 40px;
}

/* Style du bouton déconnexion */
.woocommerce-MyAccount-navigation-link--customer-logout a.wp-block-button__link,
.woocommerce-MyAccount-navigation-link--customer-logout a.wp-block-button__link:hover {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    background-color: var(--theme-palette-color-2);
    color: #ffffff;
    border: none;
    box-shadow: none;
    transform: none;
    transition: none;
    padding-left: 20px;
    padding-right: 20px;
}

/* Icône à droite du bouton déconnexion */
.woocommerce-MyAccount-navigation-link--customer-logout a.wp-block-button__link::after {
    content: '';
    display: inline-block;
    width: 13.875px;
    height: 13.876px;
    background-image: url('https://resineoextranet.kinsta.cloud/vector-6/');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 10px;
    filter: brightness(0) invert(1);
}

/* Masquer l'icône déconnexion par défaut */
.woocommerce-MyAccount-navigation-link--customer-logout a svg,
.woocommerce-MyAccount-navigation-link--customer-logout a i {
    display: none;
}

/* En-tête du compte */
.ct-account-welcome .ct-account-user-box {
    font-size: 20px;
    font-weight: 700;
}

.ct-account-welcome {
    padding-left: 0px;
}

/* Conteneur des boutons Profil et Tableau de bord - dans l'en-tête uniquement */
.ct-account-welcome .wp-block-buttons.is-layout-flex {
    display: flex;
    flex-direction: row;
    width: 230px;
    align-items: flex-start;
    gap: 15px;
}

/* Styles des boutons Profil et Tableau de bord - dans l'en-tête uniquement */
.ct-account-welcome .wp-block-buttons .wp-block-button a.wp-block-button__link,
.ct-account-welcome .wp-block-buttons .wp-block-button a.wp-element-button {
    display: flex;
    height: 35px;
    padding: 0 10px;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
    color: #FFF !important;
    text-align: left;
    font-family: "Titillium Web", sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: 30px;
    letter-spacing: 0.44px;
    text-transform: uppercase;
    position: relative;
    padding-left: 35px !important;
}

/* Icône Profil (blanche) - dans l'en-tête uniquement */
.ct-account-welcome .wp-block-buttons .wp-block-button a[href*="edit-account"]::before {
    content: '';
    display: inline-block;
    width: 13.875px;
    height: 13.876px;
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Group.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

/* Icône Tableau de bord (blanche) - dans l'en-tête uniquement */
.ct-account-welcome .wp-block-buttons .wp-block-button a[href$="/my-account/"]::before {
    content: '';
    display: inline-block;
    width: 13.875px;
    height: 13.876px;
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Group-1005.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

/* Empêcher le filtre doré au survol - dans l'en-tête uniquement */
.ct-account-welcome .wp-block-buttons .wp-block-button a:hover::before {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%) !important;
}

/* Icônes des onglets de navigation */
.woocommerce-MyAccount-navigation ul li a::before {
    content: '';
    display: inline-block;
    width: 13.875px;
    height: 13.876px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* Simuler un chantier */
.woocommerce-MyAccount-navigation-link--simulateur a::before {
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Calque_1.svg');
}

/* Passer une commande */
.woocommerce-MyAccount-navigation-link--shop-direct a::before,
.woocommerce-MyAccount-navigation-link--shop-detail a::before {
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Calque_1-1.svg');
}

/* Mes simulations */
.woocommerce-MyAccount-navigation-link--simulations a::before {
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Vector.svg');
}

/* Mes commandes */
.woocommerce-MyAccount-navigation-link--orders a::before {
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Calque_1-2.svg') !important;
    content: '' !important;
}

/* Modules de formation */
.woocommerce-MyAccount-navigation-link--modules-formation a::before {
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Vector-1.svg');
}

/* Tutoriel Oplead */
.woocommerce-MyAccount-navigation-link--tutoriel-oplead a::before {
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Vector-2.svg');
}

/* Documents techniques */
.woocommerce-MyAccount-navigation-link--fiches-techniques a::before {
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Vector-3.svg');
}

/* Documents Marketing & Commerciaux */
.woocommerce-MyAccount-navigation-link--docs-marketing a::before {
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Group-1.svg');
}

/* Service Après-Vente & Réclamations */
.woocommerce-MyAccount-navigation-link--sav-reclamations a::before {
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Group-992.svg');
}

/* Garantie & Déclaration de chantier */
.woocommerce-MyAccount-navigation-link--garantie-chantier a::before {
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Vector-4.svg');
    filter: brightness(0) saturate(100%) invert(31%) sepia(0%) saturate(0%) hue-rotate(180deg) brightness(95%) contrast(88%);
}


/* Filtres dans les onglets */
.gspb_filter_panel .gspb_filter_ul {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.gspb_filter_panel .gspb_filter_ul li.inlinestyle span.gspb_filtersort_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 35px;
    padding: 0 25px;
    background-color: #ffffff;
    color: var(--theme-palette-color-7);
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
    font-family: "Titillium Web", sans-serif;
    line-height: normal;
    letter-spacing: 0.04em;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.gspb_filter_panel .gspb_filter_ul li.inlinestyle span.gspb_filtersort_btn.active {
    background-color: var(--theme-palette-color-7);
    color: #ffffff;
}

.gspb_filter_panel .gspb_filter_ul li.inlinestyle span.gspb_filtersort_btn:hover {
    background-color: var(--theme-palette-color-7);
    color: #ffffff;
    opacity: 0.9;
}

.gspb_filter_panel .gspb_filter_ul li.inlinestyle span.gspb_filtersort_btn:not(.resort_0)::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-left: 15px;
    background-color: currentColor;
    -webkit-mask-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/02/Vector.png');
    mask-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/02/Vector.png');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.gspb_filter_panel {
    box-shadow: none;
}

/* Espacement entre le texte et l'icône de droite dans le menu principal */
#menu-main-menu .ct-icon-container.ct-right {
    margin-left: 13.33px;
}

/* Styles spécifiques pour la page SAV - Titres des procédures */
article#post-1960 p#procedure-de-reclamation-transport {
    color: #4E4E4E;
    font-family: "Titillium Web", sans-serif;
    font-size: 18px !important;
    font-style: normal;
    font-weight: 600;
    line-height: 25px;
    margin-bottom: 0;
}

/* Styles spécifiques pour la page SAV - Descriptions lorem ipsum */
article#post-1960 p.has-palette-color-2-color {
    color: #9D8964;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    margin-top: 0;
}

/* Styles spécifiques pour la page Documents Marketing & Commerciaux - Titres */
article#post-1962 p#procedure-de-reclamation-transport {
    color: #4E4E4E;
    font-family: "Titillium Web", sans-serif;
    font-size: 18px !important;
    font-style: normal;
    font-weight: 600;
    line-height: 25px;
    margin-bottom: 0;
}

/* Styles spécifiques pour la page Documents Marketing & Commerciaux - Descriptions */
article#post-1962 p.has-palette-color-2-color {
    color: #9D8964;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    margin-top: 0;
}

/* Conteneur des boutons de la page Garantie - disposition horizontale */
article#post-1947 .wp-block-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

/* Positionnement relatif pour les boutons Garantie (pour icônes) */
article#post-1947 .wp-block-button a.wp-block-button__link {
    position: relative;
    padding-right: 30px;
}

/* Icône à droite des boutons de la page Garantie */
article#post-1947 .wp-block-button a.wp-block-button__link::after {
    content: '';
    display: inline-block;
    width: 8.462px;
    height: 8.46px;
    background-image: url('https://resineoextranet.kinsta.cloud/wp-content/uploads/2026/01/Vector-7.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 10px;
}

/* Taille fixe des icônes du menu principal pour les uniformiser */
#menu-main-menu .ct-icon-container svg {
    width: 8px !important;
    height: 8px !important;
}

/* --- FORMULAIRE DÉCLARATION DE CHANTIER (WS FORM) --- */

/* Conteneur principal du formulaire */
[data-id="45"].wsf-form,
[data-id="49"].wsf-form {
    font-family: "Titillium Web", sans-serif;
    background-color: #ffffff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    margin-top: 20px;
}

/* --- STEPPER PERSONNALISÉ (ONGLETS) --- */

.wsf-form[data-id="45"] .wsf-group-tabs,
.wsf-form[data-id="49"] .wsf-group-tabs {
    display: flex !important;
    justify-content: center !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    margin-bottom: 60px !important;
    padding: 0 !important;
    gap: 0 !important;
    counter-reset: wsf-step;
    list-style: none !important;
    position: relative !important;
    overflow: visible !important;
}

.wsf-form[data-id="45"] .wsf-group-tab,
.wsf-form[data-id="49"] .wsf-group-tab {
    flex: 1 !important;
    position: relative !important;
    text-align: center !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Suppression des cercles/croix/check par défaut de WS Form */
.wsf-form[data-id="45"] .wsf-group-tab::before,
.wsf-form[data-id="45"] .wsf-group-tab::after,
.wsf-form[data-id="45"] .wsf-group-tab a::after,
.wsf-form[data-id="49"] .wsf-group-tab::before,
.wsf-form[data-id="49"] .wsf-group-tab::after,
.wsf-form[data-id="49"] .wsf-group-tab a::after {
    display: none !important;
    content: none !important;
}

/* Ligne de connexion grise */
.wsf-form[data-id="45"] .wsf-group-tab:not(:last-child)::after,
.wsf-form[data-id="49"] .wsf-group-tab:not(:last-child)::after {
    display: block !important;
    content: '' !important;
    position: absolute !important;
    top: 25px !important;
    /* Milieu du cercle (50px / 2) */
    left: 50% !important;
    width: 100% !important;
    height: 1px !important;
    background-color: #cccccc !important;
    z-index: 0 !important;
    border: none !important;
}

.wsf-form[data-id="45"] .wsf-group-tab a,
.wsf-form[data-id="49"] .wsf-group-tab a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 5 !important;
    color: var(--theme-palette-color-2) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    cursor: default !important;
    box-shadow: none !important;
}

/* Le cercle numéro doré/gris - Utilisation de compteurs CSS sur l'élément li */
.wsf-form[data-id="45"] .wsf-group-tab,
.wsf-form[data-id="49"] .wsf-group-tab {
    counter-increment: wsf-step !important;
}

.wsf-form[data-id="45"] .wsf-group-tab a::before,
.wsf-form[data-id="49"] .wsf-group-tab a::before {
    content: counter(wsf-step) !important;
    width: 50px !important;
    height: 50px !important;
    line-height: 50px !important;
    border-radius: 50% !important;
    background-color: #cccccc !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-bottom: 15px !important;
    z-index: 2 !important;
    position: relative !important;
    display: block !important;
    transition: background-color 0.3s ease !important;
    border: none !important;
    z-index: 10 !important;
}

/* État Actif : Cercle Doré */
.wsf-form[data-id="45"] .wsf-group-tab.wsf-tab-active a::before,
.wsf-form[data-id="49"] .wsf-group-tab.wsf-tab-active a::before {
    background-color: var(--theme-palette-color-2) !important;
}

/* Label sous le cercle */
.wsf-form[data-id="45"] .wsf-group-tab a span,
.wsf-form[data-id="49"] .wsf-group-tab a span {
    display: block !important;
    max-width: 180px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    color: var(--theme-palette-color-2) !important;
    font-family: "Titillium Web", sans-serif !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

/* --- CHAMPS ET LABELS --- */

/* Couleur des séparateurs (dividers) */
[data-id="45"] hr.wsf-field,
[data-id="49"] hr.wsf-field {
    border: none !important;
    border-top: 1px solid #cccccc !important;
    margin: 30px 0 !important;
    opacity: 1 !important;
    background: transparent !important;
    height: 1px !important;
}

[data-id="45"] .wsf-label,
[data-id="49"] .wsf-label {
    display: block;
    font-family: "Titillium Web", sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #4f4f4f;
    margin-bottom: 8px;
    margin-top: 15px;
}

[data-id="45"] .wsf-required-wrapper .wsf-text-danger,
[data-id="49"] .wsf-required-wrapper .wsf-text-danger {
    color: var(--theme-palette-color-2);
}

/* Champs de saisie (Input, Select, Textarea) - EXCLURE Checkbox/Radio */
[data-id="45"] .wsf-field:not([type="checkbox"]):not([type="radio"]):not(hr),
[data-id="49"] .wsf-field:not([type="checkbox"]):not([type="radio"]):not(hr) {
    width: 100%;
    padding: 12px 15px;
    font-family: "Titillium Web", sans-serif;
    font-size: 15px;
    color: #4f4f4f;
    background-color: #fafafa;
    border: 1px solid #cccccc;
    border-radius: 0 !important;
    /* Coins carrés pour tous les champs */
    transition: all 0.3s ease;
    box-sizing: border-box;
}

[data-id="45"] .wsf-field:not([type="checkbox"]):not([type="radio"]):focus,
[data-id="49"] .wsf-field:not([type="checkbox"]):not([type="radio"]):focus {
    border-color: var(--theme-palette-color-2);
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(158, 138, 101, 0.15);
    outline: none;
}

[data-id="45"] select.wsf-field,
[data-id="49"] select.wsf-field {
    cursor: pointer;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%239e8a65%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: right 15px top 50%;
    background-size: 12px auto;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 30px;
}

/* --- BOUTONS --- */

[data-id="45"] button.wsf-button,
[data-id="49"] button.wsf-button {
    font-family: "Titillium Web", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    padding: 12px 30px;
    border: none;
    border-radius: 0 !important;
    cursor: pointer;
    transition: none !important;
    letter-spacing: 0.5px;
    font-size: 14px;
    margin-top: 25px;
}

/* Boutons d'action principale - Pas d'effet de survol */
[data-id="45"] button.wsf-button[data-action="wsf-tab_next"],
[data-id="45"] button[type="submit"],
[data-id="45"] button.wsf-button-primary,
[data-id="49"] button.wsf-button[data-action="wsf-tab_next"],
[data-id="49"] button[type="submit"],
[data-id="49"] button.wsf-button-primary {
    background-color: var(--theme-palette-color-2) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
    border: none !important;
    border-color: transparent !important;
    outline: none !important;
}

[data-id="45"] button.wsf-button[data-action="wsf-tab_next"]:hover,
[data-id="45"] button[type="submit"]:hover,
[data-id="45"] button.wsf-button-primary:hover,
[data-id="49"] button.wsf-button[data-action="wsf-tab_next"]:hover,
[data-id="49"] button[type="submit"]:hover,
[data-id="49"] button.wsf-button-primary:hover {
    background-color: var(--theme-palette-color-2) !important;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* Bouton Précédent */
[data-id="45"] button.wsf-button[data-action="wsf-tab_previous"],
[data-id="49"] button.wsf-button[data-action="wsf-tab_previous"] {
    background-color: transparent !important;
    color: var(--theme-palette-color-2) !important;
    border: 1px solid var(--theme-palette-color-2) !important;
    border-radius: 0 !important;
}

[data-id="45"] button.wsf-button[data-action="wsf-tab_previous"]:hover,
[data-id="49"] button.wsf-button[data-action="wsf-tab_previous"]:hover {
    background-color: transparent !important;
    color: var(--theme-palette-color-2) !important;
}

/* Checkboxes et Radios personnalisés */
[data-id="45"] input[type="checkbox"].wsf-field,
[data-id="45"] input[type="radio"].wsf-field,
[data-id="49"] input[type="checkbox"].wsf-field,
[data-id="49"] input[type="radio"].wsf-field {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border: 1px solid #cccccc !important;
    background-color: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

[data-id="45"] input[type="radio"].wsf-field,
[data-id="49"] input[type="radio"].wsf-field {
    border-radius: 50% !important;
}

[data-id="45"] input[type="checkbox"].wsf-field {
    border-radius: 0 !important;
}

/* État coché - Fond Doré */
[data-id="45"] input[type="checkbox"].wsf-field:checked,
[data-id="45"] input[type="radio"].wsf-field:checked,
[data-id="49"] input[type="checkbox"].wsf-field:checked,
[data-id="49"] input[type="radio"].wsf-field:checked {
    background-color: var(--theme-palette-color-2) !important;
    border-color: var(--theme-palette-color-2) !important;
}

/* Point blanc pour radio */
[data-id="45"] input[type="radio"].wsf-field:checked::after,
[data-id="49"] input[type="radio"].wsf-field:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    display: block !important;
}

/* Coche blanche pour checkbox */
[data-id="45"] input[type="checkbox"].wsf-field:checked::after,
[data-id="49"] input[type="checkbox"].wsf-field:checked::after {
    content: '' !important;
    position: absolute !important;
    left: 6px !important;
    top: 2px !important;
    width: 6px !important;
    height: 10px !important;
    border: solid white !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
    display: block !important;
}

/* Alignement Flexbox pour les lignes Checkbox/Radio */
[data-id="45"] div[data-row-checkbox],
[data-id="45"] div[data-row-radio],
[data-id="49"] div[data-row-checkbox],
[data-id="49"] div[data-row-radio] {
    display: flex !important;
    align-items: center !important;
    /* Centrage vertical du texte par rapport au bouton */
    gap: 12px !important;
    margin-bottom: 8px !important;
}

[data-id="45"] div[data-row-checkbox] label.wsf-label,
[data-id="45"] div[data-row-radio] label.wsf-label,
[data-id="49"] div[data-row-checkbox] label.wsf-label,
[data-id="49"] div[data-row-radio] label.wsf-label {
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    line-height: normal !important;
    cursor: pointer !important;
}

/* Layout spécifique pour les boutons groupés */
[data-id="45"] .wsf-field-wrapper.wsf-bottom,
[data-id="49"] .wsf-field-wrapper.wsf-bottom {
    padding-top: 10px;
}

/* --- STYLE SIDEBAR & TABLEAU COMMANDES --- */

/* Centrer verticalement les numéros de commande */
.woocommerce-orders-table__cell,
.woocommerce-orders-table__header {
    vertical-align: middle !important;
}


/* --- STYLES FORMULAIRE PROFIL (WS FORM ID 50) & WOOCOMMERCE --- */

/* Titres des sections (Gris foncé #4e4e4e) */
.wsf-form[data-id="50"] .wsf-section .wsf-field-wrapper[data-type="texteditor"],
.woocommerce-EditAccountForm fieldset legend {
    background-color: #4e4e4e !important;
    color: #ffffff !important;
    padding: 12px 20px !important;
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    margin-bottom: 25px !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: none !important;
}

.wsf-form[data-id="50"] .wsf-section .wsf-field-wrapper[data-type="texteditor"] * {
    color: #ffffff !important;
    margin: 0 !important;
}

/* Fonds des champs (Gris très clair #fafafa) */
.wsf-form[data-id="50"] .wsf-field:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.woocommerce-EditAccountForm .input-text,
.woocommerce-EditAccountForm select {
    background-color: #fafafa !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 15px !important;
    font-family: "Titillium Web", sans-serif !important;
    font-size: 15px !important;
    color: #4e4e4e !important;
    box-shadow: none !important;
}

/* Labels */
.wsf-form[data-id="50"] .wsf-label,
.woocommerce-EditAccountForm label {
    font-family: "Titillium Web", sans-serif !important;
    font-weight: 400 !important;
    color: #4e4e4e !important;
    margin-bottom: 10px !important;
}

/* Astérisque requis (Rouge #ff4d4d) */
.wsf-form[data-id="50"] .wsf-required-wrapper .wsf-text-danger,
.woocommerce-EditAccountForm label .required,
.woocommerce-EditAccountForm label .wsf-required-wrapper .wsf-text-danger {
    color: #ff4d4d !important;
}

/* Boutons (Gris foncé #4e4e4e, Majuscules) */
.wsf-form[data-id="50"] .wsf-button,
.woocommerce-EditAccountForm .button,
.woocommerce-EditAccountForm button[type="submit"] {
    background-color: #4e4e4e !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    font-family: "Titillium Web", sans-serif !important;
    font-weight: 600 !important;
    padding: 15px 35px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: opacity 0.3s ease !important;
    font-size: 14px !important;
    height: auto !important;
    display: inline-block !important;
    width: auto !important;
}

/* Alignement des boutons à droite */
.wsf-form[data-id="50"] .wsf-field-wrapper[data-type="button"],
.woocommerce-EditAccountForm .form-row:last-of-type {
    text-align: right !important;
    display: block !important;
}

.wsf-form[data-id="50"] .wsf-button:hover,
.woocommerce-EditAccountForm .button:hover,
.woocommerce-EditAccountForm button[type="submit"]:hover {
    opacity: 0.9 !important;
    background-color: #4e4e4e !important;
}

/* Ajustements mise en page WooCommerce */
.woocommerce-EditAccountForm fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 40px 0 20px 0 !important;
    width: 100% !important;
}

.woocommerce-EditAccountForm .form-row {
    margin-bottom: 20px !important;
    width: 100% !important;
    float: none !important;
    text-align: left !important;
}

/* Alignement Partenaire Expert (Label au dessus, fond gris sur les options seulement) */
.wsf-form[data-id="50"] #wsf-1-field-wrapper-899 {
    display: block !important;
    margin-bottom: 20px !important;
    width: 100% !important;
    float: none !important;
}

.wsf-form[data-id="50"] #wsf-1-field-wrapper-899 .wsf-label {
    display: block !important;
    margin-bottom: 10px !important;
    font-size: 15px !important;
}

/* On enlève les deux points car le label est maintenant au dessus */
.wsf-form[data-id="50"] #wsf-1-label-899::after {
    content: "" !important;
}

.wsf-form[data-id="50"] #wsf-1-field-wrapper-899 [role="radiogroup"] {
    display: flex !important;
    gap: 25px !important;
    align-items: center !important;
    background-color: #fafafa !important;
    padding: 10px 15px 0 15px !important;
    /* Ajout d'un décalage vers le bas */
    height: 50px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Alignement interne des options radio Oui/Non */
.wsf-form[data-id="50"] #wsf-1-field-wrapper-899 div[data-row-radio] {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    line-height: normal !important;
}

.wsf-form[data-id="50"] #wsf-1-field-wrapper-899 div[data-row-radio] label {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Styles radios/checkboxes pour ID 50 */
[data-id="50"] input[type="radio"].wsf-field {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid #4e4e4e !important;
    background-color: #fafafa !important;
    cursor: pointer !important;
    position: relative !important;
    margin: 0 !important;
    /* Suppression de la marge qui poussait vers le bas */
    flex-shrink: 0 !important;
    display: inline-block !important;
    vertical-align: middle !important;
    border-radius: 50% !important;
}

[data-id="50"] input[type="radio"].wsf-field:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background-color: #4e4e4e !important;
    display: block !important;
}

/* Suppression des styles par défaut de WS Form qui pourraient interférer avec l'alignement */
.wsf-form[data-id="50"] .wsf-field-wrapper {
    margin-bottom: 20px !important;
}

/* Tailles des icônes œil WooCommerce */
.show-password-input {
    width: 25px !important;
    height: 25px !important;
    background-size: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.password-input {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

/* Texte de description en haut du formulaire */
.wp-elements-385bf13199ce54d39455747dc4217ce1,
.wp-elements-385bf13199ce54d39455747dc4217ce1 p {
    font-family: "Inter", sans-serif !important;
}

/* Alignement des labels et champs WooCommerce */
.woocommerce-EditAccountForm label[for="password_2"],
.woocommerce-EditAccountForm label[for="password_1"],
.woocommerce-EditAccountForm label[for="password_current"] {
    text-align: left !important;
    display: block !important;
}

.woocommerce-EditAccountForm .form-row-first,
.woocommerce-EditAccountForm .form-row-last {
    float: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Correction alignement vertical Fil d'Ariane */
nav.ct-breadcrumbs {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap;
}

nav.ct-breadcrumbs .first-item,
nav.ct-breadcrumbs .last-item,
nav.ct-breadcrumbs span[itemprop="itemListElement"] {
    display: inline-flex !important;
    align-items: center !important;
}

nav.ct-breadcrumbs a {
    display: inline-flex !important;
    align-items: center !important;
    height: auto !important;
    margin-bottom: 0 !important;
}

.wp-block-button:has(> [href*="request-quote"]) {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
}

.wp-block-button__link[href*="request-quote"] {
    margin-top: 20px !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

.woocommerce-message.woocommerce-message--info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
}

.woocommerce-message.woocommerce-message--info p {
    margin: 0 !important;
    padding: 0;
    font-family: "Titillium Web", sans-serif;
}

/* Page commande mobile */
@media screen and (max-width: 768px) {

    /* 1. On libère la largeur bloquée par le thème */
    .woocommerce-account .woocommerce-MyAccount-content,
    .woocommerce-orders-table {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        float: none !important;
    }

    /* 2. Transformation du tableau en mode "Cartes" plein écran */
    table.shop_table_responsive.my_account_orders {
        display: block !important;
        width: 100% !important;
        border: none !important;
    }

    table.shop_table_responsive.my_account_orders tbody {
        display: block !important;
        width: 100% !important;
    }

    table.shop_table_responsive.my_account_orders tr {
        display: block !important;
        width: 100% !important;
        margin-bottom: 20px !important;
        background: #fff !important;
        border: 1px solid #e5e5e5 !important;
        border-radius: 8px !important;
        padding: 15px !important;
        box-sizing: border-box !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
    }

    /* 3. Alignement des informations (Label à gauche, Valeur à droite) */
    table.shop_table_responsive.my_account_orders td,
    table.shop_table_responsive.my_account_orders th.woocommerce-orders-table__cell {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid #f3f3f3 !important;
        text-align: right !important;
        box-sizing: border-box !important;
        font-family: inherit;
    }

    /* On retire la bordure sur la dernière cellule (Actions) */
    table.shop_table_responsive.my_account_orders td:last-child {
        border-bottom: none !important;
        flex-direction: column !important;
        /* Stack les boutons verticalement */
        align-items: stretch !important;
    }

    /* Ajout des titres via data-title */
    table.shop_table_responsive.my_account_orders td::before,
    table.shop_table_responsive.my_account_orders th::before {
        content: attr(data-title) ": ";
        font-weight: 700 !important;
        text-align: left !important;
        color: #333 !important;
        flex-shrink: 0 !important;
    }

    /* 4. Spécifique aux boutons d'actions */
    .woocommerce-orders-table__cell-order-actions {
        gap: 8px;
    }

    .woocommerce-orders-table__cell-order-actions .button {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 10px !important;
    }
}

/* Message woocommerce */
.woocommerce-error li a, .woocommerce-message li a {
    margin-bottom : -20px !important;
    text-decoration: underline;
}

/* FORMULAIRE DE PROFIL CHAMPS NON MODIFIABLES */

/* Bloquer l'interaction et griser les sections non modifiables */
#wsf-1-field-wrapper-919, /* Partenaire expert */
#wsf-1-field-wrapper-867, /* Nom d'entreprise */
#wsf-1-field-wrapper-914, /* SIRET */
#wsf-1-field-wrapper-880, /* Adresse de facturation */
#wsf-1-field-wrapper-902, /* Complément d'adresse (Facturation) */
#wsf-1-field-wrapper-884, /* Code postal (Facturation) */
#wsf-1-field-wrapper-882, /* Ville (Facturation) */
#wsf-1-field-wrapper-885, /* Pays (Facturation) */
#wsf-1-field-wrapper-908, /* N° d'agrément */
#wsf-1-field-wrapper-917  /* Commercial attitré */
{
    pointer-events: none; /* Désactive le clic, le focus et la sélection */
    opacity: 0.7;         /* Aspect visuel désactivé */
    cursor: not-allowed;
}

/* Style spécifique pour les champs de saisie à l'intérieur de ces conteneurs */
#wsf-1-field-wrapper-919 .wsf-field, 
#wsf-1-field-wrapper-867 .wsf-field, 
#wsf-1-field-wrapper-914 .wsf-field, 
#wsf-1-field-wrapper-880 .wsf-field, 
#wsf-1-field-wrapper-902 .wsf-field, 
#wsf-1-field-wrapper-884 .wsf-field, 
#wsf-1-field-wrapper-882 .wsf-field, 
#wsf-1-field-wrapper-885 .wsf-field, 
#wsf-1-field-wrapper-908 .wsf-field, 
#wsf-1-field-wrapper-917 .wsf-field {
    background-color: #f8f9fa !important;
    color: #6c757d !important;
    border-color: #dee2e6 !important;
}

/* Formulaires WS Form mobile */
@media (max-width: 767px) {
    .wsf-form-canvas .wsf-grid .wsf-tile {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-bottom: 15px; 
    }
}

.woocommerce-EditAccountForm fieldset legend {
    margin-left: 0;
}

/* Mobile tutoriel Oplead */
@media (max-width: 781px) {
    #post-1935 .wp-block-media-text {
        display: block !important;
        grid-template-columns: 1fr !important;
    }
    
    #post-1935 .wp-block-media-text__content {
        width: 100% !important;
        padding-right: 0 !important;
    }

    #post-1935 .wp-block-media-text .wp-block-media-text__media {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 30px !important;
        margin-bottom: 0px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        display: block !important;
    }

    #post-1935 .wp-block-media-text .wp-block-media-text__media img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Style pour les onglets mobile */
@media (max-width: 781px) {
    .t-btn-container {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 8px !important;
    }

    .t-btn {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: block !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
}

/* Formulaire SAV mobile */
@media (max-width: 781px) {
    
    #post-1960 .wsf-steps {
        margin-bottom: 10px !important;
    }

    #post-1960 #wsf-1-field-wrapper-765 {
        display: none !important;
    }

    #post-1960 .entry-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #post-1960 .wsf-form {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    #post-1960 .wsf-section, 
    #post-1960 .wsf-grid {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #post-1960 .wsf-field-wrapper {
        padding-left: 10px !important;
        padding-right: 10px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Formulaire de déclaration de chantier mobile */
@media (max-width: 781px) {

    #ws-form-1 .wsf-group-tabs.wsf-tabs {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 0 20px 0 !important;
        border: none !important;
    }

    #ws-form-1 .wsf-group-tab {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        margin: 10px 0 !important;
        padding: 0 5px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    #ws-form-1 .wsf-group-tab::after, 
    #ws-form-1 .wsf-group-tab::before {
        display: none !important;
    }

    #ws-form-1 .wsf-group-tab a span {
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        white-space: normal !important;
        margin-top: 5px !important;
    }
}

/* SalesKing : bouton passer à l'agent quand on achète pour un client */
.salesking_bar_element strong {
			margin-left: 4px;
		}
		button#salesking_return_agent {
			min-height: 0px !important;
		}
		button#salesking_return_agent:hover {
			cursor: pointer !important;
}

/* Applicateur : bannière recherche et actualités */
.custom-dashboard-hero .alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}
.wp-block-search__button {
    flex-shrink: 0 !important;
    aspect-ratio: 1 / 1 !important;
}
.woocommerce-MyAccount-content { overflow-x: hidden !important; }

/* Image boutique responsive */
@media (max-width: 767px) {
    #gspb_container-id-gsbp-f090bc1 figure,
    #gspb_container-id-gsbp-f090bc1 img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* Empiler les champs de réinitialisation de mot de passe verticalement */
.woocommerce-ResetPassword .form-row-first, 
.woocommerce-ResetPassword .form-row-last {
    width: 100% !important;
}

/* Corriger affichage erreur conditions générales demande de devis boutique */
.woocommerce ul.woocommerce-error li {
    display: block !important; /* Désactive le flex si hérité d'ailleurs */
    list-style: none !important; /* Enlève la puce du li */
    line-height: 1.5; /* Ajuste la hauteur de ligne pour un bon espacement */
    padding-left: 0; /* Optionnel : supprime un éventuel décalage à gauche */
    
    /* Pour centrer verticalement le texte par rapport à l'icône de la cloche */
    vertical-align: middle; 
}

/* Si l'icône de la cloche est à l'intérieur du li, on l'aligne aussi */
.woocommerce ul.woocommerce-error li::before,
.woocommerce ul.woocommerce-error li i,
.woocommerce ul.woocommerce-error li svg {
    vertical-align: middle;
    margin-right: 8px; /* Recrée l'espace (gap) qui a disparu avec le flex */
}



/* ============================================================
   PAGE DÉTAILS DU DEVIS (WooCommerce order/devis)
   ============================================================ */

/* Arrière-plan global du devis */
.woocommerce-order-details {
    background-color: var(--theme-palette-color-5);
    padding: 45px;
}

/* Titre "Détails du devis" */
.woocommerce-order-details__title {
    font-family: "Titillium Web", sans-serif;
    font-weight: 600;
    font-size: 40px !important;
    line-height: 70px;
    letter-spacing: 0;
}

/* Ligne d'en-tête du tableau (Ref. article, Produit, etc.) */
.woocommerce-table--order-details thead th {
    font-family: "Inter", sans-serif !important;
    font-weight: 500 !important;
    background-color: var(--theme-palette-color-2);
    height: 40px !important;
    color: white !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Lignes séparatrices du tableau (bordures) en doré */
.woocommerce-table--order-details {
    --theme-table-border-color: var(--theme-palette-color-2);
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
    border-color: var(--theme-palette-color-2);
    border-style: solid !important;
}

/* Sous-total, Expédition, TVA, Total + Note */
.woocommerce-table--order-details tfoot th {
    color: var(--theme-palette-color-2);
    font-family: "Titillium Web", sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 0;
}

/* Uppercase seulement pour Sous-total/Expédition/TVA/Total (pas "Note") */
.woocommerce-table--order-details tfoot th[scope="row"] {
    text-transform: uppercase !important;
}

/* Prix affichés dans la colonne Total */
.woocommerce-table--order-details td.woocommerce-table__product-total,
.woocommerce-table--order-details td.woocommerce-table__product-total .woocommerce-Price-amount {
    font-family: "Titillium Web", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0;
    vertical-align: middle;
}

/* Message de remerciement (demande de devis) */
#ywraq-thank-you-message {
    font-family: "Inter", sans-serif;
    color: var(--theme-palette-color-2) !important;
    margin-bottom: 35px !important;
    margin-top: -15px !important;
}

/* Trait de séparation sous la dernière ligne (Note) */
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: 1px solid var(--theme-palette-color-2) !important;
}


/* Bouton "Retour" en bas du devis (réutilise .btn .btn-secondary .btn-with-icon) */
.woocommerce-order-details .btn-with-icon {
    position: relative; /* ancre le lien étendu sur tout le bouton */
}

.woocommerce-order-details .btn-with-icon .resineo-back-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff !important;
    text-decoration: none;
}

.woocommerce-order-details .btn-with-icon .resineo-back-button span {
    color: #ffffff !important;
}

/* Le lien couvre toute la surface du bouton (zone cliquable complète) */
.woocommerce-order-details .btn-with-icon .resineo-back-button::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.woocommerce-order-details .btn-with-icon .resineo-back-button__icon {
    width: 14px;
    height: auto;
    filter: brightness(0) invert(1); /* icône blanche sur le fond du bouton */
}

/* Largeur des colonnes : Produit absorbe l'espace libre,
   le reste (Ref, Photo, Qté, Prix U, Total) se serre à droite */
.woocommerce-table--order-details {
    width: 100%;
}

.woocommerce-table--order-details .product-name {
    width: 100%;
}

.woocommerce-table--order-details .product-sku,
.woocommerce-table--order-details .product-photo,
.woocommerce-table--order-details .product-quantity,
.woocommerce-table--order-details .product-unit-price {
    width: 1%;
    white-space: nowrap;
}

/* Colonne Total : assez large pour les libellés du pied (expédition, note…) */
.woocommerce-table--order-details .product-total {
    min-width: 200px;
}

/* Colonne PRIX un peu plus large */
.woocommerce-table--order-details .product-unit-price {
    min-width: 100px;
}

/* Colonne Quantité un peu plus large */
.woocommerce-table--order-details .product-quantity {
    min-width: 70px;
}

/* Les montants ne se coupent jamais en deux lignes */
.woocommerce-table--order-details .woocommerce-Price-amount {
    white-space: nowrap;
}

/* Aligner Qté / Prix U / Total à droite (en-têtes + cellules) */
.woocommerce-table--order-details .product-quantity,
.woocommerce-table--order-details .product-unit-price,
.woocommerce-table--order-details .product-total {
    text-align: right !important;
}

/* Montants du pied (sous-total, expédition, TVA, total) alignés à droite.
   La Note (th sans scope="row") et la ligne Actions restent à gauche. */
.woocommerce-table--order-details tfoot tr:has(th[scope="row"]) td {
    text-align: right;
}

/* Colonne photo du produit (entre Produit et Qté) */
.woocommerce-table--order-details td.product-photo {
    text-align: center;
    vertical-align: middle;
    padding: 8px 12px;
}

.woocommerce-table--order-details td.product-photo img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    display: block;
    margin: 0;
    max-width: none;
}

/* Mobile : panier */
@media (max-width: 767px) {

    .woocommerce-cart-form__cart-item .product-mobile-actions {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        margin-top: 15px !important;
    }

    /* Bloc quantité */
    .woocommerce-cart-form__cart-item .product-mobile-actions .quantity {
        position: relative !important;
        width: 90px !important;
        min-width: 90px !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }

    .woocommerce-cart-form__cart-item .product-mobile-actions .quantity input.qty {
        width: 100% !important;
        min-width: 90px !important;
        text-align: center !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    /* Prix */
    .woocommerce-cart-form__cart-item .product-mobile-actions .woocommerce-Price-amount {
        white-space: nowrap !important;
        font-weight: 700 !important;
    }

    /* Supprimer */
    .woocommerce-cart-form__cart-item .product-mobile-actions .remove {
        margin-left: auto !important;
    }

    /* Table de détails de commande / devis sur mobile */
    .woocommerce-order-details {
        padding: 20px 15px !important;
    }

    .woocommerce-order-details__title {
        font-size: 28px !important;
        line-height: 38px !important;
        margin-bottom: 20px !important;
    }

    .woocommerce-table--order-details {
        display: block !important;
        border: none !important;
        background: transparent !important;
    }

    .woocommerce-table--order-details thead {
        display: none !important;
    }

    .woocommerce-table--order-details tbody {
        display: block !important;
    }

    .woocommerce-table--order-details tbody tr {
        display: grid !important;
        grid-template-columns: 80px 1fr !important;
        gap: 8px 12px !important;
        border: 1px solid #ebebeb !important;
        border-radius: 8px;
        padding: 15px !important;
        margin-bottom: 15px;
        background: #fff;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
    }

    .woocommerce-table--order-details tbody td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 0 !important;
        border: none !important;
        text-align: left !important;
    }

    .woocommerce-table--order-details td.product-photo {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        align-self: start;
    }

    .woocommerce-table--order-details td.product-photo img {
        width: 80px !important;
        height: auto !important;
        border-radius: 4px;
        display: block;
    }

    .woocommerce-table--order-details td.product-sku {
        grid-column: 2 !important;
        grid-row: 1 !important;
        font-size: 12px;
        color: #777;
        text-transform: uppercase;
    }

    .woocommerce-table--order-details td.product-name {
        grid-column: 2 !important;
        grid-row: 2 !important;
        font-weight: 600;
        font-size: 15px;
        line-height: 1.4;
    }

    .woocommerce-table--order-details td.product-quantity {
        grid-column: 1 / span 2 !important;
        grid-row: 3 !important;
        border-top: 1px dashed #ddd !important;
        padding-top: 10px !important;
        margin-top: 5px;
    }

    .woocommerce-table--order-details td.product-unit-price {
        grid-column: 1 / span 2 !important;
        grid-row: 4 !important;
    }

    .woocommerce-table--order-details td.product-total {
        grid-column: 1 / span 2 !important;
        grid-row: 5 !important;
        border-bottom: none !important;
    }

    .woocommerce-table--order-details td.product-quantity,
    .woocommerce-table--order-details td.product-unit-price,
    .woocommerce-table--order-details td.product-total {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        padding: 6px 0 !important;
    }

    .woocommerce-table--order-details td.product-quantity::before {
        content: "Quantité";
        font-weight: 500;
        color: #666;
    }

    .woocommerce-table--order-details td.product-unit-price::before {
        content: "Prix unitaire";
        font-weight: 500;
        color: #666;
    }

    .woocommerce-table--order-details td.product-total::before {
        content: "Total";
        font-weight: 700;
        color: var(--theme-palette-color-2);
    }

    .woocommerce-table--order-details td.product-total .woocommerce-Price-amount {
        font-weight: 700;
        font-size: 16px;
        color: var(--theme-palette-color-2);
    }

    /* Pied de tableau (Totaux généraux) sur mobile */
    .woocommerce-table--order-details tfoot {
        display: block !important;
        margin-top: 20px;
    }

    .woocommerce-table--order-details tfoot tr {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        padding: 8px 10px !important;
        border-bottom: 1px solid #ebebeb !important;
        background: #fff;
    }

    .woocommerce-table--order-details tfoot tr:last-child {
        border-bottom: 1px solid #ebebeb !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .woocommerce-table--order-details tfoot th,
    .woocommerce-table--order-details tfoot td {
        display: block !important;
        width: auto !important;
        padding: 0 !important;
        border: none !important;
        text-align: left !important;
    }

    .woocommerce-table--order-details tfoot td {
        text-align: right !important;
    }

    .woocommerce-table--order-details tfoot tr:last-child td {
        text-align: left !important;
        margin-top: 5px;
    }
}

/* ============================================================
   BOUTON "VOIR PLUS" (pagination AJAX Greenshift)
   Reprend le style du bouton primary du thème (cf. bouton "Télécharger")
   ============================================================ */

.gspb_ajax_pagination_btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--theme-button-min-height) !important;
    padding: var(--theme-button-padding, 12px 30px) !important;
    color: var(--theme-button-text-initial-color, #ffffff) !important;
    background-color: var(--theme-button-background-initial-color, #4a4a4a) !important;
    border: var(--theme-button-border, none) !important;
    border-radius: var(--theme-button-border-radius, 3px) !important;
    font-family: var(--theme-button-font-family, var(--theme-font-family)) !important;
    font-size: var(--theme-button-font-size) !important;
    font-weight: var(--theme-button-font-weight) !important;
    font-style: var(--theme-button-font-style) !important;
    line-height: var(--theme-button-line-height) !important;
    letter-spacing: var(--theme-button-letter-spacing) !important;
    text-transform: var(--theme-button-text-transform) !important;
    text-decoration: none !important;
    text-align: center !important;
    cursor: pointer !important;
    -webkit-user-select: none;
    user-select: none;
    margin-left: 15px;
    transition: all .12s cubic-bezier(0.455, 0.03, 0.515, 0.955) !important;
}

.gspb_ajax_pagination_btn:hover {
    color: var(--theme-button-text-hover-color, var(--theme-button-text-initial-color, #ffffff)) !important;
    background-color: var(--theme-button-background-hover-color, var(--theme-palette-color-2)) !important;
}