/* === STYLES MOBILE COMPLETS === */
@media (max-width: 600px) {
  * {
    box-sizing: border-box;
  }

  html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
  }

  body {
    padding: 0;
  }

  .container, .main, .page-header, .hero, .section, .shop-header, .shop-main {
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  /* Panier override */
  .cart-page .container {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  .cart-page .page-title {
    margin: 8px 0 !important;
    padding: 0 !important;
  }

  .cart-page .cart-layout {
    margin: 0 !important;
    padding: 0 !important;
  }

  .cart-page .main-column {
    margin: 0 !important;
    padding: 0 !important;
  }

  h1, h2, h3, h4 {
    text-align: center !important;
    margin-bottom: 12px !important;
  }

  /* === MENU === */
  header {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .nav-bar, header nav {
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 10px !important;
    gap: 6px !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
    margin: 0 !important;
  }

  .brand-nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    justify-content: flex-start !important;
    text-decoration: none !important;
  }

  .brand-nav img {
    width: 28px !important;
    height: 28px !important;
  }

  .brand-nav .name {
    font-size: 0.9rem !important;
    font-weight: 700 !important;
  }

  .nav-links {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .nav-links::-webkit-scrollbar { display: none; }

  .nav-link {
    padding: 8px 10px !important;
    background: #f5f3f0 !important;
    border-radius: 8px !important;
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    color: #3d3128 !important;
    text-decoration: none !important;
    border: 1px solid #e8ddd1 !important;
    text-align: center !important;
    transition: all 0.2s !important;
    display: inline-block !important;
    white-space: nowrap !important;
  }

  .nav-link:hover, .nav-link[aria-current="page"] {
    background: #d4925a !important;
    color: #fff !important;
    border-color: #d4925a !important;
  }

  .nav-actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
  }

  .nav-cart {
    padding: 8px 10px !important;
    font-size: 0.95rem !important;
    white-space: nowrap !important;
  }

  /* === GRILLES === */
  .ambassadors .grid, .ambassadors-list, .product-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  #products.shop-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .amb-card, .product-card, .card, .avis-card {
    width: 100% !important;
    margin: 0 !important;
  }

  /* === BANNIÈRE === */
  .hero-banner {
    max-height: 180px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .hero-banner img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
  }

  /* === BOUTONS === */
  .btn, .button, .user-welcome-btn {
    width: 100%;
    font-size: 1rem;
    padding: 12px;
    margin-bottom: 8px;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    touch-action: manipulation;
  }

  .user-welcome-row {
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    text-align: center !important;
  }

  /* === IMAGES === */
  .hero img, .banner img, .main-image, .ambassador-card img, .product-card img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    display: block;
  }

  /* === POPUPS PRODUIT === */
  .product-modal-overlay {
    align-items: flex-start !important;
    padding: 12px !important;
    overflow-y: auto !important;
  }

  .product-modal {
    width: 100% !important;
    max-height: calc(100vh - 24px) !important;
    height: auto !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 16px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  .product-modal .modal-image {
    max-height: 200px !important;
  }

  .product-modal .modal-image img {
    height: 200px !important;
    object-fit: cover !important;
  }

  .product-modal .modal-details {
    gap: 10px !important;
  }

  .modal-close-btn {
    top: 8px !important;
    right: 8px !important;
    z-index: 5 !important;
  }

  /* === PANIER === */
  .page-title {
    margin: 6px 0 !important;
    padding: 0 4px !important;
    width: 100% !important;
    font-size: 0.9rem !important;
  }

  .page-title h1 {
    font-size: 1.4rem !important;
  }

  .page-title p {
    font-size: 0.85rem !important;
  }

  .container {
    padding: 0 4px 40px 4px !important;
    margin: 0 !important;
    max-width: 100% !important;
  }

  .cart-layout {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    margin: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  .main-column {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .section-box {
    padding: 6px !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    margin: 0 0 6px 0 !important;
  }

  .section-title {
    font-size: 1rem !important;
  }

  .section-box {
    padding: 6px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    margin: 0 !important;
  }

  .section-header {
    margin-bottom: 8px !important;
    padding-bottom: 8px !important;
  }

  .cart-item {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 6px !important;
    gap: 6px !important;
    box-shadow: none !important;
    margin: 0 !important;
  }

  .item-image {
    width: 100% !important;
    height: auto !important;
    max-height: 160px !important;
  }

  .item-image {
    width: 100% !important;
    height: auto !important;
    max-height: 200px !important;
  }

  .item-controls {
    width: 100% !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  .qty-box {
    width: 110px !important;
  }

  .btn-remove {
    width: 100% !important;
    text-align: center !important;
    font-size: 12px !important;
  }

  .summary-box {
    position: relative !important;
    top: 0 !important;
    width: 100% !important;
    padding: 10px !important;
    box-shadow: none !important;
  }

  .btn-checkout {
    width: 100% !important;
    padding: 10px !important;
    font-size: 14px !important;
  }

  #shippingMethods {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .shipping-method-group {
    padding: 8px !important;
    min-height: auto !important;
    box-shadow: none !important;
  }

  .method-title { font-size: 18px !important; }
  .method-desc { font-size: 13px !important; }
  .method-price { font-size: 20px !important; }

  .relay-selector {
    padding: 8px !important;
    max-height: 360px !important;
    overflow-y: auto !important;
  }

  #Zone_Widget,
  #Zone_Widget_relais {
    min-height: 320px !important;
    max-height: 360px !important;
  }

  #Zone_Widget iframe,
  #Zone_Widget_relais iframe {
    min-height: 300px !important;
    height: 320px !important;
  }

  /* Sélecteur boutique (shop) */
  .boutique-selector {
    padding: 24px 12px !important;
  }

  .boutique-selector h1 {
    font-size: 1.6rem !important;
    margin-bottom: 20px !important;
  }

  .boutique-cards {
    gap: 14px !important;
  }

  .boutique-card {
    padding: 16px 14px !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
  }

  .card-icon {
    font-size: 2.4rem !important;
    margin-bottom: 10px !important;
  }

  .boutique-card h2 {
    font-size: 1.2rem !important;
    margin-bottom: 8px !important;
  }

  .boutique-card p {
    font-size: 0.95rem !important;
    margin-bottom: 10px !important;
  }

  .card-stats {
    font-size: 0.85rem !important;
  }

  /* === COMPTE UTILISATEUR === */
  .account-page .container {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 16px 12px !important;
    max-width: 100% !important;
  }

  .account-page .user-sidebar,
  .account-page .main-content {
    width: 100% !important;
  }

  .account-page .user-card {
    padding: 16px !important;
  }

  .account-page .nav-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .account-page .nav-item {
    padding: 12px 10px !important;
    gap: 8px !important;
    font-size: 14px !important;
  }

  .account-page .stats-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .account-page .section {
    padding: 16px !important;
    border-radius: 12px !important;
  }

  .account-page .section-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  /* === ADMIN DASHBOARD === */
  body.admin-page {
    display: flex !important;
    flex-direction: column !important;
  }

  .admin-page .sidebar {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border-right: none !important;
    border-bottom: 2px solid var(--border) !important;
    overflow: visible !important;
    margin-top: 50px !important;
  }

  .admin-page .sidebar-header {
    padding: 10px 12px !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid var(--border) !important;
  }

  .admin-page .sidebar-logo {
    flex-direction: row !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
  }

  .admin-page .sidebar-logo img {
    width: 28px !important;
    height: 28px !important;
  }

  .admin-page .sidebar-logo span {
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .admin-page .sidebar-user {
    padding: 8px 10px !important;
    margin: 0 !important;
    gap: 10px !important;
  }

  .admin-page .sidebar-user-avatar {
    width: 32px !important;
    height: 32px !important;
    font-size: 14px !important;
  }

  .admin-page .sidebar-user-name {
    font-size: 12px !important;
  }

  .admin-page .sidebar-user-role {
    font-size: 10px !important;
  }

  .admin-page .sidebar-nav {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6px !important;
    padding: 8px 12px !important;
    margin: 0 !important;
  }

  .admin-page .sidebar-nav::-webkit-scrollbar {
    display: none;
  }

  .admin-page .sidebar-nav-item {
    padding: 10px 10px !important;
    border: 1px solid var(--border) !important;
    margin: 0 !important;
    font-size: 12px !important;
    border-radius: 8px !important;
    background: var(--card) !important;
    flex: 1 !important;
  }

  .admin-page .sidebar-nav-item span {
    display: inline !important;
  }

  .admin-page .sidebar-nav-icon {
    font-size: 14px !important;
  }

  .admin-page .sidebar-footer {
    display: none !important;
  }

  .admin-page .main-content {
    margin-left: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 10px 8px !important;
    margin-top: 0 !important;
  }

  .admin-page .page-title {
    font-size: 20px !important;
  }

  .admin-page .page-subtitle {
    font-size: 13px !important;
  }

  .admin-page .cards-grid,
  .admin-page .stats-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .admin-page .tabs {
    padding-bottom: 4px !important;
    gap: 4px !important;
  }

  .admin-page .tab {
    padding: 8px 10px !important;
    font-size: 12px !important;
  }
}
