/** Shopify CDN: Minification failed

Line 309:48 Unexpected "{"

**/
/* =========================================================
   NipponSaritote – Horizon migration overrides
   Goal: keep behavior (not pixel-perfect) & avoid brittle edits.
   Scope:
   - Force 3-column grid on mobile for collection/search grids
   - Compact product card spacing & prevent overflow
   - Optional: mobile-only localization bar wrapper styles
   ========================================================= */

/* 1) Mobile: force 3 columns on collection/search product grids */
@media screen and (max-width: 749px) {
  main[data-template*="collection"] ul.product-grid[product-grid-view="default"],
  main[data-template*="search"] ul.product-grid[product-grid-view="default"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  main[data-template*="collection"] .product-grid__item,
  main[data-template*="search"] .product-grid__item {
    min-width: 0;
  }

  /* 2) Mobile: compact card spacing (safe to tweak later) */
  main[data-template*="collection"] .product-grid__card,
  main[data-template*="search"] .product-grid__card {
    --product-card-gap: 4px;
    --padding-inline-start: 2px;
    --padding-inline-end: 2px;
    --padding-block-start: 4px;
    --padding-block-end: 4px;
  }

  /* 3) Mobile: title should not blow up the grid – single line ellipsis */
  main[data-template*="collection"] .product-grid__card [ref="productTitleLink"] .text-block,
  main[data-template*="search"] .product-grid__card [ref="productTitleLink"] .text-block {
    max-width: 100%;
  }

  /* 4) Mobile: quick-add button label sizing (only inside product cards) */
  main[data-template*="collection"] .product-grid__card .quick-add__button,
  main[data-template*="search"] .product-grid__card .quick-add__button {
    font-size: 10px;
    line-height: 1.1;
    padding: 6px 8px;
  }
}

/* Mobile-only localization bar (section: ns-localization-bar.liquid) */
.ns-localization-bar {
  display: block;
}

@media screen and (min-width: 750px) {
  .ns-localization-bar {
    display: none;
  }
}

.ns-localization-bar__inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
}

/* Make dropdowns compact (avoid 100% width) */
.ns-localization-bar localization-form,
.ns-localization-bar .localization-form {
  width: auto;
  display: inline-block;
}

/* =========================================================
   NipponSaritote – Horizon migration overrides (fix)
   - Top (product-list carousel): 3rd item peek + title clamp + red price
   - Collection/Search grids: title clamp (2 lines, small) + red price
   ========================================================= */

/* ---------------------------------------------------------
   A) TOP: Product list carousel (mobile)
--------------------------------------------------------- */
@container resource-list-carousel (max-width: 749px) {
  .resource-list__carousel .resource-list__slide {
    --slide-width: clamp(100px, var(--mobile-card-size, 24cqw), var(--slide-width-max));
  }

  /* Price: red & bold & larger (top carousel) */
  [data-testid="product-list"] product-card .price,
  [data-testid="product-list"] product-card .price * {
    color: #DA3715 !important;
    font-weight: 800 !important;
  }
  [data-testid="product-list"] product-card .price {
    font-size: 1.05em !important;
    line-height: 1.1 !important;
  }
  [data-testid="product-list"] product-card .price s,
  [data-testid="product-list"] product-card .price .price__compare-at,
  [data-testid="product-list"] product-card .price .price__regular {
    opacity: 0.7;
    font-weight: 600 !important;
  }

  /* Title: 2 lines, small, max chars (top carousel) */
  [data-testid="product-list"] product-card a.contents.user-select-text .text-block > p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    font-size: 0.70em !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    min-height: calc(1.15em * 2) !important;
  }
}

/* ---------------------------------------------------------
   B) COLLECTION / SEARCH: Product grid cards (mobile)
   NOTE: must be OUTSIDE the carousel container.
--------------------------------------------------------- */
@media screen and (max-width: 749px) {
  /* Title: clamp to 2 lines, slightly smaller (collection/search grids) */
  main[data-template*="collection"] product-card a.contents.user-select-text .text-block > p,
  main[data-template*="search"] product-card a.contents.user-select-text .text-block > p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    font-size: 0.66em !important; /* 0.70em -> a bit smaller */
    line-height: 1.15 !important;
    margin: 0 !important;
    min-height: calc(1.15em * 2) !important;
  }

  /* Price: red, bold, slightly larger (collection/search grids) */
  main[data-template*="collection"] product-card .price,
  main[data-template*="search"] product-card .price,
  main[data-template*="collection"] product-card [ref="price"],
  main[data-template*="search"] product-card [ref="price"],
  main[data-template*="collection"] product-card .price-list,
  main[data-template*="search"] product-card .price-list {
    color: #DA3715 !important;
    font-weight: 800 !important;
  }

  /* Size the main amount a touch larger (works across wrappers) */
  main[data-template*="collection"] product-card .price .money,
  main[data-template*="collection"] product-card .price [data-money],
  main[data-template*="collection"] product-card [ref="price"] .money,
  main[data-template*="collection"] product-card [ref="price"] [data-money],
  main[data-template*="search"] product-card .price .money,
  main[data-template*="search"] product-card .price [data-money],
  main[data-template*="search"] product-card [ref="price"] .money,
  main[data-template*="search"] product-card [ref="price"] [data-money] {
    font-size: 1.08em !important;
    line-height: 1.1 !important;
  }

  /* Ensure children inherit (currency symbol etc.) */
  main[data-template*="collection"] product-card .price *,
  main[data-template*="search"] product-card .price *,
  main[data-template*="collection"] product-card [ref="price"] *,
  main[data-template*="search"] product-card [ref="price"] *,
  main[data-template*="collection"] product-card .price-list *,
  main[data-template*="search"] product-card .price-list * {
    color: inherit !important;
    font-weight: inherit !important;
  }

  /* Drawer typography (Filter/Sort) — slightly smaller */
  #filters-drawer .facets-drawer__title {
    font-size: 1rem;
    line-height: 1.2;
  }
  #filters-drawer .sorting-filter__label {
    font-size: 0.95rem;
    line-height: 1.2;
  }
  #filters-drawer .sorting-filter__option label,
  #filters-drawer .facets__filters-wrapper label {
    font-size: 0.92rem;
    line-height: 1.25;
  }
}

/* Mobile: Featured collection "View all" button size */
@media (max-width: 749px) {
  [data-testid="product-list"] .section-resource-list__header a.button,
  [data-testid="product-list"] .section-resource-list__header a.button-secondary {
    --button-padding-inline: 10px;
    --button-padding-block: 8px;
    font-size: 0.82rem;
    line-height: 1.0;
  }
}
/* Global: price only (current price) */
product-card [ref="priceContainer"] > .price{
  color:#DA3715 !important;
  font-weight:800 !important;
}

/* =========================================================
   NS: Product badges
   - Text: English (handled in locales/ja.json)
   - Style: smaller + tighter corner placement
   ========================================================= */

/* Make badges sit closer to the image corner */
.product-badges {
  --badge-inset: 4px !important;
}

/* Smaller badge text */
.product-badges__badge {
  font-size: calc(var(--font-size--xs) * 0.85) !important;
  line-height: 1 !important;
  letter-spacing: 0.02em;
}

/* Tighter padding (rectangle style) */
.product-badges__badge--rectangle {
  padding: 2px 6px !important;
}

/* =========================================================
   Collection / Search: Desktop filter = Drawer only
   - Hide theme's lower facets toggle row (prevents duplicates)
   - Hide horizontal inline filters
   - Align custom "Filter" button with sorting
   ========================================================= */
@media screen and (min-width: 750px) {
  /* Prevent duplicate filter controls (use ns-desktop-filter only) */
  main[data-template*="collection"] .facets-toggle,
  main[data-template*="search"] .facets-toggle {
    display: none !important;
  }

  /* Hide horizontal inline filters (keep drawer behavior) */
  main[data-template*="collection"] .facets--horizontal .facets__filters-wrapper,
  main[data-template*="search"] .facets--horizontal .facets__filters-wrapper {
    display: none !important;
  }

  main[data-template*="collection"] .facets--horizontal .facets--filters-title,
  main[data-template*="search"] .facets--horizontal .facets--filters-title {
    display: none !important;
  }

  /* Align the custom desktop filter button with sorting */
  main[data-template*="collection"] .ns-desktop-filter,
  main[data-template*="search"] .ns-desktop-filter {
    display: flex;
    align-items: center;
  }

  main[data-template*="collection"] .ns-desktop-filter__button,
  main[data-template*="search"] .ns-desktop-filter__button {
    height: var(--minimum-touch-target);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-block: 0;
    margin: 0;
    line-height: 1;
  }

  main[data-template*="collection"] .ns-desktop-filter__button .svg-wrapper,
  main[data-template*="search"] .ns-desktop-filter__button .svg-wrapper {
    display: inline-flex;
    align-items: center;
  }
}






/* PCでは、下側にある元の facets-toggle 行を消して、追加ボタンだけ使う */
@media (min-width: 750px) {
  main[data-template*="collection"] .facets-block-wrapper--horizontal + .facets-toggle {
    display: none !important;
  }

  .ns-desktop-filter__button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
}

/* =========================================================
   Collection / Search: Mobile - hide default Filter controls
   (keep ns-mcolbar only)
   ========================================================= */
@media (max-width: 749px) {
  main[data-template*="collection"] .facets-toggle,
  main[data-template*="collection"] .facets-mobile-wrapper,
  main[data-template*="search"] .facets-toggle, {
    display: none !important;
  }

  /* Never show the desktop-only custom button on mobile */
  main[data-template*="collection"] .ns-desktop-filter,
  main[data-template*="search"] .ns-desktop-filter {
    display: none !important;
  }
}
