/*
Theme Name: Teo Divi Child
Theme URI: http://example.com/teo-divi-child
Description: Thème enfant du thème Divi. Ce thème permet de personnaliser le design sans modifier les fichiers du thème parent.
Author: Votre Nom
Author URI: http://example.com
Template: Divi
Version: 1.0.0
*/

/* Ajoutez vos styles personnalisés ci-dessous */
:root {
  --fredoka: 'Fredoka', sans-serif;
}

/* Titres (Divi définit parfois des polices différentes par niveau) */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--fredoka) !important;
}

.single-product .container {
  width: 100% !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

#left-area ul,
.entry-content ul,
.et-l--body ul,
.et-l--footer ul,
.et-l--header ul {
  list-style-type: disc;
  padding: 0 0 23px 1em;
  line-height: 1.2em !important;
}

.single-product .section-overlap {
  padding-top: 0 !important;
}

#teo-menu-top .current-menu-item {
  font-weight: 900 !important;
}

/* #teo-menu-top.et_pb_menu .et-menu>li {
    padding-left: 0 !important;
    padding-right: 2%!important;
}
#teo-menu-top.et_pb_menu .et-menu>li:last-child {
    padding-left: 0 !important;
    padding-right: 0 !important;
} */

.et_pb_menu .et_pb_menu__wrap {
  justify-content: flex-end !important;
}

#teo-menu-top.et_pb_menu .et-menu>li {
  padding-left: 60px !important;
  padding-right: 0 !important;
}

@media (max-width: 1100px) {
  #teo-menu-top.et_pb_menu .et-menu>li {
    padding-left: 15px !important;
    padding-right: 0 !important;
  }
}

#teo-menu-top.et_pb_menu .et-menu>li:first-child {
  padding-left: 0px !important;
  padding-right: 0 !important;
}

.et-db #et-boc .et-l #teo-menu-top.et_pb_menu_0_tb_header.et_pb_menu ul li.teo-menu-cta-compte a {
  background-color: #000 !important;
  color: #fff !important;
  padding: 5px 20px;
  border-radius: 50px;
  border: 1px solid #000 !important;
  margin-top: -6px;
}

.et-db #et-boc .et-l #teo-menu-top.et_pb_menu_0_tb_header.et_pb_menu ul li.teo-menu-cta-compte.current-menu-item a {
  background-color: #000 !important;
  color: #fff !important;
  padding: 5px 20px;
  border-radius: 50px;
  border: 1px solid #000;
  margin-top: -6px;
  font-weight: 500 !important;
}

.et-db #et-boc .et-l #teo-menu-top.et_pb_menu_0_tb_header.et_pb_menu ul li.teo-menu-cta-compte a:hover {
  background-color: #fff !important;
  color: #000 !important;
  border: 1px solid #000 !important;
  opacity: 1 !important;
}

@media (min-width:980px) {
  .teo-menu-mobile-js {
    opacity: 0;
    visibility: hidden;
  }
}

@media (max-width:979px) {
  .teo-menu-desktop {
    opacity: 0;
    visibility: hidden;
  }
}

#teo-mobile-menu #mobile_menu2.et_mobile_menu {
  position: absolute !important;
  left: 0 !important;
  /* padding: 5% !important; */
  padding: 100px 5% 5% 5% !important;
  background: #3D6E9F !important;
  background-color: #3D6E9F !important;
  width: 100% !important;
  visibility: visible;
  opacity: 1 !important;
  display: none;
  z-index: 899 !important;
  border-top: none !important;
  border-top-color: transparent !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .1) !important;
  -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, .1) !important;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .1) !important;
  border-radius: 33px !important;
  height: calc(100vh - 73px);
  margin-top: 6px;
}

#mobile_menu2.et_mobile_menu li {
  padding: 15px 0 !important;
}

#mobile_menu2.et_mobile_menu li a {
  color: #fff !important;
  text-align: center;
}

.mobile_nav.opened .mobile_menu_bar:before {
  content: '\4d';
}

.teo-menu-mobile-js.menu-active {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
}

.teo-menu-mobile-js.menu-active .teo-col-menu-mobile {
  background-color: #fff !important;
}

@media (max-width: 980px) {
  .et_pb_menu .et_mobile_nav_menu {
    width: 20% !important;
  }
}

/* MENU MOBILE ************************************************************************* */



/* END MENU MOBILE ************************************************************************* */



/* Desktop (si tu veux garder -70px) */
.page .section-overlap,
.single .section-overlap,
.home .section-overlap {
  position: relative !important;
  z-index: 11;
  transform: translateY(-70px);
  overflow: visible;
}

.single-product .section-overlap,
.section-overlap {
  position: relative !important;
  z-index: 11;
  transform: translateY(-130px);
  overflow: visible;
}


/* Mobile / tablette (Divi décroche à 980px) */
@media (max-width: 980px) {

  .page .section-overlap,
  .single .section-overlap,
  .home .section-overlap {
    transform: translateY(-25px);
  }

  .single-product .section-overlap,
  .section-overlap {
    transform: translateY(-80px);
    padding-top: 0 !important;
  }
}

/* Au cas où ton header a un z-index élevé/sticky */
.et-l--header,
.et_header_style_left,
#main-header {
  position: relative;
  z-index: 10;
}

.teo-list-h ul li {
  margin-left: 10px !important;
}

.et-l--footer .et_pb_section_0_tb_footer ul {
  padding-left: 0 !important;
}

#teo-footer .et_pb_column {
  margin-bottom: 0;
}


/* FORM MON COMPTE ************************************************************* */
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: none !important;
}

.woocommerce-Address-title.title h2,
h2.woocommerce-column__title {
  font-size: 25px !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  margin-top: 0.5em !important;
  color: #000 !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

.woocommerce-order-details p.order-again {
  display: none !important;
}

h2.woocommerce-order-details__title,
.woocommerce-bacs-bank-details h2,
.woocommerce-bacs-bank-details h3 {
  font-size: 23px !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  margin-top: 0.5em !important;
  color: #000 !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

h3.woocommerce-order-details__title,
.woocommerce-bacs-bank-details h3 {
  font-size: 18px !important;
}

.ba-login-wrap {
  display: grid;
  place-items: center;
}

.ba-card {
  width: 90%;
  background: #64c6de;
  padding: 2.2rem;
  border-radius: 33px;
}

.ba-field {
  margin-bottom: 14px;
}

.ba-field input {
  width: 100%;
  padding: 16px 18px;
  border-radius: 999px;
  border: none;
  outline: 0;
  background: #fff;
}

.ba-links a,
.ba-create a {
  margin: .5rem 0 0 .5rem;
  text-align: left;
  color: #000 !important;
  text-decoration: underline !important;
  font-size: 16px;
}

.ba-btn:hover,
.ba-btn {
  display: block !important;
  margin: 80px auto 0 !important;
  padding: 12px 32px !important;
  border: 1px solid #000;
  border-radius: 999px !important;
  background: #000 !important;
  color: #fff !important;
  cursor: pointer !important;
}

.ba-btn:hover {
  background: #fff !important;
  color: #000 !important;
}

@media (max-width:980px) {
  .ba-card {
    padding: 1.6rem
  }
}

.ba-rgpd {
  display: flex;
  margin-top: 60px;
  flex-direction: row;
}

.ba-rgpd-logo {
  margin-right: 10px;
}

.ba-rgpd-logo img {
  width: 40px;
  height: auto;
  margin-right: 20px;
  display: inline-block;
}

.ba-rgpd-text {
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.ba-rgpd-text a {
  color: #000 !important;
  text-decoration: underline !important;
}

#teo-section-login .woocommerce form .form-row-first,
#teo-section-login .woocommerce form .form-row-last,
#teo-section-login .woocommerce-page form .form-row-first,
#teo-section-login .woocommerce-page form .form-row-last {
  width: 100%;
  overflow: visible;
}

#teo-section-compte a {
  text-decoration: underline !important;
}

#teo-section-compte .woocommerce-MyAccount-navigation-link {
  padding: 5px 0;
}

@media (max-width:768px) {
  .ba-card {
    width: 95%;
    padding: 0 !important;
  }
}

/* END FORM MON COMPTE ************************************************************* */

@media (max-width:1280px) {
  .teo-list-h ul li {
    margin-left: 10px !important;
  }
}

@media (min-width:1279px) and (max-width:1440px) {
  .teo-footer-h4 h4 {
    font-size: 50px !important;
  }
}

@media (min-width:979px) and (max-width:1280px) {
  .teo-footer-h4 h4 {
    font-size: 40px !important;
  }

  .teo-menu-col-left {
    width: 20% !important;
  }

  .teo-menu-col-right {
    width: 80% !important;
  }

  .et_pb_menu .et-menu>li {
    padding-left: 50px;
    padding-right: 0;
  }
}

@media (max-width:980px) {
  .teo-list-h ul {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .teo-list-h ul li {
    margin-left: 0px !important;
  }

  .teo-menu-col-left {
    width: 15% !important;
  }

  .teo-menu-col-right {
    width: 85% !important;
  }

  #teo-footer .et_pb_column_1_tb_footer {
    padding-bottom: 0;
  }
}

.tb-listHome tr,
.tb-listHome td,
.tb-listHome {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.tb-listHome td:first-child {
  width: 75px !important;
  padding-top: 5px !important;
}

.tb-listHome td:first-child img {
  height: 25px !important;
  margin: 0;
  padding: 0;
  border: none;
}

@media (max-width:475px) {
  .tb-listHome td:first-child {
    width: 60px !important;
  }
}





/* CHAMP APF HTML ************************************************************* */

/* Conteneur général */
.apf-don-grid {
  display: grid;
  grid-template-columns: 1fr 140px 180px;
  gap: 18px 24px;
  align-items: center;
}

/* Lignes */
.apf-row {
  display: contents;
}

.apf-col--label {
  line-height: 1.35;
}

.apf-col--qty input[type="number"] {
  width: 100%;
  text-align: center;
}

.apf-col--price,
.apf-col--net {
  border: 2px solid #000;
  border-radius: 8px;
  padding: 10px;
  text-align: center;
  font-weight: 700;
}

/* En-tête “PRIX / PRIX APRÈS RÉDUCTION” */
.apf-header {
  display: grid;
  grid-template-columns: 1fr 140px 180px;
  gap: 18px 24px;
  margin-bottom: 14px;
}

.apf-header .box {
  border: 2px solid #000;
  border-radius: 8px;
  padding: 16px;
  text-align: center;
  font-weight: 700;
}

/* Total */
.apf-total {
  grid-column: 2 / span 2;
  display: grid;
  grid-template-columns: 140px 180px;
  gap: 24px;
  align-items: center;
}

.apf-total .label {
  grid-column: 1 / span 2;
  text-align: right;
  font-weight: 700;
}

/* Bouton */
.single_add_to_cart_button {
  border: 2px solid #000;
  border-radius: 44px;
  padding: 14px 28px;
  font-weight: 700;
}

/* END CHAMP APF HTML ************************************************************* */


.teo-don-1000 {
  display: flex;
  flex-direction: row;
  align-content: center;
  align-items: flex-end;
}

/* CHAMP BTN NUMBER ************************************************************* */
.number-input-container {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
}

@media (max-width:480px) {
  .number-input-container {
    justify-content: center;
  }
}

.btn-control {
  width: 38px;
  height: 38px;
  border: 1px solid #D9D9D9;
  border-radius: 50%;
  background: white;
  font-size: 16px;
  color: #000000;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
}

.number-display {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  min-width: 25px;
  text-align: center;
}

input.numberInput {
  display: none;
}

/* END CHAMP BTN NUMBER ************************************************************* */

/* CHAMP Checkbox OPTIONS ************************************************************* */

/* .teo-row-option {
  display: flex;
  align-items: flex-end;
} */

/* @media (min-width:980px) {
  .teo-hidden-xl {
    display: none !important;
  }
}

@media (max-width:979px) {
  .teo-hidden-sm {
    display: none !important;
  }
} */

.teo-checkbox-option .teo-option-select::before {
  content: url("assets/img/checkbox-option.svg");
  display: block;
  width: 20px;
  height: 20px;
  cursor: pointer;
}

.teo-checkbox-option .teo-option-select.active::before {
  content: url("assets/img/checkbox-option-active.svg");
}

.teo-puce-don-1000:before {
  content: url("assets/img/checkbox-option-active.svg");
}


.teo-text-don-1000 .et_pb_text_inner,
.teo-checkbox-option .et_pb_text_inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start !important;
  column-gap: 20px !important;
}


input#inputFreeValue {
  width: 60px;
  padding: 0;
  border: none;
  outline: 0;
  background: #fff;
  color: #000;
  font-size: 20px;
  text-align: right;
}

@media (max-width:480px) {
  input#inputFreeValue {
    width: 85% !important;
  }
}

/* Supprime les flèches ↑ ↓ des champs number (Chrome, Edge, Safari) */
input#inputFreeValue::-webkit-inner-spin-button,
input#inputFreeValue::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Pour Firefox */
input#inputFreeValue {
  -moz-appearance: textfield;
}

/* END CHAMP Checkbox OPTIONS ************************************************************* */


/* Panier : masquer le bouton Mettre à jour le panier */
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart .woocommerce-cart-form input[name="update_cart"] {
  display: none !important;
}

/* Par sécurité, masquer d'éventuels inputs de quantité résiduels (selon le thème) */
.woocommerce-cart .qty,
.woocommerce-cart input.qty {
  pointer-events: none;
  appearance: textfield;
  -moz-appearance: textfield;
  -webkit-appearance: none;
}

.woocommerce-cart-form .product-thumbnail {
  display: none !important;
}

.woocommerce-cart-form dl.variation dt {
  font-weight: 400 !important;
}

.woocommerce-cart-form .product-name {
  font-weight: 600 !important;
}

.woocommerce-cart-form .product-price {
  width: 110px !important;
}

.teo-cta-addtocart {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

#teo-cart-woo a.checkout-button.button.alt.wc-forward {
  width: 340px;
  float: right;
  color: #fff !important;
  background-color: #EF5435 !important;
  border-color: #EF5435 !important;
  margin-top: 0 !important;
}

#teo-commande-woo button#place_order {
  width: 340px;
  float: right;
  color: #fff !important;
  background-color: #EF5435 !important;
  border-color: #EF5435 !important;
  margin-top: 20px !important;
}

#teo-commande-woo button#place_order:hover,
#teo-cart-woo a.checkout-button.button.alt.wc-forward:hover {
  width: 340px;
  float: right;
  color: #EF5435 !important;
  background-color: #ffffff !important;
  border-color: #EF5435 !important;
}

/* #teo-commande-woo span.wapf-pricing-hint,
#teo-cart-woo span.wapf-pricing-hint {
  display: block;
} */

.wapf-pricing-hint {
  opacity: 1 !important;
}

.variation dd p {
  color: #FFF !important;
}

.variation dd p span {
  color: #000 !important;
  display: inline-block !important;
  margin-left: -10px !important;
}

span.teo-option-quantity {
  display: none;
}

div#order_review.woocommerce-checkout-review-order {
  /* background-color: #FFF2CF; */
}

#teo-commande-woo form.checkout.woocommerce-checkout #order_review.woocommerce-checkout-review-order {
  background-color: #FFF2CF;
  border-radius: 33px !important;
}

#teo-commande-woo .woocommerce-checkout #payment div.payment_box {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  margin: 1em 0;
  font-size: .92em;
  border-radius: 22px !important;
  line-height: 1.5;
  background-color: #fff !important;
  color: #000 !important;
}


@media (max-width:980px) {
  table.shop_table.shop_table_responsive.cart.woocommerce-cart-form__contents {
    font-size: 16px !important;
  }
}

#teo-commande-woo p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
  margin-bottom: 2em !important;
}

#teo-commande-woo .product-name .product-price-inline,
#teo-commande-woo .product-name .product-quantity {
  display: none !important;
}

#teo-commande-woo .product-name {
  font-weight: 600 !important;
  color: #3D6E9F !important;
}

#teo-commande-woo .product-name .variation dt {
  font-weight: 500 !important;
  color: #000000 !important;
  padding-left: 1em !important;
}

#teo-commande-woo .product-name .variation dd {
  display: none !important;
}

.entry-content thead th,
.entry-content tr th {
  color: #000000 !important;
}

.woocommerce-checkout.woocommerce-order-received .teo-order-payment {
  display: none !important;
}

.woocommerce-checkout:not(.woocommerce-order-received) .teo-order-details {
  display: none !important;
}

#teo-parent-order_review h3#order_review_heading {
  display: inline-block !important;
}

#teo-parent-order_review #teo-modify-donation-wrapper {
  float: right !important;
  margin: 0px 0px 20px 0px !important;
}

#teo-parent-order_review #teo-modify-donation-btn {
  color: #EF5435 !important;
  background-color: #ffffff !important;
  border-color: #EF5435 !important;
  border-radius: 999px !important;

}

#teo-commande-woo .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
  font-size: 23px !important;
  color: #000;
  opacity: 1;
  font-weight: 600;
  font-family: 'Fredoka', sans-serif !important;
  text-transform: uppercase;
}

#teo-commande-woo .woocommerce-table.woocommerce-table--order-details.shop_table.order_details thead {
  display: none !important;
}

#teo-commande-woo .woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot tr:nth-child(2) {
  display: none !important;
}



@media (max-width:768px) {

  .woocommerce table.shop_table_responsive tr td::before,
  .woocommerce-page table.shop_table_responsive tr td::before {
    content: '' !important;
    font-weight: 700;
    float: left;
  }

  .woocommerce table.shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td {
    display: block;
    text-align: left !important;
  }

  #teo-commande-woo button#place_order,
  #teo-cart-woo a.checkout-button.button.alt.wc-forward {
    width: 280px;
    float: right;
    color: #fff !important;
    background-color: #EF5435 !important;
    border-color: #EF5435 !important;
    margin-top: 0px !important;
    font-size: 16px;
  }

  #teo-commande-woo button#place_order:hover,
  #teo-cart-woo a.checkout-button.button.alt.wc-forward:hover {
    width: 280px;
    float: right;
    color: #EF5435 !important;
    background-color: #ffffff !important;
    border-color: #EF5435 !important;
  }

  #add_payment_method .wc-proceed-to-checkout,
  .woocommerce-cart .wc-proceed-to-checkout,
  .woocommerce-checkout .wc-proceed-to-checkout {
    padding: 0;
  }

  #teo-commande-woo form {
    font-size: 16px !important;
  }

  #teo-commande-woo .et_pb_wc_checkout_billing_0 h3,
  #teo-commande-woo .et_pb_wc_checkout_order_details_0 #order_review_heading {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 20px;
    color: #000000 !important;
  }

  #teo-commande-woo .et_pb_wc_checkout_shipping_0 h3 {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 20px;
    color: #000000 !important;
  }

  #teo-commande-woo section.woocommerce-bacs-bank-details {
    font-size: 16px !important;
  }

  #teo-commande-woo h2.woocommerce-order-details__title,
  #teo-commande-woo .woocommerce-bacs-bank-details h2,
  #teo-commande-woo .woocommerce-bacs-bank-details h3 {
    font-size: 18px !important;
  }

  #teo-commande-woo .woocommerce-bacs-bank-details h3 {
    font-size: 16px !important;
  }

  #teo-commande-woo table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details {
    font-size: 16px !important;
  }

  #teo-commande-woo section.woocommerce-customer-details {
    font-size: 16px !important;
  }

  #teo-commande-woo .et_pb_row.et_pb_row_2 {
    width: 90% !important;
  }

  #teo-commande-woo .woocommerce-Address-title.title h2,
  #teo-commande-woo h2.woocommerce-column__title {
    font-size: 18px !important;
  }

}


/* POPUP INFOS KITS ************************************************************* */
footer .et_builder_inner_content {
  z-index: 9999999 !important;
}

.open-popup {
  cursor: pointer;
  color: #64C6DE !important;
}

.close-popup {
  position: absolute !important;
  right: 10px !important;
  top: 10px !important;
  cursor: pointer !important;
  z-index: 999999 !important;
  border-radius: 999px !important;
  background-color: #D9D9D9 !important;
}

.infos-popup {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: none;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  z-index: 9999999 !important;
  overflow-y: auto !important;
  padding: 2rem 0 !important;
}

.infos-popup .popup-content {
  background: #fff;
  padding: 2rem !important;
  border-radius: 12px;
  margin: auto 0;
  /* max-width: 600px; */
  /* width: 90%; */
}

.teo-flex-title-popup {
  display: block !important;
  width: 100% !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  padding: 0 20px 0 20px !important;
}

.teo-flex-col-popup {
  display: flex !important;
  flex-direction: column;
  width: 21% !important;
  margin-right: 5% !important;
  margin-top: 140px !important;
}

.teo-ulli-produits li {
  list-style-position: outside !important;
  margin-left: 40px !important;
}

@media (max-width:768px) {
  .teo-ulli-produits li {
    margin-left: 0 !important;
    list-style-position: inside !important;
  }
}


@media (min-width:1280px) and (max-width:1500px) {
  .teo-flex-col-popup {
    margin-right: 3% !important;
    width: 23% !important;
  }
}

@media (min-width:980px) and (max-width:1279px) {
  .teo-flex-col-popup {
    margin-right: 1% !important;
    width: 25% !important;
  }

  .infos-popup .popup-content {
    width: 80% !important;
  }
}

@media (min-width:768px) and (max-width:979px) {
  .teo-flex-col-popup {
    margin-right: 5% !important;
    margin-left: 5% !important;
    width: 40% !important;
  }

  .infos-popup .popup-content {
    width: 80% !important;
  }

  .teo-flex-col-popup:nth-last-child(-n+2) {
    margin-top: 40px !important;
  }
}

@media (max-width:767px) {
  .infos-popup {
    padding: 1rem 0;
  }

  .teo-flex-col-popup {
    margin-right: 20% !important;
    margin-left: 20% !important;
    width: 60% !important;
    margin-top: 25px !important;
  }

  .teo-flex-col-popup.teo-col-first {
    margin-top: 130px !important;
  }

  .infos-popup .popup-content {
    width: 90% !important;
    padding: 1.5rem;
  }
}

@media (max-width:480px) {
  .infos-popup {
    padding: 1rem 0;
  }

  .teo-flex-col-popup {
    margin-right: 5% !important;
    margin-left: 5% !important;
    width: 90% !important;
    margin-top: 25px !important;
  }

  .teo-flex-col-popup.teo-col-first {
    margin-top: 130px !important;
  }

  .infos-popup .popup-content {
    width: 90% !important;
    padding: 1.5rem;
  }
}

/* END POPUP INFOS KITS ************************************************************* */

/* BG HEADER ACTUS ************************************************************* */
#bg-bouchons-contact,
#bg-bouchons-actus {
  position: relative;
  z-index: 99;
}

#bg-bouchons-actus::before {
  content: "";
  position: absolute;
  left: auto;
  right: 0;
  top: -100px;
  height: 210px;
  width: inherit;
  background-image: url(assets/img/bg-boutons-header.svg);
  background-size: contain;
  background-position: right;
  background-repeat: no-repeat;
  z-index: 1;
}

#bg-bouchons-contact::before {
  background-image: url(assets/img/bouchons-header-contact.svg);
  content: "";
  position: absolute;
  left: auto;
  right: 0;
  top: -170px;
  height: 310px;
  width: 315px;
  background-size: contain;
  background-position: right;
  background-repeat: no-repeat;
  z-index: 1;
}

/* #bg-bouchons-contact::before,
#bg-bouchons-actus::before {
  right: -90px;
} */

@media (max-width:980px) {

  #bg-bouchons-contact::before {
    right: -90px;
    top: -120px;
    height: 260px;
    width: 195px;
  }

  #bg-bouchons-actus::before {
    right: -110px;
    top: -60px;
    height: 110px;
    width: inherit;
  }
}

@media (max-width:768px) {

  #bg-bouchons-contact::before {
    right: 10px;
    top: -160px;
    height: 240px;
    width: 125px;
  }

  #bg-bouchons-actus::before {
    right: 10px;
    top: -60px;
    height: 90px;
    width: inherit;
  }
}

@media (max-width:480px) {

  #bg-bouchons-contact::before {
    right: 10px;
    top: -120px;
    height: 180px;
    width: 115px;
  }

  #bg-bouchons-actus::before {
    right: 10px;
    top: -120px;
    height: 180px;
    width: 115px;
  }
}

/* END BG HEADER ACTUS ************************************************************* */

/* FORMULAIRE DE CONTACT ************************************************************* */
/* structure */
.cf7-form {
  --gap: 16px;
}

.cf7-form .field {
  margin-bottom: var(--gap);
}

.cf7-form .row {
  margin-bottom: var(--gap);
}

.cf7-form .row.two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap);
}

.cf7-form .row.center {
  text-align: center;
}

/* reset CF7 / Divi pour éviter les largeurs bizarres */
.cf7-form * {
  box-sizing: border-box;
}

.cf7-form br {
  display: none;
}

/* évite des retours ligne ajoutés par CF7 dans la mise en page */

/* champs */
.cf7-form input[type="text"],
.cf7-form input[type="email"],
.cf7-form input[type="tel"],
.cf7-form textarea,
.cf7-form input[type="file"] {
  width: 100%;
  padding: 14px 18px;
  border: 1px solid #e5e5e5;
  border-radius: 999px;
  /* aspect “pilule” */
  font-size: 16px;
  line-height: 1.2;
  background: #fff;
}

.cf7-form textarea {
  border-radius: 16px;
  /* plus carré pour la zone message */
  min-height: 160px;
  padding: 16px 18px;
}

/* bouton */
.cf7-form input[type="submit"] {
  background: #e94e2e;
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 14px 40px;
  cursor: pointer;
  font-weight: 600;
  transition: transform .12s ease, opacity .12s ease;
}

.cf7-form input[type="submit"]:hover {
  opacity: .9;
  transform: translateY(-1px);
}

/* messages d’erreur CF7 */
.wpcf7 form .wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 15px;
  font-weight: normal;
  display: block;
  margin: 6px 0 0 20px;
}

.wpcf7 form small {
  font-size: 12px;
  display: inline-block;
  margin: 6px 0 0 20px;
  color: rgb(129, 129, 129);
  font-weight: 400;
}

.wpcf7 form p {
  margin: 0 !important;
  padding: 0 !important;
}

button.wpcf7-form-control.wpcf7-submit.has-spinner.et_pb_button.et_pb_bg_layout_light {
  color: #fff;
  background-color: #EF5435;
  border: 1px solid #EF5435;
  padding: 2px 40px !important;
  border-radius: 999px;
  cursor: pointer;
}

button.wpcf7-form-control.wpcf7-submit.has-spinner.et_pb_button.et_pb_bg_layout_light:hover {
  color: #EF5435 !important;
  background-color: #ffffff !important;
  border: 1px solid #EF5435 !important;
  padding: 2px 40px !important;
  border-radius: 999px !important;
  cursor: pointer !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #EF5435;
  text-align: center;
}

.wpcf7-spinner {
  visibility: hidden;
  display: block;
  background-color: #23282d;
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 10px auto;
  position: relative;
}

/* responsive */
@media (max-width: 768px) {
  .cf7-form .row.two {
    grid-template-columns: 1fr;
  }
}

/* END FORMULAIRE DE CONTACT ************************************************************* */

/* div#teo-block-cart {
  transform: translateX(-5000px);
  overflow: hidden;
  opacity: 0;
  height: 0;
} */

form.cart .wapf {
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: overlay;
}

.woocommerce-page .teo-section-woo .woocommerce .a.checkout-button.button.alt.wc-forward,
#teo-module-addToCart.et_pb_wc_add_to_cart form.cart .button.single_add_to_cart_button.button.alt {
  display: block !important;
  float: right !important;
  background-color: #EF5435 !important;
  color: #fff !important;
  border: 1px solid #EF5435 !important;
  border-radius: 999px !important;
  padding: 6px 40px !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin-top: 40px !important;
}

.woocommerce-page .teo-section-woo .woocommerce .a.checkout-button.button.alt.wc-forward:hover,
#teo-module-addToCart.et_pb_wc_add_to_cart form.cart .button.single_add_to_cart_button.button.alt:hover {
  background-color: #ffffff !important;
  color: #EF5435 !important;
  border: 1px solid #EF5435 !important;
}

#teo-module-addToCart.et_pb_wc_add_to_cart form.cart .quantity {
  display: none !important;
}

.teo-section-woo .woocommerce .woocommerce-message,
.teo-section-woo .woocommerce .woocommerce-error,
.teo-section-woo .woocommerce .woocommerce-info {
  background: #FFF2CF !important;
  color: #000000 !important;
  text-align: center !important;
  font-weight: 600 !important;
  border-radius: 20px !important;
}

.teo-section-woo .woocommerce .woocommerce-message a.restore-item,
.teo-section-woo .woocommerce .woocommerce-message a.button.wc-forward,
.teo-section-woo .woocommerce .woocommerce-info a.button.wc-forward {
  display: none !important;
}

/* .teo-section-woo .woocommerce-input-wrapper .select2, */
.teo-section-woo #shipping_societe_field input,
.teo-section-woo #shipping_telephone_field input,
.teo-section-woo #billing_phone_field input,
.teo-section-woo #billing_raison_sociale_field input,
.teo-section-woo #billing_societe_field input,
.teo-section-woo #billing_siren_field input,
.teo-section-woo .woocommerce-input-wrapper .select2-selection,
.teo-section-woo .woocommerce-input-wrapper input {
  background-color: #FFF !important;
  border-radius: 999px !important;
  padding: 10px !important;
  border: 1px solid #D9D9D9 !important;
}

.teo-section-woo .woocommerce-message,
.teo-section-woo .woocommerce-error,
.teo-section-woo .woocommerce-info {
  background: #fff !important;
}

.teo-section-woo .woocommerce-message a,
.teo-section-woo .woocommerce-error a,
.teo-section-woo .woocommerce-info a {
  color: #EF5435 !important;
  text-decoration: underline !important;
}

.teo-section-woo .woocommerce-message a:hover,
.teo-section-woo .woocommerce-error a:hover,
.teo-section-woo .woocommerce-info a:hover {
  color: rgba(239, 84, 53, 0.8) !important;
  background: #fff !important;
}

.teo-section-woo .checkout-inline-error-message {
  color: red;
  font-size: 12px;
  display: block;
  margin-top: 5px;
}

p.teo-cerfa-receipt-url {
  background-color: #EF5435;
  padding: 7px 25px !important;
  display: inline-block;
  color: #fff;
  border-radius: 999px;
}

p.teo-cerfa-receipt-url a {
  color: #fff !important;
  text-decoration: underline !important;
}

.teo-infos-panier a {
  color: #64C6DE !important;
  text-decoration: underline !important;
}

.teo-infos-panier ol {
  margin: 10px 0 0 20px;
}

.teo-infos-panier li {
  margin-top: 10px;
}

form.checkout.woocommerce-checkout .form-row.place-order {
  margin-top: 0 !important;
}

form.checkout.woocommerce-checkout .woocommerce-privacy-policy-text {
  text-align: center !important;
}
form.checkout.woocommerce-checkout .woocommerce-privacy-policy-text a {
  color: #64C6DE !important;
  text-decoration: underline !important;
}

.teo-link-mecenat {
  color: #64C6DE !important;
  text-decoration: underline !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}