/* =========================================================
   HOME — CATEGORIES / TABS / PANELS
   CLEAN CONSOLIDATED
========================================================= */


/* =========================================================
   PANEL BASE
========================================================= */

.item_category_panel_mobile {
  --panel-content-top: 3.75rem;
  --panel-height: 78vh;

  position: relative;

  width: 100%;
  height: var(--panel-height);

  overflow: hidden;

  opacity: 0;

  transition:
    opacity 280ms ease;
}

.item_category_panel_mobile.is-visible {
  opacity: 1;
}


/* =========================================================
   MAIN CATEGORY NAV
========================================================= */

.nav_categories_mobile {
  position: relative;

  width: 100%;

  z-index: 1000;
}

.list_categories_tabs_mobile {
  display: flex !important;
  flex-wrap: nowrap;

  align-items: stretch;
  justify-content: space-between;

  width: 100%;

  gap: 0;

  padding: 0 0 0.4rem;

  overflow: visible;
}

.item_category_tab_mobile {
  display: flex !important;
  align-items: center;

  flex: 1 1 0 !important;

  width: auto !important;
  min-width: 0;
}

.item_category_tab_mobile:nth-child(1) {
  justify-content: flex-start;
}

.item_category_tab_mobile:nth-child(2) {
  justify-content: center;
}

.item_category_tab_mobile:nth-child(3) {
  justify-content: flex-end;
}


/* =========================================================
   MAIN CATEGORY LINKS
========================================================= */

.link_category_tab_mobile {
  position: relative;

  display: inline-flex !important;

  align-items: center;
  justify-content: center;

  width: 100%;
  max-width: 100%;

  padding: 0.35rem 0;

  color: #000 !important;
  text-decoration: none;

  cursor: pointer;

  transform-origin: center;

  transition:
    transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.link_category_tab_mobile:hover {
  transform: none;
}

.link_category_tab_mobile::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 100%;
  height: 1px;

  background: currentColor;

  transform: scaleX(0);
  transform-origin: right center;

  transition:
    transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.link_category_tab_mobile:hover::after,
.link_category_tab_mobile.is-active::after,
.link_category_tab_mobile.w--current::after,
.link_category_tab_mobile[aria-current="page"]::after,
.link_category_tab_mobile:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left center;
}

.link_category_tab_mobile:focus-visible {
  outline: none;
}

.text_category_tab_mobile {
  display: block;

  width: 100%;

  white-space: nowrap;

  font-weight: 400;
  line-height: 1;

  color: #000 !important;
}

.link_category_tab_mobile.is-active
  .text_category_tab_mobile,
.link_category_tab_mobile.w--current
  .text_category_tab_mobile,
.link_category_tab_mobile[aria-current="page"]
  .text_category_tab_mobile {
  font-weight: 400;
}


/* Webflow Embed éventuel dans les tabs */

.item_category_tab_mobile > .w-embed {
  display: flex !important;

  width: 100% !important;
}

.item_category_tab_mobile
  > .w-embed
  > .link_category_tab_mobile,
.item_category_tab_mobile
  > .w-embed
  > .filter_radio-item.link_category_tab_mobile {
  width: 100% !important;
}


/* =========================================================
   PANEL MODE SWITCH
   Catégories / Collections
========================================================= */

.category_panel_modes_mobile {
  position: absolute;

  top: 0.65rem;
  left: 1rem;

  z-index: 30;

  display: flex;

  align-items: center;

  gap: 2rem;

  pointer-events: auto;
}

.category_panel_mode_mobile {
  position: relative;

  display: inline-flex;

  align-items: center;

  width: fit-content;

  padding: 0.35rem 0;

  cursor: pointer;

  opacity: 0.45;

  line-height: 1;

  transition:
    opacity 220ms ease;
}

.category_panel_mode_mobile:hover,
.category_panel_mode_mobile.is-active {
  opacity: 1;
}

.category_panel_mode_mobile::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 100%;
  height: 1px;

  background: currentColor;

  transform: scaleX(0);
  transform-origin: right center;

  transition:
    transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.category_panel_mode_mobile:hover::after,
.category_panel_mode_mobile.is-active::after {
  transform: scaleX(1);
  transform-origin: left center;
}


/* =========================================================
   COMMON MEDIA STAGE
========================================================= */

.category_panel_media_mobile {
  position: absolute;

  top: var(--panel-content-top);
  left: 0;
  right: 0;
  bottom: 0;

  width: 100%;

  overflow: hidden;

  z-index: 1;

  opacity: 0;
  visibility: visible;

  transition:
    opacity 380ms ease;
}

.image_category_panel_mobile {
  position: relative;

  z-index: 1;

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  opacity: 1;

  transition:
    opacity 240ms ease,
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.image_category_panel_mobile.is-switching {
  opacity: 0;
}


/* =========================================================
   MODE TRANSITIONS
   Categories <-> Collections
========================================================= */

.wrapper_subcathome_mobile,
.category_panel_collections_mobile {
  visibility: hidden;

  opacity: 0;

  pointer-events: none;

  transition:
    opacity 320ms ease,
    transform 460ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 460ms;
}


/* Categories sort vers la gauche */

.wrapper_subcathome_mobile {
  transform: translateX(-1.25rem);
}


/* Collections sort vers la droite */

.category_panel_collections_mobile {
  transform: translateX(1.25rem);
}


/* =========================================================
   CATEGORIES ACTIVE
========================================================= */

.item_category_panel_mobile[
  data-active-panel-mode="categories"
] .wrapper_subcathome_mobile {
  visibility: visible;

  opacity: 1;

  pointer-events: auto;

  transform: translateX(0);

  transition:
    opacity 320ms ease,
    transform 460ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0s;
}


/* =========================================================
   COLLECTIONS ACTIVE
========================================================= */

.item_category_panel_mobile[
  data-active-panel-mode="collections"
] .category_panel_collections_mobile {
  visibility: visible;

  opacity: 1;

  pointer-events: auto;

  transform: translateX(0);

  transition:
    opacity 320ms ease,
    transform 460ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0s;
}


/* =========================================================
   MEDIA STAGE BY MODE
========================================================= */

.item_category_panel_mobile[
  data-active-panel-mode="categories"
] .category_panel_media_mobile {
  opacity: 0;
}

.item_category_panel_mobile[
  data-active-panel-mode="collections"
] .category_panel_media_mobile {
  opacity: 1;
}


/* =========================================================
   CATEGORIES — MEDIA GRID
========================================================= */

.wrapper_subcathome_mobile {
  position: absolute;

  top: var(--panel-content-top);
  left: 0;
  right: 0;
  bottom: 0;

  z-index: 20;

  width: 100%;

  overflow: hidden;
}

.wrapper_subcathome_mobile
  .list_subcathome {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  grid-auto-rows:
    minmax(0, 1fr);

  width: 100%;
  height: 100%;

  gap: 0;

  padding: 0;
}

.wrapper_subcathome_mobile
  .item_subcathome {
  position: relative;

  width: 100%;

  min-width: 0;
  min-height: 0;

  padding: 0;

  overflow: hidden;
}


/* =========================================================
   CATEGORY IMAGE
========================================================= */

.wrapper_subcathome_mobile
  .subcathome_source_image {
  position: absolute;

  inset: 0;

  display: block !important;

  width: 100%;
  height: 100%;

  object-fit: cover;

  z-index: 1;

  transition:
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.wrapper_subcathome_mobile
  .item_subcathome:hover
  .subcathome_source_image {
  transform: scale(1.015);
}


/* =========================================================
   CATEGORY LINK
========================================================= */

.wrapper_subcathome_mobile
  .subcathome-link {
  position: absolute;

  inset: 0;

  z-index: 2;

  display: flex;

  align-items: flex-start;
  justify-content: flex-start;

  width: 100%;
  height: 100%;

  padding: 0;

  box-sizing: border-box;

  color: #000 !important;
  text-decoration: none !important;
}

.wrapper_subcathome_mobile
  .subcathome-link::before,
.wrapper_subcathome_mobile
  .subcathome-link::after {
  content: none !important;
}


/* =========================================================
   CATEGORY / COLLECTION LABELS
========================================================= */

.wrapper_subcathome_mobile
  .subcathome-text,
.collectionhome-link {
  position: relative;

  display: inline-flex;

  align-items: center;

  width: fit-content;

  padding: 0.55rem 1rem;

  background:
    rgba(255, 255, 255, 0.94);

  color: #000 !important;
  text-decoration: none !important;

  font-size: 2rem;
  line-height: 1;

  transition:
    opacity 220ms ease,
    background-color 220ms ease,
    padding-right 320ms
      cubic-bezier(0.22, 1, 0.36, 1);
}

.wrapper_subcathome_mobile
  .subcathome-text {
  z-index: 2;
}

.wrapper_subcathome_mobile
  .item_subcathome:hover
  .subcathome-text,
.wrapper_subcathome_mobile
  .subcathome-link:focus-visible
  .subcathome-text,
.collectionhome-link:hover,
.collectionhome-link:focus-visible {
  background: #fff;

  padding-right: 1.25rem;
}


/* Pas d'underline sur les collections */

.collectionhome-link::after {
  content: none !important;
}

.collectionhome-link:focus-visible {
  outline: none;
}


/* =========================================================
   COLLECTIONS — EDITORIAL STAIRCASE
========================================================= */

.category_panel_collections_mobile {
  position: absolute;

  top: var(--panel-content-top);
  left: 0;

  z-index: 20;

  display: flex;

  flex-direction: column;
  align-items: flex-start;

  width: auto;

  gap: 0.35rem;
}


/* =========================================================
   COLLECTION ACTIVE STATE
========================================================= */

.collectionhome-link.is-active {
  opacity: 1;
}


/* =========================================================
   COLLECTION CONTEXTUAL CTA
   Full media click area without blocking controls
========================================================= */

.collectionhome-cta {
  position: absolute;

  top: var(--panel-content-top);
  left: 0;
  right: 0;
  bottom: 0;

  z-index: 10;

  display: flex;

  align-items: flex-end;
  justify-content: flex-end;

  padding: 1rem;

  box-sizing: border-box;

  color: #000 !important;

  font-size: 0.95rem;
  line-height: 1;

  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.35rem;

  opacity: 0;

  pointer-events: none;

  transition:
    opacity 220ms ease;
}

.item_category_panel_mobile[
  data-active-panel-mode="collections"
] .collectionhome-cta {
  opacity: 1;
  pointer-events: auto;
}

.item_category_panel_mobile[
  data-active-panel-mode="categories"
] .collectionhome-cta {
  opacity: 0;
  pointer-events: none;
}

/* =========================================================
   COLLECTION MEDIA
========================================================= */

.item_category_panel_mobile[
  data-active-panel-mode="collections"
] .category_panel_media_mobile::after {
  content: none;
}


/* =========================================================
   TECHNICAL CMS MEDIA
========================================================= */

.collectionhome_source_image {
  display: none !important;
}


/* =========================================================
   LEGACY / GENERIC CATEGORY LINKS
========================================================= */

.item_categoriehome {
  position: relative;

  cursor: pointer;

  transition:
    opacity 200ms ease;
}

.item_categoriehome:hover {
  opacity: 0.9;
}

.link_categoriehome {
  position: absolute;

  inset: 0;

  z-index: 1;
}

.wrapper_subcathome {
  pointer-events: none;
}

.subcathome-link_all {
  position: relative;

  display: inline-flex;

  align-items: center;

  width: fit-content;
  max-width: 100%;

  gap: 1rem;

  padding: 0.35rem 0;

  color: #000 !important;
  text-decoration: none !important;

  pointer-events: auto;
}

.subcathome-link_all::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 100%;
  height: 1px;

  background: currentColor;

  transform: scaleX(0);
  transform-origin: right center;

  transition:
    transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.subcathome-link_all:hover::after,
.subcathome-link_all:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left center;
}

.subcathome-link_all:focus-visible {
  outline: none;
}


/* =========================================================
   OLD TEXT UNDERLINES — DISABLED
========================================================= */

.text_category_tab_mobile::after,
.subcathome-text::after,
.text_categoriehome::after,
.radiobutton_label::after {
  content: none !important;
}


/* =========================================================
   TYPOGRAPHY RENDERING
========================================================= */

.link_category_tab_mobile,
.subcathome-link,
.subcathome-link_all,
.text_category_tab_mobile,
.subcathome-text,
.text_categoriehome,
.collectionhome-link,
.collectionhome-cta {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}


/* =========================================================
   OLD CTA — HIDDEN
========================================================= */

.see_all_category_mobile,
.button_category_panel_mobile {
  display: none !important;
}


/* =========================================================
   TABLET / MOBILE
========================================================= */

@media screen and (max-width: 991px) {

  /* -------------------------------------------------------
     PANEL
  ------------------------------------------------------- */

  .item_category_panel_mobile {
    --panel-content-top:
      calc(env(safe-area-inset-top) + 4rem);

    --panel-height: 65vh;
  }


  /* -------------------------------------------------------
     MAIN NAV
  ------------------------------------------------------- */

  .nav_categories_mobile {
    position: relative;

    z-index: 1000;

    isolation: isolate;

    pointer-events: auto !important;
  }

  .home_categories_scope
    .list_categories_tabs_mobile {
    display: grid !important;

    grid-template-columns:
      repeat(3, minmax(0, 1fr)) !important;

    width: 100% !important;

    gap: 0;

    padding:
      0
      var(--mobile-gutter)
      0.4rem;

    box-sizing: border-box;

    overflow: visible;
  }

  .home_categories_scope
    .item_category_tab_mobile {
    flex: unset !important;

    width: 100% !important;
    min-width: 0 !important;
  }

  .home_categories_scope
    .link_category_tab_mobile {
    position: relative;

    z-index: 1003;

    width: 100% !important;

    min-width: 0 !important;
    max-width: 100% !important;

    padding: 0.35rem 0;

    pointer-events: auto !important;

    touch-action: manipulation;
  }


  /* -------------------------------------------------------
     CATEGORIES
  ------------------------------------------------------- */

  .wrapper_subcathome_mobile
    .list_subcathome {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .wrapper_subcathome_mobile
    .item_subcathome {
    min-height: 0;
  }

  .wrapper_subcathome_mobile
    .subcathome-text {
    font-size: 1.35rem;
    padding: 0.5rem 0.75rem;
  }

.wrapper_subcathome_mobile
    .item_subcathome:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }


  /* -------------------------------------------------------
     COLLECTIONS
  ------------------------------------------------------- */

  .category_panel_collections_mobile {
    left: 0;
  }

  .category_panel_collections_mobile
    .collectionhome-link {
    font-size: 1.75rem;
  }


  /* -------------------------------------------------------
     OTHER HOME CONTENT
  ------------------------------------------------------- */

  .home-exergue-container {
    width: 100%;
    max-width: 34rem;

    margin: 0 auto;

    padding-left:
      clamp(1.25rem, 5vw, 2rem);

    padding-right:
      clamp(1.25rem, 5vw, 2rem);

    box-sizing: border-box;
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 767px) {

  /* -------------------------------------------------------
     MAIN CATEGORY NAV
  ------------------------------------------------------- */

  .home_categories_scope
    .list_categories_tabs_mobile {
    padding:
      var(--mobile-gutter)
      var(--mobile-gutter)
      0.4rem;
  }

  .home_categories_scope
    .item_category_tab_mobile {
    min-height: 2.4rem !important;
  }

  .home_categories_scope
    .text_category_tab_mobile {
    font-size:
      clamp(1rem, 5.2vw, 1.35rem);

    letter-spacing: 0.06em;

    line-height: 1;
  }


  /* -------------------------------------------------------
     COLLECTION SELECTION
     Tap = preview / CTA = navigation
  ------------------------------------------------------- */

  .collectionhome-link {
    opacity: 0.5;
  }

  .collectionhome-link.is-active {
    opacity: 1;
  }


  /* -------------------------------------------------------
     CONTEXTUAL CTA
  ------------------------------------------------------- */

  .item_category_panel_mobile[
    data-active-panel-mode="collections"
  ] .collectionhome-cta {
    display: inline-flex;

    opacity: 1;

    pointer-events: auto;
  }

  .item_category_panel_mobile[
    data-active-panel-mode="categories"
  ] .collectionhome-cta {
    display: none;

    opacity: 0;

    pointer-events: none;
  }
}


/* =========================================================
   DESKTOP
========================================================= */

@media screen and (min-width: 992px) {

  .section_categories_mobile {
    display: block;

    width: 100%;

    margin-top: 5rem;
  }

  .container_categories_mobile,
  .content_categories_mobile,
  .list_categories_panels_mobile {
    display: block;

    width: 100%;
  }

  .nav_categories_mobile {
    display: block;

    width: 100%;
  }

  .list_categories_tabs_mobile {
    display: flex !important;

    width: 100%;

    gap: 0;

    padding: 0;

    overflow: visible;
  }

  .item_category_tab_mobile {
    flex: 1 1 0 !important;

    width: auto !important;
  }

  .link_category_tab_mobile {
    position: relative;

    display: inline-flex !important;

    width: 100%;

    padding: 0.35rem 0;

    cursor: pointer;
  }
}

/* =========================================================
   HOME FOCUS PRODUCTS
========================================================= */

.home-focus-products-section {
  width: 100%;
}

.home-focus-products-container {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 0;
  width: 100%;
  padding: 2rem
}

.home-focus-slider-area,
.home-focus-info-area {
  width: 50%;
  flex: 0 0 50%;
  min-width: 0;
}

.home-focus-slider-area {
  position: relative;
  overflow: hidden;
  padding-right: 2rem;
}

.home-focus-wrapper-collection,
.home-focus-track-collection,
.home-focus-item-collection,
.home-focus-slide {
  min-width: 0;
  width: 100%;
}

.home-focus-track {
  display: flex;
  width: 100%;
  transition: transform 0.4s ease;
  will-change: transform;
}

.home-focus-item {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  display: flex;
  justify-content: center;
}

.home-focus-link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  text-decoration: none;
  color: inherit;
  text-align: center;
}

.home-focus-image {
  display: block;
  width: 100%;
  max-width: 480px;
  height: auto;
  object-fit: contain;
}

.home-focus-title {
  margin-top: 1rem;
}

.home-focus-meta {
  margin-top: 0.35rem;
  opacity: 0.7;
}

.home-focus-prev,
.home-focus-next {
  position: absolute;
  top: 0;
  z-index: 20;
  width: 22%;
  height: calc(100% - 4.25rem);
  display: flex;
  align-items: center;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.home-focus-prev {
  left: 0;
  justify-content: flex-start;
}

.home-focus-next {
  right: 0;
  justify-content: flex-end;
}

.home-focus-prev::before,
.home-focus-next::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 1px solid var(--black);
  border-right: 1px solid var(--black);
  pointer-events: none;
}

.home-focus-prev::before {
  margin-left: 1rem;
  transform: rotate(-135deg);
}

.home-focus-next::before {
  margin-right: 1rem;
  transform: rotate(45deg);
}

.home-focus-prev:focus-visible,
.home-focus-next:focus-visible {
  outline: none;
}

.home-focus-progress {
  width: 100%;
  max-width: 480px;
  margin: 1.25rem auto 0;
}

.home-focus-progress-segments {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}

.home-focus-progress-segment {
  position: relative;
  flex: 1 1 0;
  height: 1px;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(0, 0, 0, 0.18);
  overflow: hidden;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.home-focus-progress-segment::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--black, #000);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s ease;
}

.home-focus-progress-segment.is-active::after,
.home-focus-progress-segment.is-complete::after {
  transform: scaleX(1);
}

.home-focus-progress-segment:focus-visible {
  outline: none;
}

.home-focus-info-area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.home-exergue-container {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.home-exergue-text {
  margin-bottom: 1rem;
}

.home-exergue-presentation {
  margin-top: 0;
}



@media screen and (max-width: 991px) {
   
  .home-focus-products-container {
    flex-direction: column;
  }

  .home-focus-slider-area,
  .home-focus-info-area {
    width: 100%;
    flex: 0 0 100%;
  }

  .home-focus-slider-area {
    padding-right: 0;
  }

  .home-focus-info-area {
    padding-left: 0;
    margin-top: 2rem;
  }

  .home-focus-prev,
  .home-focus-next {
    width: 16%;
    height: calc(100% - 4rem);
  }

  .home-focus-prev::before {
    margin-left: 0.8rem;
  }

  .home-focus-next::before {
    margin-right: 0.8rem;
  }

  .home-focus-link,
  .home-focus-progress {
    max-width: 100%;
  }

  .home-focus-image {
    max-width: 100%;
  }

  .home-exergue-container {
    max-width: 100%;
  }
}

/* =========================================================
   HOME — MOBILE CATEGORY NAV REFINEMENT
========================================================= */

@media screen and (max-width: 767px) {
  .home_categories_scope .list_categories_tabs_mobile {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100%;
    padding: var(--mobile-gutter);
    box-sizing: border-box;
  }

  .home_categories_scope .item_category_tab_mobile {
    min-height: 2.4rem !important;
  }

  .home_categories_scope .text_category_tab_mobile {
    font-size: clamp(1rem, 5.2vw, 1.35rem);
    letter-spacing: 0.06em;
    line-height: 1;
  }

  .home_categories_scope .item_category_tab_mobile::after {
    bottom: 0;
  }
}


