@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@300;400;500;600&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

/* =====================================================
   LES PIEDS DANS LA DYLE — CUSTOM CSS
   Version nettoyée et organisée
===================================================== */


/* =====================================================
   01 — TYPOGRAPHIE GLOBALE
===================================================== */

body {
  font-family: 'Crimson Pro', Georgia, serif !important;
}

.bebas-menu {
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: 21px !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #555 !important;
}

.bebas-menu:hover {
  color: #111 !important;
}


/* =====================================================
   02 — HEADER / MENU PRINCIPAL
===================================================== */

#header .main-menu a,
#header .top-menu a,
#header .main-menu__tree__link {
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 18px;
  font-weight: 400 !important;
  letter-spacing: .09em;
  text-transform: uppercase;
}

#header a.main-menu__tree__link.dropdown-item[data-depth="1"] {
  font-weight: 400 !important;
}

/* Suppression complète de la recherche */
#header #search_widget,
#header .search-widget,
#header form[action*="search"],
#header .search-toggler,
#header button.search {
  display: none !important;
}

/* Icônes Material Icons : réparation affichage */
#header .material-icons,
#header i.material-icons {
  font-family: 'Material Icons' !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: 22px !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  display: inline-block !important;
  white-space: nowrap !important;
  word-wrap: normal !important;
  direction: ltr !important;
  -webkit-font-feature-settings: 'liga' !important;
  -webkit-font-smoothing: antialiased !important;
  font-feature-settings: 'liga' !important;
}
/* Connexion / Panier dans le header */
@media (min-width: 768px) {
  .header-bottom__right,
  .header-bottom__right a,
  .header-bottom__right span {
    font-family: 'Bebas Neue', Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 18px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #111 !important;
    text-decoration: none !important;
  }

  .header-bottom__right {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
  }

  #header .user-info,
  #header .header__user-info,
  #header .blockcart {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
  }

  #header .user-info a,
  #header .header__user-info a,
  #header .blockcart a {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #111 !important;
  }

  #header .user-info .material-icons,
  #header .header__user-info .material-icons,
  #header .blockcart .material-icons {
    color: #111 !important;
    margin: 0 !important;
  }

  #header .cart-products-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 22px !important;
    height: 22px !important;
    margin-left: 4px !important;
    border-radius: 50% !important;
    background: #f5f5f5 !important;
    color: #111 !important;
    font-family: 'Bebas Neue', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }
}

/* =====================================================
   03 — LOGO RESPONSIVE
===================================================== */

#header .logo img {
  display: block;
  width: auto;
  max-height: 80px;
  transition: max-height .2s ease;
}

@media (max-width: 1199px) {
  #header .logo img {
    max-height: 68px;
  }
}

@media (max-width: 991px) {
  #header .logo img {
    max-height: 60px;
  }
}

@media (max-width: 767px) {
  #header .logo img {
    max-height: 54px;
  }
}


/* =====================================================
   04 — MENU MOBILE
===================================================== */

#mobileMenu,
#mobileMenu a,
#mobileMenu .menu__link,
#mobileMenu .main-menu__title,
#mobileMenu .js-menu-back-title {
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: 18px;
  letter-spacing: .08em;
  text-transform: uppercase;
}


/* =====================================================
   05 — SOUS-MENUS DESKTOP
===================================================== */

@media (min-width: 1200px) {
  #header .main-menu__tree > li {
    position: relative !important;
  }

  #header .main-menu__tree > li > .js-sub-menu,
  #header .main-menu__tree > li > .menu-container {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: max-content !important;
    min-width: 260px !important;
    padding: 14px 18px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.08);
    z-index: 9999;
  }

  #header .main-menu__submenu-list,
  #header .js-sub-menu ul,
  #header .menu-container ul {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .main-menu__submenu-list > li,
  #header .js-sub-menu li,
  #header .menu-container li {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .js-sub-menu a,
  #header .menu-container a,
  #header .main-menu__submenu-list a {
    display: block !important;
    font-family: 'Bebas Neue', Arial, sans-serif !important;
    font-weight: 400 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #555 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  #header .js-sub-menu > ul > li > a,
  #header .menu-container > ul > li > a,
  #header .main-menu__submenu-list > li > a,
  #header .js-sub-menu a.dropdown-item,
  #header .menu-container a.dropdown-item {
    font-size: 18px !important;
    padding: 6px 0 !important;
    line-height: 1.15 !important;
  }

  #header .js-sub-menu ul ul a,
  #header .menu-container ul ul a,
  #header .main-menu__submenu-list ul ul a {
    font-size: 16px !important;
    padding: 2px 0 !important;
    line-height: 1 !important;
    margin-left: 14px !important;
    opacity: .9;
  }

  #header .js-sub-menu ul ul,
  #header .menu-container ul ul,
  #header .main-menu__submenu-list ul ul {
    margin-top: 8px !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
  }
}


/* =====================================================
   06 — PAGE D'ACCUEIL
===================================================== */

#index #content {
  max-width: 980px;
  margin: 0 auto;
  padding: 52px 50px 70px;
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 19px;
  line-height: 1.45 !important;
  color: #111;
  text-align: left;
}

#index #content p {
  max-width: 760px;
  margin: 0 auto 18px !important;
  font-size: 21px;
  line-height: 1.45 !important;
}

#index #content p:first-of-type {
  position: relative;
  margin-top: 20px;
  padding-top: 34px;
}

#index #content p:first-of-type::before {
  content: "";
  display: block;
  width: 72px;
  height: 1px;
  background: #555;
  margin: 0 auto 28px;
}

#index #content p:last-child {
  margin-bottom: 0 !important;
}

#index #content em {
  font-style: italic;
  font-size: 24px;
}

#index #content img {
  display: block;
  width: 100%;
  max-width: 1240px;
  height: auto;
  margin: 24px auto 34px;
}

#index #content a[href*="vins"] {
  display: table;
  margin: 28px auto 0;
  padding: 8px 22px;
  border: 1px solid #111;
  background: transparent;
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #111 !important;
}

#index #content a[href*="vins"]:hover {
  background: #111;
  color: #fff !important;
}

@media (max-width: 767px) {
  #index #content {
    padding: 24px 18px 56px;
  }
}


/* =====================================================
   07 — CARROUSEL ACCUEIL
===================================================== */

#index #home-slider {
  position: relative;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  aspect-ratio: 1920 / 800;
  overflow: hidden;
}

#index #home-slider .carousel,
#index #home-slider .carousel-inner,
#index #home-slider .carousel-item,
#index #home-slider .carousel-link,
#index #home-slider .carousel-content {
  width: 100%;
  height: 100%;
}

#index #home-slider .carousel-content {
  margin: 0;
}

#index #home-slider img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}


/* =====================================================
   08 — CATALOGUE / LISTE PRODUITS
===================================================== */

#category #content-wrapper,
#products {
  background: #fff;
}

#category #js-product-list-header,
#category .page-title,
#category .h1,
#category .h2 {
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #555 !important;
}

.dyle-subcategories {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 42px;
  margin: 0 0 42px;
  padding: 0 0 14px;
  border-bottom: 1px solid #d9d9d9;
}

.dyle-subcategory {
  position: relative;
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: 21px;
  font-weight: 400;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #666 !important;
  text-decoration: none !important;
  transition: all .2s ease;
}

.dyle-subcategory:hover,
.dyle-subcategory.active {
  color: #2f5c39 !important;
}

.dyle-subcategory.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -15px;
  width: 100%;
  height: 2px;
  background: #2f5c39;
}


/* =====================================================
   09 — CARTES PRODUITS
===================================================== */

.product-miniature--wine,
.product-miniature--wine .card,
.wine-product-card {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center;
}

.wine-product-card {
  padding: 0 12px 56px !important;
}

.wine-product-card__image-container {
  overflow: hidden;
  margin-bottom: 20px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

.wine-product-card__image {
  display: block;
  width: 100% !important;
  height: auto !important;
  transition: transform .35s ease;
}

.product-miniature--wine:hover .wine-product-card__image {
  transform: scale(1.015);
}

.wine-product-card__infos {
  padding: 14px 0 0 !important;
}

.wine-product-card__title-link,
.wine-product-card__title-link:visited,
.product-miniature--wine a {
  color: #6b6b6b !important;
  text-decoration: none !important;
}

.wine-product-card__title,
.product-miniature--wine .product-miniature__title,
.product-miniature--wine .product-miniature__title a,
.product-miniature--wine p.product-miniature__title {
  max-width: 330px;
  margin: 0 auto 14px !important;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.12 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase;
  color: #6b6b6b !important;
}

.wine-product-card__title-link:hover,
.wine-product-card__title-link:hover .wine-product-card__title,
.product-miniature--wine a:hover,
.product-miniature--wine a:hover .product-miniature__title {
  color: #111 !important;
}

.wine-product-card__prices {
  margin-bottom: 12px !important;
}

.wine-product-card__price,
.product-miniature--wine .product-miniature__price,
.product-price,
.current-price,
.price {
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: .045em;
  color: #5a5a5a !important;
}

.wine-product-card__form {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.wine-product-card__quantity .input-group,
.wine-product-card__quantity .qty {
  max-width: 104px;
}

.wine-product-card__quantity input,
.wine-product-card__quantity button,
.wine-product-card__quantity .btn {
  height: 36px !important;
  min-height: 36px !important;
  border-color: #555 !important;
  box-shadow: none !important;
}

.wine-product-card__add,
.product-miniature--wine .btn-primary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border: 1px solid #666 !important;
  border-radius: 3px;
  background: #fff !important;
  box-shadow: none !important;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #666 !important;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.wine-product-card__add:hover,
.product-miniature--wine .btn-primary:hover {
  background: #355b3b !important;
  border-color: #355b3b !important;
  color: #fff !important;
}

.wine-product-card__add i {
  font-size: 16px;
  margin-right: 5px;
}

.wishlist-button-add,
.js-wishlist-button,
.addToWishlist,
.product-miniature .wishlist,
.product-miniature .wishlist-button,
.product-flags,
.product-flag,
.product-miniature .product-flags {
  display: none !important;
}

@media (max-width: 767px) {
  .wine-product-card__title,
  .product-miniature--wine .product-miniature__title {
    font-size: 21px !important;
  }

  .wine-product-card__form {
    flex-wrap: wrap;
  }

  .wine-product-card__add {
    width: 100%;
    justify-content: center;
  }
}


/* =====================================================
   10 — FICHE PRODUIT
===================================================== */

#product .product__name {
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  letter-spacing: .055em;
  text-transform: uppercase;
  color: #5f5f5f !important;
}

#product .current-price,
#product .product-price,
#product .product__price {
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  letter-spacing: .045em;
  color: #222 !important;
}

#product .product__description-short {
  max-width: 560px;
  margin: 18px 0 28px;
  font-size: 20px;
  line-height: 1.45;
  color: #222;
}

#product .product__actions .btn-primary,
#product .add-to-cart {
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 18px !important;
  border: 1px solid #555 !important;
  background: #fff !important;
  box-shadow: none !important;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 17px !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #555 !important;
}

#product .product__actions .btn-primary:hover,
#product .add-to-cart:hover {
  background: #355b3b !important;
  border-color: #355b3b !important;
  color: #fff !important;
}

#product .product-cover img,
#product .product__left img {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

#product .product-images,
#product .product-thumbnails,
#product .product__thumbs {
  margin-top: 12px !important;
}

#product .product-actions__quantity input,
#product .product-actions__quantity button,
#product .product-actions__quantity .btn {
  height: 38px !important;
  min-height: 38px !important;
}

#product .product-availability .alert {
  display: flex;
  align-items: center;
  min-height: 56px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#product .social-sharing,
#product .product__social,
#product .product-comments,
#product #product-comments-list,
#product .comments,
#product .product-list-reviews,
#product [id*="product-comment"],
#product [class*="product-comment"] {
  display: none !important;
}

@media (max-width: 767px) {
  #product .product-cover,
  #product .product-cover img,
  #product .product__left img {
    width: 100% !important;
  }

  #product .product-cover img {
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}

/* ===== PRODUITS : MASQUER PRIX BARRÉ ET RÉDUCTION ===== */

#product .product-discount,
#product .product-prices .product-discount,
#product .product__prices .product-discount,
#product .product-price-and-shipping .regular-price,
#product .product-prices .regular-price,
#product .product__prices .regular-price,
#product .regular-price,
#product .discount,
#product .discount-percentage,
#product .discount-amount,
#product .price-discount,
#product .has-discount .regular-price,
.product-miniature .product-discount,
.product-miniature .regular-price,
.product-miniature .discount,
.product-miniature .discount-percentage,
.product-miniature .discount-amount,
.wine-product-card .product-discount,
.wine-product-card .regular-price,
.wine-product-card .discount,
.wine-product-card .discount-percentage,
.wine-product-card .discount-amount {
    display: none !important;
}

/* =====================================================
   11 — FICHE TECHNIQUE / MESURES PRODUIT
===================================================== */

#product .dyle-product-features {
  margin: 26px 0 0;
  padding: 22px 0 0;
  border-top: 1px solid #d9d9d9;
}

#product .dyle-product-features__title {
  margin: 0 0 16px;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #5f5f5f !important;
}

#product .dyle-product-features__list {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

#product .dyle-product-features__item {
  display: grid;
  grid-template-columns: 240px 1fr;
  column-gap: 20px;
  margin-bottom: 7px;
}

#product .dyle-product-features__name {
  font-weight: 700;
  white-space: nowrap;
  color: #222;
}

#product .dyle-product-features__value {
  color: #555;
}

#product .dyle-product-accordion,
#product .dyle-product-measures {
  margin: 24px 0 0;
  padding: 0;
  border-top: 1px solid #d9d9d9;
  border-bottom: none !important;
}

#product .dyle-product-accordion .accordion-button,
#product .dyle-product-measures .accordion-button,
#product .product__infos .accordion-button {
  position: relative;
  width: 100%;
  padding: 18px 36px 18px 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #5f5f5f !important;
}

#product .dyle-product-accordion .accordion-button::after,
#product .dyle-product-measures .accordion-button::after {
  content: "▼" !important;
  position: absolute;
  right: 0;
  top: 50%;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  background: none !important;
  transform: translateY(-50%);
  font-size: 17px;
  line-height: 1;
  color: #5f5f5f;
}

#product .dyle-product-accordion .accordion-button:not(.collapsed)::after,
#product .dyle-product-measures .accordion-button:not(.collapsed)::after {
  content: "▲" !important;
}

#product .dyle-product-measures .accordion-body {
  padding: 0 0 20px;
}

#product .dyle-product-measures .accordion-body p {
  display: grid;
  grid-template-columns: 240px 1fr;
  column-gap: 20px;
  margin: 0 0 7px;
}

#product .dyle-product-measures .accordion-body p strong {
  font-weight: 700;
  white-space: nowrap;
  color: #222;
}

#product .dyle-product-measures .accordion-body p span {
  color: #555;
}

#product-description-collapse h2,
#product-description-collapse h3 {
  margin: 0 0 18px;
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: 44px;
  font-weight: 400;
  color: #222;
}


/* =====================================================
   12 — CATÉGORIES CMS : CHOIX / LIEUX / OÙ NOUS TROUVER
===================================================== */

.cms-choices-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  column-gap: 3rem;
  align-items: start;
}

.cms-choices-content {
  padding-top: 0;
}

.cms-choices-content h1 {
  margin-top: 0;
}

.cms-choices-menu .category-tree__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cms-choices-menu .accordion-body {
  padding: 0 !important;
}

.cms-choices-menu .category-tree__item,
.cms-choices-menu .category-tree__item__header,
.cms-choices-menu .category-tree__item__link {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.cms-choices-menu .category-tree__list[data-depth="1"] {
  margin-top: 1.2rem !important;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(0,0,0,.12);
}

.cms-choices-menu .category-tree__list[data-depth="1"] .category-tree__item + .category-tree__item {
  margin-top: .45rem !important;
}

.cms-submenu-pages {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  margin-top: 8px !important;
  padding: 0 !important;
}

.cms-submenu-pages > li.category-tree__item,
.cms-submenu-pages .category-tree__item__header {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cms-submenu-pages .category-tree__item__link {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

@media (max-width: 767px) {
  .cms-choices-layout {
    display: block;
  }
}


/* =====================================================
   13 — PAGES CMS SIMPLES
===================================================== */

.dyle-page-title {
  margin: 0 0 42px !important;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #555 !important;
}

body#cms #content.page-cms {
  max-width: 1040px;
  margin: 0 auto;
}


/* =====================================================
   14 — LE CHEMIN
===================================================== */

.page-cms {
  counter-reset: chemin-counter;
}

.dyle-chemin-item {
  position: relative;
  display: grid !important;
  grid-template-columns: 340px minmax(0, 1fr) !important;
  gap: 48px !important;
  align-items: start;
  margin-bottom: 110px !important;
  counter-increment: chemin-counter;
}

.dyle-chemin-item:nth-of-type(even) {
  grid-template-columns: minmax(0, 1fr) 340px !important;
}

.dyle-chemin-item:nth-of-type(even) .dyle-chemin-image {
  grid-column: 2;
  grid-row: 1;
}

.dyle-chemin-item:nth-of-type(even) .dyle-chemin-body {
  grid-column: 1;
  grid-row: 1;
}

.dyle-chemin-image {
  width: 340px !important;
  height: 340px !important;
  overflow: hidden;
  background: #d8d8d8;
  opacity: 1;
  transform: none;
  filter: none;
  transition:
    opacity 1.2s ease,
    transform 1.2s cubic-bezier(.22,.61,.36,1),
    filter 1.2s ease;
}

.dyle-chemin-image img {
  display: block;
  width: 340px !important;
  height: 340px !important;
  object-fit: cover;
  transition: transform .8s ease;
}

.js .dyle-chemin-image {
  opacity: 0;
  transform: translateY(35px) scale(.96);
  filter: blur(3px);
}

.dyle-chemin-item.is-visible .dyle-chemin-image {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

@media (hover:hover) {
  .dyle-chemin-item:hover .dyle-chemin-image img {
    transform: scale(1.02);
  }
}

.dyle-chemin-body {
  position: relative;
}

.dyle-chemin-body::before {
  content: counter(chemin-counter, decimal-leading-zero);
  position: absolute;
  top: -52px;
  left: -8px;
  z-index: 0;
  font-family: 'Bebas Neue', Arial, sans-serif;
  font-size: 128px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .02em;
  color: rgba(0,0,0,.045);
  pointer-events: none;
}

.dyle-chemin-body h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 18px !important;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #555 !important;
}

.dyle-chemin-preview,
.dyle-chemin-full {
  position: relative;
  z-index: 1;
  max-width: 760px;
  font-family: 'Crimson Pro', Georgia, serif !important;
  font-size: 20px !important;
  line-height: 1.48 !important;
  color: #111;
}

.dyle-chemin-preview p,
.dyle-chemin-full p,
.dyle-chemin-preview li,
.dyle-chemin-full li {
  font-size: inherit !important;
  line-height: inherit !important;
}

.dyle-chemin-preview p,
.dyle-chemin-full p,
.dyle-chemin-full {
  margin: 0 0 .65em;
}

.dyle-chemin-full:last-of-type {
  margin-bottom: 0;
}

.dyle-chemin-full {
  display: none;
}

.dyle-chemin-item.is-open .dyle-chemin-full {
  display: block;
}

.dyle-chemin-item.is-open .dyle-chemin-preview {
  display: none;
}

.dyle-chemin-toggle {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-top: 18px;
  padding: 0;
  border: none;
  background: transparent;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #555;
  cursor: pointer;
  text-decoration: none !important;
}

.dyle-chemin-toggle:hover {
  color: #111;
}

.dyle-chemin-quote {
  max-width: 780px;
  margin: 20px auto 110px;
  text-align: center;
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 30px;
  line-height: 1.25;
  font-style: italic;
  color: #444;
}

.dyle-chemin-quote::before,
.dyle-chemin-quote::after {
  content: "";
  display: block;
  width: 70px;
  height: 1px;
  background: rgba(0,0,0,.18);
  margin: 28px auto;
}

@media (max-width: 767px) {
  body#cms #content.page-cms {
    max-width: 100%;
  }

  .dyle-chemin-item,
  .dyle-chemin-item:nth-of-type(even) {
    display: block !important;
    margin-bottom: 82px !important;
  }

  .dyle-chemin-image,
  .dyle-chemin-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
  }

  .dyle-chemin-image {
    margin-bottom: 18px;
  }

  .dyle-chemin-body::before {
    top: -36px;
    left: 0;
    font-size: 86px;
  }

  .dyle-chemin-body h2 {
    font-size: 24px !important;
  }

  .dyle-chemin-preview,
  .dyle-chemin-full {
    font-size: 19px !important;
  }

  .dyle-chemin-quote {
    font-size: 25px;
    margin-bottom: 82px;
  }
}
/* ===== CMS ÉDITORIAL : PHILOSOPHIE / PAGES TEXTE ===== */

.dyle-cms-editorial {
  max-width: 1040px;
  margin: 0 auto;
}

.dyle-cms-side-photo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 54px;
  align-items: start;
}

.dyle-cms-side-text {
  display: flex;
  flex-direction: column;
}

.dyle-cms-intro {
  max-width: 760px;
  margin-bottom: 38px;
}

.dyle-cms-intro p {
  font-size: 24px;
  line-height: 1.38;
}

.dyle-cms-text {
  max-width: 760px;
}

.dyle-cms-text p {
  font-size: 20px;
  line-height: 1.48;
  margin: 0 0 1em;
}


.dyle-cms-vertical-photo {
  width: 340px;
  margin-top: 0;
  overflow: hidden;
  border-radius: 2px;
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
  transition:
    opacity 1.2s ease,
    transform 1.2s cubic-bezier(.22,.61,.36,1),
    filter 1.2s ease;
}

.js .dyle-cms-vertical-photo {
  opacity: 0;
  transform: translateY(35px) scale(.96);
  filter: blur(3px);
}

.dyle-cms-vertical-photo.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

.dyle-cms-vertical-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  object-position: center center;
  transition: transform .8s ease;
}

@media (hover:hover) {
  .dyle-cms-vertical-photo:hover img {
    transform: scale(1.03);
  }
}

@media (max-width: 991px) {
  .dyle-cms-side-photo {
    grid-template-columns: 1fr;
  }

  .dyle-cms-vertical-photo {
    width: 100%;
    margin-top: 40px;
  }

  .dyle-cms-vertical-photo img {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 767px) {
  .dyle-cms-intro p {
    font-size: 21px;
  }

  .dyle-cms-text p {
    font-size: 19px;
  }
}
/* =====================================================
   15 — BWA (VERSION DÉFINITIVE v6)
===================================================== */

.dyle-bwa-page{
  max-width:1040px;
  margin:0 auto;
}

/* LOGO HAUT */

.dyle-bwa-page .dyle-bwa-logo-top{
  width:520px !important;
  max-width:100% !important;
  margin:0 auto 0 !important;
}

.dyle-bwa-page .dyle-bwa-logo-top img{
  display:block;
  width:100% !important;
  height:auto !important;
  object-fit:contain;
}

/* TITRE — identique à l'esprit des titres CMS type PHILOSOPHIE */

.dyle-bwa-intro{
  padding-top:72px !important;
  margin:0 0 38px !important;
}

.dyle-bwa-intro p{
  max-width:820px;
  margin:0 !important;
  font-family:'Bebas Neue',Arial,sans-serif !important;
  font-size:28px !important;
  font-weight:400 !important;
  line-height:1.08 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  color:#555 !important;
}

/* DATE SUPPRIMÉE */

.dyle-bwa-meta{
  display:none !important;
}

/* CHAPÔ — exactement le même type que PHILOSOPHIE */

.dyle-bwa-chapo{
  max-width:760px;
  margin:0 0 38px !important;
}

.dyle-bwa-chapo p{
  margin:0 !important;
  font-family:'Crimson Pro',Georgia,serif !important;
  font-size:24px !important;
  font-weight:400 !important;
  line-height:1.38 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:#111 !important;
}

/* COUVERTURE */

.dyle-bwa-cover{
  max-width:940px;
  margin:28px 0 38px;
}

.dyle-bwa-cover img{
  width:100%;
  height:auto;
  object-fit:cover;
}

/* TITRES INTERNES */

.dyle-bwa-page h2{
  margin:28px 0 22px;
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:36px;
  font-weight:400;
  letter-spacing:.055em;
  text-transform:uppercase;
  color:#555;
}

/* BLOCS PHOTO + TEXTE */

.dyle-article-media-row{
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:8px;
  align-items:start;
  margin:24px 0 28px;
}

.dyle-article-media-row .dyle-cms-vertical-photo{
  flex:0 0 206px;
  width:206px;
  max-width:206px;
  margin:0;
}

.dyle-article-media-row .dyle-cms-vertical-photo img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}

.dyle-article-media-row .dyle-cms-text{
  max-width:none;
}

.dyle-article-media-row .dyle-cms-text p:first-child{
  margin-top:0;
}

.dyle-bwa-page strong{
  font-weight:700;
}

/* FADE + MICRO-ZOOM BWA */

.js .dyle-bwa-page .dyle-bwa-cover,
.js .dyle-bwa-page .dyle-cms-vertical-photo{
  opacity:0;
  transform:translateY(35px) scale(.96);
  filter:blur(3px);
  transition:
    opacity 1.2s ease,
    transform 1.2s cubic-bezier(.22,.61,.36,1),
    filter 1.2s ease;
}

.dyle-bwa-page .dyle-bwa-cover.is-visible,
.dyle-bwa-page .dyle-cms-vertical-photo.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
}

.dyle-bwa-page .dyle-bwa-cover img,
.dyle-bwa-page .dyle-cms-vertical-photo img{
  transition:transform .8s ease;
}

@media (hover:hover){
  .dyle-bwa-page .dyle-bwa-cover:hover img,
  .dyle-bwa-page .dyle-cms-vertical-photo:hover img{
    transform:scale(1.02);
  }
}

/* LISTE */

.dyle-bwa-list{
  max-width:760px;
  margin:0 0 1.2em;
  padding-left:1.1em;
}

.dyle-bwa-list li{
  margin:0 0 .7em;
  font-size:20px;
  line-height:1.48;
}

/* CRÉDITS */

.dyle-article-credits{
  max-width:760px;
  margin:42px auto 0;
  padding-top:22px;
  border-top:1px solid #d9d9d9;
  text-align:center;
  font-size:16px;
  color:#666;
  font-style:italic;
}

.dyle-article-credits p{
  margin:.35em 0;
}

.dyle-article-credits a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(0,0,0,.25);
  transition:.25s;
}

.dyle-article-credits a:hover{
  color:#555;
  border-bottom-color:#555;
}

/* RESPONSIVE */

@media (max-width:991px){

  .dyle-bwa-page .dyle-bwa-logo-top{
    width:420px !important;
  }

  .dyle-bwa-intro{
    padding-top:58px !important;
  }

  .dyle-bwa-intro p{
    font-size:27px !important;
  }

  .dyle-bwa-chapo p{
    font-size:21px !important;
  }

  .dyle-article-media-row{
    grid-template-columns:1fr;
    gap:20px;
    margin:30px 0 42px;
  }

  .dyle-article-media-row .dyle-cms-vertical-photo{
    width:100%;
    max-width:100%;
    flex:none;
  }

  .dyle-article-media-row .dyle-cms-vertical-photo img{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:cover;
  }
}

@media (max-width:767px){

  .dyle-bwa-page .dyle-bwa-logo-top{
    width:300px !important;
  }

  .dyle-bwa-intro{
    padding-top:44px !important;
  }

  .dyle-bwa-intro p{
    font-size:26px !important;
  }

  .dyle-bwa-chapo p{
    font-size:20px !important;
    line-height:1.32 !important;
  }

  .dyle-bwa-page h2{
    font-size:30px;
  }

  .dyle-bwa-list li{
    font-size:19px;
  }
}

/* ===== CMS ÉDITORIAL : LES HYBRIDES ===== */

.dyle-hybrides {
    max-width: 1040px;
    margin: 0 auto;
}

.dyle-hybrides-part {
    max-width: 900px;
    margin: 0 0 34px;
    border-top: 1px solid #d9d9d9;
}

.dyle-hybrides-toggle {
    position: relative;
    width: 100%;
    padding: 22px 36px 22px 0;
    border: none;
    background: transparent;
    text-align: left;
    font-family: 'Bebas Neue', Arial, sans-serif !important;
    font-size: 30px;
    font-weight: 400;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #555;
    cursor: pointer;
}

.dyle-hybrides-toggle::after {
    content: "▼";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    color: #555;
}

.dyle-hybrides-part.is-open .dyle-hybrides-toggle::after {
    content: "▲";
}

.dyle-hybrides-panel {
    display: none;
    padding: 14px 0 52px;
}

.dyle-hybrides-part.is-open .dyle-hybrides-panel {
    display: block;
}

.dyle-hybrides h3 {
    font-family: 'Bebas Neue', Arial, sans-serif !important;
    font-size: 26px;
    font-weight: 400 !important;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #555;
    margin: 0 0 22px;
}

.dyle-hybrides p {
    font-size: 20px;
    line-height: 1.48;
    margin: 0 0 1em;
}

.dyle-hybrides-intro,
.dyle-hybrides-text {
    max-width: 760px;
    margin: 0;
}

.dyle-hybrides-axis {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 42px;
    align-items: start;
    margin: 54px 0 64px;
    padding-top: 44px;
    border-top: 1px solid #ececec;
}

.dyle-hybrides-axis-text {
    max-width: 680px;
}

.dyle-hybrides-axis--vertical {
    display: block;
}

.dyle-hybrides-axis--vertical .dyle-hybrides-axis-text {
    max-width: 760px;
}

.dyle-hybrides-axis-image {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    opacity: 0;
    transform: translateY(35px) scale(.96);
    filter: blur(3px);
    transition:
        opacity 1.2s ease,
        transform 1.2s cubic-bezier(.22,.61,.36,1),
        filter 1.2s ease;
}

.dyle-hybrides-axis-image.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

.dyle-hybrides-axis--horizontal .dyle-hybrides-axis-image img {
    display: block;
    width: 100%;
    max-width: 300px;
    height: auto;
    object-fit: contain;
}

.dyle-hybrides-axis--vertical .dyle-hybrides-axis-image {
    justify-content: flex-start;
    margin: 30px 0 0;
}

.dyle-hybrides-axis--vertical .dyle-hybrides-axis-image img {
    display: block;
    width: 75%;
    max-width: 570px;
    height: auto;
    object-fit: contain;
}

.dyle-hybrides-inline-quote {
    max-width: 680px;
    margin: 42px 0;
    padding: 28px 0;
    border-top: 1px solid rgba(0,0,0,.15);
    border-bottom: 1px solid rgba(0,0,0,.15);
    font-family: 'Crimson Pro', Georgia, serif;
    font-size: 28px;
    line-height: 1.25;
    font-style: italic;
    color: #444;
}

.dyle-hybrides-separator {
    width: 120px;
    margin: 36px 0 32px;
    border: 0;
    border-top: 1px solid #d9d9d9;
}

.dyle-hybrides-photo {
    width: 100%;
    max-width: 720px;
    aspect-ratio: auto;
    margin: 64px 0;
    overflow: hidden;
    background: #d8d8d8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Bebas Neue', Arial, sans-serif;
    font-size: 20px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #777;
    opacity: 0;
    transform: translateY(35px) scale(.96);
    filter: blur(3px);
    transition:
        opacity 1.2s ease,
        transform 1.2s cubic-bezier(.22,.61,.36,1),
        filter 1.2s ease;
}

.dyle-hybrides-photo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    transition: transform .8s ease;
}

.dyle-hybrides-photo.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

@media (hover:hover) {
    .dyle-hybrides-photo:hover img,
    .dyle-hybrides-axis-image:hover img {
        transform: scale(1.02);
    }
}

@media (max-width: 991px) {
    .dyle-hybrides-axis,
    .dyle-hybrides-axis--vertical {
        display: block;
    }

    .dyle-hybrides-axis-image {
        justify-content: flex-start;
        margin-top: 28px;
    }

    .dyle-hybrides-axis--vertical .dyle-hybrides-axis-image img {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .dyle-hybrides-toggle {
        font-size: 27px;
    }

    .dyle-hybrides h3 {
        font-size: 24px;
    }

    .dyle-hybrides p {
        font-size: 19px;
    }

    .dyle-hybrides-inline-quote {
        font-size: 24px;
    }

    .dyle-hybrides-separator {
        margin: 30px 0 26px;
    }

    .dyle-hybrides-photo {
        margin: 48px 0;
    }
}
/* =====================================================
   18 — POPUP LES VINS / ACCÈS PROFESSIONNEL
===================================================== */

body.dyle-modal-open{
  overflow:hidden;
}

.dyle-wine-popup{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
}

.dyle-wine-popup.is-open{
  display:block;
}

.dyle-wine-popup__overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.48);
}

.dyle-wine-popup__dialog{
  position:relative;
  width:min(920px, calc(100% - 36px));
  max-height:calc(100vh - 48px);
  margin:24px auto;
  overflow:auto;
  background:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}

.dyle-wine-popup__inner{
  padding:54px 64px 58px;
}

.dyle-wine-popup__close{
  position:absolute;
  top:18px;
  right:22px;
  z-index:2;
  width:32px;
  height:32px;
  border:none;
  background:transparent;
  font-family:Arial,sans-serif;
  font-size:34px;
  line-height:28px;
  color:#555;
  cursor:pointer;
}

.dyle-wine-popup__close:hover{
  color:#111;
}

.dyle-wine-popup__kicker{
  margin:0 0 12px;
  font-family:'Bebas Neue',Arial,sans-serif !important;
  font-size:19px;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#777;
}

.dyle-wine-popup h2{
  margin:0 0 28px;
  font-family:'Bebas Neue',Arial,sans-serif !important;
  font-size:44px;
  font-weight:400;
  line-height:1;
  letter-spacing:.055em;
  text-transform:uppercase;
  color:#555;
}

.dyle-wine-popup__intro{
  max-width:760px;
  padding-top:26px;
  border-top:1px solid #d9d9d9;
}

.dyle-wine-popup__intro p{
  margin:0 0 1em;
  font-family:'Crimson Pro',Georgia,serif !important;
  font-size:21px;
  line-height:1.42;
  color:#111;
}

.dyle-wine-popup__choices{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:34px 0 0;
}

.dyle-wine-popup__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 22px;
  border:1px solid #555;
  border-radius:0;
  box-shadow:none;
  font-family:'Bebas Neue',Arial,sans-serif !important;
  font-size:20px;
  font-weight:400;
  letter-spacing:.055em;
  text-transform:uppercase;
  text-decoration:none !important;
  cursor:pointer;
  transition:background .25s ease, color .25s ease, border-color .25s ease;
}

.dyle-wine-popup__button--primary{
  background:#111;
  border-color:#111;
  color:#fff;
}

.dyle-wine-popup__button--primary:hover{
  background:#355b3b;
  border-color:#355b3b;
  color:#fff;
}

.dyle-wine-popup__button--secondary{
  background:#fff;
  color:#555;
}

.dyle-wine-popup__button--secondary:hover{
  background:#355b3b;
  border-color:#355b3b;
  color:#fff;
}

.dyle-wine-popup__form{
  display:none;
  margin:38px 0 0;
  padding:34px 0 0;
  border-top:1px solid #d9d9d9;
}

.dyle-wine-popup__form.is-open{
  display:block;
}

.dyle-wine-popup__form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 24px;
  max-width:820px;
}

.dyle-wine-popup__form label{
  display:block;
  margin:0;
}

.dyle-wine-popup__form span{
  display:block;
  margin:0 0 7px;
  font-family:'Crimson Pro',Georgia,serif !important;
  font-size:18px;
  font-weight:600;
  color:#111;
}

.dyle-wine-popup__form input,
.dyle-wine-popup__form select{
  width:100%;
  min-height:42px;
  padding:8px 11px;
  border:1px solid #cfcfcf;
  background:#fff;
  font-family:'Crimson Pro',Georgia,serif !important;
  font-size:18px;
  color:#111;
  box-shadow:none;
}

.dyle-wine-popup__form input:focus,
.dyle-wine-popup__form select:focus{
  outline:none;
  border-color:#355b3b;
}

.dyle-wine-popup__note{
  max-width:760px;
  margin:22px 0 24px;
  font-family:'Crimson Pro',Georgia,serif !important;
  font-size:18px;
  line-height:1.42;
  color:#555;
}

.dyle-wine-popup__message{
  display:none;
  max-width:760px;
  margin:22px 0 0;
  padding:16px 18px;
  border:1px solid #d9d9d9;
  background:#f8f8f8;
  font-family:'Crimson Pro',Georgia,serif !important;
  font-size:18px;
  line-height:1.42;
  color:#111;
}

.dyle-wine-popup__message.is-visible{
  display:block;
}

@media (max-width:767px){
  .dyle-wine-popup__dialog{
    width:calc(100% - 24px);
    max-height:calc(100vh - 24px);
    margin:12px auto;
  }

  .dyle-wine-popup__inner{
    padding:42px 24px 36px;
  }

  .dyle-wine-popup h2{
    font-size:34px;
  }

  .dyle-wine-popup__intro p{
    font-size:19px;
  }

  .dyle-wine-popup__choices{
    display:block;
  }

  .dyle-wine-popup__button{
    width:100%;
    margin:0 0 12px;
  }

  .dyle-wine-popup__form-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================
   CHECKOUT DYLE — Livraison + récapitulatif sans paiement
===================================================== */

body#checkout .dyle-checkout-delivery-notice,
body#checkout .dyle-checkout-summary-notice {
  margin: 0 0 1.5rem 0;
  padding: 1.25rem 1.4rem;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(0, 0, 0, 0.025);
  font-family: "Crimson Pro", serif;
  font-size: 1.12rem;
  line-height: 1.45;
}

body#checkout .dyle-checkout-delivery-notice h3 {
  margin: 0 0 0.8rem 0;
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
}

body#checkout .dyle-checkout-delivery-notice p,
body#checkout .dyle-checkout-summary-notice p {
  margin: 0 0 0.65rem 0;
}

body#checkout .dyle-checkout-delivery-notice p:last-child,
body#checkout .dyle-checkout-summary-notice p:last-child {
  margin-bottom: 0;
}

body#checkout .dyle-checkout-delivery-free {
  font-weight: 600;
}

body#checkout .dyle-checkout-summary-step .payment-options label {
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  body#checkout .dyle-checkout-delivery-notice,
  body#checkout .dyle-checkout-summary-notice {
    padding: 1rem;
    font-size: 1rem;
  }
}


/* Correctif v2 : ne jamais masquer les boutons de navigation du checkout. */
body#checkout .dyle-checkout-delivery-free {
  display: none !important;
}

/* Masque uniquement les blocs de choix transporteur, pas les boutons Continuer/Retour. */
body#checkout .dyle-checkout-delivery-step .delivery-options-list,
body#checkout .dyle-checkout-delivery-step .carrier-extra-content,
body#checkout .dyle-checkout-delivery-step .delivery-option-2,
body#checkout .dyle-checkout-delivery-step .carrier-name,
body#checkout .dyle-checkout-delivery-step .carrier-delay,
body#checkout .dyle-checkout-delivery-step .carrier-price {
  display: none !important;
}

body#checkout .dyle-checkout-delivery-step .form-fields,
body#checkout .dyle-checkout-delivery-step .delivery-options,
body#checkout .dyle-checkout-delivery-step .delivery-options-list {
  margin-bottom: 1rem;
}



/* Correctif v3 : supprimer visuellement le transporteur "Retrait en magasin"
   sans masquer le champ commentaire ni les boutons de navigation. */
body#checkout .dyle-hide-carrier-choice {
  display: none !important;
}

body#checkout #checkout-delivery-step .delivery-options-list:empty,
body#checkout #checkout-delivery-step .delivery-options:empty {
  display: none !important;
}


/* =====================================================
   CORRECTION MOBILE — LES CHOIX / PHILOSOPHIE / HYBRIDES / BWA
   Sur mobile, les images restent toujours visibles. L'animation au
   scroll reste réservée aux écrans plus larges afin d'éviter qu'une
   image injectée dynamiquement demeure bloquée à opacity:0.
===================================================== */
@media (max-width: 991px) {
  .js .dyle-cms-vertical-photo,
  .js .dyle-bwa-page .dyle-bwa-cover,
  .js .dyle-bwa-page .dyle-cms-vertical-photo,
  .dyle-hybrides-photo,
  .dyle-hybrides-axis-image {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }

  .dyle-cms-vertical-photo img,
  .dyle-bwa-cover img,
  .dyle-bwa-page .dyle-cms-vertical-photo img,
  .dyle-hybrides-photo img,
  .dyle-hybrides-axis-image img {
    display: block !important;
    visibility: visible !important;
  }

  .dyle-hybrides-toggle {
    position: relative;
    z-index: 2;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
}

/* =====================================================
   CORRECTION MOBILE — PHOTOS ENTIÈRES, SANS ROGNAGE
   Les proportions originales sont conservées sur téléphone/tablette.
===================================================== */
@media (max-width: 991px) {
  .dyle-cms-vertical-photo,
  .dyle-bwa-cover,
  .dyle-bwa-page .dyle-cms-vertical-photo,
  .dyle-hybrides-photo,
  .dyle-hybrides-axis-image {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .dyle-cms-vertical-photo img,
  .dyle-bwa-cover img,
  .dyle-bwa-page .dyle-cms-vertical-photo img,
  .dyle-article-media-row .dyle-cms-vertical-photo img,
  .dyle-hybrides-photo img,
  .dyle-hybrides-axis-image img,
  .dyle-hybrides-axis--horizontal .dyle-hybrides-axis-image img,
  .dyle-hybrides-axis--vertical .dyle-hybrides-axis-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }
}

/* =====================================================
   BWA — PORTRAITS MOBILES PLUS PETITS, CENTRÉS ET UNIFORMES
   Les trois photos de personnes seules occupent le même cadre sans
   agrandissement excessif ni rognage.
===================================================== */
@media (max-width: 991px) {
  .dyle-bwa-page .dyle-article-media-row {
    grid-template-columns: 1fr !important;
  }

  .dyle-bwa-page .dyle-article-media-row .dyle-cms-vertical-photo {
    width: 260px !important;
    max-width: calc(100vw - 48px) !important;
    height: 340px !important;
    margin: 0 auto 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: transparent !important;
  }

  .dyle-bwa-page .dyle-article-media-row .dyle-cms-vertical-photo img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 340px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
  }
}

@media (max-width: 480px) {
  .dyle-bwa-page .dyle-article-media-row .dyle-cms-vertical-photo {
    width: 220px !important;
    height: 300px !important;
  }

  .dyle-bwa-page .dyle-article-media-row .dyle-cms-vertical-photo img {
    max-height: 300px !important;
  }
}

/* =====================================================
   25 — CORRECTION TYPOGRAPHIE DES CONTENUS CMS SIMPLES
   Neutralise les styles inline (span/font) ajoutés par l'éditeur CMS,
   sans toucher aux mises en page Dyle spécifiques.
===================================================== */
body#cms #content.page-cms > p,
body#cms #content.page-cms > p *,
body#cms #content.page-cms > ul,
body#cms #content.page-cms > ul *,
body#cms #content.page-cms > ol,
body#cms #content.page-cms > ol *,
body#cms #content.page-cms > div:not([class*="dyle-"]):not(.cms-choices-layout) p,
body#cms #content.page-cms > div:not([class*="dyle-"]):not(.cms-choices-layout) p *,
body#cms #content.page-cms > div:not([class*="dyle-"]):not(.cms-choices-layout) li,
body#cms #content.page-cms > div:not([class*="dyle-"]):not(.cms-choices-layout) li * {
  font-family: 'Crimson Pro', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
  letter-spacing: normal !important;
  color: #111 !important;
}

@media (max-width: 767px) {
  body#cms #content.page-cms > p,
  body#cms #content.page-cms > p *,
  body#cms #content.page-cms > ul,
  body#cms #content.page-cms > ul *,
  body#cms #content.page-cms > ol,
  body#cms #content.page-cms > ol *,
  body#cms #content.page-cms > div:not([class*="dyle-"]):not(.cms-choices-layout) p,
  body#cms #content.page-cms > div:not([class*="dyle-"]):not(.cms-choices-layout) p *,
  body#cms #content.page-cms > div:not([class*="dyle-"]):not(.cms-choices-layout) li,
  body#cms #content.page-cms > div:not([class*="dyle-"]):not(.cms-choices-layout) li * {
    font-size: 19px !important;
  }
}
/* =========================================================
   PAGE BWA — TITRES ET LISTE DES MEMBRES 2026
   À ajouter à la fin de /themes/dyle/assets/css/custom.css
   ========================================================= */

body#cms .dyle-bwa-page .dyle-bwa-intro h2,
body#cms .dyle-bwa-page .dyle-cms-text > h2 {
  margin: 0 0 28px;
  font-family: "Bebas Neue", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

body#cms .dyle-bwa-members {
  margin-top: 64px;
}

body#cms .dyle-bwa-members-list {
  margin-top: 38px;
  text-align: left;
}

body#cms .dyle-bwa-members-list p {
  position: relative;
  margin: 0;
  padding: 0 0 29px;
}

body#cms .dyle-bwa-members-list p:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 14px;
  width: 28px;
  height: 1px;
  background: #b7b7b7;
}

body#cms .dyle-bwa-members-list em {
  font-style: italic;
}

@media (max-width: 767px) {
  body#cms .dyle-bwa-page .dyle-bwa-intro h2,
  body#cms .dyle-bwa-page .dyle-cms-text > h2 {
    font-size: 1.7rem;
  }

  body#cms .dyle-bwa-members {
    margin-top: 48px;
  }

  body#cms .dyle-bwa-members-list {
    margin-top: 28px;
  }
}

/* =====================================================
   CORRECTION ACCORDÉONS CMS — STRUCTURE AVEC OU SANS SECTION
===================================================== */

/*
 * Le CMS PrestaShop peut conserver les boutons et panneaux comme frères
 * directs, sans .dyle-hybrides-part. Ces règles couvrent les deux structures.
 */
.dyle-hybrides > .dyle-hybrides-toggle {
  display: block;
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: 0;
  padding: 22px 36px 22px 0;
  border: none;
  border-top: 1px solid #d9d9d9;
  background: transparent;
  text-align: left;
  font-family: 'Bebas Neue', Arial, sans-serif !important;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #555;
  cursor: pointer;
}

.dyle-hybrides > .dyle-hybrides-toggle + .dyle-hybrides-panel {
  display: none !important;
  max-width: 900px;
  padding: 14px 0 52px;
}

.dyle-hybrides > .dyle-hybrides-toggle[aria-expanded="true"] + .dyle-hybrides-panel {
  display: block !important;
}

.dyle-hybrides-toggle[aria-expanded="false"]::after {
  content: "▼" !important;
}

.dyle-hybrides-toggle[aria-expanded="true"]::after {
  content: "▲" !important;
}

@media (max-width: 767px) {
  .dyle-hybrides > .dyle-hybrides-toggle {
    font-size: 27px;
  }
}

