/* KIKIA product detail — Cheonyu density, KIKIA pastel (§6). */

.kikia-pd-wrap {
  max-width: var(--kk-shell-max, 1240px);
  margin: 0 auto;
  padding: 12px 16px 40px;
}

.kikia-pd-bc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  padding: 8px 0 14px;
  border-bottom: 1px solid var(--kk-rule, #f0d9e6);
  margin-bottom: 18px;
  font-size: 12px;
  color: var(--kk-muted, #8a7a90);
}
.kikia-pd-bc__home {
  color: var(--kk-ink, #2e2a33);
  text-decoration: none;
  font-weight: 600;
}
.kikia-pd-bc__home:hover {
  color: var(--kk-pink, #ff6fa5);
}
.kikia-pd-bc__link {
  color: var(--kk-ink, #2e2a33);
  font-weight: 600;
  text-decoration: none;
}
.kikia-pd-bc__link:hover { color: var(--kk-pink, #ff6fa5); }
.kikia-pd-bc__sep {
  color: #c9b3c0;
}
.kikia-pd-bc__field {
  margin: 0;
}
.kikia-pd-bc__select {
  appearance: none;
  -webkit-appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a7a90' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;
  border: 1px solid var(--kk-rule, #f0d9e6);
  border-radius: 6px;
  padding: 5px 28px 5px 10px;
  font: inherit;
  color: var(--kk-ink, #2e2a33);
  min-width: 120px;
  max-width: 200px;
  cursor: pointer;
}
.kikia-pd-bc__line {
  margin-left: auto;
  display: flex;
  align-items: center;
  max-height: 40px;
}
.kikia-pd-bc__line img {
  display: block;
  max-height: 40px;
  width: auto;
  object-fit: contain;
}

.kikia-pd-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 28px 36px;
  align-items: start;
}

.kikia-pd-gallery__stage {
  background: #fff;
  border: 1px solid var(--kk-rule, #f0d9e6);
  border-radius: 10px;
  /* Product photos are not square; a 1:1 frame with `contain` left white bands
     above and below every 4:3 image (seen 2026-10-08). Let the frame follow
     the artwork instead. */
  aspect-ratio: auto;
  min-height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.kikia-pd-gallery__stage--empty {
  color: var(--kk-muted, #8a7a90);
  font-size: 13px;
}
.kikia-pd-gallery__main {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}
.kikia-pd-gallery__thumbs {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.kikia-pd-gallery__thumb {
  border: 1px solid var(--kk-rule, #f0d9e6);
  border-radius: 6px;
  padding: 0;
  background: #fff;
  width: 64px;
  height: 64px;
  overflow: hidden;
  cursor: pointer;
  line-height: 0;
}
.kikia-pd-gallery__thumb.is-active {
  border-color: var(--kk-pink, #ff6fa5);
  box-shadow: 0 0 0 1px var(--kk-pink, #ff6fa5);
}
.kikia-pd-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kikia-pd-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 10px;
  color: var(--kk-heading, #3d2b45);
}
.kikia-pd-stockdot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}
.kikia-pd-stockdot.is-in {
  background: #3ecf6a;
  box-shadow: 0 0 0 2px rgba(62, 207, 106, 0.2);
}
.kikia-pd-stockdot.is-out {
  background: #b5aab8;
}

.kikia-pd-ids {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0 0 14px;
  font-size: 12px;
  color: var(--kk-muted, #8a7a90);
}
.kikia-pd-id {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.kikia-pd-id .kikia-icon {
  color: #c4a0b0;
}
.kikia-pd-id__label {
  font-weight: 500;
}
.kikia-pd-id__value {
  color: var(--kk-ink, #2e2a33);
  font-weight: 700;
  font-size: 12px;
}
.kikia-pd-tip {
  position: relative;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #e0c8d6;
  background: #fff;
  color: var(--kk-muted, #8a7a90);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  padding: 0;
  cursor: help;
}
.kikia-pd-tip::before {
  content: "";
  position: absolute;
  inset: -6px;
}

.kikia-pd-reviews {
  margin-top: 28px;
  border: 1px solid var(--kk-rule, #f0d9e6);
  border-radius: 12px;
  background: #fff;
  padding: 0 16px;
}
.kikia-pd-reviews > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  cursor: pointer;
  color: var(--kk-heading, #3d2b45);
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-weight: 700;
}
.kikia-pd-reviews[open] > summary { border-bottom: 1px solid var(--kk-rule, #f0d9e6); }
.kikia-file-picker {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 8px;
  background: #fff0f6;
  color: var(--kk-heading, #3d2b45);
  font-weight: 700;
  cursor: pointer;
}
.kikia-file-picker input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.kikia-pd-tip__bubble {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  z-index: 5;
  min-width: 180px;
  max-width: 240px;
  padding: 8px 10px;
  background: #3d2b45;
  color: #fff;
  border-radius: 8px;
  font-size: 11px;
  line-height: 1.4;
  box-shadow: 0 6px 16px rgba(61, 43, 69, 0.18);
}
.kikia-pd-tip__bubble:not([hidden]) {
  display: block;
}

.kikia-pd-price {
  margin: 0 0 14px;
  padding: 12px 0;
  border-top: 1px solid var(--kk-rule, #f0d9e6);
  border-bottom: 1px solid var(--kk-rule, #f0d9e6);
}
.kikia-pd-specs { margin:0 0 14px; padding:12px 0; border-top:1px solid var(--kk-rule); border-bottom:1px solid var(--kk-rule); }
.kikia-pd-specs div { display:grid; grid-template-columns:minmax(140px,1fr) 1fr; gap:16px; padding:4px 0; font-size:14px; }
.kikia-pd-specs dt { color:var(--kk-muted); }
.kikia-pd-specs dd { margin:0; color:var(--kk-heading); }
.kikia-pd-specs + .kikia-pd-price { border-top:0; padding-top:0; }
.kikia-pd-summary-related { margin-top:20px; border:1px solid var(--kk-rule); border-radius:8px; }
.kikia-pd-summary-related h2 { margin:0; padding:12px 16px; border-bottom:1px solid var(--kk-rule); font-size:16px; }
.kikia-pd-summary-related a { display:grid; grid-template-columns:72px minmax(0,1fr); gap:14px; align-items:center; padding:12px 16px; color:var(--kk-heading); text-decoration:none; }
.kikia-pd-summary-related a + a { border-top:1px solid var(--kk-rule); }
.kikia-pd-summary-related img { width:72px; height:72px; object-fit:cover; border-radius:6px; }
.kikia-pd-summary-related strong { display:block; font-size:14px; line-height:1.35; }
.kikia-pd-summary-related small { display:block; margin-top:5px; color:var(--kk-muted); }
@media(max-width:767px) { .kikia-pd-summary-related { display:none; } }
.kikia-pd-price__retail {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: 15px;
}
.kikia-pd-price__label {
  color: var(--kk-muted, #8a7a90);
  font-size: 12px;
  min-width: 56px;
}
.kikia-pd-price__amount {
  font-weight: 700;
  font-size: 20px;
  color: var(--kk-heading, #3d2b45);
}
.kikia-pd-price__wholesale {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 10px;
  margin-top: 6px;
  color: var(--kk-lilac, #7c5cff);
  font-weight: 700;
}
.kikia-pd-price__wholesale .kikia-pd-price__amount {
  color: var(--kk-lilac, #7c5cff);
  font-size: 18px;
}
.kikia-pd-price__save {
  font-size: 13px;
}
/* The approved buyer's payable price leads on both screen sizes. */
body.kikia-is-wholesale .kikia-pd-price { display:flex; flex-direction:column; gap:8px; }
body.kikia-is-wholesale .kikia-pd-price__wholesale { margin-top:0; color:var(--kk-heading); }
body.kikia-is-wholesale .kikia-pd-price__wholesale .kikia-pd-price__amount { font-size:22px; color:var(--kk-heading); }
body.kikia-is-wholesale .kikia-pd-price:has(.kikia-pd-price__wholesale) .kikia-pd-price__retail .kikia-pd-price__amount { font-size:14px; font-weight:400; color:var(--kk-muted); }
.kikia-pd-price__hint {
  margin-top: 6px;
  font-size: 12px;
  color: var(--kk-muted, #8a7a90);
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: baseline;
}
.kikia-pd-price__hint a {
  color: var(--kk-pink, #ff6fa5);
  font-weight: 700;
  text-decoration: none;
}
.kikia-pd-price__hint a:hover {
  text-decoration: underline;
}

.kikia-pd-alert {
  margin: 0 0 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.kikia-pd-alert__form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  width: 100%;
}
.kikia-pd-alert__input {
  flex: 1 1 180px;
  min-width: 0;
  border: 1px solid var(--kk-rule, #f0d9e6);
  border-radius: 8px;
  padding: 8px 12px;
  font: inherit;
}
.kikia-pd-alert__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--kk-pink, #ff6fa5);
  background: #fff;
  color: var(--kk-pink, #ff6fa5);
  border-radius: 999px;
  padding: 8px 14px;
  font: inherit;
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
}
.kikia-pd-alert__btn:disabled,
.kikia-pd-alert.is-disabled .kikia-pd-alert__btn {
  opacity: 0.45;
  cursor: not-allowed;
  border-color: #d8c4d0;
  color: var(--kk-muted, #8a7a90);
}
.kikia-pd-alert__note,
.kikia-pd-alert__msg {
  font-size: 11px;
  color: var(--kk-muted, #8a7a90);
  margin: 0;
}
.kikia-pd-alert__msg.is-ok {
  color: #2a9d5c;
}
.kikia-pd-alert__msg.is-err {
  color: #c0392b;
}

.kikia-pd-buy {
  margin: 0 0 12px;
}
.kikia-pd-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--kk-rule, #f0d9e6);
  border-radius: 8px;
  overflow: hidden;
  height: 40px;
  background: #fff;
  margin-bottom: 10px;
}
.kikia-pd-stepper__btn {
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--kk-ink, #2e2a33);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.kikia-pd-stepper__btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.kikia-pd-stepper__qty {
  width: 56px;
  height: 40px;
  border: 0;
  border-left: 1px solid var(--kk-rule, #f0d9e6);
  border-right: 1px solid var(--kk-rule, #f0d9e6);
  text-align: center;
  font: inherit;
  font-weight: 700;
  -moz-appearance: textfield;
}
.kikia-pd-stepper__qty::-webkit-outer-spin-button,
.kikia-pd-stepper__qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.kikia-pd-stepper__unit {
  padding: 0 12px;
  border-left: 1px solid var(--kk-rule, #f0d9e6);
  color: var(--kk-muted, #8a7a90);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.kikia-pd-buy__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.kikia-pd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 8px;
  font: inherit;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  text-decoration: none;
  border: 1px solid transparent;
  padding: 10px 14px;
}
.kikia-pd-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.kikia-pd-btn--primary {
  background: var(--kk-pink, #ff6fa5);
  color: #fff;
  border-color: var(--kk-pink, #ff6fa5);
}
.kikia-pd-btn--primary:hover:not(:disabled) {
  filter: brightness(0.96);
}
.kikia-pd-btn--outline {
  background: #fff;
  color: var(--kk-heading, #3d2b45);
  border-color: #d8c4d0;
}
.kikia-pd-btn--outline:hover:not(:disabled) {
  border-color: var(--kk-pink, #ff6fa5);
  color: var(--kk-pink, #ff6fa5);
}

.kikia-pd-download {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  padding: 10px 14px;
  width: 100%;
  box-sizing: border-box;
  justify-content: center;
  border: 1px solid #d8c4d0;
  border-radius: 8px;
  color: var(--kk-pink, #ff6fa5);
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
  background: #fff;
}
.kikia-pd-download:hover {
  border-color: var(--kk-pink, #ff6fa5);
  background: #fff7fb;
}

.kikia-pd-tabs {
  margin-top: 32px;
  border-top: 1px solid var(--kk-rule, #f0d9e6);
  padding-top: 8px;
}
.kikia-pd-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid var(--kk-rule, #f0d9e6);
}
.kikia-pd-tabs__tab {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 12px 16px;
  font: inherit;
  font-weight: 700;
  font-size: 13px;
  color: var(--kk-muted, #8a7a90);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.kikia-pd-tabs__tab.is-active {
  color: var(--kk-pink, #ff6fa5);
  border-bottom-color: var(--kk-pink, #ff6fa5);
}
.kikia-pd-tabs__panel {
  padding: 16px 0 8px;
}
.kikia-pd-tabs__panel[hidden] {
  display: none !important;
}
.kikia-pd-tabs__body {
  font-size: 13px;
  line-height: 1.55;
  color: var(--kk-ink, #2e2a33);
}
.kikia-pd-tabs__body h3,
.kikia-pd-tab__subhead {
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 15px;
  margin: 0.75em 0 0.4em;
}
.kikia-pd-line-label {
  margin: 0 0 12px;
  font-weight: 700;
  color: var(--kk-heading, #3d2b45);
}
.kikia-pd-line-grid,
.kikia-pd-related__rail {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.kikia-pd-related {
  margin-top: 28px;
  padding-top: 8px;
}
.kikia-pd-related__head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 12px;
}
.kikia-pd-related__title {
  font-family: var(--kk-font-title, "Quicksand", system-ui, sans-serif);
  font-size: 18px;
  margin: 0;
}
.kikia-pd-related__sub {
  font-size: 12px;
  color: var(--kk-muted, #8a7a90);
}

/* Hide Astra/Woo leftovers that sneak in around our template */
.kikia-pd .woocommerce-product-gallery,
.kikia-pd .summary.entry-summary:not(.kikia-pd-summary) {
  display: none !important;
}

@media (max-width: 900px) {
  .kikia-pd-main {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .kikia-pd-bc__line {
    margin-left: 0;
    width: 100%;
    justify-content: flex-end;
  }
  .kikia-pd-line-grid,
  .kikia-pd-related__rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .kikia-pd-gallery__stage { aspect-ratio: auto; min-height: 0; max-height: 340px; }
  .kikia-pd-gallery__main { max-height: 340px; }
  .kikia-pd-buy__btns {
    grid-template-columns: 1fr;
  }
  .kikia-pd-line-grid,
  .kikia-pd-related__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .kikia-pd-title {
    font-size: 18px;
  }
}


/* Customer order tracking block */
.kikia-order-tracking {
  margin-top: 18px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #ffd9e8;
  border-radius: 14px;
}
.kikia-order-tracking h2 {
  margin: 0 0 6px;
  font-size: 16px;
  color: #4a3b46;
}

.kikia-pd-mobile-intro { display:none; }
@media (max-width:767px) {
  .kikia-pd-mobile-intro { display:block; order:-1; margin:0 0 12px; }
  .kikia-pd-mobile-intro__brand { color:var(--kk-pink); font-size:12px; font-weight:700; }
  .kikia-pd-mobile-intro h1 { margin:4px 0 6px; font-size:20px; line-height:1.2; }
  .kikia-pd-mobile-intro p { margin:0; font-size:12px; color:var(--kk-muted); }
  .kikia-pd-summary > .kikia-pd-title { display:none; }
  .kikia-pd-bc { margin-bottom:10px; }
  .kikia-pd-wrap { padding-bottom:145px; }
  .kikia-pd-buy__btns { position:fixed; left:0; right:0; bottom:var(--kk-bottom-tabs-h,58px); z-index:999; display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0; padding:8px 12px; background:#fff; border-top:1px solid var(--kk-rule); }
}
