/* KIKIA product card — density matches Cheonyu 5-col grid; palette is KIKIA. */

/* Product loop grid (shop + shortcodes) */
body.kikia-storefront ul.products,
body.kikia-storefront .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px 8px;
  margin: 0 0 1.5em !important;
  padding: 0 !important;
  list-style: none !important;
}
body.kikia-storefront ul.products::before,
body.kikia-storefront ul.products::after {
  display: none !important;
  content: none !important;
}
body.kikia-storefront ul.products li.product,
body.kikia-storefront .woocommerce ul.products li.product {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  padding: 0 !important;
}

@media (max-width: 1100px) {
  body.kikia-storefront ul.products,
  body.kikia-storefront .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  body.kikia-storefront ul.products,
  body.kikia-storefront .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 6px;
  }
}

/* Bulk toolbar */
.kikia-bulk-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  flex-wrap: wrap;
}
/* Cheonyu keeps its "Check item add to cart" button visible even with nothing
   selected; it is simply disabled. Mobile retail still hides it (see below). */
.kikia-bulk-bar__btn {
  border: 0;
  border-radius: 999px;
  background: var(--kk-pink, #ff6fa5);
  color: #fff;
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 12px;
  font-weight: 700;
  padding: 8px 16px;
  cursor: pointer;
  line-height: 1.2;
}
.kikia-bulk-bar__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.kikia-bulk-bar__btn:not(:disabled):hover {
  filter: brightness(0.96);
}
.kikia-bulk-bar__hint {
  font-size: 12px;
  color: var(--kk-muted, #8a7a90);
}

/* Card shell */
.kikia-card {
  display: flex;
  flex-direction: column;
  background: var(--kk-paper, #fff);
  border: 1px solid var(--kk-rule, #f0d9e6);
  border-radius: 4px;
  overflow: hidden;
  font-size: 12px;
  color: var(--kk-ink, #2e2a33);
  position: relative;
}
@media (min-width:768px) {
  /* Explicit width: WebKit sizes an aspect-ratio flex item from its pre-margin width (200x232 at 1440). */
  .kikia-card__media { margin:16px 16px 0; width:calc(100% - 32px); border-radius:8px; }
}
.kikia-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  background: #faf6f8;
  overflow: hidden;
}
.kikia-card__media-link {
  display: block;
  width: 100%;
  height: 100%;
}
.kikia-card__img,
.kikia-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  margin: 0 !important;
}
.kikia-card__soldout {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.55);
  color: #3d2b45;
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.06em;
  transform: rotate(-18deg);
  pointer-events: none;
  text-shadow: 0 0 8px #fff;
}

.kikia-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 8px 10px;
  flex: 1 1 auto;
}
.kikia-card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-decoration: none;
  color: var(--kk-heading, #3d2b45);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  min-height: 2.7em;
}
.kikia-card__title:hover {
  color: var(--kk-pink, #ff6fa5);
}

.kikia-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.kikia-card__badge {
  display: inline-flex;
  align-items: center;
  height: 18px;
  padding: 0 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
.kikia-card__badge--new {
  background: #d8f5f2;
  color: #1f7a72;
}
.kikia-card__badge--option {
  background: #ebe4ff;
  color: #5a3fd4;
}
.kikia-card__badge--featured,
.kikia-card__badge--exclusive {
  background: #ffe3ef;
  color: #c43d76;
}

.kikia-card__packs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--kk-muted, #8a7a90);
  font-size: 11px;
}
.kikia-card__pack {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.kikia-card__pack .kikia-icon {
  color: #c4a0b0;
}

.kikia-card__price {
  margin-top: 2px;
}
.kikia-card__retail {
  font-size: 16px;
  font-weight: 700;
  color: var(--kk-heading, #3d2b45);
  line-height: 1.2;
}
.kikia-card__retail .woocommerce-Price-amount {
  font-weight: 700;
}
.kikia-card__wholesale {
  margin-top: 2px;
  font-size: 12px;
  font-weight: 700;
  color: var(--kk-lilac, #7c5cff);
  line-height: 1.3;
}
.kikia-card__wholesale-hint {
  margin-top: 2px;
  font-size: 11px;
  color: var(--kk-muted, #8a7a90);
  line-height: 1.35;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: baseline;
}
.kikia-card__apply {
  color: var(--kk-pink, #ff6fa5);
  font-weight: 700;
  text-decoration: none;
}
.kikia-card__apply:hover {
  text-decoration: underline;
}

.kikia-card__actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
}
.kikia-card__select {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  flex: 0 0 18px;
  height: 44px;
  margin: 0;
  cursor: pointer;
}
.kikia-card__check {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--kk-pink, #ff6fa5);
  cursor: pointer;
}

.kikia-card__stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--kk-rule, #f0d9e6);
  border-radius: 6px;
  overflow: hidden;
  height: 44px;
  background: #fff;
}
.kikia-card__step-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  flex: 0 0 32px;
  height: 44px;
  border: 0;
  background: transparent;
  color: var(--kk-heading, #3d2b45);
  cursor: pointer;
  padding: 0;
}
.kikia-card__step-btn:hover:not(:disabled) {
  background: #fff0f6;
  color: var(--kk-pink, #ff6fa5);
}
.kikia-card__step-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.kikia-card__qty {
  width: 64px;
  flex: 0 0 64px;
  height: 44px;
  border: 0;
  border-left: 1px solid var(--kk-rule, #f0d9e6);
  border-right: 1px solid var(--kk-rule, #f0d9e6);
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--kk-heading, #3d2b45);
  background: #fff;
  -moz-appearance: textfield;
  appearance: textfield;
  padding: 0;
}
.kikia-card__qty::-webkit-outer-spin-button,
.kikia-card__qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.kikia-card__cart-btn,
.kikia-card__wish-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--kk-rule, #f0d9e6);
  border-radius: 6px;
  background: #fff;
  color: var(--kk-heading, #3d2b45);
  cursor: pointer;
  padding: 0;
}
.kikia-card__cart-btn {
  flex: 1 1 auto;
  gap: 6px;
  padding: 0 12px;
  background: var(--kk-pink, #ff6fa5);
  border-color: var(--kk-pink, #ff6fa5);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}
.kikia-card__cart-btn:hover:not(:disabled) {
  background: var(--kk-pink, #ff6fa5);
  border-color: var(--kk-pink, #ff6fa5);
  color: #fff;
}
.kikia-card__cart-btn:disabled,
.kikia-card__wish-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.kikia-card__wish-btn.is-active {
  color: var(--kk-pink, #ff6fa5);
  border-color: #ffc2d9;
  background: #fff0f6;
}
.woocommerce button.kikia-card__wish-btn:hover,
.woocommerce button.kikia-card__wish-btn:focus,
.kikia-card__wish-btn:hover,
.kikia-card__wish-btn:focus {
  background: #fff0f6 !important;
  border-color: var(--kk-pink, #ff6fa5);
  color: var(--kk-pink, #ff6fa5);
}

.kikia-card__cart-btn svg,
.kikia-card__wish-btn svg {
  width: 20px;
  height: 20px;
}

body.kikia-is-wholesale .kikia-card__cart-btn {
  flex: 0 0 44px;
  padding: 0;
}
body.kikia-is-wholesale .kikia-card__cart-btn span { display: none; }
body.kikia-is-wholesale .kikia-card__select {
  width: 44px;
  min-width: 44px;
  height: 44px;
  flex: 0 0 44px;
}

@media (min-width: 768px) {
  .kikia-card__actions { gap: 4px; }
  body:not(.kikia-is-wholesale) .kikia-card__cart-btn {
    flex: 0 0 44px;
    padding: 0;
  }
  body:not(.kikia-is-wholesale) .kikia-card__cart-btn span { display: none; }
}

@media (max-width: 767px) {
  .kikia-card { font-size: 13px; }
  .kikia-card__body { padding: 10px; }
  .kikia-card__title { font-size: 14px; }
  .kikia-card__retail { font-size: 16px; }
  body:not(.kikia-is-wholesale) .kikia-bulk-bar,
  body:not(.kikia-is-wholesale) .kikia-card__select,
  body:not(.kikia-is-wholesale) .kikia-card__stepper { display: none; }
  body:not(.kikia-is-wholesale) .kikia-card__cart-btn { white-space: nowrap; padding-inline: 8px; }
  body:not(.kikia-is-wholesale) .kikia-card__cart-btn span { display: inline; }
  body:not(.kikia-is-wholesale) .kikia-card__cart-btn svg { display: none; }
  body.kikia-is-wholesale .kikia-card__actions { flex-wrap: wrap; }
  body.kikia-is-wholesale .kikia-card__select,
  body.kikia-is-wholesale .kikia-card__stepper,
  body.kikia-is-wholesale .kikia-card__step-btn,
  body.kikia-is-wholesale .kikia-card__qty { min-height: 44px; }
  body.kikia-is-wholesale .kikia-card__stepper { height: 44px; }
  body.kikia-is-wholesale .kikia-card__step-btn { width: 44px; height: 44px; flex-basis: 44px; }
  body.kikia-is-wholesale .kikia-card__qty { height: 44px; }
}

.kikia-card.is-adding {
  opacity: 0.72;
  pointer-events: none;
}

.kikia-mobile-bulk, .kikia-mobile-bulk-feedback { display:none; }
@media (max-width:767px) {
  .kikia-mobile-bulk:not([hidden]) { position:fixed; z-index:100; left:0; right:0; bottom:var(--kk-bottom-tabs-h, 64px); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px 16px; background:#fff; border-top:1px solid var(--kk-rule); }
  .kikia-mobile-bulk__count { font-size:13px; line-height:1.5; color:var(--kk-heading); }
  .kikia-mobile-bulk__button { min-height:44px; max-width:200px; padding:8px 12px; border:0; border-radius:6px; background:var(--kk-blue-strong, #2f6ac4); color:#fff; font-size:14px; line-height:1.5; font-weight:700; cursor:pointer; }
  .kikia-mobile-bulk__button:disabled { opacity:.6; cursor:wait; }
  .kikia-mobile-bulk__button:focus-visible { outline:2px solid var(--kk-heading); outline-offset:2px; }
  .kikia-mobile-bulk__button:active { filter:brightness(.9); }
  .kikia-mobile-bulk__error { grid-column:1/-1; margin:0; font-size:14px; line-height:1.5; color:var(--kk-error, #b84031); }
  .kikia-mobile-bulk-feedback:not([hidden]) { position:fixed; z-index:100; left:0; right:0; bottom:var(--kk-bottom-tabs-h, 64px); display:block; padding:12px 16px; margin:0; border-top:1px solid var(--kk-rule); background:#fff; font-size:14px; line-height:1.5; color:var(--kk-heading); }
  body.kikia-mobile-bulk-active #content { padding-bottom:var(--kk-mobile-bulk-h, 72px); }
  body.kikia-mobile-bulk-active .kikia-pd-buy__btns { display:none; }
  body.kikia-mobile-bulk-active .kikia-bulk-bar:not(.kikia-mobile-bulk) { display:none; }
}

/* Hide residual Woo loop chrome if any parent still injects */
.kikia-card .button.product_type_simple,
.kikia-card .added_to_cart,
.kikia-card .onsale {
  display: none !important;
}

/* KR-21: larger K-Pop artwork, using full originals without square thumbnail crops. */
.kikia-card--kpop .kikia-card__media { background: var(--kk-paper, #fff); }
.kikia-card--kpop .kikia-card__img { object-fit: contain; }
@media (min-width: 1101px) {
  body.kikia-storefront.tax-product_cat.term-k-pop ul.products,
  body.kikia-storefront.tax-product_cat.term-k-pop .woocommerce ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .kikia-card--kpop .kikia-card__media { margin: 8px 8px 0; width: calc(100% - 16px); }
}
