/* Aitai☆Kuji pages v1 — product / FAQ / CMS pages / blog / account / footer (2026-10-03).
   Built from the 09-30 preview minus parts now owned by ak-bundle (search popup, minicart, header cart) and the dropped phone buy bar. */
/* ==========================================================================
   Aitai☆Kuji — unified page design (product / search autocomplete / blog / footer pages)
   2026-09-30  ·  scoped by body class so nothing leaks to other pages
   Tokens follow the homepage system: mint #57D5C2 (hover #3FBFAB), gold star #F6B84B,
   ink #22302E, tint #EEFAF7, line #DFF3EF, radius 12px, Montserrat 700 headings, Poppins 600 UI
   ========================================================================== */
:root {
  --ak-mint: #57d5c2; --ak-mint-hover: #3fbfab; --ak-mint-deep: #1f8f7e;
  --ak-tint: #eefaf7; --ak-line: #dff3ef; --ak-ink: #22302e; --ak-ink-2: #5b6b68; --ak-ink-3: #8a9896;
  --ak-star: #f6b84b; --ak-gold-tint: #fff4de; --ak-gold-ink: #9a6400;
  --ak-red: #e05a5a; --ak-red-tint: #fdecee; --ak-red-ink: #b3261e;
  --ak-radius: 12px; --ak-radius-lg: 16px;
  --ak-shadow: 0 6px 24px rgba(34, 48, 46, .08);
  --ak-font-head: Montserrat, "Helvetica Neue", Arial, sans-serif;
  --ak-font-ui: Poppins, "Helvetica Neue", Arial, sans-serif;
}

/* ---------- shared primitives (only used by the selectors below) ---------- */
.ak-scope .ak-h, .ak-page-head h1 { display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; font: 700 26px/1.2 var(--ak-font-head) !important; letter-spacing: -.01em; color: var(--ak-mint) !important; text-transform: none !important; }
.ak-page-head h1::before, .ak-scope .ak-h::before { content: ""; flex: 0 0 22px; width: 22px; height: 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6B84B' d='M12 2.6l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.5l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 767px) { .ak-scope .ak-h, .ak-page-head h1 { font-size: 22px !important; } .ak-page-head h1::before, .ak-scope .ak-h::before { flex-basis: 19px; width: 19px; height: 19px; } }

/* primary pill button (form submits, CTAs on the pages in scope) */
:is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)) { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 26px !important; border: 0 !important; border-radius: 999px !important; background: var(--ak-mint) !important; color: #fff !important; font: 600 15px/1 var(--ak-font-ui) !important; letter-spacing: .01em; text-transform: none !important; text-decoration: none !important; box-shadow: 0 4px 14px rgba(87, 213, 194, .35); cursor: pointer; transition: background .2s ease, transform .15s ease, box-shadow .2s ease; }
@media (hover: hover) { :is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)):hover { background: var(--ak-mint-hover) !important; color: #fff !important; box-shadow: 0 6px 18px rgba(87, 213, 194, .45); transform: translateY(-1px); } }
:is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)):active { transform: translateY(0); }
:is(.ak-btn-secondary, :where(.customer-account-login .block-new-customer .action.create)) { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 22px !important; border: 2px solid var(--ak-mint) !important; border-radius: 999px !important; background: #fff !important; color: var(--ak-mint-deep) !important; font: 600 14px/1 var(--ak-font-ui) !important; text-transform: none !important; text-decoration: none !important; cursor: pointer; transition: background .2s ease, color .2s ease; }
@media (hover: hover) { :is(.ak-btn-secondary, :where(.customer-account-login .block-new-customer .action.create)):hover { background: var(--ak-tint) !important; color: var(--ak-mint-deep) !important; } }

/* inputs shared by forms in scope */
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .input-text, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) select, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) textarea,
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) input[type=text], :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) input[type=email], :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) input[type=password], :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) input[type=number] {
  height: 48px; padding: 0 16px !important; border: 1.5px solid #d9e6e3 !important; border-radius: 12px !important; background: #fff !important;
  font: 400 15px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink) !important; box-shadow: none !important; transition: border-color .15s ease, box-shadow .15s ease; box-sizing: border-box; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) textarea { height: auto; min-height: 140px; padding: 12px 16px !important; resize: vertical; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .input-text:focus, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) select:focus, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) textarea:focus { border-color: var(--ak-mint) !important; box-shadow: 0 0 0 4px rgba(87, 213, 194, .18) !important; outline: none; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .input-text::placeholder, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) textarea::placeholder { color: #9aa8a5; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) select { appearance: none; -webkit-appearance: none; padding-right: 42px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2322302e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat !important; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field { margin: 0 0 14px !important; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field .label, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) label.label { display: block; margin: 0 0 6px; font: 600 13px/1.3 var(--ak-font-ui); color: var(--ak-ink-2); text-transform: none; letter-spacing: 0; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field.required > .label::after, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field._required > .label::after { content: " *"; color: var(--ak-red); margin: 0; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field.choice { display: flex; align-items: center; gap: 10px; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field.choice .label { margin: 0; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) input[type=checkbox] { width: 18px; height: 18px; margin: 0; accent-color: var(--ak-mint); }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) div.mage-error, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field-error { margin: 6px 0 0 !important; font: 500 12px/1.4 var(--ak-font-ui) !important; color: var(--ak-red-ink) !important; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .input-text.mage-error, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) select.mage-error, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) textarea.mage-error { border-color: var(--ak-red) !important; box-shadow: 0 0 0 4px rgba(224, 90, 90, .14) !important; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .fieldset::after, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .fieldset > .legend + br { display: none !important; }

/* content prose used on blog posts / cms text pages */
.ak-prose { font: 400 16px/1.75 var(--ak-font-head); color: var(--ak-ink); }
.ak-prose p { margin: 0 0 1.1em; }
.ak-prose h1, .ak-prose h2 { margin: 1.6em 0 .6em; font: 700 22px/1.3 var(--ak-font-head); color: var(--ak-ink); text-transform: none; letter-spacing: -.01em; }
.ak-prose h3, .ak-prose h4 { margin: 1.4em 0 .5em; font: 700 18px/1.35 var(--ak-font-head); color: var(--ak-ink); text-transform: none; }
.ak-prose h1:first-child, .ak-prose h2:first-child, .ak-prose h3:first-child { margin-top: 0; }
.ak-prose a { color: var(--ak-mint-deep); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(87, 213, 194, .6); text-underline-offset: 3px; }
.ak-prose a:hover { color: var(--ak-mint-hover); }
.ak-prose img { max-width: 100%; height: auto; border-radius: var(--ak-radius); }
.ak-prose ul, .ak-prose ol { padding-left: 1.4em; margin: 0 0 1.1em; }
.ak-prose li { margin: .3em 0; }
.ak-prose blockquote { margin: 1.2em 0; padding: 14px 18px; border-left: 4px solid var(--ak-mint); background: var(--ak-tint); border-radius: 0 var(--ak-radius) var(--ak-radius) 0; }
.ak-prose hr { border: 0; border-top: 1px solid var(--ak-line); margin: 2em 0; }
@media (max-width: 767px) { .ak-prose { font-size: 15px; line-height: 1.7; } .ak-prose h1, .ak-prose h2 { font-size: 20px; } }

/* note / callout box (auto-applied to "**PLEASE NOTE" paragraphs and the shipping notice) */
.ak-callout { position: relative; margin: 18px 0 0; padding: 14px 16px 14px 46px; border-radius: var(--ak-radius); background: var(--ak-gold-tint); color: var(--ak-gold-ink); font: 500 13px/1.6 var(--ak-font-ui); }
.ak-callout::before { content: ""; position: absolute; left: 16px; top: 15px; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23F6B84B'/%3E%3Crect x='10.7' y='6.5' width='2.6' height='7.5' rx='1.3' fill='%23fff'/%3E%3Ccircle cx='12' cy='17' r='1.5' fill='%23fff'/%3E%3C/svg%3E") center / contain no-repeat; }
.ak-callout p { margin: 0; }
.ak-callout strong { font-weight: 700; }

/* ==========================================================================
   1. PRODUCT PAGE  (body.catalog-product-view)
   ========================================================================== */
.catalog-product-view .product-main-content { border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 0 40px !important; }
.catalog-product-view .breadcrumbs { margin: 0 0 4px; }
.catalog-product-view .breadcrumbs .items { font: 500 11px/1.4 var(--ak-font-ui); letter-spacing: .04em; }
.catalog-product-view .breadcrumbs a { color: var(--ak-ink-3); }
.catalog-product-view .breadcrumbs strong { color: var(--ak-ink-2); font-weight: 600; }

/* --- gallery --- */
.catalog-product-view .product.media { position: relative; }
.catalog-product-view .product.media .fotorama__stage { border-radius: var(--ak-radius-lg); overflow: hidden; background: #fff; }
.catalog-product-view .product.media .fotorama__nav-wrap--vertical .fotorama__thumb, .catalog-product-view .product.media .fotorama__nav__frame--thumb .fotorama__thumb { border-radius: 10px; overflow: hidden; }
.catalog-product-view .fotorama__thumb-border { border-color: var(--ak-mint) !important; border-width: 2px !important; border-radius: 10px; background-image: none !important; }
.catalog-product-view .fotorama__arr { background: rgba(255,255,255,.9) !important; border-radius: 50%; width: 42px !important; height: 42px !important; top: 50%; margin-top: -21px; box-shadow: 0 4px 12px rgba(34,48,46,.12); opacity: 1 !important; }
.catalog-product-view .fotorama__arr .fotorama__arr__arr { background: none !important; width: 42px; height: 42px; }
.catalog-product-view .fotorama__arr .fotorama__arr__arr::before { content: ""; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2322302e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M14.5 6l-6 6 6 6'/%3E%3C/svg%3E") center / 20px no-repeat; }
.catalog-product-view .fotorama__arr--next .fotorama__arr__arr::before { transform: scaleX(-1); }
.catalog-product-view .fotorama__arr--prev { left: 10px !important; } .catalog-product-view .fotorama__arr--next { right: 10px !important; }
.catalog-product-view .fotorama__thumb__arr { background: rgba(255,255,255,.95) !important; border-radius: 8px; }
/* the theme's own corner ribbon (PRE ORDER / AS ORDER BASIS / SOLD OUT …) is kept as-is; only make sure it sits above the rounded stage */
.catalog-product-view .product.media .triangle { z-index: 5; }

/* --- info column --- */
.catalog-product-view .product-info-main { padding: 0 !important; }
.catalog-product-view .product-info-main .page-title-wrapper.product { margin: 0 0 10px; }
.catalog-product-view .product-info-main .page-title { margin: 0 !important; font: 700 24px/1.3 var(--ak-font-head) !important; letter-spacing: -.01em; color: var(--ak-ink) !important; text-transform: none !important; }
.catalog-product-view .product-info-stock-sku { display: flex; align-items: center; gap: 10px; margin: 0 0 14px !important; }
.catalog-product-view .product-info-stock-sku .stock { margin: 0 !important; }
.catalog-product-view .product-info-stock-sku .stock span { display: inline-block; padding: 5px 11px; border-radius: 999px; background: var(--ak-tint); color: var(--ak-mint-deep) !important; font: 700 11px/1 var(--ak-font-ui); letter-spacing: .08em; text-transform: uppercase; }
.catalog-product-view .product-info-stock-sku .stock.available span:not(.ak-preorder) { background: var(--ak-tint); color: var(--ak-mint-deep) !important; }
.catalog-product-view .product-info-stock-sku .stock span.ak-preorder { background: var(--ak-gold-tint); color: var(--ak-gold-ink) !important; }
.catalog-product-view .product-info-stock-sku .stock.unavailable span { background: #ecf0ef; color: var(--ak-ink-2) !important; }
.catalog-product-view .product-info-price { margin: 0 0 4px !important; }
.catalog-product-view .product-info-price .price-box { margin: 0 !important; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; }
.catalog-product-view .product-info-price .price-box .price-container { display: contents; }
.catalog-product-view .product-info-price .price-wrapper .price { font: 800 30px/1.1 var(--ak-font-head) !important; color: var(--ak-ink) !important; letter-spacing: -.02em; }
.catalog-product-view .product-info-price .usd-price { font: 500 13px/1.2 var(--ak-font-ui) !important; color: var(--ak-ink-3) !important; }
.catalog-product-view .product-info-price .old-price .price { font: 500 16px/1 var(--ak-font-head) !important; color: var(--ak-ink-3) !important; text-decoration: line-through; }
.catalog-product-view .product-info-release { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 18px !important; padding: 6px 12px 6px 10px; border-radius: 999px; background: #f4f7f6; color: var(--ak-ink-2); font: 500 12px/1.2 var(--ak-font-ui) !important; }
.catalog-product-view .product-info-release::before { content: ""; width: 14px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='3' fill='none' stroke='%235b6b68' stroke-width='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4' stroke='%235b6b68' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.catalog-product-view .product-info-release > div { display: inline; }

/* form: options → qty + wishlist → CTA → shipping estimate (order fixed by preview.js) */
.catalog-product-view .product-add-form { margin: 0 !important; padding: 0 !important; }
.catalog-product-view .product-add-form form { display: flex; flex-direction: column; gap: 0; }
.catalog-product-view .product-options-wrapper .fieldset { margin: 0 !important; padding: 0 !important; }
.catalog-product-view .product-options-wrapper .field.configurable { margin: 0 0 16px !important; }
.catalog-product-view .product-options-wrapper .field.configurable .label { display: block; margin: 0 0 6px; font: 600 13px/1.3 var(--ak-font-ui); color: var(--ak-ink-2); text-transform: none; }
.catalog-product-view .product-options-wrapper .field.configurable .label::after { content: " *"; color: var(--ak-red); }
.catalog-product-view .product-options-wrapper .super-attribute-select { height: 48px; padding: 0 42px 0 16px !important; border: 1.5px solid #d9e6e3 !important; border-radius: 12px !important; font: 500 15px/1.2 var(--ak-font-ui) !important; color: var(--ak-ink) !important; appearance: none; -webkit-appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2322302e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat !important; box-shadow: none !important; }
.catalog-product-view .product-options-wrapper .super-attribute-select:focus { border-color: var(--ak-mint) !important; box-shadow: 0 0 0 4px rgba(87,213,194,.18) !important; outline: none; }
.catalog-product-view .product-options-wrapper div.mage-error { margin: 6px 0 0 !important; font: 500 12px/1.4 var(--ak-font-ui) !important; color: var(--ak-red-ink) !important; }
.catalog-product-view .product-options-wrapper .super-attribute-select.mage-error { border-color: var(--ak-red) !important; }
.catalog-product-view .product-options-bottom { margin: 0 !important; padding: 0 !important; }

.catalog-product-view .box-tocart { margin: 0 !important; padding: 0 !important; width: 100%; }
.catalog-product-view .box-tocart .fieldset { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 !important; padding: 0 !important; }
.catalog-product-view .box-tocart .field.qty { margin: 0 !important; width: auto !important; flex: 0 0 auto; }
.catalog-product-view .box-tocart .field.qty .label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.catalog-product-view .box-tocart .field.qty .control { display: flex; align-items: center; height: 48px; border: 1.5px solid #d9e6e3; border-radius: 999px; overflow: hidden; background: #fff; }
.catalog-product-view .box-tocart .qty-minus, .catalog-product-view .box-tocart .qty-plus, .catalog-product-view .box-tocart .qty-input { float: none !important; margin: 0 !important; }
.catalog-product-view .box-tocart .btn-qty { display: flex !important; align-items: center; justify-content: center; width: 44px; height: 46px; border: 0 !important; background: transparent !important; color: var(--ak-ink) !important; font: 500 22px/1 var(--ak-font-ui) !important; text-decoration: none !important; transition: background .15s ease; }
@media (hover: hover) { .catalog-product-view .box-tocart .btn-qty:hover { background: var(--ak-tint) !important; color: var(--ak-mint-deep) !important; } }
.catalog-product-view .box-tocart .input-text.qty { width: 48px !important; height: 46px !important; border: 0 !important; background: transparent !important; text-align: center; font: 600 16px/1 var(--ak-font-ui) !important; color: var(--ak-ink) !important; box-shadow: none !important; padding: 0 !important; -moz-appearance: textfield; }
.catalog-product-view .box-tocart .input-text.qty::-webkit-outer-spin-button, .catalog-product-view .box-tocart .input-text.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* wishlist link moved next to qty by preview.js */
.catalog-product-view .product-addto-links { margin: 0 !important; flex: 1 1 auto; display: flex; }
.catalog-product-view .product-addto-links .action.towishlist { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 18px !important; margin: 0 !important; border: 1.5px solid #d9e6e3 !important; border-radius: 999px !important; background: #fff !important; color: var(--ak-ink) !important; font: 600 13px/1 var(--ak-font-ui) !important; text-transform: none !important; text-decoration: none !important; white-space: nowrap; transition: border-color .15s ease, background .15s ease; }
.catalog-product-view .product-addto-links .action.towishlist::before { content: ""; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23e05a5a' stroke-width='2' stroke-linejoin='round' d='M12 20.5l-1.4-1.3C5.4 14.5 2 11.4 2 7.6 2 4.6 4.4 2.3 7.3 2.3c1.8 0 3.5.9 4.7 2.3 1.2-1.4 2.9-2.3 4.7-2.3 2.9 0 5.3 2.3 5.3 5.3 0 3.8-3.4 6.9-8.6 11.6L12 20.5z'/%3E%3C/svg%3E") center / contain no-repeat; }
.catalog-product-view .product-addto-links .action.towishlist span { font: inherit; }
@media (hover: hover) { .catalog-product-view .product-addto-links .action.towishlist:hover { border-color: #e05a5a !important; background: #fff5f5 !important; } }
.catalog-product-view .box-tocart .actions { flex: 1 1 100%; margin: 14px 0 0 !important; padding: 0 !important; display: block; width: 100%; }
.catalog-product-view .box-tocart .action.primary.tocart { width: 100%; min-height: 56px; margin: 0 !important; border: 0 !important; border-radius: 999px !important; background: var(--ak-mint) !important; color: #fff !important; font: 700 17px/1 var(--ak-font-ui) !important; letter-spacing: .02em; text-transform: none !important; box-shadow: 0 6px 18px rgba(87,213,194,.38); transition: background .2s ease, transform .15s ease, box-shadow .2s ease; cursor: pointer; }
.catalog-product-view .box-tocart .action.primary.tocart span { position: relative; display: inline-flex; align-items: center; gap: 10px; }
.catalog-product-view .box-tocart .action.primary.tocart span::before { content: ""; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h8.6a2 2 0 0 0 2-1.5L21.5 8H6.5'/%3E%3Ccircle cx='10' cy='20.5' r='1.5' fill='%23fff'/%3E%3Ccircle cx='17.5' cy='20.5' r='1.5' fill='%23fff'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (hover: hover) { .catalog-product-view .box-tocart .action.primary.tocart:hover { background: var(--ak-mint-hover) !important; box-shadow: 0 8px 22px rgba(87,213,194,.48); transform: translateY(-1px); } }
.catalog-product-view .box-tocart .action.primary.tocart:active { transform: translateY(0); }
.catalog-product-view .box-tocart .action.primary.tocart.disabled, .catalog-product-view .box-tocart .action.primary.tocart[disabled] { opacity: .7; }
.catalog-product-view #instant-purchase { margin-top: 10px; }
/* out of stock: notify button gets the same shape as the CTA, wishlist stays below it */
.catalog-product-view .product.alert.stock { margin: 0 0 12px !important; }
.catalog-product-view .product.alert.stock .action.alert { display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 56px; margin: 0 !important; padding: 0 20px !important; border: 0 !important; border-radius: 999px !important; background: var(--ak-ink) !important; color: #fff !important; font: 700 16px/1 var(--ak-font-ui) !important; text-transform: none !important; text-decoration: none !important; box-shadow: 0 6px 18px rgba(34,48,46,.18); transition: background .2s ease; }
.catalog-product-view .product.alert.stock .action.alert::before { content: ""; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15zM10 20a2 2 0 0 0 4 0'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (hover: hover) { .catalog-product-view .product.alert.stock .action.alert:hover { background: #34433f !important; } }
.catalog-product-view .product-info-main > .product-addto-links { margin: 0 0 16px !important; }
.catalog-product-view .product-info-main > .product-addto-links .action.towishlist { width: 100%; }

/* shipping estimate → quiet card below the CTA */
.catalog-product-view .block-shipping-estimation { margin: 18px 0 0 !important; padding: 0 !important; border: 1.5px solid var(--ak-line) !important; border-radius: var(--ak-radius) !important; background: #fff !important; overflow: hidden; }
.catalog-product-view .block-shipping-estimation .block-title.block-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 !important; padding: 12px 16px !important; background: var(--ak-tint); border: 0 !important; }
.catalog-product-view .block-shipping-estimation .block-title strong { display: inline-flex; align-items: center; gap: 8px; font: 700 13px/1.2 var(--ak-font-ui) !important; color: var(--ak-ink) !important; }
.catalog-product-view .block-shipping-estimation .block-title strong::before { content: ""; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%231f8f7e' stroke-width='2'/%3E%3Cpath d='M3 12h18M12 3c2.8 3 2.8 15 0 18M12 3c-2.8 3-2.8 15 0 18' fill='none' stroke='%231f8f7e' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat; }
.catalog-product-view .block-shipping-estimation .content-toggle { padding: 6px 12px !important; border-radius: 999px; background: #fff !important; color: var(--ak-mint-deep) !important; font: 600 12px/1 var(--ak-font-ui) !important; text-decoration: none !important; border: 1.5px solid var(--ak-line); }
.catalog-product-view .block-shipping-estimation .block-content { padding: 14px 16px 16px !important; }
.catalog-product-view .block-shipping-estimation .fieldset { margin: 0 !important; padding: 0 !important; }
.catalog-product-view .block-shipping-estimation .field.country { margin: 0 0 10px !important; }
.catalog-product-view .block-shipping-estimation select { width: 100%; height: 44px; padding: 0 42px 0 14px !important; border: 1.5px solid #d9e6e3 !important; border-radius: 10px !important; font: 500 14px/1.2 var(--ak-font-ui) !important; color: var(--ak-ink) !important; appearance: none; -webkit-appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2322302e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center / 16px no-repeat !important; box-shadow: none !important; }
.catalog-product-view .block-shipping-estimation .bottom-section { display: flex; flex-direction: column; gap: 10px; }
.catalog-product-view .block-shipping-estimation .actions { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; }
.catalog-product-view .block-shipping-estimation .action.btn-submit { align-self: flex-start; min-height: 40px; padding: 0 20px !important; border: 0 !important; border-radius: 999px !important; background: var(--ak-mint) !important; color: #fff !important; font: 600 13px/1 var(--ak-font-ui) !important; text-transform: none !important; cursor: pointer; }
@media (hover: hover) { .catalog-product-view .block-shipping-estimation .action.btn-submit:hover { background: var(--ak-mint-hover) !important; } }
.catalog-product-view .block-shipping-estimation .actions p { margin: 0 !important; color: var(--ak-ink-3) !important; font: 400 12px/1.5 var(--ak-font-ui) !important; }
.catalog-product-view .block-shipping-estimation .shipping-cost-result .rs-inner { padding: 10px 12px; border-radius: 10px; background: #f6f9f8; font: 400 13px/1.5 var(--ak-font-ui); }
.catalog-product-view .block-shipping-estimation .rs-title { margin: 0 0 6px; font-weight: 700; color: var(--ak-ink); }

/* overview + description */
.catalog-product-view .product.attibute.overview { margin: 22px 0 0 !important; padding: 0 !important; border: 0 !important; }
.catalog-product-view .product.attibute.overview .title { display: block; margin: 0 0 6px !important; padding: 0 !important; border: 0 !important; cursor: default; }
.catalog-product-view .product.attibute.overview .title::after { display: none !important; }
.catalog-product-view .product.attibute.overview .title .type { display: inline-block; font: 700 11px/1 var(--ak-font-ui) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--ak-ink-3) !important; }
.catalog-product-view .product.attibute.overview .value { font: 400 14px/1.7 var(--ak-font-head) !important; color: var(--ak-ink-2) !important; }
.catalog-product-view .product.attibute.overview .value p { margin: 0 0 .6em; }

.catalog-product-view .product.info.detailed { margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
.catalog-product-view .product.data.items { border: 0 !important; margin: 0 !important; }
.catalog-product-view .product.data.items > .item.title { margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; float: none !important; width: auto !important; }
.catalog-product-view .product.data.items > .item.title > .switch { display: inline-flex !important; align-items: center; gap: 8px; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font: 700 22px/1.2 var(--ak-font-head) !important; color: var(--ak-mint) !important; text-transform: none !important; letter-spacing: -.01em; pointer-events: none; }
.catalog-product-view .product.data.items > .item.title > .switch::before { content: ""; position: static !important; flex: 0 0 20px; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6B84B' d='M12 2.6l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.5l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat; }
.catalog-product-view .product.data.items > .item.title > .switch::after { display: none !important; }
.catalog-product-view .product.data.items > .item.content { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; float: none !important; width: auto !important; }
.catalog-product-view .product.data.items > .item.content::before, .catalog-product-view .product.data.items > .item.content::after { display: none !important; }
.catalog-product-view .product.attribute.description .value { max-width: 860px; font: 400 15px/1.75 var(--ak-font-head) !important; color: var(--ak-ink) !important; }
.catalog-product-view .product.attribute.description .value p { margin: 0 0 1em !important; }
.catalog-product-view .product.attribute.description .value > br { display: none; }
.catalog-product-view .product.attribute.description .value p.ak-callout { margin: 18px 0 0 !important; }
.catalog-product-view .product.attribute.description .value img { max-width: 100%; height: auto; border-radius: var(--ak-radius); }

/* desktop grid: gallery 55% / info 45% */
@media (min-width: 769px) {
  .catalog-product-view .product-main-content { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: start; }
  .catalog-product-view .product.media, .catalog-product-view .product-info-main { float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; }
  .catalog-product-view .product-info-main { position: sticky; top: 92px; }
  .catalog-product-view .product.data.items > .item.title { display: block !important; }
}
@media (max-width: 1023px) and (min-width: 769px) { .catalog-product-view .product-main-content { gap: 24px; } .catalog-product-view .product-info-main { top: 128px; } }
@media (max-width: 768px) {
  .catalog-product-view .product-main-content { margin-bottom: 32px !important; }
  .catalog-product-view .product-info-main { margin-top: 12px !important; }
  .catalog-product-view .product-info-main .page-title { font-size: 20px !important; }
  .catalog-product-view .product-info-price .price-wrapper .price { font-size: 26px !important; }
  .catalog-product-view .box-tocart .actions { margin-top: 12px !important; }
  .catalog-product-view .product.data.items > .item.title { display: block !important; }
  .catalog-product-view .product.data.items > .item.title > .switch { font-size: 20px !important; }
  .catalog-product-view .product.media .fotorama__stage { border-radius: var(--ak-radius); }
}


/* ==========================================================================
   3. BLOG  (body.blog-page)
   ========================================================================== */
.blog-page .page-title-wrapper { margin: 8px 0 22px; }
.blog-page .page-title-wrapper .page-title { display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; font: 700 26px/1.2 var(--ak-font-head) !important; letter-spacing: -.01em; color: var(--ak-mint) !important; text-transform: none !important; }
.blog-page .page-title-wrapper .page-title::before { content: ""; flex: 0 0 22px; width: 22px; height: 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6B84B' d='M3 17.3V21h3.7L17.6 10.1l-3.7-3.7L3 17.3zm17.7-10.2a1 1 0 0 0 0-1.4l-2.4-2.4a1 1 0 0 0-1.4 0l-1.8 1.8 3.7 3.7 1.9-1.7z'/%3E%3C/svg%3E") center / contain no-repeat; }
.blog-page .breadcrumbs .items { font: 500 11px/1.4 var(--ak-font-ui); letter-spacing: .04em; }
.blog-page .breadcrumbs a { color: var(--ak-ink-3); }
.blog-page .breadcrumbs strong { color: var(--ak-ink-2); font-weight: 600; }
@media (min-width: 769px) { .blog-page.page-layout-2columns-right .column.main { width: calc(100% - 320px) !important; padding-right: 0 !important; } .blog-page.page-layout-2columns-right .sidebar { width: 288px !important; padding-left: 0 !important; margin-left: 32px; } }
@media (min-width: 769px) and (max-width: 1023px) { .blog-page.page-layout-2columns-right .column.main { width: calc(100% - 260px) !important; } .blog-page.page-layout-2columns-right .sidebar { width: 236px !important; margin-left: 24px; } }

/* --- list: card grid --- */
.blog-page-list .post-list, .blog-page .post-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; margin: 0 0 32px !important; padding: 0 !important; list-style: none; }
.blog-page .post-list .post-item { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.blog-page .post-list .post-container { display: flex; flex-direction: column; height: 100%; border-radius: var(--ak-radius-lg); background: #fff; border: 1.5px solid var(--ak-line); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
@media (hover: hover) { .blog-page .post-list .post-container:hover { transform: translateY(-3px); box-shadow: var(--ak-shadow); border-color: transparent; } }
.blog-page .post-list .post-image { float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.blog-page .post-list .image-container { position: relative; }
.blog-page .post-list .image-wrap { display: block; }
.blog-page .post-list .bg-img { width: 100%; aspect-ratio: 16 / 9; height: auto !important; min-height: 0 !important; background-size: cover; background-position: center; transition: transform .4s ease; }
@media (hover: hover) { .blog-page .post-list .post-container:hover .bg-img { transform: scale(1.03); } }
.blog-page .post-list .post-category { position: absolute; left: 12px; bottom: 12px; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; }
.blog-page .post-list .post-category .category-name, .blog-post-view .post-header .category-name { display: inline-block; padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--ak-mint-deep) !important; font: 700 10px/1 var(--ak-font-ui) !important; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; backdrop-filter: blur(4px); }
.blog-page .post-list .post-info { display: flex; flex: 1 1 auto; flex-direction: column; float: none !important; width: auto !important; margin: 0 !important; padding: 16px 18px 18px !important; }
.blog-page .post-list .post-title-wrap { margin: 0 0 6px !important; }
.blog-page .post-list .post-title { margin: 0 !important; font: 700 17px/1.35 var(--ak-font-head) !important; letter-spacing: -.01em; }
.blog-page .post-list .post-title a { color: var(--ak-ink) !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.blog-page .post-list .post-title a:hover { color: var(--ak-mint-deep) !important; }
.blog-page .post-list .post-data-wrap { margin: 0 0 10px !important; font: 500 12px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink-3) !important; }
.blog-page .post-list .post-date > span:first-child { display: none; } /* the "-" prefix */
.blog-page .post-list .post-description { flex: 1 1 auto; margin: 0 0 14px !important; font: 400 14px/1.6 var(--ak-font-head) !important; color: var(--ak-ink-2) !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.blog-page .post-list .post-description h1, .blog-page .post-list .post-description h2, .blog-page .post-list .post-description h3 { display: none !important; } /* the body's own headline repeats the title */
.blog-page .post-list .post-description p { margin: 0 0 .5em !important; }
.blog-page .post-list .post-description img, .blog-page .post-list .post-description br { display: none !important; }
.blog-page .post-list .post-read-more { margin: 0 !important; padding: 0 !important; }
.blog-page .post-list .post-read-more .action.primary { display: inline-flex !important; align-items: center; gap: 6px; min-height: 0; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; color: var(--ak-mint-deep) !important; font: 600 13px/1 var(--ak-font-ui) !important; text-transform: none !important; text-decoration: none !important; box-shadow: none !important; }
.blog-page .post-list .post-read-more .action.primary::after { content: "→"; transition: transform .2s ease; }
.blog-page .post-list .post-read-more .action.primary:hover::after { transform: translateX(3px); }
@media (max-width: 1023px) and (min-width: 769px) { .blog-page .post-list { gap: 20px 16px; } }
@media (max-width: 640px) { .blog-page .post-list { grid-template-columns: 1fr; gap: 20px; } .blog-page .post-list .post-info { padding: 14px 16px 16px !important; } }

/* pager → mint pills (same as listing pages) */
.blog-page .toolbar-blog-posts { margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; display: flex; justify-content: center; }
.blog-page .toolbar-blog-posts .pages { float: none !important; margin: 0 !important; }
.blog-page .toolbar-blog-posts .pages .pages-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.blog-page .toolbar-blog-posts .pages .items { display: flex; gap: 6px; align-items: center; }
.blog-page .toolbar-blog-posts .pages .item { margin: 0 !important; }
.blog-page .toolbar-blog-posts .pages .page, .blog-page .toolbar-blog-posts .pages .action { display: inline-flex !important; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 12px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 999px !important; background: #fff !important; color: var(--ak-ink) !important; font: 600 13px/1 var(--ak-font-ui) !important; text-decoration: none !important; box-shadow: none !important; }
.blog-page .toolbar-blog-posts .pages .item.current .page { background: var(--ak-mint) !important; border-color: var(--ak-mint) !important; color: #fff !important; }
.blog-page .toolbar-blog-posts .pages a.page:hover, .blog-page .toolbar-blog-posts .pages .action:hover { border-color: var(--ak-mint) !important; color: var(--ak-mint-deep) !important; }
.blog-page .toolbar-blog-posts .pages .action::before { color: inherit !important; }

/* --- sidebar --- */
.blog-page .sidebar .widget.block { margin: 0 0 22px !important; padding: 0 !important; border: 0 !important; }
.blog-page .sidebar .block-title { margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; }
.blog-page .sidebar .block-title strong { font: 700 12px/1 var(--ak-font-ui) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--ak-ink-3) !important; }
.blog-page .sidebar .blog-search .form { position: relative; }
.blog-page .sidebar .blog-search .field.search { margin: 0 !important; }
.blog-page .sidebar .blog-search .label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.blog-page .sidebar .blog-search .input-text { width: 100%; height: 46px; padding: 0 48px 0 16px !important; border: 1.5px solid #d9e6e3 !important; border-radius: 999px !important; font: 400 14px/1 var(--ak-font-ui) !important; color: var(--ak-ink) !important; box-shadow: none !important; box-sizing: border-box; }
.blog-page .sidebar .blog-search .input-text:focus { border-color: var(--ak-mint) !important; box-shadow: 0 0 0 4px rgba(87,213,194,.18) !important; outline: none; }
.blog-page .sidebar .blog-search .actions { position: absolute; right: 5px; top: 5px; margin: 0 !important; }
.blog-page .sidebar .blog-search .action.search { width: 36px; height: 36px; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: var(--ak-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3Cpath d='M15 15l5 5' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center / 18px no-repeat !important; box-shadow: none !important; }
.blog-page .sidebar .blog-search .action.search span, .blog-page .sidebar .blog-search .action.search::before { display: none !important; }
.blog-page .sidebar .block-categories .accordion, .blog-page .sidebar .block-archive .accordion, .blog-page .sidebar .block-categories ul, .blog-page .sidebar .block-archive ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; }
.blog-page .sidebar .block-categories li, .blog-page .sidebar .block-archive li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.blog-page .sidebar .block-categories li a, .blog-page .sidebar .block-archive li a { display: inline-flex; align-items: center; padding: 8px 12px !important; border-radius: 999px; border: 1.5px solid var(--ak-line); background: #fff; color: var(--ak-ink) !important; font: 500 12px/1.2 var(--ak-font-ui) !important; text-decoration: none !important; text-transform: none !important; transition: background .15s ease, border-color .15s ease; }
.blog-page .sidebar .block-categories li a:hover, .blog-page .sidebar .block-archive li a:hover { background: var(--ak-tint); border-color: var(--ak-mint); color: var(--ak-mint-deep) !important; }
.blog-page .sidebar .block-categories li.current a, .blog-page .sidebar .block-categories li a.current { background: var(--ak-mint); border-color: var(--ak-mint); color: #fff !important; }
.blog-page .sidebar .block-archive li.ak-more-hidden { display: none; }
.blog-page .sidebar .ak-archive-more { display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 0; padding: 0; border: 0; background: none; color: var(--ak-mint-deep); font: 600 12px/1 var(--ak-font-ui); cursor: pointer; }
.blog-page .sidebar .ak-archive-more::after { content: "▾"; }
.blog-page .sidebar .ak-archive-more.is-open::after { content: "▴"; }
@media (max-width: 768px) { .blog-page .sidebar { margin-top: 12px; padding-top: 24px; border-top: 1px solid var(--ak-line); } }

/* --- single post --- */
.blog-post-view .page-title-wrapper .page-title { font-size: 30px !important; line-height: 1.25 !important; color: var(--ak-ink) !important; letter-spacing: -.02em; display: block; }
.blog-post-view .page-title-wrapper .page-title::before { display: none; }
.blog-post-view .page-title-wrapper { margin: 8px 0 14px; max-width: 800px; }
.blog-post-view .post-view .post-header { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 18px; }
.blog-post-view .post-view .post-header .post-category { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; }
.blog-post-view .post-header .category-name { background: var(--ak-tint); }
.blog-post-view .post-header .post-data-wrap { margin: 0 !important; font: 500 12px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink-3) !important; }
.blog-post-view .post-header .post-date > span:first-child { display: none; }
.blog-post-view .post-featured-image { margin: 0 0 26px !important; }
.blog-post-view .post-featured-image img { width: 100%; height: auto; border-radius: var(--ak-radius-lg); display: block; }
.blog-post-view .post-content .post-description { max-width: 800px; font: 400 16px/1.75 var(--ak-font-head); color: var(--ak-ink); }
.blog-post-view .post-content .post-description p { margin: 0 0 1.1em; }
.blog-post-view .post-content .post-description h1, .blog-post-view .post-content .post-description h2 { margin: 1.6em 0 .6em; font: 700 22px/1.3 var(--ak-font-head); color: var(--ak-ink); text-transform: none; letter-spacing: -.01em; }
.blog-post-view .post-content .post-description > h1:first-child { margin-top: 0; }
.blog-post-view .post-content .post-description h3, .blog-post-view .post-content .post-description h4 { margin: 1.4em 0 .5em; font: 700 18px/1.35 var(--ak-font-head); color: var(--ak-ink); text-transform: none; }
.blog-post-view .post-content .post-description a { color: var(--ak-mint-deep); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(87,213,194,.6); text-underline-offset: 3px; }
.blog-post-view .post-content .post-description img { max-width: 100%; height: auto; border-radius: var(--ak-radius); }
.blog-post-view .post-content .post-description ul, .blog-post-view .post-content .post-description ol { padding-left: 1.4em; }
.blog-post-view .post-content .post-description blockquote { margin: 1.2em 0; padding: 14px 18px; border-left: 4px solid var(--ak-mint); background: var(--ak-tint); border-radius: 0 var(--ak-radius) var(--ak-radius) 0; }
@media (max-width: 767px) { .blog-post-view .page-title-wrapper .page-title { font-size: 24px !important; } .blog-post-view .post-content .post-description { font-size: 15px; line-height: 1.7; } .blog-post-view .post-content .post-description h1, .blog-post-view .post-content .post-description h2 { font-size: 20px; } }
/* bottom: sharing + prev/next */
.blog-post-view .post-bottom { margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--ak-line); }
.blog-post-view .post-sharing { margin: 0 0 20px !important; padding: 0 !important; border: 0 !important; }
.blog-post-view .post-sharing .share-elements { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; justify-content: flex-start !important; }
.blog-post-view .post-sharing .share-elements::before { content: "Share"; margin-right: 4px; font: 700 11px/1 var(--ak-font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--ak-ink-3); }
.blog-post-view .post-sharing .icon-wrapper { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; padding: 0 14px 0 8px !important; height: 40px; border-radius: 999px !important; background: #fff !important; border: 1.5px solid var(--ak-line); color: var(--ak-ink) !important; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.blog-post-view .post-sharing .icon-wrapper:hover { border-color: var(--ak-mint); background: var(--ak-tint) !important; }
.blog-post-view .post-sharing .icon-wrapper .icon { width: 26px; height: 26px; margin: 0 !important; padding: 0 !important; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--ak-ink); }
.blog-post-view .post-sharing .icon-wrapper .icon img { width: 14px; height: 14px; filter: brightness(0) invert(1); }
.blog-post-view .post-sharing .icon-wrapper .label { font: 600 12px/1 var(--ak-font-ui) !important; color: inherit !important; }
.blog-post-view .post-nextprev-hld { display: flex; justify-content: space-between; gap: 12px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.blog-post-view .post-nextprev-hld .nextprev-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 999px !important; background: #fff !important; color: var(--ak-ink) !important; font: 600 13px/1 var(--ak-font-ui) !important; text-decoration: none !important; float: none !important; }
.blog-post-view .post-nextprev-hld .nextprev-link:hover { border-color: var(--ak-mint) !important; color: var(--ak-mint-deep) !important; }
.blog-post-view .post-nextprev-hld .next-link { margin-left: auto; }

/* ==========================================================================
   4. FOOTER PAGES  (cms-page-view / contact / faq / login / create / account)
   ========================================================================== */
.ak-page-head { margin: 8px 0 24px; }
.cms-page-view .page-title-wrapper, .contact-index-index .page-title-wrapper, .faq-index-index .page-title-wrapper, .customer-account-login .page-title-wrapper, .customer-account-create .page-title-wrapper, .customer-account-forgotpassword .page-title-wrapper { margin: 8px 0 24px !important; }
.cms-page-view .page-title-wrapper .page-title, .contact-index-index .page-title-wrapper .page-title, .faq-index-index .page-title-wrapper .page-title, .customer-account-login .page-title-wrapper .page-title, .customer-account-create .page-title-wrapper .page-title, .customer-account-forgotpassword .page-title-wrapper .page-title, .account .page-title-wrapper .page-title { display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; font: 700 26px/1.2 var(--ak-font-head) !important; letter-spacing: -.01em; color: var(--ak-mint) !important; text-transform: none !important; }
.cms-page-view .page-title-wrapper .page-title::before, .contact-index-index .page-title-wrapper .page-title::before, .faq-index-index .page-title-wrapper .page-title::before, .customer-account-login .page-title-wrapper .page-title::before, .customer-account-create .page-title-wrapper .page-title::before, .customer-account-forgotpassword .page-title-wrapper .page-title::before, .account .page-title-wrapper .page-title::before { content: ""; flex: 0 0 22px; width: 22px; height: 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6B84B' d='M12 2.6l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.5l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 767px) { .cms-page-view .page-title-wrapper .page-title, .contact-index-index .page-title-wrapper .page-title, .faq-index-index .page-title-wrapper .page-title, .customer-account-login .page-title-wrapper .page-title, .customer-account-create .page-title-wrapper .page-title, .account .page-title-wrapper .page-title { font-size: 22px !important; } }
.cms-page-view .breadcrumbs .items, .faq-index-index .breadcrumbs .items, .contact-index-index .breadcrumbs .items { font: 500 11px/1.4 var(--ak-font-ui); letter-spacing: .04em; }
.cms-page-view .breadcrumbs a, .faq-index-index .breadcrumbs a { color: var(--ak-ink-3); }
.cms-page-view .breadcrumbs strong, .faq-index-index .breadcrumbs strong { color: var(--ak-ink-2); font-weight: 600; }

/* text pages: comfortable reading column */
.cms-about-us .column.main, .cms-message-from-founder .column.main, .cms-privacy-policy .column.main, .cms-shipping .column.main { font: 400 16px/1.75 var(--ak-font-head); color: var(--ak-ink); }
.cms-about-us .column.main p, .cms-message-from-founder .column.main p, .cms-shipping .column.main p { margin: 0 0 1.1em; }
.cms-about-us .column.main a, .cms-message-from-founder .column.main a, .cms-shipping .column.main a, .cms-privacy-policy .column.main a { color: var(--ak-mint-deep); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(87,213,194,.6); text-underline-offset: 3px; }
@media (max-width: 767px) { .cms-about-us .column.main, .cms-message-from-founder .column.main, .cms-shipping .column.main { font-size: 15px; line-height: 1.7; } }

/* About Us: the two inline-styled tables → clean definition cards */
.cms-about-us .column.main > div[style] { display: block !important; overflow: visible !important; margin: 0 0 28px !important; }
.cms-about-us .column.main > div[style] > p { margin: 0 0 12px !important; }
.cms-about-us .column.main > div[style] > p > strong { display: inline-flex; align-items: center; gap: 8px; font: 700 18px/1.3 var(--ak-font-head); color: var(--ak-ink); }
.cms-about-us .column.main table { width: 100% !important; max-width: 860px; height: auto !important; float: none !important; margin: 0 0 8px !important; border: 0 !important; border-collapse: separate !important; border-spacing: 0; border-radius: var(--ak-radius-lg); overflow: hidden; background: #fff; box-shadow: 0 0 0 1.5px var(--ak-line); }
.cms-about-us .column.main table td { width: auto !important; padding: 12px 16px !important; border: 0 !important; border-bottom: 1px solid var(--ak-line) !important; font: 400 14px/1.55 var(--ak-font-head) !important; color: var(--ak-ink) !important; vertical-align: top; text-align: left !important; }
.cms-about-us .column.main table tr:last-child td { border-bottom: 0 !important; }
.cms-about-us .column.main table td:first-child { width: 34% !important; background: var(--ak-tint); color: var(--ak-ink-2) !important; }
.cms-about-us .column.main table td:first-child strong { font: 600 13px/1.4 var(--ak-font-ui); color: var(--ak-ink-2); }
@media (max-width: 640px) { .cms-about-us .column.main table td:first-child { width: 40% !important; } .cms-about-us .column.main table td { padding: 10px 12px !important; font-size: 13px !important; } }

/* Shipping Info: notice → callout, tables → cards, bare h4 → section headings */
.cms-shipping .rg-container { max-width: 960px; }
.cms-shipping .column.main > .rg-container > h4:first-child { margin: 0 0 22px; padding: 14px 16px 14px 46px; border-radius: var(--ak-radius); background: var(--ak-gold-tint); position: relative; font: 500 14px/1.6 var(--ak-font-ui) !important; text-transform: none !important; letter-spacing: 0; }
.cms-shipping .column.main > .rg-container > h4:first-child::before { content: ""; position: absolute; left: 16px; top: 15px; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23F6B84B'/%3E%3Crect x='10.7' y='6.5' width='2.6' height='7.5' rx='1.3' fill='%23fff'/%3E%3Ccircle cx='12' cy='17' r='1.5' fill='%23fff'/%3E%3C/svg%3E") center / contain no-repeat; }
.cms-shipping .column.main > .rg-container > h4:first-child span, .cms-shipping .column.main > .rg-container > h4:first-child strong { color: var(--ak-gold-ink) !important; font-weight: 500 !important; }
.cms-shipping .column.main > .rg-container > h4:first-child a { color: var(--ak-gold-ink) !important; font-weight: 700 !important; }
.cms-shipping .rg-container > img { margin: 0 auto 8px !important; max-width: 100%; height: auto; }
.cms-shipping .rg-container hr { border: 0; border-top: 1px solid var(--ak-line); margin: 20px 0; }
.cms-shipping h4:not(:first-child) { margin: 34px 0 14px; font: 700 20px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; text-transform: none !important; letter-spacing: -.01em; }
.cms-shipping .rg-table { width: 100%; margin: 0 0 18px; border-collapse: separate !important; border-spacing: 0; border-radius: var(--ak-radius-lg); overflow: hidden; box-shadow: 0 0 0 1.5px var(--ak-line); background: #fff; font: 400 14px/1.5 var(--ak-font-head); }
.cms-shipping .rg-table th { padding: 12px 12px !important; background: var(--ak-tint) !important; color: var(--ak-mint-deep) !important; font: 700 11px/1.3 var(--ak-font-ui) !important; letter-spacing: .08em; text-transform: uppercase; border: 0 !important; }
.cms-shipping .rg-table td { padding: 11px 12px !important; border: 0 !important; border-top: 1px solid var(--ak-line) !important; color: var(--ak-ink) !important; vertical-align: middle; }
.cms-shipping .rg-table.zebra tbody tr:nth-child(even) td { background: #fafcfb; }
.cms-shipping .rg-table td:first-child { font-weight: 600; }
.cms-shipping .rg-table td span[style*="ff0000"], .cms-shipping .rg-table td span[style*="FF0000"] { color: var(--ak-red-ink) !important; font-weight: 600; }
.cms-shipping .column.main p { font-size: 14px; color: var(--ak-ink-2); }
@media (max-width: 640px) {
  .cms-shipping .rg-table thead { display: none; }
  .cms-shipping .rg-table, .cms-shipping .rg-table tbody, .cms-shipping .rg-table tr, .cms-shipping .rg-table td { display: block; width: 100%; box-sizing: border-box; }
  .cms-shipping .rg-table { box-shadow: none; background: none; overflow: visible; }
  .cms-shipping .rg-table tr { margin: 0 0 12px; border-radius: var(--ak-radius); box-shadow: 0 0 0 1.5px var(--ak-line); overflow: hidden; background: #fff; }
  .cms-shipping .rg-table.zebra tbody tr:nth-child(even) td { background: #fff; }
  .cms-shipping .rg-table td { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px !important; text-align: right !important; border-top: 1px solid var(--ak-line) !important; }
  .cms-shipping .rg-table td:first-child { border-top: 0 !important; background: var(--ak-tint); }
  .cms-shipping .rg-table td::before { content: attr(data-title); flex: 0 0 auto; text-align: left; font: 600 11px/1.5 var(--ak-font-ui); letter-spacing: .04em; text-transform: uppercase; color: var(--ak-ink-3); }
}

/* Message from the Founder */
.cms-message-from-founder .column.main { max-width: 800px; }
.cms-message-from-founder .column.main img { display: block; width: 100%; max-width: 420px; height: auto !important; margin: 0 0 22px; border-radius: var(--ak-radius-lg); box-shadow: var(--ak-shadow); }
.cms-message-from-founder .column.main p:first-child > strong { display: block; margin: 0 0 14px; font: 700 20px/1.35 var(--ak-font-head); color: var(--ak-ink); }
.cms-message-from-founder .column.main p:first-child > strong br { display: none; }
.cms-message-from-founder .column.main p:first-child > strong + br { display: none; }

/* Privacy Policy: one-liner → card with a clear action */
.cms-privacy-policy .column.main > p { max-width: 640px; margin: 8px 0 0; padding: 26px 26px 28px; border-radius: var(--ak-radius-lg); border: 1.5px solid var(--ak-line); background: #fff; font: 400 15px/1.7 var(--ak-font-head); color: var(--ak-ink-2); }
.cms-privacy-policy .column.main > p a { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; min-height: 44px; padding: 0 22px; border-radius: 999px; background: var(--ak-mint); color: #fff !important; font: 600 14px/1 var(--ak-font-ui) !important; text-decoration: none !important; }
.cms-privacy-policy .column.main > p a::after { content: "↗"; }
.cms-privacy-policy .column.main > p a:hover { background: var(--ak-mint-hover); }

/* Contact Us */
.contact-index-index .column.main > .row { display: flex; justify-content: center; }
.contact-index-index .form.contact { width: 100%; max-width: 600px; margin: 0 auto; padding: 28px 28px 30px; border-radius: var(--ak-radius-lg); border: 1.5px solid var(--ak-line); background: #fff; box-shadow: var(--ak-shadow); box-sizing: border-box; }
.contact-index-index .form.contact .fieldset { margin: 0 !important; padding: 0 !important; }
.contact-index-index .form.contact .contact-logo { display: block; width: 180px; height: auto; margin: 0 auto 6px; }
.contact-index-index .form.contact .contact-logo + br { display: none; }
.contact-index-index .form.contact .field.note { margin: 0 0 22px !important; text-align: center; font: 400 14px/1.6 var(--ak-font-head) !important; color: var(--ak-ink-2) !important; }
.contact-index-index .form.contact .field-recaptcha { margin: 6px 0 18px; }
.contact-index-index .form.contact .actions-toolbar { margin: 0 !important; padding: 0 !important; }
.contact-index-index .form.contact .actions-toolbar .primary { float: none !important; width: 100%; }
.contact-index-index .form.contact .action.submit { width: 100%; }
@media (max-width: 640px) { .contact-index-index .form.contact { padding: 22px 18px 24px; border-radius: var(--ak-radius); } }

/* FAQ */
.faq-index-index .faq-groups { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0 0 26px !important; }
.faq-index-index .faq-group { flex: 1 1 150px; max-width: 190px; margin: 0 !important; padding: 16px 12px 14px !important; border-radius: var(--ak-radius-lg); border: 1.5px solid var(--ak-line); background: #fff; text-align: center; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
@media (hover: hover) { .faq-index-index .faq-group:hover { transform: translateY(-2px); box-shadow: var(--ak-shadow); border-color: transparent; } }
.faq-index-index .faq-group-image img { width: 72px; height: 72px; object-fit: contain; }
.faq-index-index .faq-groupname a { display: block; margin-top: 8px; font: 700 12px/1.2 var(--ak-font-ui) !important; letter-spacing: .06em; text-transform: uppercase; color: var(--ak-ink) !important; text-decoration: none !important; }
.faq-index-index .collspan-expand-block { display: flex; justify-content: flex-end; gap: 8px; margin: 0 0 8px !important; font: 600 12px/1 var(--ak-font-ui); color: var(--ak-ink-3); }
.faq-index-index .collspan-expand-block a { padding: 7px 12px; border-radius: 999px; border: 1.5px solid var(--ak-line); background: #fff; color: var(--ak-ink-2) !important; text-decoration: none !important; }
.faq-index-index .collspan-expand-block a:hover { border-color: var(--ak-mint); color: var(--ak-mint-deep) !important; }
.faq-index-index .group-title { display: inline-flex; align-items: center; gap: 8px; margin: 28px 0 14px !important; padding: 0 !important; border: 0 !important; font: 700 22px/1.2 var(--ak-font-head) !important; color: var(--ak-mint) !important; text-transform: none !important; letter-spacing: -.01em; }
.faq-index-index .group-title::before { content: ""; flex: 0 0 20px; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6B84B' d='M12 2.6l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.5l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat; }
.faq-index-index .faq-accordion { border: 0 !important; background: none !important; }
.faq-index-index .faq-accordion .ui-accordion-header { position: relative; margin: 0 0 10px !important; padding: 15px 52px 15px 18px !important; border: 1.5px solid var(--ak-line) !important; border-radius: var(--ak-radius) !important; background: #fff !important; color: var(--ak-ink) !important; font: 600 15px/1.4 var(--ak-font-head) !important; cursor: pointer; transition: border-color .15s ease, background .15s ease; outline: none; }
.faq-index-index .faq-accordion .ui-accordion-header:hover { border-color: var(--ak-mint) !important; }
.faq-index-index .faq-accordion .ui-accordion-header.ui-state-active { border-color: var(--ak-mint) !important; background: var(--ak-tint) !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; margin-bottom: 0 !important; }
.faq-index-index .faq-accordion .ui-accordion-header .ui-icon { position: absolute; right: 16px; top: 50%; left: auto; width: 24px; height: 24px; margin: -12px 0 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231f8f7e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 20px no-repeat !important; text-indent: 0; transition: transform .2s ease; }
.faq-index-index .faq-accordion .ui-accordion-header.ui-state-active .ui-icon { transform: rotate(180deg); }
.faq-index-index .faq-accordion .ui-accordion-content { margin: 0 0 10px !important; padding: 16px 18px 18px !important; border: 1.5px solid var(--ak-mint) !important; border-top: 0 !important; border-radius: 0 0 var(--ak-radius) var(--ak-radius) !important; background: #fff !important; font: 400 15px/1.7 var(--ak-font-head) !important; color: var(--ak-ink) !important; }
.faq-index-index .faq-accordion .ui-accordion-content p { margin: 0 0 .8em; }
.faq-index-index .faq-accordion .ui-accordion-content p:last-child { margin-bottom: 0; }
.faq-index-index .faq-accordion .ui-accordion-content a { color: var(--ak-mint-deep); font-weight: 600; }
@media (max-width: 640px) { .faq-index-index .faq-groups { gap: 8px; } .faq-index-index .faq-group { flex-basis: calc(33.333% - 6px); max-width: none; padding: 12px 6px 10px !important; } .faq-index-index .faq-group-image img { width: 52px; height: 52px; } .faq-index-index .faq-groupname a { font-size: 10px !important; } .faq-index-index .faq-accordion .ui-accordion-header { font-size: 14px !important; padding: 13px 46px 13px 14px !important; } .faq-index-index .faq-accordion .ui-accordion-content { padding: 14px 14px 16px !important; font-size: 14px !important; } }

/* Login */
.customer-account-login .login-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 900px; margin: 0 auto; }
.customer-account-login .login-container .block { float: none !important; width: auto !important; margin: 0 !important; padding: 30px 30px 32px !important; border: 1.5px solid var(--ak-line) !important; border-radius: var(--ak-radius-lg); background: #fff; box-shadow: var(--ak-shadow); box-sizing: border-box; }
.customer-account-login .login-container .block-title { margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; text-align: left; }
.customer-account-login .login-container .block-title strong { display: block; font: 700 20px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; text-transform: none !important; letter-spacing: -.01em; }
.customer-account-login .login-container .block-title .field.note { margin: 6px 0 0 !important; font: 400 13px/1.5 var(--ak-font-head) !important; color: var(--ak-ink-2) !important; }
.customer-account-login .form-login .fieldset { margin: 0 !important; padding: 0 !important; }
.customer-account-login .form-login .actions-toolbar { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin: 6px 0 0 !important; padding: 0 !important; }
.customer-account-login .form-login .actions-toolbar .primary, .customer-account-login .form-login .actions-toolbar .secondary { float: none !important; width: 100%; text-align: center; }
.customer-account-login .form-login .action.login { width: 100%; }
.customer-account-login .form-login .action.remind { font: 600 13px/1 var(--ak-font-ui) !important; color: var(--ak-mint-deep) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.customer-account-login .block-new-customer .block-content p { margin: 0 0 18px; font: 400 14px/1.65 var(--ak-font-head); color: var(--ak-ink-2); text-align: left; }
.customer-account-login .block-new-customer .action.create { width: 100%; }
.customer-account-login .block-new-customer .block-content ul { margin: 0 0 18px; padding: 0; list-style: none; }
@media (max-width: 767px) { .customer-account-login .login-container { grid-template-columns: 1fr; gap: 16px; } .customer-account-login .login-container .block { padding: 22px 18px 24px !important; border-radius: var(--ak-radius); } }

/* Create account */
.customer-account-create .form-create-account { max-width: 560px; margin: 0 auto; padding: 30px 30px 32px; border: 1.5px solid var(--ak-line); border-radius: var(--ak-radius-lg); background: #fff; box-shadow: var(--ak-shadow); box-sizing: border-box; width: auto !important; min-width: 0 !important; }
.customer-account-create .form-create-account .fieldset { margin: 0 0 22px !important; padding: 0 !important; }
.customer-account-create .form-create-account .fieldset > .legend { float: none !important; width: auto !important; margin: 0 0 14px !important; padding: 0 0 8px !important; border-bottom: 1px solid var(--ak-line) !important; font: 700 12px/1 var(--ak-font-ui) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--ak-ink-3) !important; }
.customer-account-create .form-create-account .fieldset > .legend span { font: inherit; color: inherit; }
.customer-account-create .form-create-account .fieldset > .legend + br { display: none !important; }
.customer-account-create .form-create-account .customer-dob { position: relative; display: flex; gap: 8px; align-items: center; }
.customer-account-create .form-create-account .customer-dob input { flex: 1 1 auto; }
.customer-account-create .form-create-account .customer-dob .ui-datepicker-trigger, .customer-account-create .form-create-account .customer-dob button { flex: 0 0 auto; height: 48px; margin: 0 !important; padding: 0 16px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 12px !important; background: var(--ak-tint) !important; color: var(--ak-mint-deep) !important; font: 600 12px/1 var(--ak-font-ui) !important; text-transform: none !important; box-shadow: none !important; }
.customer-account-create .password-strength-meter { margin: 8px 0 0; height: auto; padding: 0; background: none !important; font: 500 12px/1.4 var(--ak-font-ui); color: var(--ak-ink-3); }
.customer-account-create .password-strength-meter::before { content: ""; display: block; height: 6px; margin: 0 0 6px; border-radius: 999px; background: #e6eeec; width: 100%; }
.customer-account-create .password-weak .password-strength-meter::before { background: linear-gradient(90deg, #e05a5a 0 25%, #e6eeec 25%); }
.customer-account-create .password-medium .password-strength-meter::before { background: linear-gradient(90deg, #f6b84b 0 50%, #e6eeec 50%); }
.customer-account-create .password-strong .password-strength-meter::before { background: linear-gradient(90deg, #57d5c2 0 75%, #e6eeec 75%); }
.customer-account-create .password-very-strong .password-strength-meter::before { background: #3fbfab; }
.customer-account-create .form-create-account .actions-toolbar { display: flex; flex-direction: column; gap: 12px; margin: 0 !important; padding: 0 !important; }
.customer-account-create .form-create-account .actions-toolbar .primary, .customer-account-create .form-create-account .actions-toolbar .secondary { float: none !important; width: 100%; text-align: center; }
.customer-account-create .form-create-account .action.submit { width: 100%; }
.customer-account-create .form-create-account .action.back { font: 600 13px/1 var(--ak-font-ui) !important; color: var(--ak-mint-deep) !important; }
@media (max-width: 640px) { .customer-account-create .form-create-account { padding: 22px 18px 24px; border-radius: var(--ak-radius); } }
/* forgot password shares the same shell */
.customer-account-forgotpassword .form.password.forget { max-width: 480px; margin: 0 auto; padding: 30px; border: 1.5px solid var(--ak-line); border-radius: var(--ak-radius-lg); background: #fff; box-shadow: var(--ak-shadow); box-sizing: border-box; width: auto !important; min-width: 0 !important; }
.customer-account-forgotpassword .form.password.forget .actions-toolbar { display: flex; flex-direction: column; gap: 12px; margin: 0 !important; }
.customer-account-forgotpassword .form.password.forget .actions-toolbar .primary, .customer-account-forgotpassword .form.password.forget .actions-toolbar .secondary { float: none !important; width: 100%; text-align: center; }
.customer-account-forgotpassword .form.password.forget .action.submit { width: 100%; }

/* Account area (Order Status etc., after login) — sidebar nav + tables in the same language */
.account .columns { gap: 0; }
.account .sidebar-main .block-collapsible-nav { margin: 0 0 24px; }
.account .block-collapsible-nav .content { padding: 8px !important; border: 1.5px solid var(--ak-line); border-radius: var(--ak-radius-lg); background: #fff !important; }
.account .block-collapsible-nav .item { margin: 0 !important; }
.account .block-collapsible-nav .item a, .account .block-collapsible-nav .item strong { display: block; padding: 10px 14px !important; border: 0 !important; border-radius: 10px; font: 500 14px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink) !important; text-decoration: none !important; }
.account .block-collapsible-nav .item a:hover { background: var(--ak-tint); color: var(--ak-mint-deep) !important; }
.account .block-collapsible-nav .item.current a, .account .block-collapsible-nav .item.current strong { background: var(--ak-mint) !important; color: #fff !important; font-weight: 600 !important; }
.account .column.main .block:not(.widget) .block-title, .account .column.main .legend { margin: 0 0 14px !important; padding: 0 0 8px !important; border-bottom: 1px solid var(--ak-line) !important; }
.account .column.main .block:not(.widget) .block-title strong, .account .column.main .legend span { font: 700 18px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; text-transform: none !important; }
.account .column.main .block:not(.widget) .block-title .action, .account .column.main .box .box-actions .action { font: 600 13px/1 var(--ak-font-ui) !important; color: var(--ak-mint-deep) !important; }
.account .table-wrapper { border-radius: var(--ak-radius-lg); box-shadow: 0 0 0 1.5px var(--ak-line); overflow: hidden; background: #fff; }
.account .table-wrapper .table > thead > tr > th { padding: 12px 14px !important; background: var(--ak-tint) !important; border: 0 !important; font: 700 11px/1.3 var(--ak-font-ui) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--ak-mint-deep) !important; }
.account .table-wrapper .table > tbody > tr > td { padding: 12px 14px !important; border: 0 !important; border-top: 1px solid var(--ak-line) !important; font: 400 14px/1.5 var(--ak-font-head) !important; color: var(--ak-ink) !important; vertical-align: middle; }
.account .table-wrapper .table .col.actions a, .account .table-wrapper .table .action { font: 600 13px/1 var(--ak-font-ui) !important; color: var(--ak-mint-deep) !important; text-decoration: none !important; }
.account .table-wrapper .table .col.actions a + a::before { content: "·"; margin: 0 8px; color: var(--ak-ink-3); }
.account .column.main .message.info.empty, .account .column.main .message.empty { border-radius: var(--ak-radius) !important; }
.account .column.main .action.primary, .account .column.main button.action.save, .account .column.main .action.submit { min-height: 46px; padding: 0 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--ak-mint) !important; color: #fff !important; font: 600 14px/1 var(--ak-font-ui) !important; text-transform: none !important; box-shadow: 0 4px 14px rgba(87,213,194,.35); }
.account .column.main .action.primary:hover { background: var(--ak-mint-hover) !important; }
.account .column.main .action.back, .account .column.main .actions-toolbar .secondary .action { font: 600 13px/1 var(--ak-font-ui) !important; color: var(--ak-mint-deep) !important; }
.account .column.main .box { padding: 18px; border: 1.5px solid var(--ak-line); border-radius: var(--ak-radius); background: #fff; }
.account .column.main .box .box-title { margin: 0 0 8px; }
.account .column.main .box .box-title span { font: 700 14px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink) !important; }
.account .column.main .box .box-content { font: 400 14px/1.6 var(--ak-font-head) !important; color: var(--ak-ink-2) !important; }
.account .column.main .order-status { display: inline-block; padding: 5px 11px; border: 0 !important; border-radius: 999px; background: var(--ak-tint); color: var(--ak-mint-deep) !important; font: 700 11px/1 var(--ak-font-ui) !important; letter-spacing: .06em; text-transform: uppercase; }
.account .column.main .order-date { font: 500 13px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink-3) !important; }
.account .column.main .order-links { border: 0 !important; margin: 0 0 16px !important; display: flex; gap: 8px; flex-wrap: wrap; }
.account .column.main .order-links .item { margin: 0 !important; }
.account .column.main .order-links .item a, .account .column.main .order-links .item strong { display: inline-block; padding: 8px 14px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 999px; background: #fff !important; font: 600 13px/1 var(--ak-font-ui) !important; color: var(--ak-ink) !important; text-decoration: none !important; }
.account .column.main .order-links .item.current strong { background: var(--ak-mint) !important; border-color: var(--ak-mint) !important; color: #fff !important; }
.account .column.main .order-actions-toolbar .action { font: 600 13px/1 var(--ak-font-ui) !important; color: var(--ak-mint-deep) !important; }
.account .form-edit-account .fieldset, .account .form-address-edit .fieldset, .account .form-newsletter-manage .fieldset { margin: 0 0 22px !important; padding: 0 !important; }
@media (max-width: 768px) {
  .account .table-wrapper { box-shadow: none; overflow: visible; background: none; }
  .account .table-wrapper .table > tbody > tr { display: block; margin: 0 0 12px; border-radius: var(--ak-radius); box-shadow: 0 0 0 1.5px var(--ak-line); overflow: hidden; background: #fff; }
  .account .table-wrapper .table > tbody > tr > td { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px !important; }
  .account .table-wrapper .table > tbody > tr > td::before { content: attr(data-th); flex: 0 0 auto; padding: 0; font: 600 11px/1.5 var(--ak-font-ui); letter-spacing: .04em; text-transform: uppercase; color: var(--ak-ink-3); }
  .account .table-wrapper .table > tbody > tr > td:first-child { border-top: 0 !important; }
  .account .block-collapsible-nav .content { border: 0; padding: 0 !important; }
}

/* ==========================================================================
   5. NOTIFICATIONS that normally stay hidden (all pages)
   ========================================================================== */
/* checkout/authentication modal (opens from "Proceed to checkout" as a guest) */
.modal-popup.popup-authentication .modal-inner-wrap { border-radius: var(--ak-radius-lg); overflow: hidden; }
.modal-popup.popup-authentication .modal-header { padding: 22px 26px 0 !important; }
.modal-popup.popup-authentication .modal-title { border: 0 !important; padding: 0 0 12px !important; font: 700 20px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; text-transform: none !important; }
.modal-popup.popup-authentication .modal-content { padding: 0 26px 26px !important; }
.modal-popup.popup-authentication .block-title strong { font: 700 16px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; text-transform: none !important; }
.modal-popup.popup-authentication .block-title { border: 0 !important; padding: 0 0 8px !important; }
.modal-popup.popup-authentication .block-content p, .modal-popup.popup-authentication .block-content li { font: 400 14px/1.6 var(--ak-font-head) !important; color: var(--ak-ink-2) !important; }
.modal-popup.popup-authentication .block-content .actions-toolbar .primary { float: none !important; width: 100%; }
.modal-popup.popup-authentication .action.primary, .modal-popup.popup-authentication .action.action-register { width: 100%; min-height: 48px; border: 0 !important; border-radius: 999px !important; background: var(--ak-mint) !important; color: #fff !important; font: 600 15px/1 var(--ak-font-ui) !important; text-transform: none !important; box-shadow: 0 4px 14px rgba(87,213,194,.35); }
.modal-popup.popup-authentication .action.primary:hover { background: var(--ak-mint-hover) !important; }
.modal-popup.popup-authentication .form-login .input-text { height: 48px; padding: 0 16px !important; border: 1.5px solid #d9e6e3 !important; border-radius: 12px !important; font: 400 15px/1.4 var(--ak-font-ui) !important; box-shadow: none !important; box-sizing: border-box; }
.modal-popup.popup-authentication .form-login .input-text:focus { border-color: var(--ak-mint) !important; box-shadow: 0 0 0 4px rgba(87,213,194,.18) !important; outline: none; }
.modal-popup.popup-authentication .form-login .label { font: 600 13px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; text-transform: none !important; }
.modal-popup.popup-authentication .action-close { top: 14px !important; right: 14px !important; }
.modal-popup.popup-authentication .action.remind { font: 600 13px/1 var(--ak-font-ui) !important; color: var(--ak-mint-deep) !important; }
@media (min-width: 769px) { .modal-popup.popup-authentication .block-authentication { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; } .modal-popup.popup-authentication .block-authentication .block { float: none !important; width: auto !important; padding: 0 !important; border: 0 !important; margin: 0 !important; } .modal-popup.popup-authentication .block-authentication .block-customer-login { padding-left: 26px !important; border-left: 1px solid var(--ak-line) !important; } }
/* generic modals used by the theme (product alert confirm etc.) */
.modal-popup:not(.popup-authentication) .modal-inner-wrap { border-radius: var(--ak-radius-lg); }
.modal-popup:not(.popup-authentication) .modal-title { font: 700 18px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; border: 0 !important; text-transform: none !important; }
.modal-popup:not(.popup-authentication) .modal-footer .action.primary, .modal-popup:not(.popup-authentication) .modal-footer .action-primary { min-height: 44px; padding: 0 22px !important; border: 0 !important; border-radius: 999px !important; background: var(--ak-mint) !important; color: #fff !important; font: 600 14px/1 var(--ak-font-ui) !important; text-transform: none !important; }
.modal-popup:not(.popup-authentication) .modal-footer .action-secondary, .modal-popup:not(.popup-authentication) .modal-footer .action.secondary { min-height: 44px; padding: 0 22px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 999px !important; background: #fff !important; color: var(--ak-ink) !important; font: 600 14px/1 var(--ak-font-ui) !important; text-transform: none !important; }
/* cookie-disabled banner (only appears when cookies are blocked) */
#cookie-status.cookie-status-message { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 950; padding: 14px 18px; border-radius: var(--ak-radius); background: var(--ak-red-tint); color: var(--ak-red-ink); font: 500 14px/1.5 var(--ak-font-ui); box-shadow: var(--ak-shadow); }
/* newsletter subscribe / form validation inline errors anywhere in scope */
.section-footer .offer-email div.mage-error { margin: 6px 0 0; font: 500 12px/1.4 var(--ak-font-ui); color: #ffe5e5; }
.section-footer .offer-email .input-group-field.mage-error { border-color: #ffb3b3 !important; }

/* ---- fixes after the first mobile pass (2026-09-30) ---- */
.catalog-product-view .product-addto-links { width: auto !important; max-width: none !important; float: none !important; }
.catalog-product-view .product-addto-links .action.towishlist span { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; line-height: 1 !important; }
.catalog-product-view .product-info-main > .product-addto-links .action.towishlist { width: 100% !important; }
.catalog-product-view .block-shipping-estimation .block-title strong { white-space: nowrap; }
.catalog-product-view .block-shipping-estimation .content-toggle { white-space: nowrap; font-size: 11px !important; padding: 6px 10px !important; }
@media (max-width: 380px) { .catalog-product-view .block-shipping-estimation .block-title { padding: 10px 12px !important; } .catalog-product-view .block-shipping-estimation .block-title strong { font-size: 12px !important; } }

/* ---- blog fixes after the first mobile pass ---- */
.blog-page .post-list .image-wrap { position: relative; display: block; height: auto !important; padding: 0 !important; overflow: hidden; }
.blog-page .post-list .bg-img { position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; width: 100%; aspect-ratio: 16 / 9; height: auto !important; min-height: 0 !important; }
.blog-page .post-list .image-container { position: relative; padding: 0 !important; }
.blog-page .sidebar .block-categories li a, .blog-page .sidebar .block-archive .item a { margin: 0 !important; }
.blog-page .sidebar .block-archive .block-content { display: flex; flex-wrap: wrap; gap: 8px; }
.blog-page .sidebar .block-archive .item { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.blog-page .sidebar .block-archive .item a { display: inline-flex; align-items: center; padding: 8px 12px !important; border-radius: 999px; border: 1.5px solid var(--ak-line); background: #fff; color: var(--ak-ink) !important; font: 500 12px/1.2 var(--ak-font-ui) !important; text-decoration: none !important; text-transform: none !important; transition: background .15s ease, border-color .15s ease; }
.blog-page .sidebar .block-archive .item a:hover { background: var(--ak-tint); border-color: var(--ak-mint); color: var(--ak-mint-deep) !important; }
.blog-page .sidebar .block-archive .item.ak-more-hidden { display: none; }
.blog-page .sidebar .ak-archive-more { flex: 1 1 100%; }
.blog-page .sidebar .block-title strong::after, .blog-page .sidebar .block-title::after { display: none !important; }
.blog-page .sidebar .block-title { border: 0 !important; }
.blog-post-view .post-sharing .icon-wrapper { position: relative; overflow: visible; }
.blog-post-view .post-sharing .icon-wrapper .label { position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; background: none !important; padding: 0 !important; margin: 0 !important; white-space: nowrap; }
.blog-page .post-list .post-image { height: auto !important; min-height: 0 !important; max-height: none !important; }
.blog-page .post-list .post-read-more { display: block !important; }
.blog-page .post-list .image-container, .blog-page .post-list .image-wrap, .blog-page .post-list .bg-img { margin: 0 !important; }
.blog-post-view .post-sharing .icon-wrapper .label { height: auto !important; line-height: 1 !important; }
.blog-page .post-list .post-image { flex: 0 0 auto !important; order: 0; }
.blog-page .post-list .post-info { flex: 1 1 auto !important; }
.blog-page .post-list .bg-img { background-size: cover !important; background-position: center !important; }
.customer-account-login .login-container .block-content, .customer-account-login .form-login, .customer-account-login .form-login .fieldset, .customer-account-create .form-create-account .block-content-register { border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; background: none !important; }
.customer-account-create .password-strength-meter { padding: 0 !important; }
/* Create account: the theme hides .page-title-wrapper and prints its own heading inside .block-title */
.customer-account-create .column.main > .block-title, .customer-account-create .block-content-register > .block-title, .customer-account-create .block-title:has(> #block-customer-login-heading) { margin: 8px 0 22px !important; padding: 0 !important; border: 0 !important; text-align: left !important; }
.customer-account-create .block-title > #block-customer-login-heading { display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; font: 700 26px/1.2 var(--ak-font-head) !important; letter-spacing: -.01em; color: var(--ak-mint) !important; text-transform: none !important; }
.customer-account-create .block-title > #block-customer-login-heading::before { content: ""; flex: 0 0 22px; width: 22px; height: 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6B84B' d='M12 2.6l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.5l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat; }
.customer-account-create .block-title > .field.note, .customer-account-create .block-title > p, .customer-account-create .block-title > div { margin: 6px 0 0 !important; font: 400 14px/1.6 var(--ak-font-head) !important; color: var(--ak-ink-2) !important; text-align: left !important; text-transform: none !important; }
@media (max-width: 767px) { .customer-account-create .block-title > #block-customer-login-heading { font-size: 22px !important; } }
/* Login: force the two-card grid over the theme's flex/float layout */
.customer-account-login .login-container { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 24px !important; max-width: 900px !important; margin: 0 auto !important; }
.customer-account-login .login-container > .block { width: 100% !important; max-width: none !important; min-width: 0 !important; flex: none !important; text-align: left !important; }
.customer-account-login .login-container .block-title, .customer-account-login .login-container .block-content { text-align: left !important; }
.customer-account-login .login-container .block-title strong { text-align: left !important; }
@media (max-width: 767px) { .customer-account-login .login-container { grid-template-columns: 1fr !important; gap: 16px !important; } }
.customer-account-login .login-container { width: 100% !important; box-sizing: border-box; }
.customer-account-login .login-container > .block-customer-login { grid-column: 1; grid-row: 1; }
.customer-account-login .login-container > .block-new-customer { grid-column: 2; grid-row: 1; }
@media (max-width: 767px) { .customer-account-login .login-container > .block-customer-login { grid-column: 1; grid-row: 1; } .customer-account-login .login-container > .block-new-customer { grid-column: 1; grid-row: 2; } }
.cms-privacy-policy .column.main > p a { display: flex !important; width: max-content; }
@media (max-width: 1023px) { .blog-page .post-list .post-title a { -webkit-line-clamp: 3; } }
/* checkout authentication modal: theme's square SIGN IN → same pill as the rest */
.modal-popup.popup-authentication .action.action-login, .modal-popup.popup-authentication .block-customer-login .action.primary { min-height: 48px; padding: 0 26px !important; border: 0 !important; border-radius: 999px !important; background: var(--ak-mint) !important; color: #fff !important; font: 600 15px/1 var(--ak-font-ui) !important; text-transform: none !important; box-shadow: 0 4px 14px rgba(87,213,194,.35); }
.modal-popup.popup-authentication .block-authentication .block-title strong { font: 700 17px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; text-transform: none !important; }
.modal-popup.popup-authentication .block-authentication .block-title { border: 0 !important; margin: 0 0 12px !important; padding: 0 !important; }
.modal-popup.popup-authentication .block-new-customer .actions-toolbar { margin-top: 14px !important; }
.modal-popup.popup-authentication .block-new-customer .action.action-register { width: 100%; }

/* ---- account area, after checking with the logged-in test customer (2026-09-30) ---- */
.account .sidebar-main .block-collapsible-nav .title { margin: 0 0 8px !important; padding: 0 0 0 6px !important; border: 0 !important; }
.account .sidebar-main .block-collapsible-nav .title strong { font: 700 11px/1 var(--ak-font-ui) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--ak-ink-3) !important; }
.account .sidebar-main .block-collapsible-nav + .block-collapsible-nav { display: none !important; } /* theme prints an empty second "My Account" block */
/* wishlist: show the item controls as a card instead of only on hover */
.wishlist-index-index .products-grid.wishlist { display: block; margin: 0 0 20px !important; }
.wishlist-index-index .products-grid.wishlist .product-items { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; margin: 0 !important; padding: 0 !important; width: auto !important; }
.wishlist-index-index .products-grid.wishlist .product-items::before, .wishlist-index-index .products-grid.wishlist .product-items::after { display: none !important; }
.wishlist-index-index .products-grid.wishlist .product-item { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; display: block !important; }
.wishlist-index-index .products-grid.wishlist .product-item-info { position: static !important; width: auto !important; margin: 0 !important; padding: 14px !important; border: 1.5px solid var(--ak-line) !important; border-radius: var(--ak-radius-lg); background: #fff; box-shadow: none !important; }
.wishlist-index-index .products-grid.wishlist .product-item-photo { display: block; margin: 0 0 10px; }
.wishlist-index-index .products-grid.wishlist .product-image-container { width: 100% !important; display: block; border-radius: var(--ak-radius); overflow: hidden; background: #f4f7f6; }
.wishlist-index-index .products-grid.wishlist .product-item-name { display: block; margin: 0 0 6px; }
.wishlist-index-index .products-grid.wishlist .product-item-link { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font: 600 13px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink) !important; white-space: normal !important; text-overflow: clip !important; }
.wishlist-index-index .products-grid.wishlist .price-container .price { font: 700 15px/1.2 var(--ak-font-head) !important; color: var(--ak-ink) !important; }
.wishlist-index-index .products-grid.wishlist .usd-price { font: 400 11px/1.2 var(--ak-font-ui) !important; color: var(--ak-ink-3) !important; }
.wishlist-index-index .products-grid.wishlist .product-item-inner { display: block !important; position: static !important; margin: 12px 0 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; }
/* 松本さん指示 (10-03): wishlist comments and Share Wish List are not used */
.wishlist-index-index .products-grid.wishlist .comment-box, .wishlist-index-index .form-wishlist-items .actions-toolbar .action.share, .wishlist-index-index .form-wishlist-items button[name="save_and_share"] { display: none !important; }
.wishlist-index-index .products-grid.wishlist .box-tocart { margin: 0 !important; }
.wishlist-index-index .products-grid.wishlist .box-tocart .fieldset { display: flex; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; }
.wishlist-index-index .products-grid.wishlist .field.qty { margin: 0 !important; flex: 0 0 auto; display: flex; align-items: center; gap: 6px; }
.wishlist-index-index .products-grid.wishlist .field.qty .label { margin: 0; font: 600 12px/1 var(--ak-font-ui); color: var(--ak-ink-2); }
.wishlist-index-index .products-grid.wishlist .input-text.qty { width: 56px !important; height: 40px !important; text-align: center; padding: 0 !important; border: 1.5px solid #d9e6e3 !important; border-radius: 10px !important; font: 600 14px/1 var(--ak-font-ui) !important; }
.wishlist-index-index .products-grid.wishlist .product-item-actions { margin: 0 !important; }
.wishlist-index-index .products-grid.wishlist .box-tocart .product-item-actions { flex: 1 1 auto; }
.wishlist-index-index .products-grid.wishlist .action.tocart.primary { width: 100%; min-height: 40px; padding: 0 12px !important; border: 0 !important; border-radius: 999px !important; background: var(--ak-mint) !important; color: #fff !important; font: 600 13px/1 var(--ak-font-ui) !important; text-transform: none !important; }
.wishlist-index-index .products-grid.wishlist .product-item-inner > .product-item-actions { display: flex; gap: 14px; margin: 10px 0 0 !important; }
.wishlist-index-index .products-grid.wishlist .product-item-inner > .product-item-actions a { font: 600 12px/1 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; text-decoration: none !important; }
.wishlist-index-index .products-grid.wishlist .product-item-inner > .product-item-actions a:hover { color: var(--ak-mint-deep) !important; }
.wishlist-index-index .products-grid.wishlist .product-item-inner > .product-item-actions a.delete { color: var(--ak-red-ink) !important; }
.wishlist-index-index .form-wishlist-items .actions-toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 !important; padding: 0 !important; }
.wishlist-index-index .form-wishlist-items .actions-toolbar .primary, .wishlist-index-index .form-wishlist-items .actions-toolbar .secondary { float: none !important; display: contents; }
.wishlist-index-index .form-wishlist-items .actions-toolbar .action { min-height: 44px; margin: 0 !important; padding: 0 20px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 999px !important; background: #fff !important; color: var(--ak-ink) !important; font: 600 13px/1 var(--ak-font-ui) !important; text-transform: none !important; box-shadow: none !important; display: inline-flex; align-items: center; }
.wishlist-index-index .form-wishlist-items .actions-toolbar .action.tocart { border-color: var(--ak-mint) !important; background: var(--ak-mint) !important; color: #fff !important; }
.wishlist-index-index .form-wishlist-items .actions-toolbar .action.back { border: 0 !important; padding: 0 6px !important; color: var(--ak-mint-deep) !important; }
.wishlist-index-index .toolbar.wishlist-toolbar { margin: 0 0 12px !important; font: 500 12px/1.4 var(--ak-font-ui); color: var(--ak-ink-3); }
.wishlist-index-index .toolbar.wishlist-toolbar .toolbar-amount { padding: 0; }
.wishlist-index-index .products-grid.wishlist .product-item-photo { float: none !important; width: 100% !important; max-width: none !important; margin: 0 0 10px !important; padding: 0 !important; }
.wishlist-index-index .products-grid.wishlist .product-image-container { width: 100% !important; max-width: none !important; }
.wishlist-index-index .products-grid.wishlist .product-item-inner { display: flow-root !important; }
.wishlist-index-index .products-grid.wishlist .box-tocart { float: none !important; width: 100% !important; }
.wishlist-index-index .products-grid.wishlist .product-item-inner > .product-item-actions { clear: both; float: none !important; width: auto !important; }
.wishlist-index-index .products-grid.wishlist .product-item-name, .wishlist-index-index .products-grid.wishlist .price-container { float: none !important; width: auto !important; margin-left: 0 !important; }
.account .table-wrapper .table .col.actions a + a::before { content: none; margin: 0; }
/* ---- order history / order view, checked with a real customer account (85 orders) ---- */
.account .toolbar.order-products-toolbar, .account .products.wrapper ~ .toolbar, .account .toolbar.bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0 0 !important; padding: 0 !important; border: 0 !important; }
.account .toolbar .toolbar-amount { position: static !important; margin: 0 !important; padding: 0 !important; font: 500 12px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink-3) !important; }
.account .toolbar .pages { float: none !important; margin: 0 !important; position: static !important; }
.account .toolbar .pages .pages-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.account .toolbar .pages .items { display: flex; gap: 6px; align-items: center; }
.account .toolbar .pages .item { margin: 0 !important; }
.account .toolbar .pages .page, .account .toolbar .pages .action { display: inline-flex !important; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 10px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 999px !important; background: #fff !important; color: var(--ak-ink) !important; font: 600 13px/1 var(--ak-font-ui) !important; text-decoration: none !important; box-shadow: none !important; }
.account .toolbar .pages .item.current .page { background: var(--ak-mint) !important; border-color: var(--ak-mint) !important; color: #fff !important; }
.account .toolbar .pages a.page:hover, .account .toolbar .pages .action:hover { border-color: var(--ak-mint) !important; color: var(--ak-mint-deep) !important; }
.account .toolbar .pages .action::before { color: inherit !important; margin: 0 !important; }
.account .toolbar .limiter { display: inline-flex !important; align-items: center; gap: 6px; font: 500 12px/1 var(--ak-font-ui); color: var(--ak-ink-2); }
.account .toolbar .limiter select { height: 36px; padding: 0 28px 0 10px !important; border-radius: 999px !important; border: 1.5px solid var(--ak-line) !important; }
.account #my-orders-table .col.status { font-weight: 600; }
.account #my-orders-table td.col.status { color: var(--ak-ink-2) !important; }
/* order view header: number, status pill and date on clean rows */
.sales-order-view .page-title-wrapper { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 8px 0 18px !important; }
.sales-order-view .page-title-wrapper .page-title { margin: 0 !important; }
.sales-order-view .page-title-wrapper .order-status { margin: 0 !important; }
.sales-order-view .page-title-wrapper .order-date { flex: 1 1 100%; margin: 0 !important; }
.sales-order-view .page-title-wrapper .order-actions-toolbar { flex: 1 1 100%; margin: 0 !important; }
.sales-order-view .page-title-wrapper .order-actions-toolbar .actions { float: none !important; display: flex; gap: 14px; }
.sales-order-view .order-details-items { border: 0 !important; padding: 0 !important; margin: 0 0 26px !important; }
.sales-order-view .order-details-items .order-title { display: none; }
.sales-order-view .table-order-items caption, .sales-order-view .order-items .table-caption { display: none !important; }
.sales-order-view .table-order-items tfoot th, .sales-order-view .table-order-items tfoot td { padding: 10px 14px !important; border: 0 !important; border-top: 1px solid var(--ak-line) !important; background: #fafcfb; font: 600 13px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; text-transform: none !important; }
.sales-order-view .table-order-items tfoot tr.grand_total th, .sales-order-view .table-order-items tfoot tr.grand_total td { font: 800 15px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; }
.sales-order-view .table-order-items tfoot td .price { font: inherit !important; color: inherit !important; }
.account .block-order-details-view .block-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.account .block-order-details-view .box { width: auto !important; margin: 0 !important; float: none !important; }
.account .block-order-details-view .box address, .account .block-order-details-view .box .box-content { font: 400 14px/1.6 var(--ak-font-head) !important; color: var(--ak-ink-2) !important; }
.account .block-order-details-view .box-content th, .account .block-order-details-view .box-content td { padding: 4px 0 !important; border: 0 !important; font: 400 13px/1.5 var(--ak-font-head) !important; color: var(--ak-ink-2) !important; text-transform: none !important; }
@media (max-width: 768px) { .sales-order-view .table-order-items tfoot tr { display: flex; justify-content: space-between; padding: 6px 0; } .sales-order-view .table-order-items tfoot th, .sales-order-view .table-order-items tfoot td { border: 0 !important; background: none; } .account .toolbar.order-products-toolbar { justify-content: center; } }

/* ---- account sub-pages, second pass (orders with kuji/prize/configurable, USD orders, refunds/shipments/invoices) ---- */
/* the same header treatment for every order sub-page */
.sales-order-invoice .page-title-wrapper, .sales-order-shipment .page-title-wrapper, .sales-order-creditmemo .page-title-wrapper, .sales-order-printinvoice .page-title-wrapper, .sales-order-printshipment .page-title-wrapper, .sales-order-printcreditmemo .page-title-wrapper { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 8px 0 18px !important; }
.sales-order-invoice .page-title-wrapper .page-title, .sales-order-shipment .page-title-wrapper .page-title, .sales-order-creditmemo .page-title-wrapper .page-title { margin: 0 !important; }
.sales-order-invoice .page-title-wrapper .order-status, .sales-order-shipment .page-title-wrapper .order-status, .sales-order-creditmemo .page-title-wrapper .order-status { margin: 0 !important; }
.sales-order-invoice .page-title-wrapper .order-date, .sales-order-shipment .page-title-wrapper .order-date, .sales-order-creditmemo .page-title-wrapper .order-date, .sales-order-invoice .page-title-wrapper .order-actions-toolbar, .sales-order-shipment .page-title-wrapper .order-actions-toolbar, .sales-order-creditmemo .page-title-wrapper .order-actions-toolbar { flex: 1 1 100%; margin: 0 !important; }
.account .page-title-wrapper .order-actions-toolbar .actions { float: none !important; display: flex; gap: 14px; }
.account .order-details-items { border: 0 !important; padding: 0 !important; margin: 0 0 26px !important; }
.account .order-details-items > .actions-toolbar { margin: 0 0 14px !important; padding: 0 !important; }
.account .order-details-items > .actions-toolbar .action, .account .order-details-items .order-title .action { font: 600 13px/1 var(--ak-font-ui) !important; color: var(--ak-mint-deep) !important; text-decoration: none !important; }
.account .order-details-items .order-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 22px 0 10px !important; padding: 0 !important; border: 0 !important; }
.account .order-details-items .order-title > strong { font: 700 18px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; }
.account .order-details-items .order-title:first-of-type { margin-top: 0 !important; }
.account .order-details-items .table-wrapper { margin: 0 0 18px; }
.account .order-details-items .table-caption { display: none !important; }
.account .order-details-items .table-wrapper .table > tfoot > tr > th, .account .order-details-items .table-wrapper .table > tfoot > tr > td { padding: 10px 14px !important; border: 0 !important; border-top: 1px solid var(--ak-line) !important; background: #fafcfb; font: 600 13px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; text-transform: none !important; }
.account .order-details-items .table-wrapper .table > tfoot > tr.grand_total > th, .account .order-details-items .table-wrapper .table > tfoot > tr.grand_total > td { font: 800 15px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; }
.account .order-details-items .table-wrapper .table tfoot td .price { font: inherit !important; color: inherit !important; }
/* item options inside order rows (configurable choices) */
.account .table-order-items .item-options { margin: 6px 0 0; font: 400 12px/1.5 var(--ak-font-ui); color: var(--ak-ink-2); }
.account .table-order-items .item-options dt { font-weight: 600; color: var(--ak-ink-2); margin: 4px 0 0; }
.account .table-order-items .item-options dd { margin: 0; }
.account .table-order-items .product-item-name { font: 600 14px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink) !important; }
.account .table-order-items .col.qty .content { display: block; }
.account .table-order-items .col.qty .title { font-weight: 500; color: var(--ak-ink-3); }
/* newsletter: the theme floats the checkbox row out of the form */
.newsletter-manage-index .form-newsletter-manage .field.choice { position: static !important; float: none !important; width: auto !important; margin: 0 0 14px !important; }
.newsletter-manage-index .form-newsletter-manage .fieldset { display: block !important; }
/* reward points: balance as a badge */
.points-history-index .column.main > p > strong { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 8px 14px; border-radius: 999px; background: var(--ak-gold-tint); color: var(--ak-gold-ink); font: 700 13px/1 var(--ak-font-ui); }
.points-history-index .column.main > p > strong::before { content: ""; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6B84B' d='M12 2.6l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.5l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat; }
.points-history-index #my-orders-table td:first-child { font-weight: 700; }
/* password strength meter on the account edit form (same as create) */
.account .password-strength-meter { margin: 8px 0 0; height: auto; padding: 0 !important; background: none !important; font: 500 12px/1.4 var(--ak-font-ui); color: var(--ak-ink-3); }
.account .password-strength-meter::before { content: ""; display: block; height: 6px; margin: 0 0 6px; border-radius: 999px; background: #e6eeec; width: 100%; }
.account .password-weak .password-strength-meter::before { background: linear-gradient(90deg, #e05a5a 0 25%, #e6eeec 25%); }
.account .password-medium .password-strength-meter::before { background: linear-gradient(90deg, #f6b84b 0 50%, #e6eeec 50%); }
.account .password-strong .password-strength-meter::before { background: linear-gradient(90deg, #57d5c2 0 75%, #e6eeec 75%); }
.account .password-very-strong .password-strength-meter::before { background: #3fbfab; }
/* no downloadable products are sold: hide the nav entry */
.account .block-collapsible-nav .item a[href*="/downloadable/"] { display: none !important; }
/* guest order page has no page title: preview.js inserts one */
.customer-guesttocustomer-lookupform .form-edit-account .field.field-email input[disabled] { background: #f4f7f6 !important; color: var(--ak-ink-3) !important; }
/* newsletter manage: the theme pushes the single checkbox row to the far right of the fieldset */
.newsletter-manage-index .form-newsletter-manage .fieldset { display: block !important; text-align: left !important; }
.newsletter-manage-index .form-newsletter-manage .field.choice { display: flex !important; align-items: center; gap: 10px; width: 100% !important; margin: 0 0 16px !important; padding: 12px 14px; border: 1.5px solid var(--ak-line); border-radius: var(--ak-radius); background: #fff; box-sizing: border-box; }
.newsletter-manage-index .form-newsletter-manage .field.choice input { position: static !important; margin: 0 !important; }
.newsletter-manage-index .form-newsletter-manage .field.choice .label { margin: 0 !important; font: 500 14px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink) !important; }
/* 404 page */
.cms-noroute-index .page-title-wrapper { margin: 8px 0 20px !important; }
.cms-noroute-index .page-title-wrapper .page-title { display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; font: 700 26px/1.2 var(--ak-font-head) !important; letter-spacing: -.01em; color: var(--ak-mint) !important; text-transform: none !important; }
.cms-noroute-index .page-title-wrapper .page-title::before { content: ""; flex: 0 0 22px; width: 22px; height: 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6B84B' d='M12 2.6l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.5l-5.9 3.1 1.2-6.5L2.5 9.5l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat; }
.cms-noroute-index .column.main { max-width: 640px; margin: 0 auto; text-align: center; font: 400 15px/1.7 var(--ak-font-head); color: var(--ak-ink-2); }
.cms-noroute-index .column.main p { margin: 0 0 6px; text-align: center !important; }
.cms-noroute-index .column.main p img { width: 220px; height: auto; margin: 0 auto 14px; }
.cms-noroute-index .column.main a { color: var(--ak-mint-deep) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cms-noroute-index .column.main .c-message__edited_label { display: none; }
/* print page: keep the invoice legible with the same tokens, nothing fancy */
.page-print .page-title-wrapper .page-title { font: 700 24px/1.2 var(--ak-font-head) !important; color: var(--ak-ink) !important; text-transform: none !important; }
.page-print .order-status { display: inline-block; padding: 4px 10px; border: 0 !important; border-radius: 999px; background: var(--ak-tint); color: var(--ak-mint-deep) !important; font: 700 11px/1 var(--ak-font-ui) !important; letter-spacing: .06em; text-transform: uppercase; }
.page-print .table-wrapper .table > thead > tr > th { padding: 10px 12px !important; background: var(--ak-tint) !important; border: 0 !important; font: 700 11px/1.3 var(--ak-font-ui) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--ak-mint-deep) !important; }
.page-print .table-wrapper .table > tbody > tr > td { padding: 10px 12px !important; border: 0 !important; border-top: 1px solid var(--ak-line) !important; font: 400 13px/1.5 var(--ak-font-head) !important; color: var(--ak-ink) !important; }
.page-print .block-order-details-view .block-title strong { font: 700 16px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; }
.page-print .block-order-details-view .box-title span { font: 700 13px/1.3 var(--ak-font-ui) !important; }

/* ==========================================================================
   Third pass (松本さんフィードバック 09-30): product page details, orders, account alignment
   ========================================================================== */
/* stock label: first line as a pill, the rest ("*Estimated shipping within 2-4 weeks") as a quiet note */
.catalog-product-view .product-info-stock-sku .stock span.ak-stock-wrap { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 0 !important; background: none !important; border-radius: 0; letter-spacing: 0; text-transform: none; }
.catalog-product-view .product-info-stock-sku .stock .ak-stock-main { display: inline-block; padding: 5px 11px; border-radius: 999px; background: var(--ak-tint); color: var(--ak-mint-deep) !important; font: 700 11px/1 var(--ak-font-ui); letter-spacing: .08em; text-transform: uppercase; }
.catalog-product-view .product-info-stock-sku .stock .ak-stock-main.is-preorder, .catalog-product-view .product-info-stock-sku .stock .ak-stock-main.is-asorder { background: var(--ak-gold-tint); color: var(--ak-gold-ink) !important; }
.catalog-product-view .product-info-stock-sku .stock.unavailable .ak-stock-main { background: #ecf0ef; color: var(--ak-ink-2) !important; }
.catalog-product-view .product-info-stock-sku .stock .ak-stock-note { font: 500 12px/1.4 var(--ak-font-ui); color: var(--ak-ink-2) !important; text-transform: none; letter-spacing: 0; }
.catalog-product-view .product-info-stock-sku .stock span br { display: none; }
/* qty stepper and wishlist button on one baseline */
.catalog-product-view .box-tocart .fieldset { align-items: stretch !important; }
.catalog-product-view .box-tocart .field.qty .control { height: 48px; box-sizing: border-box; }
.catalog-product-view .product-addto-links { padding: 0 !important; margin: 0 !important; align-self: stretch; }
.catalog-product-view .product-addto-links .action.towishlist { height: 48px !important; box-sizing: border-box; align-self: stretch; }
/* shipping estimate: closed by default, whole header is the toggle */
.catalog-product-view .block-shipping-estimation .block-title.block-heading { cursor: pointer; user-select: none; }
.catalog-product-view .block-shipping-estimation .content-toggle { display: inline-flex; align-items: center; gap: 6px; }
.catalog-product-view .block-shipping-estimation .content-toggle::after { content: ""; width: 12px; height: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231f8f7e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s ease; }
.catalog-product-view .block-shipping-estimation.opened .content-toggle::after { transform: rotate(180deg); }
/* orders: no Print buttons (松本さん指示), thumbnails in the item rows */
.account .order-actions-toolbar, .account .order-details-items > .actions-toolbar a[href*="/print"], .account .order-details-items .order-title a[href*="/print"] { display: none !important; }
.account .order-details-items > .actions-toolbar:not(:has(a:not([href*="/print"]))) { display: none !important; }
.account .table-order-items .col.name { min-width: 260px; }
.account .table-order-items .ak-order-item { display: flex; align-items: flex-start; gap: 12px; }
.account .table-order-items .ak-order-thumb { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 10px; object-fit: cover; background: #f4f7f6; border: 1px solid var(--ak-line); }
.account .table-order-items .ak-order-thumb.is-empty { display: flex; align-items: center; justify-content: center; }
.account .table-order-items .ak-order-item > div { min-width: 0; }
@media (max-width: 768px) { .account .table-order-items .ak-order-item { align-items: center; } .account .table-order-items .ak-order-thumb { flex-basis: 48px; width: 48px; height: 48px; } }
/* date picker button everywhere it appears */
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .customer-dob .ui-datepicker-trigger, .account .customer-dob .ui-datepicker-trigger, .account .customer-dob button { height: 48px !important; margin: 0 !important; padding: 0 16px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 12px !important; background: var(--ak-tint) !important; color: var(--ak-mint-deep) !important; font: 600 12px/1 var(--ak-font-ui) !important; text-transform: none !important; box-shadow: none !important; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .customer-dob, .account .customer-dob { display: flex; gap: 8px; align-items: center; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .customer-dob input, .account .customer-dob input { flex: 1 1 auto; }
/* toolbars that only say "1 Item" (address book, wishlist) add nothing: hide them; pagers keep showing */
.customer-address-index .toolbar:not(:has(.pages)) { display: none !important; }
.account .toolbar .toolbar-amount { text-align: left; }
/* reward points badge breathing room */
.points-history-index .column.main > p { margin: 6px 0 18px !important; }
/* sidebar nav: no dashed separators, no wrapping */
.account .block-collapsible-nav .item { border: 0 !important; background: none !important; }
.account .block-collapsible-nav .item a, .account .block-collapsible-nav .item strong { border: 0 !important; white-space: nowrap; }
.account .block-collapsible-nav .item.current { border: 0 !important; }
@media (max-width: 1023px) {
  .account .columns .sidebar-main { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 0 18px !important; order: -1; }
  .account .columns .column.main { width: 100% !important; float: none !important; }
  .account .block-collapsible-nav .content { padding: 0 !important; border: 0 !important; background: none !important; }
  .account .block-collapsible-nav .content .items { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
  .account .block-collapsible-nav .item a, .account .block-collapsible-nav .item strong { display: inline-flex; align-items: center; padding: 9px 14px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 999px; background: #fff; font-size: 13px !important; }
  .account .block-collapsible-nav .item.current strong, .account .block-collapsible-nav .item.current a { border-color: var(--ak-mint) !important; }
  .account .sidebar-main .block-collapsible-nav .title { display: none; }
}
@media (max-width: 768px) { .account .sidebar-main .block-collapsible-nav .title { display: block; } }
/* address form: street lines with one consistent gap */
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field.street .control input + input, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field.street .field.additional { margin-top: 8px !important; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field.street .field.additional { margin-bottom: 0 !important; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field.street .field.additional .label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.account .table-order-items .ak-order-thumb.is-empty { background: #f4f7f6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='3' fill='none' stroke='%23b9c9c5' stroke-width='1.6'/%3E%3Ccircle cx='9' cy='10' r='1.6' fill='%23b9c9c5'/%3E%3Cpath d='M5 17l4.5-4 3 2.5 3-3.5L20 17' fill='none' stroke='%23b9c9c5' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center / 24px no-repeat; }
@media (max-width: 1023px) { .account .page-main .columns { display: flex !important; flex-direction: column; } .account .columns .sidebar-main { order: -1; } .account .columns .column.main { order: 0; } }
.account .toolbar.order-products-toolbar { gap: 12px 20px; }
.account .toolbar .toolbar-amount { margin-right: auto !important; }
/* phone: the price row hung 5px past the viewport (theme negative margin) */
.catalog-product-view .product-info-price, .catalog-product-view .product-info-price .price-box { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; max-width: 100%; box-sizing: border-box; }
/* audit fixes: tap targets and legibility on phones */
.blog-page .post-list .post-category .category-name, .blog-post-view .post-header .category-name { font-size: 11px !important; }
.blog-page .post-list .post-read-more .action.primary { min-height: 40px !important; padding: 6px 0 !important; }
.blog-page .sidebar .ak-archive-more { min-height: 40px; padding: 8px 0; }
.blog-page .sidebar .blog-search .input-text { height: 48px; }
.blog-page .sidebar .blog-search .actions { top: 4px; right: 4px; }
.blog-page .sidebar .blog-search .action.search { width: 40px; height: 40px; }
.account .box-actions .action, .account .block-title .action, .account .block-dashboard-orders .action, .account #my-orders-table .action, .account .table-wrapper .col.actions a, .account .order-details-items > .actions-toolbar .action { display: inline-flex !important; align-items: center; min-height: 40px; }
.account .box-actions .action + .action::before { margin-right: 10px; }
@media (max-width: 640px) { .faq-index-index .faq-groupname a { font-size: 11px !important; } }
.wishlist-index-index .products-grid.wishlist .product-item-inner > .product-item-actions a { display: inline-flex !important; align-items: center; min-height: 40px; padding: 0 4px; }

/* ==========================================================================
   Fourth pass (松本さんFB 09-30): product description heading, rounded gallery, no phone buy bar,
   founder page, FAQ rebuilt, order qty, account nav on phones
   ========================================================================== */
/* --- product page --- */
.catalog-product-view .product.data.items > .item.title > .switch { font: 700 11px/1 var(--ak-font-ui) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--ak-ink-3) !important; }
.catalog-product-view .product.data.items > .item.title > .switch::before { display: none !important; }
.catalog-product-view .product.info.detailed { padding-top: 26px !important; border-top: 1px solid var(--ak-line) !important; }
.catalog-product-view .product.data.items > .item.title { margin-bottom: 10px !important; }
.catalog-product-view .product.media .fotorama__stage, .catalog-product-view .product.media .fotorama__stage__frame { border-radius: 16px !important; overflow: hidden; }
.catalog-product-view .product.media .fotorama__stage__frame .fotorama__img { border-radius: 16px; }
.catalog-product-view .product.media .fotorama__nav__frame--thumb .fotorama__thumb, .catalog-product-view .product.media .fotorama__thumb img { border-radius: 10px; }
.catalog-product-view .product.media .fotorama__thumb-border { border-radius: 10px !important; }
@media (max-width: 768px) { .catalog-product-view .product.media .fotorama__stage, .catalog-product-view .product.media .fotorama__stage__frame, .catalog-product-view .product.media .fotorama__stage__frame .fotorama__img { border-radius: 12px !important; } }

/* --- Message from the Founder --- */
.cms-message-from-founder .column.main { max-width: none; }
.cms-message-from-founder .ak-founder { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 44px; align-items: start; max-width: 1040px; }
.cms-message-from-founder .ak-founder-photo { position: sticky; top: 96px; margin: 0; }
.cms-message-from-founder .ak-founder-photo::before { content: ""; position: absolute; inset: 18px -14px -14px 18px; border-radius: 24px; background: var(--ak-tint); z-index: 0; }
.cms-message-from-founder .ak-founder-photo img { position: relative; z-index: 1; display: block; width: 100%; height: auto !important; margin: 0 !important; border-radius: 20px; box-shadow: 0 14px 40px rgba(34,48,46,.14); }
.cms-message-from-founder .ak-founder-photo figcaption { position: relative; z-index: 1; margin: 22px 0 0; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1.5px solid var(--ak-line); font: 600 13px/1.4 var(--ak-font-ui); color: var(--ak-ink); }
.cms-message-from-founder .ak-founder-photo figcaption small { display: block; margin-top: 2px; font: 500 11px/1.4 var(--ak-font-ui); color: var(--ak-ink-3); letter-spacing: .06em; text-transform: uppercase; }
.cms-message-from-founder .ak-founder-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 6px 12px; border-radius: 999px; background: var(--ak-gold-tint); color: var(--ak-gold-ink); font: 700 11px/1 var(--ak-font-ui); letter-spacing: .1em; text-transform: uppercase; }
.cms-message-from-founder .ak-founder-title { margin: 0 0 18px; font: 800 28px/1.25 var(--ak-font-head); color: var(--ak-ink); letter-spacing: -.02em; }
.cms-message-from-founder .ak-founder-text { font: 400 16px/1.8 var(--ak-font-head); color: var(--ak-ink); }
.cms-message-from-founder .ak-founder-text p { margin: 0 0 1.15em; }
.cms-message-from-founder .ak-founder-text p.ak-pullquote { position: relative; margin: 26px 0; padding: 22px 26px 22px 58px; border-radius: var(--ak-radius-lg); background: var(--ak-tint); font: 700 20px/1.45 var(--ak-font-head); color: var(--ak-mint-deep); letter-spacing: -.01em; }
.cms-message-from-founder .ak-founder-text p.ak-pullquote::before { content: "\201C"; position: absolute; left: 20px; top: 8px; font: 800 56px/1 Georgia, serif; color: var(--ak-mint); opacity: .8; }
.cms-message-from-founder .ak-founder-text p.ak-pullquote span { color: inherit !important; font: inherit !important; }
.cms-message-from-founder .ak-founder-sign { margin: 28px 0 0; padding-top: 18px; border-top: 1px solid var(--ak-line); font: 700 15px/1.4 var(--ak-font-head); color: var(--ak-ink); }
.cms-message-from-founder .ak-founder-sign small { display: block; font: 500 12px/1.4 var(--ak-font-ui); color: var(--ak-ink-3); }
.cms-message-from-founder .ak-founder-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; }
@media (max-width: 900px) { .cms-message-from-founder .ak-founder { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 28px; } }
@media (max-width: 768px) {
  .cms-message-from-founder .ak-founder { grid-template-columns: 1fr; gap: 26px; }
  .cms-message-from-founder .ak-founder-photo { position: static; max-width: 320px; margin: 0 auto; }
  .cms-message-from-founder .ak-founder-title { font-size: 24px; }
  .cms-message-from-founder .ak-founder-text { font-size: 15px; line-height: 1.75; }
  .cms-message-from-founder .ak-founder-text p.ak-pullquote { font-size: 17px; padding: 18px 18px 18px 50px; }
}

/* --- FAQ (rebuilt) --- */
.faq-index-index .page-title-wrapper { margin: 8px 0 8px !important; }
.faq-index-index .ak-faq-lead { max-width: 640px; margin: 0 0 18px; font: 400 15px/1.6 var(--ak-font-head); color: var(--ak-ink-2); }
.faq-index-index .ak-faq-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 20px; }
.faq-index-index .ak-faq-search { position: relative; flex: 1 1 320px; max-width: 520px; }
.faq-index-index .ak-faq-search input { width: 100%; height: 50px; padding: 0 48px 0 46px; border: 1.5px solid #d9e6e3; border-radius: 999px; background: #fff; font: 400 15px/1 var(--ak-font-ui); color: var(--ak-ink); box-sizing: border-box; box-shadow: none; }
.faq-index-index .ak-faq-search input:focus { border-color: var(--ak-mint); box-shadow: 0 0 0 4px rgba(87,213,194,.18); outline: none; }
.faq-index-index .ak-faq-search::before { content: ""; position: absolute; left: 18px; top: 50%; width: 18px; height: 18px; margin-top: -9px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6' fill='none' stroke='%238a9896' stroke-width='2.2'/%3E%3Cpath d='M15 15l5 5' stroke='%238a9896' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.faq-index-index .ak-faq-search .ak-faq-clear { position: absolute; right: 8px; top: 7px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--ak-ink-3); font: 600 18px/1 var(--ak-font-ui); cursor: pointer; display: none; }
.faq-index-index .ak-faq-search.has-value .ak-faq-clear { display: block; }
.faq-index-index .collspan-expand-block { margin: 0 !important; margin-left: auto !important; }
.faq-index-index .faq-groups { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 8px; margin: 0 -16px 24px !important; padding: 10px 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--ak-line); }
.faq-index-index .faq-groups::-webkit-scrollbar { display: none; }
.faq-index-index .faq-group { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; max-width: none; margin: 0 !important; padding: 0 !important; border: 0; background: none; box-shadow: none !important; transform: none !important; }
.faq-index-index .faq-group .faq-group-image, .faq-index-index .faq-group .faq-groupname { display: contents; }
.faq-index-index .faq-group .group-link { display: inline-flex !important; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 10px !important; border: 1.5px solid var(--ak-line); border-radius: 999px; background: #fff; color: var(--ak-ink) !important; font: 600 12px/1 var(--ak-font-ui) !important; letter-spacing: .02em; text-transform: none !important; text-decoration: none !important; white-space: nowrap; transition: background .15s ease, border-color .15s ease; }
.faq-index-index .faq-group .faq-group-image .group-link { padding: 0 !important; border: 0; height: auto; background: none; margin-right: -4px; }
.faq-index-index .faq-group .faq-group-image .group-link img { width: 26px; height: 26px; object-fit: contain; }
.faq-index-index .faq-group .faq-groupname .group-link::after { content: attr(data-count); display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--ak-tint); color: var(--ak-mint-deep); font: 700 11px/1 var(--ak-font-ui); }
.faq-index-index .faq-group .faq-groupname .group-link[data-count="0"]::after { content: none; }
.faq-index-index .faq-group.is-active .faq-groupname .group-link, .faq-index-index .faq-group .faq-groupname .group-link:hover { background: var(--ak-tint); border-color: var(--ak-mint); color: var(--ak-mint-deep) !important; }
.faq-index-index .faq-group.is-hidden { display: none !important; }
.faq-index-index #faq-content > div { scroll-margin-top: 76px; margin: 0 0 30px; }
.faq-index-index #faq-content > div.is-hidden { display: none; }
.faq-index-index .group-title { margin: 0 0 12px !important; font-size: 20px !important; }
.faq-index-index .faq-accordion .ui-accordion-header { margin: 0 0 8px !important; padding: 15px 52px 15px 18px !important; font: 600 15px/1.45 var(--ak-font-head) !important; }
.faq-index-index .faq-accordion .ui-accordion-header::after, .faq-index-index .faq-accordion .ui-accordion-header::before { display: none !important; content: none !important; }
.faq-index-index .faq-accordion .ui-accordion-header .ui-icon { right: 14px; width: 28px; height: 28px; margin: -14px 0 0; border-radius: 50%; background-color: var(--ak-tint) !important; background-size: 18px !important; }
.faq-index-index .faq-accordion .ui-accordion-header.is-hidden, .faq-index-index .faq-accordion .ui-accordion-content.is-hidden { display: none !important; }
.faq-index-index .faq-accordion .ui-accordion-content { margin: -8px 0 10px !important; padding: 4px 18px 18px !important; }
.faq-index-index .faq-accordion .ui-accordion-content p:empty { display: none; }
.faq-index-index .faq-accordion .ui-accordion-content img { max-width: 100%; height: auto; border-radius: 10px; }
.faq-index-index .faq-accordion .ui-accordion-content ul, .faq-index-index .faq-accordion .ui-accordion-content ol { padding-left: 1.3em; margin: 0 0 .8em; }
.faq-index-index .faq-accordion .ui-accordion-content table { width: 100%; border-collapse: collapse; font-size: 13px; }
.faq-index-index .faq-accordion .ui-accordion-content td, .faq-index-index .faq-accordion .ui-accordion-content th { padding: 6px 8px; border-bottom: 1px solid var(--ak-line); }
.faq-index-index .ak-faq-empty { display: none; margin: 10px 0 30px; padding: 26px; border-radius: var(--ak-radius-lg); border: 1.5px dashed var(--ak-line); text-align: center; font: 500 14px/1.6 var(--ak-font-ui); color: var(--ak-ink-2); }
.faq-index-index .ak-faq-empty.is-on { display: block; }
.faq-index-index .ak-faq-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin: 10px 0 0; padding: 22px 26px; border-radius: var(--ak-radius-lg); background: var(--ak-tint); }
.faq-index-index .ak-faq-cta strong { display: block; font: 700 18px/1.3 var(--ak-font-head); color: var(--ak-ink); }
.faq-index-index .ak-faq-cta span { display: block; margin-top: 4px; font: 400 13px/1.5 var(--ak-font-head); color: var(--ak-ink-2); }
@media (max-width: 640px) { .faq-index-index .faq-groups { margin: 0 -16px 18px !important; } .faq-index-index .ak-faq-tools { gap: 10px; } .faq-index-index .collspan-expand-block { margin-left: 0 !important; } .faq-index-index .ak-faq-cta { padding: 18px; } .faq-index-index .ak-faq-cta :is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)) { width: 100%; } }

/* --- order items: qty as one line with labels (Ordered 10 · Refunded 10) --- */
.account .table-order-items .col.qty .items-qty { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0; padding: 0; list-style: none; }
.account .table-order-items .col.qty .items-qty .item { display: inline-flex; align-items: baseline; gap: 5px; margin: 0; white-space: nowrap; }
.account .table-order-items .col.qty .items-qty .title { display: inline !important; font: 500 12px/1.4 var(--ak-font-ui); color: var(--ak-ink-3); }
.account .table-order-items .col.qty .items-qty .title::after { content: ":"; }
.account .table-order-items .col.qty .items-qty .content { font: 600 14px/1.4 var(--ak-font-ui); color: var(--ak-ink); }
@media (min-width: 769px) { .account .table-order-items .col.qty .items-qty { flex-direction: column; gap: 2px; } }

/* --- account nav on phones: an obvious menu button --- */
@media (max-width: 768px) {
  .account .sidebar-main .block-collapsible-nav { margin: 0 0 16px !important; }
  .account .sidebar-main .block-collapsible-nav .title { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 12px 14px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 14px; background: #fff; cursor: pointer; }
  .account .sidebar-main .block-collapsible-nav .title::before { content: ""; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16' stroke='%231f8f7e' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
  .account .sidebar-main .block-collapsible-nav .title strong { flex: 1 1 auto; font: 600 14px/1.3 var(--ak-font-ui) !important; letter-spacing: 0; text-transform: none; color: var(--ak-ink) !important; }
  .account .sidebar-main .block-collapsible-nav .title strong::before { content: "Account menu"; display: block; font: 700 10px/1.2 var(--ak-font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--ak-ink-3); margin-bottom: 2px; }
  .account .sidebar-main .block-collapsible-nav .title::after { content: "" !important; position: static !important; width: 28px; height: 28px; margin: 0 !important; border-radius: 50%; background: var(--ak-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231f8f7e' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 16px no-repeat; font-size: 0 !important; transition: transform .2s ease; }
  .account .sidebar-main .block-collapsible-nav .title.active::after { transform: rotate(180deg); }
  .account .block-collapsible-nav .content { margin-top: 8px; }
}
.account .block-collapsible-nav .item:has(> a[href*="/downloadable/"]), .account .block-collapsible-nav .item.ak-hidden { display: none !important; }

@media (max-width: 768px) { .account .sidebar-main .block-collapsible-nav .title strong { border: 0 !important; padding: 0 !important; } .account .sidebar-main .block-collapsible-nav .title strong::after { display: none !important; } }
@media (max-width: 768px) { .cms-message-from-founder .ak-founder-photo { position: relative; } }
.faq-index-index .collspan-expand-block { font-size: 0 !important; gap: 8px; }
.faq-index-index .collspan-expand-block a { font-size: 12px !important; }
@media (max-width: 768px) { .cms-message-from-founder .ak-founder-photo { top: auto; } }

/* 松本さん指示 (09-30): ☆アイコンはホームページ以外では使わない → 見出しの装飾アイコンを全て外す */
.ak-page-head h1::before, .ak-scope .ak-h::before,
.cms-page-view .page-title-wrapper .page-title::before, .contact-index-index .page-title-wrapper .page-title::before, .faq-index-index .page-title-wrapper .page-title::before, .customer-account-login .page-title-wrapper .page-title::before, .customer-account-create .page-title-wrapper .page-title::before, .customer-account-forgotpassword .page-title-wrapper .page-title::before, .account .page-title-wrapper .page-title::before,
.customer-account-create .block-title > #block-customer-login-heading::before, .cms-noroute-index .page-title-wrapper .page-title::before,
.faq-index-index .group-title::before, .blog-page .page-title-wrapper .page-title::before,
.points-history-index .column.main > p > strong::before, .catalog-product-view .product.data.items > .item.title > .switch::before { display: none !important; content: none !important; }
.ak-page-head h1, .cms-page-view .page-title-wrapper .page-title, .contact-index-index .page-title-wrapper .page-title, .faq-index-index .page-title-wrapper .page-title, .customer-account-login .page-title-wrapper .page-title, .customer-account-create .page-title-wrapper .page-title, .customer-account-forgotpassword .page-title-wrapper .page-title, .account .page-title-wrapper .page-title, .customer-account-create .block-title > #block-customer-login-heading, .cms-noroute-index .page-title-wrapper .page-title, .faq-index-index .group-title, .blog-page .page-title-wrapper .page-title { gap: 0; }

/* ---- vertical rhythm (松本さん指示 09-30): same breathing room on every page in scope ---- */
.catalog-product-view .page-main, .blog-page .page-main, .cms-page-view .page-main, .contact-index-index .page-main, .faq-index-index .page-main, .customer-account-login .page-main, .customer-account-create .page-main, .customer-account-forgotpassword .page-main, .account .page-main, .cms-noroute-index .page-main { padding-bottom: 56px !important; }
@media (max-width: 768px) { .catalog-product-view .page-main, .blog-page .page-main, .cms-page-view .page-main, .contact-index-index .page-main, .faq-index-index .page-main, .customer-account-login .page-main, .customer-account-create .page-main, .customer-account-forgotpassword .page-main, .account .page-main, .cms-noroute-index .page-main { padding-bottom: 40px !important; } }
/* account: title → content, block → block, block title → table */
.account .page-title-wrapper { margin: 8px 0 22px !important; }
.account .column.main > .block { margin: 0 0 34px !important; }
.account .column.main > .block:last-child { margin-bottom: 0 !important; }
.account .column.main .block:not(.widget) .block-title { margin: 0 0 14px !important; }
.account .block-dashboard-orders .block-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.account .block-dashboard-orders .block-title .action { margin: 0 !important; }
.account .block-dashboard-orders .block-content, .account .block-dashboard-info .block-content, .account .block-dashboard-addresses .block-content { margin: 0 !important; }
.account .block-dashboard-info .block-content, .account .block-dashboard-addresses .block-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.account .block-dashboard-info .box, .account .block-dashboard-addresses .box { width: auto !important; margin: 0 !important; float: none !important; }
.account .column.main > .actions-toolbar { margin: 18px 0 0 !important; }
@media (max-width: 768px) { .account .column.main > .block { margin: 0 0 28px !important; } .account .page-title-wrapper { margin: 4px 0 16px !important; } }
/* product info column rhythm */
.catalog-product-view .product-info-release { margin: 6px 0 18px !important; }
.catalog-product-view .product-info-main .page-title-wrapper.product { margin: 0 0 10px !important; }
/* one bottom margin only (the theme adds its own on .columns / .column.main) */
.catalog-product-view .columns, .blog-page .columns, .cms-page-view .columns, .contact-index-index .columns, .faq-index-index .columns, .customer-account-login .columns, .customer-account-create .columns, .customer-account-forgotpassword .columns, .account .columns, .cms-noroute-index .columns,
.catalog-product-view .column.main, .blog-page .column.main, .cms-page-view .column.main, .contact-index-index .column.main, .faq-index-index .column.main, .customer-account-login .column.main, .customer-account-create .column.main, .customer-account-forgotpassword .column.main, .account .column.main, .cms-noroute-index .column.main { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.blog-page .sidebar, .account .sidebar-main { margin-bottom: 0 !important; padding-bottom: 0 !important; }
/* consistent gap under the page title (24px) and between title and breadcrumb */
.blog-page .page-title-wrapper, .faq-index-index .page-title-wrapper { margin: 8px 0 20px !important; }
.faq-index-index .page-title-wrapper { margin-bottom: 8px !important; }
.blog-post-view .page-title-wrapper { margin-bottom: 14px !important; }
.catalog-product-view .page-main, .blog-page .page-main, .cms-page-view .page-main, .contact-index-index .page-main, .faq-index-index .page-main, .customer-account-login .page-main, .customer-account-create .page-main, .customer-account-forgotpassword .page-main, .account .page-main, .cms-noroute-index .page-main { padding-bottom: 24px !important; }
@media (max-width: 768px) { .account .table-wrapper { margin: 0 !important; } .account .block-dashboard-orders .block-content { margin-top: 0 !important; padding-top: 0 !important; } .account .sidebar-main .block-collapsible-nav .content { margin-bottom: 18px; } }
/* shipping toggle: fixed geometry regardless of theme floats (松本さん指摘: 右端の余白) */
.catalog-product-view .block-shipping-estimation .block-title.block-heading { padding: 12px 16px !important; gap: 12px !important; }
.catalog-product-view .block-shipping-estimation .content-toggle { float: none !important; margin: 0 !important; padding: 7px 12px 7px 14px !important; gap: 8px !important; line-height: 1 !important; height: 30px; box-sizing: border-box; flex: 0 0 auto; }
.catalog-product-view .block-shipping-estimation .content-toggle::after { flex: 0 0 12px; }
.catalog-product-view .block-shipping-estimation .block-title strong { line-height: 1.2 !important; }

/* ==========================================================================
   FOOTER (all pages) — 松本さん指示 09-30: design + wording
   ========================================================================== */
.section-footer .site-footer { padding: 0 !important; }
.section-footer .site-footer .wrapper { max-width: 1200px; margin: 0 auto; padding: 44px 24px 0 !important; box-sizing: border-box; }
.section-footer .site-footer .grid { display: grid !important; grid-template-columns: 1fr 1fr 1.25fr 1.25fr 1.7fr; gap: 28px 32px; align-items: start; }
.section-footer .site-footer .grid > .col { width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; left: auto !important; display: block !important; }
.section-footer .site-footer .grid h4 { height: auto !important; min-height: 0 !important; margin: 0 0 14px !important; padding: 0 !important; font: 700 12px/1.3 var(--ak-font-ui) !important; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.92) !important; }
.section-footer .site-footer .grid ul { margin: 0; padding: 0; list-style: none; }
.section-footer .site-footer .grid li { margin: 0 0 9px !important; line-height: 1.4 !important; }
.section-footer .site-footer .grid li a { display: inline-block; font: 500 14px/1.4 var(--ak-font-ui) !important; color: #fff !important; text-decoration: none !important; border-bottom: 1px solid transparent; transition: border-color .15s ease, opacity .15s ease; }
.section-footer .site-footer .grid li a:hover { border-bottom-color: rgba(255,255,255,.7); }
.section-footer .site-footer .grid li.ak-hidden { display: none !important; }
.section-footer .site-footer .grid .box-5 p { margin: 0 0 8px !important; font: 500 14px/1.5 var(--ak-font-ui) !important; color: #fff !important; }
.section-footer .site-footer .grid .box-5 p small { display: block; margin-top: 10px; font: 400 12px/1.5 var(--ak-font-ui); color: rgba(255,255,255,.8); }
/* newsletter card */
.section-footer .site-footer .newsletter .offer-message h4 { margin-bottom: 14px !important; }
.section-footer .site-footer .newsletter .offer-email { padding: 18px 18px 16px; border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.section-footer .site-footer .newsletter .ak-news-pitch { margin: 0 0 12px !important; font: 400 13px/1.5 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; }
.section-footer .offer-email .input-row { display: flex !important; flex-wrap: wrap; gap: 8px; width: 100%; }
.section-footer .offer-email .input-wrapper, .section-footer .offer-email .button-wrapper { flex: 1 1 100%; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.section-footer .offer-email #email-footer { width: 100% !important; height: 46px !important; box-sizing: border-box; padding: 0 16px !important; border: 1.5px solid #d9e6e3 !important; border-radius: 12px !important; background: #fff !important; font: 400 14px/1 var(--ak-font-ui) !important; color: var(--ak-ink) !important; box-shadow: none !important; }
.section-footer .offer-email #email-footer:focus { border-color: var(--ak-mint) !important; box-shadow: 0 0 0 4px rgba(87,213,194,.18) !important; outline: none; }
.section-footer .offer-email #email-footer::placeholder { color: #9aa8a5; }
.section-footer .offer-email #subscribe { width: 100% !important; height: 46px !important; margin: 0 !important; border: 0 !important; border-radius: 999px !important; background: var(--ak-mint) !important; color: #fff !important; font: 700 14px/1 var(--ak-font-ui) !important; letter-spacing: .02em; text-transform: none !important; box-shadow: 0 4px 14px rgba(87,213,194,.35); cursor: pointer; }
.section-footer .offer-email #subscribe:hover { background: var(--ak-mint-hover) !important; }
.section-footer .offer-email div.mage-error { margin: 6px 0 0; font: 500 12px/1.4 var(--ak-font-ui); color: var(--ak-red-ink); }
/* social icons (the theme's icon font never rendered these) */
.section-footer .site-footer .social-icons { display: flex !important; justify-content: center; gap: 10px; margin: 36px 0 22px !important; padding: 0 !important; list-style: none; }
.section-footer .site-footer .social-icons li { margin: 0 !important; padding: 0 !important; }
.section-footer .site-footer .social-icons a { display: inline-flex !important; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.7); background: rgba(255,255,255,.08); transition: background .15s ease, transform .15s ease; }
.section-footer .site-footer .social-icons a:hover { background: #fff; transform: translateY(-2px); }
.section-footer .site-footer .social-icons a::before { content: ""; width: 18px; height: 18px; background: #fff; -webkit-mask: var(--ak-icon) center / contain no-repeat; mask: var(--ak-icon) center / contain no-repeat; }
.section-footer .site-footer .social-icons a:hover::before { background: var(--ak-mint-deep); }
.section-footer .site-footer .social-icons a[href*="twitter.com"], .section-footer .site-footer .social-icons a[href*="x.com"] { --ak-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.5 3h3.2l-7 8 8.3 10h-6.5l-5.1-6.6L4.6 21H1.4l7.5-8.6L1 3h6.6l4.6 6.1L17.5 3zm-1.1 16h1.8L6.7 4.9H4.8L16.4 19z'/%3E%3C/svg%3E"); }
.section-footer .site-footer .social-icons a[href*="facebook.com"] { --ak-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 21v-7.5h2.6l.4-3h-3V8.6c0-.9.3-1.5 1.5-1.5h1.6V4.4c-.3 0-1.2-.1-2.3-.1-2.3 0-3.9 1.4-3.9 4v2.2H7.8v3h2.6V21h3.1z'/%3E%3C/svg%3E"); }
.section-footer .site-footer .social-icons a[href*="instagram.com"] { --ak-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7.3a4.7 4.7 0 1 0 0 9.4 4.7 4.7 0 0 0 0-9.4zm0 7.7a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm5-8.9a1.1 1.1 0 1 1-2.2 0 1.1 1.1 0 0 1 2.2 0zM12 3c-2.4 0-2.7 0-3.7.1-3.3.1-5.1 1.9-5.2 5.2C3 9.3 3 9.6 3 12s0 2.7.1 3.7c.1 3.3 1.9 5.1 5.2 5.2 1 .1 1.3.1 3.7.1s2.7 0 3.7-.1c3.3-.1 5.1-1.9 5.2-5.2.1-1 .1-1.3.1-3.7s0-2.7-.1-3.7c-.1-3.3-1.9-5.1-5.2-5.2C14.7 3 14.4 3 12 3zm0 1.7c2.4 0 2.6 0 3.6.1 2.4.1 3.6 1.3 3.7 3.7 0 1 .1 1.2.1 3.6s0 2.6-.1 3.6c-.1 2.4-1.3 3.6-3.7 3.7-1 0-1.2.1-3.6.1s-2.6 0-3.6-.1c-2.4-.1-3.6-1.3-3.7-3.7 0-1-.1-1.2-.1-3.6s0-2.6.1-3.6C4.8 6.1 6 4.9 8.4 4.8c1 0 1.2-.1 3.6-.1z'/%3E%3C/svg%3E"); }
.section-footer .site-footer .social-icons a[href*="tumblr.com"] { --ak-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.5 21c-3 0-4.6-1.6-4.6-4.3v-5.6H7.7V8.4c2.2-.6 3.3-2.4 3.5-4.4h2.7v4.1h3.2v3H13.9v5c0 1.4.7 1.9 1.8 1.9.7 0 1.4-.2 1.9-.5l.7 2.6c-.8.5-2.2.9-3.8.9z'/%3E%3C/svg%3E"); }
.section-footer .site-footer .social-icons a[href*="tiktok.com"] { --ak-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.5 3c.3 2.1 1.6 3.6 3.7 3.8v3.1c-1.4 0-2.7-.4-3.8-1.2v6.2c0 3.2-2.6 5.7-5.8 5.7S4.8 18.1 4.8 14.9c0-3.4 3-6.1 6.5-5.6v3.2c-.3-.1-.6-.1-.9-.1-1.4 0-2.5 1.1-2.5 2.5S9 17.4 10.4 17.4s2.6-1.1 2.6-2.5V3h3.5z'/%3E%3C/svg%3E"); }
.section-footer .site-footer .social-icons .icon-fallback-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
/* copyright bar */
.section-footer .site-footer .copyright { margin: 0 -24px !important; padding: 14px 24px !important; background: rgba(0,0,0,.08) !important; font: 500 12px/1.5 var(--ak-font-ui) !important; color: rgba(255,255,255,.9) !important; text-align: center; }
@media (max-width: 1023px) and (min-width: 769px) {
  .section-footer .site-footer .grid { grid-template-columns: 1fr 1fr 1fr 1.2fr; }
  .section-footer .site-footer .grid > .box-4 { grid-column: 1 / -1; max-width: 520px; }
}
@media (max-width: 768px) {
  .section-footer .site-footer .wrapper { padding: 32px 16px 0 !important; }
  .section-footer .site-footer .grid { grid-template-columns: 1fr 1fr !important; gap: 26px 18px !important; }
  .section-footer .site-footer .grid > .box-4 { grid-column: 1 / -1; }
  .section-footer .site-footer .grid h4 { margin-bottom: 10px !important; }
  .section-footer .site-footer .social-icons { margin: 28px 0 18px !important; }
  .section-footer .site-footer .copyright { margin: 0 -16px !important; padding: 12px 16px !important; }
}
.section-footer .site-footer .copyright { margin: 0 calc(50% - 50vw) !important; padding: 14px calc(50vw - 50%) !important; width: auto !important; }
@media (max-width: 768px) { .section-footer .site-footer .copyright { margin: 0 -16px !important; padding: 12px 16px !important; } }
.section-footer .site-footer .wrapper { max-width: none !important; padding: 44px max(24px, calc(50% - 600px)) 0 !important; }
.section-footer .site-footer .copyright { margin: 0 calc(-1 * max(24px, 50% - 600px)) !important; padding: 14px 24px !important; float: none !important; display: block !important; position: static !important; width: auto !important; }
@media (max-width: 768px) { .section-footer .site-footer .wrapper { padding: 32px 16px 0 !important; } .section-footer .site-footer .copyright { margin: 0 -16px !important; padding: 12px 16px !important; } }

/* ---- feedback round 6 (09-30) ---- */
/* footer: group titles clearly different from links */
.section-footer .site-footer .grid h4 { position: relative; padding-bottom: 10px !important; margin-bottom: 12px !important; font-size: 11px !important; letter-spacing: .16em; color: rgba(255,255,255,.72) !important; }
.section-footer .site-footer .grid h4::after { content: ""; position: absolute; left: 0; bottom: 0; width: 22px; height: 2px; border-radius: 2px; background: rgba(255,255,255,.55); }
.section-footer .site-footer .grid li a { font-weight: 400 !important; font-size: 15px !important; }
.section-footer .site-footer .grid .box-5 p { font-weight: 400 !important; font-size: 15px !important; }
/* account: no double card — the theme's block padding/border goes, the inner boxes stay as cards */
.account .column.main > .block { padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; }
.account .column.main > .block .block-content { padding: 0 !important; }
/* account menu button on phones: just "Account menu" + chevron */
@media (max-width: 768px) {
  .account .sidebar-main .block-collapsible-nav .title { padding: 0 14px 0 16px !important; height: 48px; border-radius: 999px; border: 1.5px solid var(--ak-mint) !important; background: #fff; }
  .account .sidebar-main .block-collapsible-nav .title::before { display: none; }
  .account .sidebar-main .block-collapsible-nav .title strong { font-size: 0 !important; line-height: 0 !important; }
  .account .sidebar-main .block-collapsible-nav .title strong::before { content: "Account menu"; font: 700 14px/1 var(--ak-font-ui); letter-spacing: 0; text-transform: none; color: var(--ak-mint-deep); margin: 0; }
  .account .sidebar-main .block-collapsible-nav .title::after { width: 26px; height: 26px; }
  .account .block-collapsible-nav .content { margin-top: 10px; }
}
/* wishlist on phones: two per row, smaller pictures, more items on screen */
@media (max-width: 768px) {
  .wishlist-index-index .products-grid.wishlist .product-items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .wishlist-index-index .products-grid.wishlist .product-item-info { padding: 10px !important; border-radius: 12px; }
  .wishlist-index-index .products-grid.wishlist .product-item-photo { margin: 0 0 8px !important; }
  .wishlist-index-index .products-grid.wishlist .product-item-link { font-size: 12px !important; -webkit-line-clamp: 2; }
  .wishlist-index-index .products-grid.wishlist .price-container .price { font-size: 14px !important; }
  .wishlist-index-index .products-grid.wishlist .usd-price { display: block; font-size: 11px !important; }
  .wishlist-index-index .products-grid.wishlist .box-tocart .fieldset { flex-wrap: wrap; gap: 6px; }
  .wishlist-index-index .products-grid.wishlist .input-text.qty { width: 46px !important; height: 36px !important; }
  .wishlist-index-index .products-grid.wishlist .box-tocart .product-item-actions { flex: 1 1 100%; }
  .wishlist-index-index .products-grid.wishlist .action.tocart.primary { min-height: 36px; font-size: 12px !important; }
  .wishlist-index-index .products-grid.wishlist .product-item-inner > .product-item-actions { gap: 10px; margin: 6px 0 0 !important; }
  .wishlist-index-index .products-grid.wishlist .product-item-inner > .product-item-actions a { min-height: 32px; font-size: 11px !important; }
  .wishlist-index-index .form-wishlist-items .actions-toolbar .action { flex: 1 1 calc(50% - 5px); justify-content: center; min-height: 42px; padding: 0 12px !important; font-size: 12px !important; }
}
/* footer title accent as a static block (the CMS block's own !important padding:0 on h4 beat the positioned version) */
.section-footer .site-footer .grid h4::after { position: static !important; display: block; margin-top: 8px; }
.section-footer .site-footer .grid h4 { padding-bottom: 0 !important; }
.account .block-dashboard-orders .block-title { padding: 0 !important; justify-content: space-between !important; text-align: left !important; }
.account .block-dashboard-orders .block-title strong { text-align: left !important; flex: 1 1 auto; }

@media (max-width: 768px) { .account .sidebar-main .block-collapsible-nav .title strong::before { content: "Account Menu"; } }

/* account chips (tablet/phone): the theme pads every li after the first by 10px, which lifted "My Orders" */
@media (max-width: 1023px) {
  .account .block-collapsible-nav .content .items { gap: 10px; align-items: stretch; }
  .account .block-collapsible-nav .item, .account .block-collapsible-nav .item + .item { margin: 0 !important; padding: 0 !important; display: flex; }
  .account .block-collapsible-nav .item a, .account .block-collapsible-nav .item strong { height: 40px; box-sizing: border-box; line-height: 1 !important; }
}
/* dashboard cards: the theme's clearfix pseudo-element took the first grid cell and pushed both cards right */
.account .block-dashboard-info .block-content::before, .account .block-dashboard-info .block-content::after, .account .block-dashboard-addresses .block-content::before, .account .block-dashboard-addresses .block-content::after { display: none !important; content: none !important; }
/* phone: the theme floats the account menu over the page (position:absolute, sidebar height 0) → the open list covered the content and left a 65px hole above the heading. Keep it in the flow. */
@media (max-width: 768px) {
  .account .columns .sidebar-main { height: auto !important; min-height: 0 !important; margin: 0 0 16px !important; }
  .account .sidebar-main .block-collapsible-nav { position: static !important; top: auto !important; left: auto !important; width: auto !important; margin: 0 !important; z-index: auto !important; }
  .account .sidebar-main .block-collapsible-nav .content { position: static !important; margin: 10px 0 0 !important; }
  .account .column.main > .page-title-wrapper, .account .column.main > .block:first-child { margin-top: 0 !important; }
}
/* wishlist: "Out of stock" takes the same slot and shape as the Add to Cart button; disabled qty looks disabled */
.wishlist-index-index .products-grid.wishlist .unavailable.stock { flex: 1 1 auto; display: inline-flex !important; align-items: center; justify-content: center; min-height: 40px; margin: 0 !important; padding: 0 12px; border-radius: 999px; background: #ecf0ef; color: var(--ak-ink-2) !important; font: 600 13px/1 var(--ak-font-ui) !important; }
.wishlist-index-index .products-grid.wishlist .unavailable.stock span { font: inherit; color: inherit; }
.wishlist-index-index .products-grid.wishlist .input-text.qty:disabled { opacity: .5; background: #f4f7f6 !important; }
@media (max-width: 768px) {
  .wishlist-index-index .products-grid.wishlist .unavailable.stock { flex: 1 1 100%; min-height: 36px; font-size: 12px !important; }
}
/* phone: account pages start 20px under the header like every other page (theme: 41px + an empty 40px messages slot = 101px hole) */
@media (max-width: 768px) {
  .account .page-main { padding-top: 20px !important; }
  .account .page-main > .page.messages { margin: 0 !important; }
  .account .page-main > .page.messages:has(.message) { margin: 0 0 16px !important; }
  .account .sidebar-main .block-collapsible-nav { padding: 0 !important; box-shadow: none !important; background: none !important; border: 0 !important; }
}

/* ==========================================================================
   Review pass 2026-10-03 (logged-in pages on top of the 10-02 production)
   ========================================================================== */
/* sidebar heading: the server prints "Account Dashboard" on every page — always show "Account Menu" (CSS, no race with JS) */
.account .sidebar-main .block-collapsible-nav .title strong { font-size: 0 !important; line-height: 0 !important; }
.account .sidebar-main .block-collapsible-nav .title strong::before { content: "Account Menu"; display: block; font: 700 11px/1.2 var(--ak-font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--ak-ink-3); }
@media (max-width: 768px) { .account .sidebar-main .block-collapsible-nav .title strong::before { font: 700 14px/1 var(--ak-font-ui); letter-spacing: 0; text-transform: none; color: var(--ak-mint-deep); } }
/* sidebar items: never clip a label */
.account .sidebar-main .block-collapsible-nav .nav.item a, .account .sidebar-main .block-collapsible-nav .nav.item.current strong { white-space: normal !important; overflow-wrap: anywhere; }
/* forms on account pages: one card style (the theme only gave them a faint one-sided shadow) */
.account .column.main form:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)), .account .column.main .form-newsletter-manage { border: 1.5px solid var(--ak-line) !important; border-radius: var(--ak-radius-lg) !important; box-shadow: none !important; background: #fff !important; padding: 22px !important; }
@media (max-width: 768px) { .account .column.main form:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)), .account .column.main .form-newsletter-manage { padding: 18px !important; } }
/* reward points: the table sat between two full-bleed theme rules */
.points-history-index .column.main .table-wrapper.orders-history { border: 0 !important; margin: 16px 0 0 !important; padding: 0 !important; box-shadow: none !important; }
/* phone numbers in address cards: readable ink, not light mint */
.account .box-address-billing a[href^="tel:"], .account .box-address-shipping a[href^="tel:"], .account .box a[href^="tel:"], .account address a[href^="tel:"] { color: var(--ak-ink) !important; text-decoration: none; }
/* wishlist: full product names (never truncated), left-aligned like everywhere else */
.wishlist-index-index .products-grid.wishlist .product-item-name, .wishlist-index-index .products-grid.wishlist .product-item-name a { display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; text-overflow: clip !important; white-space: normal !important; text-align: left !important; }
.wishlist-index-index .products-grid.wishlist .price-box { text-align: left !important; }
/* wishlist toolbar: count and pager with room to breathe */
.wishlist-index-index .wishlist-toolbar .pager { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.wishlist-index-index .wishlist-toolbar .toolbar-amount { margin: 0 !important; padding: 0 !important; position: static !important; }
.wishlist-index-index .wishlist-toolbar .pages { margin: 0 !important; position: static !important; }
/* date of birth button: one line */
.account .ak-date-btn, .customer-account-create .ak-date-btn { white-space: nowrap !important; }
/* empty order history: a way forward */
.ak-empty-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
/* footer on phones: same 16px gutter as the page content (theme pads the grid by another 34px) */
@media (max-width: 767px) { .section-footer .site-footer .grid { padding-left: 0 !important; padding-right: 0 !important; } }
/* wishlist: the item grid is the content, not a form card */
.account .column.main form:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)).form-wishlist-items { border: 0 !important; padding: 0 !important; background: transparent !important; }
/* wishlist cards: actions sit on the same line in every card whatever the name length */
.wishlist-index-index .products-grid.wishlist .product-item { display: flex !important; }
.wishlist-index-index .products-grid.wishlist .product-item-info { display: flex !important; flex-direction: column; width: 100% !important; height: 100%; }
.wishlist-index-index .products-grid.wishlist .product-item-inner { margin-top: auto !important; }
.wishlist-index-index .products-grid.wishlist .price-box, .wishlist-index-index .products-grid.wishlist .price-container { text-align: left !important; justify-content: flex-start !important; }

/* ==========================================================================
   Review pass 2026-10-03 (guest pages, audit at 390 / 820 / 1280)
   ========================================================================== */
/* stronger secondary text and deep mint (WCAG AA on white and on the mint tint) */
:root { --ak-ink-3: #66736f; --ak-mint-deep: #17786a; }
.section-footer .site-footer .grid h4, .section-footer .site-footer .offer-message h4 { color: #fff !important; }
/* blog list: the theme's 70% text column left a narrow strip inside every card */
.blog-page .post-list .post-info { max-width: none !important; width: auto !important; }
/* FAQ categories: wrap onto lines, no sideways swiping; icons dropped (they collapsed to dots / floated outside the pill) */
.faq-index-index .faq-groups { flex-wrap: wrap !important; overflow: visible !important; position: static !important; margin: 0 0 24px !important; padding: 10px 0 !important; }
/* FAQ category icons stay (as in production), inside the pill */
.faq-index-index .faq-group .faq-group-image { display: contents !important; }
.faq-index-index .faq-group .faq-group-image .group-link { flex: 0 0 auto !important; display: inline-flex !important; align-items: center; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; }
.faq-index-index .faq-group .faq-group-image .group-link img { width: 22px !important; height: 22px !important; object-fit: contain; display: block; }
/* the pill is the whole group (icon + name + count), so the icon sits inside it */
.faq-index-index .faq-group, .mageprince-faq-collection .faq-group { width: auto !important; flex: 0 0 auto !important; max-width: none !important; display: inline-flex !important; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px 0 12px !important; border: 1.5px solid var(--ak-line) !important; border-radius: 999px !important; background: #fff !important; cursor: pointer; }
.faq-index-index .faq-group .faq-groupname .group-link { flex: 0 0 auto !important; white-space: nowrap; height: auto !important; min-height: 44px; padding: 0 !important; border: 0 !important; background: none !important; }
.faq-index-index .faq-group.is-active, .faq-index-index .faq-group:hover { background: var(--ak-tint) !important; border-color: var(--ak-mint) !important; }
.faq-index-index .faq-group.is-active .faq-groupname .group-link, .faq-index-index .faq-group:hover .faq-groupname .group-link { background: none !important; color: var(--ak-mint-deep) !important; }
/* forms: field names stay visible while typing */
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field > .label, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field > label.label { display: block !important; position: static !important; width: auto !important; height: auto !important; clip: auto !important; margin: 0 0 6px !important; font: 600 13px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; text-transform: none !important; letter-spacing: 0 !important; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field.required > .label::after, :is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .field._required > .label::after { content: " *"; color: var(--ak-red, #c2413b); }
.customer-account-create .password-strength-meter, .customer-account-create #password-strength-meter-label, .account .password-strength-meter, .account #password-strength-meter-label { color: var(--ak-ink-2) !important; }
/* product page: qty row → buy button without the theme's leftover 30px */
.catalog-product-view .box-tocart .field.qty .control { margin-bottom: 0 !important; }
.catalog-product-view .product-options-wrapper .control { width: 100% !important; }
@media (min-width: 1024px) { .catalog-product-view .breadcrumbs { max-width: 1200px; margin: 0 auto 4px !important; padding: 0 10px !important; box-sizing: border-box; } }
/* CMS / FAQ / contact: body text starts on the same left edge as the heading */
.cms-page-view .column.main, .faq-index-index .column.main, .contact-index-index .column.main { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; }
/* shipping tables on phones: label left, value right after it, plain white cells */
@media (max-width: 767px) {
  .cms-shipping .rg-table td { display: block !important; overflow: hidden; background: #fff !important; }
  .cms-shipping .rg-table td:first-child { background: var(--ak-tint) !important; }
  .cms-shipping .rg-table td::before { float: left; margin-right: 12px; color: var(--ak-ink-2) !important; }
}
/* tablet: a real side gutter, shipping toggle inside its box */
@media (min-width: 768px) and (max-width: 1023px) { :is(.catalog-product-view, .blog-page, .cms-page-view, .contact-index-index, .faq-index-index, .customer-account-login, .customer-account-create, .customer-account-forgotpassword, .account, .cms-noroute-index) :is(.page-main, .breadcrumbs) { padding-left: 24px !important; padding-right: 24px !important; } }
.catalog-product-view .block-shipping-estimation .block-title { padding-right: 12px !important; box-sizing: border-box; }
.catalog-product-view .block-shipping-estimation .content-toggle { min-height: 36px; height: auto !important; }
/* tap targets */
.section-footer .site-footer .grid li a { display: inline-block; padding: 7px 0; }
.section-footer .site-footer .grid li { margin-bottom: 0 !important; }
.faq-index-index .collspan-expand-block a, .blog-page .sidebar .item a, .blog-post-view .post-category .category-name { min-height: 36px; display: inline-flex !important; align-items: center; }
:is(.ak-form, :where(.customer-account-login .form-login, .customer-account-create .form-create-account, .customer-account-forgotpassword .form.password.forget, .contact-index-index .form.contact, .customer-account-confirmation .column.main form.form, .sales-guest-form .column.main form.form, .catalogsearch-advanced-index .column.main form.form, .account .form-edit-account, .account .form-address-edit, .account .form-newsletter-manage, .account .form-wishlist-items, .account .form.wishlist.share, .account .form.password.reset)) .action.remind { display: inline-block; padding: 10px 0; }
/* visible keyboard focus everywhere in scope */
.page-main a:focus-visible, .page-main button:focus-visible, .page-main input:focus-visible, .page-main select:focus-visible, .page-main textarea:focus-visible, .page-footer a:focus-visible, .section-footer a:focus-visible, .section-footer input:focus-visible, .section-footer button:focus-visible { outline: 2px solid #17786a !important; outline-offset: 2px !important; }
/* headings: sentence case and left-aligned like every other page */
.customer-account-create .page-title, .customer-account-forgotpassword .page-title, .customer-account-create .block-title strong, .customer-account-forgotpassword .block-title strong { text-transform: none !important; text-align: left !important; }
/* blog thumbnails: keep the uploaded 350×134 proportion so they are not blown up and cropped */
.blog-page .post-list .post-image .bg-img, .blog-page .post-list .post-ftimg-hld .bg-img { aspect-ratio: 350 / 134 !important; }
/* copyright bar: full width at desktop too */
.section-footer .copyright { margin-left: 0 !important; margin-right: 0 !important; }
/* founder page: no empty paragraph before the signature */
.cms-message-from-founder .ak-founder-text p:empty, .cms-message-from-founder .ak-founder-text p:has(> br:only-child) { display: none !important; }

/* ==========================================================================
   UX additions 2026-10-03 (松本さん承認: 注意書き折りたたみ・送料自動計算・ギャラリー枚数表示・Sign In・404導線・タブレットのニュースレター幅)
   ========================================================================== */
/* long PLEASE NOTE boxes: three lines, then "Read the full note" */
/* shipping estimate: results appear by themselves, so the Calculate button goes */
.catalog-product-view .block-shipping-estimation.ak-autocalc [data-role="submit"] { display: none !important; }
.catalog-product-view .ak-ship-hint { margin: 0 0 8px; font: 500 13px/1.5 var(--ak-font-ui); color: var(--ak-ink-2); }
/* gallery on phones: a "3 / 20" counter replaces the row of tiny dots */
.catalog-product-view .product.media .fotorama.ak-has-count { position: relative; }
.ak-gal-count { position: absolute; right: 12px; bottom: 12px; z-index: 5; padding: 6px 11px; border-radius: 999px; background: rgba(34,48,46,.72); color: #fff; font: 600 12px/1 var(--ak-font-ui); font-variant-numeric: tabular-nums; pointer-events: none; }
@media (min-width: 1024px) { .ak-gal-count { display: none; } }
@media (max-width: 768px) { .catalog-product-view .product.media .fotorama.ak-has-count .fotorama__nav--dots { display: none !important; } }
/* 404: centred like its text, with two ways forward */
.cms-noroute-index .page-title-wrapper, .cms-noroute-index .page-title { text-align: center !important; }
.ak-404-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 24px 0 8px; }
/* tablet: the newsletter card does not need the full row */
@media (min-width: 768px) and (max-width: 1023px) { .section-footer .site-footer .grid > .box-4 { max-width: 480px; } }

.ak-404-cta :is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)), .ak-404-cta :is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)):visited, .ak-404-cta :is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)):hover { color: #fff !important; text-decoration: none !important; }
.ak-404-cta :is(.ak-btn-secondary, :where(.customer-account-login .block-new-customer .action.create)) { text-decoration: none !important; }
/* blog list: only the first paragraph of the excerpt (the second one peeked out under the clamp) */
.blog-page .post-list .post-description .post-text-hld > *:not(:first-child), .blog-page .post-list .post-description > p:not(:first-of-type) { display: none !important; }
/* links inside blog posts / CMS text: deep mint, readable */
.blog-post-view .post-description a, .blog-page .post-list .post-description a, .cms-page-view .column.main p a { color: var(--ak-mint-deep) !important; }
/* product gallery: keyboard focus on the stage and thumbnails */
.catalog-product-view .fotorama__stage__shaft:focus-visible, .catalog-product-view .fotorama__nav__frame:focus-visible { outline: 2px solid #17786a !important; outline-offset: 2px !important; }
/* blog cards: the excerpt keeps its three lines (it used to stretch with the card and show the start of line 4); Read more sits at the bottom */
.blog-page .post-list .post-description { flex: 0 0 auto !important; max-height: calc(3 * 1.6em) !important; }
.blog-page .post-list .post-read-more { margin-top: auto !important; }
/* tablet product page: picture full width, details underneath (the 2-column split squeezed the gallery stage under the info column) */
@media (min-width: 768px) and (max-width: 1023px) {
  .catalog-product-view .product-main-content { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
  .catalog-product-view .product-info-main { position: static !important; }
  .section-footer .site-footer .grid > .box-4 { max-width: 480px !important; }
}
/* tablet gallery: pages-v1.js switches the hidden vertical thumbnail column off (the theme shifted the stage right for it and cut the picture) */
@media (min-width: 769px) and (max-width: 1023px) { .catalog-product-view .product.media:has(.ak-has-count) > .triangle { left: 0 !important; } }

/* phone header: the search button carried a 5px bottom margin, so its icon sat 2.5px above the cart icon (松本さん指摘 10-03) */
@media (max-width: 768px) { .page-header .header_custom_icon .ak-s-mbtn { margin-bottom: 0 !important; } }

/* ==========================================================================
   Account & orders pass 2026-10-03 (松本さん: 注文のあるアカウントで確認)
   ========================================================================== */
/* no deep green text: links and labels in ink, mint only as accent (underline / fills) */
:root { --ak-mint-deep: #22302e; }
.account .column.main a:not(.action.primary):not(:is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share))):not(:is(.ak-btn-secondary, :where(.customer-account-login .block-new-customer .action.create))):not(.ak-order-thumb-link):not(.ak-order-link):not(.ak-track-chip):not(.action.track):not(.page):not(.next):not(.previous):not([href^="tel:"]):not(.order-links a),
.account .box-actions .action, .account .block-title .action, .account #my-orders-table .action, .account .table-wrapper .col.actions a {
  color: var(--ak-ink) !important; text-decoration: underline !important; text-decoration-color: rgba(87,213,194,.9) !important; text-decoration-thickness: 2px !important; text-underline-offset: 4px; }
.account .column.main a:hover { text-decoration-color: var(--ak-ink) !important; }
.account .items.order-links a, .account .items.order-links strong { text-decoration: none !important; }
.account .column.main a[href^="tel:"] { color: var(--ak-ink) !important; text-decoration: none !important; }
.account .block-title .action::after, .account .block-title .action span::after { color: var(--ak-ink-3) !important; }

/* account menu on phones: a quiet card like every other block (no mint frame, no green text) */
@media (max-width: 768px) {
  .account .sidebar-main .block-collapsible-nav .title { border: 1px solid var(--ak-line) !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 1px 2px rgba(34,48,46,.04); height: 52px; padding: 0 12px 0 16px !important; }
  .account .sidebar-main .block-collapsible-nav .title strong::before { color: var(--ak-ink) !important; font: 600 15px/1 var(--ak-font-ui) !important; }
  .account .sidebar-main .block-collapsible-nav .title::after { background-color: #f2f5f4 !important; }
  .account .sidebar-main .block-collapsible-nav .title.active { border-color: var(--ak-ink-3) !important; }
}

/* Recent Orders: the theme's clearfix pseudo-element was the first flex item → title pushed 12px right */
.account .block-dashboard-orders .block-title::before, .account .block-dashboard-orders .block-title::after { content: none !important; display: none !important; }

/* order information boxes: same clearfix problem took the first grid cell on the Items Ordered tab */
.account .block-order-details-view .block-content::before, .account .block-order-details-view .block-content::after { content: none !important; display: none !important; }
/* payment box: label above value, e-mail addresses wrap only where they must */
.account .box-order-billing-method .data.table th, .account .box-order-billing-method .data.table td { display: block !important; padding: 0 !important; text-align: left !important; }
.account .box-order-billing-method .data.table th { margin: 8px 0 2px !important; font: 600 11px/1.3 var(--ak-font-ui) !important; letter-spacing: .04em; text-transform: uppercase; color: var(--ak-ink-3) !important; }
.account .box-order-billing-method .data.table td { font: 400 13px/1.5 var(--ak-font-ui) !important; color: var(--ak-ink) !important; overflow-wrap: anywhere; word-break: normal !important; text-transform: none !important; }

/* order item thumbnails (span wrapper with the image inside, optionally inside a link) */
.account .table-order-items .ak-order-thumb { display: block; overflow: hidden; }
.account .table-order-items .ak-order-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.account .table-order-items .ak-order-thumb-link { display: block; flex: 0 0 auto; border-radius: 10px; }
.account .table-order-items .ak-order-link { color: var(--ak-ink) !important; text-decoration: none !important; }
.account .table-order-items .ak-order-link:hover { text-decoration: underline !important; text-decoration-color: var(--ak-mint) !important; text-underline-offset: 3px; }
.account .table-order-items .ak-order-body { min-width: 0; }

/* pager: count on the left, page buttons with room between them, page size on the right; phones stack it */
.account .toolbar.order-products-toolbar .pager, .account .order-products-toolbar .pager { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px 20px; width: 100%; }
.account .order-products-toolbar .toolbar-amount { grid-column: 1; justify-self: start; margin: 0 !important; padding: 0 !important; font: 500 13px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; white-space: nowrap; }
.account .order-products-toolbar .pages { grid-column: 2; margin: 0 !important; }
.account .order-products-toolbar .pages-items { gap: 8px !important; }
.account .order-products-toolbar .pages .item { margin: 0 !important; }
.account .order-products-toolbar .pages .item .page, .account .order-products-toolbar .pages .item .action { min-width: 40px; height: 40px; display: inline-flex !important; align-items: center; justify-content: center; }
.account .order-products-toolbar .limiter { grid-column: 3; justify-self: end; }
@media (max-width: 768px) {
  .account .toolbar.order-products-toolbar .pager, .account .order-products-toolbar .pager { grid-template-columns: 1fr auto; }
  .account .order-products-toolbar .pages { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
  .account .order-products-toolbar .toolbar-amount { grid-column: 1; grid-row: 2; }
  .account .order-products-toolbar .limiter { grid-column: 2; grid-row: 2; }
  .account .order-products-toolbar .pages-items { gap: 6px !important; }
}

/* phones: order lists as compact cards — order no. + status, date + total, then the actions */
@media (max-width: 768px) {
  .sales-order-history .table-order-items.history > tbody > tr, .account .block-dashboard-orders .table-order-items > tbody > tr {
    display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding: 14px 16px !important; margin: 0 0 10px !important; border: 1px solid var(--ak-line) !important; border-radius: 14px !important; background: #fff !important; }
  .sales-order-history .table-order-items.history > tbody > tr > td, .account .block-dashboard-orders .table-order-items > tbody > tr > td { display: block !important; padding: 0 !important; border: 0 !important; min-height: 0 !important; }
  .sales-order-history .table-order-items.history > tbody > tr > td::before, .account .block-dashboard-orders .table-order-items > tbody > tr > td::before { content: none !important; display: none !important; }
  .account .table-order-items > tbody > tr > td.col.id { grid-column: 1; grid-row: 1; font: 700 15px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink) !important; }
  .account .table-order-items > tbody > tr > td.col.id::after { content: ""; }
  .account .table-order-items > tbody > tr > td.col.status { grid-column: 2; grid-row: 1; justify-self: end; padding: 3px 10px !important; border-radius: 999px; background: #f2f5f4; font: 600 11px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; text-transform: uppercase; letter-spacing: .04em; }
  .account .table-order-items > tbody > tr > td.col.date { grid-column: 1; grid-row: 2; font: 400 13px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; }
  .account .table-order-items > tbody > tr > td.col.total { grid-column: 2; grid-row: 2; justify-self: end; font: 700 15px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink) !important; }
  .account .table-order-items > tbody > tr > td.col.shipping { grid-column: 1 / -1; grid-row: 3; font: 400 12px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink-3) !important; }
  .account .table-order-items > tbody > tr > td.col.shipping::before { content: "Ship to " !important; display: inline !important; font: inherit !important; color: inherit !important; text-transform: none !important; letter-spacing: 0 !important; }
  .account .table-order-items > tbody > tr > td.col.actions { grid-column: 1 / -1; grid-row: 4; display: flex !important; justify-content: flex-end; gap: 16px; margin-top: 6px !important; padding-top: 10px !important; border-top: 1px solid var(--ak-line) !important; }
  .account .table-order-items > tbody > tr > td.col.actions a { font: 600 14px/1 var(--ak-font-ui) !important; }
}

/* order lists: cards / table flush with the page title (the theme indents the wrapper) */
.account .column.main .table-wrapper.orders-history, .account .block-dashboard-orders .table-wrapper { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; border: 0 !important; }
@media (max-width: 768px) {
  .account .table-order-items > tbody > tr > td.col.actions { grid-row: auto !important; margin-top: 4px !important; padding-top: 8px !important; }
  /* order items on phones: one white card per item, no zebra, no "Product Name:" label */
  .account .table-order-items:not(.history) > tbody > tr, .account .order-details-items .table-order-items > tbody > tr { background: #fff !important; }
  .account .order-details-items .table-order-items > tbody > tr > td.col.name::before { content: none !important; display: none !important; }
  .account .order-details-items .table-order-items > tbody > tr > td.col.name { padding-bottom: 10px !important; }
}
/* order items: no zebra rows anywhere (the theme paints every other row and its cells grey) */
.account .order-details-items .table-order-items > tbody > tr, .account .order-details-items .table-order-items > tbody > tr > td, .account .order-details-items .table-order-items > tbody:nth-child(even) > tr, .account .order-details-items .table-order-items > tbody:nth-child(even) > tr > td, .account .order-details-items .table-order-items > tbody > tr:nth-child(even) > td { background: #fff !important; }
@media (max-width: 768px) { .account .order-details-items .table-order-items > tbody > tr > td { text-align: left !important; justify-content: flex-start !important; } }
.account .order-details-items .table-order-items .col.sku { min-width: 130px; overflow-wrap: anywhere; }

/* ==========================================================================
   松本さん指示 2026-10-03 (orders / product / cart / FAQ)
   ========================================================================== */
/* order status pills: green = done, blue = in progress, red = closed/refunded, amber = needs attention, grey = cancelled */
.ak-status { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; padding: 4px 10px !important; border-radius: 999px !important; font: 700 11px/1.3 var(--ak-font-ui) !important; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; border: 0 !important; }
.ak-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
body .ak-status.ak-status--ok { --ak-dot: #1d7a45; background: #e3f6ea !important; color: #1d7a45 !important; }
body .ak-status.ak-status--info { --ak-dot: #1f5fbf; background: #e5f0fd !important; color: #1f5fbf !important; }
body .ak-status.ak-status--bad { --ak-dot: #b42828; background: #fde8e8 !important; color: #b42828 !important; }
body .ak-status.ak-status--warn { --ak-dot: #9a5b00; background: #fff1d9 !important; color: #9a5b00 !important; }
body .ak-status.ak-status--off { --ak-dot: #5b6b68; background: #eef1f0 !important; color: #5b6b68 !important; }
/* order numbers / dates read as data */
.account .table-order-items td.col.id, .account .table-order-items td.col.date, .account .order-date { font-variant-numeric: tabular-nums; }

/* order item pictures: the whole picture inside the square (no centre crop) */
.account .table-order-items .ak-order-thumb { background: #fff !important; }
.account .table-order-items .ak-order-thumb img { object-fit: contain !important; padding: 3px; box-sizing: border-box; }

/* invoices / shipments / refunds: SKU not needed */
.sales-order-invoice .table-order-items .col.sku, .sales-order-creditmemo .table-order-items .col.sku, .sales-order-shipment .table-order-items .col.sku { display: none !important; }

/* shipping estimate: the "includes" line as a readable note */
.catalog-product-view .block-shipping-estimation .ak-ship-includes { display: grid; gap: 2px; margin: 12px 0 0 !important; padding: 10px 12px 10px 38px !important; border-radius: 10px; background: #f3f8f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6b68' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E") no-repeat 12px 12px / 18px 18px; color: var(--ak-ink) !important; }
.catalog-product-view .ak-ship-includes__label { font: 700 12px/1.4 var(--ak-font-ui); letter-spacing: .02em; color: var(--ak-ink-2); }
.catalog-product-view .ak-ship-includes__value { font: 500 14px/1.5 var(--ak-font-ui); color: var(--ak-ink); }
/* product gallery: rounded like the listing cards — a hairline frame so the 14px corners show on white product shots */
.catalog-product-view .product.media .fotorama__stage { border-radius: 14px !important; background: #fff !important; box-shadow: inset 0 0 0 1px #e3ecea; }
.catalog-product-view .product.media .fotorama__stage::after { content: ""; position: absolute; inset: 0; border: 1px solid #e3ecea; border-radius: inherit; pointer-events: none; z-index: 3; }
.catalog-product-view .product.media .fotorama__nav__frame--thumb .fotorama__thumb { border-radius: 10px !important; overflow: hidden; background: #fff !important; box-shadow: inset 0 0 0 1px #e3ecea; }
@media (max-width: 768px) { .catalog-product-view .product.media .fotorama__stage { border-radius: 12px !important; } }
/* the PRE ORDER / SOLD OUT ribbon on the gallery must stay under the header dropdowns (it covered "Your Cart") */
.catalog-product-view .product.media .triangle { z-index: 2 !important; }
.minicart-wrapper .block-minicart, .minicart-wrapper .ui-dialog { z-index: 1000 !important; }
/* FAQ pills: icon, name and count on one centre line (the name sat 3.5px low) */
.faq-index-index .faq-group .faq-groupname .group-link { min-height: 0 !important; height: auto !important; line-height: 1.2 !important; align-self: center; margin: 0 !important; }
.faq-index-index .faq-group .faq-group-image .group-link { align-self: center; }
.faq-index-index .faq-group { min-height: 44px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
/* the cell / title badge only holds the pill now */
.account .table-order-items td.col.status.ak-status-cell, .account .page-title-wrapper .order-status.ak-status-cell { background: none !important; border: 0 !important; padding: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
.account .page-title-wrapper .order-status.ak-status-cell { display: inline-flex !important; margin: 0 0 0 10px !important; vertical-align: middle; }
@media (max-width: 768px) { .account .table-order-items > tbody > tr > td.col.status.ak-status-cell { background: none !important; padding: 0 !important; } }
/* theme pop-ups (checkout "New Address", alerts …): round close button instead of the black square; width left as the theme sets it (checkout is not touched further) */
.modal-popup .action-close, .modal-slide .action-close { width: 40px !important; height: 40px !important; top: 10px !important; right: 10px !important; padding: 0 !important; border-radius: 50% !important; background: #f2f5f4 !important; display: inline-flex !important; align-items: center; justify-content: center; }
.modal-popup .action-close::before, .modal-slide .action-close::before { color: var(--ak-ink) !important; font-size: 18px !important; line-height: 1 !important; margin: 0 !important; }
.modal-popup .action-close:hover, .modal-slide .action-close:hover { background: #e6eeec !important; }

/* ==========================================================================
   Account cross-check fixes 2026-10-03 (19 pages × 1280/820/390)
   ========================================================================== */
/* status pills: text in ink, colour in the dot and the tint (no deep-green text) */
body .ak-status { color: var(--ak-ink) !important; }
body .ak-status::before { background: var(--ak-dot, currentColor) !important; }
/* order pages: title, date and tabs share the left edge (theme clearfix pseudo-elements were flex items) */
.account .page-title-wrapper::before, .account .page-title-wrapper::after, .account .items.order-links::before, .account .items.order-links::after { content: none !important; display: none !important; }
/* order tabs: 36px tall, one line on phones */
.account .items.order-links .item a, .account .items.order-links .item strong { min-height: 36px; display: inline-flex !important; align-items: center; }
/* order information: 4 equal boxes on desktop, 2×2 on tablets, same look on every tab */
.account .block-order-details-view .block-content { display: grid !important; gap: 14px !important; align-items: stretch; }
.account .block-order-details-view .box { height: auto; }
@media (min-width: 1101px) { .account .block-order-details-view .block-content { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (min-width: 769px) and (max-width: 1100px) { .account .block-order-details-view .block-content { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 768px) { .account .block-order-details-view .block-content { grid-template-columns: minmax(0, 1fr) !important; } }
.account .box-order-billing-method a[href^="mailto:"], .account .box-order-billing-method td { text-transform: lowercase; }
/* pager on phones: never wider than the screen */
@media (max-width: 480px) {
  .account .order-products-toolbar .pages-items, .account .toolbar .pages .items { flex-wrap: wrap !important; justify-content: center; row-gap: 8px; }
  .account .order-products-toolbar .pages .item .page, .account .order-products-toolbar .pages .item .action { min-width: 36px; height: 36px; }
}
/* reward points: a clean two-column list on phones, minus amounts muted */
@media (max-width: 768px) {
  .points-history-index .table-order-items > tbody > tr > td { display: flex !important; justify-content: space-between; gap: 12px; }
  .points-history-index .table-order-items > tbody > tr > td::before { content: attr(data-th) !important; display: inline !important; font: 600 11px/1.5 var(--ak-font-ui) !important; letter-spacing: .04em; text-transform: uppercase; color: var(--ak-ink-3) !important; }
}
.points-history-index td.col.points { font-weight: 700; font-variant-numeric: tabular-nums; }
.points-history-index td.col.points.ak-minus { color: var(--ak-ink-3) !important; font-weight: 500; }
/* address book table: keep names / cities in one piece; Delete reads as destructive */
.customer-address-index .additional-addresses td.col:not(.streetaddress):not(.actions) { word-break: keep-all; }
#maincontent .additional-addresses a.action.delete, .customer-address-index .additional-addresses .action.delete { color: #b42828 !important; text-decoration-color: rgba(180,40,40,.45) !important; }
/* wishlist: toolbar flush with the title, Qty label on the input's centre line, bigger Edit / Remove on phones */
.wishlist-index-index .wishlist-toolbar, .wishlist-index-index .wishlist-toolbar .pager { padding-left: 0 !important; margin-left: 0 !important; }
.wishlist-index-index .products-grid.wishlist .field.qty { display: flex !important; align-items: center; gap: 8px; }
.wishlist-index-index .products-grid.wishlist .field.qty .label { margin: 0 !important; padding: 0 !important; line-height: 1 !important; }
@media (max-width: 768px) { .wishlist-index-index .products-grid.wishlist .product-item-actions .action { min-height: 36px; min-width: 44px; display: inline-flex !important; align-items: center; justify-content: center; } }

/* ==========================================================================
   Guest cross-check fixes 2026-10-03 (22 pages × 1280/820/390)
   ========================================================================== */
/* desktop gallery: the stage sits right of the 90px thumbnail column, so it must be 90px narrower — otherwise the "next" arrow and the right edge fall outside the frame */
@media (min-width: 1024px) { .catalog-product-view .product.media .fotorama:has(.fotorama__nav--thumbs) .fotorama__stage { max-width: calc(100% - 90px) !important; } }
.catalog-product-view .fotorama__arr:focus-visible { outline: 2px solid #17786a !important; outline-offset: 2px !important; }
/* footer group titles: readable size (were 11px, smaller than the links) */
.section-footer .site-footer .grid h4, .section-footer .site-footer .offer-message h4 { font-size: 13px !important; letter-spacing: .08em !important; }
/* CMS / FAQ / Contact: body text on the title's left edge (the theme pads .columns by 20px) */
:is(.cms-page-view, .faq-index-index, .contact-index-index) .columns { padding-left: 0 !important; padding-right: 0 !important; }
/* copyright bar edge to edge on desktop too */
.section-footer .site-footer .copyright { box-shadow: 0 0 0 100vmax rgba(0,0,0,.08); clip-path: inset(0 -100vmax); }
/* mint buttons always carry white text */
.ak-404-cta :is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)), .cms-privacy-policy .column.main p a:is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)), .cms-privacy-policy .column.main p a { color: #fff !important; }
/* FAQ: a category jump lands below the sticky header */
.faq-index-index #faq-content > div, .faq-index-index .ui-accordion-header { scroll-margin-top: 72px; }
/* shipping estimate results: no star icons outside the homepage (松本さんルール) → small mint dot */
.catalog-product-view .block-shipping-estimation [data-role="result"] .fa-star, .catalog-product-view .block-shipping-estimation [data-role="result"] i[class*="star"] { font-size: 0 !important; width: 8px; height: 8px; border-radius: 50%; background: var(--ak-mint); display: inline-block; vertical-align: middle; }
.catalog-product-view .block-shipping-estimation [data-role="result"] .fa-star::before, .catalog-product-view .block-shipping-estimation [data-role="result"] i[class*="star"]::before { content: none !important; }
/* contact form: visible field names like the other forms */
.contact-index-index .form.contact .ak-field-label { display: block; margin: 0 0 6px; font: 600 13px/1.3 var(--ak-font-ui); color: var(--ak-ink-2); }
.contact-index-index .form.contact .ak-field-label em { font-style: normal; color: #c2413b; margin-left: 2px; }
/* shipment tab: tracking numbers on one tidy row of chips (label first); linked numbers open the carrier tracking pop-up */
.account .order-tracking { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 4px 0 14px !important; padding: 12px 14px !important; border: 1px solid var(--ak-line); border-radius: 12px; background: #f7faf9; }
.account .order-tracking .tracking-title { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; font: 600 12px/1.3 var(--ak-font-ui) !important; letter-spacing: .02em; color: var(--ak-ink-2) !important; text-transform: none !important; }
.account .order-tracking .tracking-content { float: none !important; display: flex !important; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; }
.account .order-tracking .ak-track-chip { display: inline-flex !important; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px !important; border: 1px solid var(--ak-line); border-radius: 999px; background: #fff; font: 600 13px/1 var(--ak-font-ui) !important; letter-spacing: .02em; font-variant-numeric: tabular-nums; color: var(--ak-ink) !important; text-decoration: none !important; }
.account .order-tracking .ak-track-chip.is-link::after { content: ""; width: 12px; height: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322302e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") no-repeat center / contain; }
.account .order-tracking .ak-track-chip.is-link:hover { border-color: var(--ak-mint); background: var(--ak-tint); }
.account .order-tracking .ak-track-chip span { font: inherit !important; }
/* "Track All Shipments" sits above the shipments as a small button */
.account .order-details-items > .actions-toolbar .action.track { display: inline-flex !important; align-items: center; min-height: 36px; padding: 0 14px !important; border: 1px solid var(--ak-line); border-radius: 999px; background: #fff; font: 600 13px/1 var(--ak-font-ui) !important; color: var(--ak-ink) !important; text-decoration: none !important; }
/* tracking pop-up window (opens from the links above): same type and cards as the account pages */
.shipping-tracking-popup .page-title-wrapper .page-title { font: 700 22px/1.3 var(--ak-font-head) !important; text-transform: none !important; color: var(--ak-ink) !important; letter-spacing: 0 !important; }
.shipping-tracking-popup .table-wrapper, .shipping-tracking-popup .tracking { margin: 0 0 14px !important; padding: 12px 14px; border: 1px solid var(--ak-line); border-radius: 12px; background: #fff; }
.shipping-tracking-popup .table-caption, .shipping-tracking-popup caption { font: 700 14px/1.3 var(--ak-font-ui) !important; color: var(--ak-ink) !important; text-align: left; }
.shipping-tracking-popup th, .shipping-tracking-popup th * { font: 600 12px/1.4 var(--ak-font-ui) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ak-ink-2) !important; }
.shipping-tracking-popup td { font: 500 14px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink) !important; }
.account .order-tracking .ak-track-chip, .account .order-tracking .ak-track-chip span { text-decoration: none !important; }
.shipping-tracking-popup .tracking .table-wrapper, .shipping-tracking-popup .table-wrapper .table-wrapper { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; }
/* pages reached from the footer / account mails that still had the old look: resend confirmation, guest order lookup ("Order Status" for guests), advanced search */
:is(.customer-account-confirmation, .sales-guest-form, .sales-guest-view, .catalogsearch-advanced-index) .page-title-wrapper { margin: 8px 0 24px !important; }
:is(.customer-account-confirmation, .sales-guest-form, .sales-guest-view, .catalogsearch-advanced-index) .page-title-wrapper .page-title { display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; font: 700 26px/1.2 var(--ak-font-head) !important; letter-spacing: -.01em; color: var(--ak-mint) !important; text-transform: none !important; }
:is(.customer-account-confirmation, .sales-guest-form, .catalogsearch-advanced-index) .column.main form.form { max-width: 520px; margin: 0 auto 0 0; padding: 26px; border: 1.5px solid var(--ak-line); border-radius: var(--ak-radius-lg); background: #fff; box-shadow: var(--ak-shadow); box-sizing: border-box; width: auto !important; }
:is(.customer-account-confirmation, .sales-guest-form, .catalogsearch-advanced-index) .column.main form.form .legend, :is(.customer-account-confirmation, .sales-guest-form, .catalogsearch-advanced-index) .column.main form.form .legend span { margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; font: 700 16px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; text-transform: none !important; letter-spacing: 0 !important; }
:is(.customer-account-confirmation, .sales-guest-form, .catalogsearch-advanced-index) .column.main form.form .actions-toolbar { margin: 18px 0 0 !important; padding: 0 !important; }
:is(.customer-account-confirmation, .sales-guest-form, .catalogsearch-advanced-index) .column.main form.form .actions-toolbar .primary { float: none !important; width: 100%; }
:is(.customer-account-confirmation, .sales-guest-form, .catalogsearch-advanced-index) .column.main form.form .actions-toolbar .action.primary { width: 100%; }
@media (max-width: 768px) { :is(.customer-account-confirmation, .sales-guest-form, .catalogsearch-advanced-index) .column.main form.form { padding: 18px; } }
/* date-of-birth calendar button (added by jQuery UI after load, so style it directly) */
:is(.account, .customer-account-create) .ui-datepicker-trigger { white-space: nowrap !important; flex: 0 0 auto; padding: 0 14px !important; }
/* print pages (reachable by URL / from e-mails): title, status pill and date on clean lines; SKU hidden like on the tabs */
.page-print .page-title-wrapper { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 10px; position: static !important; }
.page-print .page-title-wrapper .page-title { margin: 0 !important; position: static !important; }
.page-print .page-title-wrapper .order-date { flex: 0 0 100%; margin: 0 !important; position: static !important; float: none !important; }
:is(.sales-order-printinvoice, .sales-order-printcreditmemo, .sales-order-printshipment) .table-order-items .col.sku { display: none !important; }
/* guest order lookup: the theme styles this one button on its own (square, uppercase) */
body.sales-guest-form .column.main form.form .actions-toolbar button.action.primary, body.sales-guest-form .column.main form.form .actions-toolbar button.action.primary span { border-radius: 999px !important; text-transform: none !important; letter-spacing: .01em !important; font: 600 15px/1 var(--ak-font-ui) !important; }
body.sales-guest-form .column.main form.form .actions-toolbar button.action.primary { min-height: 48px !important; height: auto !important; background: var(--ak-mint) !important; border: 0 !important; color: #fff !important; }
/* advanced search: the multi-select needs its full height */
.catalogsearch-advanced-index .column.main form.form select[multiple] { height: auto !important; min-height: 132px !important; padding: 8px 10px !important; background-image: none !important; }
:is(.customer-account-confirmation, .sales-guest-form, .catalogsearch-advanced-index) .column.main form.form :is(input.input-text, select:not([multiple]), textarea) { min-height: 46px; border: 1.5px solid var(--ak-line) !important; border-radius: 12px !important; padding: 0 14px !important; box-sizing: border-box; }
:is(.customer-account-confirmation, .sales-guest-form, .catalogsearch-advanced-index) .column.main form.form select[multiple] { border: 1.5px solid var(--ak-line) !important; border-radius: 12px !important; }

/* ==========================================================================
   Design pass 2026-10-03 late (松本さんFB: blog / shipping / about / FAQ / gallery / footer / stock labels)
   ========================================================================== */
/* --- product gallery: the outer frame (with the corner ribbon) is rounded; the picture itself stays square so nothing is clipped --- */
.catalog-product-view .product.media .fotorama__stage__frame .fotorama__img, .catalog-product-view .product.media .fotorama__stage img { border-radius: 0 !important; }
.catalog-product-view .product.media .triangle { border-top-left-radius: 14px; overflow: hidden; }
@media (max-width: 768px) { .catalog-product-view .product.media .triangle { border-top-left-radius: 12px; } }
/* --- stock label = ribbon colour (PRE ORDER mint, AS ORDER BASIS blue, OUT OF STOCK pink, in stock green) --- */
.catalog-product-view .product-info-stock-sku .stock .ak-stock-main { display: inline-flex !important; align-items: center; gap: 6px; color: var(--ak-ink) !important; }
.catalog-product-view .product-info-stock-sku .stock .ak-stock-main::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.catalog-product-view .product-info-stock-sku .stock .ak-stock-main.is-preorder { background: #e3f8f4 !important; } .catalog-product-view .product-info-stock-sku .stock .ak-stock-main.is-preorder::before { background: #57d5c2; }
.catalog-product-view .product-info-stock-sku .stock .ak-stock-main.is-asorder { background: #e4f4fe !important; } .catalog-product-view .product-info-stock-sku .stock .ak-stock-main.is-asorder::before { background: #41b7f9; }
.catalog-product-view .product-info-stock-sku .stock .ak-stock-main.is-oos, .catalog-product-view .product-info-stock-sku .stock.unavailable .ak-stock-main { background: #fcecec !important; } .catalog-product-view .product-info-stock-sku .stock .ak-stock-main.is-oos::before, .catalog-product-view .product-info-stock-sku .stock.unavailable .ak-stock-main::before { background: #e69090; }
.catalog-product-view .product-info-stock-sku .stock .ak-stock-main.is-instock { background: #e3f6ea !important; } .catalog-product-view .product-info-stock-sku .stock .ak-stock-main.is-instock::before { background: #2fa866; }

/* --- blog: single post meta row (categories · date), breathing room above the picture --- */
.blog-post-view .post-header .post-category { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 20px !important; }
.blog-post-view .post-header .ak-post-date { display: inline-flex; align-items: center; gap: 8px; font: 500 13px/1 var(--ak-font-ui); color: var(--ak-ink-2); font-variant-numeric: tabular-nums; }
.blog-post-view .post-header .ak-post-date::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--ak-ink-3); }
.blog-post-view .post-header .post-data-wrap:has(.post-date.ak-moved) { display: none !important; }
.blog-post-view .post-featured-image, .blog-post-view .post-ftimg-hld { margin: 0 0 28px !important; }
.blog-post-view .post-featured-image img { border-radius: 16px; display: block; width: 100%; height: auto; }
/* --- blog sidebar: categories as a list with count badges --- */
.blog-page .sidebar .block-categories ul { display: flex !important; flex-direction: column; gap: 2px !important; padding: 0 !important; margin: 0 !important; }
.blog-page .sidebar .block-categories li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.blog-page .sidebar .block-categories li > a { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; padding: 8px 10px !important; border: 0 !important; border-radius: 10px !important; background: none !important; font: 500 14px/1.35 var(--ak-font-ui) !important; color: var(--ak-ink) !important; text-decoration: none !important; }
.blog-page .sidebar .block-categories li > a:hover { background: var(--ak-tint) !important; }
.blog-page .sidebar .block-categories .ak-cat-count { flex: 0 0 auto; min-width: 26px; height: 22px; padding: 0 8px; border-radius: 999px; background: #eef3f2; display: inline-flex; align-items: center; justify-content: center; font: 600 12px/1 var(--ak-font-ui); color: var(--ak-ink-2); font-variant-numeric: tabular-nums; }
.blog-page .sidebar .block-categories li > a:hover .ak-cat-count { background: #fff; }
/* --- blog sidebar: archive by year --- */
.blog-page .sidebar .block-archive .ak-archive { display: flex; flex-direction: column; gap: 12px; }
.blog-page .sidebar .block-archive .ak-archive-year { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 8px; align-items: start; }
.blog-page .sidebar .block-archive .ak-archive-year.is-older { display: none; }
.blog-page .sidebar .block-archive .ak-archive.is-open .ak-archive-year.is-older { display: grid; }
.blog-page .sidebar .block-archive .ak-archive-y { padding-top: 7px; font: 700 13px/1 var(--ak-font-head); color: var(--ak-ink); font-variant-numeric: tabular-nums; }
.blog-page .sidebar .block-archive .ak-archive-months { display: flex; flex-wrap: wrap; gap: 6px; }
.blog-page .sidebar .block-archive .ak-archive-months a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 30px; padding: 0 10px; border: 1px solid var(--ak-line); border-radius: 999px; background: #fff; font: 600 12px/1 var(--ak-font-ui) !important; color: var(--ak-ink) !important; text-decoration: none !important; }
.blog-page .sidebar .block-archive .ak-archive-months a:hover, .blog-page .sidebar .block-archive .ak-archive-months a.is-current { border-color: var(--ak-mint); background: var(--ak-tint); }
.blog-page .sidebar .block-archive .ak-archive-more { margin: 12px 0 0; padding: 0; min-height: 36px; border: 0; background: none; font: 600 13px/1 var(--ak-font-ui); color: var(--ak-ink); text-decoration: underline; text-decoration-color: var(--ak-mint); text-underline-offset: 4px; cursor: pointer; }
.blog-page .sidebar .block-archive .ak-archive-more + .ak-archive-more, .blog-page .sidebar .block-archive > .ak-archive-more { display: none; }
@media (max-width: 768px) { .blog-page .sidebar .block-archive .ak-archive-months a { height: 36px; min-width: 48px; } }

/* --- About Us: no 72px hole under the title; each table is a titled card; phones read label above value --- */
.cms-about-us .columns { padding-top: 0 !important; }
.cms-about-us .page-title-wrapper { margin-bottom: 20px !important; }
.cms-about-us .column.main > div:empty { display: none !important; }
.cms-about-us .column.main > div[style] { max-width: 860px; margin: 0 0 24px !important; padding: 20px 22px !important; border: 1px solid var(--ak-line); border-radius: 16px; background: #fff; }
.cms-about-us .column.main > div[style] > p:first-child { margin: 0 0 12px !important; padding: 0 0 12px !important; border-bottom: 1px solid var(--ak-line); }
.cms-about-us .column.main > div[style] > p > strong { font: 700 18px/1.3 var(--ak-font-head) !important; }
.cms-about-us .column.main table, .cms-about-us .column.main table tbody { box-shadow: none !important; background: none !important; border: 0 !important; }
.cms-about-us .column.main table td { background: none !important; vertical-align: top; }
.cms-about-us .column.main table td:first-child { width: 34% !important; color: var(--ak-ink-2) !important; }
.cms-about-us .column.main table td:first-child strong { font-weight: 600 !important; }
.cms-about-us .column.main table tr { height: auto !important; }
@media (max-width: 640px) {
  .cms-about-us .column.main > div[style] { padding: 16px !important; }
  .cms-about-us .column.main table, .cms-about-us .column.main table tbody, .cms-about-us .column.main table tr, .cms-about-us .column.main table td { display: block !important; width: 100% !important; }
  .cms-about-us .column.main table tr { padding: 10px 0 !important; border-bottom: 1px solid var(--ak-line); }
  .cms-about-us .column.main table tr:last-child { border-bottom: 0; }
  .cms-about-us .column.main table td { padding: 0 !important; border: 0 !important; }
  .cms-about-us .column.main table td:first-child { margin: 0 0 2px; font-size: 12px !important; letter-spacing: .02em; }
}

/* --- Shipping Information: calm tables, clear section titles, footnotes as notes --- */
.cms-shipping .columns { padding-top: 0 !important; }
.cms-shipping .ak-ship-h { margin: 32px 0 12px !important; padding: 0 !important; border: 0 !important; font: 700 20px/1.3 var(--ak-font-head) !important; color: var(--ak-ink) !important; text-transform: none !important; letter-spacing: -.01em !important; }
.cms-shipping .ak-ship-h1 { margin-top: 8px !important; }
.cms-shipping .column.main hr { display: none !important; }
.cms-shipping .rg-table th, .cms-shipping .rg-table thead td { text-align: left !important; font: 600 12px/1.35 var(--ak-font-ui) !important; letter-spacing: .02em !important; text-transform: none !important; color: var(--ak-ink-2) !important; padding: 12px 14px !important; }
.cms-shipping .rg-table td { text-align: left !important; padding: 14px !important; font: 400 14px/1.5 var(--ak-font-ui) !important; color: var(--ak-ink) !important; }
.cms-shipping .rg-table td:first-child { font-weight: 600 !important; }
.cms-shipping .rg-table td span[style*="ff0000"], .cms-shipping .rg-table td span[style*="FF0000"] { display: inline-block; margin-left: 4px; padding: 2px 8px; border-radius: 999px; background: #fdecec; color: #b42828 !important; font: 600 11px/1.4 var(--ak-font-ui) !important; }
.cms-shipping .ak-footnote { position: relative; max-width: 860px; margin: 0 0 8px !important; padding: 10px 14px !important; border-radius: 10px; background: #f6f9f8; font: 400 13px/1.6 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; }
.cms-shipping .ak-footnote:first-of-type { margin-top: 16px !important; }
@media (max-width: 640px) {
  .cms-shipping .rg-table tr { padding: 0 !important; overflow: hidden; border-radius: 14px; }
  .cms-shipping .rg-table td:first-child { padding: 12px 14px !important; background: var(--ak-tint) !important; font: 700 15px/1.35 var(--ak-font-ui) !important; text-align: left !important; }
  .cms-shipping .rg-table td:first-child::before { display: none !important; }
  .cms-shipping .rg-table td:not(:first-child) { display: flex !important; justify-content: space-between; gap: 12px; padding: 8px 14px !important; border-top: 1px solid var(--ak-line) !important; text-align: right !important; font-size: 13px !important; }
  .cms-shipping .rg-table td:not(:first-child)::before { float: none !important; margin: 0 !important; text-align: left; font: 600 12px/1.5 var(--ak-font-ui) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ak-ink-3) !important; }
}

/* --- FAQ: less distance to the first question, tighter sections, no "active" topic before scrolling --- */
.faq-index-index .ak-faq-lead { margin: 0 0 14px !important; }
.faq-index-index .faq-groups { margin: 0 0 8px !important; padding: 6px 0 !important; gap: 8px !important; }
.faq-index-index .faq-group, .mageprince-faq-collection .faq-group { min-height: 40px !important; padding: 0 12px 0 10px !important; }
.faq-index-index .faq-group .faq-group-image .group-link img { width: 20px !important; height: 20px !important; }
.faq-index-index #faq-content > div { margin: 0 0 28px !important; padding: 0 !important; }
.faq-index-index #faq-content > div > :first-child, .faq-index-index #faq-content .faq-category-title, .faq-index-index #faq-content h2, .faq-index-index #faq-content h3 { margin-top: 0 !important; }
@media (max-width: 768px) { .faq-index-index .ak-faq-tools { gap: 8px !important; margin-bottom: 10px !important; } }

/* --- footer on phones: same information, ~production height --- */
@media (max-width: 767px) {
  .section-footer .site-footer .wrapper { padding-top: 24px !important; }
  .section-footer .site-footer .grid { gap: 18px 18px !important; }
  .section-footer .site-footer .grid h4 { margin: 0 0 8px !important; }
  .section-footer .site-footer .grid li a { padding: 6px 0 !important; line-height: 1.3 !important; }
  .section-footer .site-footer .grid p { margin: 0 0 6px !important; line-height: 1.45 !important; }
  .section-footer .social-icons { margin: 16px 0 12px !important; }
  .section-footer .social-icons li a { width: 38px !important; height: 38px !important; }
}
/* follow-ups */
.cms-about-us .column.main > div[style]:not(:has(table)) { display: none !important; }
@media (max-width: 640px) { .cms-about-us .column.main table td:first-child { width: 100% !important; } }
.cms-shipping .ak-ship-h1 { margin-top: 26px !important; }
@media (max-width: 640px) {
  .cms-shipping .rg-table td:not(:first-child) { display: block !important; text-align: right !important; overflow: hidden; }
  .cms-shipping .rg-table td:not(:first-child)::before { float: left !important; margin-right: 12px !important; }
}
@media (max-width: 768px) { .faq-index-index .ak-faq-lead { display: none !important; } }
@media (max-width: 767px) { .section-footer .social-icons { margin: 10px 0 6px !important; } .section-footer .social-icons li a { width: 34px !important; height: 34px !important; } }
/* guest order pages: SKU hidden like on the account tabs; guest lookup form intro and member hint */
:is(.sales-guest-invoice, .sales-guest-creditmemo, .sales-guest-shipment) .table-order-items .col.sku { display: none !important; }
.sales-guest-form .ak-guest-lead { max-width: 520px; margin: -8px 0 16px !important; font: 400 14px/1.6 var(--ak-font-ui); color: var(--ak-ink-2); }
.sales-guest-form .ak-guest-note { margin: 14px 0 0 !important; text-align: center; font: 400 13px/1.5 var(--ak-font-ui); color: var(--ak-ink-2); }
.sales-guest-form .ak-guest-note a { color: var(--ak-ink) !important; font-weight: 600; text-decoration: underline; text-decoration-color: var(--ak-mint); text-underline-offset: 3px; }
/* guest order pages are one-column (no account menu): keep the content at a comfortable width */
.ak-guest-order .column.main { max-width: 1040px; }
/* one-column pages (guest lookup, guest orders, confirmation, advanced search): content on the title's left edge */
:is(.sales-guest-form, .sales-guest-view, .sales-guest-invoice, .sales-guest-shipment, .sales-guest-creditmemo, .customer-account-confirmation, .catalogsearch-advanced-index) .columns { padding-left: 0 !important; padding-right: 0 !important; }
/* guest order header: title, status pill and date on clean lines (the theme positions the date over the title here) */
.ak-guest-order .page-title-wrapper { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 10px; position: static !important; margin: 8px 0 20px !important; }
.ak-guest-order .page-title-wrapper .page-title, .ak-guest-order .page-title-wrapper .order-status, .ak-guest-order .page-title-wrapper .order-date { position: static !important; float: none !important; margin: 0 !important; }
.ak-guest-order .page-title-wrapper .order-date { flex: 0 0 100%; }
@media (max-width: 768px) { .account .order-details-items .table-order-items > tbody > tr > td.col:is(.total, .subtotal, .discount, .price, .qty) { display: block !important; text-align: left !important; } }

/* ==========================================================================
   Wishlist pass 2026-10-03 night (松本さんFB)
   ========================================================================== */
/* Qty label on the input's centre line */
.wishlist-index-index .products-grid.wishlist .box-tocart .fieldset, .wishlist-index-index .products-grid.wishlist .box-tocart .field.qty { display: flex !important; align-items: center !important; }
.wishlist-index-index .products-grid.wishlist .field.qty { gap: 10px !important; margin: 0 !important; }
.wishlist-index-index .products-grid.wishlist .field.qty .label { display: inline-flex !important; align-items: center; height: auto !important; margin: 0 !important; padding: 0 !important; position: static !important; line-height: 1 !important; }
.wishlist-index-index .products-grid.wishlist .field.qty .control, .wishlist-index-index .products-grid.wishlist .field.qty .input-text.qty { margin: 0 !important; }
/* chosen options always visible inside the card (the "See Details" pop-up spilled out of the card) */
.wishlist-index-index .products-grid.wishlist .product-item-tooltip { position: static !important; display: block !important; margin: 4px 0 6px !important; }
.wishlist-index-index .products-grid.wishlist .product-item-tooltip .tooltip.toggle { display: none !important; }
.wishlist-index-index .products-grid.wishlist .product-item-tooltip .tooltip.content { display: block !important; position: static !important; visibility: visible !important; opacity: 1 !important; width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; z-index: auto !important; }
.wishlist-index-index .products-grid.wishlist .product-item-tooltip .tooltip.content::before, .wishlist-index-index .products-grid.wishlist .product-item-tooltip .tooltip.content::after { display: none !important; }
.wishlist-index-index .products-grid.wishlist .product-item-tooltip .tooltip.content .subtitle { display: none !important; }
.wishlist-index-index .products-grid.wishlist .product-item-tooltip dl { display: flex; flex-wrap: wrap; gap: 2px 6px; margin: 0 !important; font: 400 12px/1.4 var(--ak-font-ui) !important; }
.wishlist-index-index .products-grid.wishlist .product-item-tooltip dt { margin: 0 !important; font-weight: 500 !important; color: var(--ak-ink-3) !important; }
.wishlist-index-index .products-grid.wishlist .product-item-tooltip dt::after { content: ":"; }
.wishlist-index-index .products-grid.wishlist .product-item-tooltip dd { margin: 0 !important; color: var(--ak-ink-2) !important; }
.wishlist-index-index .products-grid.wishlist .product-item-tooltip dd + dt { flex-basis: 100%; }
/* no Edit (松本さん), no USD estimate, no underline on product names */
#maincontent .products-grid.wishlist .action.edit, .wishlist-index-index .products-grid.wishlist .action.edit { display: none !important; }
.wishlist-index-index .products-grid.wishlist .usd-price { display: none !important; }
#maincontent .products-grid.wishlist a.product-item-link, #maincontent .products-grid.wishlist .product-item-name a { text-decoration: none !important; }
#maincontent .products-grid.wishlist a.product-item-link:hover { text-decoration: underline !important; text-decoration-color: var(--ak-mint) !important; text-underline-offset: 3px; }
/* Remove stays, on its own */
.wishlist-index-index .products-grid.wishlist .product-item-actions:has(.action.delete) { justify-content: flex-end; }
/* the second (bottom) toolbar keeps only the page numbers */
.wishlist-index-index .wishlist-toolbar.ak-toolbar-bottom .toolbar-amount, .wishlist-index-index .wishlist-toolbar.ak-toolbar-bottom .limiter { display: none !important; }
.wishlist-index-index .wishlist-toolbar.ak-toolbar-bottom:not(:has(.pages .item)) { display: none !important; }
/* form controls: a soft mint focus ring instead of the deep-green outline (mouse clicks on selects show it too) */
.page-main :is(input:not([type=checkbox]):not([type=radio]), select, textarea):focus, .page-main :is(input:not([type=checkbox]):not([type=radio]), select, textarea):focus-visible { outline: none !important; border-color: var(--ak-mint) !important; box-shadow: 0 0 0 3px rgba(87,213,194,.28) !important; }
.page-main a:focus-visible, .page-main button:focus-visible, .page-footer a:focus-visible, .section-footer a:focus-visible, .section-footer button:focus-visible { outline-color: var(--ak-ink) !important; }
.wishlist-index-index .products-grid.wishlist .product-item { border-bottom: 0 !important; }
.wishlist-index-index .products-grid.wishlist .product-items > li::after, .wishlist-index-index .products-grid.wishlist .product-item::after { display: none !important; }

/* ---- 10-03 night: footer height, sign-up/forgot top gap, checkbox row, 404 buttons ---- */
/* footer: social icons now sit under Store Hours (block 36), no separate row; compact newsletter card */
.section-footer .site-footer .grid { margin-bottom: 28px !important; }
@media (min-width: 1024px) { .section-footer .site-footer .grid { grid-template-columns: 1fr 1fr 1.2fr 1.2fr 2fr !important; } .section-footer .site-footer .wrapper { padding-top: 36px !important; } }
@media (max-width: 767px) { .section-footer .site-footer .grid { margin-bottom: 22px !important; } }
.section-footer .site-footer .grid .box-5 .social-icons { display: flex !important; flex-wrap: wrap; justify-content: flex-start; gap: 8px; margin: 14px 0 0 !important; padding: 0 !important; }
.section-footer .site-footer .grid .box-5 .social-icons li { margin: 0 !important; }
.section-footer .site-footer .grid .box-5 .social-icons li a { display: inline-flex !important; width: 36px !important; height: 36px !important; padding: 0 !important; border: 1.5px solid rgba(255,255,255,.7) !important; }
.section-footer .site-footer .newsletter .offer-email { padding: 14px !important; container-type: inline-size; }
.section-footer .site-footer .newsletter .offer-message h4 { margin-bottom: 14px !important; }
.section-footer .site-footer .newsletter .ak-news-pitch { margin: 0 0 10px !important; }
.section-footer .site-footer .newsletter .offer-email #email-footer, .section-footer .site-footer .newsletter .offer-email #subscribe { height: 42px !important; }
@container (min-width: 290px) {
  .section-footer .site-footer .newsletter .offer-email .input-row { flex-wrap: nowrap !important; }
  .section-footer .site-footer .newsletter .offer-email .input-wrapper { flex: 1 1 auto !important; width: auto !important; }
  .section-footer .site-footer .newsletter .offer-email .button-wrapper { flex: 0 0 auto !important; width: auto !important; }
  .section-footer .site-footer .newsletter .offer-email #subscribe { width: auto !important; padding: 0 20px !important; }
}
/* sign-up and forgot-password: the theme's extra 40px above the title (same 28px gap as the other pages) */
.customer-account-create #register-form-now { margin-top: 0 !important; }
.customer-account-forgotpassword .page-main { margin-top: 0 !important; }
/* checkbox rows: box and label on one centre line */
.page-main .field.choice { display: flex !important; align-items: center !important; gap: 10px; }
.page-main .field.choice > input[type=checkbox], .page-main .field.choice > input[type=radio] { flex: 0 0 auto; margin: 0 !important; position: static !important; top: auto !important; }
.page-main .field.choice > label { margin: 0 !important; padding: 0 !important; line-height: 1.3 !important; }
/* 404: same buttons as the rest of the site — mint with white text, white with ink text, same size */
.ak-404-cta { flex-direction: column; align-items: center; }
#maincontent .ak-404-cta a:is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)), #maincontent .ak-404-cta a:is(.ak-btn-secondary, :where(.customer-account-login .block-new-customer .action.create)) { width: min(280px, 100%); min-height: 48px !important; box-sizing: border-box; text-decoration: none !important; }
#maincontent .ak-404-cta a:is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)), #maincontent .ak-404-cta a:is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)):visited { color: #fff !important; }
#maincontent .ak-404-cta a:is(.ak-btn-secondary, :where(.customer-account-login .block-new-customer .action.create)), #maincontent .ak-404-cta a:is(.ak-btn-secondary, :where(.customer-account-login .block-new-customer .action.create)):visited { color: var(--ak-ink) !important; }
:is(.ak-btn-secondary, :where(.customer-account-login .block-new-customer .action.create)) { min-height: 48px; }
/* after sign-out: centred card in the site style (title moved into the card) */
.customer-account-logoutsuccess .column.main { text-align: center; }
.ak-logout-card { max-width: 480px; margin: 8px auto 0; padding: 32px 24px 24px; border: 1.5px solid var(--ak-line); border-radius: var(--ak-radius-lg); background: #fff; box-shadow: 0 10px 30px rgba(34,48,46,.06); text-align: center; }
.ak-logout-icon { display: block; width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 50%; background: var(--ak-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2357d5c2' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 28px no-repeat; }
.ak-logout-card .ak-logout-title { margin: 0 0 8px !important; font: 700 24px/1.25 var(--ak-font-head) !important; letter-spacing: -.01em; color: var(--ak-mint) !important; text-transform: none !important; }
.ak-logout-card .ak-logout-text { margin: 0 !important; font: 400 15px/1.6 var(--ak-font-head); color: var(--ak-ink-2); }
.ak-logout-card .ak-logout-text strong { color: var(--ak-ink); font-variant-numeric: tabular-nums; }
.ak-logout-card .ak-404-cta { margin: 22px 0 0; }
@media (max-width: 767px) { .ak-logout-card { padding: 26px 18px 20px; } }
/* forgot password: title in the same style as Create an Account / Sign In, no theme gaps inside the card */
.customer-account-forgotpassword .forgot-title { max-width: 480px; margin: 8px auto 18px !important; padding: 0 !important; text-align: center; }
.customer-account-forgotpassword .forgot-title strong { display: block; margin: 0 0 6px !important; font: 700 26px/1.2 var(--ak-font-head) !important; letter-spacing: -.01em; color: var(--ak-mint) !important; text-transform: none !important; }
.customer-account-forgotpassword .forgot-title .field.note { margin: 0 !important; font: 400 14px/1.6 var(--ak-font-head) !important; color: var(--ak-ink-2) !important; }
.customer-account-forgotpassword .form.password.forget .fieldset { margin-bottom: 20px !important; }
.customer-account-forgotpassword .form.password.forget .fieldset > .field { margin-bottom: 0 !important; }
.customer-account-forgotpassword .form.password.forget .actions-toolbar .primary { margin-bottom: 0 !important; }
.customer-account-forgotpassword .form.password.forget .actions-toolbar .action.submit { width: 100% !important; margin: 0 !important; }
.customer-account-forgotpassword .form.password.forget .actions-toolbar .secondary:not(:has(a:not([style*="none"]):not(.back))) { display: none !important; }
/* footer icons: one row — wider Store Hours column on PC/tablet, centred under the newsletter card on phones */
@media (min-width: 1024px) { .section-footer .site-footer .grid { grid-template-columns: 1fr 1fr 1.2fr 1.35fr 1.8fr !important; } }
@media (min-width: 769px) and (max-width: 1023px) { .section-footer .site-footer .grid { grid-template-columns: 1fr 1fr 1fr 1.35fr !important; } }
.section-footer .site-footer .grid .social-icons { flex-wrap: nowrap !important; gap: 6px !important; }
.section-footer .site-footer .grid .box-4 .social-icons { display: flex !important; justify-content: center; gap: 10px !important; margin: 16px 0 0 !important; padding: 0 !important; }
.section-footer .site-footer .grid .box-4 .social-icons li { margin: 0 !important; }
.section-footer .site-footer .grid .box-4 .social-icons li a { display: inline-flex !important; width: 40px !important; height: 40px !important; padding: 0 !important; border: 1.5px solid rgba(255,255,255,.7) !important; }
@container (min-width: 262px) {
  .section-footer .site-footer .newsletter .offer-email .input-row { flex-wrap: nowrap !important; }
  .section-footer .site-footer .newsletter .offer-email .input-wrapper { flex: 1 1 auto !important; width: auto !important; }
  .section-footer .site-footer .newsletter .offer-email .button-wrapper { flex: 0 0 auto !important; width: auto !important; }
  .section-footer .site-footer .newsletter .offer-email #subscribe { width: auto !important; padding: 0 16px !important; }
}
@container (min-width: 262px) { .section-footer .site-footer .newsletter .offer-email #email-footer { padding: 0 12px !important; font-size: 13px !important; } }
/* header account dropdown (signed out): card, visible labels, same inputs/buttons as the Sign In page */
.page-header .mage-dropdown-dialog:has(.ak-hlogin) { margin-top: 10px !important; border: 1px solid var(--ak-line) !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 16px 40px rgba(34,48,46,.16) !important; overflow: hidden; }
.page-header .ak-hlogin { width: 320px !important; padding: 20px 20px 18px !important; box-sizing: border-box; background: #fff !important; border: 0 !important; text-align: left !important; }
.page-header .ak-hlogin .block-customer-login { margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
.page-header .ak-hlogin-head { margin: 0 0 14px; }
.page-header .ak-hlogin-head strong { display: block; font: 700 18px/1.3 var(--ak-font-head); color: var(--ak-ink); }
.page-header .ak-hlogin-head span { display: block; margin-top: 2px; font: 400 13px/1.5 var(--ak-font-head); color: var(--ak-ink-2); }
.page-header .ak-hlogin .fieldset { margin: 0 !important; padding: 0 !important; }
.page-header .ak-hlogin .fieldset > .field { margin: 0 0 12px !important; padding: 0 !important; }
.page-header .ak-hlogin-label { display: block; margin: 0 0 5px; font: 600 13px/1.3 var(--ak-font-ui); color: var(--ak-ink); text-align: left; }
.page-header .ak-hlogin .input-text { width: 100% !important; height: 44px !important; box-sizing: border-box; padding: 0 14px !important; border: 1.5px solid #d9e6e3 !important; border-radius: 12px !important; background: #fff !important; font: 400 14px/1 var(--ak-font-ui) !important; color: var(--ak-ink) !important; box-shadow: none !important; }
.page-header .ak-hlogin .input-text::placeholder { color: #9aa8a5; }
.page-header .ak-hlogin .input-text:focus { outline: none !important; border-color: var(--ak-mint) !important; box-shadow: 0 0 0 3px rgba(87,213,194,.28) !important; }
.page-header .ak-hlogin .ak-hlogin-forgot { display: inline-block; margin: 8px 0 0; padding: 2px 0; font: 500 13px/1.4 var(--ak-font-ui) !important; color: var(--ak-ink-2) !important; text-decoration: underline !important; text-underline-offset: 3px; text-transform: none !important; }
.page-header .ak-hlogin .ak-hlogin-forgot:hover { color: var(--ak-ink) !important; }
.page-header .ak-hlogin .actions-toolbar { margin: 4px 0 0 !important; padding: 0 !important; }
.page-header .ak-hlogin .actions-toolbar > div { float: none !important; margin: 0 !important; width: 100% !important; text-align: left !important; }
.page-header .ak-hlogin .actions-toolbar .secondary { display: none !important; }
.page-header .ak-hlogin button.action.login:is(.ak-btn-primary, :where(.customer-account-login .form-login .action.login, .customer-account-create .form-create-account .action.submit, .customer-account-forgotpassword .form.password.forget .action.submit, .contact-index-index .form.contact .action.submit, .customer-account-confirmation .column.main form.form .action.send, .customer-account-confirmation .column.main form.form .action.primary, .sales-guest-form .column.main form.form .action.submit, .sales-guest-form .column.main form.form .action.primary, .catalogsearch-advanced-index .column.main form.form .action.search, .catalogsearch-advanced-index .column.main form.form .action.primary, .account .form-edit-account .action.save, .account .form-edit-account .action.submit, .account .form-edit-account .action.share, .account .form-address-edit .action.save, .account .form-address-edit .action.submit, .account .form-address-edit .action.share, .account .form-newsletter-manage .action.save, .account .form-newsletter-manage .action.submit, .account .form-newsletter-manage .action.share, .account .form-wishlist-items .action.save, .account .form-wishlist-items .action.submit, .account .form-wishlist-items .action.share, .account .form.wishlist.share .action.save, .account .form.wishlist.share .action.submit, .account .form.wishlist.share .action.share, .account .form.password.reset .action.save, .account .form.password.reset .action.submit, .account .form.password.reset .action.share)) { display: flex !important; width: 100% !important; min-height: 46px !important; height: auto !important; margin: 0 !important; line-height: 1 !important; }
.page-header .ak-hlogin-foot { display: flex; flex-direction: column; gap: 8px; margin: 16px -20px -18px; padding: 14px 20px 18px; border-top: 1px solid var(--ak-line); background: #f7fbfa; text-align: center; }
.page-header .ak-hlogin-foot span { font: 500 13px/1.4 var(--ak-font-ui); color: var(--ak-ink-2); }
.page-header .ak-hlogin-foot a:is(.ak-btn-secondary, :where(.customer-account-login .block-new-customer .action.create)) { width: 100%; min-height: 44px !important; box-sizing: border-box; color: var(--ak-ink) !important; text-decoration: none !important; }
.page-header .mage-dropdown-dialog:has(.ak-hlogin) { margin-top: 30px !important; height: auto !important; }
.page-header .ak-hlogin { position: relative !important; top: 0 !important; margin: 0 !important; height: auto !important; }
.page-header .ak-hlogin-head strong { text-transform: none !important; letter-spacing: 0 !important; }
.page-header .mage-dropdown-dialog:has(.ak-hlogin) { z-index: 1000 !important; }
.page-header .ak-hlogin .input-text.mage-error { border-color: var(--ak-red-ink, #c0392b) !important; } .page-header .ak-hlogin div.mage-error { margin: 5px 0 0 !important; font: 500 12px/1.4 var(--ak-font-ui) !important; }
/* tracking row: label and numbers share one text baseline (centre alignment looked off: the label has lowercase/brackets, the numbers are caps only) */
.account .order-tracking { align-items: baseline !important; }
.account .order-tracking .tracking-content { align-items: baseline !important; }
.account .order-tracking .tracking-title { font-size: 13px !important; line-height: 1 !important; }
/* "Track All Shipments" removed (松本さん指示 10-04): each number already links to AfterShip */
.account .order-details-items > .actions-toolbar .action.track, .account .order-details-items.shipments > .actions-toolbar:not(:has(a:not(.track):not(.print))) { display: none !important; }
/* newsletter pitch on one line whenever the card is wide enough (phones 375px and up); shrinks at most to ~12px */
@container (min-width: 300px) { .section-footer .site-footer .newsletter .ak-news-pitch { white-space: nowrap !important; font-size: min(13px, calc(100cqi / 25.6)) !important; } }
/* product options: sold-out choices greyed (desktop browsers; the label " — Out of Stock" is added by pages JS for every device) */
.catalog-product-view select.super-attribute-select option:disabled, .catalog-product-view select.super-attribute-select option.ak-oos-opt { color: #9aa8a5 !important; }
/* confirm dialogs (e.g. "remove this item?" from the mini cart) above the mini cart panel (z-index 1000); Magento gives them 902 inline */
.modals-wrapper .modal-popup.confirm._show { z-index: 1102 !important; }
body:has(.modal-popup.confirm._show) .modals-overlay { z-index: 1101 !important; }
/* mini cart quantity: the theme's 5px bottom margin on the −/+ buttons pushed them 2.5px above the number box */
.minicart-items .details-qty .ak-c-step, .minicart-items .details-qty input.item-qty { margin: 0 !important; vertical-align: middle !important; }
/* gallery position marker (phones/tablets; PC has the thumbnail column) — dots up to 10 pictures, thin bar above that */
.ak-gal-marker { position: absolute; left: 50%; bottom: 21px; z-index: 5; display: flex; align-items: center; gap: 6px; transform: translateX(-50%); pointer-events: none; }
.ak-gal-marker i { display: block; width: 6px; height: 6px; border-radius: 999px; background: #cfdcd9; transition: width .25s ease, background .25s ease; }
.ak-gal-marker i.on { width: 18px; background: var(--ak-mint); }
.ak-gal-marker .ak-gal-bar { display: block; width: 96px; height: 4px; border-radius: 999px; background: #dfe8e6; overflow: hidden; }
.ak-gal-marker .ak-gal-bar i { width: 0; height: 100%; border-radius: 999px; background: var(--ak-mint); transition: width .3s ease; }
.fotorama--fullscreen .ak-gal-marker { display: none; }
@media (min-width: 1024px) { .ak-gal-marker { display: none; } }
/* one-time hint on phones: the picture slides left to reveal the next one, then back */
@keyframes akGalNudge { 0% { margin-left: 0; } 35% { margin-left: -64px; } 55% { margin-left: -64px; } 100% { margin-left: 0; } }
.ak-gal-hint .fotorama__stage__shaft { animation: akGalNudge 1.2s cubic-bezier(.45,0,.25,1) 1; }
@media (prefers-reduced-motion: reduce) { .ak-gal-hint .fotorama__stage__shaft { animation: none; } }
/* marker under the picture (not over it): its own row inside the gallery frame */
.product.media .ak-gal-marker { position: static; transform: none; justify-content: center; margin: 10px auto 12px; height: 6px; }
/* phones: header row packed from the left. With space-between the logo jumped to the right edge while the 64KB menu block was still
   being parsed (Android paints mid-parse), then snapped back when the icons arrived. The icons keep margin-left:auto, so the final layout is identical. */
@media (max-width: 767px) { .page-header .header.content { justify-content: flex-start !important; } .page-header .header.content > .header_custom_icon { margin-left: auto !important; } }
/* phones: the search button is inserted by the search script after the page has loaded → until then the same icon is drawn in its place
   (44px cell, 23px white magnifier), so the header shows search + cart from the first paint. Removed as soon as the real button exists. */
@media (max-width: 768px) {
  .page-header .header_custom_icon:not(:has(.ak-s-mbtn))::before { content: ""; flex: 0 0 44px; width: 44px; height: 44px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4 4'/%3E%3C/svg%3E") center / 23px 23px no-repeat; }
}
/* ---- 10-04 flicker pass ---- */
/* product gallery placeholder (before the gallery script runs): the theme adds 100px top padding + a 405px loader block on top of the
   square (padding-bottom:100%) → ~850px box that collapsed to ~380px when the gallery started, throwing the product info up ~490px.
   Keep it the final square and centre the loader inside it. */
.catalog-product-view .gallery-placeholder__image.loading-mask { position: relative !important; height: 0 !important; padding-top: 0 !important; overflow: hidden; }
.catalog-product-view .gallery-placeholder__image.loading-mask > .loader { position: absolute !important; inset: 0; height: auto !important; padding: 0 !important; display: grid; place-items: center; }
/* gallery position marker: hangs below the picture without taking space (inserting it used to push the product info down 28px) */
.catalog-product-view .gallery-placeholder { position: relative; }
.product.media .ak-gal-marker { position: absolute !important; left: 50%; top: calc(100% + 10px); margin: 0 !important; transform: translateX(-50%); }
/* one-time hint: move with the independent `translate` property (composes with the gallery's own transform and is not a layout shift) */
@keyframes akGalNudge2 { 0% { translate: 0 0; } 35% { translate: -64px 0; } 55% { translate: -64px 0; } 100% { translate: 0 0; } }
.ak-gal-hint .fotorama__stage__shaft { animation: akGalNudge2 1.2s cubic-bezier(.45,0,.25,1) 1 !important; }
/* product pages: Magento builds the breadcrumb trail with JS → reserve its 35px so the page does not drop when it arrives (phones hide it) */
@media (min-width: 769px) { .catalog-product-view .breadcrumbs { min-height: 35px; box-sizing: border-box; } }
/* tablets: the gallery is capped at 45% of the screen height once it starts (pages JS) → same height while loading */
@media (min-width: 769px) and (max-width: 1023px) { .catalog-product-view .gallery-placeholder__image.loading-mask { padding-bottom: 0 !important; height: 45vh !important; } }
/* contact: the "Your question" label is added by pages JS (the theme has none) → keep its 22px until it arrives */
.contact-index-index .form.contact .field.comment:not(:has(.ak-field-label, label.label)) { padding-top: 22px; }
/* FAQ: the theme hides the whole list until its accordion script runs (~4s on slow phones) and shows a loader → the footer sat right under
   the header and was thrown far down. Loader keeps a full screen so the footer starts off-screen; the space for the search row (added by
   pages JS once the list is ready) is kept from the start. */
.faq-index-index .mageprince-faq-loader { min-height: calc(100vh - 120px); }
.faq-index-index .mageprince-faq-collection:not(:has(.ak-faq-tools))::before { content: ""; display: block; height: 108px; }
@media (max-width: 768px) { .faq-index-index .mageprince-faq-collection:not(:has(.ak-faq-tools))::before { height: 99px; } }
/* FAQ: the theme hides the loader and shows the list in two separate steps → keep the main column a screen tall so the footer never shows in between */
.faq-index-index .column.main { min-height: calc(100vh - 60px); }
/* contact: the order-number field has no theme label either (pages JS adds "Order Number") */
.contact-index-index .form.contact .field.order-number:not(:has(.ak-field-label, label.label)) { padding-top: 22px; }
.contact-index-index .form.contact .field:is(.name, .email, .telephone):not(:has(.ak-field-label, label.label)) { padding-top: 22px; }
@media (max-width: 768px) { .faq-index-index .mageprince-faq-collection:not(:has(.ak-faq-tools))::before { height: 104px; } }
/* PC/tablet header: while the page is still being parsed the search box (after the icons in the HTML) is missing and the icon group was drawn
   right after the menu, then jumped to the right edge → keep it at the right edge until the search box exists */
@media (min-width: 769px) { .page-header .header.content:not(:has(> .search-wrapper)) > .header_custom_icon { margin-left: auto !important; } }
/* mini cart panel: before Magento wraps it in its dropdown dialog it sits in the page as an empty, thin white bar under the header
   (seen as a line across the banner for ~0.5s) → hidden until the dialog exists (the dialog adds .ui-dialog-content) */
.minicart-wrapper .block-minicart:not(.ui-dialog-content) { display: none !important; }
/* home (phones): Best Seller / New Arrivals went skeleton 491px → theme AJAX loader 232px → products 524px (at 412px wide), pushing everything
   below up and down twice. The finished height is 0.9 × screen width + 153px (measured 360–600px wide, ±1px) → reserve it from the start. */
@media (max-width: 600px) { .cms-index-index .tab-content.ak-section { min-height: calc(90vw + 153px); box-sizing: border-box; } }
/* home skeleton for those carousels was a fixed 459px (block 35) → same formula as the finished carousel (0.9 × width + 121px) */
@media (max-width: 600px) { body.cms-index-index .product-tab-carousel .no-loaded { min-height: calc(90vw + 121px) !important; } }
/* product gallery: for a moment the gallery script adds its (30px, not yet sized) frame under the loading square before removing the square
   → the info below dropped 30px and came back, and the frame "jumped" from under the square to the top. While the placeholder is still
   loading, the new frame is laid over the square instead of below it. */
.catalog-product-view .gallery-placeholder._block-content-loading > .fotorama-item { position: absolute !important; top: 0; left: 0; right: 0; }
/* product page: the shipping estimator is rendered open above the buy button, then pages JS closes it and moves it below the button (the
   buy box jumped 336px on PC/tablet) → keep it out of view until it has been moved (data-ak-moved), so it only ever appears below the button */
.catalog-product-view #product_addtocart_form .block-shipping-estimation:not([data-ak-moved]) { display: none !important; }
