/* ============================================================
   WEEDN MOBILE — Complete mobile optimization
   Streetwear Chic responsive
   ============================================================ */

/* === GLOBAL MOBILE === */
@media (max-width: 768px) {

  /* Body */
  body { font-size: 15px; }

  /* Container */
  .container, [style*="max-width:1280px"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* === HEADER === */
  .site-header__inner { height: 56px; }
  .site-header__logo-text, .site-header__logo { font-size: 28px !important; letter-spacing: 4px !important; }

  /* Hide desktop nav */
  .site-header__nav:not(.is-open) { display: none; }

  /* Show mobile hamburger */
  .site-header__menu-toggle { display: flex !important; }

  /* Mobile nav open */
  .site-header__nav.is-open {
    display: block;
    position: fixed;
    top: 56px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #0a0a0a;
    z-index: 999;
    padding: 24px;
    overflow-y: auto;
  }
  .site-header__nav.is-open .nav-menu {
    flex-direction: column;
    gap: 0;
  }
  .site-header__nav.is-open .nav-menu li a {
    display: block;
    padding: 16px 0;
    font-size: 24px;
    border-bottom: 1px solid #27272a;
    border-radius: 0;
  }

  /* Announcement bar */
  .announcement-bar p { font-size: 10px !important; }

  /* === HERO (homepage) === */
  [style*="min-height:70vh"], [style*="min-height:50vh"] {
    min-height: 50vh !important;
    padding: 40px 16px !important;
  }
  [style*="font-size:clamp(3.5rem"] {
    font-size: 3rem !important;
    letter-spacing: 4px !important;
  }

  /* === GRIDS — Force 1 or 2 columns === */
  [style*="repeat(4,1fr)"],
  [style*="repeat(3,1fr)"],
  .grid--4, .grid--3 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* 2-col grid sections (boutique about) */
  [style*="grid-template-columns:1fr 1fr"][style*="gap:48px"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* === PRODUCT CARDS === */
  body.woocommerce ul.products[class*="columns-"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  body.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    padding: 10px 10px 2px !important;
  }
  body.woocommerce ul.products li.product .price {
    font-size: 14px !important;
    padding: 0 10px 6px !important;
  }
  body.woocommerce ul.products li.product a.button {
    width: calc(100% - 20px) !important;
    margin: 0 10px 10px !important;
    padding: 10px !important;
    font-size: 13px !important;
  }

  /* === SINGLE PRODUCT === */
  .woocommerce div.product {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 16px !important;
  }
  .woocommerce div.product .summary { position: static !important; }
  .woocommerce div.product .product_title { font-size: 28px !important; }
  .woocommerce div.product p.price,
  .woocommerce div.product span.price { font-size: 22px !important; }

  /* Product form */
  body.woocommerce div.product form.cart {
    position: static !important;
    padding: 20px !important;
    backdrop-filter: none !important;
  }
  body.woocommerce button.single_add_to_cart_button {
    font-size: 18px !important;
    min-height: 52px !important;
  }

  /* === CATEGORY FILTERS === */
  [style*="overflow-x:auto"] {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  [style*="overflow-x:auto"]::-webkit-scrollbar { display: none; }

  /* === CART PAGE === */
  .cart-layout { grid-template-columns: 1fr !important; }

  /* === CHECKOUT === */
  .checkout-layout { grid-template-columns: 1fr !important; }
  .checkout-form-grid { grid-template-columns: 1fr !important; }
  .checkout-order-review { position: static !important; }

  /* === BLOG === */
  .weedn-article { padding: 24px 16px 60px !important; }
  .weedn-article h1 { font-size: 1.8rem !important; }

  /* === BOUTIQUE PAGE === */
  .bp-grid3 { grid-template-columns: 1fr !important; }
  .bp-hero { padding: 40px 16px !important; }
  .bp-title { font-size: 2rem !important; }
  .bp-actions { flex-direction: column; }
  .bp-actions a { width: 100%; text-align: center; }
  .bp-map iframe { height: 250px !important; }

  /* Photo gallery */
  [style*="repeat(4,1fr)"][style*="gap:12px"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Team grid */
  .bp-team, [style*="repeat(3,1fr)"][style*="max-width:1000px"] {
    grid-template-columns: 1fr !important;
  }

  /* === PROMO BANNER === */
  .promo-banner, [style*="justify-content:space-between"][style*="padding:40px 48px"],
  [style*="justify-content:space-between"][style*="padding:48px"] {
    flex-direction: column !important;
    text-align: center !important;
    padding: 24px 16px !important;
    gap: 16px !important;
  }

  /* === TRUST BAR === */
  .trust-bar {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px !important;
  }

  /* === FOOTER === */
  .site-footer__grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .site-footer__bottom {
    flex-direction: column !important;
    gap: 12px !important;
    text-align: center !important;
  }

  /* === COOKIE BANNER === */
  #weedn-cookie-banner > div {
    flex-direction: column !important;
    text-align: center !important;
    gap: 12px !important;
  }

  /* === AGE GATE === */
  #weedn-age-gate > div {
    padding: 24px 16px !important;
    margin: 16px !important;
  }
  #weedn-age-gate [style*="font-size:64px"] {
    font-size: 42px !important;
  }
  #weedn-age-gate [style*="font-size:16px"][style*="color:#a1a1aa"] {
    font-size: 14px !important;
  }

  /* === SECTIONS PADDING === */
  .section, [style*="padding:80px 0"], [style*="padding: 80px 0"] {
    padding: 40px 0 !important;
  }
  [style*="padding:48px 0"] { padding: 24px 0 !important; }

  /* === TOUCH TARGETS === */
  a, button, input, select, .btn {
    min-height: 44px;
  }

  /* === WHATSAPP WIDGET === */
  .whatsapp-widget {
    bottom: 16px !important;
    right: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

/* === SMALL MOBILE (< 480px) === */
@media (max-width: 480px) {
  [style*="repeat(2,1fr)"],
  body.woocommerce ul.products[class*="columns-"] {
    grid-template-columns: 1fr !important;
  }

  [style*="font-size:clamp(3.5rem"],
  [style*="font-size:clamp(2.5rem"] {
    font-size: 2.2rem !important;
  }

  .bp-title { font-size: 1.6rem !important; }
}
