/* =========================================================
   MELAZUR – THEME (style uniquement, aucun changement de contenu)
   À charger APRÈS css/styles.css et après le <style> de la page :
   <link rel="stylesheet" href="{{ asset('css/melazur-theme.css') }}">
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
  --mz-green: #1d4ed8;
  --mz-green-dark: #0f2a6b;
  --mz-green-soft: #e6eefc;
  --mz-gold: #38bdf8;
  --mz-gold-dark: #0284c7;
  --mz-cream: #f4f8ff;
  --mz-ink: #0f1d3a;
  --mz-muted: #5b6b8c;
  --mz-line: #dbe5f5;
  --mz-radius: 16px;
  --mz-shadow: 0 10px 30px rgba(15, 42, 107, .10);
  --mz-shadow-lg: 0 18px 45px rgba(15, 42, 107, .18);
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Poppins', sans-serif;
  color: var(--mz-ink);
  background: var(--mz-cream);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6, .heading {
  font-family: 'Playfair Display', serif;
  letter-spacing: .2px;
}

a { transition: color .25s ease; }

::selection { background: var(--mz-gold); color: #fff; }

/* ---------- TOP BAR ---------- */
.tf-top-bar {
  background: linear-gradient(90deg, var(--mz-green-dark), var(--mz-green)) !important;
  border: 0 !important;
}
.tf-top-bar .top-bar-text,
.tf-top-bar a { color: #eaf2ff !important; font-size: 13px; letter-spacing: .6px; }
.tf-top-bar .btn-line { border-color: var(--mz-gold) !important; color: var(--mz-gold) !important; }
.tf-top-bar .box-icon { background: rgba(255,255,255,.12) !important; color: #fff; transition: all .3s; }
.tf-top-bar .box-icon:hover { background: var(--mz-gold) !important; transform: translateY(-2px); }
.tf-top-bar .box-icon i { color: #fff; }

/* ---------- HEADER ---------- */
#header.header-absolute {
  background: linear-gradient(180deg, rgba(8,22,60,.75) 0%, rgba(8,22,60,0) 100%);
  transition: background .3s ease, box-shadow .3s ease;
}
#header .item-link {
  color: #fff !important;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  position: relative;
  padding: 8px 2px;
}
#header .item-link::after {
  content: "";
  position: absolute; left: 0; bottom: 0;
  width: 0; height: 2px;
  background: var(--mz-gold);
  transition: width .3s ease;
}
#header .item-link:hover { color: var(--mz-gold) !important; }
#header .item-link:hover::after { width: 100%; }

#header .nav-icon-item { color: #fff; position: relative; transition: transform .25s, color .25s; }
#header .nav-icon-item:hover { color: var(--mz-gold); transform: translateY(-2px); }
#header .count-box {
  background: var(--mz-gold) !important;
  color: #fff !important;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(56,189,248,.5);
}

/* Bouton menu mobile */
.btn-mobile {
  background: linear-gradient(135deg, var(--mz-green), var(--mz-green-dark)) !important;
  border: 1px solid rgba(255,255,255,.25);
  box-shadow: 0 6px 18px rgba(15,42,107,.35) !important;
}
.btn-mobile::before { background: linear-gradient(135deg, var(--mz-gold), var(--mz-gold-dark)) !important; }

/* ---------- SLIDER ---------- */
.tf-slideshow { overflow: hidden; }
.tf-slideshow .wrap-slider { position: relative; }
.tf-slideshow .wrap-slider::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,22,60,.35), rgba(8,22,60,.55));
  pointer-events: none;
}
.tf-slideshow .wrap-slider img { width: 100%; object-fit: cover; }
.tf-slideshow .box-content { z-index: 3; }
.tf-slideshow .heading {
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 700;
  text-shadow: 0 4px 24px rgba(0,0,0,.4);
}
.tf-slideshow .box-content p { font-size: 1.1rem; font-weight: 300; letter-spacing: .5px; }
.tf-slideshow .tf-btn {
  background: var(--mz-gold) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 50px !important;
  padding: 14px 34px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: 0 10px 25px rgba(56,189,248,.45);
  transition: all .3s;
}
.tf-slideshow .tf-btn:hover { background: var(--mz-gold-dark) !important; transform: translateY(-3px); }
.tf-slideshow .swiper-button-next,
.tf-slideshow .swiper-button-prev {
  color: #fff;
  width: 48px; height: 48px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(8px);
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.3);
  transition: all .3s;
}
.tf-slideshow .swiper-button-next:hover,
.tf-slideshow .swiper-button-prev:hover { background: var(--mz-gold); }
.tf-slideshow .swiper-button-next::after,
.tf-slideshow .swiper-button-prev::after { font-size: 16px; font-weight: 700; }
.tf-slideshow .swiper-pagination-bullet { background: rgba(255,255,255,.7); }
.tf-slideshow .swiper-pagination-bullet-active { background: var(--mz-gold); width: 26px; border-radius: 6px; }

* ---------- CATÉGORIES : icônes colorées, 6 visibles + défilement horizontal ---------- */
.tf-categories-wrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start;
  gap: 18px;
}
.tf-categories-container {
  --cat-gap: 18px;
  flex: 1 1 auto;
  min-width: 0;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  gap: var(--cat-gap);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 14px 6px 18px;
  scrollbar-width: thin;
  scrollbar-color: var(--mz-green) var(--mz-green-soft);
}
.tf-categories-container::-webkit-scrollbar { height: 6px; }
.tf-categories-container::-webkit-scrollbar-track { background: var(--mz-green-soft); border-radius: 10px; }
.tf-categories-container::-webkit-scrollbar-thumb { background: var(--mz-green); border-radius: 10px; }
 
/* 6 éléments visibles à la fois */
.tf-categories-container .collection-item-circle {
  flex: 0 0 calc((100% - 5 * var(--cat-gap)) / 6);
  min-width: 90px;
  scroll-snap-align: start;
  text-align: center;
}
.tf-shopall-wrap { flex: 0 0 auto; padding-top: 14px; }
.tf-shopall-wrap .collection-item-circle { min-width: 80px; text-align: center; }
 
/* aucune image dans cette section */
.tf-categories-wrap img { display: none !important; }
 
/* cercle (taille réduite) */
.tf-categories-wrap .collection-image {
  width: 64px !important; height: 64px !important;
  min-width: 64px; min-height: 64px;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center; justify-content: center;
  color: #fff !important;
  position: relative;
  overflow: visible !important;
  box-shadow: 0 8px 18px rgba(15,42,107,.22);
  transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s;
}
/* icône (taille réduite) */
.tf-categories-wrap .collection-image i,
.tf-categories-wrap .collection-image [class^="ri-"] {
  display: inline-block !important;
  font-size: 26px !important;
  width: auto !important; height: auto !important;
  line-height: 1 !important;
  color: #fff !important;
}
.tf-categories-wrap .collection-image::before {
  content: ""; position: absolute; inset: -5px;
  border-radius: 50%;
  border: 2px dashed rgba(29,78,216,.5);
  opacity: 0; transition: opacity .3s, transform .6s;
}
.collection-item-circle:hover .collection-image { transform: translateY(-5px) scale(1.08); box-shadow: 0 14px 26px rgba(15,42,107,.3); }
.collection-item-circle:hover .collection-image::before { opacity: 1; transform: rotate(90deg); }
 
/* dégradés de bleus */
.cat-c1 { background: linear-gradient(135deg, #3b82f6, #1d4ed8) !important; }
.cat-c2 { background: linear-gradient(135deg, #38bdf8, #0284c7) !important; }
.cat-c3 { background: linear-gradient(135deg, #818cf8, #4338ca) !important; }
.cat-c4 { background: linear-gradient(135deg, #22d3ee, #0e7490) !important; }
.cat-c5 { background: linear-gradient(135deg, #60a5fa, #1e40af) !important; }
.cat-c6 { background: linear-gradient(135deg, #2dd4bf, #0f766e) !important; }
 
.collection-item-circle .collection-content .title {
  font-weight: 600; font-size: 12.5px; color: var(--mz-ink);
  text-transform: uppercase; letter-spacing: .6px;
  display: block;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.collection-item-circle:hover .collection-content .title { color: var(--mz-green); }
 
.tf-shopall .tf-shopall-icon { background: linear-gradient(135deg, #0f2a6b, #1d4ed8) !important; }
.tf-shopall:hover .tf-shopall-icon { background: linear-gradient(135deg, #38bdf8, #0284c7) !important; }
.tf-shopall-icon i { font-size: 24px !important; color: #fff !important; }
 
/* ---------- ICON BOX (réassurance) ---------- */
.flat-iconbox.glass-section {
  background: #fff;
  border: 1px solid var(--mz-line);
  border-radius: 24px;
  padding: 26px 10px;
  box-shadow: var(--mz-shadow);
  max-width: 1200px;
  margin: 30px auto;
}
.flat-iconbox .glass-card {
  background: var(--mz-cream);
  border: 1px solid var(--mz-line);
  border-radius: 18px;
  padding: 14px 18px;
  flex-direction: row;
  height: auto;
  box-shadow: none;
  backdrop-filter: none;
}
.flat-iconbox .glass-card:hover { transform: translateY(-4px); box-shadow: var(--mz-shadow); border-color: var(--mz-gold); }
.flat-iconbox .glass-card { display: flex !important; align-items: center; gap: 14px; }
.flat-iconbox .glass-card .content { min-width: 0; flex: 1 1 auto; }
.flat-iconbox .glass-icon {
  flex: 0 0 52px !important;
  width: 52px !important; height: 52px !important;
  min-width: 52px !important; min-height: 52px !important;
  max-width: 52px !important; max-height: 52px !important;
  aspect-ratio: 1 / 1;
  padding: 0 !important; margin: 0 !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--mz-green), var(--mz-green-dark));
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(29,78,216,.35);
}
.flat-iconbox .glass-icon i {
  font-family: 'remixicon' !important;
  font-style: normal;
  font-size: 24px !important;
  line-height: 1 !important;
  width: auto !important; height: auto !important;
  color: #fff !important;
  display: block;
}
.flat-iconbox .glass-card:hover .glass-icon {
  background: linear-gradient(135deg, var(--mz-gold), var(--mz-gold-dark));
  box-shadow: 0 8px 18px rgba(56,189,248,.45);
}
.flat-iconbox .glass-card .title { color: var(--mz-ink); font-weight: 600; }
.flat-iconbox .glass-card p { color: var(--mz-muted); }
 

/* ---------- BANNERS ---------- */
.tf-img-with-text .heading { color: var(--mz-green-dark); font-size: clamp(1.7rem, 3vw, 2.6rem); font-weight: 700; }
.tf-img-with-text .desc { color: var(--mz-muted); line-height: 1.8; font-weight: 300; }
.tf-img-with-text .img-style { border-radius: var(--mz-radius); overflow: hidden; box-shadow: var(--mz-shadow); }
.tf-img-with-text .img-style img { transition: transform .6s ease; }
.tf-img-with-text .hover-img:hover img { transform: scale(1.07); }
.tf-content-wrap .btn-line {
  color: var(--mz-green); font-weight: 600;
  border-bottom: 2px solid var(--mz-gold);
  text-transform: uppercase; letter-spacing: 1.2px;
}
.tf-content-wrap .btn-line:hover { color: var(--mz-gold-dark); }

/* ---------- PRODUITS ---------- */
.flat-spacing-26 { position: relative; }
.flat-spacing-26::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(250,247,242,.88), rgba(232,240,236,.92));
  z-index: 0;
}
.flat-spacing-26 > * { position: relative; z-index: 1; }
.flat-spacing-26 > div[style*="overflow: hidden"] { z-index: 0; }

/* Onglets (li et a portent tous deux .glass-tab : on neutralise le doublon) */
li.glass-tab {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  backdrop-filter: none !important;
}
a.glass-tab {
  background: #fff !important;
  color: var(--mz-green) !important;
  border: 1px solid var(--mz-line) !important;
  border-radius: 50px !important;
  padding: 10px 24px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 1px;
  box-shadow: 0 4px 12px rgba(15,42,107,.06) !important;
}
a.glass-tab:hover {
  background: var(--mz-green-soft) !important;
  color: var(--mz-green-dark) !important;
  transform: translateY(-2px);
}
a.glass-tab.active {
  background: linear-gradient(135deg, var(--mz-green), var(--mz-green-dark)) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 8px 20px rgba(29,78,216,.35) !important;
}

/* Cartes produit */
.tf-sw-product-sell-1 .glass-card,
.card-product.glass-card {
  background: #fff;
  border: 1px solid var(--mz-line);
  border-radius: var(--mz-radius);
  backdrop-filter: none;
  box-shadow: 0 6px 18px rgba(15,42,107,.06);
}
.card-product.glass-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--mz-shadow-lg);
  border-color: var(--mz-gold);
}
.product-img-wrapper { background: var(--mz-green-soft); }
.product-hover-overlay {
  background: linear-gradient(180deg, rgba(15,42,107,.88), rgba(8,22,60,.94));
}
.product-description-text { font-weight: 300; }
.product-title {
  color: var(--mz-ink);
  font-family: 'Poppins', sans-serif;
  font-size: .95rem; font-weight: 600;
}
.product-title:hover { color: var(--mz-green); }
.product-price { color: var(--mz-gold-dark); font-weight: 700; font-size: 1.05rem; }

.glass-btn {
  background: linear-gradient(135deg, var(--mz-green), var(--mz-green-dark));
  border-radius: 50px;
  padding: 8px 18px;
  font-size: .75rem; letter-spacing: .8px;
  box-shadow: 0 6px 14px rgba(29,78,216,.3);
}
.glass-btn:hover {
  background: linear-gradient(135deg, var(--mz-gold), var(--mz-gold-dark));
  color: #fff;
  box-shadow: 0 8px 18px rgba(56,189,248,.45);
}

.glass-nav {
  background: var(--mz-green) !important;
  border: 0 !important;
  box-shadow: 0 6px 16px rgba(29,78,216,.35);
}
.glass-nav:hover { background: var(--mz-gold) !important; }
.swiper-pagination-bullet { background: rgba(29,78,216,.35); }
.swiper-pagination-bullet-active { background: var(--mz-gold); }

.glass-main-btn {
  background: linear-gradient(135deg, var(--mz-green), var(--mz-green-dark));
  border-radius: 50px;
  padding: 15px 44px;
  letter-spacing: 1.5px;
  box-shadow: 0 12px 28px rgba(29,78,216,.35);
}
.glass-main-btn:hover {
  background: linear-gradient(135deg, var(--mz-gold), var(--mz-gold-dark));
  color: #fff;
  box-shadow: 0 14px 30px rgba(56,189,248,.45);
}

/* ---------- BANNER COLLECTION ---------- */
.tf-banner-collection { border-radius: 24px; overflow: hidden; box-shadow: var(--mz-shadow-lg); position: relative; }
.tf-banner-collection::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(8,22,60,.75), rgba(8,22,60,.15));
}
.tf-banner-collection img { width: 100%; object-fit: cover; }
.tf-banner-collection .box-content { z-index: 2; }
.tf-banner-collection .sub {
  color: var(--mz-gold) !important;
  text-transform: uppercase; letter-spacing: 3px; font-size: 13px;
}
.tf-banner-collection .heading { font-size: clamp(1.6rem, 3.4vw, 2.8rem); }
.tf-banner-collection .tf-btn {
  background: var(--mz-gold) !important; color: #fff !important;
  border: 0 !important; border-radius: 50px !important;
  padding: 12px 32px; font-weight: 600; letter-spacing: 1px;
}
.tf-banner-collection .tf-btn:hover { background: #fff !important; color: var(--mz-green-dark) !important; }

/* ---------- MINI-PANIER ---------- */
#shoppingCart {
  background: #fff;
  box-shadow: -10px 0 40px rgba(8,22,60,.25);
  border-left: 3px solid var(--mz-gold);
}
#shoppingCart h3 { font-family: 'Playfair Display', serif; color: var(--mz-green-dark); }
#shoppingCart .close-cart { color: var(--mz-muted); transition: all .3s; }
#shoppingCart .close-cart:hover { color: var(--mz-gold-dark); transform: rotate(90deg); }
#shoppingCart .tf-btn.btn-fill {
  background: linear-gradient(135deg, var(--mz-green), var(--mz-green-dark));
  color: #fff; border: 0; border-radius: 50px; padding: 12px; font-weight: 600;
}
#shoppingCart .tf-btn.btn-fill:hover { background: linear-gradient(135deg, var(--mz-gold), var(--mz-gold-dark)); }
.tf-mini-cart-item { border-bottom: 1px dashed var(--mz-line); }
.tf-mini-cart-image img { border-radius: 12px; }

/* ---------- FOOTER ---------- */
#footer { font-family: 'Poppins', sans-serif; }
#footer h4 {
  font-family: 'Playfair Display', serif;
  letter-spacing: 6px; font-size: 1.8rem;
  color: var(--mz-gold) !important;
}
#footer h6 {
  font-family: 'Poppins', sans-serif;
  text-transform: uppercase; letter-spacing: 1.5px;
  font-size: 13px; font-weight: 600;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(56,189,248,.5) !important;
}
#footer .footer-menu_item { transition: all .25s; }
#footer ul.footer-menu-list li a:hover { color: var(--mz-gold) !important; padding-left: 6px; }
#footer .tf-social-icon .box-icon { transition: all .3s; }
#footer .tf-social-icon .box-icon:hover { background: var(--mz-gold); border-color: var(--mz-gold) !important; transform: translateY(-3px); }
#footer .form-newsletter input:focus { outline: none; border-color: var(--mz-gold) !important; box-shadow: 0 0 0 3px rgba(56,189,248,.25); }
#footer #subscribe-button {
  background: var(--mz-gold) !important; color: #fff !important;
  border: 0; border-radius: 50px; font-weight: 600;
}
#footer #subscribe-button:hover { background: #fff !important; color: var(--mz-green-dark) !important; }
#footer .footer-bottom { border-top: 1px solid rgba(255,255,255,.15); }
#footer .tf-payment img { height: 26px; width: auto; margin-left: 6px; filter: grayscale(.2); opacity: .9; transition: .3s; }
#footer .tf-payment img:hover { opacity: 1; filter: none; }

/* ---------- MENU MOBILE ---------- */
#mobileMenu {
  background: linear-gradient(180deg, rgba(15,42,107,.96), rgba(8,22,60,.98)) !important;
  border-right: 3px solid var(--mz-gold);
}
#mobileMenu .offcanvas-header { border-bottom: 1px solid rgba(56,189,248,.4); }
#mobileMenu .offcanvas-header h5 { font-family: 'Playfair Display', serif; letter-spacing: 4px; color: var(--mz-gold) !important; }
#mobileMenu ul li a { border-radius: 12px; }
#mobileMenu ul li a:hover,
#mobileMenu ul li a.active {
  background: rgba(56,189,248,.2);
  border-color: rgba(56,189,248,.5);
  box-shadow: 0 0 12px rgba(56,189,248,.25);
}
#mobileMenu .d-flex a:hover { color: var(--mz-gold); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 767px) {
  .tf-categories-container { gap: 16px; }
  .tf-categories-wrap .collection-image { width: 72px !important; height: 72px !important; }
  .tf-categories-wrap .collection-image i { font-size: 30px !important; }
  .flat-iconbox.glass-section { border-radius: 16px; margin: 20px 12px; }
  a.glass-tab { padding: 8px 16px !important; font-size: 12px !important; }
  .tf-banner-collection { border-radius: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}