/* ============================================================================
   GLOBAL STYLES
   ============================================================================ */

/* --------------------------------------------------------------------------
   VARIABLES
   -------------------------------------------------------------------------- */

:root {
  /* -- -- -- -- -- Colors -- -- -- -- -- */

  --color-primary: #000000;
  --color-secondary: #000000;
  --color-tertiary: #000000;

  --color-dark-grey: #707070;
  --color-light-grey: #f7f7f7;
  --color-greybg: #EBEBEB;

  --color-black: #000000;
  /* --color-white: #FAFBFA; */
  --color-white: #FFFFFF;


  /* -- -- -- -- -- TYPOGRAPHIE -- -- -- -- -- */
  --ffMLi: 'workSansLight', sans-serif;
  --ffMRe: 'workSansRegular', sans-serif;
  --ffMMe: 'workSansMedium', sans-serif;
  --ffMSeBo: 'workSansSemiBold', sans-serif;
  --ffMBo: 'workSansBold', sans-serif;

  --ffSLi: 'gorditaLight', sans-serif;
  --ffSReIt: 'gorditaRegularItalic', sans-serif;
  --ffSBo: 'gorditaBold', sans-serif;
}

:focus-visible {
  outline: 1px solid var(--color-black);
}

/* --------------------------------------------------------------------------
   GLOBAL - BASE STYLES
   -------------------------------------------------------------------------- */

body {
  font-family: var(--ffMRe);
  color: var(--color-black);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

#wrapper {
  background: var(--color-white) !important;
  position: relative;
  padding-top: 14px;
}

.close {
  text-shadow: none;
}

.none {
  display: none!important;
}

.spawn {
  display: block!important;
}

/* --------------------------------------------------------------------------
   TYPOGRAPHIE - TYPOGRAPHY
   -------------------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ffSLi);
  font-weight: inherit;
}

h1, h2 {
  font-size: 2.8125rem;
  line-height: 3.25rem;
}

.h1, .h2, .h3 {
  font-family: var(--ffMSeBo);
  margin: 0;
  font-weight: inherit;
  padding: 0;
  text-transform: none;
  color: var(--color-black);
}

p, p * {
  color: var(--color-black);
  font-family: var(--ffMRe);
  font-size: 1rem;
  line-height: 1.5rem;
}

a,
p a {
  color: var(--color-primary);
  text-decoration: none;
}

@media (pointer: fine) {
  a:focus,
  a:hover,
  p a:hover {
    color: var(--color-secondary);
  }
}

/* --------------------------------------------------------------------------
   TITRES - HEADINGS
   -------------------------------------------------------------------------- */

.h1 {
  font-size: 2.5rem;
  line-height: 3.75rem;
}

.h2 {
  font-size: 2.25rem;
  line-height: 3rem;
}

.h3 {
  font-size: 1.75rem;
  line-height: 2.25rem;
}

/* --------------------------------------------------------------------------
   BOUTONS - BUTTONS
   -------------------------------------------------------------------------- */

.elementor-button span {
  font-family: var(--ffMSeBo);
  font-size: .875rem;
  line-height: 1.5625rem;
  color: var(--color-white);
  text-transform: uppercase;
}

.btn,
.elementor-widget-button .elementor-button {
  display: block;
  padding: 19px 24px;
  border: solid 1px var(--color-black);
  border-radius: unset;
  font-size: 1rem;
  line-height: 1.5rem;
  text-transform: uppercase;
  text-align: center;
  float: none !important;
  height: auto;
  box-shadow: none;
  white-space: normal;
  outline: none !important;
  margin: 0;
  width: fit-content;
  background-color: var(--color-black);
  transition: all .35s ease;
}

@media (pointer: fine) {
  .btn:hover,
  .elementor-widget-button .elementor-button:hover {
    background-color: var(--color-white);
    transition: all .35s ease;
  }
  
  .btn:hover .elementor-button span,
  .elementor-widget-button .elementor-button:hover span {
    color: var(--color-black);
    transition: all .35s ease;
  }
  
  .btn-primary,
  .elementor-widget-button.elementor-button-primary .elementor-button {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    border-color: var(--color-primary) !important;
  }

  .btn-primary:active,
  .btn-primary:hover,
  .btn-primary:focus,
  .btn-primary:focus-visible,
  .btn-primary:focus-within,
  .elementor-widget-button.elementor-button-primary .elementor-button:active,
  .elementor-widget-button.elementor-button-primary .elementor-button:hover,
  .elementor-widget-button.elementor-button-primary .elementor-button:focus,
  .elementor-widget-button.elementor-button-primary .elementor-button:focus-visible,
  .elementor-widget-button.elementor-button-primary .elementor-button:focus-within {
    background-color: var(--color-secondary) !important;
    border-color: var(--color-secondary) !important;
  }

  .btn-secondary:active,
  .btn-secondary:hover,
  .btn-secondary:focus,
  .btn-secondary:focus-visible,
  .btn-secondary:focus-within,
  .elementor-widget-button.elementor-button-secondary .elementor-button:active,
  .elementor-widget-button.elementor-button-secondary .elementor-button:hover,
  .elementor-widget-button.elementor-button-secondary .elementor-button:focus,
  .elementor-widget-button.elementor-button-secondary .elementor-button:focus-visible,
  .elementor-widget-button.elementor-button-secondary .elementor-button:focus-within {
    background-color: var(--color-secondary) !important;
    color: var(--color-white) !important;
    border-color: var(--color-secondary) !important;
  }
}


.btn-secondary,
.elementor-widget-button.elementor-button-secondary .elementor-button {
  background-color: transparent !important;
  color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

@media (max-width: 992px) {
  .btn,
  .elementor-widget-button .elementor-button {
    font-size: 0.875rem;
    line-height: 1.125rem;
    padding-block: 12px;
  }
}

/* --------------------------------------------------------------------------
   CONTAINER
   -------------------------------------------------------------------------- */

.container {
  position: relative;
  z-index: 1;
  margin-inline: auto;
}

#content-wrapper {
  padding-inline: 0 !important;
}

@media (min-width: 993px) {
  .container {
    max-width: 1660px;
    padding-inline: 36px;
    width: 100%;
  }
}

@media (max-width: 992px) {
  .container {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .container {
    width: 100%;
    padding-inline: 35px;
  }
}

/* --------------------------------------------------------------------------
   BREADCRUMB - FIL D'ARIANE
   -------------------------------------------------------------------------- */

#wrapper .breadcrumb {
  margin-bottom: 32px;
}

#wrapper .breadcrumb a,
#wrapper .breadcrumb span {
  font-size: 0.875rem;
  line-height: 1rem;
  color: var(--color-black);
  text-decoration: none;
}

#wrapper .breadcrumb li::after {
  content: ">";
  margin: 0 2px;
  color: var(--color-black);
  font-size: 0.75rem;
  line-height: 1rem;
}

@media (pointer: fine) {
  #wrapper .breadcrumb a:hover span {
    color: var(--color-primary);
  }
}

@media (width < 769px) {
  #wrapper .breadcrumb {
    margin-bottom: 24px;
  }
}

/* --------------------------------------------------------------------------
   SWIPER - CAROUSEL NAVIGATION
   -------------------------------------------------------------------------- */

.swiper-button-next,
.swiper-button-prev {
  background-color: var(--color-white) !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 50%;
  border: solid 1px var(--color-dark-grey);
}

.swiper-button-next::after,
.swiper-button-prev::after {
  content: "" !important;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 7px;
  height: 12px;
  display: block;
}

.swiper-button-prev::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 7 12' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M-5.72205e-06 6.00025C-5.72205e-06 5.74425 0.0979939 5.48825 0.292994 5.29325L5.29299 0.29325C5.68399 -0.09775 6.31599 -0.09775 6.70699 0.29325C7.09799 0.68425 7.09799 1.31625 6.70699 1.70725L2.41399 6.00025L6.70699 10.2933C7.09799 10.6842 7.09799 11.3162 6.70699 11.7072C6.31599 12.0982 5.68399 12.0982 5.29299 11.7072L0.292994 6.70725C0.0979939 6.51225 -5.72205e-06 6.25625 -5.72205e-06 6.00025Z' fill='%234b4848'/%3E%3C/svg%3E");
}

.swiper-button-next::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 7 12' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.00025 6.00025C7.00025 5.74425 6.90225 5.48825 6.70725 5.29325L1.70725 0.29325C1.31625 -0.09775 0.68425 -0.09775 0.29325 0.29325C-0.09775 0.68425 -0.09775 1.31625 0.29325 1.70725L4.58625 6.00025L0.29325 10.2933C-0.09775 10.6842 -0.09775 11.3162 0.29325 11.7072C0.68425 12.0982 1.31625 12.0982 1.70725 11.7072L6.70725 6.70725C6.90225 6.51225 7.00025 6.25625 7.00025 6.00025Z' fill='%234b4848'/%3E%3C/svg%3E");
}

.swiper-pagination-bullet{
  background-color: var(--color-white) !important;
  opacity: 1 !important;
  width: 20px !important;
  height: 20px !important;
  margin-inline: 5px !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active{
  background-color: var(--color-primary) !important;
}

/* --------------------------------------------------------------------------
   FLAGS - PRODUCT FLAGS
   -------------------------------------------------------------------------- */

.product-flags {
  margin-bottom: 0;
  gap: 10px;
  z-index: 1;
}

.product-flags .product-flag {
  margin: 0 !important;
  width: fit-content !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  padding: 5px 10px !important;
  color: var(--color-white) !important;
  text-transform: none !important;
  background-color: var(--color-primary) !important;
  min-height: 0 !important;
  min-width: 0 !important;
}

.product-flags .product-flag.discount {
  background-color: var(--color-secondary) !important;
}

.product-flags .product-flag.out_of_stock {
  background-color: var(--color-dark-grey) !important;
}

.product-miniature .product-flags {
  top: 10px;
}

@media (max-width: 768px) {
  .product-flags {
    gap: 5px;
  }

  .product-miniature .product-flags {
    top: 5px;
  }

  .product-flags .product-flag {
    font-size: 0.875rem !important;
    line-height: 1.125rem !important;
    padding: 4px 8px !important;
  }
}

/* --------------------------------------------------------------------------
   AUTRES
   -------------------------------------------------------------------------- */

.container > .row {
  margin-inline: 0 !important;
}

.row::after {
  display: none;
}

#index #main .page-footer {
  display: none;
}