/*!
Theme Name: ExServ Theme
Template: Divi
Version: 1.0.0
Description: Divi Child Theme
Author: Lauriane Pace Apergis
Author URI: https://www.laurianepace.fr
*/

/* Supprime le padding des titres de Divi */
h1, h2, h3, h4, h5, h6 {
    padding-bottom: 0;
    text-wrap: balance;
}

/* Force le focus visible des liens et boutons */
a:focus-visible,
span[role="button"]:focus-visible,
button:focus-visible {
    outline: 2px solid var(--gcid-primary-color) !important;
    outline-offset: 2px !important;
    outline-style: solid !important;
}

.et_pb_menu__logo {
    overflow: visible !important;
}

/* Lien d'évitement et ScreenReaders only */
.sr-only, 
.skiplink:not(:focus-visible) {
  position: fixed;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border-width: 0;
}

/*-----------------------------------------------------------------------------
  Header
------------------------------------------------------------------------------*/
header {
    margin-bottom: -6.5rem;
}

header .et_pb_menu_inner_container {
    width: 100%;
}

.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li > a {
    padding-block: .75rem;
    padding-inline: 1rem;
    text-box: trim-both cap alphabetic;
}

#menu-menu-header li:last-child,
#menu-menu-fr li:last-child {
    padding-right: 0;
}

/* Menu mobile */
.mobile_nav {
    cursor: pointer;
}

.et_mobile_menu {
    border: none;
    margin-top: 1rem;
    padding-block: 5% !important;
}

.mobile_menu_bar {
    height: 1.5rem;
    width: 1.5rem;
}

.mobile_menu_bar::before {
    content: "";
    background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/bars-solid.webp);
    background-size: contain;
    height: 100%;
    width: 100%;
    background-repeat: no-repeat;
    display: inline-block;
}

/*-----------------------------------------------------------------------------
  Hero
------------------------------------------------------------------------------*/
.hero-row, 
.hero-hp {
    position: relative;
}

.et_pb_section_0.hero-hp,
.hero-section {
    min-height: 90svh !important;
}

.hero-hp::after {
    content: "";
    background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/ligne-fleche-bas.webp), url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/lune-opacity_30.webp);
    height: 100%;
    width: 100%;
    position: absolute;
    background-position: center bottom, center;
    background-size: 90% auto, auto 50%;
    background-repeat: no-repeat;
}

.hero-row .et_pb_column::after {
    content: "";
    background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/picto-gauche.webp), url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/picto-droite.webp);
    height: 100%;
    width: 100%;
    position: absolute;
    background-size: auto 45%;
    background-position: left, right;
    background-repeat: no-repeat;
    z-index: -1;
}

@media (min-width: 64rem) {
    .hero-row .et_pb_column::after {
        background-size: auto 75%;
    }
    .hero-hp::after {
        background-size: 90% auto, auto 50%;
    }
}

/*-----------------------------------------------------------------------------
  Buttons
------------------------------------------------------------------------------*/
.et_pb_button,
.et_pb_contact_submit {
    background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/Texture_PAPIER_rvb.webp);
    background-repeat: no-repeat;
    background-size: cover;
}

/*-----------------------------------------------------------------------------
  Work
------------------------------------------------------------------------------*/
#work {
    background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/decoupage-papier-droite.webp), url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/Texture_STONE_rvb-scaled.webp) !important;
    background-size: auto 100%, cover;
    background-repeat: no-repeat;
    background-position: center right -28rem, right;
}

@media (min-width: 40rem) {
    #work {
        background-position: center right -24rem, right;
    }
}

@media (min-width: 48rem) {
    #work {
        background-position: center right -18rem, right;
    }
}

@media (min-width: 64rem) {
    #work {
        background-position: center right -10rem, right;
    }
}

@media (min-width: 80rem) {
    #work {
        background-position: center right -8rem, right;
    }
}

@media (min-width: 96rem) {
    #work {
        background-position: right;
    }
}

/*-----------------------------------------------------------------------------
  Services
------------------------------------------------------------------------------*/
#services {
    background-image: url(https://maquette.laurianepace.fr/wp-content/uploads/2026/05/lune-opacity_30.webp) !important;
    background-size: auto 50%;
    background-position: top right -2rem;
    background-repeat: no-repeat;
}

.service-title .et_pb_text_inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}

.service-title .et_pb_text_inner::before {
    content: "";
    height: 1.5rem;
    width: 1.5rem;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
}

#first-service .et_pb_text_inner::before {
    background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/picto-1.webp);
}

#second-service .et_pb_text_inner::before {
    background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/picto-2.webp);
}

#third-service .et_pb_text_inner::before {
    background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/picto-3.webp);
}

.service-title::after {
    content: "";
    height: 4px;
    width: 100%;
    display: inline-block;
    background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/ligne-small.webp);
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: .5rem;
}

/*-----------------------------------------------------------------------------
  Carousel
------------------------------------------------------------------------------*/
.et-pb-icon {
  display: none;
}

.et_pb_group_carousel_arrow_prev,
.et_pb_group_carousel_arrow_next {
  height: 2rem;
  width: 2rem;
}

.et_pb_group_carousel_arrow_next::after, .et_pb_group_carousel_arrow_prev::after {
  content: "";
  background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/fleche.webp);
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  background-position: top;
}

.et_pb_group_carousel_arrow_prev::after {
  transform: rotate(-90deg);
}

.et_pb_group_carousel_arrow_next::after {
  transform: rotate(90deg);
}

.logo-client img {
  object-fit: contain;
}

.game-carousel.et_pb_group_carousel {
    gap: 0 !important;
}

/* Supprime la transition ease-in-out Divi */
.et_pb_group_carousel_0 .et_pb_group_carousel_slide > .et_pb_group {
    transition: none !important;
}

/* Ombre */
.game-carousel .et_pb_image_wrap {
    box-shadow: 6px 6px 10px 0px rgba(0,0,0,0.4);
    margin-bottom: 1.5rem;
}

/*-----------------------------------------------------------------------------
  Accordion
------------------------------------------------------------------------------*/
.et_pb_toggle_title::before {
  content: "";
  height: 1.5rem;
  width: 1.5rem;
  background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/picto-3.webp);
  background-repeat: no-repeat;
  background-size: contain;
  inset-block: 0.5rem;
}

.et_pb_accordion_item {
  content: "";
  background-image: url(https://www.exserv-consulting.com/wp-content/uploads/2026/05/ligne.webp);
  height: 100%;
  width: 100%;
  background-position: bottom left;
  background-size: 100%;
  background-repeat: no-repeat;
}

.et_pb_accordion .et_pb_toggle_title button {
    appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    text-align: inherit;
    cursor: pointer;
}

/*-----------------------------------------------------------------------------
  Contact form
------------------------------------------------------------------------------*/
.et_pb_contact_form_label {
    display: block;
    font-size: 1rem;
}

.et_pb_contact_field:has(input[data-required_mark="required"], textarea[data-required_mark="required"]) .et_pb_contact_form_label::after {
    content: " *";
    color: var(--gcid-primary-color);
}

form.et_pb_contact_form .et_flex_module {
    row-gap: .5rem;
}

.et_pb_contact .et_pb_contact_field .et_contact_error {
    border: 0 !important;
    outline: 2px solid red !important;
    outline-offset: 2px !important;
}

input:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--gcid-primary-color);
    outline-offset: 2px !important;
}

/*-----------------------------------------------------------------------------
  Footer
------------------------------------------------------------------------------*/
ul {
    padding-bottom: 0 !important;
}

footer nav ul {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    list-style-type: none;

    li {
        list-style-type: none !important;
    }
}

@media (min-width: 40rem) {
    footer nav ul {
        flex-direction: row;
        gap: 2rem;
    }
}

footer :focus,
footer :focus-visible {
    outline-color: var(--gcid-almuc3zlpy) !important;
}

/*-----------------------------------------------------------------------------
  Pages légales
------------------------------------------------------------------------------*/
.legal-section h2:not(h2:first-child) {
    padding-top: 2rem;
}

.legal-section h2, 
.legal-section ul {
    padding-bottom: 1rem !important;
}

.legal-section h3 {
    padding-bottom: .5rem;
}