/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
body {
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block-start: 0;
}

.woocommerce-Tabs-panel ul,
.woocommerce-Tabs-panel ol,
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
  margin-block-end: 0.9rem;
  margin-block-start: 0;
}

/*-----------------------------------------------------------*/
/* header */
/*-----------------------------------------------------------*/

.header-esna .elementor-widget-n-menu .e-n-menu-title:hover svg path {
  fill: #93928e;
  stroke: #93928e;
}

/* hero banner */
.hero-slider .elementor-main-swiper {
  border-radius: 20px 20px 0 0;
}

/*-----------------------------------------------------------*/
/* fluent form */
/*-----------------------------------------------------------*/
:focus-visible,
a:focus-visible,
button:focus-visible,
.e-n-menu-title:focus-within .e-n-menu-dropdown-icon:focus-visible {
  outline: 2px solid #105F91 !important;
  outline-offset: 3px !important;
  box-shadow: none;
}

/*  TEXTAREA  */
.fluentform textarea.ff-el-form-control {
  padding: 20px 25px;
  font-family: "Hind", Sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 20px;
  text-transform: uppercase;
  border-radius: 20px;
  border: 1px solid rgba(35, 31, 32, 0.3);
}

.fluentform textarea.ff-el-form-control:focus {
  color: #231f20 !important;
  border-color: #231f20 !important;
}

/*  DOUBLE COLONNES – IDENTIQUE DESIGN  */
.frm-fluent-form .ff-t-container {
  gap: 30px;
}

.ff-message-success {
  border: none;
  box-shadow: none;
}

.fluentform .ff-btn-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.fluentform .ff-btn-submit::after {
  content: "";
  width: 28px;
  height: 21px;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='28' height='21' viewBox='0 0 28 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.5117 0C15.5117 1.11 16.6117 2.771 17.7237 4.166C19.1557 5.962 20.8647 7.531 22.8257 8.729C24.2947 9.626 26.0787 10.487 27.5117 10.487M15.5117 21C15.5117 19.89 16.6117 18.229 17.7237 16.834C19.1557 15.038 20.8647 13.469 22.8257 12.271C24.2947 11.374 26.0787 10.513 27.5117 10.513M27.5117 10.5L0 10.5' stroke='white'/%3E%3C/svg%3E");
}

/*-----------------------------------------------------------*/
/* product category */
/*-----------------------------------------------------------*/
/* Style de base du li */
.product-category.product {
  background: rgba(246, 246, 246, 0.1);
  padding: 30px !important;
  border-radius: 20px;
  position: relative; /* nécessaire pour positionner l'icône */
  overflow: hidden;
  transition: all 0.3s ease;
}

/* Image de base */
.product-category.product img {
  width: 200px !important;
  height: 200px !important;
  object-fit: cover;
  object-position: center center;
  transition: all 0.3s ease;
}

/* Cacher le nombre */
.product-category.product .woocommerce-loop-category__title .count {
  display: none;
}

/* Hover : agrandir l’image */
.product-category.product:hover img {
  height: 300px !important;
  width: 100% !important;
}

.product-category.product::after {
  content: "";
  position: absolute;
  top: 40px;
  right: 40px;
  width: 48px;
  height: 48px;
  background-color: #ffffff;
  border-radius: 11px;
  background-image: url('data:image/svg+xml;utf8,<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.89753 1.42351C4.68242 2.2084 6.63474 2.60509 8.40746 2.8052C10.69 3.06259 13.0079 2.96359 15.2416 2.42407C16.9147 2.0196 18.785 1.36695 19.7982 0.353662M18.7468 16.2728C17.9619 15.4879 17.5652 13.5355 17.3651 11.7628C17.1077 9.48029 17.2067 7.16239 17.7462 4.92864C18.1507 3.25563 18.8033 1.38533 19.8166 0.372046M19.8074 0.362854L0.353799 19.8165" stroke="%23105F91" stroke-width="1"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 21px;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 2;
}

/* Afficher l’icône au hover */
.product-category.product:hover::after {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 767px) {
  .product-category.product {
    padding: 20px 15px !important;
  }
}

/*-----------------------------------------------------------*/
/* Header mobile menu */
/*-----------------------------------------------------------*/

.nav-mobile .elementor-nav-menu--dropdown .sub-menu {
  margin-left: 15px;
}

.nav-mobile .elementor-nav-menu--dropdown .sub-menu li a {
  font-size: 22px !important;
}

.nav-mobile .elementor-nav-menu .sub-arrow svg {
  display: none;
}

.nav-mobile .elementor-nav-menu .sub-arrow {
  width: 16px;
  height: 14px;
  background-image: url("data:image/svg+xml;utf8,<svg width='16' height='14' viewBox='0 0 16 14' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M7.95007 0C7.95007 0.735381 8.67883 1.8358 9.41554 2.76C10.3642 3.94986 11.4965 4.98933 12.7956 5.78301C13.7689 6.37728 14.9508 6.9477 15.9001 6.9477M7.95007 13.9126C7.95007 13.1772 8.67883 12.0768 9.41554 11.1526C10.3642 9.96276 11.4965 8.92329 12.7956 8.12961C13.7689 7.53534 14.9508 6.96493 15.9001 6.96493M15.9001 6.95631L0 6.95631' stroke='%23231F20' stroke-width='1.2'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  align-items: center;
}

/* Le lien devient flex */
.nav-mobile .elementor-nav-menu .menu-item-has-children > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Optionnel : espace à droite */
.nav-mobile .elementor-nav-menu .sub-arrow {
  margin-left: 15px;
}

/*-----------------------------------------------------------*/
/* menu panier */
/*-----------------------------------------------------------*/

.elementor-menu-cart__toggle_button.elementor-button {
  background-color: #ffffff !important;
}

.elementor-menu-cart__product-image.product-thumbnail img {
  border-radius: 5px;
  width: 60px;
  height: 60px;
  object-fit: cover;
  object-position: center;
}

.elementor-menu-cart__footer-buttons .elementor-button--view-cart,
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
  padding: 8px !important;
}

.woocs_special_price_code {
  margin-left: 5px;
}

/*-----------------------------------------------------------*/
/* product carte boucle */
/*-----------------------------------------------------------*/
.produit-carte .tutor-icon-cart-line.tutor-mr-8 {
  display: none;
}

.produit-carte a.added_to_cart {
  display: block;
  border: none;
  padding: 0 !important;
  margin-top: 10px;
}

a.added_to_cart.wc-forward {
  display: inline-block !important;
  text-align: center;
}

.produit-carte .tutor-btn-outline-primary:hover,
.produit-carte .tutor-btn-outline-primary:focus,
.produit-carte .tutor-btn-outline-primary:active {
  color: inherit;
  border-color: transparent;
  background-color: transparent;
}

/* ajouter icone dans bouton add-to-cart */

.elementor-add-to-cart a.add_to_cart_button:not(.added),
.single_add_to_cart_button:not(.added) {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.elementor-add-to-cart a.add_to_cart_button::before,
.single_add_to_cart_button::before {
  content: "";
  width: 16px;
  height: 15px;
  flex-shrink: 0;
  margin-right: 8px;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 17.6'><path d='M13 17.6a1.6 1.6 0 1 1 0-3.2 1.6 1.6 0 0 1 0 3.2Zm-5.6 0a1.6 1.6 0 0 1 0-3.2 1.6 1.6 0 0 1 0 3.2Zm8.16-5a2 2 0 0 0 .74-1.07L18 6a1 1 0 0 0-.67-1.24 1 1 0 0 0-1.33.69L14.31 11H6.55l-2.3-8.5a2.55 2.55 0 0 0-.94-1.38A2.69 2.69 0 0 0 1.74.6H1a1 1 0 0 0 0 2h.74a.61.61 0 0 1 .37.12.6.6 0 0 1 .21.28l2.3 8.46a2 2 0 0 0 .75 1.09 2.07 2.07 0 0 0 1.25.45h7.69a2.09 2.09 0 0 0 1.25-.42ZM9.78 6.4h1.6V4h2.4V2.39h-2.4V0h-1.6v2.39h-2.4V4h2.4Z'/></svg>")
    no-repeat center;
  -webkit-mask-size: contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 17.6'><path d='M13 17.6a1.6 1.6 0 1 1 0-3.2 1.6 1.6 0 0 1 0 3.2Zm-5.6 0a1.6 1.6 0 0 1 0-3.2 1.6 1.6 0 0 1 0 3.2Zm8.16-5a2 2 0 0 0 .74-1.07L18 6a1 1 0 0 0-.67-1.24 1 1 0 0 0-1.33.69L14.31 11H6.55l-2.3-8.5a2.55 2.55 0 0 0-.94-1.38A2.69 2.69 0 0 0 1.74.6H1a1 1 0 0 0 0 2h.74a.61.61 0 0 1 .37.12.6.6 0 0 1 .21.28l2.3 8.46a2 2 0 0 0 .75 1.09 2.07 2.07 0 0 0 1.25.45h7.69a2.09 2.09 0 0 0 1.25-.42ZM9.78 6.4h1.6V4h2.4V2.39h-2.4V0h-1.6v2.39h-2.4V4h2.4Z'/></svg>")
    no-repeat center;
  mask-size: contain;
  background-color: #ffffff;
}

/* Cacher l icone quand le produit est ajoute */
.elementor-add-to-cart a.add_to_cart_button.added::before {
  display: none;
}

/*-----------------------------------------------------------*/
/* detail produit et woocommerce */
/*-----------------------------------------------------------*/

/* similar product */
.similar-product .tutor-btn-md.tutor-btn-block {
  margin-top: 10px;
  border: 0;
}

.similar-product .tutor-btn-outline-primary:hover,
.similar-product .tutor-btn-outline-primary:focus,
.similar-product .tutor-btn-outline-primary:active {
  background-color: transparent;
}

/* Supprimer les flèches par défaut */
.woocommerce .quantity input::-webkit-outer-spin-button,
.woocommerce .quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* btn ajouter au panier quantity */
.woocommerce .quantity input[type="number"] {
  -moz-appearance: textfield;
  padding: 0;
}

.woocommerce .quantity input[type="number"]:focus {
  border-style: none;
  border-color: transparent;
}

.woocommerce .quantity {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(147, 146, 142, 0.2);
  border-radius: 5px;
  overflow: hidden;
}

.elementor-menu-cart__product-price .quantity {
  border: none;
}
.woocommerce .quantity button {
  background: transparent !important;
  border: none;
  padding: 5px 10px;
  margin: 0 !important;
  font-size: 18px !important;
  color: #93928e !important;
  cursor: pointer;
  transition: background 0.3s !important;
  border-radius: 0px;
  box-shadow: none;
}

.woocommerce .quantity button:hover {
  background: #f3eee7;
}

.woocommerce .quantity input.qty {
  border: none;
  text-align: center !important;
  width: 50px;
  font-size: 18px;
  outline: none;
  border-radius: 0px;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  margin: 0px !important;
}

.woocommerce div.product form.cart .quantity {
  margin-right: 15px !important;
}

@media (max-width: 360px) {
  .woocommerce div.product form.cart .quantity {
    margin-bottom: 15px !important;
  }

  :is(
      .elementor-widget-woocommerce-product-add-to-cart,
      .woocommerce
        div.product
        .elementor-widget-woocommerce-product-add-to-cart,
      .elementor-widget-wc-add-to-cart,
      .woocommerce div.product .elementor-widget-wc-add-to-cart
    )
    form.cart.variations_form
    .woocommerce-variation-add-to-cart,
  :is(
      .elementor-widget-woocommerce-product-add-to-cart,
      .woocommerce
        div.product
        .elementor-widget-woocommerce-product-add-to-cart,
      .elementor-widget-wc-add-to-cart,
      .woocommerce div.product .elementor-widget-wc-add-to-cart
    )
    form.cart:not(.grouped_form):not(.variations_form) {
    flex-wrap: wrap;
  }
}

/* tabs wc-tabs description page detail produit */
.woocommerce div.product .woocommerce-tabs ul.wc-tabs {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  padding: 0 !important;
  list-style: none;
  margin-bottom: 40px;
  border-bottom: 2px solid rgba(147, 146, 142, 0.2);
}

.woocommerce div.product .woocommerce-tabs ul.wc-tabs li a {
  position: relative;
  display: block;
  outline: none;
  padding: 16px 28px;
  border: 0 none;
  box-shadow: none;
}

.woocommerce div.product .woocommerce-tabs ul.wc-tabs li.active a::after,
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li a:hover::after {
  transform: scaleX(1);
}

.woocommerce div.product .woocommerce-tabs ul.wc-tabs li a::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: -2px;
  left: 0;
  background-color: #d7b377;
  transform: scaleX(0);
  transition: transform 0.3s;
}

/* e-woocommerce notices */
.woocommerce-message {
  border-top-color: #d7b377;
  font-family: "Hind", Sans-serif !important;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.4px;
}

/* e-woocommerce page commande*/

.woocommerce-error {
  font-family: "Hind", Sans-serif !important;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.4px;
}

.woocommerce-error li {
  margin-bottom: 10px;
}

.checkout-inline-error-message {
  font-family: "Hind", Sans-serif !important;
  font-size: 14px !important;
}

.woocommerce-message::before {
  color: #d7b377;
}

.e-woocommerce-notices-wrapper .button {
  background-color: #d7b377 !important;
  font-family: "Hind", Sans-serif !important;
  color: #fff !important;
  font-weight: 400 !important;
  letter-spacing: -0.2px !important;
}

.e-woocommerce-notices-wrapper .button:hover {
  background-color: #105f91 !important;
}

.woocommerce
  form
  .form-row.woocommerce-validated
  .select2-container:not(.select2-container--open)
  .select2-selection {
  border-color: rgba(35, 31, 32, 0.3) !important;
}

/* pagination page boutique */
.page-numbers {
  background: #f7f2ed;
  padding: 5px 16px;
  border-radius: 5px;
}

.page-numbers:hover,
.page-numbers.current {
  background: #d7b377;
}

/* filter page boutique */
.wpc-filter-title {
  color: #105f91;
  font-weight: 700;
  margin-bottom: 25px;
  font-family: "Pilcrow", sans-serif;
}

.wpc-filters-main-wrap li.wpc-term-item a {
  font-family: "Pilcrow", sans-serif;
  text-transform: none;
}

/* panier */
.woocommerce-cart table.cart .product-name a {
  color: #105f91 !important;
  font-family: "Hind", Sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
}

.woocommerce-cart table.cart img {
  width: 140px !important;
  background-color: #f7f2ed;
  border-radius: 4px;
  object-fit: cover;
  height: 100px !important;
  padding: 10px;
}

.woocommerce-cart table.cart a.remove {
  display: block;
  font-weight: 600;
  position: relative;
  width: 50px;
  background: transparent;
  height: 50px;
  margin: 0 auto;
  line-height: 63px;
  z-index: 1;
  font-size: 0;
}

.woocommerce-cart table.cart a.remove::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'><path d='M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31 61.66 205.66a8 8 0 0 1-11.32-11.32L116.69 128 50.34 61.66A8 8 0 0 1 61.66 50.34L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
}

.woocommerce-cart table.cart .product-thumbnail {
  width: 140px;
}

.woocommerce-cart table.cart td.product-remove {
  padding-inline: 0 20px;
}

@media (max-width: 881px) {
  .elementor-widget-woocommerce-cart .woocommerce table.cart td {
    padding-inline: 0 20px;
  }
}

/*-----------------------------------------------------------*/
/* LMS pages des cours et detail */
/*-----------------------------------------------------------*/

.tutor-card {
  border-radius: 20px !important;
}

.tutor-btn-primary {
  color: #fff !important;
  text-decoration: none !important;
  width: 100%;
  display: block;
}

.tutor-color-white {
  color: #fff !important;
}

.tutor-form-check-input {
  padding: 10px !important;
}

.tutor-wrap {
  padding-top: 60px;
  padding-bottom: 60px;
}

.tutor-course-single-content-wrapper
  #tutor-single-entry-content
  .tutor-course-topic-single-header
  .tutor-topbar-mark-btn:hover {
  color: #105f91 !important;
}

.pp-form-container {
  padding-top: 60px;
  padding-bottom: 60px;
}

.tutor-course-single-content-wrapper {
  margin: 0 auto;
  max-width: min(100%, 1320px);
}

.post-password-form p {
  align-items: start;
  display: grid;
  width: 100%;
  gap: 20px;
}

.post-password-form-invalid-password {
  color: #d67e7e;
}

.tutor-checkout-billing .tutor-billing-fields .tutor-form-control,
.tutor-apply-coupon-form input {
  font-size: 16px !important;
  text-transform: none !important;
  border-radius: 0 !important;
  padding: 5px 10px !important;
}

.tutor-checkout-billing button,
.tutor-checkout-summary button {
  font-size: 18px !important;
  padding: 10px 20px !important;
}

/*-----------------------------------------------------------*/
/* temoignages swiper */
/*-----------------------------------------------------------*/

.temoignages .elementor-swiper-button-prev {
  background-color: #93928e99 !important;
}

.temoignages .swiper-slide-active {
  background: #f6f6f6;
  padding: 30px;
  border-radius: 20px;
}

.temoignages .swiper-slide-active .box-2 {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

.temoignages .swiper-slide-active .box-2 .elementor-icon svg {
  height: 55px !important;
  width: 55px;
}

.temoignages .swiper-slide-active .box-2 .elementor-widget-theme-post-content {
  font-size: 26px !important;
  font-weight: 500 !important;
  letter-spacing: -0.6px !important;
  font-family: "Pilcrow", sans-serif !important;
  margin-top: 20px;
}

.temoignages .swiper-slide-active .box-1 img {
  width: 70px !important;
  height: 70px !important;
  border-radius: 90px !important;
}

.temoignages .swiper-slide-active .box-1 {
  margin-top: 20px;
}
