/*
Theme Name: DZ Shop (Custom Organic)
Description: Version personnalisée du thème Organic avec charte graphique bleu #0D00FF et blanc.
Version: 1.1
*/

/*--------------------------------------------------------------
Variables principales
--------------------------------------------------------------*/
body {
  --heading-font: "Inter", sans-serif;

  --bs-link-color: #0D00FF;
  --bs-link-hover-color: #0A00CC;

  --bs-link-color-rgb: 13,0,255;
  --bs-link-hover-color-rgb: 10,0,204;

  --bs-light: #FFFFFF;
  --bs-light-rgb: 255,255,255;

  --bs-dark: #222222;
  --bs-font-sans-serif: "Inter", sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 2;
  --bs-body-color: #747474;

  --bs-primary: #0D00FF;
  --bs-primary-rgb: 13,0,255;

  --bs-secondary: #364127;
  --bs-secondary-rgb: 54, 65, 39;

  --bs-danger: #F95F09;
  --bs-danger-rgb: 249, 95, 9;

  --bs-success: #a3be4c;
  --bs-success-rgb: 163, 190, 76;

  --bs-primary-bg-subtle: #E6E6FF;
  --bs-success-bg-subtle: #eef5e5;

  --bs-border-color: #F7F7F7;
}

/*--------------------------------------------------------------
Boutons
--------------------------------------------------------------*/
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0A00CC;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: transparent;
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary);
}

.btn-outline-light {
  --bs-btn-color: #747474;
  --bs-btn-border-color: #EFEFEF;
  --bs-btn-hover-color: var(--bs-primary);
  --bs-btn-hover-bg: #EFEFEF;
  --bs-btn-hover-border-color: #EFEFEF;
}

/* Autres boutons */
.btn-warning { background: #FCF7EB; }
.btn-success { background: #EEF5E4; }
.btn-danger { background: #FFEADA; }

/*--------------------------------------------------------------
Typographie
--------------------------------------------------------------*/
body { letter-spacing: 0.03em; }
h1,h2,h3,h4,h5,h6 { font-family: var(--heading-font); color: var(--bs-dark); font-weight: 700; }

/*--------------------------------------------------------------
Liens
--------------------------------------------------------------*/
a, a:hover { color: var(--bs-primary); }
a:hover { color: #0A00CC; }

/*--------------------------------------------------------------
Breadcrumb, Nav, Dropdown
--------------------------------------------------------------*/
.breadcrumb.text-white { --bs-breadcrumb-divider-color: #fff; --bs-breadcrumb-item-active-color: var(--bs-primary); }
.dropdown-menu { --bs-dropdown-link-active-bg: var(--bs-primary); }
.nav-pills .nav-link { --bs-nav-pills-link-active-color: #111; --bs-nav-pills-link-active-bg: #f1f1f1; }

/*--------------------------------------------------------------
Pagination & Tabs
--------------------------------------------------------------*/
.pagination { --bs-pagination-active-bg: var(--bs-primary); --bs-pagination-active-border-color: var(--bs-primary); }
.product-tabs .nav-tabs .nav-link.active { border-bottom: 3px solid var(--bs-primary); }

/*--------------------------------------------------------------
Site structure
--------------------------------------------------------------*/
/* Preloader */
.preloader-wrapper { background: var(--bs-light); }

/* Swiper carousel */
.swiper-prev, .swiper-next {
  background: var(--bs-light);
  color: var(--bs-primary);
}
.swiper-prev:hover, .swiper-next:hover {
  background: var(--bs-primary);
  color: var(--bs-light);
}

/* Category carousel */
.category-carousel .category-item,
.brand-carousel .brand-item,
.product-item {
  background: var(--bs-light);
  border: 1px solid #FBFBFB;
  border-radius: 16px;
  box-shadow: 0px 5px 22px rgba(0,0,0,0.04);
}
.category-carousel .category-item:hover,
.product-item:hover { box-shadow: 0px 21px 44px rgba(0,0,0,0.08); }

/* Titles */
.category-carousel .category-item .category-title,
.product-item .product-title { color: var(--bs-dark); }

/* Products hover button */
.product-item:hover .button-area { display: block; }

/* Floating image */
.image-float { margin-top: -140px; margin-bottom: -140px; }
@media screen and (max-width:991px) { .image-float { margin: 0; } }

/* Offcanvas / mobile */
@media screen and (max-width: 991px){
  .offcanvas-body .nav-item { font-weight: 700; border-bottom: 1px solid #d1d1d1; }
  .offcanvas-body .filter-categories { width: 100%; margin-bottom: 20px !important; border: 1px solid #d1d1d1 !important; padding: 14px; border-radius: 8px; }
  .dropdown-menu { padding: 0; border: none; line-height: 1.4; font-size: 0.9em; }
}

/* Single product thumbnail slider */
.product-thumbnail-slider { height: 740px; }
@media screen and (max-width:992px){ .product-thumbnail-slider { margin-top:20px; height:auto; } }
@media screen and (min-width:992px){ .product-thumbnail-slider { height:420px; } }
@media screen and (min-width:1200px){ .product-thumbnail-slider { height:540px; } }
@media screen and (min-width:1400px){ .product-thumbnail-slider { height:740px; } }

/* Button link style */
.btn-link {
  font-size: 0.875rem; font-weight:bold; letter-spacing:0.0875rem; text-transform:uppercase; text-decoration:none;
}
a.btn-link, a.btn-link:after { transition: all .5s; }
a.btn-link:before, a.btn-link:after { content: ''; display:block; position:absolute; bottom:0; left:0; width:0; height:2px; background-color: var(--bs-dark); }
a.btn-link.is-checked:after, a.btn-link:hover:after { width: 100%; }

/* Navbar megamenu */
.navbar .megamenu { padding: 1rem; }
@media all and (min-width: 992px){ .navbar .has-megamenu{position:static!important;} .navbar .megamenu{left:0; right:0; width:100%; margin-top:0; } }
@media(max-width: 991px){ .navbar.fixed-top .navbar-collapse, .navbar.sticky-top .navbar-collapse{ overflow-y:auto; max-height:90vh; margin-top:10px; } }
