/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

:root {
  --primaire: #b10021;
  --primaire-alt: #940822;
  --accent: #6874e8;
  --accent-alt: #4141c1;
  --fond-site: #f9fbff;
  --fond-boites: #ffeff2;
  --corps: #0d090a;
  --corps-light: #6b6db7;
  --blanc: #ffffff;
  --succes: #9fd356;
  --erreur: #b10021;
  --theme-text-transform: none;
  --quantity-width: 50px; /* width champs  - + panier*/
}

body {
  text-transform: none !important;
  background-color: var(--fond-site);
}

body,
p,
span {
  font-family: var(--font-corps);
  font-weight: normal;
  font-size: var(--text-m);
}

h1,
.style-h1 {
  font-family: var(--font-titre);
  font-weight: normal;
  font-size: var(--text-2xl);
}

h2,
.style-h2 {
  font-family: var(--font-titre);
  font-weight: normal;
  font-size: var(--text-xl);
}

h3,
.style-h3 {
  font-family: var(--font-corps);
  font-weight: normal;
  font-size: var(--text-xl);
}
h4,
.style-h4 {
  font-size: 20px !important;
}

.text-primaire {
  color: var(--primaire);
}
.text-blanc {
  color: var(--fond-boites);
}
.bg-purple {
  background-color: var(--accent-alt);
}
.bg-icon {
  position: absolute;
  left: -100px;
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(-28.89deg);
  opacity: 0.18;
  width: 524px;
  height: 628px;
  background-image: url("https://mathieu-location.fr/wp-content/uploads/2025/04/devis.svg");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}

.shadow {
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.05);
}

/* supprime stepper */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield; /* Firefox */
}

/*********** 
nav 
************/

/* Container principal en flex */
header [data-column="end"] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Menu à gauche */
.header-menu-1 {
  /* order: 1; */
  margin-right: auto !important;
}

body:not(.home):not(.page-template-acompte) #header {
  box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.05);
  margin-bottom: 100px;
}
@media (max-width: 768px) {
  body:not(.home):not(.page-template-acompte) #header {
    margin-bottom: 20px;
  }
}

/* breadcrumbs */
.ct-breadcrumbs .first-item a {
  color: var(--corps);
}
.ct-breadcrumbs .last-item {
  color: var(--primaire);
}
.ct-breadcrumbs + h1 {
  margin-block-start: 20px;
  color: var(--primaire);
  font-weight: 400;
  font-size: 39px;
}

/* Le bloc avec les boutons (payer, panier, compte) à droite */
@media (min-width: 1024px) {
  .ct-header-cta,
  .ct-header-cart,
  .ct-header-account {
    /* order: 2; */
    margin-left: 1rem;
    display: flex;
    align-items: center;
  }
}
/* couleur de fond menu rwd  */
[data-header*="type-1"] #offcanvas .ct-panel-inner {
  background-color: var(--fond-site);
}
.ct-toggle-close .ct-icon {
  fill: var(--corps);
}

.ct-panel-content-inner .ct-header-cta {
  width: 100% !important;
}

.ct-search-results {
  min-width: 250px;
}
/* btns */
.wp-block-button__link.wp-element-button {
  font-weight: 700;
  border-width: 3px;
  border-style: solid;
}
.btn-primaire .wp-element-button,
.contact_form .btn-primaire,
.wc-proceed-to-checkout .checkout-button {
  background-color: var(--primaire);
  border-color: var(--primaire);
}
.btn-primaire .wp-element-button:hover,
.contact_form .btn-primaire:hover,
.wc-proceed-to-checkout .checkout-button:hover {
  background-color: var(--primaire-alt);
  border-color: var(--primaire-alt);
}
.btn-primaire_bd-white .wp-element-button {
  background-color: var(--primaire-alt);
  border: 1px solid white;
}
.btn-primaire_bd-white .wp-element-button:hover {
  background-color: white;
  border: 1px solid white;
  color: var(--corps);
}
.btn-accent .wp-element-button {
  background-color: var(--accent);
  border-color: var(--accent);
}
.btn-accent .wp-element-button:hover {
  background-color: var(--accent-alt);
  border-color: var(--accent-alt);
}
.btn-accent-alt_bd-white .wp-element-button {
  background-color: var(--accent-alt);
  border: 1px solid white;
}
.btn-accent-alt_bd-white .wp-element-button:hover {
  background-color: var(--accent);
  border: 1px solid white;
}

.btn-blanc .wp-element-button {
  background-color: var(--blanc);
  color: var(--corps);
  border-color: var(--corps);
}
.btn-blanc .wp-element-button:hover {
  background-color: var(--corps);
  color: var(--blanc);
  border-color: var(--corps);
}

/* 
page accueil 
*/
.wp-block-video.alignfull {
  margin-bottom: -150px;
}
/* Cible tous les lecteurs vidéo */
video::-webkit-media-controls-timeline,
video::-webkit-media-controls-volume-slider,
video::-webkit-media-controls-mute-button,
video::-webkit-media-controls-fullscreen-button,
video::-webkit-media-controls-time-remaining-display,
video::-webkit-media-controls-current-time-display,
video::-webkit-media-controls-seek-back-button,
video::-webkit-media-controls-seek-forward-button {
  display: none !important;
}

/* Facultatif : réduis la taille du player */
video::-webkit-media-controls-panel {
  background: transparent;
  padding: 0;
}

/* presentation accueil */

.bloc-presentation {
  background-color: white;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.05);
  background-position: bottom 10px right 10px;
  background-repeat: no-repeat;
  background-size: 190px auto;
  position: relative;
  /* top: -40px; */
  top: -50%;
  margin-top: 70px !important;
}
@media (min-width: 768px) {
  .bloc-presentation {
    background-image: url("https://mathieu-location.fr/wp-content/uploads/2025/04/logo-shape.svg");
    margin-top: 0px !important;
  }
}
@media ((min-width: 768px) and (max-width: 999px)) {
  .home .bloc-presentation {
    top: -200px;
  }
}
@media (min-width: 1000px) {
  .home .bloc-presentation {
    top: -300px;
  }
}

.bloc-presentation h1 {
  line-height: 2.5rem;
}

/* bloc blockquote */
.bloc-accent-alt {
  background-color: var(--accent-alt);
  color: white;
  position: relative;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'><path fill-rule='evenodd' clip-rule='evenodd' d='M5.75505 1.68291C5.46242 1.68291 5.19349 1.72572 5.01418 1.79378L5.01324 1.79414L2.02587 2.9204C1.78678 3.01103 1.5443 3.21101 1.36 3.47933C1.17565 3.7477 1.07505 4.04697 1.07505 4.3049V8.76876C1.07505 9.03213 1.16461 9.37214 1.3292 9.70333C1.49387 10.0347 1.71014 10.3099 1.91982 10.4666L4.4866 12.3934C4.82283 12.6427 5.28214 12.7793 5.7603 12.7793C6.23868 12.7793 6.6959 12.6426 7.02773 12.3947L8.69235 11.1423H6.46905C5.76622 11.1423 5.14992 11.0643 4.74208 10.6617C4.33213 10.2571 4.25204 9.64314 4.24905 8.95144V5.67839C4.24904 5.04144 4.31314 4.47741 4.62857 4.07618C4.97274 3.6418 5.49124 3.51247 6.07392 3.47452C6.08362 3.47389 6.09333 3.47358 6.10305 3.47358C6.1523 3.47358 6.20365 3.47231 6.26415 3.47081C6.32867 3.46921 6.39681 3.46757 6.46905 3.46757H10.1387C9.96025 3.21618 9.72233 3.0134 9.47801 2.92032L6.49592 1.79378C6.31661 1.72572 6.04768 1.68291 5.75505 1.68291ZM10.1931 11.1362C10.1806 11.1468 10.1692 11.1567 10.158 11.1667C10.1486 11.175 10.1389 11.183 10.1289 11.1906L7.56691 13.1183C7.05169 13.5035 6.39615 13.6829 5.7603 13.6829C5.12434 13.6829 4.46801 13.5034 3.9515 13.12L1.38228 11.1914C1.02811 10.9265 0.731163 10.5238 0.523897 10.1068C0.316494 9.68947 0.175049 9.21021 0.175049 8.76876V4.3049C0.175049 3.82788 0.353449 3.35306 0.619106 2.96631C0.88473 2.57961 1.26342 2.24339 1.70824 2.07493L4.69592 0.948549C5.00852 0.830002 5.39388 0.779297 5.75505 0.779297C6.1163 0.779297 6.50124 0.829829 6.81388 0.948435L9.79651 2.07518C10.4078 2.30776 10.913 2.86373 11.1654 3.47452C11.7405 3.50049 12.2409 3.60801 12.5882 3.95275C12.9975 4.35906 13.075 4.97542 13.075 5.67239V9.01982C13.069 9.69206 12.9823 10.2903 12.5657 10.6816C12.1579 11.0645 11.5498 11.1362 10.861 11.1362H10.1931ZM12.175 6.30491V5.67239C12.175 4.97176 12.0756 4.71462 11.9554 4.59533C11.8378 4.47856 11.589 4.38226 10.9427 4.37201C10.9103 4.37939 10.8769 4.38321 10.843 4.38321H6.46305C6.40331 4.38321 6.34546 4.38458 6.28441 4.38609C6.22346 4.38761 6.16718 4.38901 6.11117 4.38922C5.60497 4.42094 5.42658 4.52405 5.33982 4.63005C5.23419 4.7657 5.15505 5.03822 5.15505 5.66636V6.30491H12.175ZM5.15505 7.20852H12.175V9.01369C12.1689 9.67727 12.0666 9.91296 11.9509 10.0216C11.8262 10.1387 11.5583 10.2326 10.861 10.2326H6.46905C5.76149 10.2326 5.49682 10.1327 5.37468 10.0115C5.2544 9.89208 5.15505 9.63472 5.15505 8.93744V7.20852ZM5.76705 9.19046C5.76705 8.94093 5.96852 8.73865 6.21705 8.73865H7.01504C7.26357 8.73865 7.46504 8.94093 7.46504 9.19046C7.46504 9.43998 7.26357 9.64227 7.01504 9.64227H6.21705C5.96852 9.64227 5.76705 9.43998 5.76705 9.19046ZM7.82505 9.19046C7.82505 8.94093 8.02652 8.73865 8.27505 8.73865H10.2371C10.4856 8.73865 10.6871 8.94093 10.6871 9.19046C10.6871 9.43998 10.4856 9.64227 10.2371 9.64227H8.27505C8.02652 9.64227 7.82505 9.43998 7.82505 9.19046Z' fill='%23ffffff' opacity='0.02'/></svg>");
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 126px;
  transition: background-size 0.3s ease;
}

.bloc-accent-alt:hover {
  background-size: 400px;
}

.bloc-primaire-alt {
  background-color: var(--primaire-alt);
  color: white;
}

@media (max-width: 768px) {
  .wp-block-buttons.is-layout-flex {
    flex-direction: column !important;
    width: 100%;
  }

  .wp-block-buttons .wp-block-button {
    width: 100% !important;
    /* margin-bottom: 0.75rem; */
  }

  .wp-block-buttons .wp-block-button__link {
    width: 100% !important;
    display: block !important;
    text-align: center;
  }

  /* retire la marge du dernier bouton */
  .wp-block-buttons .wp-block-button:last-child {
    margin-bottom: 0;
  }
}

/* Forcer les colonnes à s'étirer à la même hauteur */
.equal-cols > .col-md-4,
.equal-cols > .col-md-8 {
  display: flex;
}

/* Permet au bloc bleu de remplir sa colonne */
.h-stretch {
  height: 100%;
}

/* Pour que l'image remplisse la hauteur de sa colonne */
.img-cover {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.object-fit-cover,
.img-cover img,
figure.object-fit-cover img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

figure.object-fit-cover {
  height: 100%;
  width: 100%;
  display: flex;
}

figure.object-fit-cover img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.rounded-end {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

/* Pour les 4 icônes alignées */
.wp-block-columns.services-icons {
  text-align: center;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.services-icons .wp-block-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.services-icons .wp-block-column figure {
  margin-bottom: 0rem;
}

/* zone avec les 2 lignes et carré inclus */
.bloc-carre-accueil .row > div,
.bloc-carre-accueil .row > div .tentes {
  min-height: 375px;
  /* margin-top: 20px; */
}
/* Optionnel : taille des images */
.services-icons img {
  width: 40px;
  height: auto;
  color: var(--primaire);
}

.services-icons p {
  font-size: 18px;
  font-weight: 700;
}
.wp-block-columns.services-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem; /* espace entre les colonnes */
  justify-content: space-between !important; /* ou flex-start si tu veux, mais ici space-between assure une bonne répartition */
}

.wp-block-columns.services-icons > .wp-block-column {
  flex: 0 0 calc(25% - 1rem) !important;
  max-width: calc(25% - 1rem) !important;
  text-align: center;
}

/* Mobile : 2 colonnes */
@media (max-width: 767.98px) {
  .wp-block-columns.services-icons > .wp-block-column {
    flex: 0 0 calc(50% - 1rem) !important;
    max-width: calc(50% - 1rem) !important;
  }
}

/* fix hauteur égale des col */
:root :where(.is-layout-flow) > * {
  margin-block-end: 0px !important;
}

@media (min-width: 768px) {
  .w-md-50 {
    width: 50% !important;
  }
}

.icon-mobile,
.icon-desktop {
  position: absolute;
  top: 1rem;
  right: 1rem;
  opacity: 0.9;
  transform: rotateZ(29deg);
}

.icon-mobile {
  display: block;
}

.icon-desktop {
  display: none;
}
.icon-desktop img,
.icon-mobile img {
  width: 65px;
}

@media (min-width: 992px) {
  .icon-mobile {
    display: none;
  }
  .icon-desktop {
    display: block;
  }
}

.related.products .entry-meta {
  display: none;
}

/* ===== FOOTER GENERAL ===== */
/* Active flex en desktop */
.ct-footer .ct-container {
  display: flex !important;
  flex-wrap: wrap !important;
}

@media (max-width: 768px) {
  .ct-footer [data-column="widget-area-1"] {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

@media (min-width: 769px) {
  .ct-footer [data-column^="widget-area-"] {
    flex: 1 1 0;
    max-width: none;
  }
}

/* footer - bottom */
.ct-footer [data-row="bottom"] > div.ct-container {
  justify-content: center;
}

/* Empilement en mobile */
@media (max-width: 768px) {
  .ct-footer .middle .ct-container > [data-column] {
    width: 40%;
  }

  /* 1er bloc (logo/infos) prend toute la place et marge en bas */
  .ct-footer .ct-container > [data-column]:first-child {
    margin-bottom: 2rem;
  }
}

/* page contact */
.ct-contact-info-block .contact-title {
  color: var(--corps-light);
}

.ct-contact-info-block li {
  align-items: flex-start !important;
}
.ct-contact-info-block .ct-icon-container {
  padding-top: 5px;
}

.contact_form input[type="text"],
.contact_form input[type="email"],
.contact_form input[type="tel"],
.contact_form input[type="url"],
.contact_form input[type="password"],
.contact_form textarea {
  background-color: #fff !important;
  border: 1px solid #ddd;
  padding: 10px;
  border-radius: 5px;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.05);
}

.contact_form input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  border: 2px solid #940822; /* Couleur bordeaux */
  width: 20px;
  height: 20px;
  border-radius: 5px; /* Coins arrondis */
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.contact_form input[type="checkbox"]:checked {
  background-color: #940822; /* Fond rempli quand coché */
  border-color: #940822;
}

/* acompte */
.acompte .form-control,
.acompte .form-control:focus {
  background-color: white;
  color: black;
}
.acompte .form-control::placeholder {
  color: rgba(0, 0, 0, 0.5); /* gris semi-transparent */
}

/*  FAQ */

.uagb-faq-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%; /* cercle parfait */
  padding: 2px; /* espace autour de l'icône */
  box-sizing: border-box;
}

.uagb-faq-icon-wrap svg {
  width: 24px;
  height: 24px;
}

.uagb-icon-active {
  border: 2px solid var(--primaire);
}
.uagb-icon-active.uagb-faq-icon-wrap svg {
  fill: var(--primaire);
}

.uagb-icon {
  border: 2px solid var(--accent-alt);
}
.uagb-icon.uagb-faq-icon-wrap svg {
  fill: var(--accent-alt);
}

/* panier devis */
#yith-ywrq-table-list th,
.ct-woocommerce-cart-form th {
  font-size: 17px;
  font-weight: 700;
}
#yith-ywrq-table-list .cart_item td,
.ct-woocommerce-cart-form .cart_item td {
  font-size: 18px;
}
#yith-ywraq-form .product-subtotal,
#yith-ywraq-form .product-quantity,
#yith-ywraq-form .product-price,
.ct-woocommerce-cart-form .product-subtotal,
.ct-woocommerce-cart-form .product-quantity,
.ct-woocommerce-cart-form .product-price {
  text-align: center !important;
}
#yith-ywraq-form input.qty {
  width: inherit;
}
#yith-ywrq-table-list .cart_item .product-subtotal .amount,
.yith-request-a-quote-page td.product-subtotal::after,
.ct-woocommerce-cart-form .cart_item .product-subtotal .amount {
  color: var(--primaire);
}

.yith-ywraq-item-remove .remove,
.yith-ywraq-item-remove.remove {
  color: var(--primaire);
}

.ct-woocommerce-cart-form .remove .ct-icon {
  fill: var(--primaire);
}

#yith-ywrq-table-list .qib-button-wrapper {
  float: none !important;
}

/* force affichage des champs dans le devis en rwd*/
@media screen and (max-width: 768px) {
  .ywraq_responsive .product-subtotal,
  .ywraq_responsive .product-price {
    display: table-cell !important;
  }
  .ywraq_responsive thead {
    display: table-header-group !important;
  }
  #yith-ywrq-table-list .cart_item td,
  yith-ywrq-table-list .input-text.qty {
    font-size: 14px !important;
  }
  #yith-ywrq-table-list .mobile-price {
    display: none;
  }
  #yith-ywrq-table-list.shop_table .quantity[data-type="type-2"] {
    width: 80px !important;
  }
  #yith-ywrq-table-list.shop_table th {
    vertical-align: middle;
  }
}

/* panier commande */
.ct-woocommerce-cart-form .cart_totals,
.ct-order-review {
  background-color: var(--fond-boites);
  border-radius: 20px !important;
  border: none !important;
}
.ct-woocommerce-cart-form,
.ct-woocommerce-checkout {
  margin-bottom: 40px;
}

table.shop_table tr th {
  border-color: var(--fond-boites);
}
/* page commande */
form.checkout .col-1,
form.checkout .col-2 {
  width: 100%;
}

.product_meta,
.woocommerce-loop-category__title,
.woocommerce-loop-product__category {
  display: none !important;
}
/* Catégorie en haut */
.product-cat-list {
  color: #7a6ff0;
  font-size: 0.9em;
  margin-bottom: 5px;
  display: block;
}

/* Prix HT simplifié */
/* .product-price-ht, .product .price {
  font-weight: bold;
  color: #000;
  font-size: 1em;
  margin-bottom: 10px;
} */

/* Titre produit */
.woocommerce-loop-product__title {
  font-weight: bold;
  font-size: 1.1em;
  margin-bottom: 5px;
}

/* Description courte (ou attribut) */
.woocommerce-product-details__short-description {
  font-size: 0.95em;
  color: #333;
  margin-bottom: 10px;
}

/* UTILE ???? */
/* Bouton "Ajouter au devis" épuré */
.add_to_quote_request_button,
.button.product_type_simple {
  background-color: #b91c1c;
  color: #fff;
  border: none;
  padding: 10px 20px;
  font-weight: bold;
  border-radius: 4px;
  cursor: pointer;
  text-transform: uppercase;
  display: inline-block;
  margin-top: 10px;
}

.add_to_quote_request_button:hover {
  background-color: #991b1b;
}
/* === PAGE PRODUITS === */

/* === Image produit === */
.woocommerce ul.products li.product img {
  display: block;
  margin: 0 auto 10px auto;
  width: auto;
  max-height: 180px;
  height: auto;
  object-fit: cover;
  border-radius: 12px;
}

/* === Conteneur produit === */
.products .product {
  background-color: #fff;
  padding: 15px;
  display: flex;
  flex-direction: column;
}

/* === Catégorie & prix (même ligne) === */
.woocommerce ul.products li.product .product-cat-list,
.woocommerce ul.products li.product .price {
  display: inline-block;
  vertical-align: middle;
  font-size: 20px;
  color: #0d090a;
  margin: 0;
}

.woocommerce ul.products li.product .product-cat-list {
  margin-right: 10px;
  color: #5865f2;
}

/* === Prix dans ordre flex === */
.products .product .price {
  order: 1;
  text-align: right;
}

/* === Titre produit === */
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  order: 2;
  font-size: 1.1rem;
  font-weight: 600;
  margin: 10px 0;
  min-height: 50px;
  color: #1a1a1a;
}

/* === Extrait produit (si présent) === */
.products .product .entry-excerpt {
  order: 3;
  margin-bottom: 20px;
  font-size: 0.9rem;
  color: #444;
}

/* === Prix promo === */
.woocommerce ul.products li.product .price del {
  color: #d00;
  margin-right: 6px;
  font-size: 0.9rem;
}

.woocommerce ul.products li.product .price ins {
  font-weight: bold;
  text-decoration: none;
}

/* === bouton location, ajouter devis === */
.products .product .add-to-quote-form {
  order: 4;
  margin-top: auto;
}

/* === Bouton === */
.woocommerce ul.products li.product .button {
  background: #b1021c;
  color: #fff;
  padding: 10px;
  margin-top: auto;
  border-radius: 4px;
  text-align: center;
  transition: background 0.3s;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce .product-entry-wrapper .add-to-quote-button:hover {
  background: #880014;
}

/* === Ajustements visuels === */
[data-products] .product .figure {
  margin-bottom: 5px !important;
}

/* === Suppression forcée des actions inutiles === */
[data-products="type-1"] .ct-woo-card-actions[data-alignment="equal"] {
  display: none !important;
}

/* PAGE PRODUIT */

/* add input on single product */
.single-product .quantity .qty {
  position: static !important;
  left: auto !important;
  clip: auto !important;
  clip-path: none !important;
  height: auto !important;
  width: auto !important;
  overflow: visible !important;
  white-space: normal !important;
}

.single-product .quantity {
  display: flex;
  align-items: center;
  border: 1px solid black;
  border-radius: 5px;
  overflow: hidden;
  width: max-content;
  margin-bottom: 1rem;
}

.single-product .quantity .qty {
  width: 50px;
  border: none;
  text-align: center;
  font-size: 16px;
  padding: 8px 0;
}

.single-product .quantity button {
  background: #f9fbff;
  border: none;
  padding: 8px 12px;
  font-weight: bold;
  cursor: pointer;
  font-size: 18px;
}

.single-product .product .quantity:first-of-type {
  display: none !important;
}

/*
 * bloc produits similaires
 */

.related.products {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: 60px 40px;
  background-color: var(--fond-boites);
}

.related.products h2 {
  font-size: 32px;
  font-weight: 400;
  margin-bottom: 20px;
  text-align: center;
}

/* CONTENEUR des produits, bien centré */
.woocommerce .related.products > h2,
.woocommerce .related.products > ul.products {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}

/* GRILLE alignée et centrée */
.woocommerce .related.products ul.products {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}

/* Carte produit */
.woocommerce .related.products ul.products li.product {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.06);
  padding: 20px;
  flex: 1 1 280px;
  max-width: 300px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
  position: relative;
}

/* YITH */

/* form du bloc ajouter au devis */
.add-to-quote-form {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
}
@media (min-width: 690px) and (max-width: 1400px) {
  .add-to-quote-form {
    flex-direction: column;
  }
}
.quantity-wrapper {
  display: flex;
  align-items: center;
  border: 1px solid black;
  border-radius: 5px;
  overflow: hidden;
}
.qty-btn {
  background: #f9fbff;
  border: none;
  padding: 8px 12px;
  font-weight: bold;
  cursor: pointer;
}
.input-text.qty {
  width: 50px;
  border: none;
  text-align: center;
  font-size: 16px;
  padding: 8px 0;
}
.add-to-quote-button {
  background: #900;
  color: #fff;
  padding: 10px 20px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-size: 16px;
}

/* style des messages d'ajout au devis */
.quote-msg {
  display: block;
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 0.95em;
  line-height: 1.4;
  max-width: 100%;
  background-color: var(--fond-boites, #f9fbff);
  color: var(--corps, #0d090a);
  transition: all 0.3s ease-in-out;
}

.quote-msg.success {
  background-color: #eaf8f0;
  border-color: #9fd356;
  color: #1d4f2b;
}

.quote-msg.warning {
  background-color: #fff7e6;
  border-color: #ffc107;
  color: #7a5600;
}

.quote-msg a {
  color: inherit;
  font-weight: bold;
  text-decoration: underline;
  margin-left: 8px;
}

/* 
PAGE DEVIS 
*/

/* 
formulaire de la page devis 
*/

/* le formulaire du devis */
.yith-ywraq-mail-form-wrapper {
  width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  box-sizing: border-box;
  background-color: var(--accent-alt);
  padding: 50px 0;
}

.yith-ywraq-mail-form-wrapper > * {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* Labels en blanc */
.yith-ywraq-mail-form-wrapper label {
  color: white !important;
}

/* Fond blanc sur les champs */
.yith-ywraq-mail-form-wrapper input,
.yith-ywraq-mail-form-wrapper textarea,
.yith-ywraq-mail-form-wrapper select {
  background-color: white !important;
  color: black !important;
  border: 1px solid #ccc !important;
  box-sizing: border-box;
}

/* Titres centrés en blanc */
.yith-ywraq-mail-form-wrapper h3,
.yith-ywraq-mail-form-wrapper h1 {
  color: white !important;
  text-align: center !important;
}

/* Bouton en full width, stylé */
.yith-ywraq-mail-form-wrapper button,
.yith-ywraq-mail-form-wrapper input[type="submit"] {
  width: 100% !important;
  display: block;
  background-color: var(--accent-alt) !important;
  color: white !important;
  padding: 15px !important;
  border: 3px solid white !important;
  font-weight: bold;
  cursor: pointer;
}

/* *** Priorité aux placeholders input + textarea *** */
.yith-ywraq-mail-form-wrapper #yith-ywraq-default-form input::placeholder,
.yith-ywraq-mail-form-wrapper #yith-ywraq-default-form textarea::placeholder {
  color: black !important;
  font-size: 1em !important;
  opacity: 1 !important;
}

.yith-ywraq-mail-form-wrapper .form-row {
  padding-top: 0px !important;
  min-height: 100px;
}

/*  bordure sur quantité devis*/
.shop_table .quantity {
  border: 1px solid black;
  border-radius: 5px;
}

/* surcharge focus woo */
div.quantity .ct-increase ~ input[type="number"]:focus,
div.quantity .ct-decrease ~ input[type="number"]:focus {
  box-shadow: none !important;
}

span.ywraq_error {
  color: #fff !important;
}

.woocommerce-error,
.woocommerce-message {
  display: block !important;
}

/* YITH mini list sidebar */
.widget_ywraq_mini_list_quote .raq-info {
  border: none !important;
}
.raq-tip-counter {
  color: var(--corps);
}
.yith-ywraq-list-wrapper {
  display: none;
}

.yith-request-a-quote-page td.product-price::after,
.yith-request-a-quote-page td.product-subtotal::after {
  content: " HT";
  font-size: 0.9em;
  margin-left: 2px;
}

#account-modal .login-remember {
  width: 100% !important;
}

/* sur les single-product, surcharge le width 100% qui rend les images floues, et force le centrage*/
.woocommerce-product-gallery .ct-media-container {
  width: auto;
  justify-content: center;
}

body.home main {
  background-image: url("https://mathieu-location.fr/wp-content/themes/blocksy-child/img/shapeBG.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
}

/* gestino du ? en bg de la zone questions */

@media screen and (min-width: 783px) {
  .home_question {
    position: relative;
    overflow: visible;
    min-height: 200px; /* temporaire pour debug */
  }

  .home_question::after {
    content: "";
    position: absolute;
    top: 0;
    right: -100px;
    width: 300px;
    height: 100%;
    background-image: url("https://mathieu-location.fr/wp-content/themes/blocksy-child/img/question.svg");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
    pointer-events: none;
  }
}

/* supp le Reste filter (cf charte)*/
.ct-active-filters a {
  color: var(--primaire);
  display: inline-flex;
  flex-direction: row-reverse;
}
.ct-active-filters svg {
  width: 8px;
  align-self: baseline;
}
.ct-active-filters a:first-of-type {
  display: none;
}

/* suppr texte sur panel filter en rwd*/
.ct-panel-heading {
  display: none;
}

/* force full-wdith slider*/
/* Force le slider et ses slides en pleine largeur */
.wp-block-uagb-slider,
.uagb-slider-container,
.uagb-slides {
  max-width: 100% !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Override le width en dur sur les slides */
.uagb-slider-child-wrap.swiper-slide {
  width: 100vw !important;
  max-width: 100vw !important;
}

/* Supprime tous les paddings */
.uagb-slider-container,
.uagb-slides,
.swiper-wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Les conteneurs à l'intérieur des slides */
.uagb-slider-child-wrap .wp-block-uagb-container {
  width: 100% !important;
  max-width: 100% !important;
}

/* Les images dans les slides */
.uagb-slider-child-wrap img {
  width: 100vw !important;
  max-width: 100vw !important;
  object-fit: cover;
}

.wp-block-uagb-slider.uagb-slider-container {
  margin-bottom: -150px;
  z-index: -1;
}

.wp-block-uagb-container.uagb-is-root-container {
  padding-left: 0px !important;
}
.wp-block-video.alignfull {
  display: none !important;
}
