/* ==========================================================================
   Holzkern replica – base styles
   ========================================================================== */

:root {
  --main-font: 'Be Vietnam Pro', system-ui, sans-serif;
  --text: #171614;
  --muted: #616161;
  --accent: #515345;
  --announce: #515345;
  --card-bg: #faf8f5;
  --line: #e6e3dd;
  --sale: #f44f44;
  --container: 1440px;
  --gutter: 24px;
}

* { box-sizing: border-box; }

html { font-size: 62.5%; }

body {
  margin: 0;
  color: var(--text);
  background: #fff;
  font-family: var(--main-font);
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4 { font-weight: 500; margin: 0; line-height: 1.15; letter-spacing: -0.01em; }

.hk-main { display: block; }

/* ---------------------------------------------------------------- announcement */
.hk-announcement {
  position: relative;
  background: var(--announce);
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
}
.hk-announcement__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9rem;
  padding: 0.9rem 4rem;
}
.hk-announcement__item { display: flex; align-items: center; gap: 0.6rem; white-space: nowrap; }
.hk-stars { color: #f5b942; letter-spacing: 0.15em; }
.hk-announcement__close {
  position: absolute; right: 1.6rem; top: 50%; transform: translateY(-50%);
  background: none; border: 0; color: #fff; font-size: 2rem; cursor: pointer; line-height: 1;
}
.hk-announcement__icon {
  width: 14px; height: 14px; border: 1px solid currentColor; border-radius: 2px; display: inline-block;
}

/* ---------------------------------------------------------------------- header */
.hk-header { border-bottom: 1px solid var(--line); background: #fff; }
.hk-header__top {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2rem;
  max-width: var(--container);
  margin: 0 auto;
  padding: 1.6rem var(--gutter);
}
.hk-header__search {
  display: flex; align-items: center; gap: 0.8rem; color: var(--muted);
  max-width: 260px;
}
.hk-header__search input {
  border: 0; outline: 0; font-family: inherit; font-size: 1.3rem; width: 100%;
  background: transparent; color: var(--text);
}
.hk-logo {
  display: inline-flex; align-items: center; gap: 0.8rem;
  font-size: 2.6rem; letter-spacing: 0.32em; font-weight: 400;
}
.hk-logo__mark {
  width: 22px; height: 26px; border-radius: 50% 50% 45% 45%;
  border: 1.5px solid currentColor; position: relative; display: inline-block;
}
.hk-logo__mark::after {
  content: ''; position: absolute; inset: 5px 6px; border: 1px solid currentColor;
  border-radius: 50% 50% 40% 40%; opacity: 0.6;
}
.hk-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 2.4rem; }
.hk-header__link { font-size: 1.2rem; letter-spacing: 0.08em; }
.hk-market { display: flex; align-items: center; gap: 0.5rem; font-size: 1.2rem; letter-spacing: 0.06em; }
.hk-market__flag { font-weight: 500; }
.hk-icon { display: inline-flex; align-items: center; gap: 0.3rem; }
.hk-cart__count { font-size: 1.2rem; }

.hk-nav { border-top: 1px solid var(--line); }
.hk-nav ul {
  display: flex; justify-content: center; gap: 4rem; margin: 0; padding: 1.5rem 0;
  list-style: none;
}
.hk-nav a { font-size: 1.3rem; letter-spacing: 0.12em; }
.hk-nav .is-sale a { color: var(--sale); }
.hk-nav a:hover { opacity: 0.6; }

/* ------------------------------------------------------------------------ hero */
.hk-hero {
  position: relative; height: 55rem; overflow: hidden; color: #fff;
  display: flex; align-items: center; justify-content: center; text-align: center;
}
.hk-hero__media {
  position: absolute; inset: 0; background-size: cover; background-position: center;
}
.hk-hero__media::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.15); }
.hk-hero__content { position: relative; z-index: 2; max-width: 90rem; padding: 0 2rem; }
.hk-hero__eyebrow { font-size: 1.2rem; letter-spacing: 0.16em; margin: 0 0 1.2rem; }
.hk-hero__title { font-size: 4.4rem; font-weight: 500; margin: 0 0 2.4rem; white-space: nowrap; }
.hk-hero__actions { display: flex; gap: 1.2rem; justify-content: center; }
.hk-hero__dots { position: absolute; right: 2.4rem; bottom: 2rem; font-size: 1.2rem; z-index: 2; }

.hk-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 20rem; padding: 1.3rem 2.4rem; border-radius: 2px;
  font-size: 1.4rem; letter-spacing: 0.02em; border: 1px solid transparent;
  transition: opacity 0.15s ease;
}
.hk-btn--light { background: #fff; color: var(--text); }
.hk-btn--dark { background: var(--text); color: #fff; }
.hk-btn:hover { opacity: 0.85; }

/* ----------------------------------------------------------------------- strip */
.hk-strip { background: var(--card-bg); border-bottom: 1px solid var(--line); }
.hk-strip__inner {
  display: flex; justify-content: center; gap: 10rem; padding: 1.8rem var(--gutter);
  font-size: 1.2rem; letter-spacing: 0.08em; text-transform: uppercase;
}

/* --------------------------------------------------------------------- circles */
.hk-circles { padding: 3.2rem 0 1.6rem; }
.hk-circles__row {
  display: flex; gap: 2.4rem; justify-content: center; padding: 0 var(--gutter);
  overflow-x: auto;
}
.hk-circle { display: flex; flex-direction: column; align-items: center; gap: 1rem; min-width: 12rem; }
.hk-circle__media {
  width: 11rem; height: 11rem; border-radius: 50%; background: #2f3226 center/cover;
}
.hk-circle__label { font-size: 1.2rem; letter-spacing: 0.04em; text-align: center; }

/* -------------------------------------------------------------------- products */
.hk-products { padding: 4rem 0; max-width: var(--container); margin: 0 auto; }
.hk-section-head { padding: 0 var(--gutter) 2.4rem; }
.hk-section-title { font-size: 2.6rem; }
.hk-section-sub { margin: 0.6rem 0 0; color: var(--muted); font-size: 1.3rem; }
.hk-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2.4rem; padding: 0 var(--gutter);
}
.hk-card { position: relative; }
.hk-card__media { display: block; position: relative; background: var(--card-bg); overflow: hidden; }
.hk-card__img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.hk-card__img--alt { position: absolute; inset: 0; opacity: 0; transition: opacity 0.2s ease; }
.hk-card:hover .hk-card__img--alt { opacity: 1; }
.hk-card__badge {
  position: absolute; top: 1rem; left: 1rem; z-index: 2;
  background: var(--sale); color: #fff; font-size: 1.1rem; padding: 0.3rem 0.6rem;
  letter-spacing: 0.06em;
}
.hk-card__title { display: block; margin-top: 1.2rem; font-size: 1.3rem; }
.hk-card__price { margin-top: 0.4rem; font-size: 1.3rem; }
.hk-card__price del { color: var(--muted); margin-right: 0.5rem; }
.hk-card__price ins { text-decoration: none; color: var(--sale); }
.hk-card--skeleton .hk-skeleton {
  display: block; aspect-ratio: 1/1; background: var(--card-bg); border: 1px solid var(--line);
}

/* ---------------------------------------------------------------------- story */
.hk-story {
  display: grid; grid-template-columns: 1fr 1fr; align-items: center;
  background: var(--card-bg); margin: 4rem 0;
}
.hk-story__image { min-height: 46rem; background: center/cover; }
.hk-story__content { padding: 5rem 6rem; }
.hk-story__content h2 { font-size: 3rem; margin-bottom: 1.6rem; }
.hk-story__content p { color: var(--muted); margin: 0 0 2rem; }
.hk-link { border-bottom: 1px solid currentColor; padding-bottom: 0.2rem; font-size: 1.3rem; }

/* --------------------------------------------------------------- gallery grid */
.hk-gallery-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem;
  max-width: var(--container); margin: 0 auto 4rem; padding: 0 var(--gutter);
}
.hk-gallery-card { position: relative; display: block; }
.hk-gallery-card__media { display: block; aspect-ratio: 16/10; background: center/cover; }
.hk-gallery-card__body {
  position: absolute; left: 2.4rem; bottom: 2.4rem; color: #fff;
  display: flex; flex-direction: column; gap: 0.4rem;
}
.hk-gallery-card__body strong { font-size: 2rem; font-weight: 500; }
.hk-gallery-card__body span { font-size: 1.2rem; border-bottom: 1px solid currentColor; width: max-content; }

/* -------------------------------------------------------------------- reviews */
.hk-reviews { background: var(--card-bg); padding: 5rem 0; }
.hk-reviews__inner {
  max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter);
  display: grid; grid-template-columns: 26rem 1fr; gap: 4rem;
}
.hk-reviews__eyebrow { font-size: 1.2rem; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 1rem; }
.hk-stars--lg { font-size: 2rem; letter-spacing: 0.2em; }
.hk-reviews__score { font-size: 1.3rem; }
.hk-reviews__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
.hk-review { background: #fff; padding: 2.2rem; border: 1px solid var(--line); }
.hk-review h3 { font-size: 1.5rem; margin: 0.8rem 0; }
.hk-review p { font-size: 1.2rem; color: var(--muted); margin: 0 0 0.6rem; }
.hk-review__author { font-weight: 500; color: var(--text) !important; }
.hk-review__author span { color: var(--muted); font-weight: 300; }

/* ------------------------------------------------------------------- stores */
.hk-store-banner {
  padding: 7rem 0; text-align: center;
  background: linear-gradient(rgba(0,0,0,0.35), rgba(0,0,0,0.35)), url('/wp-content/uploads/holzkern/brand/HP_Title_Image_Bestsellers_Desktop.jpg') center/cover;
  color: #fff;
}
.hk-store-banner__inner { max-width: 64rem; margin: 0 auto; padding: 0 2rem; }
.hk-store-banner h2 { font-size: 3.4rem; margin-bottom: 1.2rem; }
.hk-store-banner p { margin: 0 0 2.2rem; }

/* ----------------------------------------------------------------- newsletter */
.hk-newsletter { background: var(--announce); color: #fff; padding: 5rem 0; }
.hk-newsletter__inner { max-width: 62rem; margin: 0 auto; text-align: center; padding: 0 2rem; }
.hk-newsletter__title { font-size: 2.8rem; margin-bottom: 0.8rem; }
.hk-newsletter__text { font-size: 1.3rem; opacity: 0.85; margin: 0 0 2.2rem; }
.hk-newsletter__form { display: flex; gap: 0.8rem; }
.hk-newsletter__form input {
  flex: 1; padding: 1.3rem 1.6rem; border: 1px solid rgba(255,255,255,0.5);
  background: transparent; color: #fff; font-family: inherit; font-size: 1.3rem; border-radius: 2px;
}
.hk-newsletter__form input::placeholder { color: rgba(255,255,255,0.7); }
.hk-newsletter__form button {
  padding: 1.3rem 2.6rem; border: 0; background: #fff; color: var(--text);
  font-family: inherit; font-size: 1.3rem; cursor: pointer; border-radius: 2px;
}

/* --------------------------------------------------------------------- footer */
.hk-footer { background: #171614; color: #fff; padding: 5rem 0 2.4rem; }
.hk-footer__top {
  max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter) 4rem;
  display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 3rem;
}
.hk-footer__brand .hk-logo__text { font-size: 2.2rem; letter-spacing: 0.28em; }
.hk-footer__claim { font-size: 1.2rem; color: rgba(255,255,255,0.7); margin-top: 1.6rem; }
.hk-footer__col h3 { font-size: 1.2rem; letter-spacing: 0.12em; margin-bottom: 1.4rem; }
.hk-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.hk-footer__col a { font-size: 1.2rem; color: rgba(255,255,255,0.8); }
.hk-footer__col a:hover { color: #fff; }
.hk-footer__bottom {
  max-width: var(--container); margin: 0 auto; padding: 2rem var(--gutter) 0;
  border-top: 1px solid rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  font-size: 1.1rem; color: rgba(255,255,255,0.7);
}
.hk-footer__payments { display: flex; gap: 1rem; flex-wrap: wrap; }
.hk-footer__payments span { border: 1px solid rgba(255,255,255,0.3); padding: 0.2rem 0.6rem; border-radius: 2px; }

/* ------------------------------------------------------------------ responsive */
@media (max-width: 1100px) {
  .hk-announcement__inner { gap: 3rem; font-size: 1.1rem; }
  .hk-nav ul { gap: 2rem; }
  .hk-hero__title { font-size: 3.4rem; }
  .hk-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hk-reviews__inner { grid-template-columns: 1fr; }
  .hk-footer__top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 740px) {
  .hk-announcement__inner { gap: 1.6rem; overflow: hidden; }
  .hk-announcement__item:not(:first-child) { display: none; }
  .hk-header__top { grid-template-columns: auto 1fr auto; padding: 1.2rem 1.6rem; }
  .hk-header__search { display: none; }
  .hk-header__link { display: none; }
  .hk-logo { justify-self: center; font-size: 2rem; }
  .hk-nav ul { gap: 1.4rem; overflow-x: auto; justify-content: flex-start; padding: 1.2rem 1.6rem; }
  .hk-hero { height: 44rem; }
  .hk-hero__title { font-size: 2.6rem; }
  .hk-hero__actions { flex-direction: column; align-items: center; }
  .hk-btn { width: 100%; }
  .hk-strip__inner { gap: 2rem; flex-direction: column; text-align: center; padding: 1.4rem; }
  .hk-circles__row { justify-content: flex-start; }
  .hk-circle__media { width: 9rem; height: 9rem; }
  .hk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
  .hk-story { grid-template-columns: 1fr; }
  .hk-story__image { min-height: 30rem; }
  .hk-story__content { padding: 3rem 2rem; }
  .hk-gallery-grid { grid-template-columns: 1fr; }
  .hk-reviews__cards { grid-template-columns: 1fr; }
  .hk-footer__top { grid-template-columns: 1fr 1fr; }
  .hk-footer__bottom { flex-direction: column; text-align: center; }
}

/* ------------------------------------------------ utilities / collection / pdp */
.hk-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.hk-breadcrumb { font-size: 1.1rem; color: var(--muted); padding: 1.6rem 0; }
.hk-breadcrumb a { text-decoration: underline; }

.hk-collection { padding-bottom: 5rem; }
.hk-collection__head { padding: 1rem 0 2.4rem; border-bottom: 1px solid var(--line); }
.hk-collection__title { font-size: 3.2rem; }
.hk-collection__desc { color: var(--muted); font-size: 1.3rem; margin-top: 1rem; max-width: 70rem; }
.hk-collection__count { font-size: 1.2rem; color: var(--muted); margin: 0.8rem 0 0; }
.hk-collection__toolbar { display: flex; justify-content: space-between; align-items: center; padding: 1.6rem 0; }
.hk-filter-btn { border: 1px solid var(--line); background: #fff; padding: 0.8rem 1.6rem; font-family: inherit; font-size: 1.2rem; cursor: pointer; }
.hk-grid--collection { padding: 0; }
.hk-pagination { padding: 3rem 0; text-align: center; }
.hk-empty { padding: 4rem 0; color: var(--muted); }

.hk-pdp { display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; max-width: var(--container); margin: 0 auto; padding: 3rem var(--gutter) 4rem; }
.hk-pdp__main img { width: 100%; aspect-ratio: 1/1; object-fit: cover; background: var(--card-bg); }
.hk-pdp__thumbs { display: flex; gap: 1rem; margin-top: 1rem; }
.hk-pdp__thumb { border: 1px solid transparent; padding: 0; background: none; cursor: pointer; width: 8rem; }
.hk-pdp__thumb.is-active { border-color: var(--text); }
.hk-pdp__thumb img { aspect-ratio: 1/1; object-fit: cover; }
.hk-pdp__title { font-size: 3.2rem; margin-bottom: 1rem; }
.hk-pdp__price { font-size: 2rem; }
.hk-pdp__price del { color: var(--muted); margin-right: 0.8rem; }
.hk-pdp__price ins { text-decoration: none; color: var(--sale); }
.hk-pdp__tax { font-size: 1.1rem; color: var(--muted); margin: 0.4rem 0 2rem; }
.hk-pdp .single_add_to_cart_button { width: 100%; background: var(--text); color: #fff; padding: 1.5rem; border: 0; font-family: inherit; font-size: 1.4rem; cursor: pointer; }
.hk-pdp .quantity { display: none; }
.hk-pdp .variations { width: 100%; border-collapse: collapse; margin-bottom: 1.6rem; }
.hk-pdp .variations th, .hk-pdp .variations td { text-align: left; padding: 0.6rem 0; font-size: 1.2rem; }
.hk-pdp .variations select { padding: 0.9rem; border: 1px solid var(--line); font-family: inherit; width: 100%; }
.hk-pdp__usp { list-style: none; padding: 2rem 0; margin: 2rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; gap: 0.8rem; font-size: 1.2rem; }
.hk-pdp__usp li::before { content: '✓'; margin-right: 0.8rem; }
.hk-pdp__accordion details { border-bottom: 1px solid var(--line); padding: 1.4rem 0; }
.hk-pdp__accordion summary { cursor: pointer; font-size: 1.3rem; }
.hk-pdp__accordion div { padding-top: 1rem; font-size: 1.2rem; color: var(--muted); }

.hk-page { max-width: 90rem; padding-top: 4rem; padding-bottom: 6rem; }
.hk-page__title { font-size: 3.2rem; margin-bottom: 2rem; }
.hk-page__content { font-size: 1.4rem; color: #333; }
.hk-page__content h2 { font-size: 2.2rem; margin: 2.4rem 0 1rem; }
.hk-404 { text-align: center; }

@media (max-width: 900px) {
  .hk-pdp { grid-template-columns: 1fr; gap: 2.4rem; }
}

/* collection hero + sub-collection circles */
.hk-collection-hero {
  position: relative; min-height: 40rem; display: flex; align-items: flex-end;
  background: #2f3226 center/cover no-repeat; color: #fff; padding: 0 0 4rem;
}
.hk-collection-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.55) 100%); }
.hk-collection-hero__inner { position: relative; z-index: 2; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); width: 100%; }
.hk-collection-hero__title { font-size: 4.2rem; margin: 1rem 0; }
.hk-collection-hero__desc { max-width: 62rem; font-size: 1.4rem; }
.hk-breadcrumb--light { color: rgba(255,255,255,.85); }
.hk-breadcrumb--light a { color: #fff; }

.hk-circles--collection { padding: 2.4rem 0 1rem; background: #fff; }
.hk-circles--collection .hk-circles__row { justify-content: center; }

.hk-collection__toolbar { display: flex; align-items: center; justify-content: space-between; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.hk-collection__meta { font-size: 1.2rem; color: var(--muted); }
.hk-collection__tools { display: flex; align-items: center; gap: 1.2rem; }
.hk-collection__tools select { padding: 0.8rem 1.2rem; border: 1px solid var(--line); font-family: inherit; font-size: 1.2rem; }
.hk-grid--collection { padding-top: 2.4rem; }

/* ------------------------------------------------------------------ PDP v2 */
.hk-pdp-wrap { padding-bottom: 5rem; }
.hk-pdp { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr); gap: 6rem; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter) 4rem; }
.hk-pdp__gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-content: start; }
.hk-pdp__figure { margin: 0; background: var(--card-bg); overflow: hidden; }
.hk-pdp__figure img { width: 100%; height: auto; display: block; }
.hk-pdp__figure--empty { aspect-ratio: 1/1; }
.hk-pdp__info { position: sticky; top: 2rem; align-self: start; }
.hk-pdp__rating { display: flex; align-items: center; gap: 0.8rem; font-size: 1.2rem; color: var(--muted); }
.hk-pdp__rating .hk-stars { color: #f5b942; }
.hk-pdp__wish { margin-left: auto; border: 0; background: none; font-size: 2rem; cursor: pointer; }
.hk-pdp__title { font-size: 3.6rem; margin: 1.2rem 0 0.4rem; }
.hk-pdp__variant { font-size: 1.4rem; margin: 0 0 1.2rem; }
.hk-pdp__short { color: var(--muted); font-size: 1.3rem; }
.hk-pdp__price { font-size: 2rem; margin-top: 1.6rem; }
.hk-pdp__price del { color: var(--muted); margin-right: 0.6rem; }
.hk-pdp__price ins { text-decoration: none; color: var(--sale); }
.hk-pdp__tax { font-size: 1.1rem; color: var(--muted); margin: 0.2rem 0 1.6rem; }
.hk-pdp__notice { background: var(--card-bg); display: flex; gap: 1rem; padding: 1.4rem 1.6rem; font-size: 1.2rem; margin-bottom: 2rem; }
.hk-pdp__notice p { margin: 0; }
.hk-pdp__buy .single_add_to_cart_button,
.hk-pdp__buy button[type=submit] {
  width: 100%; background: var(--accent); color: #fff; border: 0; padding: 1.6rem;
  font-family: inherit; font-size: 1.5rem; cursor: pointer; letter-spacing: 0.02em;
}
.hk-pdp__buy .variations { width: 100%; margin-bottom: 1rem; }
.hk-pdp__buy .variations th, .hk-pdp__buy .variations td { text-align: left; padding: 0.4rem 0; font-size: 1.2rem; }
.hk-pdp__buy .variations select { width: 100%; padding: 1rem; border: 1px solid var(--line); font-family: inherit; }
.hk-pdp__buy .quantity { display: none; }
.hk-pdp__delivery { display: flex; align-items: center; gap: 0.6rem; font-size: 1.3rem; color: #00a651; margin: 1.2rem 0; }
.hk-dot { width: 8px; height: 8px; border-radius: 50%; background: #00a651; display: inline-block; }
.hk-pdp__benefits { list-style: none; margin: 0 0 2rem; padding: 1.4rem 1.6rem; background: var(--card-bg); display: grid; gap: 0.8rem; font-size: 1.2rem; }
.hk-pdp__benefits li { display: flex; gap: 0.8rem; }
.hk-pdp__accordion details { border-top: 1px solid var(--line); padding: 1.4rem 0; }
.hk-pdp__accordion summary { cursor: pointer; font-size: 1.2rem; letter-spacing: 0.08em; list-style: none; display: flex; justify-content: space-between; }
.hk-pdp__accordion summary::after { content: '+'; }
.hk-pdp__accordion details[open] summary::after { content: '−'; }
.hk-pdp__accordion div { font-size: 1.2rem; color: var(--muted); padding-top: 1rem; }

@media (max-width: 900px) {
  .hk-pdp { grid-template-columns: 1fr; gap: 2rem; }
  .hk-pdp__gallery { grid-template-columns: 1fr 1fr; }
  .hk-pdp__info { position: static; }
  .hk-pdp__title { font-size: 2.6rem; }
}

/* strong overrides for WooCommerce buttons inside our layout */
.hk-main .single_add_to_cart_button,
.hk-main .button.alt,
.hk-main button[name="add"] {
  background: var(--accent) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-transform: none;
  letter-spacing: 0.02em;
  padding: 1.6rem !important;
  font-size: 1.5rem !important;
}
.hk-main .single_add_to_cart_button:hover { background: #3f4136 !important; }
.hk-main .quantity input { border: 1px solid var(--line); padding: 0.8rem; }

/* --------------------------------------------------- cart / checkout layout */
.hk-usp-strip { background: var(--card-bg); border-bottom: 1px solid var(--line); }
.hk-usp-strip__inner { display: flex; justify-content: space-around; gap: 2rem; padding: 1.6rem var(--gutter); font-size: 1.15rem; letter-spacing: 0.08em; text-transform: uppercase; }
.hk-usp-strip__inner p { margin: 0; }

.hk-btn--olive { background: var(--accent); color: #fff; }
.hk-cart-empty { max-width: 60rem; margin: 0 auto; padding: 8rem 2rem; text-align: center; }
.hk-cart-empty__title { font-size: 3.2rem; margin-bottom: 2.4rem; }
.hk-cart-empty__account { margin-top: 6rem; }
.hk-cart-empty__account h2 { font-size: 2.4rem; margin-bottom: 0.6rem; }
.hk-cart-empty__account p { color: var(--muted); font-size: 1.3rem; margin: 0 0 1rem; }

.woocommerce-cart .hk-page__title,
.woocommerce-checkout .hk-page__title { display: none; }

.woocommerce-cart table.shop_table { border: 1px solid var(--line); border-collapse: collapse; width: 100%; }
.woocommerce-cart table.shop_table th { text-align: left; font-size: 1.2rem; padding: 1.2rem; border-bottom: 1px solid var(--line); }
.woocommerce-cart table.shop_table td { padding: 1.2rem; border-bottom: 1px solid var(--line); vertical-align: middle; }
.woocommerce-cart table.shop_table img { width: 8rem; }
.woocommerce-cart .button,
.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order {
  background: var(--accent) !important; color: #fff !important; border: 0 !important;
  border-radius: 0 !important; padding: 1.4rem 2.4rem !important; font-size: 1.4rem !important;
  text-transform: none !important;
}
.woocommerce-cart .coupon input { padding: 1rem; border: 1px solid var(--line); }
.woocommerce-cart .cart-collaterals { margin-top: 2.4rem; }

.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 42rem; gap: 4rem; align-items: start; }
.woocommerce-checkout #customer_details { width: 100%; }
.woocommerce-checkout #order_review { background: var(--card-bg); padding: 2.4rem; position: sticky; top: 2rem; }
.woocommerce-checkout h3 { font-size: 1.8rem; margin-bottom: 1.2rem; }
.woocommerce-checkout .form-row input, .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea {
  padding: 1.1rem; border: 1px solid var(--line); font-family: inherit; width: 100%;
}
.woocommerce-checkout .form-row { margin-bottom: 1rem; }
.woocommerce-checkout #order_review table { width: 100%; }
.woocommerce-checkout #order_review table td, .woocommerce-checkout #order_review table th { padding: 0.6rem 0; font-size: 1.3rem; }
.woocommerce-checkout #payment { background: transparent; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0; border: 0; }
.woocommerce-checkout #payment div.payment_box { background: #fff; border: 1px solid var(--line); font-size: 1.2rem; }

@media (max-width: 900px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout #order_review { position: static; }
  .hk-usp-strip__inner { flex-wrap: wrap; gap: 0.8rem; justify-content: center; }
}

/* --------------------------------------------------- minimal checkout header */
.hk-checkout-header { border-bottom: 1px solid var(--line); }
.hk-checkout-header__inner { max-width: 120rem; margin: 0 auto; padding: 2rem var(--gutter); display: flex; align-items: center; justify-content: space-between; }
.hk-checkout-header .hk-logo { font-size: 2.2rem; }
.hk-checkout-header__secure { font-size: 1.2rem; color: var(--muted); letter-spacing: 0.04em; }
.hk-checkout-header__secure::before { content: '🔒'; margin-right: 0.6rem; }
.hk-main--checkout { max-width: 120rem; margin: 0 auto; padding: 3rem var(--gutter) 6rem; }

/* checkout two-column layout */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 42rem; gap: 5rem; align-items: start; }
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 1 / span 3; background: var(--card-bg); padding: 2.4rem; position: sticky; top: 2rem; }
.woocommerce-checkout .col2-set { display: block; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { float: none; width: 100%; }
.woocommerce-checkout .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout h3 { font-size: 1.9rem; margin: 0 0 1.4rem; }
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields { margin-bottom: 2.4rem; }
.woocommerce-checkout #order_review_heading { margin-top: 0; }

/* -------------------------------------------------------- thank-you page */
.hk-thankyou { padding: 4rem 0 7rem; }
.hk-thankyou__inner { max-width: 84rem; margin: 0 auto; padding: 0 var(--gutter); }
.hk-thankyou__eyebrow { font-size: 1.2rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin: 0 0 0.8rem; }
.hk-thankyou__title { font-size: 3.6rem; margin-bottom: 1rem; }
.hk-thankyou__text { font-size: 1.3rem; color: var(--muted); margin-bottom: 3rem; }
.hk-thankyou__box { background: var(--card-bg); padding: 2.4rem; margin-bottom: 2.4rem; }
.hk-thankyou__box h2 { font-size: 1.9rem; margin-bottom: 1.4rem; }
.hk-thankyou__table { width: 100%; border-collapse: collapse; }
.hk-thankyou__table td { padding: 0.7rem 0; font-size: 1.3rem; }
.hk-thankyou__product { text-align: left; }
.hk-thankyou__product span { color: var(--muted); }
.hk-thankyou__price, .hk-thankyou__table tr td:last-child { text-align: right; }
.hk-thankyou__row td { border-top: 1px solid var(--line); color: var(--muted); }
.hk-thankyou__row--total td { color: var(--text); font-size: 1.5rem; font-weight: 500; }
.hk-thankyou__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; margin-bottom: 3rem; }
.hk-thankyou__cols h3 { font-size: 1.4rem; margin-bottom: 0.6rem; }
.hk-thankyou__cols p, .hk-thankyou__cols address { font-size: 1.3rem; color: var(--muted); font-style: normal; margin: 0 0 1.2rem; }

.woocommerce-order-received .hk-page__title { display: none; }
.woocommerce-order-received .hk-page { max-width: none; padding: 0; }

/* market / language switcher */
.hk-market select {
  appearance: none; background: transparent; border: 0; font-family: inherit;
  font-size: 1.2rem; letter-spacing: 0.06em; color: var(--text); cursor: pointer; padding: 0.2rem 0;
}
.hk-market select:focus { outline: 1px solid var(--line); }

/* mobile navigation */
.hk-burger { display: none; }
@media (max-width: 900px) {
  .hk-burger {
    display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 40px; height: 32px; border: 0; background: none; padding: 0 8px; cursor: pointer;
  }
  .hk-burger span { display: block; height: 1.5px; background: var(--text); width: 100%; }
  .hk-header { position: relative; }
  .hk-nav ul { display: none; }
  .hk-nav.is-open ul {
    display: flex; flex-direction: column; gap: 0; position: absolute; left: 0; right: 0;
    background: #fff; border-bottom: 1px solid var(--line); padding: 1rem 0; z-index: 50;
    box-shadow: 0 10px 20px rgba(0,0,0,.06);
  }
  .hk-nav.is-open ul li { border-bottom: 1px solid var(--line); }
  .hk-nav.is-open ul li:last-child { border-bottom: 0; }
  .hk-nav.is-open a { display: block; padding: 1.2rem 2rem; font-size: 1.4rem; }
}

/* cart table polish */
.woocommerce-cart table.cart { border: 0 !important; border-collapse: collapse; }
.woocommerce-cart table.cart thead th { background: transparent; border-bottom: 1px solid var(--line); font-size: 1.2rem; letter-spacing: .04em; text-transform: uppercase; padding: 1.2rem 1rem; }
.woocommerce-cart table.cart td { border-bottom: 1px solid var(--line); padding: 1.4rem 1rem; }
.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--accent) !important; color: #fff !important; border: 0 !important;
  border-radius: 0 !important; padding: 1.3rem 2rem !important; font-size: 1.4rem !important;
}
.woocommerce-cart table.cart td.actions .coupon .input-text { padding: 1.1rem 1.2rem; border: 1px solid var(--line); min-width: 14rem; }
.woocommerce-cart .cart_totals h2 { font-size: 2.4rem; }
.woocommerce-cart .cart_totals table { border: 1px solid var(--line); }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { padding: 1rem 1.2rem; border-bottom: 1px solid var(--line); }
.woocommerce-cart .woocommerce-message { border-top: 2px solid var(--accent); background: #faf8f5; color: var(--text); }

/* brand logo */
.hk-logo__img { display: block; height: 26px; width: auto; }
.hk-logo__img--footer { height: 24px; filter: brightness(0) invert(1); }
.hk-checkout-header .hk-logo__img { height: 24px; }
@media (max-width: 900px) { .hk-logo__img { height: 22px; } }

/* announcement icons */
.hk-announcement__icon { width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; color: currentColor; }
.hk-announcement__icon svg { width: 16px; height: 16px; }

/* logo + icon sizing fixes */
.hk-logo__img { height: auto !important; width: 190px !important; }
.hk-logo__img--footer { width: 150px !important; }
.hk-checkout-header .hk-logo__img { width: 180px !important; }
body .hk-announcement__icon { border: 0 !important; width: 16px; height: 16px; }
@media (max-width: 900px) { .hk-logo__img { width: 140px !important; } }

/* homepage tabs */
.hk-tabs { display: flex; gap: 2.4rem; padding: 0 var(--gutter) 2rem; flex-wrap: wrap; }
.hk-tab { font-size: 1.3rem; color: var(--muted); padding-bottom: 0.4rem; border-bottom: 1px solid transparent; }
.hk-tab.is-active, .hk-tab:hover { color: var(--text); border-bottom-color: var(--text); }

/* collection filters */
.hk-filter-panel { display: none; padding: 1.6rem 0 2rem; border-bottom: 1px solid var(--line); }
.hk-filter-panel.is-open { display: block; }
.hk-filter-group { margin-bottom: 1.6rem; }
.hk-filter-group h4 { font-size: 1.2rem; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .8rem; }
.hk-filter-links { display: flex; flex-wrap: wrap; gap: .8rem 1.6rem; }
.hk-filter-links a { font-size: 1.3rem; color: var(--muted); border-bottom: 1px solid transparent; }
.hk-filter-links a.is-active, .hk-filter-links a:hover { color: var(--text); border-bottom-color: var(--text); }

/* search + 404 */
.hk-search { padding: 2rem 0 6rem; }
.hk-search__count { color: var(--muted); font-size: 1.3rem; margin: 0 0 2.4rem; }
.hk-search__form { display: flex; gap: 0.8rem; max-width: 48rem; margin: 2rem 0; }
.hk-search__form input { flex: 1; padding: 1.3rem 1.4rem; border: 1px solid var(--line); font-family: inherit; font-size: 1.4rem; }
.hk-search__form button { padding: 1.3rem 2.4rem; background: var(--accent); color: #fff; border: 0; font-family: inherit; font-size: 1.3rem; cursor: pointer; }
.hk-search__empty { padding: 4rem 0; color: var(--muted); }
.hk-404 { text-align: center; padding: 6rem 0 8rem; }
.hk-404__code { font-size: 8rem; line-height: 1; margin: 0; color: var(--card-bg); font-weight: 600; }
.hk-404 .hk-search__form { margin: 2.4rem auto; }
.hk-404__links { display: flex; gap: 1.6rem; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: 2rem; }

/* collection toolbar: keep meta, filter and sort on one baseline */
.hk-collection__toolbar { align-items: center !important; padding: 1.4rem 0 !important; }
.hk-collection__meta { font-size: 1.3rem; line-height: 4rem; }
.hk-collection__tools { display: flex; align-items: center; gap: 1.2rem; }
.hk-sort { display: flex; align-items: center; }
.hk-sort form.woocommerce-ordering { margin: 0 !important; }
.hk-sort select,
.hk-filter-btn {
  height: 4rem !important;
  line-height: 1 !important;
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
}
.hk-filter-btn { padding: 0 1.8rem !important; }
.hk-sort select { padding: 0 2.4rem 0 1.2rem !important; min-width: 20rem; }

/* main navigation: match the reference metrics (13px / 1.3px tracking / 16x24 padding) */
.hk-nav ul { gap: 0 !important; padding: 0 !important; }
.hk-nav a {
  display: inline-block;
  font-size: 1.3rem !important;
  letter-spacing: 1.3px !important;
  font-weight: 400;
  padding: 1.6rem 2.4rem !important;
  line-height: 1.2;
}
.hk-nav .is-sale a { font-weight: 500; color: #ff4444; }
@media (max-width: 900px) {
  .hk-nav a { padding: 1rem 1.4rem !important; }
}

/* navigation dropdowns */
.hk-nav ul > li { position: relative; }
.hk-subnav {
  position: absolute; top: 100%; left: 0; z-index: 60;
  display: none; min-width: 22rem; padding: 1.2rem 0;
  background: #fff; border: 1px solid var(--line);
  box-shadow: 0 12px 24px rgba(0,0,0,.08);
}
.hk-nav ul > li.has-sub:hover > .hk-subnav,
.hk-nav ul > li.has-sub:focus-within > .hk-subnav { display: block; }
.hk-subnav a {
  display: block; padding: 0.9rem 2rem !important; font-size: 1.2rem !important;
  letter-spacing: 0.02em !important; white-space: nowrap;
}
.hk-subnav a:hover { background: var(--card-bg); }
@media (max-width: 900px) {
  .hk-subnav { position: static; display: block; border: 0; box-shadow: none; padding: 0 0 0.6rem 2rem; }
  .hk-subnav a { padding: 0.6rem 0 !important; }
}

/* nav hover: keep the label dark instead of fading */
.hk-nav a:hover { opacity: 1 !important; }
.hk-nav > ul > li > a:hover { text-decoration: underline; text-underline-offset: 6px; }
.hk-subnav.is-wide { columns: 2; min-width: 36rem; }
.hk-subnav a { break-inside: avoid; }

/* full-width mega menu (reference style) */
.hk-nav { position: relative; }
.hk-nav ul > li { position: static; }
.hk-mega {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 80;
  display: none; background: #fff;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  box-shadow: 0 18px 30px rgba(0,0,0,.06);
}
.hk-nav li.has-sub:hover > .hk-mega,
.hk-nav li.has-sub:focus-within > .hk-mega { display: block; }
.hk-mega__inner {
  max-width: var(--container); margin: 0 auto;
  padding: 3.4rem 2.4rem 4.6rem;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr)); gap: 4rem;
}
.hk-mega__title {
  font-size: 1.1rem; letter-spacing: .12em; color: var(--muted);
  text-transform: uppercase; margin: 0 0 1.8rem; font-weight: 500;
}
.hk-mega__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.4rem; }
.hk-mega__col a {
  display: flex; align-items: center; gap: 1.2rem;
  font-size: 1.4rem !important; letter-spacing: 0 !important; padding: 0 !important;
  text-transform: none;
}
.hk-mega__col a:hover { text-decoration: underline; text-underline-offset: 4px; }
.hk-mega__thumb {
  width: 3.6rem; height: 3.6rem; border-radius: 50%; flex: 0 0 3.6rem;
  background: #f2f0eb center/cover no-repeat; display: inline-block;
}
@media (max-width: 900px) {
  .hk-mega { position: static; display: block; border: 0; box-shadow: none; }
  .hk-mega__inner { grid-template-columns: 1fr; padding: 0.6rem 0 1rem 1.6rem; gap: 2rem; }
  .hk-mega__thumb { display: none; }
}

/* mega menu list reset (inherit from .hk-nav ul otherwise centres the items) */
.hk-nav .hk-mega__col ul { display: grid !important; justify-content: start !important; align-items: start; padding: 0; margin: 0; }
.hk-mega__col li { width: 100%; }
.hk-mega__inner { align-items: start; }

/* mega menu spacing to match the reference panel */
.hk-mega__inner {
  padding: 3.6rem 10rem 4.8rem !important;
  grid-template-columns: repeat(auto-fit, minmax(26rem, 34rem)) !important;
  justify-content: start;
  gap: 5rem !important;
}
@media (max-width: 900px) {
  .hk-mega__inner { padding: 0.6rem 0 1rem 1.6rem !important; grid-template-columns: 1fr !important; }
}

/* collection toolbar: filters left, range + sort + view toggle right */
.hk-collection__toolbar { gap: 2rem; }
.hk-collection__left { display: flex; align-items: center; gap: 1.2rem; }
.hk-filter-btn__icon { margin-right: 0.6rem; font-size: 1.3rem; }
.hk-collection__range { font-size: 1.3rem; color: var(--text); white-space: nowrap; }
.hk-view-toggle { display: flex; gap: 0.4rem; }
.hk-view-toggle button {
  width: 4rem; height: 4rem; border: 1px solid var(--line); background: #fff;
  font-size: 1.4rem; cursor: pointer; color: var(--muted);
}
.hk-view-toggle button.is-active { border-color: var(--text); color: var(--text); }

/* badges */
.hk-card__badge--best { background: #3f5d43; }
.hk-card__badge--new { background: #171614; }
.hk-card__badge--sale { background: #f44f44; }

/* list view */
.hk-grid--list { display: block; }
.hk-grid--list .hk-card { display: grid; grid-template-columns: 16rem 1fr; gap: 2rem; align-items: center; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.hk-grid--list .hk-card__media { width: 16rem; }
.hk-grid--list .hk-card__title { margin-top: 0; font-size: 1.5rem; }

/* gift guide tiles */
.hk-gift-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; margin: 2.4rem 0 4rem; }
.hk-gift-tile {
  position: relative; display: flex; align-items: flex-end; aspect-ratio: 16/9;
  background: center/cover no-repeat; color: #fff; padding: 2.4rem; font-size: 2.2rem;
}
.hk-gift-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.5)); }
.hk-gift-tile span { position: relative; z-index: 2; }
@media (max-width: 740px) { .hk-gift-tiles { grid-template-columns: 1fr; } }

/* wpautop adds <br> between the gift tiles; keep the grid two-column */
.hk-gift-tiles br, .hk-gift-tiles p:empty { display: none !important; }

/* gift guide uses the full container width */
.hk-page:has(.hk-gift-tiles) { max-width: 120rem; }
.hk-page:has(.hk-gift-tiles) .hk-grid { padding: 0; }

/* sub-collection navigation under the hero */
.hk-subcollections { border-bottom: 1px solid var(--line); background: #fff; }
.hk-subcollections__inner { display: flex; gap: 2.8rem; padding: 2.2rem 2.4rem; overflow-x: auto; }
.hk-subcollections a { font-size: 1.3rem; letter-spacing: 0.02em; white-space: nowrap; color: var(--muted); }
.hk-subcollections a:hover { color: var(--text); text-decoration: underline; text-underline-offset: 4px; }

/* SEO copy under the grid */
.hk-collection-seo { max-width: 90rem; padding: 4rem 0 2rem; }
.hk-collection-seo h2 { font-size: 2.4rem; margin: 0 0 1.2rem; }
.hk-collection-seo p { font-size: 1.4rem; color: var(--muted); }

/* gift guide sections */
.hk-gift-hero { min-height: 52rem; background: center/cover no-repeat; color: #fff; display: flex; align-items: center; position: relative; }
.hk-gift-hero::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.25); }
.hk-gift-hero__inner { position: relative; z-index: 2; max-width: 120rem; margin: 0 auto; padding: 0 2.4rem; width: 100%; }
.hk-gift-hero h1 { font-size: 6rem; letter-spacing: .04em; margin: 0 0 1rem; }
.hk-gift-hero__eyebrow { font-size: 1.2rem; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 1.2rem; }
.hk-gift-strip { display: flex; justify-content: center; gap: 8rem; padding: 1.6rem; background: var(--card-bg); font-size: 1.1rem; letter-spacing: .08em; }
.hk-gift-row { max-width: 120rem; margin: 5rem auto 0; padding: 0 2.4rem; }
.hk-gift-row__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 1.6rem; }
.hk-gift-row__head h2 { font-size: 3rem; }
.hk-gift-row .hk-grid { padding: 0; }
.hk-gift-story { display: grid; grid-template-columns: 1fr 1fr; background: var(--card-bg); margin: 6rem 0; }
.hk-gift-story__image { min-height: 46rem; background: center/cover; }
.hk-gift-story__text { padding: 5rem; }
.hk-gift-story__text h2 { font-size: 2.6rem; margin-bottom: 1.2rem; }
.hk-gift-cats { max-width: 120rem; margin: 0 auto 5rem; padding: 0 2.4rem; }
.hk-gift-cats h2 { font-size: 2.8rem; margin-bottom: 1.6rem; }
.hk-gift-cats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.hk-gift-cats__grid a { position: relative; aspect-ratio: 3/4; background: center/cover; display: flex; align-items: flex-end; padding: 1.6rem; color: #fff; }
.hk-gift-cats__grid a::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.5)); }
.hk-gift-cats__grid span { position: relative; z-index: 2; font-size: 1.8rem; }
.hk-gift-reviews { text-align: center; padding: 6rem 2rem; background: var(--card-bg); }
@media (max-width: 900px) {
  .hk-gift-hero h1 { font-size: 4rem; }
  .hk-gift-strip { gap: 2rem; flex-direction: column; text-align: center; }
  .hk-gift-story { grid-template-columns: 1fr; }
  .hk-gift-cats__grid { grid-template-columns: 1fr 1fr; }
}

/* gift guide is full-bleed like the reference */
.hk-page:has(.hk-gift-hero) { max-width: none; padding: 0; }
.hk-page:has(.hk-gift-hero) .hk-page__title { display: none; }
.hk-page:has(.hk-gift-hero) .hk-page__content { max-width: none; }

/* 24h promo countdown */
.hk-promo {
  display: inline-flex; align-items: center; gap: 0.8rem;
  background: #d81f26; color: #fff; padding: 0.7rem 1.2rem;
  font-size: 1.1rem; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1;
}
.hk-promo__dot { width: 0.7rem; height: 0.7rem; border-radius: 50%; background: #fff; animation: hk-pulse 1.6s infinite; }
.hk-promo__time { font-variant-numeric: tabular-nums; font-weight: 600; letter-spacing: 0.04em; font-size: 1.2rem; }
.hk-pdp__price-row { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; }
.hk-hero .hk-promo { margin: 0 0 1.6rem; }

/* live viewers */
.hk-viewers { display: flex; align-items: center; gap: 0.8rem; font-size: 1.3rem; color: var(--muted); margin: 0.4rem 0 1.6rem; }
.hk-viewers__dot { width: 0.8rem; height: 0.8rem; border-radius: 50%; background: #3f9b52; animation: hk-pulse-green 1.8s infinite; }
.hk-viewers strong { color: var(--text); display: inline-block; min-width: 2ch; text-align: center; }
.is-bump { animation: hk-bump 0.45s ease; }

@keyframes hk-bump { 0% { transform: scale(1); } 40% { transform: scale(1.35); } 100% { transform: scale(1); } }
@keyframes hk-pulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.65); } 70% { box-shadow: 0 0 0 8px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
@keyframes hk-pulse-green { 0% { box-shadow: 0 0 0 0 rgba(63,155,82,.55); } 70% { box-shadow: 0 0 0 8px rgba(63,155,82,0); } 100% { box-shadow: 0 0 0 0 rgba(63,155,82,0); } }

/* price + countdown on one visual line */
.hk-pdp__price-row { align-items: center !important; }
.hk-pdp__price-row .hk-pdp__price { margin: 0 !important; line-height: 1 !important; }
.hk-pdp__price-row .hk-promo { margin: 0 !important; }

/* footer bottom: only the copyright remains */
.hk-footer__bottom { justify-content: center !important; align-items: center; gap: 0; }

/* original price struck through, current price in red */
.hk-card__price del, .hk-pdp__price del {
  color: #9a9890 !important; text-decoration: line-through; margin-right: 0.6rem;
  font-size: 0.86em; font-weight: 400;
}
.hk-card__price ins, .hk-pdp__price ins {
  color: #d81f26 !important; text-decoration: none !important; font-weight: 600;
}
.hk-pdp__save { font-size: 1.3rem; color: var(--muted); margin: 0.4rem 0 0; }
.hk-pdp__save-pct { color: #d81f26; font-weight: 600; margin-right: 0.4rem; }

/* mini cart drawer */
.hk-drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 220; }
.hk-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: 42rem; max-width: 92vw; z-index: 230;
  background: #fff; box-shadow: -12px 0 30px rgba(0,0,0,.12);
  transform: translateX(102%); transition: transform .28s ease; overflow-y: auto;
}
.hk-drawer.is-open { transform: translateX(0); }
.hk-drawer__body { padding: 2.4rem; }
.hk-drawer__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; }
.hk-drawer__head h3 { margin: 0; font-size: 1.8rem; letter-spacing: .04em; text-transform: uppercase; }
.hk-drawer__close { background: none; border: 0; font-size: 2.4rem; line-height: 1; cursor: pointer; color: var(--text); }
.hk-drawer__items { display: grid; gap: 1.6rem; }
.hk-drawer__item { display: grid; grid-template-columns: 7rem 1fr; gap: 1.2rem; align-items: center; }
.hk-drawer__item img { width: 7rem; height: 7rem; object-fit: cover; }
.hk-drawer__info a { display: block; font-size: 1.4rem; color: var(--text); }
.hk-drawer__qty { font-size: 1.2rem; color: var(--muted); }
.hk-drawer__subtotal { display: flex; justify-content: space-between; margin: 2.4rem 0 .8rem; font-size: 1.5rem; border-top: 1px solid var(--line); padding-top: 1.6rem; }
.hk-drawer__note { font-size: 1.2rem; color: var(--muted); margin: 0 0 2rem; }
.hk-drawer__express { display: grid; gap: .8rem; margin-bottom: 1.6rem; }
.hk-drawer__express-label { font-size: 1.1rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 .4rem; }
.hk-express { display: flex; align-items: center; justify-content: center; height: 4.4rem; font-size: 1.4rem; font-weight: 600; border-radius: 4px; }
.hk-express--paypal { background: #ffc439; color: #003087; }
.hk-express--apple { background: #000; color: #fff; }
.hk-express--gpay { background: #fff; color: #3c4043; border: 1px solid #dadce0; }
.hk-drawer__checkout { width: 100%; text-align: center; display: block; margin-top: .8rem; }
.hk-drawer__cart-link { display: block; text-align: center; margin-top: 1.2rem; font-size: 1.3rem; text-decoration: underline; }
.hk-drawer__empty { color: var(--muted); }

/* mobile collection toolbar */
@media (max-width: 740px) {
  .hk-collection__toolbar { flex-wrap: wrap; gap: 1rem; }
  .hk-collection__range { display: none; }
  .hk-collection__left { flex: 0 0 auto; }
  .hk-collection__tools { flex: 1 1 100%; justify-content: space-between; gap: 1rem; }
  .hk-sort { flex: 1; }
  .hk-sort select { width: 100%; min-width: 0; }
  .hk-view-toggle { display: none; }
}

/* express buttons: only the enabled gateways, icons kept */
.hk-express { display: flex; align-items: center; justify-content: center; gap: .8rem; }
.hk-express__icon { display: inline-flex; align-items: center; }
.hk-express--card { background: #fff; color: #171614; border: 1px solid #d8d5cc; }
.hk-express--bank { background: #f4f2ec; color: #171614; border: 1px solid #e2ded4; }

/* lucky order notice */
.hk-lucky { background: #fff4f4; border: 1px solid #f3c9c9; border-left: 4px solid #d81f26; padding: 1.4rem 1.6rem; margin: 0 0 2rem; font-size: 1.4rem; color: #171614; }
.hk-lucky strong { color: #d81f26; }

/* checkout order review with product thumbnails */
.hk-review { width: 100%; border-collapse: collapse; }
.hk-review th, .hk-review td { padding: 1.2rem 0; border-bottom: 1px solid var(--line); vertical-align: middle; text-align: left; }
.hk-review thead th { font-size: 1.2rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.hk-review__product { display: flex; gap: 1.2rem; align-items: center; }
.hk-review__media { position: relative; flex: 0 0 6rem; width: 6rem; height: 6rem; }
.hk-review__media img { width: 6rem; height: 6rem; object-fit: cover; border-radius: 4px; display: block; }
.hk-review__qty { position: absolute; top: -0.6rem; right: -0.6rem; min-width: 2rem; height: 2rem; border-radius: 1rem; background: #171614; color: #fff; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; }
.hk-review__info { display: flex; flex-direction: column; gap: .3rem; }
.hk-review__name { font-size: 1.4rem; color: var(--text); }
.hk-review__meta { font-size: 1.2rem; color: var(--muted); }
.hk-review__unit { font-size: 1.2rem; color: var(--muted); }
.hk-review .product-total { text-align: right; white-space: nowrap; }
.hk-review tfoot th, .hk-review tfoot td { font-size: 1.4rem; }
.hk-review .order-total th, .hk-review .order-total td { font-size: 1.6rem; font-weight: 600; }

/* checkout: hide the repeated "added to cart" success notices */
body.woocommerce-checkout .woocommerce-message { display: none; }
@media (max-width: 740px) {
  .hk-review__media, .hk-review__media img { width: 5rem; height: 5rem; flex-basis: 5rem; }
  .hk-review__name { font-size: 1.3rem; }
}

/* checkout mobile: stack form and order review (override the desktop grid) */
@media (max-width: 900px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr !important; gap: 2.4rem !important; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review { grid-column: 1 / -1 !important; grid-row: auto !important; position: static !important; }
  .woocommerce-checkout #order_review { width: 100% !important; }
  .hk-review { table-layout: fixed; width: 100%; }
  .hk-review .product-total { width: 8rem; }
  .hk-review__info { min-width: 0; }
  .hk-review__name { display: block; }
}

/* fake scarcity line under the viewers badge */
.hk-scarcity { display: flex; align-items: center; gap: 0.6rem; font-size: 1.3rem; color: var(--muted); margin: -0.4rem 0 1.6rem; }
.hk-scarcity__left strong { color: #d81f26; }
.hk-scarcity__sold strong { color: var(--text); display: inline-block; min-width: 3ch; }
.hk-scarcity__sold strong.is-bump { animation: hk-bump 0.45s ease; }

/* lucky order session countdown */
.hk-lucky__timer { display: block; margin-top: 0.6rem; font-size: 1.2rem; color: var(--muted); }
.hk-lucky__timer strong { color: #d81f26; font-variant-numeric: tabular-nums; }
.hk-lucky__timer.is-expired strong { color: var(--muted); }

/* checkout grid with explicit areas so error notices never shift the form */
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 42rem;
  grid-template-areas: "notices notices" "billing review";
  gap: 2rem 5rem;
  align-items: start;
}
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-area: notices !important; }
.woocommerce-checkout #customer_details { grid-area: billing !important; }
.woocommerce-checkout #order_review { grid-area: review !important; position: sticky; top: 2rem; }
.woocommerce-checkout #order_review_heading { display: none !important; }

@media (max-width: 900px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    grid-template-areas: "notices" "billing" "review";
    gap: 2rem !important;
  }
  .woocommerce-checkout #order_review { position: static !important; }
}

/* checkout uses the wide container */
.hk-page:has(form.checkout) { max-width: 120rem; }
.hk-page:has(form.checkout) .hk-page__title { display: none; }

/* any checkout notice (even without the NoticeGroup wrapper) must sit full-width on top */
.woocommerce-checkout form.checkout > .woocommerce-error,
.woocommerce-checkout form.checkout > .woocommerce-message,
.woocommerce-checkout form.checkout > .woocommerce-info,
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup {
  grid-area: notices !important;
  width: 100% !important;
}
.woocommerce-checkout form.checkout > .woocommerce-error li { margin: 0; }

/* Shopify-like checkout */
.woocommerce-checkout .hk-main--checkout { max-width: 110rem; margin: 0 auto; padding: 2.4rem var(--gutter) 8rem; }
.hk-steps { display: flex; align-items: center; gap: 0.8rem; font-size: 1.25rem; color: #737373; margin: 1.2rem 0 2.4rem; }
.hk-steps a { color: #737373; text-decoration: none; }
.hk-steps .is-current { color: #171614; font-weight: 600; }
.hk-steps__sep { color: #b5b5b5; }

.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) 41rem; gap: 5.6rem; }
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review h3,
.hk-pay-title { font-size: 1.9rem; font-weight: 600; letter-spacing: 0; margin: 0 0 1.4rem; }
.woocommerce-checkout #customer_details { padding-top: 0.4rem; }

.woocommerce-checkout .form-row label { font-size: 1.2rem; color: #545454; margin-bottom: 0.5rem; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  height: 4.6rem; padding: 0 1.2rem; border: 1px solid #d9d9d9; border-radius: 6px; background: #fff;
  font-size: 1.4rem; transition: border-color .15s, box-shadow .15s;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus { border-color: #1773b0; box-shadow: 0 0 0 1px #1773b0; outline: none; }
.woocommerce-checkout .form-row { margin-bottom: 1.4rem; }

.woocommerce-checkout #order_review { background: transparent !important; padding: 0 !important; border: 0; }
.woocommerce-checkout #order_review .hk-review { background: #fafafa; border: 1px solid #e6e6e6; border-radius: 10px; padding: 2rem; }
.woocommerce-checkout #order_review .hk-review th,
.woocommerce-checkout #order_review .hk-review td { border-color: #e6e6e6; }
.woocommerce-checkout #order_review .hk-review .order-total th,
.woocommerce-checkout #order_review .hk-review .order-total td { font-size: 1.8rem; }
.woocommerce-checkout #order_review .hk-review .order-total td { text-align: right; }

.hk-pay-title { margin: 2.4rem 0 1rem; }
.woocommerce-checkout #payment { background: transparent; border: 1px solid #e6e6e6; border-radius: 10px; padding: 1.6rem; }
.woocommerce-checkout #payment ul.payment_methods { margin: 0; }
.woocommerce-checkout #payment div.payment_box { background: #fafafa; border: 1px solid #ececec; border-radius: 8px; margin: 1rem 0 0; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }

.woocommerce-checkout #place_order,
.woocommerce-checkout #payment #place_order {
  width: 100%; height: 5.2rem; margin-top: 1.6rem; border-radius: 6px;
  background: #171614 !important; color: #fff !important; border: 0;
  font-size: 1.5rem; font-weight: 600; letter-spacing: 0;
}
.woocommerce-checkout #place_order:hover { background: #000 !important; }

@media (max-width: 900px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr !important; gap: 2.4rem !important; }
  .woocommerce-checkout .hk-main--checkout { padding: 1.6rem var(--gutter) 5rem; }
  .woocommerce-checkout #order_review .hk-review { padding: 1.4rem; }
}

/* payment block sits in the left column, under the address */
.woocommerce-checkout #customer_details #payment { margin-top: 2.4rem; }
.woocommerce-checkout #customer_details .hk-pay-title { margin-top: 2.4rem; }
.woocommerce-checkout #order_review { align-self: start; }

/* footer: social icons + legal row */
.hk-footer__social { display: flex; gap: 1.2rem; margin-top: 1.6rem; }
.hk-footer__social a { color: #d9d5cb; transition: color .2s; }
.hk-footer__social a:hover { color: #fff; }
.hk-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.2rem; }
.hk-footer__legal { display: flex; flex-wrap: wrap; gap: 1.6rem; list-style: none; margin: 0; padding: 0; }
.hk-footer__legal a { font-size: 1.1rem; color: #b9b5ab; }
.hk-footer__legal a:hover { color: #fff; text-decoration: underline; }
.hk-footer__copy { font-size: 1.1rem; color: #b9b5ab; margin: 0; }
@media (max-width: 900px) {
  .hk-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* FAQ page: embedded help center */
.hk-page:has(.hk-faq-embed) { max-width: 120rem; }
.hk-faq-embed { margin: 0 0 1.6rem; background: #fff; }
.hk-faq-embed iframe { display: block; width: 100%; height: 150rem; border: 0; }
.hk-faq-fallback { font-size: 1.2rem; color: var(--muted); text-align: center; padding-bottom: 3rem; }
@media (max-width: 900px) { .hk-faq-embed iframe { height: 120rem; } }

/* mobile navigation drawer (override earlier flattening rules) */
@media (max-width: 900px) {
  .hk-header { position: relative; }
  .hk-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 150;
    background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
    max-height: 78vh; overflow-y: auto; box-shadow: 0 18px 30px rgba(0,0,0,.12); }
  .hk-nav.is-open { display: block; }
  .hk-nav ul { display: block; }
  .hk-nav > ul > li { border-bottom: 1px solid var(--line); }
  .hk-nav > ul > li:last-child { border-bottom: 0; }
  .hk-nav > ul > li > a { display: block; padding: 1.5rem 2rem; font-size: 1.35rem; letter-spacing: .08em; }
  .hk-nav > ul > li.has-sub > a::after { content: '+'; float: right; font-size: 1.8rem; line-height: 1; color: var(--muted); }
  .hk-nav > ul > li.is-open > a::after { content: '−'; }
  .hk-mega { position: static !important; display: none !important; border: 0; box-shadow: none; background: #faf9f6; }
  .hk-nav > ul > li.is-open > .hk-mega { display: block !important; }
  .hk-mega__inner { display: block !important; padding: 1rem 2rem 1.6rem !important; gap: 0 !important; }
  .hk-mega__col { margin-bottom: 1.2rem; }
  .hk-mega__col:last-child { margin-bottom: 0; }
  .hk-mega__title { margin: 0.6rem 0 0.8rem; font-size: 1rem; }
  .hk-mega__col ul { display: block; }
  .hk-mega__col li { margin-bottom: 0.4rem; }
  .hk-mega__thumb { display: none; }
  .hk-mega__col a { font-size: 1.3rem !important; }
  body.hk-nav-open { overflow: hidden; }
}

/* mobile nav: keep the list in normal flow (it is absolutely positioned on desktop) */
@media (max-width: 900px) {
  .hk-nav > ul { position: static !important; display: block !important; height: auto !important; overflow: visible !important; }
  .hk-nav { height: auto !important; }
}

/* mobile submenu: stack columns vertically, no overlap */
@media (max-width: 900px) {
  .hk-nav .hk-mega,
  .hk-nav .hk-mega__inner,
  .hk-nav .hk-mega__col,
  .hk-nav .hk-mega__col ul,
  .hk-nav .hk-mega__col li {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-height: none !important;
    height: auto !important;
    columns: auto !important;
    float: none !important;
  }
  .hk-nav .hk-mega { overflow: visible !important; }
  .hk-nav .hk-mega__col { margin: 0 0 1rem !important; }
  .hk-nav .hk-mega__col li { margin: 0 0 .6rem !important; }
}

/* only the tapped top-level item shows its panel on mobile */
@media (max-width: 900px) {
  .hk-nav .hk-mega { display: none !important; }
  .hk-nav > ul > li.is-open > .hk-mega { display: block !important; }
}
