/* ==========================================================================
   FAC — CSS PRODUITS (version nettoyée, logique par page)
   NOTE : quelques !important sont conservés pour écraser le thème WP.
   ========================================================================== */

/* ------------------------------ Variables (optionnel) --------------------- */
:root{
  --fac-primary: #d2208e;
  --fac-accent:  #0692e2;
  --fac-muted:   #f4f4f4;
  --fac-dark:    #000;
  --fac-radius:  10px;
}

/* ------------------------------ Accessibilité & bases --------------------- */
.a-radio label input:focus-visible + span,
select:focus-visible,
input[type="text"]:focus-visible,
.button3:focus-visible,
.button4:focus-visible {
  outline: 3px solid #1e90ff;
  outline-offset: 2px;
}

/* Sélects avec icône custom */
select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background: #fff url(/wp-content/uploads/2024/02/select-fac.svg) no-repeat 98% 50% !important;
  background-size: 16px auto;
  padding-right: 2.2rem;
  cursor: pointer;
}

/* Boutons radios — base commune */
.a-radio label input + span {
  min-width:90px !important;
  height:40px;
  font-weight: 800 !important;
  border: 1.5px solid #bf097f52 !important;
  line-height: 1;
  color: #000;
  background-color:#bf097f14; /*#03baff;*/
  border-radius: 4px;
  padding: 13px 10px 10px 10px !important;
  text-align: center;
  cursor: pointer;
  box-shadow: 1px 1px 3px 0 #999 !important;
  cursor:pointer;
  margin-top:3px;
		-webkit-transition: background .3s ease-out,border .3s ease-out !important;
    -moz-transition: background .3s ease-out,border .3s ease-out !important;
    -o-transition: background .3s ease-out,border .3s ease-out !important;
    transition: background .3s ease-out,border .3s ease-out !important;
}
.a-radio label input:not(:checked) + span {
   border: 1.5px solid #e5e5e5 !important;
    background: #fff;
    box-shadow: none !important;
    color: #999;
    min-width: 90px !important;
}

/* Inputs & selects des attributs */
.print-products-area .product-attributes-list input[type="text"]{
  width:150px !important;
  min-height:40px;
  font-size:15px;
  font-weight:700;
  border:1.5px solid #d1d1d1;
  padding:6px 10px;
  line-height:normal;
  box-shadow:none;
  background-color:#f8f8f8;
  border-radius:8px;
  margin-top:5px;
}
.print-products-area .product-attributes-list select{
  min-height:40px;
  border:1.5px solid #e5e5e5 !important; /* thème override */
  border-radius:8px;
  font-weight:700;
}

/* Cart “remove” — une seule version */
#content table.cart a.remove{
  font-size:25px !important;
  height:30px; width:30px;
  font-family: Arial, sans-serif;
}

/* Li attributs de produit (fond, espacements) */
.print-products-area .product-attributes-list li{
  margin: 0 0 10px;
  border:none;
  /* background-color:#e2f6ff; */ /* optionnel */
  padding:10px;
  border-top-left-radius:10px;
}

/* Même bloc quand affiché dans le panier */
.shop_table .product-name .print-products-area .product-attributes-list li{
  background:transparent;
  padding:0;
  border-top-left-radius:0;
}

/* Label (limiter l’impact global) */
:where(.print-products-area) label{
  font-weight:600;
  letter-spacing:.4px !important;
  color:#333;
  font-size:14px;
}

/* Prix TTC & HT — page produit */
.print-products-area .product-attributes .product-price-incl-tax{
  margin: 20px 0 0;
  font-size: 40px;
  text-align:center;
  width:100%;
  padding:6px 0;
  border:none;
  color: var(--fac-accent);
}
.print-products-area .product-attributes .product-price-excl-tax{
  color:#237998;
  font-size:20px;
  width:100%;
  background-color:#f4f4f4;
  border:none;
  padding:6px 0 !important;
  text-align:center;
}

/* Boutons “ajouter au panier” */
@media (min-width: 992px){
  .product .kad_add_to_cart, .product .single_add_to_cart_button{
    font-size:15px !important;
    width:100%;
    text-transform:none !important;
    border-radius:5px;
  }
}

/* Titre produit (général) */
div.product .product_title{
  font-size:32px !important;
  color:#000 !important;
  font-weight:800;
  text-align:left;
  margin-top:15px !important;
  line-height:45px;
  font-family: Poppins, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif !important;
}

/* Colonnes page produit (général) */
@media (min-width: 992px){
  .col-md-7, .span7{
    width:51% !important;
    margin-bottom:20px;
    margin-left:5%;
  }
  .col-md-5, .span5{
    width:48%;
    padding:10px !important;
    margin-right:20px;
  }
  div.product .product_image{
    margin-left:auto; margin-right:auto;
    padding:10px; margin-bottom:20px;
  }
}

/* Boutons utilitaires */
.button_product_list{
  background-color:#f8f9fa;
  border:1px solid #ccc;
  padding:2px 6px;
  text-align:center;
  display:inline-block;
  font-size:10px;
  margin-right:6px; margin-bottom:10px;
  cursor:pointer;
  border-radius:4px;
}

/* “Devis” / “CTA sous image” */
.button4{
  border:none;
  color:var(--fac-primary);
  padding:5px;
  text-align:center;
  display:inline-block;
  font-size:15px;
  border-radius:5px;
  border:3px solid #f4f4f4;
  width:99%;
}
.button3{
  background-color:#f2f2f2;
  border:1px solid #ccc;
  color:var(--fac-primary);
  padding:5px 10px;
  text-align:center;
  display:inline-block;
  font-size:14px;
  margin-top:20px;
  cursor:pointer;
  border-radius:4px;
}

/* Tables prix unitaires */
table.unit-price-table{
  width:auto;
  text-align:center;
  margin-right:10px;
  background:#fff;
  margin-top:8px;
  font-size:11px;
  border:3px solid #f4f4f4 !important;
}
table.unit-price-table td.td-hd{
  color:#000;
  background:#fff;
  border:3px solid #f4f4f4;
}

/* Panier / totaux */
@media (min-width: 992px){
  .cart-collaterals .cart_totals{ width:60% !important; }
}
.shop_table .product-name{ width:45% !important; }
ul#shipping_method li{ background:#fff; padding:10px !important; }
ul#shipping_method li label{ font-weight:400; color:#000; }
ul#shipping_method .amount{ color:#7fba26; }

/* Tabs produit */
#content div.product .woocommerce-tabs{
  padding:25px; border-radius:10px;
}
#content div.product .woocommerce-tabs .panel{ margin:0 !important; }
.woocommerce-tabs .panel h3{
  border-bottom:none !important; margin:8px 0 !important;
}

/* Images produit */
.woocommerce-product-gallery img{
  border:3px solid #fff;
  border-radius:10px;
}

/* Liens description */
.d_link{ text-decoration:underline !important; }

/* Petites règles diverses */
#home-custom-carousel .custom_carousel_item{ border:none !important; }
.entry-content p{ margin-bottom:8px !important; }
.entry-content h2{ margin-bottom:12px !important; }
.entry-content h4{ margin-bottom:8px !important; }
.entry-title{
  margin-top:80px !important;
  color:#303030;
  font-family: "Quicksand", system-ui, sans-serif;
}
.grid_item img{
  margin:0 auto;
  border-radius:10px;
  box-shadow:1px 2px 3px 1px #f1f1f1;
}
.product_item .product_details h5{
  color:#000;
  font-weight:600 !important;
  font-size:16px !important;
}

/* Cacher liste boutons sur mobile si besoin */
@media (max-width: 700px){ .button_product_list{ display:none; } }

/* Description catégorie — base */
.term-description{
  text-align:justify;
  padding:20px !important;
  font-size:13.5px !important;
  background-color:#9b51e00d;
  border-radius:15px;
}

/* ------------------------------ Logique Catégorie: term-2591 -------------- */
.term-2591 .page-title{
  font-family: "Parisienne", cursive;
  font-weight:400;
  line-height:60px;
  font-size:50px;
}
.term-2591 .term-description{
  text-align:justify;
  padding:20px !important;
  font-size:13.5px !important;
  background:#fff !important;
  border-radius:15px;
}

/* ------------------------------ Logique Produit: postid-1462 -------------- */
@media (min-width: 992px){
  .postid-1462 .col-md-7, .postid-1462 .span7{
    width:72% !important;
    padding:10px 40px;
    margin:0 0 20px 0;
    box-shadow:none;
  }
  .postid-1462 .col-md-5{ width:28% !important; margin:0; }
}
.postid-1462 .print-products-area .product-attributes-list input[type="text"],
.postid-1462 .print-products-area .project-name-area input{
  width:52% !important;
}
.postid-1462 .print-products-area .product-attributes-list select{
  width:52% !important;
  height:28px;
  border:1px solid #ccc;
  font-size:1em;
}
.postid-1462 label{
  float:left;
  margin-top:10px;
  width:48%;
}

/* ------------------------------ Logique Produit: postid-6862 -------------- */
/* Étiquette Noël */
.postid-6862 .print-products-area .product-attributes-list li{
  margin-top:15px !important;
  border:none !important;
  padding:0 !important;
}
.postid-6862 .a-radio label input + span{
  min-width:90px !important;
  font-weight:400;
  line-height:1;
  background:transparent;
  border-radius:4px;
  border:3px solid red;
  padding:10px !important;
  text-align:center;
  cursor:pointer;
  box-shadow:1px 1px 3px 0 #999 !important;
  margin:3px 15px 0;
}
.postid-6862 .a-radio label input:not(:checked) + span{
  border:3px solid #fff !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#999;
  min-width:90px !important;
}
.postid-6862 figure{ border:none; }

/* Bandeau de contenu (si utilisé) */
.contentclass{
  background:#1e90ff61;
  padding-bottom:30px;
  padding-top:0 !important;
  /* background-image:url(/wp-content/uploads/fac/neige_bleu_2.png) !important; */
}

/* ------------------------------ Logique Produit: postid-6672 -------------- */
/* Mailing */
.postid-6672 .col-md-5{ display:none; }
@media (min-width: 992px){
  .postid-6672 .col-md-7, .postid-6672 .span7{
    width:85% !important;
    padding:10px 40px;
    margin:0 10% 20px;
    box-shadow:none;
  }
}
/* Boutons radio plus larges */
.postid-6672 .a-radio label input + span{
  width:205px !important;
  font-weight:400;
  background:#ffeb3b;
  border-radius:4px;
  padding:10px !important;
  text-align:center;
  cursor:pointer;
  margin-top:3px;
  margin-left:10px;
}
.postid-6672 .a-radio label input:not(:checked) + span{
  border:1px solid #fff !important;
  background:#fff;
  box-shadow:none !important;
  color:#999;
  width:205px !important;
}
/* Garder la flèche Select2 pour l’affordance
.postid-6672 .select2-container--default .select2-selection--single .select2-selection__arrow{ display:none; }
*/

/* ------------------------------ Logique Produit: postid-5082 -------------- */
/* Étiquette enfant */
.postid-5082 .print-products-area .product-attributes-list li{
  margin:0 !important;
  border:none !important;
  background:transparent !important;
  padding:0 !important;
}
.postid-5082 div.images{
  /* display:none; */ /* préfère réduire plutôt que cacher pour SEO/UX */
}
.postid-5082 .print-products-area .attribute-images ul li{ width:50px; }

@media (min-width: 992px){
  .postid-5082 .col-md-7, .postid-5082 .span7{
    width:45% !important;
    padding:10px 40px;
    background: linear-gradient(180deg, #14d1ff75, #fff);
    border:1px solid #ccc;
    border-radius:5px;
    margin-bottom:20px;
    box-shadow:2px 2px 4px 1px #d1d1d1;
    margin-left:5%;
  }
}
.postid-5082 label{
  font-size:22px;
  color:#000;
  font-weight:600;
  text-align:center;
  margin-top:15px;
  font-family:'Aladin', cursive;
  width:210px;
}
.postid-5082 div.product .product_title{
  font-size:52px !important;
  color:#fff !important;
  font-weight:600;
  text-align:center;
  background:transparent !important;
  margin-top:15px;
  font-family:'Aladin', cursive;
  text-shadow: 4px 2px 7px #ff7d14;
  margin-bottom:15px;
}
.postid-5082 .a-radio-493-53,
.postid-5082 .a-radio-493-35{ display:none; }

/* ------------------------------ Contenus divers (accueil/blog etc.) ------ */
.container2{ width:100% !important; padding:0 40px; }
.container3{ width:100% !important; border-top:1px solid #f2f2f2; }
.t_aff{ font-size:18px; font-weight:bold; color:#c5007b; }
.img_aff{ min-width:250px; }

.place-order #place_order{
  float:unset !important;
  margin-right:auto !important;
  margin-left:auto !important;
  border-radius:11px;
  width:300px;
  display:grid;
}

#home-custom-carousel .custom_carousel_item{ border:none !important; }

/* Masquer les très petites notes site-wide ? Mieux vaut éviter :
small{ display:none !important; } */

/* Carrousel/galerie accueil */
.image-gallery{
  display:flex; gap:30px; flex-wrap:wrap; justify-content:center; padding-bottom:40px;
}
.gallery-title{
  font-size:2em; padding-top:20px; color:#333; text-align:center;
}
.image-container{
  display:flex; flex-direction:column; align-items:center;
  border-radius:12px; overflow:hidden;
  background:#fff;
  box-shadow:0 5px 10px rgba(0,0,0,.1);
  transition: transform .3s ease, box-shadow .3s ease;
  float:left;
}
.image-container:hover{ box-shadow:0 10px 20px rgba(0,0,0,.3); }
.image-container img{ width:350px; height:350px; object-fit:cover; }
.image-title{
  width:100%; text-align:center; padding:10px 0;
  font-size:16px; font-weight:bold; background:#fff; border-top:1px solid #ddd;
}

/* Menu mobile */
.kad-nav-inner .kad-mnav, .kad-mobile-nav .kad-nav-inner li a, .nav-trigger-case{ background:#fff; }
.kad-mobile-nav .kad-nav-inner li ul.sf-dropdown-menu a{
  padding:10px 5px 10px 15px; margin-left:15px;
  background:#f4f4f4; border-bottom:4px solid #fff;
}

/* Blog encarts */
.div_blog{
  border:1px solid #92c020; padding:20px; margin-bottom:20px;
  width:80%; margin-right:auto; margin-left:auto;
  box-shadow:0 10px 30px rgba(0,0,0,.1);
}
.titre_blog{
  font-weight:800; font-size:20px; text-transform:uppercase; color:#92c020;
}
.b_blog{ line-height:25px !important; font-size:1.4rem; }
.t_blog{ margin-top:30px; color:#303030; font-size:25px; font-family:"Quicksand", system-ui, sans-serif; }

/* Colissimo bouton */
a.lpc_pick_up_widget_show_map{
  cursor:pointer; color:#fff; text-transform:uppercase;
  padding:2px 6px; background:var(--fac-primary); border-radius:3px;
}

/* Search bar */
.dgwt-wcas-preloader{ right:200px; }
.dgwt-wcas-search-wrapp{ margin-left:150px !important; top:-10px; }
.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input{
  height:60px; border:2px solid #d1d1d1; border-radius:10px;
}
.sliderclass{ padding:0 !important; }

/* Divers */
.topclass{ background:#fff !important; }
.footerclass, .footerclass a{ color:#fff !important; }

/* Ajustement aide attribut */
.print-products-area .product-attributes-list .a-help{ right:-40px !important; }

/* Masquage menu déroulant image produits (si voulu) */
.fmatrix-attr-32{ display:none; }

/* Sélection Trustpilot sur mobile */
@media (max-width:700px){ .trustpilot-widget{ display:none; } }

/* Sélection d’items vitrine */
.products .product_item{
  position:relative;
  padding:0;
  width:90%;
  background:#fff;
  border:0 solid rgba(0,0,0,.05) !important;
  /* border-radius:10px; box-shadow:1px 1px 5px 0 #00000029; */
}

/* Titres de section dans les descriptions */
.desc_panel_titre{ color:#0074ae; font-size:16px; }
.titre_cat{ color:#000; text-transform:capitalize; font-weight:bold; }

/* Widgets expédition */
.kad-topbar-left{ }
@media (min-width: 992px){
  .kad-topbar-left{ width:60% !important; }
}
