/*
 Theme Name:   Solution Digitale Child
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Solution Digitale Child
 Author:       Xavier Gerber
 Author URI:   http://example.com
 Template:     SolutionDigitale
 Version:      3.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  twentyfifteenchild
*/

#eapps-instagram-feed-1 > div > div.eapps-instagram-feed-content > div.eapps-instagram-feed-header-container > div > div > div.eapps-instagram-feed-header-follow-button-wrapper > a{
    color:white!important;
}

#eapps-instagram-feed-1 > div > div.eapps-instagram-feed-content > div.eapps-instagram-feed-header-container > div > div > div.eapps-instagram-feed-header-user > div.eapps-instagram-feed-header-user-info *{
    color:var(--sd1)!important;
}

nav #menu-item-97.nav_button_effect > a:after{
    height: 0px!important;
}

/**********************************************************************************************************/
/* EXEMPLE DE VARIABLES GLOBALES */
:root {
    --text-color-1: #545454 !important;
    --text-color-2: #353535 !important;
    --text-color-white: white !important;
    --text-color-black: black !important;
    --anchor-offset: 80px; 
}

/* SMOOTH SCROLL */

/* Tous les éléments qui peuvent être ciblés par un #id */
[id] {
    scroll-margin-top: var(--anchor-offset);
}

/* Facultatif : ajoute un défilement fluide natif */
html { 
    scroll-behavior: smooth; 
}

.navbar-top-container .builder_menu {
    width: auto !important;
}

.php-error #adminmenuback,
.php-error #adminmenuwrap {
    margin-top: 0 !important;
}

/**********************************************************************************************************/
/* CONFIGURATION DES TABLES */
.table table {
    width: 100%;
}

.table thead {
    border: solid 1px gray;
}

.table thead th {
    background: darkgray;
    color: white !important;
}

.table thead th,
.table td {
    border-left: solid 1px gray;
    border-right: solid 1px gray;
}

tr td,
tr th {
    padding: 10px; /* Ajustez la valeur du padding selon vos besoins */
}

/**********************************************************************************************************/

.menu-fixed-scroll {
    position: fixed !important;
    width: 100% !important;
}

.dropdown-item {
    color: black !important;
}

/*/////////////////////////////////////////////////////////////////////////////////*/
/* MENU CHAGEMENT DE LANGUE MASQUE */
#container_switch_langue {
    display: none !important;
}

/*/////////////////////////////////////////////////////////////////////////////////*/

/* Container de l'élément de menu */
#menu-item-97 {
    background: transparent !important;
    padding: 0 !important;
}

/* Style de base du bouton (normal + page active) */
#menu-item-97 > a,
.sd-button-header,
input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: var(--sd3) !important;
    border: 0 !important;
    border-radius: 1000px !important;
    padding: 10px 30px 8px 30px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    font-family: 'Dark Seed', sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    width: fit-content !important;
    letter-spacing: 1px !important;
}

/* Couleur du texte du bouton (état normal + active page) */
#menu-item-97 a,
#menu-item-97 a *,
#menu-item-97.current-menu-item > a,
#menu-item-97.current-menu-item > a *,
.sd-button-header,
.sd-button-header *,
input[type="submit"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    margin: 0 !important;
    opacity: 1 !important;
}

/* Fond au survol / focus / page active au survol */
#menu-item-97 > a:is(:hover, :focus, .active),
#menu-item-97.current-menu-item > a:is(:hover, :focus, .active),
.sd-button-header:hover,
input[type="submit"]:hover {
    background-color: var(--sd4) !important;
}

/* Couleur du texte uniquement au survol */
#menu-item-97:hover > a,
#menu-item-97:hover > a *,
.sd-button-header:hover,
.sd-button-header:hover *,
input[type="submit"]:hover {
    color: var(--sd2) !important;
    -webkit-text-fill-color: var(--sd2) !important;
}

/*********/

.sd-button-1 p {
    font-family: 'Dark Seed', sans-serif !important;
}

/*/////////////////////////////////////////////////////////////////////////////////*/
/* STYLE DES FORMULAIRES */

/* Reposition du Message erreur */
.wpcf7-not-valid-tip {
    margin-top: -20px;
    margin-bottom: 10px;
}

form input[type=text],
form input[type=email],
form input[type=tel],
form label,
form input,
form textarea {
    width: 100% !important;
}

form input[type=text],
form input[type=email],
form input[type=tel],
form textarea {
    width: 100% !important;
    border: solid 1px var(--sd4);
}

form input[type=submit] {
    display: inline-block !important;
}

form label input,
form label textarea {
    margin-top: 15px !important;
    margin-bottom: 25px !important;
}

form * {
    font-size: 14px !important;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=password],
textarea,
select,
input[list] {
    width: 100%;
    padding: 12px 20px;
    margin-bottom: 20px !important;
    display: inline-block;
    border: 1px solid LightGray;
    border-radius: 7px;
    box-sizing: border-box;
}

/*/////////////////////////////////////////////////////////////////////////////////*/
/* SOCIAL */

.sd_social {
    padding-bottom: 1rem;
}

.sd_social i {
    color: white !important;
    transition: 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgb(104, 104, 104);
    border-radius: 25px;
    width: 50px;
    height: 50px;
    text-align: center;
    margin-right: 5px;
    font-size: 25px;
}

.sd_social i:hover {
    transform: scale(1.3);
}

/*/////////////////////////////////////////////////////////////////////////////////*/
/* FOOTER */
footer .sd_social_footer i {
    color: white !important;
    transition: 0.3s;
    padding-top: 6px;
    background-color: rgb(104, 104, 104);
    border-radius: 20px;
    width: 30px;
    height: 30px;
    text-align: center;
    margin-right: 5px;
}

footer .sd_social_footer i:hover {
    transform: scale(1.3);
}

#main > footer > div.container > div {
    display: flex;
    align-items: center;
}

#menu-footer {
    gap: 7px !important;
}

/*/////////////////////////////////////////////////////////////////////////////////*/
@font-face {
    font-family: 'Dark Seed';
    src: url('https://cdn.solution-digitale.ch/wp-content/uploads/2026/07/Dark-Seed.otf') format('opentype');
    font-display: swap;
}

body {
    font-family: 'Dark Seed', sans-serif;
}

/*/////////////////////////////////////////////////////////////////////////////////*/
/* --- Règles globales (Tailles, Fonts et Line-height) --- */
html .text-small, 
html .text-tiny {
    line-height: 1.3 !important;
    display: block !important;
}

#hero h1 .text-small {
    font-family: 'Dark Seed', sans-serif !important;
    font-size: 38px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: var(--sd4) !important;
}

#hero h1 strong{
    color: var(--sd4) !important;
}

#hero p .text-big { 
    font-size: 23px; 
}

#services p .text-big {
    font-size: 23px;
}

h2 .text-small {
    font-size: 30px !important;
    color: var(--sd2) !important;    
}

h2 .text-tiny {
    font-family: 'Inter', sans-serif !important;
    font-size: 17px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

/*********/

.xg_container_gal {
    gap: 0 !important;
    margin: 0 !important;
}

.xg_container_gal .sd_image img {
    border: none !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
}

.element_gal_multi_1_niveau h2 {text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3) !important;}

/*********/

[id^="sortableelement_column_avec_fond_"],
[id^="sortableelement_column_avec_trait_"],
[id^="sortableelement_column_en_ligne_"],
[id^="sortableelement_column_icone_souligne_"],
[id^="sortableelement_column_sans_fond_"] {
    justify-content: center !important;
    display: flex !important;
}

/*********/

#hero > div.pv-overlay {
    mix-blend-mode: multiply !important;
}

nav .menu-item {
    letter-spacing: 1px !important;
}

/*********/

.sd_element_faq .accordion-collapse > div,
.sd_element_faq .accordion-body {
    background-color: white !important;
    padding-bottom: 50px !important;
    font-weight: 400 !important;
}

.sd_element_faq .accordion-button {
    background-color: var(--sd5) !important;
    color: var(--sdts) !important;
    font-weight: 500 !important;
    font-size: 19px !important;
    box-shadow: none !important; 
}

.sd_element_faq .accordion,
.sd_element_faq .accordion-item {
    border-color: white !important;
    border-bottom: 1px solid white !important;
}

.sd_element_faq .accordion-header,
.sd_element_faq .accordion-collapse { 
    border: none !important; 
}

/*********/

#services ul,
#service ul {
    list-style: none;
    padding-left: 0;
}

#services ul li,
#service ul li {
    position: relative;
    margin: 15px 0;
    padding-left: 30px;
}

#services ul li::before,
#service ul li::before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free", "FontAwesome";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 0.15em;
    color: white;
    font-size: 1.15em;
}

hr {
    width: 30% !important;
    height: 5px !important;
    background-color: var(--sd3) !important;
    border: none !important;
    border-radius: 5px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    opacity: 1 !important;
}

#services,
#services .sd_content {
    overflow: visible !important;
}

#services .sd_image {
    position: relative;
    z-index: 1;
}

#services.element_column > div > div > div::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--sd1);
    z-index: -1;
    transform: rotate(-4deg);
}

/*********/

.element_column_sans_fond_78_8 h3 {
    text-shadow: 3px 5px 12px rgba(0, 0, 0, 0.7);
}

#sortableelement_column_sans_fond_78_8,
#sortableelement_column_sans_fond_78_8 *,
#sortableelement_column_sans_fond_32_3,
#sortableelement_column_sans_fond_32_3 * {
    overflow: visible !important;
}

#sortableelement_column_sans_fond_78_8 .sd_image > span::after,
#sortableelement_column_sans_fond_32_3 .sd_image > span::after,
.element_image_text_full_responsive .sd_image::after {
    content: '';
    position: absolute;
    inset: 0; 
    background-color: var(--sd3);
    z-index: -1;
    transform: rotate(-5deg);
}

.element_image_text_full_responsive .sd_button_container {
    flex-direction: column;
}

.element_image_text_full_responsive .sd_button_container > div:nth-child(2) {
    padding-top: 15px;
}

#service [id^="sortableelement_column_avec_fond_"] > div:nth-child(4) > [class*="_item_bg"],
#service [id^="sortableelement_column_avec_fond_"] > div:nth-child(1) > [class*="_item_bg"],
#service [id^="sortableelement_column_avec_fond_"] > div:nth-child(6) > [class*="_item_bg"] {
    background-color: var(--sd1);
}

#service [id^="sortableelement_column_avec_fond_"] > div:nth-child(2) > [class*="_item_bg"],
#service [id^="sortableelement_column_avec_fond_"] > div:nth-child(5) > [class*="_item_bg"] {
    background-color: var(--sd2);
}

#service [id^="sortableelement_column_avec_fond_"] > div:nth-child(3) > [class*="_item_bg"]{
    background-color: var(--sd3);
}

/*********/


#serviceconstruction [id^="sortableelement_column_avec_fond_"] > div:nth-child(6) > [class*="_item_bg"],
#serviceconstruction [id^="sortableelement_column_avec_fond_"] > div:nth-child(1) > [class*="_item_bg"]{
    background-color: var(--sd1);
}

#serviceconstruction [id^="sortableelement_column_avec_fond_"] > div:nth-child(4) > [class*="_item_bg"],
#serviceconstruction [id^="sortableelement_column_avec_fond_"] > div:nth-child(2) > [class*="_item_bg"] {
    background-color: var(--sd2);
}

#serviceconstruction [id^="sortableelement_column_avec_fond_"] > div:nth-child(5) > [class*="_item_bg"],
#serviceconstruction [id^="sortableelement_column_avec_fond_"] > div:nth-child(3) > [class*="_item_bg"]{
    background-color: var(--sd3);
}

.element_column_avec_fond h2 .text-small, 
.element_column_avec_fond ul {
    color: white !important;
}

/*********/

/* 1. Déclaration de la police et du style pour TOUS les pseudo-éléments du formulaire */
#formulairedecontact .sd_text h3::before,
#formulairedecontact .sd_text a[href^="tel"]::before,
#formulairedecontact .sd_text a[href^="mailto"]::before,
#formulairedecontact .sd_text p:nth-child(10)::before,
#formulairedecontact .sd_text p:last-of-type::before {
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    color: var(--sd3) !important;
    display: inline-block !important;
    width: 30px !important;
    margin-right: 15px !important;
}

/* 2. Attribution des icônes */
#formulairedecontact .sd_text h3::before {
    content: "\f3c5" !important; /* Adresse */
}

#formulairedecontact .sd_text a[href^="tel"]::before {
    content: "\f3cd" !important; /* Téléphone */
}

#formulairedecontact .sd_text a[href^="mailto"]::before {
    content: "\f0e0" !important; /* Email */
}

#formulairededevis {
    position: relative !important;
    overflow: hidden !important;
    background: transparent !important;
}

#formulairededevis::before {
    content: "" !important;
    position: absolute !important;
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%;
    z-index: -1 !important;
    background: url("https://cdn.solution-digitale.ch/wp-content/uploads/2026/07/Diserens-SA-constructions-bois-background.jpg") no-repeat center/cover fixed !important;
}

#formulairedecontact .no-padding-shortcode {
    padding: 30px !important;
    background-color: var(--sd6) !important;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15) !important;
}

#formulairededevis > div {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
    padding: 30px !important;
    background-color: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15) !important;
}

/*/////////////////////////////////////////////////////////////////////////////////*/

@media screen and (min-width: 1024px) {
    #home_nav:first-of-type .navbar-brand:first-of-type {
        transition: transform 0.3s ease-in-out;
    }

    #home_nav:first-of-type.shadow .navbar-brand:first-of-type {
        transform: scale(0.9);
    }

    #hero .sd-vanilla-text-wrapper > div {
        width: 75% !important;
        margin-left: 0 !important;
        margin-right: auto !important;
    }
    
	.sd_element_faq .mb-5,
    .element_html {
        padding-bottom: 130px !important;
    }
    
	[class*="element_column_avec_trait_"]:first-child .sd_content .sd_text_container,
	[class*="element_column_avec_trait_"]:first-child .sd_content > .sd_image,
	[class*="element_column_avec_trait_"]:first-child .sd_content,
	.element_column_avec_trait_81_5:nth-child(4) .sd_content .sd_text_container,
	.element_column_avec_trait_81_5:nth-child(4) .sd_content > .sd_image,
	.element_column_avec_trait_81_5:nth-child(4) .sd_content{
		border-left: none !important;
		padding-left: 0 !important;
	}
	
	#sortableelement_column_sans_fond_78_5 > div:nth-child(4){
		width: 100%!important;
	}

}   
    
/*/////////////////////////////////////////////////////////////////////////////////*/
    
@media screen and (min-width: 991px) {
    #menu-main {
        gap: 15px;
    }
	
	.xg_container_gal > div {
		flex: 0 0 50% !important;
		max-width: 50% !important;
	}
}

/*/////////////////////////////////////////////////////////////////////////////////*/

#breadcrumbs {
    list-style: none;
    margin: 10px 0;
    overflow: hidden;
}

#breadcrumbs li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 15px;
}

#breadcrumbs .separator {
    font-size: 18px;
    font-weight: 100;
    color: #ccc;
}

html.wp-toolbar {
    padding-top: 25px !important;
}

.adminmenuwrap {
    margin-top: 0 !important;
}

/* Header & Footer */
@media screen and (max-width: 992px) {
    .nav-item {
        display: grid !important;
    }

    footer > div > div > div > div > .navbar-nav > .nav-item {
        display: unset !important;
    }

    .nav-item {
        display: flex !important;
    }

    footer > div > div > div > div > .navbar-nav > .nav-item {
        display: unset !important;
    }

    ul.dropdown-menu {
        top: 40px !important;
    }

    /* Ajout d'une marge au-dessus des options admin si menu sticky top */
    #main > div > div.builder_menu.d-flex {
        z-index: 99999 !important;
    }

    .sdg_popup_template {
        z-index: 999999 !important;
    }   
}