/* ═══════════════════════════════════════════════
   MOBILE.CSS — Responsive global GraffCraft Studio
   Inclus dans toutes les pages du site
   ═══════════════════════════════════════════════ */

/* ── HAMBURGER BUTTON ── */
.nav-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  z-index: 1001;
  flex-shrink: 0;
}
.nav-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #F5F0E8;
  transition: all 0.3s ease;
  border-radius: 1px;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ═══ BREAKPOINT 768px ═══════════════════════════ */
@media (max-width: 768px) {

  /* ── NAV ── */
  nav {
    padding: 0 1rem !important;
    overflow: visible !important;
  }

  .nav-hamburger { display: flex; }
  .nav-center-logo { display: none !important; }

  .nav-links {
    display: none !important;
    position: fixed;
    top: 70px; left: 0; right: 0;
    background: #111111;
    border-bottom: 2px solid #F4711F;
    flex-direction: column !important;
    padding: 0.5rem 0 !important;
    gap: 0 !important;
    z-index: 998;
    box-shadow: 0 8px 24px rgba(0,0,0,0.5);
    max-height: calc(100vh - 70px);
    overflow-y: auto;
  }

  .nav-links.mobile-open {
    display: flex !important;
  }

  .nav-links li {
    border-bottom: 1px solid rgba(244,113,31,0.15);
    width: 100%;
  }
  .nav-links li:last-child { border-bottom: none; }

  .nav-links a {
    display: block !important;
    padding: 0.9rem 1.5rem !important;
    font-size: 0.9rem !important;
    letter-spacing: 2px;
    width: 100%;
  }

  .nav-links a::after { display: none !important; }

  .nav-links li:has(.lang-btn) {
    padding: 0.7rem 1.5rem !important;
    display: flex !important;
    align-items: center;
  }

  .nav-links a.nav-cart {
    display: flex !important;
    align-items: center;
    gap: 0.6rem;
    padding: 0.9rem 1.5rem !important;
  }

  /* ── HERO SPLIT (graffcraft.html) ── */
  #hero {
    flex-direction: column !important;
    height: auto !important;
    min-height: 100vh !important;
  }

  .split-panel {
    flex: none !important;
    min-height: 50vh;
    width: 100% !important;
  }

  .split-panel::after { display: none !important; }
  .split-inner { padding: 2rem 1.25rem !important; }
  #hero .split-panel:first-child .split-inner { padding-top: calc(70px + 1.5rem) !important; }
  .split-title { font-size: clamp(2rem, 10vw, 3.5rem); }

  #hero:has(.split-panel:hover) .split-panel { flex: none !important; }
  #hero:has(.split-panel:hover) .split-panel:not(:hover) .split-inner { opacity: 1 !important; padding-left: 1.25rem !important; padding-right: 1.25rem !important; }

  /* ── ABOUT ── */
  .about-grid { grid-template-columns: 1fr !important; gap: 2rem; }
  .about-categories { grid-template-columns: 1fr !important; gap: 1rem; }
  .about-mosaic { grid-template-columns: repeat(2, 1fr) !important; }
  .about-stats { grid-template-columns: repeat(2, 1fr) !important; }
  .about-cta-row { flex-direction: column; align-items: stretch; }

  /* About nouvelle layout */
  .quinconce-row { grid-template-columns: 1fr !important; gap: 1.5rem; }
  .ab-intro-card { grid-template-columns: 1fr !important; }
  .ab-intro-photo { min-height: 220px !important; }
  .ab-intro-info-col { padding: 1.5rem !important; }
  .ab-feature-inner { grid-template-columns: 1fr !important; gap: 2rem; }
  .ab-benefits-grid { grid-template-columns: 1fr !important; }
  .ab-benefits-center { order: -1; }
  .about-quinconce { gap: 3rem; }

  /* ── SHOP ── */
  .shop-layout { grid-template-columns: 1fr !important; padding: 1rem !important; gap: 1rem; }
  .shop-sidebar { position: static !important; }
  .product-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important; }

  /* ── PRODUCT DETAIL ── */
  .product-detail { grid-template-columns: 1fr !important; gap: 1.5rem; padding: 1rem !important; }
  .product-gallery { position: static !important; top: auto !important; }
  .box-steps { grid-template-columns: 1fr !important; }
  .box-section { padding: 0 1rem 3rem !important; }
  .buy-row { flex-wrap: wrap; }
  .btn-buy { flex: 1; min-width: 140px; }

  /* ── CART ── */
  .cart-wrap { padding: 5rem 0.75rem 3rem !important; }
  .cart-title-row { padding-left: 0.75rem; }

  .cart-item {
    grid-template-columns: 70px 1fr !important;
    grid-template-rows: auto auto auto;
    gap: 0.5rem;
    padding: 0.85rem 0.75rem !important;
  }

  .cart-item-img, .cart-item-canvas {
    grid-row: 1 / 3;
    width: 70px !important;
    height: 70px !important;
  }

  .cart-item-info { grid-column: 2; grid-row: 1; }
  .cart-item-qty { grid-column: 2; grid-row: 2; justify-self: start; }
  .cart-item-subtotal { grid-column: 1 / -1; grid-row: 3; text-align: left; min-width: auto; }
  .cart-item-delete { position: absolute; top: 0.85rem; right: 0.75rem; }
  .cart-item { position: relative; }

  .cart-footer {
    grid-template-columns: 1fr 1fr !important;
    padding: 1rem 0.75rem 0 !important;
    gap: 0.5rem;
  }
  .cart-total-label { grid-column: 1; }
  .cart-total-amount { grid-column: 2; text-align: right; font-size: 1.5rem; }
  .btn-checkout { grid-column: 1 / -1; text-align: center; }
  .cart-continue { grid-column: 1 / -1; text-align: center; margin-top: 0.5rem; }

  /* ── ORDER ── */
  .order-layout {
    grid-template-columns: 1fr !important;
    padding: 1rem !important;
    gap: 1.5rem;
    min-height: auto !important;
  }
  .order-summary { position: static !important; top: auto !important; }
  .form-grid { grid-template-columns: 1fr !important; }
  .form-grid .full { grid-column: 1 !important; }
  .payment-methods { flex-direction: column; gap: 0.5rem; }
  .pay-method { justify-content: flex-start; }
  .order-form-wrap { padding: 1.25rem !important; }

  /* ── CONTACT ── */
  .contact-grid { grid-template-columns: 1fr !important; gap: 2rem; }
  .content { padding: 2rem 1rem !important; }

  /* ── EVENTS ── */
  .calendar-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .carousel-slide {
    flex: 0 0 calc(50% - 0.75rem) !important;
    min-width: calc(50% - 0.75rem) !important;
  }
  .carousel-header { flex-wrap: wrap; gap: 0.75rem; }
  .carousel-title { font-size: 1.3rem !important; }

  /* ── GLOBAL ── */
  .section-header { margin-bottom: 2rem; }
  .page-hero { padding: 1.25rem 1rem 1rem !important; }
  .container { padding: 0 1rem; }

  /* Policy pages */
  section { padding: 5rem 1rem 3rem !important; }

  /* ── FOOTER ── */
  .seo-inner { grid-template-columns: 1fr !important; }
  .seo-col-th { border-left: none !important; padding-left: 0 !important; border-top: 1px solid rgba(244,113,31,0.2); padding-top: 1.5rem !important; }
}

/* ═══ BREAKPOINT 480px ═══════════════════════════ */
@media (max-width: 480px) {

  .calendar-grid { grid-template-columns: 1fr !important; }

  .carousel-slide {
    flex: 0 0 calc(100% - 1.5rem) !important;
    min-width: calc(100% - 1.5rem) !important;
  }

  .split-meta { flex-wrap: wrap; gap: 0.75rem; }
  .split-cta { width: 100%; justify-content: center; }

  .about-stats { grid-template-columns: 1fr 1fr !important; }

  .countdown-row { gap: 0.5rem; }
  .countdown-block { min-width: 60px; padding: 0.75rem 0.75rem; }
  .countdown-num { font-size: 1.8rem; }

  .product-grid { grid-template-columns: repeat(2, 1fr) !important; }

  .cart-item {
    grid-template-columns: 60px 1fr !important;
  }

  .box-items-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .box-gallery-grid { grid-template-columns: 1fr !important; }
  .box-gallery-item--large { grid-row: span 1 !important; aspect-ratio: 4/3 !important; }

  .breadcrumb { padding: 0.5rem 1rem 0 !important; }
}
