:root {
      --green: #00ff41;
      --green-dark: #00cc33;
      --green-dim: #005510;
      --gold: #ffa500;
      --gold-dark: #cc7a00;
      --black: #000000;
      --dark: #080d08;
      --dark2: #0d150d;
      --dark3: #111a11;
      --white: #e8ffe8;
      --gray: #4a5a4a;
    }
    * { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { font-family:'Rajdhani',sans-serif; background:var(--black); color:var(--white); overflow-x:hidden; }
    ::-webkit-scrollbar { width:6px; }
    ::-webkit-scrollbar-track { background:var(--dark); }
    ::-webkit-scrollbar-thumb { background:var(--green-dark); border-radius:3px; }

    /* === NAVBAR === */
    nav {
      position:fixed; top:0; left:0; right:0; z-index:1000;
      display:flex; align-items:center; justify-content:space-between;
      padding:0 40px; height:75px;
      background:rgba(0,0,0,0.93);
      border-bottom:1px solid rgba(0,255,65,0.2);
      backdrop-filter:blur(10px);
    }
    .nav-logo {
      display:flex; align-items:center; gap:14px; text-decoration:none;
    }
    .nav-logo img {
      width:52px; height:52px; border-radius:50%;
      border:2px solid var(--green);
      box-shadow:0 0 14px rgba(0,255,65,0.5);
      object-fit:cover;
    }
    .nav-brand {
      display:flex; flex-direction:column; line-height:1;
    }
    .nav-brand span:first-child {
      font-family:'Bebas Neue',cursive;
      font-size:22px; color:var(--green);
      letter-spacing:2px;
    }
    .nav-brand span:last-child {
      font-size:11px; color:var(--gold); letter-spacing:3px; text-transform:uppercase;
    }
    .nav-links {
      display:flex; align-items:center; gap:30px; list-style:none;
    }
    .nav-links a {
      color:var(--white); text-decoration:none; font-size:15px; font-weight:600;
      letter-spacing:1px; text-transform:uppercase;
      transition:color .2s;
      position:relative;
    }
    .nav-links a::after {
      content:''; position:absolute; bottom:-4px; left:0; right:0; height:2px;
      background:var(--green); transform:scaleX(0); transition:transform .2s;
    }
    .nav-links a:hover { color:var(--green); }
    .nav-links a:hover::after { transform:scaleX(1); }
    .nav-actions { display:flex; gap:12px; align-items:center; }
    .btn-login {
      padding:9px 22px; border:1px solid var(--green); background:transparent;
      color:var(--green); font-family:'Rajdhani',sans-serif; font-size:14px;
      font-weight:700; letter-spacing:2px; text-transform:uppercase;
      cursor:pointer; border-radius:4px; transition:all .25s;
      text-decoration:none;
    }
    .btn-login:hover { background:rgba(0,255,65,0.1); box-shadow:0 0 12px rgba(0,255,65,0.3); }
    .btn-register {
      padding:9px 22px; border:none; background:var(--green);
      color:var(--black); font-family:'Rajdhani',sans-serif; font-size:14px;
      font-weight:700; letter-spacing:2px; text-transform:uppercase;
      cursor:pointer; border-radius:4px; transition:all .25s;
      text-decoration:none;
    }
    .btn-register:hover { background:#00ff80; box-shadow:0 0 20px rgba(0,255,65,0.5); transform:translateY(-1px); }
    .cart-icon {
      color:var(--white); font-size:20px; cursor:pointer; position:relative;
      transition:color .2s;
    }
    .cart-icon:hover { color:var(--green); }
    .cart-badge {
      position:absolute; top:-6px; right:-8px; background:var(--gold);
      color:var(--black); font-size:10px; font-weight:800;
      width:18px; height:18px; border-radius:50%;
      display:flex; align-items:center; justify-content:center;
    }

    /* === HERO === */
    .hero {
      min-height:100vh; position:relative;
      display:flex; align-items:center; justify-content:center;
      overflow:hidden;
    }
    .hero-bg {
      position:absolute; inset:0;
      background:url('../img/font.png') center/cover no-repeat;
      filter:brightness(0.35);
      animation:bgPulse 8s ease-in-out infinite;
    }
    @keyframes bgPulse {
      0%,100% { filter:brightness(0.35); }
      50% { filter:brightness(0.45); }
    }
    .hero-overlay {
      position:absolute; inset:0;
      background:linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,20,0,0.4) 50%, rgba(0,0,0,0.8) 100%);
    }
    .hero-overlay2 {
      position:absolute; bottom:0; left:0; right:0; height:200px;
      background:linear-gradient(to top, var(--black), transparent);
    }
    /* Scan lines effect */
    .scanlines {
      position:absolute; inset:0; pointer-events:none; z-index:2;
      background:repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,255,65,0.015) 2px, rgba(0,255,65,0.015) 4px);
    }
    .hero-content {
      position:relative; z-index:5; text-align:center;
      display:flex; flex-direction:column; align-items:center; gap:28px;
      padding:0 20px;
      animation:fadeInUp 1s ease forwards;
    }
    @keyframes fadeInUp {
      from { opacity:0; transform:translateY(40px); }
      to { opacity:1; transform:translateY(0); }
    }
    .hero-logo {
      width:130px; height:130px; border-radius:50%;
      border:3px solid var(--green);
      box-shadow:0 0 40px rgba(0,255,65,0.6), 0 0 80px rgba(0,255,65,0.2);
      object-fit:cover;
      animation:logoPulse 3s ease-in-out infinite;
    }
    @keyframes logoPulse {
      0%,100% { box-shadow:0 0 40px rgba(0,255,65,0.6), 0 0 80px rgba(0,255,65,0.2); }
      50% { box-shadow:0 0 60px rgba(0,255,65,0.9), 0 0 120px rgba(0,255,65,0.35); }
    }
    .hero-tag {
      font-size:12px; letter-spacing:6px; color:var(--gold);
      text-transform:uppercase; font-weight:600;
    }
    .hero-title {
      font-family:'Bebas Neue',cursive;
      font-size:clamp(52px,9vw,110px);
      line-height:.9;
      letter-spacing:4px;
      color:var(--white);
    }
    .hero-title .green { color:var(--green); text-shadow:0 0 30px rgba(0,255,65,0.7); }
    .hero-title .gold { color:var(--gold); }
    .hero-sub {
      font-size:18px; color:rgba(232,255,232,0.7); max-width:560px;
      font-weight:400; line-height:1.6;
    }
    .hero-sub strong { color:var(--green); font-weight:700; }
    .hero-btns { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
    .btn-hero-main {
      padding:16px 40px; background:var(--green); color:var(--black);
      font-family:'Bebas Neue',cursive; font-size:20px; letter-spacing:3px;
      border:none; cursor:pointer; border-radius:4px;
      box-shadow:0 0 25px rgba(0,255,65,0.4);
      transition:all .3s; text-decoration:none; display:inline-block;
    }
    .btn-hero-main:hover {
      background:#00ff80; box-shadow:0 0 50px rgba(0,255,65,0.7);
      transform:translateY(-3px);
    }
    .btn-hero-sec {
      padding:16px 40px; background:transparent;
      border:2px solid var(--gold); color:var(--gold);
      font-family:'Bebas Neue',cursive; font-size:20px; letter-spacing:3px;
      cursor:pointer; border-radius:4px;
      transition:all .3s; text-decoration:none; display:inline-block;
    }
    .btn-hero-sec:hover {
      background:rgba(255,165,0,0.1);
      box-shadow:0 0 25px rgba(255,165,0,0.4);
      transform:translateY(-3px);
    }
    .hero-stats {
      display:flex; gap:50px; flex-wrap:wrap; justify-content:center;
      margin-top:10px;
    }
    .hero-stat {
      text-align:center;
    }
    .hero-stat .num {
      font-family:'Bebas Neue',cursive; font-size:38px; color:var(--green);
      line-height:1;
    }
    .hero-stat .lbl {
      font-size:11px; color:var(--gray); letter-spacing:2px; text-transform:uppercase;
    }

    /* === TICKER === */
    .ticker {
      background:var(--green); color:var(--black);
      padding:10px 0; overflow:hidden; position:relative; z-index:10;
    }
    .ticker-inner {
      display:flex; gap:0; white-space:nowrap;
      animation:tickerRun 20s linear infinite;
    }
    .ticker-item {
      font-family:'Bebas Neue',cursive; font-size:16px; letter-spacing:3px;
      padding:0 40px;
    }
    .ticker-sep { color:var(--gold); margin:0 5px; }
    @keyframes tickerRun {
      from { transform:translateX(0); }
      to { transform:translateX(-50%); }
    }

    /* === SECTION TITLE === */
    .section-title {
      text-align:center; margin-bottom:60px;
    }
    .section-title .overtitle {
      font-size:12px; letter-spacing:5px; color:var(--gold);
      text-transform:uppercase; margin-bottom:12px;
    }
    .section-title h2 {
      font-family:'Bebas Neue',cursive;
      font-size:clamp(36px,5vw,60px); color:var(--white);
      letter-spacing:3px;
    }
    .section-title h2 span { color:var(--green); }
    .section-title .underline {
      margin:16px auto 0; width:80px; height:3px;
      background:linear-gradient(90deg, transparent, var(--green), transparent);
    }

    /* === CATEGORIES === */
    .section { padding:90px 60px; }
    .section.dark { background:var(--dark2); }
    .categories-grid {
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
      gap:20px;
    }
    .cat-card {
      background:var(--dark3);
      border:1px solid rgba(0,255,65,0.1);
      border-radius:8px; padding:32px 24px;
      text-align:center; cursor:pointer;
      transition:all .3s; position:relative; overflow:hidden;
      text-decoration:none; display:block; color:inherit;
    }
    .cat-card::before {
      content:''; position:absolute; inset:0;
      background:linear-gradient(135deg, rgba(0,255,65,0.05), transparent);
      opacity:0; transition:opacity .3s;
    }
    .cat-card:hover { border-color:var(--green); transform:translateY(-6px); box-shadow:0 10px 30px rgba(0,255,65,0.15); }
    .cat-card:hover::before { opacity:1; }
    .cat-icon { font-size:48px; margin-bottom:16px; display:block; }
    .cat-card h3 {
      font-family:'Bebas Neue',cursive; font-size:22px; color:var(--green);
      letter-spacing:2px; margin-bottom:8px;
    }
    .cat-card p {
      font-size:13px; color:var(--gray); line-height:1.5;
    }
    .cat-badge {
      position:absolute; top:14px; right:14px;
      background:var(--gold); color:var(--black);
      font-size:10px; font-weight:800; padding:3px 8px;
      border-radius:3px; letter-spacing:1px; text-transform:uppercase;
    }

    /* === FEATURED PRODUCTS === */
    /* === GRILLE PRODUITS E-COMMERCE === */
    .products-grid {
      display:grid;
      grid-template-columns:repeat(auto-fill, minmax(200px,1fr));
      gap:18px;
    }
    .product-card {
      background:var(--dark3);
      border:1px solid rgba(0,255,65,0.08);
      border-radius:12px; overflow:hidden;
      transition:all .3s; position:relative;
      display:flex; flex-direction:column;
      text-decoration:none; color:inherit;
    }
    .product-card:hover {
      border-color:rgba(0,255,65,0.3);
      box-shadow:0 8px 28px rgba(0,255,65,0.1);
      transform:translateY(-5px);
    }
    /* IMAGE — hauteur fixe comme les catégories */
    .product-img {
      width:100%; height:180px;
      background:linear-gradient(135deg,#0a120a,#0d1a0d);
      display:flex; align-items:center; justify-content:center;
      font-size:55px; position:relative; overflow:hidden;
      flex-shrink:0;
    }
    .product-img img {
      width:100%; height:100%; object-fit:cover;
      transition:transform .4s ease;
    }
    .product-card:hover .product-img img { transform:scale(1.05); }
    /* BADGE */
    .product-tag {
      position:absolute; top:10px; left:10px; z-index:3;
      background:var(--green); color:var(--black);
      font-size:10px; font-weight:800; padding:3px 9px;
      border-radius:4px; letter-spacing:1px; text-transform:uppercase;
    }
    .product-tag.hot { background:var(--gold); color:var(--black); }
    /* BODY */
    .product-body {
      padding:12px; display:flex; flex-direction:column; gap:5px; flex:1;
    }
    .product-body .prod-cat-lbl {
      font-size:10px; letter-spacing:2px; color:var(--green);
      text-transform:uppercase; font-weight:700;
    }
    .product-body h3 {
      font-family:'Bebas Neue',cursive; font-size:16px; color:var(--white);
      letter-spacing:1px; line-height:1.1;
    }
    .product-body .desc {
      font-size:12px; color:var(--gray); line-height:1.4;
      display:-webkit-box; -webkit-line-clamp:2;
      -webkit-box-orient:vertical; overflow:hidden;
    }
    .product-footer {
      display:flex; align-items:center; justify-content:space-between;
      margin-top:auto; padding-top:10px;
      border-top:1px solid rgba(0,255,65,0.06);
    }
    .price { display:flex; flex-direction:column; gap:1px; font-family:'Bebas Neue',cursive; }
    .price .price-main { font-size:20px; color:var(--green); line-height:1; }
    .price .price-main.promo { color:var(--gold); }
    .price .old { font-size:11px; color:var(--gray); text-decoration:line-through; line-height:1; font-family:'Rajdhani',sans-serif; }
    .btn-add {
      padding:7px 12px; background:var(--green); color:var(--black);
      border:none; font-family:'Rajdhani',sans-serif; font-weight:700;
      font-size:12px; letter-spacing:1px; text-transform:uppercase;
      cursor:pointer; border-radius:6px; transition:all .2s; white-space:nowrap;
    }
    .btn-add:hover { background:#00ff80; box-shadow:0 0 12px rgba(0,255,65,0.4); }
    .btn-add:disabled { background:rgba(255,50,50,0.1); color:#ff6b6b; border:1px solid rgba(255,50,50,0.3); cursor:not-allowed; }

    /* === WHY US === */
    .why-grid {
      display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:30px;
    }
    .why-card {
      display:flex; flex-direction:column; gap:14px;
      padding:30px; border-left:3px solid var(--green);
      background:var(--dark3); border-radius:0 8px 8px 0;
      transition:all .3s;
    }
    .why-card:hover { background:#0d1a0d; box-shadow:5px 0 20px rgba(0,255,65,0.1) inset; }
    .why-icon { font-size:36px; }
    .why-card h3 {
      font-family:'Bebas Neue',cursive; font-size:20px; color:var(--green);
      letter-spacing:2px;
    }
    .why-card p { font-size:14px; color:var(--gray); line-height:1.6; }

    /* === BANNER CTA === */
    .banner-cta {
      position:relative; overflow:hidden;
      background:url('../img/font.png') center/cover no-repeat;
      padding:90px 60px; text-align:center;
    }
    .banner-cta::before {
      content:''; position:absolute; inset:0;
      background:rgba(0,0,0,0.78);
    }
    .banner-cta-inner { position:relative; z-index:2; }
    .banner-cta h2 {
      font-family:'Bebas Neue',cursive;
      font-size:clamp(36px,6vw,72px); color:var(--white); letter-spacing:4px;
      margin-bottom:16px;
    }
    .banner-cta h2 span { color:var(--green); text-shadow:0 0 20px rgba(0,255,65,0.6); }
    .banner-cta p {
      font-size:18px; color:rgba(232,255,232,0.7); margin-bottom:34px; max-width:500px; margin-left:auto; margin-right:auto;
    }

    /* === NEWSLETTER === */
    .newsletter {
      display:flex; gap:0; max-width:480px; margin:0 auto;
    }
    .newsletter input {
      flex:1; padding:14px 20px; background:rgba(0,0,0,0.7);
      border:1px solid var(--green); border-right:none;
      color:var(--white); font-family:'Rajdhani',sans-serif; font-size:15px;
      border-radius:4px 0 0 4px; outline:none;
    }
    .newsletter input::placeholder { color:var(--gray); }
    .newsletter button {
      padding:14px 28px; background:var(--green); color:var(--black);
      border:none; font-family:'Bebas Neue',cursive; font-size:18px;
      letter-spacing:2px; cursor:pointer; border-radius:0 4px 4px 0;
      transition:all .2s;
    }
    .newsletter button:hover { background:#00ff80; }

    /* === FOOTER === */
    footer {
      background:#000; border-top:1px solid rgba(0,255,65,0.15);
      padding:60px 60px 30px;
    }
    .footer-grid {
      display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px;
      margin-bottom:50px;
    }
    .footer-brand { display:flex; flex-direction:column; gap:16px; }
    .footer-logo {
      display:flex; align-items:center; gap:12px;
    }
    .footer-logo img {
      width:44px; height:44px; border-radius:50%;
      border:2px solid var(--green); object-fit:cover;
    }
    .footer-logo span {
      font-family:'Bebas Neue',cursive; font-size:20px; color:var(--green); letter-spacing:2px;
    }
    .footer-brand p {
      font-size:13px; color:var(--gray); line-height:1.7; max-width:280px;
    }
    .footer-socials { display:flex; gap:10px; }
    .social-btn {
      width:36px; height:36px; border:1px solid rgba(0,255,65,0.3);
      border-radius:4px; display:flex; align-items:center; justify-content:center;
      color:var(--gray); font-size:16px; cursor:pointer;
      transition:all .2s; text-decoration:none;
    }
    .social-btn:hover { border-color:var(--green); color:var(--green); background:rgba(0,255,65,0.05); }
    .footer-col h4 {
      font-family:'Bebas Neue',cursive; font-size:18px; color:var(--white);
      letter-spacing:2px; margin-bottom:20px;
      padding-bottom:10px; border-bottom:1px solid rgba(0,255,65,0.15);
    }
    .footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
    .footer-col ul a {
      color:var(--gray); text-decoration:none; font-size:14px;
      transition:color .2s; display:flex; align-items:center; gap:6px;
    }
    .footer-col ul a:hover { color:var(--green); }
    .footer-col ul a::before { content:'›'; color:var(--green); }
    .footer-bottom {
      display:flex; align-items:center; justify-content:space-between;
      padding-top:24px; border-top:1px solid rgba(0,255,65,0.1);
      font-size:13px; color:var(--gray);
      flex-wrap:wrap; gap:10px;
    }
    .footer-bottom span { color:var(--green); }

    /* === MODAL === */
    .modal-overlay {
      position:fixed; inset:0; background:rgba(0,0,0,0.85);
      z-index:9999; display:none; align-items:center; justify-content:center;
      backdrop-filter:blur(6px);
      animation:fadeIn .2s ease;
    }
    .modal-overlay.active { display:flex; }
    @keyframes fadeIn { from{opacity:0} to{opacity:1} }
    .modal {
      background:var(--dark2); border:1px solid rgba(0,255,65,0.25);
      border-radius:12px; padding:40px; width:100%; max-width:440px;
      position:relative; animation:slideUp .3s ease;
      box-shadow:0 0 60px rgba(0,255,65,0.1);
    }
    @keyframes slideUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
    .modal-close {
      position:absolute; top:16px; right:16px;
      background:none; border:none; color:var(--gray); font-size:22px;
      cursor:pointer; transition:color .2s; line-height:1;
    }
    .modal-close:hover { color:var(--green); }
    .modal-logo {
      text-align:center; margin-bottom:28px;
    }
    .modal-logo img {
      width:70px; height:70px; border-radius:50%;
      border:2px solid var(--green); object-fit:cover;
      box-shadow:0 0 20px rgba(0,255,65,0.4);
    }
    .modal h2 {
      font-family:'Bebas Neue',cursive; font-size:32px; color:var(--white);
      letter-spacing:3px; text-align:center; margin-bottom:6px;
    }
    .modal .subtitle {
      text-align:center; color:var(--gray); font-size:14px; margin-bottom:28px;
    }
    .modal .subtitle span { color:var(--green); }
    .form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
    .form-group label {
      font-size:12px; letter-spacing:2px; color:var(--gray); text-transform:uppercase;
    }
    .form-group input {
      padding:12px 16px; background:var(--dark3);
      border:1px solid rgba(0,255,65,0.2); border-radius:6px;
      color:var(--white); font-family:'Rajdhani',sans-serif; font-size:15px;
      outline:none; transition:border-color .2s;
    }
    .form-group input:focus { border-color:var(--green); box-shadow:0 0 8px rgba(0,255,65,0.15); }
    .form-group input::placeholder { color:var(--gray); }
    .btn-submit {
      width:100%; padding:14px; background:var(--green); color:var(--black);
      border:none; font-family:'Bebas Neue',cursive; font-size:20px;
      letter-spacing:3px; cursor:pointer; border-radius:6px;
      transition:all .25s; margin-top:8px;
    }
    .btn-submit:hover { background:#00ff80; box-shadow:0 0 25px rgba(0,255,65,0.4); }
    .form-footer {
      text-align:center; margin-top:18px; font-size:13px; color:var(--gray);
    }
    .form-footer a { color:var(--green); cursor:pointer; text-decoration:none; }
    .form-footer a:hover { text-decoration:underline; }
    .form-divider {
      display:flex; align-items:center; gap:12px; margin:20px 0;
    }
    .form-divider::before, .form-divider::after {
      content:''; flex:1; height:1px; background:rgba(0,255,65,0.15);
    }
    .form-divider span { font-size:12px; color:var(--gray); }

    /* === RESPONSIVE === */
    @media(max-width:900px) {
      nav { padding:0 20px; }
      .nav-links { display:none; }
      .section { padding:60px 24px; }
      .footer-grid { grid-template-columns:1fr 1fr; }
      footer { padding:40px 24px 24px; }
    }
    @media(max-width:600px) {
      .footer-grid { grid-template-columns:1fr; }
      .hero-stats { gap:30px; }
    }

    /* =============================================
       HAMBURGER BUTTON
    ============================================= */
    .hamburger {
      display: none;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      background: none;
      border: 1px solid rgba(0,255,65,0.35);
      cursor: pointer;
      padding: 9px 11px;
      border-radius: 4px;
      transition: border-color .2s;
      margin-left: 10px;
    }
    .hamburger:hover { border-color: var(--green); }
    .hamburger span {
      display: block;
      width: 22px;
      height: 2px;
      background: var(--green);
      transition: all 0.3s ease;
      transform-origin: center;
    }
    .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
    .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* =============================================
       MOBILE MENU
    ============================================= */
    .mobile-menu {
      display: none;
      position: fixed;
      top: 75px;
      left: 0; right: 0; bottom: 0;
      background: rgba(4,4,4,0.98);
      z-index: 998;
      flex-direction: column;
      padding: 10px 24px 50px;
      overflow-y: auto;
      border-top: 1px solid rgba(0,255,65,0.2);
    }
    .mobile-menu.open { display: flex; }

    /* Liens principaux */
    .mobile-nav-links {
      list-style: none;
      padding: 0; margin: 0;
    }
    .mobile-nav-links > li > a,
    .mobile-nav-links > li > span.mobile-cat-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 15px 4px;
      color: var(--white);
      text-decoration: none;
      font-family: 'Rajdhani', sans-serif;
      font-size: 17px;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
      border-bottom: 1px solid rgba(255,255,255,0.07);
      transition: color .2s;
      cursor: pointer;
      user-select: none;
    }
    .mobile-nav-links > li > a:hover,
    .mobile-nav-links > li > span.mobile-cat-toggle:hover { color: var(--green); }
    .mobile-nav-links > li > a.active-link { color: var(--green); }

    /* Accordion catégories */
    .mobile-dropdown {
      list-style: none;
      padding: 0; margin: 0;
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease;
      background: rgba(0,255,65,0.03);
      border-radius: 0 0 4px 4px;
    }
    .mobile-dropdown.open { max-height: 450px; }
    .mobile-dropdown li a {
      display: block;
      padding: 11px 20px;
      color: #999;
      text-decoration: none;
      font-family: 'Rajdhani', sans-serif;
      font-size: 14px;
      letter-spacing: 1px;
      border-bottom: 1px solid rgba(255,255,255,0.04);
      transition: color .2s, padding-left .2s;
    }
    .mobile-dropdown li a:hover { color: var(--green); padding-left: 28px; }
    .mobile-cat-arrow { transition: transform .3s; display: inline-block; }
    .mobile-cat-toggle.cat-open .mobile-cat-arrow { transform: rotate(180deg); }

    /* Boutons auth mobile */
    .mobile-auth {
      margin-top: 28px;
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding-top: 8px;
      border-top: 1px solid rgba(0,255,65,0.15);
    }
    .mobile-auth a {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 14px;
      text-decoration: none;
      font-family: 'Rajdhani', sans-serif;
      font-size: 15px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      border-radius: 4px;
      border: 1px solid var(--green);
      color: var(--green);
      background: transparent;
      transition: all .25s;
    }
    .mobile-auth a:hover { background: var(--green); color: #000; }
    .mobile-auth a.mobile-btn-deco {
      border-color: #ff6b6b;
      color: #ff6b6b;
      background: #1a1a1a;
    }
    .mobile-auth a.mobile-btn-deco:hover { background: #ff6b6b; color: #000; }
    .mobile-auth a.mobile-btn-admin {
      border-color: var(--gold);
      color: var(--gold);
    }
    .mobile-auth a.mobile-btn-admin:hover { background: var(--gold); color: #000; }

    /* Cart toujours visible + hamburger sur mobile */
    @media(max-width:900px) {
      .hamburger { display: flex; }
      .nav-actions .btn-login,
      .nav-actions .btn-register { display: none !important; }
    }