/* Aitai☆Kuji list + search + mini cart styles v2 */

/* ---- ak-search.css ---- */
/* Aitai☆Kuji search UI (2026-10-02) */
:root { --aks-mint: #57D5C2; --aks-mint-ink: #57D5C2; --aks-mint-pale: #EAF8F5; --aks-ink: #1E2A2C; --aks-muted: #66777A; --aks-line: #E3ECEA; --aks-bg: #fff; --aks-pre: #3E8EDE; --aks-kuji: #E0559A; }
#searchsuite-autocomplete, .searchsuite-autocomplete { display: none !important; }
@media (min-width: 769px) { .ak-s-mbtn, .ak-s-screen { display: none !important; } }

/* shared pieces */
.ak-s-panel, .ak-s-screen { font-family: Poppins, "Helvetica Neue", Arial, sans-serif; color: var(--aks-ink); -webkit-font-smoothing: antialiased; }
.ak-s-panel *, .ak-s-screen * { box-sizing: border-box; }
.ak-s-panel a, .ak-s-screen a { color: inherit; text-decoration: none !important; }
.ak-s-panel button, .ak-s-screen button { font: inherit; cursor: pointer; }
.ak-s-sec + .ak-s-sec { margin-top: 18px; }
.ak-s-head { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 8px; }
.ak-s-head h3 { margin: 0; font: 700 11px/1.4 Montserrat, Poppins, Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--aks-muted); }
.ak-s-head h3 span { font-weight: 600; letter-spacing: .02em; text-transform: none; color: var(--aks-muted); margin-left: 6px; }
.ak-s-clear { background: none !important; border: 0 !important; color: var(--aks-mint-ink) !important; font-size: 12px !important; font-weight: 600; padding: 4px 6px !important; min-height: 0 !important; border-radius: 6px; }
.ak-s-list { list-style: none; margin: 0; padding: 0; }
.ak-s-row { display: flex; align-items: center; margin: 0 !important; }
.ak-s-term { flex: 1; display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 6px 10px; border-radius: 10px; font-size: 14px; color: var(--aks-ink); min-width: 0; }
.ak-s-term svg { color: var(--aks-muted); flex: none; }
.ak-s-term span { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.35; }
.ak-s-term b { font-weight: 700; }
.ak-s-term span { font-weight: 400; }
.ak-s-del, .ak-s-fill { flex: none; width: 36px !important; height: 36px !important; display: grid !important; place-items: center; background: none !important; border: 0 !important; color: var(--aks-muted) !important; border-radius: 8px; padding: 0 !important; }
.ak-s-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ak-s-chip { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--aks-line); font-size: 13px; font-weight: 600; background: #fff; }
.ak-s-rank { list-style: none; margin: 0; padding: 0; }
.ak-s-rank li { margin: 0 !important; }
.ak-s-rankitem { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 6px 10px; border-radius: 10px; font-size: 14px; font-weight: 500; }
.ak-s-rank__n { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--aks-mint-pale); color: var(--aks-mint-ink); font: 800 11px/1 Montserrat, Arial, sans-serif; flex: none; }
.ak-s-note { margin: 0 0 12px; padding: 8px 12px; border-radius: 10px; background: var(--aks-mint-pale); font-size: 13px; color: var(--aks-ink); }
.ak-s-series { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 12px; min-height: 56px; }
.ak-s-series__img { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: #F1F5F4; flex: none; }
.ak-s-series__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ak-s-series__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ak-s-series__name { font-weight: 700; font-size: 14px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ak-s-series__count { font-size: 12px; color: var(--aks-muted); }
.ak-s-series__go { color: var(--aks-mint-ink); flex: none; }
.ak-s-prods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ak-s-prod { display: flex; flex-direction: column; gap: 8px; padding: 8px; border-radius: 12px; min-width: 0; }
.ak-s-prod__img { display: block; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: #F4F7F6; max-width: 100%; }
.ak-s-prod__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.ak-s-prod__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ak-s-prod__name { font-size: 12.5px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ak-s-prod__meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ak-s-prod__price { font-weight: 700; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.ak-s-pill { font: 700 9.5px/1 Montserrat, Arial, sans-serif; letter-spacing: .06em; padding: 4px 7px; border-radius: 999px; background: #E8F1FB; color: #2468AE; }
.ak-s-pill--kuji { background: #FCE8F2; color: #B43577; }
.ak-s-all { display: flex !important; align-items: center; justify-content: center; gap: 8px; margin-top: 16px; min-height: 46px; border-radius: 12px; background: var(--aks-mint); color: #fff !important; font-weight: 700; font-size: 14px; padding: 0 16px; text-align: center; }
.ak-s-none { padding: 18px; border-radius: 12px; background: #F6F8F8; font-size: 13px; color: var(--aks-muted); line-height: 1.6; }
.ak-s-none p { margin: 0; } .ak-s-none p + p { margin-top: 6px; }
.ak-s-none b { color: var(--aks-ink); }
.ak-s-hint { font-size: 13px; color: var(--aks-muted); margin: 6px 10px; }
.ak-s-loading { display: flex; gap: 6px; justify-content: center; padding: 28px 0; }
.ak-s-loading span { width: 8px; height: 8px; border-radius: 50%; background: var(--aks-mint); animation: aks-dot 1s infinite ease-in-out; }
.ak-s-loading span:nth-child(2) { animation-delay: .15s; } .ak-s-loading span:nth-child(3) { animation-delay: .3s; }
@keyframes aks-dot { 0%, 80%, 100% { opacity: .25; transform: scale(.8); } 40% { opacity: 1; transform: none; } }
@media (hover: hover) {
  .ak-s-term:hover, .ak-s-rankitem:hover, .ak-s-series:hover, .ak-s-prod:hover { background: #F3F8F7; }
  .ak-s-chip:hover { border-color: var(--aks-mint); color: var(--aks-mint-ink); }
  .ak-s-del:hover, .ak-s-fill:hover { background: #F0F4F3 !important; color: var(--aks-ink) !important; }
  .ak-s-all:hover { background: #45C4B0; }
}
.ak-s-opt.is-active { background: var(--aks-mint-pale) !important; outline: 2px solid var(--aks-mint); outline-offset: -2px; }
.ak-s-opt:focus-visible, .ak-s-del:focus-visible, .ak-s-fill:focus-visible, .ak-s-clear:focus-visible { outline: 2px solid var(--aks-mint-ink); outline-offset: 1px; }

/* desktop panel */
.ak-s-panel { position: fixed; z-index: 1000; background: var(--aks-bg); border-radius: 16px; box-shadow: 0 18px 48px -12px rgba(16, 40, 36, .28), 0 0 0 1px rgba(16, 40, 36, .06); max-height: calc(100vh - 110px); overflow: auto; }
.ak-s-panel .ak-s-inner { padding: 18px 18px 16px; }
.ak-s-cols { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 20px; }
.ak-s-side { border-right: 1px solid var(--aks-line); padding-right: 14px; min-width: 0; }
.ak-s-panel .ak-s-inner > .ak-s-sec { max-width: 560px; }

/* phone: one-row header (menu | logo | search | cart) */
@media (max-width: 768px) {
  html:not(.ak-h0) .sticky-menu .header.content { display: flex !important; align-items: center; height: 52px; min-height: 52px; padding: 0 4px !important; }
  html:not(.ak-h0) .sticky-menu .header-wrapper-bottom { padding: 0 3px !important; }
  html:not(.ak-h0) .sticky-menu .header-wrapper-bottom, html:not(.ak-h0) .sticky-menu { min-height: 52px; height: auto; }
  html:not(.ak-h0) .sticky-menu .nav-toggle { position: relative !important; left: auto !important; top: auto !important; width: 44px; height: 44px; display: grid !important; place-items: center; margin: 0 !important; flex: none; order: 0; }
  html:not(.ak-h0) .sticky-menu .nav-toggle { border: 0 !important; box-shadow: none !important; background: center / 24px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E") !important; border-radius: 12px; }
  html:not(.ak-h0) .sticky-menu .nav-toggle::before, html:not(.ak-h0) .sticky-menu .nav-toggle::after,
  html:not(.ak-h0) .sticky-menu .nav-toggle > span, html:not(.ak-h0) .sticky-menu .nav-toggle > span::before, html:not(.ak-h0) .sticky-menu .nav-toggle > span::after { display: none !important; }
  html:not(.ak-h0) .sticky-menu a.logo { display: flex !important; align-items: center; order: 1; margin: 0 0 0 2px !important; position: static !important; flex: 0 1 auto; min-width: 0; }
  html:not(.ak-h0) .sticky-menu a.logo img { height: 26px !important; width: auto !important; max-width: 160px; }
  html:not(.ak-h0) .sticky-menu .header_custom_icon { order: 2; margin-left: auto !important; position: static !important; display: flex !important; align-items: center; width: auto !important; height: 44px; }
  html:not(.ak-h0) .sticky-menu .header_custom_icon .group-icon-dafault { display: flex !important; align-items: center; width: auto !important; height: 44px; }
  html.ak-h1 .sticky-menu .mobile-search-wrapper { display: none !important; }
  /* before the script: the old search row is already folded away and the search button's place is kept, so the header does not
     move when the button arrives; if the script never runs, the old search row comes back by itself after 9 s */
  html:not(.ak-h1):not(.ak-h0) .sticky-menu .mobile-search-wrapper { visibility: hidden; max-height: 0; max-width: 0; overflow: hidden; margin: 0; padding: 0; animation: aks-reveal 0s linear 9s forwards; }
  html:not(.ak-h1):not(.ak-h0) .sticky-menu .header_custom_icon::before { content: ""; display: block; width: 44px; height: 44px; flex: none; order: -1; }
  html.ak-h1 .ak-s-mbtn { width: 44px !important; height: 44px !important; display: grid !important; place-items: center; background: none !important; border: 0 !important; padding: 0 !important; color: #fff !important; border-radius: 12px; flex: none; box-shadow: none !important; }
  html.ak-h1 .ak-s-mbtn svg { width: 23px; height: 23px; }
  html:not(.ak-h0) .sticky-menu .minicart-wrapper { position: static !important; height: 44px !important; width: 44px; margin: 0 !important; }
  html:not(.ak-h0) .sticky-menu .minicart-wrapper .action.showcart { position: relative !important; top: auto !important; right: auto !important; left: auto !important; bottom: auto !important; width: 44px !important; height: 44px !important; border-radius: 12px !important; background: none !important; box-shadow: none !important; display: grid !important; place-items: center; margin: 0 !important; padding: 0 !important; transform: none !important; }
  html:not(.ak-h0) .sticky-menu .minicart-wrapper .action.showcart .fa { font-size: 0 !important; width: 24px; height: 24px; display: block; background: currentColor; color: #fff !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M5 8h14l-1.2 11.2a1 1 0 0 1-1 .8H7.2a1 1 0 0 1-1-.8z'/%3E%3Cpath d='M9 8V7a3 3 0 0 1 6 0v1'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M5 8h14l-1.2 11.2a1 1 0 0 1-1 .8H7.2a1 1 0 0 1-1-.8z'/%3E%3Cpath d='M9 8V7a3 3 0 0 1 6 0v1'/%3E%3C/svg%3E") center / 24px 24px no-repeat; }
  html:not(.ak-h0) .sticky-menu .minicart-wrapper .action.showcart .fa::before { content: none !important; }
  html:not(.ak-h0) .sticky-menu .minicart-wrapper .action.showcart > .text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  html:not(.ak-h0) .sticky-menu .minicart-wrapper .counter.qty { position: absolute !important; top: 4px !important; right: 2px !important; left: auto !important; min-width: 18px !important; height: 18px !important; line-height: 18px !important; padding: 0 5px !important; border-radius: 999px !important; background: #fff !important; color: var(--aks-mint-ink) !important; font: 800 10px/18px Montserrat, Arial, sans-serif !important; box-shadow: 0 0 0 2px var(--aks-mint); margin: 0 !important; text-align: center; }
  html:not(.ak-h0) .sticky-menu .minicart-wrapper .counter.qty.empty { display: none !important; }
  html:not(.ak-h0) .sticky-menu .minicart-wrapper .counter.qty .counter-number { color: inherit !important; font: inherit !important; }
  html:not(.ak-h0) .sticky-menu .minicart-wrapper .counter.qty .counter-label { display: none !important; }

  .ak-s-panel { display: none !important; }
  html.ak-s-lock, html.ak-s-lock body { overflow: hidden !important; }
}

/* phone: full-screen search */
.ak-s-screen { position: fixed; inset: 0; z-index: 100001; background: #fff; display: flex; flex-direction: column; opacity: 0; transform: translateY(8px); transition: opacity .18s ease, transform .18s ease; }
.ak-s-screen.is-on { opacity: 1; transform: none; }
.ak-s-screen[hidden] { display: none !important; }
.ak-s-bar { flex: none; display: flex; align-items: center; gap: 6px; padding: calc(8px + env(safe-area-inset-top, 0px)) 6px 8px 12px; background: var(--aks-mint); margin: 0 !important; }
.ak-s-field { flex: 1; display: flex; align-items: center; gap: 8px; height: 40px; border-radius: 12px; background: #fff; padding: 0 12px; margin: 0 !important; color: var(--aks-mint-ink); }
.ak-s-field input { flex: 1; min-width: 0; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; height: 38px !important; padding: 0 !important; font: 500 16px/1 Poppins, Arial, sans-serif !important; color: var(--aks-ink) !important; -webkit-appearance: none; appearance: none; }
.ak-s-field input::-webkit-search-cancel-button { -webkit-appearance: none; }
.ak-s-field input::placeholder { color: #8A9A9B; }
.ak-s-cancel { height: 44px !important; padding: 0 10px !important; background: none !important; border: 0 !important; color: #fff !important; font-weight: 700 !important; font-size: 15px !important; border-radius: 10px; box-shadow: none !important; }
.ak-s-body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.ak-s-body .ak-s-inner { padding: 14px 12px calc(24px + env(safe-area-inset-bottom, 0px)); }
.ak-s-body .ak-s-prods { grid-template-columns: 1fr; gap: 2px; }
.ak-s-body .ak-s-prod.is-row { flex-direction: row; align-items: center; gap: 12px; padding: 8px; }
.ak-s-body .ak-s-prod.is-row .ak-s-prod__img { width: 64px; height: 64px; flex: none; }
.ak-s-body .ak-s-prod__name { font-size: 13.5px; }
.ak-s-body .ak-s-term { min-height: 44px; font-size: 15px; }
.ak-s-body .ak-s-all { position: sticky; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 6px 18px -6px rgba(28, 134, 118, .55); }
.ak-s-body .ak-s-chip { height: 40px; }

/* results page */
.ak-s-rewrite { margin: 0 0 16px; padding: 12px 16px; border-radius: 12px; background: var(--aks-mint-pale); font-size: 14px; color: var(--aks-ink); }
.ak-s-rewrite a { color: var(--aks-mint-ink) !important; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; margin-left: 4px; }
.ak-s-seriescard { display: flex !important; align-items: center; gap: 16px; margin: 0 0 20px; padding: 12px 18px 12px 12px; border-radius: 16px; border: 1.5px solid var(--aks-line); background: #fff; color: var(--aks-ink) !important; text-decoration: none !important; max-width: 640px; }
.ak-s-seriescard__img { width: 64px; height: 64px; border-radius: 12px; overflow: hidden; background: #F4F7F6; flex: none; }
.ak-s-seriescard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ak-s-seriescard__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ak-s-seriescard__eyebrow { font: 700 10.5px/1.4 Montserrat, Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--aks-mint-ink); }
.ak-s-seriescard__name { font: 700 17px/1.3 Montserrat, Poppins, Arial, sans-serif; }
.ak-s-seriescard__count { font-size: 13px; color: var(--aks-muted); }
.ak-s-seriescard__go { display: inline-flex; align-items: center; gap: 6px; flex: none; height: 38px; padding: 0 14px; border-radius: 999px; background: var(--aks-mint); color: #fff; font-weight: 700; font-size: 13px; }
@media (hover: hover) { .ak-s-seriescard:hover { border-color: var(--aks-mint); } }
@media (max-width: 480px) { .ak-s-seriescard__go { width: 38px; padding: 0; justify-content: center; font-size: 0; } }
.ak-s-rescue { margin: 8px 0 28px; }
.ak-s-rescue h2 { font: 700 20px/1.3 Montserrat, Poppins, Arial, sans-serif; color: var(--aks-mint); margin: 0 0 6px; }
.ak-s-rescue__dym { margin: 0 0 14px; font-size: 14px; }
.ak-s-rescue__dym a { color: var(--aks-mint-ink) !important; font-weight: 700; text-decoration: underline !important; text-underline-offset: 3px; }
.ak-s-rescue__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.ak-s-rescue .ak-s-prod { padding: 0; color: var(--aks-ink) !important; text-decoration: none !important; }
@media (prefers-reduced-motion: reduce) { .ak-s-screen { transition: none; } .ak-s-loading span { animation: none; opacity: .6; } }

/* best sellers, characters (dropdown) */
.ak-s-pill--hot { background: #1E2A2C; color: #fff; }
.ak-s-prod__char { font-size: 11.5px; color: var(--aks-mint-ink); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ak-s-rail { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.ak-s-panel .ak-s-rail .ak-s-prod { padding: 4px; } .ak-s-panel .ak-s-rail .ak-s-prod__name { font-size: 11.5px; } .ak-s-panel .ak-s-rail .ak-s-pill--hot { display: none; }
.ak-s-body .ak-s-rail { display: flex; overflow-x: auto; gap: 10px; scroll-snap-type: x proximity; margin: 0 -12px; padding: 0 12px 4px; scrollbar-width: none; }
.ak-s-body .ak-s-rail::-webkit-scrollbar { display: none; }
.ak-s-body .ak-s-rail .ak-s-prod { flex: 0 0 132px; scroll-snap-align: start; padding: 0; }
.ak-s-panel .ak-s-inner > .ak-s-sec { max-width: none; }

/* results page (in-stock, filters, sorting) */
html.ak-sr-on .catalogsearch-result-index .sidebar-main, html.ak-sr-on .catalogsearch-result-index .sidebar-additional,
html.ak-sr-on .catalogsearch-result-index .column.main .toolbar-products, html.ak-sr-on .catalogsearch-result-index .column.main .products.wrapper,
html.ak-sr-on .catalogsearch-result-index .column.main .pages, html.ak-sr-on .catalogsearch-result-index .column.main .toolbar,
html.ak-sr-on .catalogsearch-result-index .block-search-filter, html.ak-sr-on .catalogsearch-result-index .filter, html.ak-sr-on .catalogsearch-result-index .ak-empty,
html.ak-sr-on .catalogsearch-result-index .column.main > .message.notice { display: none !important; }
html.ak-sr-on .catalogsearch-result-index .column.main { width: 100% !important; float: none !important; max-width: 1240px; margin: 0 auto; padding-left: 0 !important; }
.ak-sr { font-family: Poppins, "Helvetica Neue", Arial, sans-serif; color: var(--aks-ink); }
.ak-sr * { box-sizing: border-box; }
.ak-sr-bar { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px 0 6px; margin: 0 0 6px; }
.ak-sr-bar::-webkit-scrollbar { display: none; }
.ak-sr-chip { flex: none; display: inline-flex !important; align-items: center; gap: 6px; height: 40px !important; padding: 0 14px !important; border-radius: 999px !important; border: 1.5px solid var(--aks-line) !important; background: #fff !important; color: var(--aks-ink) !important; font: 600 13.5px/1 Poppins, Arial, sans-serif !important; box-shadow: none !important; white-space: nowrap; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; }
.ak-sr-chip.is-on { border-color: var(--aks-mint) !important; background: var(--aks-mint-pale) !important; color: var(--aks-mint-ink) !important; }
.ak-sr-chip svg { color: var(--aks-muted); }
.ak-sr-sum { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 4px 0 16px; font-size: 14px; color: var(--aks-muted); }
.ak-sr-sum p { margin: 0; } .ak-sr-sum b { color: var(--aks-ink); }
.ak-sr-active { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ak-sr-x, .ak-sr-clearall, .ak-sr-morebtn, .ak-sr-opt, .ak-sr-sheet__reset { text-transform: none !important; letter-spacing: 0 !important; }
.ak-sr-x { display: inline-flex !important; align-items: center; gap: 6px; height: 32px !important; padding: 0 10px 0 12px !important; border-radius: 999px !important; background: var(--aks-ink) !important; color: #fff !important; border: 0 !important; font: 600 12.5px/1 Poppins, Arial, sans-serif !important; box-shadow: none !important; cursor: pointer; }
.ak-sr-clearall { height: 32px !important; padding: 0 8px !important; background: none !important; border: 0 !important; color: var(--aks-mint-ink) !important; font: 600 13px/1 Poppins, Arial, sans-serif !important; text-decoration: underline; text-underline-offset: 3px; box-shadow: none !important; cursor: pointer; }
.ak-sr-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 22px 18px; }
.ak-sr-card { margin: 0 !important; min-width: 0; }
.ak-sr-card a { display: flex; flex-direction: column; gap: 6px; color: var(--aks-ink) !important; text-decoration: none !important; }
.ak-sr-card__img { position: relative; display: block; aspect-ratio: 1; border-radius: 14px; overflow: hidden; background: #F4F7F6; max-width: 100%; }
.ak-sr-card__img img { width: 100%; height: 100%; object-fit: contain; display: block; transition: transform .25s ease; }
.ak-sr-card__ribs { position: absolute; left: 8px; top: 8px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.ak-sr-rib { font: 700 10px/1 Montserrat, Arial, sans-serif; letter-spacing: .06em; padding: 5px 8px; border-radius: 999px; background: #fff; color: var(--aks-ink); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.ak-sr-rib--pre { background: #3E8EDE; color: #fff; } .ak-sr-rib--kuji { background: #E0559A; color: #fff; } .ak-sr-rib--hot { background: #1E2A2C; color: #fff; }
.ak-sr-card__name { font-size: 14px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 4px; }
.ak-sr-card__char { font-size: 12px; font-weight: 600; color: var(--aks-mint-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ak-sr-card__price { font-weight: 700; font-size: 15.5px; font-variant-numeric: tabular-nums; }
@media (hover: hover) { .ak-sr-card a:hover .ak-sr-card__img img { transform: scale(1.03); } .ak-sr-card a:hover .ak-sr-card__name { text-decoration: underline; text-underline-offset: 3px; } .ak-sr-chip:hover { border-color: var(--aks-mint) !important; } }
.ak-sr-more { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 30px 0 10px; font-size: 13px; color: var(--aks-muted); }
.ak-sr-more p { margin: 0; }
.ak-sr-morebtn { height: 46px !important; min-width: 220px; padding: 0 24px !important; border-radius: 999px !important; background: #fff !important; border: 1.5px solid var(--aks-mint) !important; color: var(--aks-mint-ink) !important; font: 700 14px/1 Poppins, Arial, sans-serif !important; box-shadow: none !important; cursor: pointer; }
.ak-sr-none { padding: 28px; border-radius: 14px; background: #F6F8F8; text-align: center; font-size: 14px; }
.ak-sr-none p { margin: 0 0 8px; }
.ak-sr-classic { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; margin: 26px 0 40px; padding: 16px 18px; border-radius: 14px; border: 1.5px dashed var(--aks-line); color: var(--aks-ink) !important; text-decoration: none !important; font-size: 14px; }
.ak-sr-classic svg { color: var(--aks-mint-ink); flex: none; }
.ak-sr-sheet { position: fixed; inset: 0; z-index: 100002; }
.ak-sr-sheet__scrim { position: absolute; inset: 0; background: rgba(16, 30, 28, .35); opacity: 0; transition: opacity .18s; }
.ak-sr-sheet.is-on .ak-sr-sheet__scrim { opacity: 1; }
.ak-sr-sheet__box { position: absolute; left: 0; right: 0; bottom: 0; max-height: 72vh; overflow: auto; background: #fff; border-radius: 18px 18px 0 0; padding: 8px 0 calc(16px + env(safe-area-inset-bottom, 0px)); transform: translateY(16px); opacity: 0; transition: transform .2s ease, opacity .2s ease; font-family: Poppins, Arial, sans-serif; }
.ak-sr-sheet.is-on .ak-sr-sheet__box { transform: none; opacity: 1; }
.ak-sr-sheet__head { display: flex; align-items: center; justify-content: space-between; padding: 10px 18px 6px; }
.ak-sr-sheet__head h3 { margin: 0; font: 700 16px/1.3 Montserrat, Poppins, Arial, sans-serif; color: var(--aks-ink); }
.ak-sr-sheet__reset { background: none !important; border: 0 !important; color: var(--aks-mint-ink) !important; font: 600 13px Poppins, Arial, sans-serif !important; padding: 8px !important; box-shadow: none !important; }
.ak-sr-sheet ul { list-style: none; margin: 0; padding: 0 8px; }
.ak-sr-sheet li { margin: 0 !important; }
.ak-sr-opt { width: 100%; display: flex !important; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 0 12px !important; border: 0 !important; border-radius: 12px !important; background: none !important; color: var(--aks-ink) !important; font: 500 15px/1.3 Poppins, Arial, sans-serif !important; text-align: left; box-shadow: none !important; cursor: pointer; }
.ak-sr-opt em { font-style: normal; color: var(--aks-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.ak-sr-opt.is-on { background: var(--aks-mint-pale) !important; color: var(--aks-mint-ink) !important; font-weight: 700 !important; }
@media (hover: hover) { .ak-sr-opt:hover { background: #F3F8F7 !important; } }
@media (min-width: 769px) {
  .ak-sr-sheet__scrim { background: transparent; }
  .ak-sr-sheet__box { right: auto; bottom: auto; width: 290px; max-height: 420px; border-radius: 14px; box-shadow: 0 18px 48px -12px rgba(16, 40, 36, .28), 0 0 0 1px rgba(16, 40, 36, .06); padding: 6px 0 8px; transform: translateY(-4px); }
}
@media (max-width: 768px) {
  .ak-sr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .ak-sr-card__name { font-size: 13px; }
  .ak-sr-card__price { font-size: 14.5px; }
  .ak-sr-bar { margin: 0 -15px 6px; padding: 2px 15px 6px; }
}
@media (prefers-reduced-motion: reduce) { .ak-sr-sheet__scrim, .ak-sr-sheet__box, .ak-sr-card__img img { transition: none; } }
@media (max-width: 768px) { html.ak-sr-on .catalogsearch-result-index .columns { padding-top: 4px !important; } }
.ak-s-cancel, .ak-s-clear, .ak-s-chip, .ak-s-all, .ak-s-mbtn { text-transform: none !important; letter-spacing: 0 !important; }
.ak-s-body .ak-s-rail { margin: 0 !important; padding: 0 0 4px !important; }

/* price, shipping, sold out, cart (2026-10-02 pass 3) */
.ak-price { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 2px 6px; font-variant-numeric: tabular-nums; }
.ak-price b { font-weight: 700; }
.ak-price s { color: var(--aks-muted); font-size: .85em; }
.ak-usd { color: var(--aks-muted); font-size: .82em; font-weight: 500; }
.ak-ship { display: block; font-size: 11.5px; line-height: 1.35; color: var(--aks-muted); font-weight: 500; }
.ak-ship--ready { color: var(--aks-ink); font-weight: 600; }
.ak-ship--low { color: #B25E00; font-weight: 700; }
.ak-ship--pre { color: #2468AE; font-weight: 600; }
.ak-ship--kuji { color: #B43577; font-weight: 600; }
.ak-ship--out { color: #8A5A00; font-weight: 600; }
.ak-s-prod__meta .ak-price b { font-size: 13.5px; }
.ak-s-prod.is-soldout .ak-s-prod__img img { filter: grayscale(.6); opacity: .8; }
.ak-s-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ak-sr-card { display: flex; flex-direction: column; gap: 8px; }
.ak-sr-card__link { display: flex; flex-direction: column; gap: 5px; color: var(--aks-ink) !important; text-decoration: none !important; }
.ak-sr-card__price .ak-price b { font-size: 15.5px; }
.ak-sr-card .ak-ship { font-size: 12px; }
.ak-sr-rib--sale { background: #D9453E; color: #fff; }
.ak-sr-cta { display: flex !important; align-items: center; justify-content: center; height: 40px !important; margin-top: auto; border-radius: 999px !important; border: 1.5px solid var(--aks-mint) !important; background: #fff !important; color: var(--aks-mint-ink) !important; font: 700 13px/1 Poppins, Arial, sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; cursor: pointer; text-decoration: none !important; padding: 0 12px !important; }
.ak-sr-cta--opt { border-color: var(--aks-line) !important; color: var(--aks-ink) !important; }
.ak-sr-cta.is-busy { opacity: .7; } .ak-sr-cta.is-done { background: var(--aks-mint) !important; color: #fff !important; }
@media (hover: hover) { .ak-sr-cta:hover { background: var(--aks-mint) !important; color: #fff !important; } .ak-sr-cta--opt:hover { background: #F3F8F7 !important; color: var(--aks-ink) !important; border-color: var(--aks-mint) !important; } }
.ak-sr-card__link:hover .ak-sr-card__img img { transform: scale(1.03); }
.ak-sr-toast { position: fixed; left: 50%; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); transform: translate(-50%, 20px); opacity: 0; z-index: 100003; display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; max-width: min(520px, calc(100vw - 24px)); padding: 12px 16px; border-radius: 14px; background: #1E2A2C; color: #fff; font: 500 13px/1.4 Poppins, Arial, sans-serif; box-shadow: 0 12px 30px -10px rgba(0,0,0,.4); transition: opacity .2s, transform .2s; }
.ak-sr-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.ak-sr-toast span { opacity: .8; flex: 1 1 160px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ak-sr-toast a { color: var(--aks-mint) !important; font-weight: 700; text-decoration: none !important; }
@media (max-width: 768px) { .ak-sr-cta { height: 38px !important; font-size: 12.5px !important; } }
.ak-s-x { flex: none; width: 32px !important; height: 32px !important; margin-right: -6px; display: grid !important; place-items: center; border: 0 !important; border-radius: 50% !important; background: #EEF3F2 !important; color: var(--aks-muted) !important; padding: 0 !important; box-shadow: none !important; }
.ak-s-x[hidden] { display: none !important; }

/* ===== 2026-10-02 review: same rules as the new catalog list ===== */
/* product suggestions are rows: small picture + the full name (never cut) + price + when it ships */
.ak-s-prods { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 14px; }
.ak-s-body .ak-s-prods { grid-template-columns: 1fr; }
.ak-s-prod.is-row { flex-direction: row; align-items: flex-start; gap: 12px; padding: 8px; }
.ak-s-prod.is-row .ak-s-prod__img { width: 64px; height: 64px; flex: none; border-radius: 10px; }
.ak-s-prod__img img.is-placeholder { object-fit: contain; padding: 14%; background: #fff; }
.ak-s-prod__name, .ak-s-body .ak-s-prod__name { display: block; -webkit-line-clamp: unset; overflow: visible; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px; line-height: 1.4; font-weight: 400; color: #2A3638; }
.ak-s-body .ak-s-prod__name { font-size: 13.5px; }
.ak-s-prod__char { align-self: flex-start; font-size: 11.5px; font-weight: 700; color: var(--aks-ink); background: var(--aks-mint-pale); border-radius: 6px; padding: 2px 7px; white-space: normal; }
.ak-s-pill, .ak-s-pill--hot, .ak-s-pill--kuji { display: none !important; }
.ak-s-rail { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* availability line: store ribbon colours as a dot, text in the normal colour */
.ak-s-panel .ak-ship, .ak-s-screen .ak-ship, .ak-s-rescue .ak-ship { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--aks-muted) !important; font-weight: 500; }
.ak-s-panel .ak-ship::before, .ak-s-screen .ak-ship::before, .ak-s-rescue .ak-ship::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #B9C7C4; flex: none; }
.ak-s-panel .ak-ship--ready::before, .ak-s-screen .ak-ship--ready::before, .ak-s-rescue .ak-ship--ready::before { background: #2DB37A; }
.ak-s-panel .ak-ship--pre::before, .ak-s-screen .ak-ship--pre::before, .ak-s-rescue .ak-ship--pre::before { background: #57D5C2; }
.ak-s-panel .ak-ship--order::before, .ak-s-screen .ak-ship--order::before, .ak-s-rescue .ak-ship--order::before { background: #41B7F9; }
.ak-s-panel .ak-ship--oos::before, .ak-s-screen .ak-ship--oos::before, .ak-s-rescue .ak-ship--oos::before { background: #E69090; }
.ak-s-panel .ak-ship--low::before, .ak-s-screen .ak-ship--low::before { background: #F08A24; }
.ak-s-prod.is-soldout .ak-s-prod__img img { filter: grayscale(.35); opacity: .6; }
.ak-s-more { display: inline-flex; align-items: center; gap: 6px; margin: 6px 8px 0; min-height: 36px; font-size: 13px; font-weight: 600; color: var(--aks-ink) !important; text-decoration: underline !important; text-decoration-color: #57D5C2 !important; text-underline-offset: 3px; }
.ak-s-more svg { color: #57D5C2; }
.ak-s-head h3 span { text-transform: none; letter-spacing: 0; }

/* phones with the one-row header: the cart's drop-down opens right under the cart icon, not where the old floating button was */
@media (max-width: 768px) {
  html:not(.ak-h0) .minicart-wrapper .block-minicart { position: fixed !important; top: 60px !important; bottom: auto !important; left: auto !important; right: 8px !important;
    width: min(360px, calc(100vw - 16px)) !important; max-height: calc(100vh - 76px); overflow: auto; margin: 0 !important; border-radius: 14px; border: 1px solid var(--aks-line) !important;
    box-shadow: 0 18px 48px -12px rgba(16, 40, 36, .28) !important; }
  html:not(.ak-h0) .minicart-wrapper .block-minicart::before, html:not(.ak-h0) .minicart-wrapper .block-minicart::after { right: 14px !important; left: auto !important; }
}

@keyframes aks-reveal { to { visibility: visible; max-height: none; max-width: none; overflow: visible; } }

/* ---- ak-listing.css ---- */
/* Aitai☆Kuji product listing (category + search pages), 2026-10-02 preview */
:root { --ak-css: 1; --akl-mint: #57D5C2; --akl-mint-ink: #57D5C2; --akl-store-pre: #57D5C2; --akl-store-order: #41B7F9; --akl-store-oos: #E69090; --akl-ready: #2DB37A; --akl-mint-pale: #EAF8F5; --akl-ink: #1E2A2C; --akl-muted: #66777A; --akl-line: #E3ECEA; --akl-bg: #fff; --akl-soft: #F5F8F7; --akl-pre: #2F7FD0; --akl-kuji: #D9468E; --akl-hot: #F08A24; --akl-sale: #E04848; }

/* the classic Magento list and Mageplaza filters step aside once the new list is ready */
html.ak-l-on .catalog-category-view .sidebar-main, html.ak-l-on .catalog-category-view .sidebar-additional,
html.ak-l-on .catalog-category-view #layer-product-list, html.ak-l-on .catalog-category-view .column.main > .toolbar,
html.ak-l-on .catalogsearch-result-index .sidebar-main, html.ak-l-on .catalogsearch-result-index .sidebar-additional,
html.ak-l-on .catalogsearch-result-index #layer-product-list, html.ak-l-on .catalogsearch-result-index .column.main .toolbar-products,
html.ak-l-on .catalogsearch-result-index .column.main .products.wrapper, html.ak-l-on .catalogsearch-result-index .column.main .pages,
html.ak-l-on .catalogsearch-result-index .column.main .toolbar, html.ak-l-on .catalogsearch-result-index .ak-empty,
html.ak-l-on .catalogsearch-result-index .column.main > .message.notice, html.ak-l-on .filter-current, html.ak-l-on .block.filter { display: none !important; }
html.ak-l-on .catalog-category-view .column.main, html.ak-l-on .catalogsearch-result-index .column.main { width: 100% !important; float: none !important; padding-left: 0 !important; padding-right: 0 !important; }
html.ak-l-on .catalog-category-view .columns, html.ak-l-on .catalogsearch-result-index .columns { display: block !important; padding-top: 12px !important; }
html.ak-l-lock, html.ak-l-lock body { overflow: hidden !important; }
/* the theme sets overflow-x:hidden on body/.page-wrapper, which turns them into scroll boxes and breaks position:sticky */
@supports (overflow: clip) { html.ak-l-on body, html.ak-l-on .page-wrapper { overflow-x: clip !important; overflow-y: visible !important; } }

.ak-l, .ak-l-sheet, .ak-l-toast { font-family: Poppins, "Helvetica Neue", Arial, sans-serif; color: var(--akl-ink); -webkit-font-smoothing: antialiased; }
.ak-l *, .ak-l-sheet * { box-sizing: border-box; }
.ak-l a, .ak-l-sheet a { color: inherit; text-decoration: none !important; }
.ak-l ul, .ak-l-sheet ul { list-style: none; margin: 0; padding: 0; }
.ak-l li, .ak-l-sheet li { margin: 0 !important; }
.ak-l h3, .ak-l-sheet h3, .ak-l-sheet h2 { margin: 0; }
/* neutralise the theme's button look (black hover, mint outline) for every button of the list */
.ak-l button, .ak-l button:hover, .ak-l button:focus, .ak-l button:active,
.ak-l-sheet button, .ak-l-sheet button:hover, .ak-l-sheet button:focus, .ak-l-sheet button:active,
.ak-l-top, .ak-l-top:hover, .ak-l-top:focus, .ak-l-top:active {
  -webkit-appearance: none; appearance: none; border: 0 !important; box-shadow: none !important; text-transform: none !important; letter-spacing: normal !important;
  font-family: inherit !important; text-shadow: none !important; outline-offset: 2px; cursor: pointer; margin: 0; min-height: 0 !important; line-height: 1.25 !important; }
.ak-l button:focus-visible, .ak-l-sheet button:focus-visible, .ak-l a:focus-visible { outline: 2px solid var(--akl-mint-ink) !important; }

/* ---------- layout ---------- */
.ak-l { margin: 4px 0 40px; }
.ak-l-body { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 36px; align-items: start; }
.ak-l-side { position: sticky; top: calc(var(--ak-hdr, 0px) + 16px); max-height: calc(100vh - var(--ak-hdr, 0px) - 32px); overflow: auto; overscroll-behavior: contain; padding-right: 6px; scrollbar-width: thin; }
.ak-l-main { min-width: 0; }
@media (max-width: 1023px) {
  .ak-l-body { display: block; }
  .ak-l-side { display: none; }
}

/* ---------- toolbar ---------- */
.ak-l-bar { display: flex; align-items: center; gap: 12px; padding: 0 0 14px; }
.ak-l-count { margin: 0 auto 0 0 !important; font-size: 14px; color: var(--akl-muted); white-space: nowrap; }
.ak-l-count b { color: var(--akl-ink); font-weight: 700; }
.ak-l-within { position: relative; display: flex; align-items: center; flex: 0 1 320px; height: 42px; border: 1.5px solid var(--akl-line); border-radius: 999px; padding: 0 14px 0 40px; background: #fff; }
.ak-l-within svg { position: absolute; left: 14px; color: var(--akl-muted); }
.ak-l-within input { border: 0 !important; outline: 0; box-shadow: none !important; width: 100%; height: 38px !important; padding: 0 !important; font: 400 14px Poppins, Arial, sans-serif !important; background: transparent !important; color: var(--akl-ink); }
.ak-l-within:focus-within { border-color: var(--akl-mint); }
.ak-l .ak-l-sortsel, .ak-l .ak-l-sortsel:hover, .ak-l .ak-l-sortsel:focus, .ak-l .ak-l-sortsel:active {
  display: flex; align-items: center; gap: 8px; height: 42px !important; border: 1.5px solid var(--akl-line) !important; border-radius: 999px; padding: 0 14px 0 16px !important; background: #fff !important; color: var(--akl-ink) !important; font-size: 14px !important; font-weight: 400 !important; white-space: nowrap; }
.ak-l .ak-l-sortsel:hover { border-color: var(--akl-mint) !important; }
.ak-l-sortsel span { color: var(--akl-muted); }
.ak-l-sortsel b { font-weight: 600; }
.ak-l-sortsel svg { color: var(--akl-muted); }
.ak-l .ak-l-btn, .ak-l .ak-l-btn:hover, .ak-l .ak-l-btn:focus, .ak-l .ak-l-btn:active { display: none; align-items: center; justify-content: center; gap: 8px; height: 44px !important; padding: 0 16px !important; border-radius: 999px; border: 1.5px solid var(--akl-line) !important; background: #fff !important; color: var(--akl-ink) !important; font-size: 14px !important; font-weight: 600 !important; white-space: nowrap; }
.ak-l .ak-l-btn em { font-style: normal; min-width: 20px; height: 20px; border-radius: 10px; background: var(--akl-mint-ink); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; padding: 0 5px; }
.ak-l .ak-l-btn--sort span { overflow: hidden; text-overflow: ellipsis; max-width: 120px; }
@media (max-width: 1023px) {
  .ak-l-bar { position: sticky; top: var(--ak-hdr, 0px); z-index: 30; margin: 0 -16px; padding: 10px 16px; background: rgba(255,255,255,.97); backdrop-filter: saturate(1.4) blur(6px); border-bottom: 1px solid var(--akl-line); flex-wrap: wrap; gap: 8px; }
  .ak-l .ak-l-btn, .ak-l .ak-l-btn:hover, .ak-l .ak-l-btn:focus, .ak-l .ak-l-btn:active { display: inline-flex; flex: 1 1 0; }
  .ak-l-sortsel, .ak-l-bar .ak-l-count, .ak-l-bar .ak-l-within { display: none; }
  .ak-l-pre { display: flex; flex-direction: column; gap: 10px; margin: 0 0 10px; }
  .ak-l-pre .ak-l-within { flex: none; height: 44px; }
  .ak-l-pre .ak-l-count { font-size: 13px; }
}
@media (min-width: 1024px) { .ak-l-pre { display: none; } }

/* ---------- quick chips, character row, active filters ---------- */
.ak-l-quick { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.ak-l .ak-l-qchip, .ak-l .ak-l-qchip:hover, .ak-l .ak-l-qchip:focus, .ak-l .ak-l-qchip:active,
.ak-l .ak-l-cchip, .ak-l .ak-l-cchip:hover, .ak-l .ak-l-cchip:focus, .ak-l .ak-l-cchip:active {
  display: inline-flex; align-items: center; gap: 6px; height: 40px !important; padding: 0 14px !important; border-radius: 999px; border: 1.5px solid var(--akl-line) !important;
  background: #fff !important; color: var(--akl-ink) !important; font-size: 13px !important; font-weight: 600 !important; white-space: nowrap; flex: none; }
.ak-l .ak-l-qchip em, .ak-l .ak-l-cchip em { font-style: normal; font-weight: 500; color: var(--akl-muted); font-size: 12px; }
.ak-l .ak-l-qchip.is-on, .ak-l .ak-l-cchip.is-on { background: var(--akl-mint-pale) !important; border-color: var(--akl-mint) !important; color: var(--akl-ink) !important; }
.ak-l .ak-l-qchip.is-on em, .ak-l .ak-l-cchip.is-on em { color: var(--akl-ink); }
.ak-l .ak-l-qchip:hover, .ak-l .ak-l-cchip:hover { border-color: var(--akl-mint) !important; }
.ak-l .ak-l-cchip--all, .ak-l .ak-l-cchip--all:hover, .ak-l .ak-l-cchip--all:focus { color: var(--akl-mint-ink) !important; border-style: dashed !important; }
.ak-l-chars { margin: 0 0 16px; }
.ak-l-chars__t { margin: 0 0 8px !important; font: 700 11px/1.4 Montserrat, Poppins, Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--akl-muted); }
.ak-l-chars__row { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; -webkit-overflow-scrolling: touch; }
.ak-l-chars__row::-webkit-scrollbar { display: none; }
@media (max-width: 1023px) {
  .ak-l-quick { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 12px -16px 12px; padding: 0 16px; }
  .ak-l-quick::-webkit-scrollbar { display: none; }
  .ak-l-chars__row { margin: 0 -16px; padding: 0 16px 2px; }
}
.ak-l-active { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.ak-l .ak-l-x, .ak-l .ak-l-x:hover, .ak-l .ak-l-x:focus, .ak-l .ak-l-x:active, .ak-l-sheet .ak-l-x, .ak-l-sheet .ak-l-x:hover, .ak-l-sheet .ak-l-x:focus {
  display: inline-flex; align-items: center; gap: 8px; height: 36px !important; padding: 0 12px 0 14px !important; border-radius: 999px; background: var(--akl-ink) !important; color: #fff !important; font-size: 13px !important; font-weight: 600 !important; }
.ak-l .ak-l-x em, .ak-l-sheet .ak-l-x em { font-style: normal; font-weight: 400; opacity: .75; }
.ak-l .ak-l-clearall, .ak-l .ak-l-clearall:hover, .ak-l .ak-l-clearall:focus { height: 36px !important; padding: 0 10px !important; background: none !important; color: var(--akl-mint-ink) !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: underline; }

/* ---------- facets ---------- */
.ak-l-fac { border-bottom: 1px solid var(--akl-line); }
.ak-l-fac:first-child { border-top: 1px solid var(--akl-line); }
.ak-l .ak-l-fac__head, .ak-l .ak-l-fac__head:hover, .ak-l .ak-l-fac__head:focus, .ak-l .ak-l-fac__head:active,
.ak-l-sheet .ak-l-fac__head, .ak-l-sheet .ak-l-fac__head:hover, .ak-l-sheet .ak-l-fac__head:focus, .ak-l-sheet .ak-l-fac__head:active {
  display: flex; align-items: center; justify-content: space-between; width: 100%; height: 50px !important; padding: 0 2px !important; background: none !important; color: var(--akl-ink) !important;
  font: 700 12px/1 Montserrat, Poppins, Arial, sans-serif !important; letter-spacing: .09em !important; text-transform: uppercase !important; }
.ak-l-fac__head span { display: inline-flex; align-items: center; gap: 8px; }
.ak-l-fac__head em { font-style: normal; min-width: 18px; height: 18px; border-radius: 9px; background: var(--akl-mint-ink); color: #fff; font: 700 10px/18px Poppins, Arial, sans-serif; letter-spacing: 0; text-align: center; padding: 0 5px; }
.ak-l-fac__head svg { color: var(--akl-muted); transition: transform .2s; }
.ak-l-fac.is-open .ak-l-fac__head svg { transform: rotate(180deg); }
.ak-l-fac__body { display: none; padding: 0 0 14px; }
.ak-l-fac.is-open .ak-l-fac__body { display: block; }
.ak-l .ak-l-opt, .ak-l .ak-l-opt:hover, .ak-l .ak-l-opt:focus, .ak-l .ak-l-opt:active,
.ak-l-sheet .ak-l-opt, .ak-l-sheet .ak-l-opt:hover, .ak-l-sheet .ak-l-opt:focus, .ak-l-sheet .ak-l-opt:active {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 38px !important; padding: 6px 6px !important; border-radius: 8px; background: none !important; color: var(--akl-ink) !important; font-size: 14px !important; font-weight: 400 !important; text-align: left; }
.ak-l .ak-l-opt:hover, .ak-l-sheet .ak-l-opt:hover { background: var(--akl-soft) !important; }
.ak-l-box { flex: none; width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid #B9C7C4; display: grid; place-items: center; color: transparent; background: #fff; transition: background .12s, border-color .12s; }
.ak-l-opt.is-on .ak-l-box { background: var(--akl-mint-ink); border-color: var(--akl-mint-ink); color: #fff; }
.ak-l-opt.is-on .ak-l-opt__t { font-weight: 600; }
.ak-l-opt__t { flex: 1; min-width: 0; line-height: 1.3; }
.ak-l-opt__n { flex: none; font-size: 12px; color: var(--akl-muted); }
.ak-l-opt.is-zero { opacity: .45; }
.ak-l .ak-l-showall, .ak-l .ak-l-showall:hover, .ak-l .ak-l-showall:focus, .ak-l-sheet .ak-l-showall, .ak-l-sheet .ak-l-showall:hover, .ak-l-sheet .ak-l-showall:focus {
  margin-top: 4px; height: 36px !important; padding: 0 6px !important; background: none !important; color: var(--akl-mint-ink) !important; font-size: 13px !important; font-weight: 600 !important; }
.ak-l-find { position: relative; display: flex; align-items: center; height: 40px; margin: 0 0 8px; border: 1.5px solid var(--akl-line); border-radius: 10px; padding: 0 10px 0 36px; background: #fff; }
.ak-l-find svg { position: absolute; left: 10px; color: var(--akl-muted); }
.ak-l-find input { border: 0 !important; outline: 0; box-shadow: none !important; width: 100%; height: 36px !important; padding: 0 !important; font: 400 14px Poppins, Arial, sans-serif !important; background: transparent !important; }
.ak-l-find:focus-within { border-color: var(--akl-mint); }

/* ---------- grid + cards ---------- */
.ak-l-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(196px, 1fr)); gap: 28px 20px; }
@media (max-width: 1023px) { .ak-l-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 22px 12px; } }
@media (max-width: 480px) { .ak-l-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ak-l-card { display: flex; flex-direction: column; min-width: 0; }
.ak-l-card__link { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.ak-l-card__img { position: relative; display: block; aspect-ratio: 1; border-radius: 14px; overflow: hidden; background: var(--akl-soft); margin-bottom: 4px; }
.ak-l-card__img img { width: 100%; height: 100%; object-fit: contain; display: block; transition: transform .25s; }
.ak-l-card__link:hover .ak-l-card__img img { transform: scale(1.03); }
.ak-l-card__noimg { position: absolute; inset: 0; display: grid; place-items: center; font-size: 12px; color: var(--akl-muted); }
.ak-l-card__ribs { position: absolute; left: 8px; top: 8px; display: flex; flex-wrap: wrap; gap: 4px; max-width: calc(100% - 16px); }
.ak-l-rib { display: inline-block; padding: 4px 7px; border-radius: 6px; font: 800 10px/1 Montserrat, Poppins, Arial, sans-serif; letter-spacing: .06em; color: #fff; background: var(--akl-ink); }
.ak-l-rib--pre { background: var(--akl-pre); }
.ak-l-rib--kuji { background: var(--akl-kuji); }
.ak-l-rib--hot { background: var(--akl-hot); }
.ak-l-rib--sale { background: var(--akl-sale); }
.ak-l-rib--new { background: var(--akl-mint-ink); }
.ak-l-card__name { font-size: 14px; line-height: 1.45; font-weight: 400; color: var(--akl-ink); overflow-wrap: anywhere; }
.ak-l-card__name.is-clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 480px) { .ak-l-card__name { font-size: 13.5px; line-height: 1.42; } }
/* long names make cards taller: keep price and shipping at the bottom so a row lines up */
.ak-l-card__price { margin-top: auto; padding-top: 2px; }
.ak-l-card__img img.is-placeholder { object-fit: contain; padding: 18%; background: #fff; }
.ak-l-card__link:hover .ak-l-card__name { text-decoration: underline; text-decoration-color: var(--akl-mint); text-underline-offset: 3px; }
.ak-l-card__char { align-self: flex-start; font-size: 12px; font-weight: 700; color: var(--akl-ink); background: var(--akl-mint-pale); border-radius: 6px; padding: 3px 8px; }
.ak-l-card__price .ak-price { display: inline-flex; align-items: baseline; gap: 8px; }
.ak-l-card__price b { font-size: 16px; font-weight: 700; }
.ak-l-card__price s { font-size: 13px; color: var(--akl-muted); }
.ak-l-card .ak-ship { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--akl-muted); }
.ak-l-card .ak-ship::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #B9C7C4; flex: none; }
.ak-l-card .ak-ship--ready::before { background: var(--akl-ready); }
.ak-l-card .ak-ship--low::before { background: var(--akl-hot); }
.ak-l-card .ak-ship--pre::before { background: var(--akl-store-pre); }
.ak-l-card .ak-ship--order::before { background: var(--akl-store-order); }
.ak-l-card .ak-ship--kuji::before { background: var(--akl-kuji); }
.ak-l .ak-l-cta, .ak-l .ak-l-cta:hover, .ak-l .ak-l-cta:focus, .ak-l .ak-l-cta:active {
  display: flex; align-items: center; justify-content: center; margin-top: 10px; height: 40px !important; padding: 0 12px !important; border-radius: 999px; border: 1.5px solid var(--akl-mint) !important;
  background: #fff !important; color: var(--akl-mint-ink) !important; font-size: 13px !important; font-weight: 700 !important; width: 100%; }
.ak-l .ak-l-cta:hover { background: var(--akl-mint-pale) !important; }
.ak-l .ak-l-cta.is-done { background: var(--akl-mint-ink) !important; border-color: var(--akl-mint-ink) !important; color: #fff !important; }
.ak-l .ak-l-cta--opt { border-color: var(--akl-line) !important; color: var(--akl-ink) !important; font-weight: 600 !important; }

/* ---------- load more / end ---------- */
.ak-l-more { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 36px 0 8px; }
.ak-l-more p { margin: 0 !important; font-size: 13px; color: var(--akl-muted); }
.ak-l-progress { width: 200px; height: 4px; border-radius: 2px; background: var(--akl-line); overflow: hidden; }
.ak-l-progress i { display: block; height: 100%; background: var(--akl-mint); }
.ak-l .ak-l-morebtn, .ak-l .ak-l-morebtn:hover, .ak-l .ak-l-morebtn:focus, .ak-l .ak-l-morebtn:active {
  height: 48px !important; min-width: 220px; padding: 0 28px !important; border-radius: 999px; border: 1.5px solid var(--akl-ink) !important; background: #fff !important; color: var(--akl-ink) !important; font-size: 14px !important; font-weight: 700 !important; }
.ak-l .ak-l-morebtn:hover { background: var(--akl-ink) !important; color: #fff !important; }
.ak-l-more--end p { font-weight: 600; }
.ak-l-none { padding: 40px 20px; text-align: center; border-radius: 16px; background: var(--akl-soft); }
.ak-l-none p { margin: 0 0 10px !important; }
.ak-l-none .ak-l-active { justify-content: center; }
.ak-l-classic { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 32px 0 0; padding: 16px 20px; border-radius: 14px; border: 1.5px solid var(--akl-line); font-size: 14px; color: var(--akl-muted); }
.ak-l-classic b { color: var(--akl-ink); }
.ak-l-classic svg { flex: none; color: var(--akl-mint-ink); }
.ak-l-classic:hover { border-color: var(--akl-mint); }

/* ---------- back to top ---------- */
.ak-l-top, .ak-l-top:hover, .ak-l-top:focus, .ak-l-top:active { position: fixed; right: 16px; bottom: 20px; z-index: 40; width: 44px; height: 44px; border-radius: 50%; display: grid !important; place-items: center; padding: 0 !important;
  background: #fff !important; color: var(--akl-ink) !important; box-shadow: 0 4px 16px rgba(30,42,44,.18) !important; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .2s, transform .2s; }
.ak-l-top.is-on { opacity: 1; pointer-events: auto; transform: none; }
html.ak-l-on #totop, html.ak-l-on .back-top, html.ak-l-on #back-top { display: none !important; }

/* ---------- sheet (phones; dialogs on desktop) ---------- */
.ak-l-sheet { position: fixed; inset: 0; z-index: 10050; }
.ak-l-sheet__scrim { position: absolute; inset: 0; background: rgba(20,30,32,.45); opacity: 0; transition: opacity .2s; }
.ak-l-sheet__box { position: absolute; left: 0; right: 0; bottom: 0; max-height: 86vh; display: flex; flex-direction: column; background: #fff; border-radius: 20px 20px 0 0; transform: translateY(100%); transition: transform .24s cubic-bezier(.2,.8,.2,1); }
.ak-l-sheet__box--tall { height: 88vh; }
.ak-l-sheet.is-on .ak-l-sheet__scrim { opacity: 1; }
.ak-l-sheet.is-on .ak-l-sheet__box { transform: none; }
@media (min-width: 1024px) {
  .ak-l-sheet__box { left: 50%; right: auto; top: 50%; bottom: auto; width: 520px; max-height: 80vh; border-radius: 20px; transform: translate(-50%, -46%); opacity: 0; transition: transform .2s, opacity .2s; }
  .ak-l-sheet__box--tall { height: auto; }
  .ak-l-sheet.is-on .ak-l-sheet__box { transform: translate(-50%, -50%); opacity: 1; }
}
.ak-l-sheet__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 12px 10px 20px; border-bottom: 1px solid var(--akl-line); }
.ak-l-sheet__head h2 { font: 700 18px/1.2 Montserrat, Poppins, Arial, sans-serif; color: var(--akl-ink); }
.ak-l-sheet .ak-l-sheet__close, .ak-l-sheet .ak-l-sheet__close:hover, .ak-l-sheet .ak-l-sheet__close:focus, .ak-l-sheet .ak-l-sheet__close:active {
  width: 44px; height: 44px !important; border-radius: 50%; display: grid; place-items: center; padding: 0 !important; background: var(--akl-soft) !important; color: var(--akl-ink) !important; }
.ak-l-sheet__scroll { flex: 1; overflow: auto; overscroll-behavior: contain; padding: 12px 20px 16px; -webkit-overflow-scrolling: touch; }
.ak-l-sheet__scroll .ak-l-active { margin: 4px 0 12px; }
.ak-l-sheet .ak-l-opt, .ak-l-sheet .ak-l-opt:hover, .ak-l-sheet .ak-l-opt:focus, .ak-l-sheet .ak-l-opt:active { min-height: 46px !important; font-size: 15px !important; }
.ak-l-sheet__foot { display: flex; gap: 10px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--akl-line); background: #fff; border-radius: 0 0 20px 20px; }
.ak-l-sheet .ak-l-sheet__clear, .ak-l-sheet .ak-l-sheet__clear:hover, .ak-l-sheet .ak-l-sheet__clear:focus, .ak-l-sheet .ak-l-sheet__clear:active {
  height: 50px !important; padding: 0 18px !important; border-radius: 999px; background: #fff !important; border: 1.5px solid var(--akl-line) !important; color: var(--akl-ink) !important; font-size: 15px !important; font-weight: 600 !important; }
.ak-l-sheet .ak-l-sheet__go, .ak-l-sheet .ak-l-sheet__go:hover, .ak-l-sheet .ak-l-sheet__go:focus, .ak-l-sheet .ak-l-sheet__go:active {
  flex: 1; height: 50px !important; padding: 0 18px !important; border-radius: 999px; background: var(--akl-mint-ink) !important; color: #fff !important; font-size: 15px !important; font-weight: 700 !important; }
.ak-l-sorts li + li { border-top: 1px solid var(--akl-line); }
.ak-l-sheet .ak-l-sortopt, .ak-l-sheet .ak-l-sortopt:hover, .ak-l-sheet .ak-l-sortopt:focus, .ak-l-sheet .ak-l-sortopt:active {
  display: flex; align-items: center; justify-content: space-between; width: 100%; height: 54px !important; padding: 0 4px !important; background: none !important; color: var(--akl-ink) !important; font-size: 16px !important; font-weight: 400 !important; }
.ak-l-sheet .ak-l-sortopt.is-on { font-weight: 700 !important; color: var(--akl-mint-ink) !important; }
.ak-l-sheet--sort .ak-l-sheet__box { padding-bottom: env(safe-area-inset-bottom); }

/* ---------- toast ---------- */
.ak-l-toast { position: fixed; left: 50%; bottom: 24px; z-index: 10060; transform: translate(-50%, 20px); opacity: 0; transition: .25s; display: flex; flex-direction: column; gap: 2px; min-width: 260px; max-width: calc(100vw - 32px);
  padding: 14px 18px; border-radius: 14px; background: var(--akl-ink); color: #fff; font-size: 13px; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.ak-l-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.ak-l-toast span { opacity: .8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ak-l-toast a { color: var(--akl-mint) !important; font-weight: 700; margin-top: 4px; }

/* desktop: the sidebar already offers these, so the one-tap chips are for phones only */
@media (min-width: 1024px) { .ak-l .ak-l-quick { display: none; } }

/* sold-out items (Availability > Out of Stock) */
.ak-l-card.is-oos .ak-l-card__img img { opacity: .55; filter: grayscale(.35); }
.ak-l-card.is-oos .ak-l-card__price b { color: var(--akl-muted); }
.ak-l-card .ak-ship--oos::before { background: var(--akl-store-oos); }
.ak-l-li-oos { margin-top: 6px !important; padding-top: 6px; border-top: 1px dashed var(--akl-line); }
.ak-l-none .ak-l-morebtn { margin: 6px 0 14px; }
.ak-l-note { display: grid; gap: 10px; justify-items: start; margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; background: var(--akl-mint-pale); font-size: 14px; }
.ak-l-note p { margin: 0 !important; }
.ak-l .ak-l-note .ak-l-morebtn { height: 42px !important; min-width: 0; }

/* store colours for availability, tooltips, sort menu with explanations, corner ribbons */
.ak-l-dot { flex: none; width: 9px; height: 9px; border-radius: 50%; display: inline-block; font-style: normal; }
.ak-l-dot--ready { background: var(--akl-ready); }
.ak-l-dot--order { background: var(--akl-store-order); }
.ak-l-dot--pre { background: var(--akl-store-pre); }
.ak-l-dot--oos { background: var(--akl-store-oos); }
.ak-l-fac[data-fac="avail"] .ak-l-opts li { display: flex; align-items: center; gap: 2px; }
.ak-l-fac[data-fac="avail"] .ak-l-opts li .ak-l-opt { flex: 1; min-width: 0; }
.ak-l .ak-l-info, .ak-l .ak-l-info:hover, .ak-l .ak-l-info:focus, .ak-l .ak-l-info:active,
.ak-l-sheet .ak-l-info, .ak-l-sheet .ak-l-info:hover, .ak-l-sheet .ak-l-info:focus, .ak-l-sheet .ak-l-info:active {
  flex: none; width: 36px; height: 36px !important; display: grid; place-items: center; padding: 0 !important; border-radius: 50%; background: none !important; color: var(--akl-muted) !important; }
.ak-l .ak-l-info:hover, .ak-l .ak-l-info[aria-expanded="true"], .ak-l-sheet .ak-l-info[aria-expanded="true"] { color: var(--akl-mint) !important; background: var(--akl-mint-pale) !important; }
.ak-l-tip { position: fixed; z-index: 10070; display: grid; gap: 6px; padding: 14px 16px; border-radius: 12px; background: #fff; color: var(--akl-ink); border: 1.5px solid var(--akl-mint);
  box-shadow: 0 10px 30px rgba(20,40,36,.18); font: 400 13px/1.55 Poppins, "Helvetica Neue", Arial, sans-serif; }
.ak-l-tip b { font-weight: 700; font-size: 14px; }
.ak-l-tip a { color: var(--akl-ink) !important; font-weight: 600; text-decoration: underline !important; text-decoration-color: var(--akl-mint) !important; text-underline-offset: 3px; }
.ak-l-sheet .ak-l-sortopt, .ak-l-sheet .ak-l-sortopt:hover, .ak-l-sheet .ak-l-sortopt:focus, .ak-l-sheet .ak-l-sortopt:active { height: auto !important; min-height: 54px !important; padding: 10px 4px !important; text-align: left; gap: 12px; }
.ak-l-sortopt span { display: grid; gap: 2px; }
.ak-l-sortopt b { font-weight: 600; font-size: 15px; }
.ak-l-sortopt small { font-size: 12.5px; line-height: 1.45; color: var(--akl-muted); font-weight: 400; }
.ak-l-sheet .ak-l-sortopt.is-on b { color: var(--akl-ink); font-weight: 700; }
.ak-l-sheet .ak-l-sortopt.is-on { color: var(--akl-ink) !important; }
.ak-l-sheet .ak-l-sortopt.is-on svg { color: var(--akl-mint); }
@media (min-width: 1024px) {
  .ak-l-sheet--drop .ak-l-sheet__scrim { background: transparent; }
  .ak-l-sheet--drop .ak-l-sheet__box { position: fixed; transform: none !important; width: 360px; max-height: 70vh; opacity: 0; border: 1.5px solid var(--akl-line); box-shadow: 0 14px 40px rgba(20,40,36,.16); }
  .ak-l-sheet--drop.is-on .ak-l-sheet__box { opacity: 1; }
  .ak-l-sheet--drop .ak-l-sheet__head { display: none; }
  .ak-l-sheet--drop .ak-l-sheet__scroll { padding: 6px 16px; }
}
/* the store's corner ribbons (theme .triangle) inside our image box */
.ak-l-card__img .triangle { left: 0; top: 0; pointer-events: none; }
@media (max-width: 1023px) { .ak-l .ak-l-bar .ak-l-sortsel { display: none !important; } }

/* sort direction, sort pairs, product name split, narrow-down hint */
.ak-l-sortwrap { display: flex; align-items: center; gap: 6px; }
.ak-l .ak-l-dirbtn, .ak-l .ak-l-dirbtn:hover, .ak-l .ak-l-dirbtn:focus, .ak-l .ak-l-dirbtn:active {
  flex: none; width: 42px; height: 42px !important; display: grid; place-items: center; padding: 0 !important; border-radius: 50%; border: 1.5px solid var(--akl-line) !important; background: #fff !important; color: var(--akl-ink) !important; }
.ak-l .ak-l-dirbtn:hover { border-color: var(--akl-mint) !important; }
.ak-l .ak-l-dirbtn[disabled] { opacity: .35; cursor: default; }
.ak-l-phonedir { display: none; }
@media (max-width: 1023px) {
  .ak-l-phonedir { display: inline-flex; flex: none; }
  .ak-l-bar .ak-l-sortwrap { display: none; }
  .ak-l .ak-l-phonedir .ak-l-dirbtn { width: 44px; height: 44px !important; }
}
.ak-l-sortpair { display: grid; gap: 8px; padding: 12px 4px; }
.ak-l-sortpair__t { display: grid; gap: 2px; }
.ak-l-sortpair__t b { font-weight: 600; font-size: 15px; color: var(--akl-ink); }
.ak-l-sortpair__t small { font-size: 12.5px; line-height: 1.45; color: var(--akl-muted); }
.ak-l-sortpair__b { display: flex; flex-wrap: wrap; gap: 8px; }
.ak-l-sheet .ak-l-sortdir, .ak-l-sheet .ak-l-sortdir:hover, .ak-l-sheet .ak-l-sortdir:focus, .ak-l-sheet .ak-l-sortdir:active {
  display: inline-flex; align-items: center; gap: 6px; height: 40px !important; padding: 0 14px !important; border-radius: 999px; border: 1.5px solid var(--akl-line) !important; background: #fff !important; color: var(--akl-ink) !important; font-size: 14px !important; font-weight: 600 !important; }
.ak-l-sheet .ak-l-sortdir.is-on { border-color: var(--akl-mint) !important; background: var(--akl-mint-pale) !important; }
.ak-l-sheet .ak-l-sortdir svg { color: var(--akl-mint); }
.ak-l-card__eyebrow { font-size: 11.5px; line-height: 1.35; color: var(--akl-muted); font-weight: 500; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-bottom: -2px; }
.ak-l .ak-l-narrow, .ak-l .ak-l-narrow:hover, .ak-l .ak-l-narrow:focus, .ak-l .ak-l-narrow:active {
  display: inline-flex; align-items: center; gap: 8px; height: 40px !important; padding: 0 12px !important; background: none !important; color: var(--akl-muted) !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: underline; text-decoration-color: var(--akl-mint); text-underline-offset: 3px; }

/* product names: a compact, highly legible face so long official names fit in fewer lines */
.ak-l-card__name { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-size: 14px; line-height: 1.4; font-weight: 400; color: #2A3638; letter-spacing: 0; }
@media (max-width: 480px) { .ak-l-card__name { font-size: 13.5px; line-height: 1.38; } .ak-l-grid { gap: 22px 12px; } }
.ak-l-card__link { gap: 5px; }
.ak-l-card__img { margin-bottom: 6px; }

/* grid / list toggle */
.ak-l-countrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ak-l-view { display: inline-flex; gap: 4px; flex: none; }
.ak-l .ak-l-viewbtn, .ak-l .ak-l-viewbtn:hover, .ak-l .ak-l-viewbtn:focus, .ak-l .ak-l-viewbtn:active {
  width: 38px; height: 38px !important; display: grid; place-items: center; padding: 0 !important; border-radius: 10px; background: #fff !important; color: var(--akl-muted) !important; border: 1.5px solid transparent !important; }
.ak-l .ak-l-viewbtn.is-on { color: var(--akl-ink) !important; border-color: var(--akl-mint) !important; background: var(--akl-mint-pale) !important; }
.ak-l-bar .ak-l-view { margin-right: 4px; }
@media (max-width: 1023px) { .ak-l-bar .ak-l-view { display: none; } }

/* list view: picture on the left, the full name gets the whole width on the right */
.ak-l--list .ak-l-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
.ak-l--list .ak-l-card { border-bottom: 1px solid var(--akl-line); padding: 14px 0; }
.ak-l--list .ak-l-card:first-child { padding-top: 4px; }
.ak-l--list .ak-l-card__link { display: grid; grid-template-columns: 116px minmax(0, 1fr); column-gap: 14px; row-gap: 5px; align-content: start; }
.ak-l--list .ak-l-card__link > * { grid-column: 2; }
.ak-l--list .ak-l-card__img { grid-column: 1; grid-row: 1 / span 6; margin: 0; border-radius: 12px; align-self: start; }
.ak-l--list .ak-l-card__img .triangle { transform: scale(.62); transform-origin: 0 0; }
.ak-l--list .ak-l-card__price { margin-top: 2px; }
.ak-l--list .ak-l-card__name { font-size: 14.5px; line-height: 1.42; }
@media (min-width: 1024px) { .ak-l--list .ak-l-card__link { grid-template-columns: 150px minmax(0, 1fr); column-gap: 20px; } .ak-l--list .ak-l-grid { max-width: 860px; } }

/* wishlist heart: same place and shape as the theme's (top right of the picture) */
.ak-l-card { position: relative; }
.ak-l .ak-l-wish, .ak-l .ak-l-wish:hover, .ak-l .ak-l-wish:focus, .ak-l .ak-l-wish:active {
  position: absolute; top: 6px; right: 6px; z-index: 3; width: 40px; height: 40px !important; display: grid; place-items: center; padding: 0 !important; border-radius: 50%;
  background: rgba(255,255,255,.82) !important; color: var(--akl-ink) !important; transition: transform .15s; }
.ak-l .ak-l-wish:hover { color: #E05A7A !important; }
.ak-l .ak-l-wish.is-on { color: #E05A7A !important; }
.ak-l .ak-l-wish.is-on svg path { fill: currentColor; }
.ak-l .ak-l-wish.is-busy { opacity: .5; }
.ak-l .ak-l-wish.is-pop { transform: scale(1.18); }
.ak-l--list .ak-l-card { padding-right: 44px; }
.ak-l--list .ak-l .ak-l-wish, .ak-l--list .ak-l-wish { top: 12px; right: 0; background: none !important; }
.ak-l-toast { position: fixed; left: 50%; bottom: 24px; z-index: 10060; transform: translate(-50%, 20px); opacity: 0; transition: .25s; display: flex; flex-direction: column; gap: 2px; min-width: 260px; max-width: calc(100vw - 32px);
  padding: 14px 18px; border-radius: 14px; background: var(--akl-ink); color: #fff; font: 400 13px/1.5 Poppins, Arial, sans-serif; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.ak-l-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.ak-l-toast span { opacity: .8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ak-l-toast a { color: var(--akl-mint) !important; font-weight: 700; margin-top: 4px; }

/* List pages, from the very first paint until the script decides (html.ak-l-on = new list, html.ak-l-off = classic stays):
   the page already has the new list's layout, the classic list is hidden, and the main column keeps the footer below
   the fold, so nothing moves when the placeholder cards and then the new list come in.
   Safety net: if the script never runs, the classic list comes back by itself after 9 s. */
html:not(.ak-l-off) body.page-products .sidebar-main, html:not(.ak-l-off) body.page-products .sidebar-additional,
html:not(.ak-l-off) body.page-products .filter-current, html:not(.ak-l-off) body.page-products .block.filter { display: none !important; }
html:not(.ak-l-off) body.page-products .column.main { width: 100% !important; float: none !important; padding-left: 0 !important; padding-right: 0 !important; min-height: 100vh; display: flow-root !important; }
html:not(.ak-l-off) body.page-products .columns { display: block !important; padding-top: 12px !important; }
html:not(.ak-l-off):not(.ak-l-on) body.page-products #layer-product-list,
html:not(.ak-l-off):not(.ak-l-on) body.page-products .column.main > .toolbar,
html:not(.ak-l-off):not(.ak-l-on) body.page-products .column.main .toolbar-products,
html:not(.ak-l-off):not(.ak-l-on) body.page-products .column.main .products.wrapper,
html:not(.ak-l-off):not(.ak-l-on) body.page-products .column.main .pages { visibility: hidden; max-height: 0; overflow: hidden; animation: akl-reveal 0s linear 9s forwards; }
@keyframes akl-reveal { to { visibility: visible; max-height: none; overflow: visible; } }
html.ak-l-wait body.page-products #layer-product-list { display: none !important; }
.ak-l-skel { margin: 4px 0 40px; }
.ak-l-skel__bar { height: 44px; border-radius: 999px; background: #EEF3F2; margin-bottom: 18px; max-width: 520px; }
.ak-l-skel__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(196px, 1fr)); gap: 28px 20px; }
@media (max-width: 480px) { .ak-l-skel__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; } }
.ak-l-skel__card { display: grid; gap: 8px; }
.ak-l-skel__card i { display: block; aspect-ratio: 1; border-radius: 14px; background: #EEF3F2; }
.ak-l-skel__card b { display: block; height: 12px; border-radius: 6px; background: #EEF3F2; }
.ak-l-skel__card b + b { width: 70%; }
.ak-l-skel__card s { display: block; height: 14px; width: 40%; border-radius: 6px; background: #E3ECEA; }
@media (prefers-reduced-motion: no-preference) { .ak-l-skel__card > * { animation: akl-pulse 1.4s ease-in-out infinite; } }
@keyframes akl-pulse { 50% { opacity: .55; } }
/* tablets: the page has no side padding to bleed into, so the sticky bar stays inside the page */
/* tablets and desktops: the theme's row has -10px sides, so the list keeps the theme's 10px gutter (otherwise the filters and cards touch the screen edge below 1280px) */
@media (min-width: 481px) { html:not(.ak-l-off) body.page-products .column.main { padding-left: 10px !important; padding-right: 10px !important; } }
@media (min-width: 481px) and (max-width: 1023px) { .ak-l-bar { margin: 0 !important; padding: 10px 0 !important; } .ak-l-quick, .ak-l-chars__row { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; } }
.ak-l-card.is-oos .ak-ship { margin-top: auto; }

/* ---- ak-cart.css ---- */
/* Aitai☆Kuji mini cart, 2026-10-02 preview. Store colours, the same type and availability dots as the new lists. */
html.ak-c-on .minicart-wrapper .block-minicart { width: 400px !important; max-width: calc(100vw - 16px) !important; padding: 0 !important; border: 1px solid #E3ECEA !important; border-radius: 16px !important;
  box-shadow: 0 18px 48px -12px rgba(16, 40, 36, .28) !important; overflow: hidden !important; background: #fff !important; font-family: Poppins, "Helvetica Neue", Arial, sans-serif; color: #1E2A2C; }
/* until Magento has set up the drop-down (it wraps the box in .mage-dropdown-dialog), the box stays out of sight */
html.ak-c-on .minicart-wrapper > .block-minicart { display: none !important; }
html.ak-c-on .minicart-wrapper .block-minicart::before, html.ak-c-on .minicart-wrapper .block-minicart::after { display: none !important; }
html.ak-c-on #minicart-content-wrapper { display: flex; flex-direction: column; max-height: min(78vh, 680px); }
@media (max-width: 768px) { html.ak-c-on #minicart-content-wrapper { max-height: calc(100vh - 80px); } }

/* title row */
html.ak-c-on .block-minicart .block-title { display: flex !important; align-items: center; margin: 0 !important; padding: 16px 60px 14px 20px !important; border-bottom: 1px solid #E3ECEA !important; }
html.ak-c-on .block-minicart .block-title strong { display: flex; align-items: baseline; gap: 10px; font: 700 18px/1.2 Montserrat, Poppins, Arial, sans-serif !important; color: #1E2A2C !important; text-transform: none !important; }
html.ak-c-on .block-minicart .block-title .qty { font-size: 0 !important; background: none !important; padding: 0 !important; min-width: 0 !important; height: auto !important; }
html.ak-c-on .block-minicart .block-title .qty::after { content: attr(data-label); font: 500 13px/1 Poppins, Arial, sans-serif; color: #66777A; letter-spacing: 0; }
html.ak-c-on .block-minicart .block-title .qty.empty::after { content: ""; }
html.ak-c-on .block-minicart .block-content { display: flex; flex-direction: column; min-height: 0; flex: 1; padding: 0 !important; position: static !important; }
html.ak-c-on .block-minicart #btn-minicart-close, html.ak-c-on .block-minicart #btn-minicart-close:hover, html.ak-c-on .block-minicart #btn-minicart-close:focus {
  position: absolute !important; top: 8px !important; right: 8px !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; background: #F5F8F7 !important; border: 0 !important; box-shadow: none !important; display: grid !important; place-items: center; padding: 0 !important; }
html.ak-c-on .block-minicart #btn-minicart-close::before { font-size: 18px !important; line-height: 44px !important; color: #1E2A2C !important; }

/* order: items first, then subtotal, notes and the button */
html.ak-c-on .block-minicart .items-total, html.ak-c-on .block-minicart .block-content > .subtitle:not(.empty) { display: none !important; }
html.ak-c-on .block-minicart .minicart-items-wrapper { order: 1; flex: 1 1 auto; min-height: 0; height: auto !important; max-height: none !important; overflow: auto !important; margin: 0 !important; padding: 4px 20px !important; border: 0 !important; overscroll-behavior: contain; }
html.ak-c-on .block-minicart .ak-c-note { order: 2; }
html.ak-c-on .block-minicart .subtotal { order: 3; }
html.ak-c-on .block-minicart .ak-c-ship-note { order: 4; }
html.ak-c-on .block-minicart .block-content > .actions { order: 5; }
html.ak-c-on .block-minicart .block-content > *:not(.minicart-items-wrapper):not(#btn-minicart-close) { flex: none; }

/* items */
html.ak-c-on .block-minicart .minicart-items { margin: 0 !important; padding: 0 !important; list-style: none; }
html.ak-c-on .block-minicart .minicart-items .product-item { padding: 16px 0 !important; margin: 0 !important; border: 0 !important; border-top: 1px solid #E3ECEA !important; }
html.ak-c-on .block-minicart .minicart-items .product-item:first-child { border-top: 0 !important; }
html.ak-c-on .block-minicart .minicart-items .product-item > .product { display: grid !important; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; align-items: start; }
html.ak-c-on .block-minicart .product-item-photo { float: none !important; width: 76px !important; display: block; }
html.ak-c-on .block-minicart .product-image-container { width: 76px !important; display: block; border-radius: 12px; overflow: hidden; background: #F5F8F7; }
html.ak-c-on .block-minicart .product-image-wrapper { padding-bottom: 100% !important; position: relative; display: block; }
html.ak-c-on .block-minicart .product-image-photo { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; object-fit: contain; }
html.ak-c-on .block-minicart .product-item-details { padding: 0 !important; text-align: left !important; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
html.ak-c-on .block-minicart .product-item-name { margin: 0 !important; display: block; font-weight: 400 !important; }
html.ak-c-on .block-minicart .product-item-name a { font: 400 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif !important; color: #2A3638 !important; text-decoration: none !important; }
html.ak-c-on .block-minicart .product-item-name a:hover { text-decoration: underline !important; text-decoration-color: #57D5C2 !important; }

/* options: always shown, as "Character  Zhongli 钟离 鍾離" */
html.ak-c-on .block-minicart .product.options { margin: 0 !important; }
html.ak-c-on .block-minicart .product.options .toggle, html.ak-c-on .block-minicart .product.options .subtitle { display: none !important; }
html.ak-c-on .block-minicart .product.options .content { display: block !important; }
html.ak-c-on .block-minicart .product.options.list, html.ak-c-on .block-minicart dl.product.options.list { display: flex !important; flex-wrap: wrap; gap: 6px; margin: 0 !important; }
html.ak-c-on .block-minicart .product.options.list dt { display: none !important; }
html.ak-c-on .block-minicart .product.options.list dd { display: inline-flex; align-items: baseline; gap: 6px; margin: 0 !important; padding: 4px 10px; border-radius: 8px; background: #EAF8F5; font: 600 12.5px/1.35 Poppins, Arial, sans-serif; color: #1E2A2C; }
html.ak-c-on .block-minicart .ak-c-optlabel { font-weight: 500; color: #66777A; }

/* when it ships: the same dots as the lists */
html.ak-c-on .block-minicart .ak-ship { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #66777A; font-weight: 500; }
html.ak-c-on .block-minicart .ak-ship::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #B9C7C4; flex: none; }
html.ak-c-on .block-minicart .ak-ship--ready::before { background: #2DB37A; }
html.ak-c-on .block-minicart .ak-ship--pre::before { background: #57D5C2; }
html.ak-c-on .block-minicart .ak-ship--order::before { background: #41B7F9; }

/* price + quantity stepper */
html.ak-c-on .block-minicart .product-item-pricing { display: flex !important; align-items: center; justify-content: space-between; gap: 10px; margin: 2px 0 0 !important; }
html.ak-c-on .block-minicart .product-item-pricing .price-container { margin: 0 !important; }
html.ak-c-on .block-minicart .product-item-pricing .price { font: 700 15px/1.2 Poppins, Arial, sans-serif !important; color: #1E2A2C !important; }
html.ak-c-on .block-minicart .details-qty { display: flex !important; align-items: center; gap: 0; margin: 0 !important; }
html.ak-c-on .block-minicart .details-qty .label { display: none !important; }
html.ak-c-on .block-minicart .details-qty .cart-item-qty { width: 40px !important; height: 36px !important; margin: 0 !important; padding: 0 !important; border: 1.5px solid #E3ECEA !important; border-left: 0 !important; border-right: 0 !important; border-radius: 0 !important;
  text-align: center; font: 600 14px/1 Poppins, Arial, sans-serif !important; color: #1E2A2C; background: #fff !important; -moz-appearance: textfield; box-shadow: none !important; }
html.ak-c-on .block-minicart .details-qty .cart-item-qty::-webkit-inner-spin-button, html.ak-c-on .block-minicart .details-qty .cart-item-qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
html.ak-c-on .block-minicart .ak-c-step, html.ak-c-on .block-minicart .ak-c-step:hover, html.ak-c-on .block-minicart .ak-c-step:focus, html.ak-c-on .block-minicart .ak-c-step:active {
  width: 36px; height: 36px !important; min-height: 0 !important; padding: 0 !important; display: grid; place-items: center; border: 1.5px solid #E3ECEA !important; background: #fff !important; color: #1E2A2C !important;
  font: 500 18px/1 Poppins, Arial, sans-serif !important; box-shadow: none !important; text-transform: none !important; cursor: pointer; }
html.ak-c-on .block-minicart .ak-c-step--minus { border-radius: 10px 0 0 10px !important; }
html.ak-c-on .block-minicart .ak-c-step--plus { border-radius: 0 10px 10px 0 !important; }
html.ak-c-on .block-minicart .ak-c-step:hover { background: #EAF8F5 !important; border-color: #57D5C2 !important; }
html.ak-c-on .block-minicart .update-cart-item, html.ak-c-on .block-minicart .update-cart-item:hover, html.ak-c-on .block-minicart .update-cart-item:focus {
  margin-left: 8px !important; height: 36px !important; padding: 0 14px !important; border-radius: 999px !important; border: 0 !important; background: #57D5C2 !important; color: #fff !important; font: 700 13px/1 Poppins, Arial, sans-serif !important; text-transform: none !important; box-shadow: none !important; }

/* edit / remove as words, not icons */
html.ak-c-on .block-minicart .product.actions { display: flex !important; gap: 4px; margin: 0 !important; float: none !important; position: static !important; }
html.ak-c-on .block-minicart .product.actions .primary, html.ak-c-on .block-minicart .product.actions .secondary { display: block !important; float: none !important; margin: 0 !important; position: static !important; }
html.ak-c-on .block-minicart .product.actions .action { display: inline-flex !important; align-items: center; min-height: 32px; padding: 0 8px 0 0 !important; font: 600 12.5px/1 Poppins, Arial, sans-serif !important; color: #66777A !important;
  text-decoration: underline !important; text-decoration-color: #C9D6D3 !important; text-underline-offset: 3px; background: none !important; }
html.ak-c-on .block-minicart .product.actions .action:hover { color: #1E2A2C !important; text-decoration-color: #57D5C2 !important; }
html.ak-c-on .block-minicart .product.actions .action::before { display: none !important; content: none !important; }
html.ak-c-on .block-minicart .product.actions .action > span { position: static !important; width: auto !important; height: auto !important; clip: auto !important; overflow: visible !important; margin: 0 !important; }

/* footer: notes, subtotal, button */
html.ak-c-on .block-minicart .ak-c-note { margin: 0 !important; padding: 10px 20px; background: #EAF8F5; font: 400 12.5px/1.5 Poppins, Arial, sans-serif; color: #1E2A2C; border-top: 1px solid #E3ECEA; }
html.ak-c-on .block-minicart .ak-c-note b { font-weight: 700; }
html.ak-c-on .block-minicart .subtotal { display: flex !important; align-items: baseline; justify-content: space-between; margin: 0 !important; padding: 14px 20px 2px !important; border-top: 1px solid #E3ECEA !important; text-align: left !important; }
html.ak-c-on .block-minicart .subtotal .label { font: 600 14px/1.2 Poppins, Arial, sans-serif !important; color: #1E2A2C !important; text-transform: none !important; }
html.ak-c-on .block-minicart .subtotal .label::after { content: none !important; }
html.ak-c-on .block-minicart .subtotal .price { font: 800 20px/1.2 Montserrat, Poppins, Arial, sans-serif !important; color: #1E2A2C !important; }
html.ak-c-on .block-minicart .ak-c-ship-note { margin: 0 !important; padding: 0 20px 12px; font: 400 12px/1.4 Poppins, Arial, sans-serif; color: #66777A; }
html.ak-c-on .block-minicart .block-content > .actions { margin: 0 !important; padding: 0 20px 18px !important; }
html.ak-c-on .block-minicart .block-content > .actions .primary { margin: 0 !important; }
html.ak-c-on .block-minicart .action.viewcart, html.ak-c-on .block-minicart .action.viewcart:hover, html.ak-c-on .block-minicart .action.viewcart:focus {
  display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 50px !important; margin: 0 !important; border: 0 !important; border-radius: 999px !important; background: #57D5C2 !important; color: #fff !important;
  font: 700 15px/1 Poppins, Arial, sans-serif !important; text-transform: none !important; text-decoration: none !important; letter-spacing: .01em; box-shadow: 0 6px 16px rgba(87, 213, 194, .35) !important; }
html.ak-c-on .block-minicart .action.viewcart:hover { filter: brightness(.96); }

/* empty cart */
html.ak-c-on .block-minicart .subtitle.empty { display: block !important; padding: 34px 20px 30px !important; margin: 0 !important; text-align: center; font: 500 14px/1.5 Poppins, Arial, sans-serif !important; color: #66777A !important; text-transform: none !important; }
html.ak-c-on .block-minicart #minicart-content-wrapper:not(.ak-c-has-items) .subtotal, html.ak-c-on .block-minicart #minicart-content-wrapper:not(.ak-c-has-items) .ak-c-ship-note { display: none !important; }
/* the theme gives the details a fixed width and centres the row: undo both */
html.ak-c-on .block-minicart .minicart-items .product-item, html.ak-c-on .block-minicart .minicart-items .product-item * { text-align: left !important; }
html.ak-c-on .block-minicart .minicart-items .product-item-photo { grid-column: 1; grid-row: 1; margin: 0 !important; }
html.ak-c-on .block-minicart .minicart-items .product-item-details { grid-column: 2; grid-row: 1; width: auto !important; max-width: none !important; float: none !important; }
html.ak-c-on .block-minicart .details-qty .cart-item-qty { text-align: center !important; }
html.ak-c-on .block-minicart .ak-c-ship-note, html.ak-c-on .block-minicart .subtotal, html.ak-c-on .block-minicart .ak-c-note { text-align: left !important; }
html.ak-c-on .block-minicart .product-image-photo { color: transparent; font-size: 0; }
html.ak-c-on .block-minicart .product-image-photo.ak-c-ph { object-fit: contain; padding: 16%; background: #fff; }
/* no Edit link: changing options happens on the product page; Remove stays */
html.ak-c-on .block-minicart .product.actions .primary { display: none !important; }
