/* KIKIA support surfaces — hub, FAQ, inquiry, notices, login modal, cart,
   brand A–Z, home trending/notice/support blocks. cheonyu density, KIKIA
   pastel, with the customer's requested blue as the informational accent
   (customer 2026-10-08: "블루도 섞여있으면 좋겠고"). */

/* ----- Support hub ----- */
/* Astra lays the content column out with flex; without an explicit width the
   main shrinks to its content (inquiry form measured 640px). */
.kikia-support { padding: 8px 0 40px; width: 100%; flex: 1 1 100%; min-width: 0; }
.kikia-support-hub__title {
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 26px;
  margin: 18px 0 16px;
  color: var(--kk-heading, #3d2b45);
}
.kikia-support-hub__panel {
  background: #f6f8fc;
  border: 1px solid #e3e9f4;
  border-radius: 14px;
  padding: 22px 24px;
  margin: 0 0 32px;
}
.kikia-support-hub__lead {
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--kk-heading, #3d2b45);
}
.kikia-support-hub__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
  margin: 0 0 18px;
  font-size: 13px;
  color: var(--kk-ink, #2e2a33);
}
.kikia-support-hub__meta a { color: var(--kk-blue, #3f7fe0); }
.kikia-support-hub__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.kikia-support-hub__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-height: 96px;
  justify-content: center;
  background: #fff;
  border: 1px solid #e3e9f4;
  border-radius: 10px;
  color: var(--kk-heading, #3d2b45);
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.kikia-support-hub__card:hover,
.kikia-support-hub__card.is-active {
  border-color: var(--kk-blue, #3f7fe0);
  box-shadow: 0 0 0 1px rgba(63, 127, 224, 0.18);
}
.kikia-support-hub__icon {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: var(--kk-blue-soft, #eaf2ff);
  color: var(--kk-blue, #3f7fe0);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.kikia-support__section-title {
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 20px;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--kk-heading, #3d2b45);
}
.kikia-support__draft { font-size: 12px; color: var(--kk-muted, #8a7a90); margin: 0 0 10px; }
.kikia-support__flash {
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 14px;
  margin: 0 0 18px;
}
.kikia-support__flash--ok { background: #e8f7f5; color: #1f7a72; }
.kikia-support__flash--err { background: #fdecea; color: #b84031; }
.kikia-support__empty { color: var(--kk-muted, #8a7a90); }
@media (max-width: 920px) {
  .kikia-support-hub__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .kikia-support-hub__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kikia-support-hub__panel { padding: 16px; }
}

/* ----- FAQ ----- */
.kikia-faq {
  border: 1px solid var(--kk-rule, #eadfe5);
  border-radius: 14px;
  padding: 18px 20px;
}
.kikia-faq__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.kikia-faq__tab {
  flex: 1 1 120px;
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--kk-blue-soft, #eaf2ff);
  color: var(--kk-blue, #3f7fe0);
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
}
.kikia-faq__tab.is-active { background: var(--kk-blue, #3f7fe0); color: #fff; }
.kikia-faq__item { border-bottom: 1px solid var(--kk-rule, #eadfe5); }
.kikia-faq__item[hidden] { display: none; }
.kikia-faq__q {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 8px;
  cursor: pointer;
  font-size: 15px;
  color: var(--kk-heading, #3d2b45);
  list-style: none;
}
.kikia-faq__q::-webkit-details-marker { display: none; }
.kikia-faq__q::after {
  content: "+";
  margin-left: auto;
  color: var(--kk-muted, #8a7a90);
  font-size: 20px;
}
.kikia-faq__item[open] > .kikia-faq__q::after { content: "−"; }
.kikia-faq__item[open] > .kikia-faq__q { background: #fafbfd; }
.kikia-faq__mark { color: var(--kk-blue, #3f7fe0); font-weight: 700; }
.kikia-faq__a {
  padding: 4px 8px 18px 40px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--kk-ink, #2e2a33);
  background: #fafbfd;
}

/* ----- Inquiry form ----- */
.kikia-inquiry { border-top: 0; }
.kikia-inquiry__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kikia-inquiry__row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--kk-rule, #eadfe5);
}
.kikia-inquiry__row--textarea { align-items: start; }
.kikia-inquiry__row label { font-weight: 700; font-size: 14px; color: var(--kk-heading, #3d2b45); }
.kikia-inquiry__req { color: #b84031; }
.kikia-inquiry__row input,
.kikia-inquiry__row select,
.kikia-inquiry__row textarea {
  width: 100%;
  max-width: 600px;
  min-height: 42px;
  border: 1px solid var(--kk-rule, #eadfe5);
  border-radius: 8px;
  padding: 8px 12px;
  font: inherit;
  font-size: 14px;
  background: #fff;
}
.kikia-inquiry__row textarea { min-height: 160px; max-width: 100%; }
.kikia-inquiry__actions { display: flex; gap: 10px; justify-content: center; padding: 22px 0 0; }
.kikia-inquiry__submit,
.kikia-inquiry__cancel {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 28px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid var(--kk-pink, #ff6fa5);
  cursor: pointer;
}
.kikia-inquiry__submit { background: var(--kk-pink, #ff6fa5); color: #fff; }
.kikia-inquiry__cancel { background: #fff; color: var(--kk-heading, #3d2b45); border-color: var(--kk-rule, #eadfe5); }
@media (max-width: 640px) {
  .kikia-inquiry__row { grid-template-columns: 1fr; gap: 6px; }
}

/* ----- Notice table ----- */
.kikia-notice-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.kikia-notice-table th {
  background: #f6f8fc;
  font-weight: 700;
  padding: 12px 10px;
  text-align: left;
  color: var(--kk-heading, #3d2b45);
}
.kikia-notice-table td { padding: 14px 10px; border-bottom: 1px solid var(--kk-rule, #eadfe5); }
.kikia-notice-table td a { color: var(--kk-ink, #2e2a33); text-decoration: none; }
.kikia-notice-table td a:hover { color: var(--kk-blue, #3f7fe0); }
.kikia-notice-table__no { width: 64px; text-align: center; color: var(--kk-muted, #8a7a90); }
.kikia-notice-table__date { width: 140px; text-align: right; color: var(--kk-muted, #8a7a90); }
.kikia-notice-pagination { margin: 16px 0 0; text-align: center; }
.kikia-notice-pagination .page-numbers { padding: 6px 10px; text-decoration: none; color: var(--kk-ink, #2e2a33); }
.kikia-notice-pagination .page-numbers.current { color: var(--kk-blue, #3f7fe0); font-weight: 700; }

/* ----- Login modal ----- */
.kikia-login-modal { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.kikia-login-modal[hidden] { display: none; }
.kikia-login-modal__backdrop { position: absolute; inset: 0; background: rgba(46, 42, 51, 0.55); }
.kikia-login-modal__card {
  position: relative;
  width: min(496px, 100%);
  max-height: calc(100vh - 32px);
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(61, 43, 69, 0.28);
}
.kikia-login-modal__close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--kk-heading, #3d2b45);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  z-index: 1;
}
.kikia-login-modal__head {
  background: #fff;
  color: var(--kk-heading, #3d2b45);
  text-align: left;
  padding: 24px 64px 8px 24px;
}
.kikia-login-modal__head img { display: block; margin: 0 auto 10px; height: 40px; width: auto; background: #fff; border-radius: 8px; padding: 4px 10px; }
.kikia-login-modal__head h2 { color: var(--kk-heading, #3d2b45); font-size: 20px; margin: 0; }
.kikia-login-modal__head p { margin: 0; font-size: 14px; }
.kikia-login-modal__body { padding: 16px 24px 24px; }
.kikia-login-modal__body .woocommerce-form-login { border: 0; padding: 0; margin: 0; }
.kikia-login-modal__body .form-row { margin: 0 0 12px; }
.kikia-login-modal__body label { font-size: 13px; font-weight: 700; color: var(--kk-heading, #3d2b45); }
.kikia-login-modal__body .input-text,
.kikia-login-modal__body .password-input { width: 100%; }
.kikia-login-modal__body .input-text { min-height: 44px; border: 1px solid var(--kk-rule, #eadfe5); border-radius: 8px; padding: 8px 12px; }
.kikia-login-modal__body .button {
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 6px;
  background: var(--kk-pink, #ff6fa5);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
}
.kikia-login-modal__body .lost_password { display: none; }
.kikia-login-modal__links { margin: 14px 0 0; text-align: center; font-size: 14px; line-height: 1.7; }
.kikia-login-modal__links a { color: var(--kk-blue, #3f7fe0); font-weight: 700; }
body.kikia-login-modal-open { overflow: hidden; }

/* ----- Cart: steps + summary panel ----- */
.kikia-steps {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 18px;
  color: var(--kk-muted, #8a7a90);
}
.kikia-steps__item + .kikia-steps__item::before { content: "›"; margin-right: 10px; color: var(--kk-rule, #eadfe5); }
.kikia-steps__item.is-current { color: var(--kk-heading, #3d2b45); font-weight: 700; }
.kikia-steps__item.is-done { color: var(--kk-blue, #3f7fe0); }
.kikia-cart { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
.kikia-cart__bulk { display: flex; gap: 8px; margin: 0 0 14px; }
.kikia-cart__bulk-btn {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid var(--kk-rule, #eadfe5);
  border-radius: 8px;
  background: #fff;
  color: var(--kk-heading, #3d2b45);
  font: inherit;
  font-weight: 700;
  font-size: 14px;
}
.kikia-cart__bulk-btn:disabled { opacity: 0.5; }
.kikia-cart__table-head {
  display: grid;
  grid-template-columns: minmax(0, 2.6fr) 1fr 0.8fr 0.6fr 1fr;
  background: #f6f8fc;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 700;
  color: var(--kk-heading, #3d2b45);
}
.kikia-cart__table-head span + span { text-align: center; }
.kikia-cart__empty-state { text-align: center; padding: 70px 16px; }
.kikia-cart__empty-title { font-size: 16px; font-weight: 700; margin: 0 0 4px; color: var(--kk-ink, #2e2a33); }
.kikia-cart__empty-sub { font-size: 13px; color: var(--kk-muted, #8a7a90); margin: 0 0 18px; }
.kikia-cart__start {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 22px;
  border: 1px solid var(--kk-rule, #eadfe5);
  border-radius: 999px;
  color: var(--kk-heading, #3d2b45);
  font-weight: 700;
  text-decoration: none;
}
.kikia-cart__summary-card {
  background: #f6f8fc;
  border-radius: 14px;
  padding: 20px 22px;
  margin: 0 0 14px;
}
.kikia-cart__summary-card h2 { font-size: 18px; margin: 0 0 12px; }
.kikia-cart__summary-card dl { margin: 0; padding: 0 0 12px; border-bottom: 1px solid #e3e9f4; }
.kikia-cart__summary-card dl div { display: flex; justify-content: space-between; font-size: 13px; padding: 4px 0; }
.kikia-cart__summary-card dt { color: var(--kk-muted, #8a7a90); }
.kikia-cart__saved { color: #1f7a72; font-weight: 700; }
.kikia-cart__shipping { padding: 12px 0; border-bottom: 1px solid #e3e9f4; }
.kikia-cart__shipping dl { border: 0; padding: 0; }
.kikia-cart__check-fee {
  display: flex;
  justify-content: center;
  margin: 8px 0 0;
  min-height: 36px;
  align-items: center;
  border: 1px solid #e3e9f4;
  border-radius: 8px;
  background: #fff;
  color: var(--kk-blue, #3f7fe0);
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
}
.kikia-cart__grand { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0 0; font-size: 16px; }
.kikia-cart__grand strong { color: var(--kk-pink, #ff6fa5); font-size: 22px; }
.kikia-cart__checkout {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--kk-pink, #ff6fa5);
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
}
.kikia-cart__checkout:disabled { opacity: 0.45; cursor: not-allowed; }
/* Populated cart: Woo's form on the left, totals as the summary card. */
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
.woocommerce-cart .woocommerce > .kikia-steps,
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .kikia-cart { grid-column: 1 / -1; }
.woocommerce-cart .cart-collaterals { grid-column: 2; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; float: none; background: #f6f8fc; border-radius: 14px; padding: 20px 22px; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 18px; }
.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount { color: var(--kk-pink, #ff6fa5); font-size: 20px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { border-radius: 999px; background: var(--kk-pink, #ff6fa5); }
@media (max-width: 900px) {
  .kikia-cart, .woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-cart .cart-collaterals { grid-column: 1; }
  .kikia-steps { justify-content: flex-start; font-size: 14px; }
  .kikia-cart__table-head { display: none; }
}

/* ----- Brand A–Z ----- */
.kikia-brand-az { margin: 28px 0 0; }
.kikia-brand-az__panel {
  background: #f6f8fc;
  border-radius: 16px;
  padding: 26px 24px;
  margin: 0 0 24px;
}
.kikia-brand-az__search { display: flex; justify-content: center; gap: 8px; margin: 0 0 18px; }
.kikia-brand-az__search input {
  width: min(320px, 100%);
  min-height: 42px;
  border: 1px solid #e3e9f4;
  border-radius: 8px;
  padding: 8px 12px;
  font: inherit;
}
.kikia-brand-az__search button {
  min-height: 42px;
  padding: 0 22px;
  border: 0;
  border-radius: 8px;
  background: var(--kk-blue, #3f7fe0);
  color: #fff;
  font-weight: 700;
}
.kikia-brand-az__letters { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.kikia-brand-az__letter {
  min-width: 34px;
  min-height: 34px;
  border: 0;
  border-radius: 6px;
  background: #e8ecf3;
  color: var(--kk-heading, #3d2b45);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  padding: 0 8px;
}
.kikia-brand-az__letter.is-active { background: var(--kk-heading, #3d2b45); color: #fff; }
.kikia-brand-az__letter:disabled { opacity: 0.35; cursor: default; }
.kikia-brand-az__group[hidden] { display: none; }
.kikia-brand-az__group-title {
  background: #f6f8fc;
  border-radius: 8px;
  text-align: center;
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 18px;
  padding: 10px;
  margin: 18px 0 14px;
}
.kikia-brand-az__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px 14px;
}
.kikia-brand-az__item[hidden] { display: none; }
.kikia-brand-az__item a { display: block; text-align: center; text-decoration: none; color: var(--kk-ink, #2e2a33); font-size: 13px; }
.kikia-brand-az__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  margin: 0 0 8px;
  border: 1px solid var(--kk-rule, #eadfe5);
  border-radius: 8px;
  background: #fff;
  padding: 6px 10px;
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-weight: 700;
  color: var(--kk-heading, #3d2b45);
}
.kikia-brand-az__logo img { max-height: 36px; width: auto; max-width: 100%; object-fit: contain; }
.kikia-brand-az__pending { display: block; font-size: 11px; color: var(--kk-muted, #8a7a90); }
.kikia-brand-az__empty { text-align: center; color: var(--kk-muted, #8a7a90); }
@media (max-width: 900px) { .kikia-brand-az__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 480px) { .kikia-brand-az__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ----- Home: Trending brands strip ----- */
.kikia-trending__strip {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px 0;
  border-top: 1px solid var(--kk-rule, #eadfe5);
  border-bottom: 1px solid var(--kk-rule, #eadfe5);
}
.kikia-trending__strip li { border-right: 1px solid var(--kk-rule, #eadfe5); }
.kikia-trending__strip li:nth-child(6n) { border-right: 0; }
.kikia-trending__strip a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 6px 10px;
  text-decoration: none;
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-weight: 700;
  font-size: 14px;
  color: var(--kk-heading, #3d2b45);
}
.kikia-trending__strip a:hover { color: var(--kk-blue, #3f7fe0); background: var(--kk-blue-soft, #eaf2ff); }
.kikia-trending__strip img { max-height: 36px; width: auto; max-width: 120px; object-fit: contain; }
.kikia-trending__strip .is-pending { color: var(--kk-muted, #8a7a90); font-weight: 600; }
@media (max-width: 767px) {
  .kikia-trending__strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kikia-trending__strip li:nth-child(6n) { border-right: 1px solid var(--kk-rule, #eadfe5); }
  .kikia-trending__strip li:nth-child(3n) { border-right: 0; }
}

/* ----- Home: notice / banner / payment 3-up and support banners ----- */
.kikia-info-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 18px;
  margin: 36px 0 18px;
}
.kikia-info-card {
  border: 1px solid var(--kk-rule, #eadfe5);
  border-radius: 14px;
  padding: 18px 20px;
  background: #fff;
  min-height: 180px;
  /* A grid item defaults to min-width:auto; the nowrap notice titles then
     widened every card past the viewport on phones (391px on 390). */
  min-width: 0;
}
.kikia-info-card__head { display: flex; justify-content: space-between; align-items: center; margin: 0 0 10px; }
.kikia-info-card__head h2 { font-size: 17px; margin: 0; }
.kikia-info-card__head a { color: var(--kk-heading, #3d2b45); text-decoration: none; font-size: 20px; line-height: 1; }
.kikia-info-card__list { list-style: none; margin: 0; padding: 0; }
.kikia-info-card__list li { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; padding: 5px 0; min-width: 0; }
.kikia-info-card__list a { color: var(--kk-ink, #2e2a33); text-decoration: none; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kikia-info-card__list time { color: var(--kk-muted, #8a7a90); white-space: nowrap; }
.kikia-info-card--banner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background: linear-gradient(135deg, var(--kk-blue-soft, #eaf2ff) 0%, #fff0f6 100%);
  border-color: #e3e9f4;
}
.kikia-info-card--banner h2 { font-size: 20px; margin: 0 0 8px; }
.kikia-info-card--banner p { font-size: 13px; line-height: 1.55; margin: 0 auto 14px; max-width: 40ch; color: var(--kk-ink, #2e2a33); }
.kikia-info-card--banner a {
  display: inline-flex;
  align-self: center;
  min-height: 40px;
  align-items: center;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--kk-pink, #ff6fa5);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
}
.kikia-info-card__pay { list-style: none; margin: 0 0 12px; padding: 0; font-size: 13px; }
.kikia-info-card__pay li { display: flex; justify-content: space-between; padding: 5px 0; border-bottom: 1px solid var(--kk-rule, #eadfe5); }
.kikia-info-card__pay li span:last-child { color: var(--kk-muted, #8a7a90); }
.kikia-info-card__pay-note { font-size: 12px; color: var(--kk-muted, #8a7a90); margin: 0; }
.kikia-support-banners {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.kikia-support-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 112px;
  padding: 18px 22px;
  border-radius: 14px;
  text-decoration: none;
  color: var(--kk-heading, #3d2b45);
}
.kikia-support-banner--mint { background: #e8f7f5; }
.kikia-support-banner--yellow { background: #fff6dc; }
.kikia-support-banner--blue { background: var(--kk-blue-soft, #eaf2ff); }
.kikia-support-banner__eyebrow { display: block; font-size: 13px; color: var(--kk-ink, #2e2a33); margin: 0 0 4px; }
.kikia-support-banner__title {
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 28px;
  font-weight: 700;
  margin: 0;
}
.kikia-support-banner--mint .kikia-support-banner__title { color: #1f7a72; }
.kikia-support-banner--yellow .kikia-support-banner__title { color: #a06a00; }
.kikia-support-banner--blue .kikia-support-banner__title { color: var(--kk-blue, #3f7fe0); }
.kikia-support-banner__icon {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  flex: 0 0 auto;
}
@media (max-width: 900px) {
  .kikia-info-row, .kikia-support-banners { grid-template-columns: 1fr; }
}

/* ----- Product detail: brand strip ----- */
.kikia-pd-brandstrip {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 26px 0 0;
  padding: 14px 18px;
  border: 1px solid var(--kk-rule, #eadfe5);
  border-radius: 12px;
  background: #fff;
}
.kikia-pd-brandstrip__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 56px;
  border: 1px solid var(--kk-rule, #eadfe5);
  border-radius: 8px;
  padding: 6px;
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-weight: 700;
}
.kikia-pd-brandstrip__logo img { max-height: 44px; width: auto; max-width: 100%; object-fit: contain; }
.kikia-pd-brandstrip__meta { font-size: 13px; color: var(--kk-muted, #8a7a90); }
.kikia-pd-brandstrip__meta strong { display: block; font-size: 15px; color: var(--kk-heading, #3d2b45); }
.kikia-pd-brandstrip__btn {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid var(--kk-blue, #3f7fe0);
  border-radius: 999px;
  color: var(--kk-blue, #3f7fe0);
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
}
.kikia-pd-brandstrip__btn:hover { background: var(--kk-blue-soft, #eaf2ff); }

/* ----- Product detail: cheonyu option rows (variable products) ----- */
.kikia-pd-options { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; }
.kikia-pd-option {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto 84px;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid var(--kk-rule, #eadfe5);
  border-radius: 10px;
  background: #fff;
}
.kikia-pd-option.is-out { opacity: 0.6; }
.kikia-pd-option__check { width: 18px; height: 18px; accent-color: var(--kk-pink, #ff6fa5); }
.kikia-pd-option__label { font-size: 14px; font-weight: 600; color: var(--kk-heading, #3d2b45); cursor: pointer; }
.kikia-pd-option__label small { display: block; font-size: 12px; font-weight: 400; color: var(--kk-muted, #8a7a90); }
.kikia-pd-option__price { display: flex; flex-direction: column; align-items: flex-end; font-size: 14px; font-weight: 700; color: var(--kk-heading, #3d2b45); }
.kikia-pd-option__hint {
  font-size: 11px;
  font-weight: 600;
  color: var(--kk-blue, #3f7fe0);
  background: var(--kk-blue-soft, #eaf2ff);
  border-radius: 999px;
  padding: 2px 8px;
  text-decoration: none;
  white-space: nowrap;
}
.kikia-pd-option__qty { width: 84px; min-height: 36px; border: 1px solid var(--kk-rule, #eadfe5); border-radius: 8px; padding: 4px 8px; text-align: center; font: inherit; }
@media (max-width: 560px) {
  .kikia-pd-option { grid-template-columns: 24px minmax(0, 1fr); }
  .kikia-pd-option__price { grid-column: 2; align-items: flex-start; }
  .kikia-pd-option__qty { grid-column: 2; }
}
.kikia-pd-fbt + .kikia-pd-related { margin-top: 24px; }

/* ----- Cookie consent (cookie-law-info / CookieYes) as a slim bottom bar -----
   cheonyu has no consent box; the plugin's 440px card covered the catalogue on
   every page (compare 2026-10-08). The plugin stays — only its placement and
   colours change. */
.cky-consent-container,
.cky-consent-container.cky-box-bottom-left,
.cky-consent-container.cky-box-bottom-right {
  width: 100% !important;
  max-width: none !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  border-radius: 0 !important;
}
.cky-consent-container .cky-consent-bar {
  border-radius: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--kk-rule, #eadfe5) !important;
  padding: 10px 24px !important;
  box-shadow: 0 -4px 18px rgba(61, 43, 69, 0.08) !important;
}
.cky-consent-container .cky-notice { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.cky-consent-container .cky-notice .cky-title { display: none !important; }
.cky-consent-container .cky-notice-group { display: flex; align-items: center; gap: 18px; flex: 1 1 auto; flex-wrap: wrap; }
.cky-consent-container .cky-notice-des,
.cky-consent-container .cky-notice-des * { font-size: 12px !important; line-height: 1.45 !important; color: var(--kk-ink, #2e2a33) !important; }
.cky-consent-container .cky-notice-des { flex: 1 1 320px; }
.cky-consent-container .cky-notice-btn-wrapper { margin: 0 !important; flex-wrap: nowrap !important; }
.cky-consent-container .cky-btn {
  font-size: 12px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  min-width: 0 !important;
  margin: 0 6px 0 0 !important;
}
.cky-consent-container .cky-btn-accept { background: var(--kk-pink, #ff6fa5) !important; border-color: var(--kk-pink, #ff6fa5) !important; color: #fff !important; }
.cky-consent-container .cky-btn-reject,
.cky-consent-container .cky-btn-customize { color: var(--kk-blue, #3f7fe0) !important; border-color: var(--kk-blue, #3f7fe0) !important; background: #fff !important; }
@media (max-width: 640px) {
  /* The plugin stacks its buttons in a column below 440px; with a 0 flex basis
     they collapsed to 20px bars (seen 2026-10-08 on the live mobile capture).
     Keep one row of three equal buttons and a two-line notice. */
  .cky-consent-container .cky-consent-bar { padding: 8px 12px !important; }
  .cky-consent-container .cky-notice-group { gap: 6px; }
  .cky-consent-container .cky-notice-des { flex-basis: 100%; }
  .cky-consent-container .cky-notice-des,
  .cky-consent-container .cky-notice-des * { font-size: 11px !important; line-height: 1.35 !important; }
  .cky-consent-container .cky-notice-btn-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100%;
    gap: 6px;
    margin: 0 !important;
  }
  .cky-consent-container .cky-btn {
    flex: 1 1 33% !important;
    width: auto !important;
    min-height: 34px !important;
    line-height: 1.2 !important;
    padding: 7px 6px !important;
    margin: 0 !important;
    order: 0 !important;
  }
}
.cky-consent-container { width: auto !important; max-width: 100% !important; overflow: hidden; }
.cky-consent-container .cky-consent-bar { width: auto !important; max-width: 100% !important; box-sizing: border-box !important; }

/* The option rows carry their own quantities; the single stepper is hidden by attribute. */
.kikia-pd-stepper[hidden] { display: none !important; }

/* ----- Blue mix (customer 2026-10-08) -----
   cheonyu is blue-on-white; KIKIA keeps pink for buying and gives navigation,
   secondary actions and section chrome the blue accent so the page no longer
   reads as pink only. */
.kikia-nav,
.kikia-header--two-row .kikia-nav { border-top: 2px solid var(--kk-blue, #3f7fe0); background: #f8fbff; }
.kikia-nav__menu a { color: var(--kk-heading, #3d2b45); }
.kikia-nav__menu a:hover,
.kikia-nav__menu a:focus-visible,
.kikia-nav__menu .current-menu-item > a,
.kikia-nav__menu li.is-current > a { color: var(--kk-blue, #3f7fe0); }
.kikia-section-head__all {
  background: var(--kk-blue-soft, #eaf2ff);
  color: var(--kk-blue, #3f7fe0);
  font-weight: 700;
}
.kikia-section-head__all:hover { text-decoration: none; background: var(--kk-blue, #3f7fe0); color: #fff; }
.kikia-promo-carousel__viewall { background: var(--kk-blue, #3f7fe0); }
.kikia-promo-carousel__viewall:hover { background: #2f6ac4; }
.kikia-promo-carousel__btn:hover { border-color: var(--kk-blue, #3f7fe0); color: var(--kk-blue, #3f7fe0); }
.kikia-pd-btn--outline { color: var(--kk-blue, #3f7fe0); border-color: var(--kk-blue, #3f7fe0); }
.kikia-pd-btn--outline:hover:not(:disabled) { background: var(--kk-blue-soft, #eaf2ff); border-color: var(--kk-blue, #3f7fe0); }
.kikia-best-tabs__btn.is-active { background: var(--kk-blue, #3f7fe0); border-color: var(--kk-blue, #3f7fe0); color: #fff; }
.kikia-lines__logo-btn.is-active,
.kikia-lines__logo-btn:hover { border-color: var(--kk-blue, #3f7fe0); background: var(--kk-blue-soft, #eaf2ff); box-shadow: 0 0 0 1px rgba(63, 127, 224, 0.15); }
.kikia-list-toolbar__brandsearch:hover,
.kikia-list-brands a:hover { color: var(--kk-blue, #3f7fe0); border-color: var(--kk-blue, #3f7fe0); }
.kikia-list-notice__btn--ghost { color: var(--kk-blue, #3f7fe0); border-color: var(--kk-blue, #3f7fe0); }
body.kikia-storefront .kikia-footer .kikia-footer-col__title { color: var(--kk-blue, #3f7fe0); }
.kikia-footer-cs__faq { background: var(--kk-blue, #3f7fe0) !important; }
.kikia-quickpanel__btn:hover { color: var(--kk-blue, #3f7fe0); }

/* =========================================================================
   Design pass 2026-10-08b — client feedback + Codex / Grok critique.
   Colour roles (both critics): neutrals carry the page, BLUE carries
   navigation, icons, selection and secondary actions, PINK is kept for the
   primary buy action of a view. Text on fills meets WCAG AA:
   white on --kk-blue-strong 5.28:1, --kk-heading on pink 4.95:1.
   ========================================================================= */
:root {
  --kk-blue-strong: #2f6ac4;
  --kk-quickpanel-w: 92px;
}

/* ----- Header ----- */
.kikia-quick { gap: 6px; }
.kikia-quick__item {
  min-width: 76px; min-height: 64px; gap: 5px; padding: 6px 8px;
  font-size: 12.5px; font-weight: 600; color: var(--kk-heading, #3d2b45);
}
.kikia-quick__icon { color: var(--kk-blue, #3f7fe0); }
.kikia-quick__icon svg,
.kikia-quick__icon .kikia-icon { width: 30px !important; height: 30px !important; }
.kikia-quick__item:hover { background: var(--kk-blue-soft, #eaf2ff); color: var(--kk-blue-strong); }
.kikia-quick .kikia-cart-badge {
  min-width: 20px !important; height: 20px !important; font-size: 11px !important;
  line-height: 20px !important; top: 2px !important; right: 12px !important;
}
.kikia-util__languages,
.kikia-header .trp-language-switcher { max-width: 112px; }
.kikia-search__scope { background: #f6f8fc !important; }
.kikia-search input:focus,
.kikia-search select:focus { outline: 2px solid var(--kk-blue, #3f7fe0); outline-offset: -2px; }
.kikia-nav__all { background: var(--kk-blue-strong) !important; color: #fff !important; }
.kikia-nav__all:hover { background: #2559ab !important; }
.kikia-nav,
.kikia-header--two-row .kikia-nav { background: var(--kk-blue-soft, #eaf2ff); border-top: 0; border-bottom: 2px solid var(--kk-blue, #3f7fe0); }
.kikia-nav__menu a:hover,
.kikia-nav__menu a:focus-visible { color: var(--kk-blue-strong); }
/* The header already has a language selector; drop TranslatePress's floater,
   which covered product cards and Proceed to checkout. */
.trp-language-switcher.trp-floating-switcher { display: none !important; }

/* ----- Right quick panel (cheonyu ≈32px icons, 13px labels) ----- */
.kikia-quickpanel { width: 92px; font-size: 12px; }
.kikia-quickpanel__body { gap: 0; padding: 8px 0 0; }
.kikia-quickpanel__block { padding: 6px 4px 8px; }
.kikia-quickpanel__label { font-size: 12px; font-weight: 700; color: var(--kk-heading, #3d2b45); margin-bottom: 4px; }
.kikia-quickpanel__value { font-size: 13px; color: var(--kk-blue-strong); }
.kikia-quickpanel__thumb-link img,
.kikia-quickpanel__thumb { width: 56px !important; height: 56px !important; }
.kikia-quickpanel__btn {
  gap: 4px; padding: 10px 4px; font-size: 12px; font-weight: 600;
  border-top: 1px solid var(--kk-rule, #eadfe5); border-radius: 0;
}
.kikia-quickpanel__btn-icon {
  width: 40px; height: 40px; border-radius: 999px;
  background: var(--kk-blue-soft, #eaf2ff); color: var(--kk-blue-strong);
}
.kikia-quickpanel__btn-icon svg { width: 24px !important; height: 24px !important; }
.kikia-quickpanel__btn:hover { background: #f8fbff; color: var(--kk-blue-strong); }
.kikia-quickpanel__btn:hover .kikia-quickpanel__btn-icon { background: var(--kk-blue-strong); color: #fff; }
.kikia-quickpanel__close { font-size: 11px; padding: 8px 0; color: var(--kk-blue-strong); }

/* ----- Typography scale (both critics) ----- */
.kikia-section-head__title { font-size: 24px !important; line-height: 1.25; }
.kikia-list-hero__title { font-size: 28px; }
.kikia-card__title { line-height: 20px; min-height: 40px; font-size: 14px; }
.kikia-card__retail { font-size: 17px; }

/* ----- Product cards: badges on the image, actions on one baseline ----- */
body.kikia-storefront ul.products li.product,
body.kikia-storefront .woocommerce ul.products li.product { height: 100%; }
.kikia-card { height: 100%; border-radius: 8px; }
.kikia-card__badges {
  position: absolute; top: 8px; left: 8px; z-index: 2;
  display: flex; flex-wrap: wrap; gap: 4px; pointer-events: none;
}
.kikia-card__badge { height: 20px; padding: 0 7px; font-size: 10.5px; box-shadow: 0 1px 2px rgba(61, 43, 69, 0.08); }
.kikia-card__badge--featured,
.kikia-card__badge--exclusive { background: var(--kk-blue-soft, #eaf2ff); color: var(--kk-blue-strong); }
.kikia-card__actions { margin-top: auto; padding-top: 8px; }
body.kikia-is-wholesale .kikia-card__price { min-height: 38px; }
/* Grid cart buttons are a secondary add; the page's primary buy stays pink. */
.kikia-card__cart-btn { background: var(--kk-blue-strong) !important; border-color: var(--kk-blue-strong) !important; color: #fff !important; }
.kikia-card__cart-btn:hover:not(:disabled) { background: #2559ab !important; border-color: #2559ab !important; }
.kikia-card__title:hover { color: var(--kk-blue-strong); }
.kikia-bulk-bar__btn { background: var(--kk-blue-strong); color: #fff; }

/* ----- Trending brands: one strip, equal artwork tiles ----- */
.kikia-trending__strip {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px;
  border: 0; margin: 0 0 20px;
}
.kikia-trending__strip li { border: 0 !important; }
.kikia-trending__cell {
  width: 100%; min-height: 128px; padding: 12px 8px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid var(--kk-rule, #eadfe5); border-radius: 12px; background: #fff;
  text-decoration: none; cursor: pointer; font: inherit; color: var(--kk-heading, #3d2b45);
  transition: border-color .15s ease, background .15s ease;
}
.kikia-trending__cell:hover { border-color: var(--kk-blue, #3f7fe0); background: #f8fbff; }
.kikia-trending__cell.is-active {
  border-color: var(--kk-blue, #3f7fe0); background: var(--kk-blue-soft, #eaf2ff);
  box-shadow: 0 0 0 1px var(--kk-blue, #3f7fe0);
}
.kikia-trending__art {
  width: 100%; max-width: 150px; height: 64px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 26px; font-weight: 700; color: var(--kk-blue-strong);
}
.kikia-trending__cell.is-pending .kikia-trending__art { width: 64px; border-radius: 16px; background: var(--kk-blue-soft, #eaf2ff); }
.kikia-trending__art img { max-width: 100%; max-height: 56px; width: auto; height: auto; object-fit: contain; }
.kikia-trending__cell.is-pending .kikia-trending__art img { max-height: 52px; }
.kikia-trending__name { font-size: 13px; font-weight: 700; line-height: 1.25; text-align: center; color: var(--kk-heading, #3d2b45); }
.kikia-trending__cell:hover .kikia-trending__name,
.kikia-trending__cell.is-active .kikia-trending__name { color: var(--kk-blue-strong); }
.kikia-lines .kikia-bulk-bar { justify-content: flex-end; }
@media (max-width: 920px) { .kikia-trending__strip { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .kikia-trending__strip { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .kikia-trending__cell { min-height: 104px; padding: 10px 4px; }
  .kikia-trending__art { height: 48px; }
  .kikia-trending__name { font-size: 12px; }
}

/* ----- Selection states across the site ----- */
.kikia-subtabs__item.is-active { background: var(--kk-blue-soft, #eaf2ff) !important; color: var(--kk-blue-strong) !important; font-weight: 700; }
.kikia-subtabs__item:hover { color: var(--kk-blue-strong); }
.kikia-subtabs__item.is-empty { color: #b5a9ba; }
.kikia-best-tabs__btn.is-active { background: var(--kk-blue-strong) !important; border-color: var(--kk-blue-strong) !important; color: #fff !important; }
.kikia-pagination .page-numbers .current { background: var(--kk-blue-strong) !important; color: #fff !important; }
.kikia-list-filters__submit { background: var(--kk-blue-strong); color: #fff; }
.kikia-chip:hover { background: var(--kk-blue-soft, #eaf2ff); color: var(--kk-blue-strong); border-color: var(--kk-blue, #3f7fe0); }

/* ----- Listing toolbar: Filters, sort and page size on one row ----- */
.kikia-list-toolbar__row .kikia-list-filter-panel { margin: 0; order: 0; }
.kikia-list-toolbar__row .kikia-list-filter-panel[open] { flex-basis: 100%; order: 3; }
.kikia-list-toolbar__row .kikia-list-filter-panel__summary { min-height: 36px; }
.kikia-list-toolbar__sortsel { margin-right: auto; }

/* ----- Pink keeps the primary buy role, with readable text (4.95:1) ----- */
.kikia-promo-carousel__cta,
.kikia-pd-btn--primary,
.kikia-wholesale-cta__btn,
.kikia-info-card--banner a,
.kikia-login-modal__body .button,
.kikia-inquiry__submit,
.kikia-cart__checkout,
.kikia-list-notice__btn,
.kikia-footer a.kikia-footer-pay__cta,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.kikia-storefront .wc-block-components-checkout-place-order-button,
body.kikia-storefront .whols_registration_form input[type="submit"] { color: var(--kk-heading, #3d2b45) !important; }
.kikia-cart__grand strong,
.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount { color: var(--kk-heading, #3d2b45); }
.kikia-quickpanel__value[data-kikia-cart-total] { color: var(--kk-blue-strong); }

/* ----- Blue text that sat below AA on white/soft blue now uses the strong tone ----- */
.kikia-support-hub__meta a,
.kikia-faq__mark,
.kikia-login-modal__links a,
.kikia-cart__check-fee,
.kikia-pd-brandstrip__btn,
.kikia-pd-option__hint,
.kikia-section-head__all,
.kikia-list-notice__btn--ghost { color: var(--kk-blue-strong) !important; }
.kikia-faq__tab { color: var(--kk-blue-strong); }
.kikia-faq__tab.is-active,
.kikia-brand-az__search button { background: var(--kk-blue-strong); color: #fff; }
.kikia-section-head__all:hover { background: var(--kk-blue-strong) !important; color: #fff !important; }
.kikia-promo-carousel__viewall { background: var(--kk-blue-strong); }

/* ----- Mobile: shorter path to products, one active tab, calmer promo bar ----- */
@media (max-width: 767px) {
  .kikia-mobile__notice { background: var(--kk-blue-soft, #eaf2ff); color: var(--kk-heading, #3d2b45); }
  .kikia-mobile__notice-badge { background: var(--kk-blue-strong); color: #fff; }
  .kikia-bottom-tabs__item.is-active { color: var(--kk-blue-strong); }
  .kikia-promo-carousel__overlay { padding: 12px 16px 52px; }
  .kikia-promo-carousel__title { font-size: 19px; margin-bottom: 4px; }
  .kikia-promo-carousel__sub { font-size: 13px; margin-bottom: 8px; }
  .kikia-promo-carousel__cta { padding: 6px 12px; font-size: 13px; }

}

/* ----- Brand landing: brands reach the first viewport ----- */
.kikia-brand-directory__hero { max-height: 220px; overflow: hidden; }
.kikia-brand-directory__feature,
.kikia-brand-directory__overview { min-height: 0 !important; height: 200px; }
.kikia-brand-directory__feature-image { height: 200px !important; object-fit: cover; }

/* ----- Brand A–Z artwork ----- */
.kikia-brand-az__logo { height: 64px; }
.kikia-brand-az__logo img { max-height: 52px; }
.kikia-brand-az__art { width: 48px; height: 48px; object-fit: contain; }
.kikia-brand-az__initial {
  width: 44px; height: 44px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--kk-blue-soft, #eaf2ff); color: var(--kk-blue-strong);
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif); font-size: 20px; font-weight: 700;
}

/* ----- Design pass 2026-10-08b, round 2 (after local review) ----- */
/* Language select: room for the flag, "English" and the chevron. */
.kikia-util__languages,
.kikia-header .trp-language-switcher { max-width: 148px; }
/* Brand tiles: equal height inside each row. */
.kikia-trending__strip li { display: flex; }
.kikia-trending__strip .kikia-trending__cell { height: 100%; }
@media (max-width: 767px) {
  /* Mobile selection and hover follow the blue role too. */
  .kikia-chip.is-active,
  .kikia-chip[aria-current="page"] { background: var(--kk-blue-strong) !important; border-color: var(--kk-blue-strong) !important; color: #fff !important; }
  .kikia-mobile__search-icon { color: var(--kk-blue-strong) !important; }
  .kikia-mobile__search form { border-color: #d6e2f5 !important; }
  .kikia-bottom-tabs__item:hover,
  .kikia-bottom-tabs__item:focus-visible { color: var(--kk-blue-strong) !important; }
  .kikia-promo-carousel__overlay { padding: 12px 16px 14px !important; }

  .kikia-section-head__title { font-size: 20px !important; }
}

/* ----- Design pass 2026-10-08b, round 3 (Codex/Grok re-review) ----- */
/* Card actions: 216px could not hold checkbox + [−|64px|+] + cart + wish, so the
   + button sat under the cart button. One grid row that always fits:
   checkbox · stepper (flexible) · cart · wish, all 44px tall. */
@media (min-width: 768px) {
  .kikia-card__actions {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) 44px 44px;
    align-items: center;
    gap: 4px;
  }
  .kikia-card__stepper { display: flex; min-width: 0; width: 100%; }
  .kikia-card__step-btn { flex: 0 0 28px; width: 28px !important; }
  .kikia-card__qty { flex: 1 1 auto; min-width: 0; width: auto !important; }
}
/* Brand artwork: substantial and consistent. */
.kikia-trending__cell { min-height: 140px; }
.kikia-trending__art { height: 80px; max-width: 168px; }
.kikia-trending__art img { max-height: 64px; }
.kikia-trending__cell.is-pending .kikia-trending__art { width: 84px; height: 84px; border-radius: 20px; }
.kikia-trending__cell.is-pending .kikia-trending__art img { max-height: 72px; max-width: 72px; }
.kikia-trending__name { font-size: 14px; }
.kikia-trending__cell--all .kikia-trending__art {
  width: 84px; height: 84px; border-radius: 20px; background: var(--kk-blue-strong); color: #fff; font-size: 22px;
}
@media (max-width: 600px) {
  .kikia-trending__cell { min-height: 112px; }
  .kikia-trending__art,
  .kikia-trending__cell.is-pending .kikia-trending__art,
  .kikia-trending__cell--all .kikia-trending__art { height: 60px; width: 60px; }
  .kikia-trending__cell.is-original .kikia-trending__art { width: 100%; }
  .kikia-trending__art img,
  .kikia-trending__cell.is-pending .kikia-trending__art img { max-height: 52px; }
  .kikia-trending__name { font-size: 12px; }
}
/* Mobile: the subtitle repeats the headline; drop it so products start sooner. */
@media (max-width: 600px) {
  .kikia-promo-carousel__sub { display: none; }
  .kikia-promo-carousel__title { margin-bottom: 8px; }
}
/* Round 3 fixes, continued. */
/* Quantity field keeps "999" readable in the narrower stepper. */
@media (min-width: 768px) {
  .kikia-card__qty { padding: 0 2px !important; text-align: center; font-size: 14px; }
}
/* Both brand-tile rows share one height. */
.kikia-trending__strip { grid-auto-rows: 1fr; }
/* PDP: the wholesale link is a secondary action next to the pink Buy now. */
.kikia-pd-price__hint a { color: var(--kk-blue-strong) !important; font-weight: 700; }
/* Best-seller category tabs stay on one line and scroll. */
.kikia-best-tabs { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
.kikia-best-tabs__btn { flex: 0 0 auto; white-space: nowrap; }
/* Round 4 (Codex round-2: brand art still small). The character files are
   cheonyu's ~50px originals; max-width/max-height capped them at natural size,
   so they rendered at 44–64px in an 84px well. Size the art box explicitly and
   let object-fit scale it, as the home character row already does. */
.kikia-trending__cell { min-height: 156px; }
.kikia-trending__art { height: 96px; }
.kikia-trending__cell.is-pending .kikia-trending__art,
.kikia-trending__cell--all .kikia-trending__art { width: 96px; height: 96px; border-radius: 22px; }
.kikia-trending__cell.is-pending .kikia-trending__art img {
  width: 80px; height: 80px; max-width: none; max-height: none; object-fit: contain;
}
/* Wordmark logos: use the full tile width and up to 80px height. */
.kikia-trending__cell.is-original .kikia-trending__art { max-width: none; width: 100%; }
.kikia-trending__cell.is-original .kikia-trending__art img { width: 100%; height: auto; max-height: 80px; max-width: 100%; }
.kikia-trending__cell { padding: 10px 6px; }
@media (max-width: 600px) {
  .kikia-trending__cell { min-height: 120px; }
  .kikia-trending__cell.is-pending .kikia-trending__art,
  .kikia-trending__cell--all .kikia-trending__art { width: 68px; height: 68px; }
  .kikia-trending__cell.is-pending .kikia-trending__art img { width: 56px; height: 56px; }
  .kikia-trending__art { height: 68px; }
}
/* Wholesale desktop cards: the 44px-wide checkbox (a mobile touch target)
   overflowed the 18px grid column and sat under the stepper (found by e2e W2,
   2026-10-08). On a pointer layout the box keeps its 44px height for the hit
   area and fits the column width. */
@media (min-width: 768px) {
  body.kikia-is-wholesale .kikia-card__select { width: 18px; min-width: 18px; flex-basis: 18px; }
}

/* ----- Wishlist page (D7) and heart sign-in context (D8), 2026-10-08 ----- */
.kikia-wishlist__count { margin: 0 0 14px; font-size: 14px; color: var(--kk-muted, #8a7a90); }
/* The account content column is ~790px; three cards keep the same ~230px card
   width as the shop, so the quantity stepper stays usable. */
.kikia-wishlist .kikia-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.kikia-wishlist__empty {
  padding: 40px 20px; text-align: center; border: 1px dashed var(--kk-rule, #eadfe5);
  border-radius: 14px; background: #fafbfd;
}
.kikia-wishlist__empty[hidden] { display: none; }
.kikia-wishlist__empty p { margin: 0 0 14px; color: var(--kk-ink, #2e2a33); }
.kikia-wishlist__browse {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 20px; border-radius: 999px;
  background: var(--kk-blue-strong, #2f6ac4); color: #fff; font-weight: 700; text-decoration: none;
}
@media (max-width: 920px) { .kikia-wishlist .kikia-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.kikia-login-modal__context {
  margin: 0; padding: 0 24px; background: #fff;
  color: var(--kk-muted, #8a7a90); font-size: 14px; font-weight: 400; text-align: left;
}
.kikia-login-modal__context[hidden] { display: none; }

/* Login pop-up: WooCommerce's global login form floats username and password
   side by side (form-row-first/last) on pages that load its layout CSS, and the
   show-password toggle picked up the button fill. Keep one stacked layout on
   every page, with the toggle inside the password field. */
.kikia-login-modal__body .form-row,
.kikia-login-modal__body .form-row-first,
.kikia-login-modal__body .form-row-last { float: none !important; width: 100% !important; margin: 0 0 12px !important; padding: 0 !important; }
.kikia-login-modal__body .clear { display: none; }
.kikia-login-modal__body .password-input { position: relative; display: block; width: 100%; }
.kikia-login-modal__body .password-input .input-text { padding-right: 44px; }
.kikia-login-modal__body .show-password-input {
  position: absolute !important; top: 50% !important; right: 8px !important; transform: translateY(-50%);
  width: 32px !important; height: 32px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 6px; background: transparent !important; color: var(--kk-muted, #8a7a90) !important;
  box-shadow: none !important; cursor: pointer;
}
.kikia-login-modal__body .show-password-input:hover { color: var(--kk-blue-strong, #2f6ac4) !important; }

/* Astra PC/mobile review: one form surface, with a task-specific heading. */
body.kikia-storefront .kikia-login-modal .woocommerce-form-login { border:0; padding:0; margin:0; box-shadow:none; }
body.kikia-storefront .kikia-login-modal button[name=login] { border-radius:6px; }
.kikia-support-hub--compact .kikia-support-hub__title,
.kikia-support-hub--compact .kikia-support-hub__lead,
.kikia-support-hub--compact .kikia-support-hub__meta,
.kikia-support-hub--compact .kikia-support-hub__icon { display:none; }
.kikia-support-hub--compact .kikia-support-hub__panel { padding:0; margin:0 0 24px; border:0; border-radius:0; background:#fff; }
.kikia-support-hub--compact .kikia-support-hub__cards { display:flex; flex-wrap:wrap; gap:8px; }
.kikia-support-hub--compact .kikia-support-hub__cards > li { margin:0; }
.kikia-support-hub--compact .kikia-support-hub__card { min-height:44px; padding:8px 12px; border-radius:6px; box-shadow:none; }
.kikia-support-hub--compact .kikia-support-hub__card > br { display:none; }
.kikia-support-hub--compact .kikia-support-hub__card.is-active { background:var(--kk-blue-soft); color:var(--kk-blue-strong); }
.kikia-support-hub--compact p:empty { display:none; }
.kikia-policy { max-width:75ch; font-size:16px; line-height:1.65; }
.kikia-policy h2 { margin:24px 0 8px; font-size:24px; line-height:1.3; }
.kikia-policy ol { margin:0 0 16px 24px; }
.kikia-policy li { padding-left:4px; margin-bottom:8px; }
body.kikia-storefront .whols_registration_form .kikia-license-carrier label,
body.kikia-storefront .whols_registration_form .kikia-license-carrier .description,
body.kikia-storefront .whols_registration_form .kikia-license-carrier .whols-field-description { display:block; line-height:1.5; }
body.kikia-storefront .whols_registration_form .kikia-license-carrier label { margin-bottom:8px; }
body.kikia-storefront .whols_registration_form .kikia-license-carrier .description,
body.kikia-storefront .whols_registration_form .kikia-license-carrier .whols-field-description { margin-top:8px; font-size:14px; }
@media (min-width:768px) {
  body.kikia-storefront .whols_registration_form { max-width:680px; margin-inline:auto; }
  .kikia-support-hub--compact .kikia-support-hub__cards { flex-wrap:nowrap; }
}

/* Actual WooCommerce order values stay authoritative; emphasize their hierarchy. */
body.woocommerce-order-received .woocommerce-thankyou-order-received { font-size:20px; line-height:1.5; color:var(--kk-heading); }
body.woocommerce-order-received ul.woocommerce-order-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0; padding:16px; border:1px solid var(--kk-rule); border-radius:6px; }
body.woocommerce-order-received ul.woocommerce-order-overview li { float:none; min-width:0; overflow-wrap:anywhere; margin:0; padding:0; border:0; line-height:1.5; }
body.woocommerce-order-received ul.woocommerce-order-overview::before,
body.woocommerce-order-received ul.woocommerce-order-overview::after { content:none; }
body.woocommerce-order-received ul.woocommerce-order-overview strong { display:block; margin-top:4px; font-size:18px; font-variant-numeric:tabular-nums; }
body.kikia-storefront .woocommerce-table--order-details .product-total,
body.kikia-storefront .woocommerce-table--order-details tfoot td { text-align:right; font-variant-numeric:tabular-nums; }
body.kikia-storefront .woocommerce-table--order-details tfoot tr:has(.kikia-order-total) > th,
body.kikia-storefront .woocommerce-table--order-details tfoot tr:has(.kikia-order-total) > td { font-size:18px; font-weight:700; }
body.kikia-storefront .kikia-order-total { font-size:18px; font-weight:700; }
body.kikia-storefront .woocommerce-customer-details h2 { font-size:20px; line-height:1.3; }
/* Keep Woo Blocks' empty/focus/filled/error states while giving the floating
   label its own line inside the field (Astra COM-M01). */
body.kikia-storefront.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input { min-height:60px; height:60px; padding:16px 12px; font-size:16px; border-radius:6px; }
body.kikia-storefront.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input label { top:30px; left:12px; font-size:16px; line-height:22px; transform:translateY(-50%); }
body.kikia-storefront.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.is-active input,
body.kikia-storefront.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input:focus { padding:26px 12px 8px; }
body.kikia-storefront.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.is-active label,
body.kikia-storefront.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input:focus + label { top:6px; font-size:12px; line-height:16px; transform:none; }
body.kikia-storefront.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.has-error input { border-color:var(--kk-error, #b84031); }
body.error404 .kikia-page-action { margin-top:16px; }
/* Apply the same reading measure to the short native support pages. */
body.kikia-readable-help .entry-content { max-width:75ch; font-size:16px; line-height:1.65; }
body.kikia-readable-help .entry-content > p { font-size:16px; line-height:1.65; }
.kikia-cart--empty { grid-template-columns:minmax(0,1fr); }
.kikia-cart--empty .kikia-cart__bulk,
.kikia-cart--empty .kikia-cart__table-head,
.kikia-cart--empty .kikia-cart__summary { display:none; }
.kikia-cart--empty .kikia-cart__start { min-height:44px; background:var(--kk-blue-strong); color:#fff; border-radius:6px; }
body.kikia-storefront .woocommerce .woocommerce-orders-table { font-size:14px; line-height:1.5; }
body.kikia-storefront .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a { font-size:14px; font-weight:700; }
body.kikia-storefront .woocommerce-orders-table .button { font-size:14px; min-height:44px; border-radius:6px; }
@media (max-width:767px) {
  .kikia-support-hub--compact .kikia-support-hub__cards { flex-wrap:wrap; }
  body.woocommerce-order-received ul.woocommerce-order-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ---------- Brand hall (customer feedback 2026-10-26 ④) ----------
   Cheonyu-style brand hall: a large product-photo banner for the biggest brand,
   a round character-icon row, then one photo card per brand. All photos are the
   brand's own product images already listed in the catalog. */
.kikia-brand-directory__hero.has-photo { max-height: none; overflow: visible; grid-template-columns: minmax(0, 3fr) minmax(220px, 1fr); }
.kikia-brand-directory__hero.has-photo .kikia-brand-directory__feature,
.kikia-brand-directory__hero.has-photo .kikia-brand-directory__overview { height: auto; min-height: 340px !important; }
.kikia-brand-directory__hero.has-photo .kikia-brand-directory__feature {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); align-items: center; gap: 24px;
  padding: 20px; background: #fff;
}
.kikia-brand-directory__feature-photos {
  display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 10px;
  height: 300px; min-width: 0; order: 2;
}
.kikia-brand-directory__hero.has-photo .kikia-brand-directory__feature-image {
  position: static; grid-row: 1 / span 2; width: 100%; height: 100% !important; object-fit: cover; border-radius: 10px; background: #fff7fb;
}
.kikia-brand-directory__feature-thumb { width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 10px; background: #fff7fb; }
.kikia-brand-directory__hero.has-photo .kikia-brand-directory__feature-copy { order: 1; max-width: none; padding: 8px 4px 8px 12px; background: none; }
.kikia-brand-directory__feature-cta {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; min-height: 44px; padding: 0 18px;
  border-radius: 999px; background: var(--kk-blue-strong, #2f6ac4); color: #fff; font-weight: 700; text-decoration: none;
}
.kikia-brand-directory__feature-cta span { font-weight: 500; opacity: .9; font-size: 13px; }
.kikia-brand-directory__feature-cta:hover,
.kikia-brand-directory__feature-cta:focus-visible { background: var(--kk-heading, #3d2b45); color: #fff; }

.kikia-brand-directory .kikia-brand-directory__quick { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); }
.kikia-brand-directory .kikia-brand-directory__quick a { min-height: 0; padding: 6px 4px; gap: 8px; background: none; font-size: 13px; font-weight: 600; }
.kikia-brand-directory__quick-art {
  display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%;
  background: #fff7fb; border: 1px solid var(--kk-rule); overflow: hidden;
}
.kikia-brand-directory .kikia-brand-directory__quick-art img { width: 60px; height: 60px; object-fit: contain; }
.kikia-brand-directory__quick-art span { font-size: 24px; font-weight: 700; color: var(--kk-blue-strong, #2f6ac4); }
.kikia-brand-directory__quick a:hover .kikia-brand-directory__quick-art { border-color: var(--kk-pink, #ff6fa5); }

.kikia-brand-showcase { margin: 8px 0 36px; }
.kikia-brand-showcase__grid { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.kikia-brand-showcase__card a {
  display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--kk-rule); border-radius: 12px;
  background: #fff; color: var(--kk-heading); text-decoration: none;
}
.kikia-brand-showcase__card a:hover,
.kikia-brand-showcase__card a:focus-visible { border-color: var(--kk-pink, #ff6fa5); box-shadow: 0 8px 22px rgba(61, 43, 69, .08); }
.kikia-brand-showcase__photos { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 4px; aspect-ratio: 16 / 9; background: #fff7fb; }
.kikia-brand-showcase__photos img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.kikia-brand-showcase__photos img:first-child { grid-row: 1 / span 2; }
.kikia-brand-showcase__photos.count-1,
.kikia-brand-showcase__photos.count-0 { grid-template-columns: 1fr; }
.kikia-brand-showcase__no-photo { grid-row: 1 / span 2; display: flex; align-items: center; justify-content: center; color: #6b6470; font-weight: 700; }
.kikia-brand-showcase__photos.count-2 img:nth-child(2) { grid-row: 1 / span 2; }
.kikia-brand-showcase__body { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 14px 16px 16px; }
.kikia-brand-showcase__art {
  grid-row: 1 / span 2; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%;
  background: #fff7fb; border: 1px solid var(--kk-rule); overflow: hidden;
}
.kikia-brand-showcase__art img { width: 42px; height: 42px; object-fit: contain; }
.kikia-brand-showcase__art span { font-weight: 700; color: var(--kk-blue-strong, #2f6ac4); }
.kikia-brand-showcase__name { font-size: 17px; font-weight: 700; line-height: 1.25; }
.kikia-brand-showcase__stats { display: flex; flex-wrap: wrap; gap: 4px 12px; color: #5d5463; font-size: 13px; }
.kikia-brand-showcase__stats span + span::before { content: "·"; margin-right: 12px; color: var(--kk-rule); }
.kikia-brand-showcase__body .kikia-brand-az__pending { position: absolute; top: 14px; right: 14px; }

@media (max-width: 1100px) {
  .kikia-brand-directory__hero.has-photo { grid-template-columns: 1fr; }
  .kikia-brand-directory__hero.has-photo .kikia-brand-directory__overview { min-height: 0 !important; }
  .kikia-brand-showcase__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .kikia-brand-showcase__grid { grid-template-columns: 1fr; gap: 12px; }
  .kikia-brand-directory__hero.has-photo .kikia-brand-directory__feature { display: block; min-height: 0 !important; padding: 0; }
  /* Mobile keeps the short page heading; the photo cards below carry the images. */
  .kikia-brand-directory__feature-photos { display: none; }
  .kikia-brand-directory__hero.has-photo .kikia-brand-directory__feature-copy { padding: 0; }
  .kikia-brand-directory__feature-cta { margin: 0 0 20px; }
}
/* A single photo must keep the same 16:9 frame as the three-photo cards. */
.kikia-brand-showcase__photos { overflow: hidden; }
.kikia-brand-showcase__photos.count-1 { grid-template-rows: 1fr; }
.kikia-brand-showcase__photos.count-1 img:first-child { grid-row: 1; aspect-ratio: 16 / 9; height: auto; }
