/* =========================================================
   LINGIGI — Modern marketplace UI
   ========================================================= */
:root {
  --lingigi-primary: #6d4aff;
  --lingigi-primary-dark: #5132d8;
  --lingigi-accent: #ff6b35;
  --lingigi-accent-dark: #e95520;
  --lingigi-ink: #17172b;
  --lingigi-muted: #697386;
  --lingigi-bg: #f7f8fc;
  --lingigi-card: #ffffff;
  --lingigi-border: #e8eaf2;
  --lingigi-radius: 18px;
  --lingigi-shadow: 0 12px 35px rgba(27, 31, 59, .08);
}

html { scroll-behavior: smooth; }
body {
  background: var(--lingigi-bg) !important;
  color: var(--lingigi-ink) !important;
  font-family: 'Poppins', 'Open Sans', sans-serif !important;
}

.top-tricolor-bar { height: 4px !important; }

/* Header */
#header.header {
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 4px 22px rgba(22,24,40,.06) !important;
  backdrop-filter: blur(16px);
  z-index: 1100;
}
#header .logo img { max-height: 42px !important; width: auto !important; }
#header .logo span {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--lingigi-ink) !important;
  letter-spacing: -.6px;
}
#navbar ul { gap: 6px; align-items: center; }
#navbar .nav-link {
  color: #4c5368 !important;
  font-weight: 600 !important;
  padding: 10px 13px !important;
  border-radius: 10px;
  transition: .2s ease;
}
#navbar .nav-link:hover { color: var(--lingigi-primary) !important; background: #f2efff; }
#navbar .nav-link img {
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(37,211,102,.18);
}
#navbar .btn-vendre {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: linear-gradient(135deg,var(--lingigi-accent),#ff914d) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 11px 19px !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 20px rgba(255,107,53,.22) !important;
}
#navbar .btn-vendre:hover { transform: translateY(-1px); color:#fff !important; }

/* Hero */
#hero.hero {
  min-height: 570px;
  padding: 76px 0 68px !important;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 20%, rgba(109,74,255,.16), transparent 34%),
    radial-gradient(circle at 12% 85%, rgba(255,107,53,.10), transparent 30%),
    linear-gradient(135deg,#fff 0%,#f8f6ff 52%,#fff8f3 100%) !important;
}
#hero.hero:after {
  content:''; position:absolute; width:420px; height:420px; right:-170px; bottom:-230px;
  border-radius:50%; border:60px solid rgba(109,74,255,.05); pointer-events:none;
}
#hero h1 {
  font-size: clamp(38px,5vw,62px) !important;
  line-height: 1.03 !important;
  font-weight: 800 !important;
  letter-spacing: -2px;
  color: var(--lingigi-ink) !important;
  margin-bottom: 16px !important;
}
#hero h1:after { content:' ✨'; font-size:.55em; vertical-align:top; }
#hero h2 {
  font-size: 21px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  color: var(--lingigi-primary) !important;
  margin-bottom: 18px !important;
}
#hero p {
  max-width: 610px;
  color: var(--lingigi-muted) !important;
  line-height: 1.85 !important;
  font-size: 15px !important;
}
#hero .btn-get-started {
  margin-top: 16px;
  background: var(--lingigi-primary) !important;
  color: #fff !important;
  border-radius: 13px !important;
  padding: 13px 20px !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 24px rgba(109,74,255,.22) !important;
  transition: .25s ease;
}
#hero .btn-get-started:hover { background:var(--lingigi-primary-dark) !important; transform:translateY(-2px); }
#hero .hero-img img {
  max-height: 430px;
  filter: drop-shadow(0 25px 35px rgba(41,37,86,.14));
}

/* Marketplace navigation */
.mega-menu {
  position: sticky !important;
  top: 0 !important;
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid var(--lingigi-border) !important;
  box-shadow: 0 8px 25px rgba(28,31,50,.06) !important;
  backdrop-filter: blur(16px) !important;
  z-index: 1000 !important;
}
.mega-menu-container { max-width: 1380px !important; min-height: 76px; gap: 20px; }
.mega-menu-nav { gap: 4px !important; }
.mega-menu-link {
  color: #4b5267 !important;
  padding: 13px 15px !important;
  border-radius: 11px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.mega-menu-link:before { background:#f1eeff !important; }
.mega-menu-link:hover { color:var(--lingigi-primary) !important; transform:none !important; }
.mega-menu-link i:first-child { color:var(--lingigi-primary); }
.menu-search { flex: 1; max-width: 520px; margin-left:auto; }
.menu-search form { position:relative; }
.menu-search .form-control {
  height: 48px !important;
  border: 1px solid var(--lingigi-border) !important;
  border-radius: 14px !important;
  background: #f7f8fc !important;
  padding: 0 52px 0 18px !important;
  box-shadow:none !important;
  font-size:13px !important;
}
.menu-search .form-control:focus { border-color:rgba(109,74,255,.5) !important; box-shadow:0 0 0 4px rgba(109,74,255,.08) !important; }
.menu-search button {
  position:absolute; right:6px; top:6px; width:36px; height:36px;
  border:0; border-radius:10px; background:var(--lingigi-primary); color:#fff;
}
.menu-toggle-btn { color:var(--lingigi-primary) !important; }

/* Products section */
#bijoux.values { padding: 75px 0 80px !important; background:var(--lingigi-bg) !important; }
.section-header { margin-bottom: 28px !important; }
.section-header p {
  color:var(--lingigi-ink) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -.8px;
}
.section-header p:after {
  content:'Découvrez nos meilleures offres';
  display:block; margin-top:7px; color:var(--lingigi-muted); font-size:13px; font-weight:500; letter-spacing:0;
}
#bijoux .container.mt-5 { margin-top: 0 !important; }
#bijoux .col-md-3 { padding-right: 20px; }
#bijoux .col-md-9 { padding-left: 10px; }

/* Filter panel */
#bijoux .col-md-3 .box {
  background:#fff !important;
  border:1px solid var(--lingigi-border) !important;
  border-radius:var(--lingigi-radius) !important;
  padding:24px !important;
  text-align:left !important;
  box-shadow:var(--lingigi-shadow) !important;
  position:sticky; top:100px;
}
#bijoux .col-md-3 .box h3 {
  font-size:17px !important; font-weight:800 !important; color:var(--lingigi-ink) !important; margin:0 0 15px !important;
}
#bijoux .col-md-3 .form-control {
  border:1px solid #e2e5ee !important; border-radius:11px !important; min-height:44px; box-shadow:none !important;
}
#bijoux .col-md-3 .form-control:focus { border-color:var(--lingigi-primary) !important; box-shadow:0 0 0 4px rgba(109,74,255,.08) !important; }
#bijoux .col-md-3 label { color:var(--lingigi-muted); font-size:12px; font-weight:600; }
#bijoux .form-check { padding:8px 0 8px 28px; margin-bottom:0 !important; border-bottom:1px solid #f0f1f5; }
#bijoux .form-check-input { margin-left:-28px; width:18px; height:18px; }
#bijoux .form-check-input:checked { background-color:var(--lingigi-primary); border-color:var(--lingigi-primary); }
#bijoux .form-check-label { font-size:13px; color:#454b5d; }
#bijoux .col-md-3 form > .btn {
  width:100%; border-radius:11px !important; min-height:45px; font-weight:700; margin-top:18px;
}
#bijoux .btn-success { background:var(--lingigi-primary) !important; border-color:var(--lingigi-primary) !important; }
#bijoux .btn-success:hover { background:var(--lingigi-primary-dark) !important; }
#bijoux .btn-primary { background:#fff !important; border:1px solid var(--lingigi-border) !important; color:#596075 !important; }

/* Product cards */
#bijoux .col-md-9 > .row { margin-left:-8px; margin-right:-8px; }
#bijoux .col-md-9 .col-md-4 { padding:8px !important; background:transparent !important; }
#bijoux .col-md-9 .box {
  height:100%; padding:0 !important; overflow:hidden; background:#fff !important;
  border:1px solid var(--lingigi-border) !important; border-radius:var(--lingigi-radius) !important;
  box-shadow:0 8px 25px rgba(28,31,50,.06) !important; text-align:left !important;
  transition:transform .25s ease, box-shadow .25s ease;
}
#bijoux .col-md-9 .box:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(28,31,50,.11) !important; }
#bijoux .col-md-9 .box img {
  width:100% !important; height:220px !important; object-fit:cover !important; display:block;
  background:#f4f5f9; transition:transform .35s ease;
}
#bijoux .col-md-9 .box:hover img { transform:scale(1.025); }
#bijoux .col-md-9 .box h3 {
  font-size:16px !important; font-weight:750 !important; color:var(--lingigi-ink) !important;
  padding:16px 16px 4px !important; margin:0 !important;
}
#bijoux .col-md-9 .box > .btn-danger {
  margin:7px 16px 12px !important; border:0 !important; border-radius:9px !important;
  background:#fff0eb !important; color:var(--lingigi-accent-dark) !important; padding:7px 11px !important; font-size:13px;
}
#bijoux .col-md-9 .box > .btn-pay {
  display:block; width:calc(100% - 32px) !important; margin:0 16px 17px !important; min-height:45px;
  border-radius:11px !important; background:var(--lingigi-primary) !important; border:0 !important;
  font-weight:700 !important; box-shadow:0 8px 18px rgba(109,74,255,.18) !important;
}
#bijoux .col-md-9 .box > .btn-pay:hover { background:var(--lingigi-primary-dark) !important; transform:none; }

/* Modal / forms */
.modal-content {
  border:0 !important; border-radius:22px !important; box-shadow:0 30px 80px rgba(18,20,42,.20) !important; overflow:hidden;
}
#authModal .modal-content { padding:0 !important; }
#authModal .modal-body { padding:30px !important; }
#authTabs { border-bottom:1px solid var(--lingigi-border) !important; gap:8px; }
#authTabs .nav-link { border:0 !important; color:#73798b; font-weight:700; padding:12px 18px; border-radius:10px 10px 0 0; }
#authTabs .nav-link.active { color:var(--lingigi-primary); background:#f2efff; }
#authModal .form-control, #payModal .form-control { min-height:48px; border-radius:11px !important; border:1px solid #e1e4ed !important; }
#authModal .btn-secondary, #payModal .btn-success {
  border:0 !important; background:var(--lingigi-primary) !important; border-radius:11px !important; min-height:47px; font-weight:700;
}
#authModal .btn-secondary:hover, #payModal .btn-success:hover { background:var(--lingigi-primary-dark) !important; }
#payModal .modal-header { border-bottom:1px solid var(--lingigi-border); }
#payModal .modal-title { font-weight:800; }

/* Footer */
#footer.footer { background:#17172b !important; padding:34px 0 !important; }
#footer .copyright, #footer .credits { color:#b9bdd0 !important; font-size:12px; }
#footer strong span { color:#fff; }
#footer a { color:#a995ff !important; }

/* Mobile */
@media (max-width: 991px) {
  #hero.hero { min-height:auto; padding:55px 0 45px !important; }
  #hero .hero-img { margin-top:30px; }
  .mega-menu-container { padding:10px 15px !important; flex-wrap:wrap; }
  .mega-menu-nav { width:100%; overflow-x:auto; padding-bottom:2px; order:3; }
  .mega-menu-link { white-space:nowrap; }
  .menu-search { max-width:none; flex:1; }
  #bijoux .col-md-3 .box { position:static; margin-bottom:25px; }
  #bijoux .col-md-3, #bijoux .col-md-9 { padding-left:8px; padding-right:8px; }
}
@media (max-width: 575px) {
  #header .logo span { display:none; }
  #navbar ul { gap:0; }
  #navbar .nav-link { font-size:12px !important; padding:8px !important; }
  #hero h1 { font-size:42px !important; }
  #hero h2 { font-size:18px !important; }
  .menu-search { width:100%; flex-basis:100%; }
  #bijoux .col-md-9 .box img { height:240px !important; }
}
.hero-kicker {
  display:inline-flex; align-items:center; gap:7px; padding:7px 11px; margin-bottom:15px;
  border-radius:999px; background:#f0edff; color:var(--lingigi-primary); font-size:11px; font-weight:800;
  text-transform:uppercase; letter-spacing:.5px;
}
.product-price {
  display:inline-flex; align-items:center; gap:6px; margin:7px 16px 12px; padding:7px 11px;
  border-radius:9px; background:#fff0eb; color:var(--lingigi-accent-dark); font-size:13px; font-weight:800;
}
