/*
Theme Name: Fabric-child
Theme URI: [Optional]
Description: Fabric child theme
Author: Quentin
Author URI: [Optional]
Template: fabric
Version: 1.0.0
*/

/*
====================================================
= 0. IMPORTS & FONTS
====================================================
*/

@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300&display=swap');


/*
====================================================
= 1. GLOBAL SETTINGS (TYPO, RESET, BOUTONS, COULEURS)
====================================================
*/


h2, h3, h4, h5, h6, a, button, p {
    font-family: open sans !important;
    font-weight: 400 !important;
}

button {
    background-color: #e2bd4d !important;
}

.scheme_default, body.scheme_default {
    --theme-color-bg_color: #FAFAFA;
}

.grecaptcha-badge {
    display: none!important;
}

.page_content_wrap{padding-top:2rem;}

/*
====================================================
= 2. HEADER GLOBAL (LOGOS + MENUS + FORMULAIRES)
====================================================
*/

.header-layout {
    width: 100%;
    position: relative;
}

header img,
header .logo_image {
    max-width: 300px!important;
    height:auto!important;
}

header form {
    display:none!important;
}

/* Menu texte */
header #menu_website nav ul,
header #menu_website nav ul li,
header #menu_website nav ul li a {
    color:#161616!important;
    font-weight:500!important;
}

/* Forcer menu Fabric visible */
.sc_layouts_menu,
.sc_layouts_menu * {
    visibility: visible !important;
}


/*
====================================================
= 3. ACCUEIL – TITRE ANIMÉ / HERO
====================================================
*/

#title_mobile_only{
    display:none;
    font-size:4rem;
    text-shadow:0 0 6px rgba(0,0,0,0.35);
}

#title_mobile_mesnard{
    text-shadow:0 2px 8px rgba(13,7,96,1);
    color:#0D0760;
}

.title-wrapper{
    position:relative;
    text-align:left !important;
    overflow:hidden;
    z-index:10;
}

#title{
    font-weight:500;
    font-size:9rem;
    margin:0 !important;
    font-family: "Playfair Display"!important;
}

.corderie{
    display:block;
    color:#161616;
    text-shadow:0 0 6px rgba(0,0,0,0.35);
    margin-bottom:30px;
}

.mesnard{
    display:block;
    margin-left:330px;
    color:#0d0760;
}

/* Animation lettres */
.char {
    font-family: "Playfair Display"!important;
    opacity:0;
    display:inline-block;
    transform:translateY(70px);
    filter:blur(0.5px);
    animation: charReveal 1s cubic-bezier(.25,.8,.25,1) forwards;
}

@keyframes charReveal {
    0% { opacity:0; transform:translateY(70px); }
    60% { transform:translateY(-12px); }
    100% { opacity:1; transform:translateY(0); }
}


/*
====================================================
= 4. ACCUEIL – IMAGES HERO + ANIMATIONS
====================================================
*/

/* IMAGES : parfaitement centrées */
.header-images {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin: 0 auto;
    width: 100%;
    max-width: 2000px;
    position: relative;
    z-index: 3;
}

/* Images conservées */

.img-left {
    width: 450px;
    height: auto;
    align-self: flex-end;
}

.img-center {
    width: 802px;
    height: auto;
    margin-top: -60px;
    align-self: center;
}

.img-right {
    width: 277px;
    height: auto;
    align-self: flex-start;
}

.h-img {
    opacity: 0;
    border-radius: 6px;
    object-fit: cover;
    clip-path: inset(100% 0 0 0);
    animation: revealImage 2.5s cubic-bezier(.25,.8,.25,1) forwards;
}

@keyframes revealImage {
    0% { opacity:0; clip-path: inset(100% 0 0 0); }
    100% { opacity:1; clip-path: inset(0 0 0 0); }
}

/* PARAGRAPHE BLEU */
.header-paragraph {
    margin-top: 100px;
    margin-bottom: -100px;
    margin-left: -80px!important;
    z-index: 6;
    position: relative;
}

.header-paragraph p {
    margin: 0 0 4px 0;
    font-size: 1.4em;
    color: #040085;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
}

.p-line {
    opacity: 0;
    transform: translateX(-50px);
    filter: blur(3px);
    animation: lineRevealLeft 2.0s ease-out forwards;
}

@keyframes lineRevealLeft {
    0% {
        opacity: 0;
        transform: translateX(-50px);
        filter: blur(3px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
        filter: blur(0);
    }
}



/*
====================================================
= 5. ACCUEIL – SECTIONS CATEGORIES PRODUITS
====================================================
*/

/* CONTAINER PRINCIPAL : 2 COLONNES */
.container-cat-home {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    width: 100%;
    height: 600px;
    margin: auto;
}

/* COLONNE GAUCHE = GRANDE CATÉGORIE */
.left-side-cat {
    height: 100%;
}

/* COLONNE DROITE = GRILLE 2×2 */
.grid-cats-right {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 22px;
    height: 100%;
}

/* BLOC CATÉGORIE — CONTAINER */
.categories_list_item {
    position: relative;
    height: 100%;
    display: flex;
    align-items: flex-start;   /* titre en haut */
    justify-content: center;   /* centré horizontalement */
    padding: 20px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* IMAGE DANS ::BEFORE POUR ZOOM */
.categories_list_item::before {
    content: "";
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: grayscale(100%);
    transform: scale(1);
    transition: transform .45s ease, filter .35s ease;
    z-index: 1;
}

/* OVERLAY DANS ::AFTER */
.categories_list_item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    transition: opacity .35s ease;
    z-index: 2;
}

/* HOVER : COULEUR + ZOOM + SUPPRESSION OVERLAY */
.categories_list_item:hover::before {
    filter: grayscale(0%);
    transform: scale(1.07);
}

.categories_list_item:hover::after {
    opacity: 0;
}

/* TITRE CATÉGORIE (EN HAUT CENTRÉ) */
.categories_list_item h3 {
    position: relative;
    z-index: 3;
    color: white;
    font-size: 22px;
    margin: 0;
    text-align: center;
    width: 100%;
    transition: color .3s ease;
}

/* HOVER TITRE = NOIR */
.categories_list_item:hover h3 {
    color: #000;
}

/* ASSIGNATION DES IMAGES DANS ::BEFORE */
.categorie-one::before {
    background-image: url("https://corderiemesnard.com/wp-content/uploads/2023/07/cordage-cat-c.png");
}

.categorie-two::before {
    background-image: url("https://corderiemesnard.com/wp-content/uploads/2023/06/inox-c.webp");
}

.categorie-three::before {
    background-image: url("https://corderiemesnard.com/wp-content/uploads/2023/07/levage-cat-c.png");
}

.categorie-four::before {
    background-image: url("https://corderiemesnard.com/wp-content/uploads/2023/07/protection-c.webp");
}

.categorie-five::before {
    background-image: url("https://corderiemesnard.com/wp-content/uploads/2023/06/cerclage-c.webp");
}


/*
====================================================
= 6. SECTION EXPERTISE / MARQUE
====================================================
*/

.marquee-container{
    height:30px;
    overflow:hidden;
    line-height:30px;
    position:relative;
}

.marquee{
    display:flex;
    justify-content:space-around;
    position:absolute;
    left:100%;
    width:100%;
    animation: marquee 30s linear infinite;
    white-space:nowrap;
}

.marquee2{ animation-delay:15s; }

@keyframes marquee {
    0% { left:100%; }
    100% { left:-100%; }
}


/*
====================================================
= 7. HOME – PRODUITS MISE EN AVANT
====================================================
*/

.promote-product {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.promote-product div h3 {
    font-size:1.1rem;
}


/*
====================================================
= 8. PAGES INTERNES (IDENTITÉ / SAVOIR-FAIRE / FIBRES)
====================================================
*/

.sc_skills_counter_modern .sc_skills_total {
    font-size:6rem;
}

.trx_addons_hover_team { display:none; }

.sc_team_item_info { text-align:center; }

.sc_team_item_thumb img {
    border-radius:0 100px / 120px;
}

/*
====================================================
= 9. PAGE NOTRE SAVOIR-FAIRE
====================================================
*/

#section_4_blocs_qualites .qualite-card {
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.14),
    0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  margin: 0 10px;
  padding:20px;
}

#section_4_blocs_qualites .qualite-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(0,0,0,0.14);
}

#expertise_bloc .expertise_bloc h3 {
  font-size: 1.8rem;       /* au lieu de 2.5rem */
  line-height: 1.25;
  margin-top: 12px;
  margin-bottom: 10px;
}

/* =========================
   FIX ALIGNEMENT ICÔNES – ELEMENTOR
========================= */
#expertise_bloc .elementor-image-box-img {
  display: flex;
  justify-content: center;
  align-items: center;

  width: auto !important;
  margin: 0 auto 12px !important;
  padding: 0;

  line-height: 0;
}

#expertise_bloc .expertise_bloc{
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#expertise_bloc .expertise_bloc:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(0,0,0,0.14);
}

#expertise_bloc .expertise_bloc img{
    width:100px;
    height:auto;
}

@media (max-width: 767px) {
  #section_4_blocs_qualites {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  #section_4_blocs_qualites .qualite-card {
    margin-bottom: 32px;
    padding: 44px 26px;
  }
}


/*
====================================================
= 10. WOOCOMMERCE – FIXES GLOBAUX (CATALOGUE)
====================================================
*/
#breadcrumbs{
    display:flex;
    flex-direction: row;
    justify-content: center;
    list-style-type: none;
}

#breadcrumbs li {
    display: inline;
    margin:0 6px;
    font-size:1rem;
}
/*====================================================
= 11. WOOCOMMERCE – PAGE PRODUIT
====================================================
*/

.reviews_tab,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce-variation-availability,
.woocommerce div.product form.cart .tinvwl_add_to_wishlist_button,
.woocommerce div.product p.price,
.woocommerce span.amount {
    display:none !important;
}

/* == BLOc Commercial sécurisé (n'affecte plus WooCommerce) == */

.card-promote {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 30px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #eaeaea;
    box-shadow: 0 4px 16px rgba(0,0,0,0.05);
    max-width: 900px;
    margin: 40px auto;
}

.card-promote img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 12px;
}

.card-promote h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #111;
}

.card-promote .stars {
    color: #d4af37; /* doré élégant */
    font-size: 0.8rem;
    margin-left: 10px;
}

.card-promote p {
    margin: 6px 0 12px;
    line-height: 1.5;
    font-size:0.9rem;
    color: #333;
}

.cta-btn {
    display: inline-block;
    padding: 6px 12px;
    background: #0d1b3d; /* bleu profond Mesnard */
    color: #ffffff;
    font-weight: 600;
    border-radius: 8px;
    font-size:0.9rem;
    text-decoration: none;
    transition: 0.25s ease;
    border: 2px solid transparent;
}

.cta-btn:hover {
    background: #c39200; /* doré */
    border-color: #c39200;
    color: #fff;
    box-shadow: 0 6px 16px rgba(195, 146, 0, 0.25);
}

.card-promote .reviews{font-size: 0.8rem;}

.woocommerce div.product div.images img{
    border:1px solid #d4d2d2!important;
}
/*
====================================================
= 12. FORMULAIRES (Contact / Partage produit)
====================================================
*/

#shareProductForm {
    display:flex!important;
    justify-content:space-between!important;
    width:700px!important;
    padding:14px!important;
    margin-bottom:20px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #eaeaea;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
    max-width: 900px;
}

#shareProductForm input::placeholder {
    color:#161616!important;
}

#shareProductForm input[type="submit"] {
    padding:10px 20px!important;
    font-size:1rem;
    border: 1px solid #161616!important;
    background-color:transparent!important;
    color:#161616!important;
}

#shareProductForm input[type="submit"]:hover {
    border: 1px solid #e2bd4d!important;
    background-color:#e2bd4d!important;
    color:#202020!important;
}

#title-share-mail{
    display:block;
}

.share-product-wrapper {
    width: 100% !important;
    clear: both !important;
    display: block !important;
    margin-top: 10px;
}
.share-product-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin-top: 20px !important; /* espace au-dessus */
    margin-bottom: 10px;
    color: #161616;
}

.share-product-desc {
    font-size: 1rem;
    margin-bottom: 20px;
    color: #444;
}


/*
====================================================
= 13. SECTIONS PROMOTIONNELLES
====================================================
*/

.container-promote {
    display:flex;
    justify-content:center;
    align-items:center;
    height:300px;
    margin-bottom:50px;
}

.card-promote {
    display:flex;
    width:80%;
    max-width:800px;
    background:#fff;
}


/*
====================================================
= 14. RESPONSIVE – MOBILE
====================================================
*/

@media (max-width: 767px) {

    body { padding:20px; }

    .title-wrapper { text-align:center; }

      /* Style global du titre mobile */
    #title_mobile_only {
        display: block !important;
        text-align: center;
        font-family: "Playfair Display", serif !important;
        font-size: 4.5rem;
        line-height: 1.15;
        margin-top: 40px;
    }

    /* Ligne "CORDERIE" */
    #title_mobile_only span:first-child {
        display: block;
        color: #161616;
    }

    /* Ligne "MESNARD" */
    #title_mobile_mesnard {
        display: block;
        margin-top: 25px;   /* ← ESPACEMENT ICI */
        color: #0D0760;
    }

    .header-layout{ display:none; }

    .header-paragraph { margin-left:0; text-align:center; }

    .header-images { display:none; }

    .container-cat-home,
    .container-cat-home .right-side-cat,
    .container-cat-home .row-content-cat {
        flex-direction:column;
    }

    .container-cat-home .categories_list_item { height:300px; }
}


/*
====================================================
= 15. RESPONSIVE – TABLETTE
====================================================
*/

@media (min-width:768px) and (max-width:1023px){

    .header-layout {
        width:750px;
        margin:0 auto;
        padding-top:40px;
    }
    
        #title_mobile_only {
        display:none;
    }
    
    #title{
        font-size:7rem;
        margin:50px auto!important;
        text-align: center;

}
    .mesnard{
    margin-left:0px;
    margin-top:60px;
    }
        
    .header-paragraph{
        margin:0 auto 40px;
        text-align:center;

    }
}

@media (min-width:1024px) and (max-width:1299px){

    .header-layout {
        width:750px;
        margin:0 auto;
        padding-top:40px;
    }
    
        #title_mobile_only {
        display:none;
    }
    
    #title{
        font-size:7rem;
        margin:0px auto!important;
        text-align: left;

}
    .mesnard{
    margin-left:60px;
    margin-top:20px;
    }
    
    .header-paragraph{
        margin-top:10px;
        margin-bottom:20px;
        font-size:0.9rem;

    }
}

/*
====================================================
= 16. OVERRIDES & DIVERS
====================================================
*/

.zoomImg { display:none!important; }
.search-results .product .price { display:none; }

.attachment-fabric-thumb-square{
    width:400px!important;
    height:350px!important;
}

.woocommerce div.product div.images, .woocommerce #content div.product div.images, 
.woocommerce-page div.product div.images, 
.woocommerce-page #content div.product div.images{
    margin-bottom: 3.5em;
}