/* ==========================================================
   Kittle.fr – couleurs du site (logo violet / fuchsia)
   Violet #452f92 · Violet foncé #2a1d5c · Fuchsia #c8136f
   Lavande #f6f2fb · Texte #4f4a63
   ========================================================== */

/* ---------- Fond général et bandeau de marque ---------- */
#wrapper { background: #faf8fd; }
#header { border-top: 4px solid #452f92; border-image: linear-gradient(90deg, #452f92, #c8136f) 1; }

/* ---------- Liens ---------- */
a { color: #452f92; }
a:hover, a:focus { color: #c8136f; }
#header a:hover,
#header .header-nav .blockcart a:hover,
.footer-container li a:hover,
.account-list a:hover { color: #c8136f; }

/* ---------- Titres ---------- */
#wrapper h1, #wrapper .h1,
#wrapper h2, #wrapper .h2,
.block-category h1 { color: #2a1d5c; }

/* ---------- Boutons ---------- */
.btn-primary,
.btn-primary.disabled, .btn-primary:disabled {
  background-color: #452f92;
  border-color: #452f92;
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-primary.active, .btn-primary:not(:disabled):not(.disabled):active {
  background-color: #2a1d5c;
  border-color: #2a1d5c;
  color: #fff;
}
.btn-outline-primary { color: #452f92; border-color: #452f92; }
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary.active {
  background-color: #452f92; border-color: #452f92; color: #fff;
}
.btn-link, .text-primary { color: #452f92; }
.bg-primary, .tag-primary { background-color: #452f92; }

/* ---------- Champs, sélections, focus ---------- */
.form-control:focus, .input-group.focus,
.search-widget form input[type="text"]:focus,
.block_newsletter form input[type="text"]:focus,
.product-customization .product-message:focus { outline-color: #452f92; }
.custom-radio input[type="radio"]:checked + span { background-color: #452f92; }
.bootstrap-touchspin .btn-touchspin,
.group-span-filestyle .btn-default { background-color: #452f92; }
.dropdown-item.active, .dropdown-item.active:focus, .dropdown-item.active:hover { background-color: #452f92; }
.dropdown-item:focus, .dropdown-item:hover { color: #c8136f; }
.brands-sort .select-list:hover, .products-sort-order .select-list:hover,
.suppliers-sort .select-list:hover, .facet-dropdown .select-list:hover { background-color: #452f92; }
.facet-dropdown.open > .select-title { border-color: #452f92; }

/* ---------- Menu principal (toutes tailles) ---------- */
#header .top-menu a[data-depth="0"] { color: #2a1d5c; font-weight: 600; }
#header .top-menu a[data-depth="0"]:hover { color: #c8136f; }
.top-menu .sub-menu a:hover { color: #c8136f; }

/* ---------- Sous-menus déroulants (ordinateur) ---------- */
@media (min-width: 768px) {
  #header .top-menu > li > a[data-depth="0"] { transition: box-shadow .15s ease, color .15s ease; }
  #header .top-menu > li:hover > a[data-depth="0"] { color: #c8136f; box-shadow: inset 0 -3px 0 #c8136f; }

  #header .top-menu .sub-menu {
    border-top: 3px solid #c8136f;
    box-shadow: 0 14px 32px rgba(42, 29, 92, .16);
    padding: 22px 26px 12px;
    background: #fff;
  }
  #header .top-menu .sub-menu ul[data-depth="1"] {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
  }
  #header .top-menu .sub-menu ul[data-depth="1"] > li {
    float: none;
    margin: 0;
    flex: 1 1 150px;
    min-width: 150px;
    max-width: 260px;
    padding: 0 22px 16px 0;
  }
  #header .top-menu a[data-depth="1"] {
    display: block;
    white-space: normal;
    line-height: 1.3;
    color: #2a1d5c;
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 4px 0 8px;
    margin-bottom: 6px;
    border-bottom: 1px solid #e4dcf0;
  }
  #header .top-menu a[data-depth="2"] {
    color: #4f4a63;
    font-size: .9rem;
    font-weight: 400;
    text-transform: none;
    padding: 3px 0;
  }
  #header .top-menu a[data-depth="1"]:hover,
  #header .top-menu a[data-depth="2"]:hover { color: #c8136f; }

  /* Pas de 3e niveau dans le menu : on reste lisible */
  #header .top-menu ul[data-depth="3"] { display: none; }

  /* « Nos collections » (mélamine) : une ligne pleine largeur, en colonnes */
  #header .top-menu .sub-menu ul[data-depth="1"] > li#category-27 {
    flex: 0 0 100%;
    max-width: 100%;
    order: 9;
    padding-top: 4px;
  }
  #header #category-27 ul[data-depth="2"] {
    columns: 5;
    column-gap: 24px;
  }
  #header #category-27 ul[data-depth="2"] > li { break-inside: avoid; }
}

/* ---------- Miniatures produits ---------- */
.product-miniature .product-title a { color: #4f4a63; }
.product-miniature .product-title a:hover { color: #c8136f; }
.product-miniature .product-price-and-shipping { color: #2a1d5c; font-weight: 700; }
.product-miniature .highlighted-informations .quick-view:hover { color: #c8136f; }
.product-flags li.product-flag { background-color: #452f92; }
.product-flags li.product-flag.discount,
.product-flags li.product-flag.on-sale,
.discount-percentage, .discount-amount { background-color: #c8136f; color: #fff; }

/* ---------- Fiche produit ---------- */
.product-price, .current-price-value { color: #452f92; }
.tabs .nav-tabs .nav-link.active { color: #452f92; }
.tabs .nav-tabs .nav-link.active, .tabs .nav-tabs .nav-link:hover { border-bottom-color: #452f92; }
.product-images > li.thumb-container .thumb.selected,
.product-images > li.thumb-container .thumb:hover,
#product-modal .modal-content .modal-body .product-images img:hover { border-color: #452f92; }
#blockcart-modal .product-name { color: #452f92; }

/* ---------- Catégories, filtres, pagination ---------- */
.block-categories .category-top-menu a.h6,
.block-categories .category-top-menu .h6 { color: #2a1d5c; }
.block-categories .category-sub-menu li a:hover { color: #c8136f; }
.block-categories .arrows .arrow-down:hover, .block-categories .arrows .arrow-right:hover,
.block-categories .collapse-icons .add:hover, .block-categories .collapse-icons .remove:hover,
#subcategories ul li .subcategory-name:hover { color: #c8136f; }
#subcategories ul li:hover .subcategory-image a { border-color: #452f92; }
#search_filters .facet .facet-title { color: #2a1d5c; }
.pagination .current a, .page-link { color: #452f92; }
.page-item.active .page-link { background-color: #452f92; border-color: #452f92; }
.breadcrumb li a:hover { color: #c8136f; }

/* ---------- Panier et commande ---------- */
#header .header-nav .cart-preview.active { background-color: #452f92; }
body#checkout section.checkout-step .address-item.selected { border-color: #452f92; }
.block-promo .promo-input + button { border-color: #452f92; }
.block-promo .promo-code-button.cancel-promo,
.cart-grid-body a.label:hover { color: #452f92; }

/* ---------- Pied de page ---------- */
.footer-container { background: #f6f2fb; padding-top: 28px; margin-top: 24px; }
.footer-container .h3, .footer-container .h4,
.footer-container .links .h3, .footer-container .block-contact-title,
.footer-container .myaccount-title a { color: #2a1d5c; }
.footer-container li a { color: #4f4a63; }
.footer-container li a:hover { color: #c8136f; }
.block_newsletter form button[type="submit"] .search:hover { color: #c8136f; }
.block-social ul li:hover { background-color: #c8136f; }

/* ---------- Accueil : accroche + « Nos univers » (bloc du module) ---------- */
.kittle-univers {
  background: #fff;
  padding: 40px 32px 30px;
  margin: 0 0 24px;
  text-align: center;
}
.kittle-univers .ku-kicker {
  margin: 0 0 8px; font-size: 13px; letter-spacing: 2px;
  text-transform: uppercase; color: #c8136f; font-weight: 700;
}
#wrapper .kittle-univers .ku-title {
  margin: 0 0 12px; font-size: 26px; line-height: 1.25;
  color: #2a1d5c; font-weight: 800; text-transform: none;
}
.kittle-univers .ku-intro {
  margin: 0 auto; max-width: 720px; font-size: 16px; line-height: 1.6; color: #4f4a63;
}
#wrapper .kittle-univers .ku-h2 {
  margin: 30px 0 18px; font-size: 20px; color: #2a1d5c; font-weight: 800;
  text-transform: uppercase; letter-spacing: 1px;
}
.kittle-univers .ku-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}
.kittle-univers .ku-tile {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid #e4dcf0;
  padding: 10px 10px 14px;
  color: #2a1d5c; text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.kittle-univers .ku-tile:hover {
  border-color: #c8136f;
  box-shadow: 0 8px 20px rgba(42, 29, 92, .12);
  transform: translateY(-2px);
  color: #2a1d5c;
}
.kittle-univers .ku-img { display: block; aspect-ratio: 1 / 1; overflow: hidden; }
.kittle-univers .ku-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kittle-univers .ku-name { margin-top: 10px; font-size: 15px; font-weight: 700; line-height: 1.25; }
.kittle-univers .ku-cta { margin-top: 4px; font-size: 13px; color: #452f92; }
.kittle-univers .ku-tile:hover .ku-cta { color: #c8136f; }
@media (max-width: 991px) {
  .kittle-univers .ku-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .kittle-univers { padding: 28px 16px 20px; }
  #wrapper .kittle-univers .ku-title { font-size: 22px; }
  .kittle-univers .ku-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* ---------- Carrousel : titre toujours lisible sur la photo ---------- */
#wrapper #carousel .caption h2,
#wrapper #carousel .caption .display-1 {
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .5);
}

/* ---------- Carrousel : le cadre suit la hauteur réelle de l'image (plus de coupe) ---------- */
#carousel .carousel-inner { height: auto !important; }
#carousel .carousel-item { height: auto; }
#carousel .carousel-item figure { display: block; }
#carousel .carousel-item img { display: block; width: 100%; height: auto; }
