/*
Theme Name: Maintenance-WP FSE
Author: Maintenance WP
Author URI: https://www.maintenance-wp.fr/
Description: Thème Maintenance WP
Version: 1.0
Text Domain: mwp
*/


.bloc-cliquable {
    cursor: pointer;
}
/* Encart presta SIMPLE */
.is-style-encart-presta-simple {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1) !important;
}

.is-style-encart-presta-simple .wp-block-group:has(svg) {
  padding: 1rem 1rem 0.5rem;
  border-radius: 1rem;
  justify-content: center;
  align-items: center;
  background-color: color-mix(in oklab, #E85A50 10%, transparent);
}
.is-style-encart-presta-simple svg {
    stroke:#E85A50;
}

.is-style-encart-presta-simple .wp-block-buttons {
    margin-top: auto;
}
.is-style-encart-presta-simple .is-style-read-more a {
  color: #E85A50!important;
  display: block;
  flex-wrap: wrap;
  gap: 5px;
  text-align: left;
  align-items: center;
}
.is-style-encart-presta-simple:hover {
  border-color: color-mix(in oklab, #E85A50 20%, transparent)!important;
}
.is-style-encart-presta-simple .is-style-read-more a:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23E85A50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-chevron-up w-4 h-4'%3E%3Cpath d='m18 15-6-6-6 6'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(90deg);
  margin-left: 2px;
}

.is-style-encart-presta-simple .is-style-read-more:hover {
  color: #E85A50!important;
}
.is-style-encart-presta-simple:hover .wp-block-group:has(svg) {
  background-color: #E85A50;
}
.is-style-encart-presta-simple:hover svg {
  stroke:white;
}
.is-style-encart-presta-simple .wp-block-buttons {
  margin-top:auto;
}


/* Encart presta ACCORDEON */
.is-layout-flex .is-style-encart-presta {
  width: 30%;
}
@media only screen and (max-width: 768px) {
  .is-layout-flex .is-style-encart-presta {
    width: 100%;
    min-height: auto!important;
  }
}
.is-style-encart-presta {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1) !important;
  height: fit-content;
}
.is-style-encart-presta:has(.content-bottom.ouvert) {
  height: auto !important;
}

.is-style-encart-presta .wp-block-group:has(svg) {
  padding: 1rem 1rem 0.5rem;
  border-radius: 1rem;
  justify-content: center;
  align-items: center;
  background-color: color-mix(in oklab, #E85A50 10%, transparent);
}
.is-style-encart-presta svg {
    stroke:#E85A50;
}
.is-style-encart-presta .content-top {
    display: block;
}
.is-style-encart-presta .content-bottom {
    display: none;
    /*overflow: hidden;
    opacity: 0;*/
    transition: height 500ms ease, opacity 200ms ease;
    will-change: height, opacity;
}
.is-style-encart-presta .content-bottom.ouvert {
      display: block;
      opacity: 1;
      transform: translateY(0);
}
.is-style-encart-presta .content-bottom.ouvert ~ .wp-block-buttons .is-style-read-more a::after {
  transform: rotate(0deg);
}
.is-style-encart-presta .wp-block-buttons {
    margin-top: auto;
}
.is-style-encart-presta .is-style-read-more a {
  color: #E85A50!important;
  display: flex;
  gap: 5px;
  align-items: center;
}
.is-style-encart-presta:hover {
  cursor: pointer;
  border-color: color-mix(in oklab, #E85A50 20%, transparent)!important;
}
.is-style-encart-presta .is-style-read-more a::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23E85A50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-chevron-up w-4 h-4'%3E%3Cpath d='m18 15-6-6-6 6'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  display: block;
  transform: rotate(180deg);
}
.is-style-encart-presta .is-style-read-more:hover {
  color: #E85A50!important;
}
.is-style-encart-presta:hover .wp-block-group:has(svg) {
  background-color: #E85A50;
}
.is-style-encart-presta:hover svg {
  stroke:white;
}
.is-style-encart-presta .wp-block-buttons {
  margin-top:auto;
}

/* =========================
   TABLEAU PRICING (WordPress)
   ========================= */
/* Cache les lignes "pliées" */
.pricing-table-wrap tbody tr.is-hidden{
  display: none !important;
}
/*style bouton */
.pricing-table-wrap .pricing-table-toggle {
  cursor:pointer;
  background-color: var(--wp--preset--color--secondary) !important;
  border-color: var(--wp--preset--color--secondary) !important;
  border-width: 2px;
  border-style: solid;
  color: var(--wp--preset--color--white) !important;
  border-radius: 5px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding-top: var(--wp--preset--spacing--small-1);
  padding-right: var(--wp--preset--spacing--small-1);
  padding-bottom: var(--wp--preset--spacing--small-1);
  padding-left: var(--wp--preset--spacing--small-1);
}
.pricing-table-wrap .pricing-table-toggle:hover {
  background-color: var(--wp--preset--color--black) !important;
  border-color: var(--wp--preset--color--black) !important;
}
.tableau-custom {
    border-radius: 1rem;
    overflow: hidden!important;
    background: transparent;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1) !important;
    border-radius: 15px;
    border: 1px solid #ebe6e7 !important;
}

/* Table layout */
.tableau-custom table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden!important;
}

/* Reset bordures */
.tableau-custom table,
.tableau-custom th,
.tableau-custom td{
  border: none !important;
  overflow: hidden!important;
}

/* Espacement */
.tableau-custom th,
.tableau-custom td{
  padding: 14px 12px;
  vertical-align: middle;
}

.tableau-custom thead,
.tableau-custom thead tr,
.tableau-custom thead th,
.tableau-custom thead .plan,
.tableau-custom thead .plan *{
  background: #fbf9fa !important;
}

.tableau-custom thead{
  position: relative;
  z-index: 2;
}

.tableau-custom thead::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  box-shadow: 0 14px 18px -18px rgba(0,0,0,.45);
}

/* Header plans */
.tableau-custom .plan-name{
  color:#E85A50;
  font-weight:700;
  font-size:14px;
  letter-spacing:.04em;
}

.tableau-custom .plan-price{
  color:#1a1a2e;
  font-weight:800;
  font-size:24px;
  margin-top:4px;
}

.tableau-custom .plan-period{
  font-weight:400;
  font-size:12px;
  color:#6b7280;
}

/* Sections (lignes avec TH colspan) en majuscules */
.tableau-custom tbody tr > th[colspan]{
  background:#f6f7f9;
  font-weight:700;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-align: left;
  border-bottom: none !important;
}

/* Fond blanc uniquement pour les lignes "features" (pas sections, pas thead) */
.tableau-custom tbody tr:not(:has(> th[colspan])){
  background:#fff;
}

/* Centrer le contenu des colonnes (sauf titres de lignes et sections) */
.tableau-custom thead th:not(:first-child),
.tableau-custom tbody td{
  text-align:center;
}

/* Titres de lignes (colonne de gauche) */
.tableau-custom tbody th[scope="row"]{
  text-align:left;
  font-weight:300;
}

.tableau-custom tbody tr > *{
  border-bottom: 1px solid #e5e7eb !important;
}

/* Pas de bordure sur les lignes section */
.tableau-custom tbody tr > th[colspan]{
  border-bottom: none !important;
  width: 100%;
}

/* Pas de bordure sur la ligne juste avant une section */
.tableau-custom tbody tr:has(+ tr > th[colspan]) > *{
  border-bottom: none !important;
}

/* (Optionnel) pas de bordure sur la dernière ligne */
.tableau-custom tbody tr:last-child > *{
  border-bottom: none !important;
}

/* Badges / pictos texte */
.tableau-custom .yes,
.tableau-custom .no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  font-weight:700;
  line-height:1;
}

.tableau-custom .yes{
  background:#dcfce7;
  color:#16a34a;
}

.tableau-custom .no{
  background:#f3f4f6;
  color:#9ca3af;
}

.tableau-custom .badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 11px;
  border-radius:999px;
  background:rgba(232,90,80,.12);
  color:#E85A50;
  font-weight:700;
  font-size:14px;
}

/* Remplace le ✓ texte par un SVG (sans modifier le HTML) */
.tableau-custom .yes{
  font-size: 0;          /* cache le caractère ✓ */
  color: #16a34a;        /* couleur de l’icône */
}

/* Icône SVG via mask (hérite de currentColor) */
.tableau-custom .yes::before{
  content: "";
  width: 20px;
  height: 20px;
  display: block;

  background-color: currentColor;

  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
}

@media only screen and (max-width: 768px) {
  .tableau-custom {
    overflow: visible!important;
  }
  .tableau-custom table {
      overflow: visible !important;
  }
  .tableau-custom thead {
      position: sticky !important;
      top: 59px !important;
    }
  .tableau-custom table th, .tableau-custom table td {
    padding: 5px 0px;
  }

  .tableau-custom thead tr {
    display: flex;
    width: 100%;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    border-bottom: 0.5px solid !important;
    gap: 0;
  }
  .tableau-custom thead tr th:nth-child(1) {
    display: none;
  }
  .tableau-custom thead th {
        width: 25%;
        padding: 15px 0px;
      }
  .tableau-custom tbody th[scope="row"] {
      width: 100%;
      padding-left: 10px;
  }
  .tableau-custom tbody th[colspan] {
    padding-left: 10px!important;
    font-size: 15px!important;
  }
  .tableau-custom tbody tr {
    display: flex;
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    padding: 5px 0;
    border-top: 1px solid #e5e7eb !important;
  }
  .tableau-custom tbody tr th {
    border-bottom: 0!important;
  }
  .tableau-custom tbody tr td {
    width: 25%;
    border: none !important;
  }
  .tableau-custom tbody tr td:nth-child(1) {
      width: 100% !important;
      font-size: initial;
      padding: 0 0 15px 0;
    }
  .tableau-custom .yes, .tableau-custom .no {
    width: 25px;
    height: 25px;
  }
  .tableau-custom .yes::before {
    width: 15px;
    height: 15px;
  }
  .tableau-custom .badge {
    padding: 7px 8px;
  }
  .tableau-custom .plan-price {
    font-size:15px;
  }
  .tableau-custom .plan-name {
    font-size:12px;
  }
  .tableau-custom .badge {
    font-size:9px;
  }
}


/*  ════════════════════════════════════════════════
 *  Block Style : Scroll Image  –  core/image
 *  ════════════════════════════════════════════════
 *  Variables personnalisables :
 *    --scroll-image-ratio       : 4 / 3  ou  16 / 9;(ratio de la carte)
 *    --scroll-image-px-per-sec  : 100     (vitesse en px/s)
 */

/* ── Conteneur ─────────────────────────────────── */
:root :where([class*="is-style-scroll-image"]) {
	aspect-ratio: var(--scroll-image-ratio, 4 / 3); 
	overflow: hidden;
}

/* ── Image ─────────────────────────────────────── */
:root :where([class*="is-style-scroll-image"] img) {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	object-position: top center;
	transform: translateY(0);
	border-radius: 0 !important;
}

/* ── Caption : overlay en bas ──────────────────── */
:root :where([class*="is-style-scroll-image"] figcaption) {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0;
	padding: 8px 14px;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
	color: #fff;
	font-size: 0.85em;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 2;
}

:root :where([class*="is-style-scroll-image"]:hover figcaption) {
	opacity: 1;
}

/* ═══════════════════════════════════════════════
   Réalisation Card — Styles
   ═══════════════════════════════════════════════ */

.realisation-card {
    --card-radius: 1rem;
    --badge-radius: 9999px;
    position: relative;
    border-radius: var(--card-radius);
    overflow: hidden;
    background: var(--wp--preset--color--base, #fff);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    height: 100%;
}

/* ── Zone média ── */
.realisation-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/3;
}

/* Image à la une — peut être un <img> ou un <picture> selon le plugin WebP */
.realisation-card__thumb,
.realisation-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Screenshot — caché par défaut, visible au hover de la CARTE */
.realisation-card__screenshot {
    position: absolute;
    inset: 0;
    overflow: hidden;
    margin: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.realisation-card:hover .realisation-card__screenshot {
    opacity: 1;
}

.realisation-card__screenshot img {
    width: 100%;
    height: auto;
    display: block;
}

/* ── Zone contenu ── */
.realisation-card__content {
    padding: var(--wp--preset--spacing--small-1, 1.25rem);
}

.realisation-card__title {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    margin: 0 0 0.25rem;
    line-height: 1.3;
}

.realisation-card__accroche {
    font-size: 0.9rem;
    opacity: 0.7;
    margin: 0 0 0.75rem;
}

/* ── Badges ── */
.realisation-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.realisation-card__badge {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: var(--badge-radius);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    background: var(--wp--preset--color--contrast, #1a1a1a);
    color: var(--wp--preset--color--base, #fff);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

a.realisation-card__badge:hover {
    opacity: 0.8;
}

/*
#tarteaucitronAlertSmall {
	display:none!important;
}
*/


/*Header
#page-container {
    padding-top: 32px!important;
    }
    
    @media screen and (min-width: 981px) {
        .et_builder_inner_content .et_pb_section:first-child {
            padding-top: 180px!important;
        }
    }
    
    @media screen and (max-width: 710px) {
        .et_builder_inner_content .et_pb_section:first-child {
            padding-top: 100px!important;
        }
        
        #main-header {
            background-color: rgba(153, 137, 141, 0.7)!important;
        }
        
        .home #main-header {
        background-color: transparent!important;
    }
        
/*Logos partenaires home
    #logo-partenaires-home	.et_pb_column {
    width: 46%! important ;
        margin-right:4%;
        padding-top: 30px;
        padding-bottom:30px
    }
        
        
    }
    
    @media screen and (min-width: 711px) and (max-width: 980px) {
        .et_builder_inner_content .et_pb_section:first-child {
            padding-top: 190px!important;
        }
    }
    */


/*Homepage liens OBF
    .obf-button-mwp {
        padding: 0.5em 1em!important;
        border-width: 1px!important;
        border: 1px solid #ffffff!important;
        border-color: RGBA(0,0,0,0);
        font-family: 'Work Sans',Helvetica,Arial,Lucida,sans-serif!important;
        font-weight: 700!important;
    
    }
    
    a.obf-button-mwp:hover {
        transform: scaleX(1.03) scaleY(1.03)!important;
        transition: all 300ms ease 0ms;
        color: #ED4F54!important;
        border: 1px solid #ED4F54!important;
        border-color: #ED4F54!important;
        background-image: initial;
        background-color: transparent!important;
        color: #ee474c!important
    }

/*Icones sociales obfusquées
    .et_pb_social_media_follow li button {
        margin-right: 8px!important;
        display: inline-block!important;
        text-decoration: none;
        text-align: center;
        position: relative;
          cursor: pointer;
    }  
    
    .obf_social li {
        display: inline-block;
    }
    
    .obf_social {
        margin-left: -15px;
    }
    
    ul.obf_social {
        text-align: center;
    }

/* 
     .et_pb_social_media_follow li button.icon {
        border-radius: 3px;
    } 
      
    .et-social-facebook button.icon:before {
        content: "\e093";
    }
      
    .et-social-twitter button.icon:before {
        content: "\e094";
    }  
      
     .et-social-linkedin button.icon:before {
        content: "\E09D";
    }

    .et_pb_social_icon button.icon:before {
        font-family: ETmodules;
        speak: none;
        font-style: normal;
        font-weight: 400;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-shadow: 0 0;
        direction: ltr;
    }
      .et_pb_social_media_follow li button.icon:before {
        height: 32px;
        width: 32px;
        font-size: 16px;
        line-height: 32px;
        display: block;
        color: #fff;
        transition: color .3s;
        position: relative;
        z-index: 10;
    }
      
      .et_pb_social_icon button.icon {
        vertical-align: middle;
    }
      
      .et_pb_social_media_follow li button.icon {
        height: 32px;
        width: 32px;
        padding: 0;
        box-sizing: content-box;
    }
      .et_pb_social_media_follow_network_0_tb_footer button.icon {
        background-color: #ee474c!important;
    }
      
      .et_pb_social_media_follow_network_1_tb_footer button.icon {
        background-color: #ee474c!important;
    }
      
      .et_pb_social_media_follow_network_2_tb_footer button.icon {
        background-color: #ee474c!important;
    }
*/
     
/*Bouton contact Obf
    a.contact_footer {
        color: #ED4F54!important;
        padding-right: 0.7em!important;
      padding-left: 0.7em!important;
        font-family: 'Work Sans',Helvetica,Arial,Lucida,sans-serif!important;
        font-weight: 700!important;
        border-width: 1px!important;
        border-color: RGBA(0,0,0,0);
    }
    
    a.contact_footer:hover {
        border-color: #ED4F54!important;
    }
*/
    
/* articles
    .single h3, .single h2 {
        margin-top: 20px;
        margin-bottom: 20px
    }
    
    p.has-background {
       padding: 1.25em 2.375em!important;
        margin-top: 20px;
        margin-bottom: 30px;
    }
    
    .single .wp-block-image {
        margin-top: 30px;
        margin-bottom: 40px!important;
    }
    
    .wp-block-image figure {
        text-align : center;
    }
    
    .mwp-article-content .wp-element-button,.mwp-article-content .wp-block-button__link {
        Background-color: white;
        color:black;
        border-radius: 0px;
    }

    */


/*Sommaire
    .lwptoc_i {
        background: white;
            box-shadow: 0px 0px 55px 0px #ededed;
        padding : 30px!important
    }
    
    .lwptoc_title {
        font-size: 28px;
    }
    
    .lwptoc_i a {
        background-image:none;
        font-weight: 500
    }
*/    


/*Articles en. relation
    .et_pb_blog_grid article {
    box-shadow: rgb(0 0 0 / 15%) 0 0 55px 0;
    
        }
    
    .et_pb_blog_grid .et_pb_post {
            border: none;
    }
    
/*Mockup site web
    .div-pixel-mockup-screen img {
        width:100%;
        height:100%
    }
*/

/*Panier
    .cart-subtotal.recurring-total, .tax-rate.recurring-total {
        display: none;
    }
*/