/* Toko Harga Buku — Mobile layout v3
   Header tidak terpotong + etalase 2 produk per baris */
@media (max-width: 720px) {
  html, body { max-width: 100%; overflow-x: hidden !important; }

  .site-header { width: 100%; }
  .site-header .header-shell {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 12px 14px 14px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  .site-header .brand-block {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .site-header .brand-block img {
    width: 54px !important;
    height: 54px !important;
    flex: 0 0 54px !important;
    object-fit: contain !important;
  }
  .site-header .brand-block span { min-width: 0 !important; }
  .site-header .brand-block strong {
    display: block !important;
    font-size: 1.08rem !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }
  .site-header .brand-block small {
    display: block !important;
    margin-top: 3px !important;
    font-size: .78rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .site-header .main-nav {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    box-sizing: border-box !important;
  }
  .site-header .main-nav > a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    border-radius: 14px !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere !important;
  }
  .site-header .main-nav > .nav-cart {
    grid-column: 1 / -1 !important;
    justify-self: stretch !important;
  }

  /* Dua produk per baris untuk etalase halaman utama dan katalog */
  .catalog .grid,
  #catalog-grid,
  .featured-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .catalog .grid > .card,
  #catalog-grid > .card,
  .featured-grid > * {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .catalog .card,
  #catalog-grid .card {
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  .catalog .card-image,
  #catalog-grid .card-image {
    min-height: 0 !important;
    aspect-ratio: 1 / 1.2 !important;
  }
  .catalog .card-image img,
  #catalog-grid .card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .catalog .card-body,
  #catalog-grid .card-body {
    padding: 10px !important;
  }
  .catalog .card-body > p:first-child,
  #catalog-grid .card-body > p:first-child {
    font-size: .68rem !important;
    line-height: 1.25 !important;
    margin-bottom: 5px !important;
  }
  .catalog .card h3,
  #catalog-grid .card h3 {
    font-size: .9rem !important;
    line-height: 1.25 !important;
    margin: 0 0 6px !important;
  }
  .catalog .product-title,
  #catalog-grid .product-title {
    font-size: inherit !important;
    line-height: inherit !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .catalog .product-desc-preview,
  #catalog-grid .product-desc-preview {
    display: none !important;
  }
  .catalog .card .desc,
  #catalog-grid .card .desc {
    font-size: .72rem !important;
    line-height: 1.3 !important;
    margin: 4px 0 !important;
  }
  .catalog .card-bottom,
  #catalog-grid .card-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    margin-top: 8px !important;
  }
  .catalog .card-bottom > strong,
  #catalog-grid .card-bottom > strong {
    font-size: .94rem !important;
  }
  .catalog .card-bottom button,
  #catalog-grid .card-bottom button {
    width: 100% !important;
    min-height: 36px !important;
    padding: 7px 8px !important;
    font-size: .76rem !important;
    line-height: 1.1 !important;
  }
  .catalog .card-bottom form,
  #catalog-grid .card-bottom form { width: 100% !important; }

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

@media (max-width: 360px) {
  .site-header .main-nav { gap: 6px !important; }
  .site-header .main-nav > a { font-size: .78rem !important; padding: 8px 6px !important; }
  .catalog .grid, #catalog-grid, .featured-grid { gap: 8px !important; }
  .catalog .card-body, #catalog-grid .card-body { padding: 8px !important; }
}

/* === Mobile polish v4: katalog + produk terlaris === */
@media (max-width: 720px) {
  /* Page shell */
  .page-shell,
  .store-shell,
  main {
    max-width: 100% !important;
  }

  /* Katalog hero dibuat lebih ringkas dan proporsional */
  .catalog-hero {
    padding: 22px 18px !important;
    margin: 10px 12px 16px !important;
    border-radius: 22px !important;
    gap: 16px !important;
  }
  .catalog-hero .eyebrow {
    font-size: .72rem !important;
    letter-spacing: .16em !important;
    margin-bottom: 10px !important;
  }
  .catalog-hero h1 {
    font-size: clamp(2.05rem, 10.4vw, 3rem) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    margin: 0 0 14px !important;
    max-width: 9.8ch !important;
  }
  .catalog-hero p {
    font-size: .9rem !important;
    line-height: 1.55 !important;
    margin: 0 !important;
  }
  .catalog-summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 12px 15px !important;
    border-radius: 16px !important;
  }
  .catalog-summary strong {
    font-family: Arial,Helvetica,sans-serif !important;
    font-size: 1rem !important;
    letter-spacing: .02em !important;
  }
  .catalog-summary span {
    display: none !important;
  }
  .catalog-summary a {
    margin-left: auto !important;
    font-size: .8rem !important;
  }

  /* Katalog utama: jarak samping dan card lebih rapat */
  .catalog.catalog-modern {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .catalog .grid,
  #catalog-grid {
    gap: 10px !important;
  }
  .catalog .card,
  #catalog-grid .card {
    border-radius: 17px !important;
    box-shadow: 0 7px 18px rgba(22,58,41,.055) !important;
  }
  .catalog .card-image,
  #catalog-grid .card-image {
    aspect-ratio: 4 / 5 !important;
    padding: 8px !important;
    background: #f6f7f3 !important;
  }
  .catalog .card-image img,
  #catalog-grid .card-image img {
    object-fit: contain !important;
  }
  .catalog .card-body,
  #catalog-grid .card-body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 198px !important;
    padding: 11px 10px 10px !important;
  }
  .catalog .card-body > p:first-child,
  #catalog-grid .card-body > p:first-child {
    margin: 0 0 7px !important;
    font-size: .67rem !important;
    letter-spacing: .05em !important;
  }
  .catalog .card h3,
  #catalog-grid .card h3 {
    min-height: 2.5em !important;
    margin: 0 0 8px !important;
    font-size: .9rem !important;
    line-height: 1.22 !important;
  }
  .catalog .card .desc,
  #catalog-grid .card .desc {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 1 !important;
    overflow: hidden !important;
    min-height: 1.35em !important;
    margin: 2px 0 !important;
    font-size: .7rem !important;
  }
  .catalog .product-desc-preview,
  #catalog-grid .product-desc-preview {
    display: none !important;
  }
  .catalog .card-bottom,
  #catalog-grid .card-bottom {
    margin-top: auto !important;
    padding-top: 9px !important;
    gap: 8px !important;
  }
  .catalog .card-bottom > strong,
  #catalog-grid .card-bottom > strong,
  .catalog .price-new,
  #catalog-grid .price-new {
    font-size: .93rem !important;
    line-height: 1.15 !important;
  }
  .catalog .card-bottom button,
  #catalog-grid .card-bottom button {
    min-height: 42px !important;
    border-radius: 12px !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
  }

  /* Homepage: judul produk terlaris dan tombol dibuat tidak sesak */
  #katalog.catalog-modern {
    padding-top: 34px !important;
  }
  #katalog .section-head {
    display: block !important;
    margin-bottom: 18px !important;
  }
  #katalog .section-head .eyebrow {
    margin-bottom: 8px !important;
  }
  #katalog .section-head h2 {
    font-size: clamp(2rem, 10vw, 2.85rem) !important;
    line-height: 1 !important;
    margin: 0 0 12px !important;
  }
  #katalog .section-head p {
    font-size: .9rem !important;
    line-height: 1.55 !important;
    margin: 0 !important;
  }
  #katalog .catalog-head-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 17px !important;
  }
  #katalog .collection-count,
  #katalog .catalog-all-link {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 9px 14px !important;
    border-radius: 999px !important;
    font-size: .78rem !important;
    white-space: nowrap !important;
  }
  #katalog .catalog-all-link {
    flex: 1 !important;
    max-width: 190px !important;
  }
}

@media (max-width: 390px) {
  .catalog-hero { margin-left: 8px !important; margin-right: 8px !important; }
  .catalog.catalog-modern { padding-left: 8px !important; padding-right: 8px !important; }
  .catalog .grid, #catalog-grid { gap: 8px !important; }
  .catalog .card-body, #catalog-grid .card-body { padding: 9px 8px 9px !important; min-height: 190px !important; }
  .catalog .card h3, #catalog-grid .card h3 { font-size: .84rem !important; }
  .catalog .card-bottom > strong, #catalog-grid .card-bottom > strong { font-size: .88rem !important; }
}
