/* ==========================================================================
   Cart, checkout, order received, My Account, voucher pages.
   Woo's classic CSS is still loaded, so selectors here are prefixed with the
   body/page classes (.hk-flow, .hk-account-page) to win cleanly without !important.
   ========================================================================== */

/* ---------- Page frame ---------- */
.hk-flow-main { width: 100%; max-width: var(--hk-wide); margin-inline: auto; padding: clamp(1.25rem, 3vw, 2.5rem) var(--hk-gutter) var(--wp--preset--spacing--70); }
.hk-flow-main > * + * { margin-block-start: 0; }
.hk-flow-content { margin: 0; }
.woocommerce-page main .hk-flow-content > .woocommerce, .hk-account-page main .wp-block-post-title { max-width: none; margin: 0; }
body.woocommerce-checkout { background: var(--hk-surface); }
body.woocommerce-checkout .hk-flow-main { max-width: calc(1200px + 2 * var(--hk-gutter)); }

/* ---------- Title + progress ---------- */
.hk-flow-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: clamp(1.25rem, 3vw, 2rem); }
.hk-flow-head__title { display: flex; align-items: baseline; gap: .75rem; }
.hk-flow-head h1 { margin: 0; font-size: var(--wp--preset--font-size--xl); letter-spacing: -.022em; }
.hk-flow-head__meta { color: var(--hk-muted); font-size: var(--wp--preset--font-size--sm); }
.hk-flow-head--account { display: block; }

.hk-flowsteps { display: flex; align-items: center; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.hk-flowsteps__item { display: flex; align-items: center; font-size: var(--wp--preset--font-size--sm); color: var(--hk-muted); }
.hk-flowsteps__item + .hk-flowsteps__item::before { content: ""; width: clamp(20px, 4vw, 48px); height: 1px; margin-inline: .75rem; background: var(--hk-line); transition: background-color var(--hk-ease); }
.hk-flowsteps__item.is-done + .hk-flowsteps__item::before { background: var(--hk-ink); }
.hk-flowsteps__item a { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; color: inherit; text-decoration: none; }
.hk-flowsteps__item > .hk-flowsteps__dot { margin-right: .6rem; }
.hk-flowsteps__item a:hover .hk-flowsteps__label { text-decoration: underline; }
.hk-flowsteps__dot { position: relative; display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--hk-line); background: var(--hk-bg); font-size: 12px; font-weight: 700; color: var(--hk-muted); transition: background-color var(--hk-ease), border-color var(--hk-ease), color var(--hk-ease); }
.hk-flowsteps__dot .hk-icon { position: absolute; width: 14px; height: 14px; stroke-width: 2.5; opacity: 0; transform: scale(.6); transition: opacity var(--hk-ease-fast), transform var(--hk-ease); }
.hk-flowsteps__label { font-weight: 550; }
.hk-flowsteps__item.is-done { color: var(--hk-ink); }
.hk-flowsteps__item.is-done .hk-flowsteps__dot { background: var(--hk-ink); border-color: var(--hk-ink); color: #fff; }
.hk-flowsteps__item.is-done .hk-flowsteps__n { opacity: 0; }
.hk-flowsteps__item.is-done .hk-flowsteps__dot .hk-icon { opacity: 1; transform: none; }
.hk-flowsteps__item.is-current { color: var(--hk-ink); }
.hk-flowsteps__item.is-current .hk-flowsteps__dot { background: var(--hk-accent); border-color: var(--hk-accent); color: var(--hk-ink); box-shadow: 0 0 0 4px var(--hk-accent-soft); }
.hk-flowsteps__item.is-current .hk-flowsteps__label { font-weight: 650; }
@media (max-width: 599px) {
  .hk-flowsteps-nav { width: 100%; }
  .hk-flowsteps { justify-content: space-between; }
  .hk-flowsteps__item { flex: 1 1 auto; }
  .hk-flowsteps__item:first-child { flex: 0 0 auto; }
  .hk-flowsteps__item + .hk-flowsteps__item::before { flex: 1; margin-inline: .5rem; }
  .hk-flowsteps__label { font-size: var(--wp--preset--font-size--xs); }
}

/* ---------- Notices (shared by every Woo page) ---------- */
.wc-block-components-notice-banner { display: flex; align-items: flex-start; gap: .75rem; margin: 0 0 1rem; padding: .9rem 1.1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius-md, 12px); background: var(--hk-bg); color: var(--hk-ink); font-size: var(--wp--preset--font-size--sm); line-height: 1.5; box-shadow: var(--hk-shadow-sm); }
.wc-block-components-notice-banner > svg { flex: none; width: 20px; height: 20px; padding: 2px; border-radius: 50%; background: var(--hk-ink); fill: #fff; }
.wc-block-components-notice-banner.is-info > svg { background: var(--hk-ink-2); }
.wc-block-components-notice-banner.is-success { background: #F3FBF5; border-color: #CDEBD6; }
.wc-block-components-notice-banner.is-success > svg { background: var(--hk-ok); }
.wc-block-components-notice-banner.is-error { background: #FEF5F5; border-color: #F8D4D4; }
.wc-block-components-notice-banner.is-error > svg { background: var(--hk-sale); }
.wc-block-components-notice-banner__content { flex: 1; align-self: center; }
.wc-block-components-notice-banner__content a:not(.button) { color: inherit; font-weight: 600; }
.wc-block-components-notice-banner__content .button, .wc-block-components-notice-banner__content .wc-forward { float: right; margin-left: 1rem; padding: 0; background: none; border: 0; min-height: 0; color: var(--hk-ink); font-weight: 600; text-decoration: underline; }
.wc-block-components-notice-banner ul { margin: 0; padding-left: 1rem; }

/* ---------- Shared form fields (checkout, account, auth) ---------- */
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row { margin: 0; padding: 0; }
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) { display: block; margin: 0 0 .4rem; font-size: var(--wp--preset--font-size--xs); font-weight: 600; line-height: 1.4; color: var(--hk-ink-2); }
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row .optional { font-weight: 450; color: var(--hk-muted); }
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row :is(.input-text, select, textarea),
:is(.hk-flow, .hk-account-page) .woocommerce :is(input.input-text, select) {
  min-height: 48px; padding: .75rem 1rem; font: inherit; font-size: var(--wp--preset--font-size--sm); line-height: 1.4; color: var(--hk-ink);
  background-color: var(--hk-bg); border: 1px solid var(--hk-line); border-radius: var(--hk-radius-sm); box-shadow: none;
  transition: border-color var(--hk-ease-fast), box-shadow var(--hk-ease-fast);
}
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row textarea { min-height: 96px; resize: vertical; }
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row select { background-position: calc(100% - 1rem) 50%; padding-right: 2.75rem; }
:is(.hk-flow, .hk-account-page) .woocommerce :is(.input-text, select, textarea):hover { border-color: #CDD2DA; }
:is(.hk-flow, .hk-account-page) .woocommerce :is(.input-text, select, textarea):focus { outline: none; border-color: var(--hk-ink); box-shadow: 0 0 0 4px var(--hk-accent-soft); }
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row.woocommerce-validated :is(input.input-text, select) { border-color: var(--hk-line); }
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row.woocommerce-invalid :is(input.input-text, select),
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row.woocommerce-invalid .select2-selection { border-color: var(--hk-sale); }
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row.woocommerce-invalid label { color: var(--hk-sale); }
:is(.hk-flow, .hk-account-page) .woocommerce input[type=checkbox], :is(.hk-flow, .hk-account-page) .woocommerce input[type=radio] { width: 18px; height: 18px; accent-color: var(--hk-ink); cursor: pointer; }
:is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; margin: 0; font-size: var(--wp--preset--font-size--sm); font-weight: 500; cursor: pointer; }
:is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-form__label-for-checkbox input { margin: 0; }
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row .woocommerce-input-wrapper .description { background: var(--hk-ink); border-radius: var(--hk-radius-sm); font-size: var(--wp--preset--font-size--xs); }
:is(.hk-flow, .hk-account-page) .checkout-inline-error-message, :is(.hk-flow, .hk-account-page) .woocommerce-error-message { margin: .35rem 0 0; font-size: var(--wp--preset--font-size--xs); color: var(--hk-sale); }

/* Field grids */
:is(.hk-flow, .hk-account-page) :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1rem;
}
:is(.hk-flow, .hk-account-page) :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) > * { grid-column: 1 / -1; float: none; width: auto; }
:is(.hk-flow, .hk-account-page) .woocommerce form :is(.form-row-first, .form-row-last) { float: none; width: auto; }
:is(.hk-flow, .hk-account-page) :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) > .form-row-first { grid-column: 1; }
:is(.hk-flow, .hk-account-page) :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) > .form-row-last { grid-column: 2; }
:is(.hk-flow, .hk-account-page) .woocommerce-EditAccountForm > .clear { display: none; }
@media (max-width: 599px) {
  :is(.hk-flow, .hk-account-page) :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) > :is(.form-row-first, .form-row-last) { grid-column: 1 / -1; }
}

/* Select2 (country/state) */
:is(.hk-flow, .hk-account-page) .select2-container .select2-selection--single { height: 48px; border: 1px solid var(--hk-line); border-radius: var(--hk-radius-sm); background: var(--hk-bg); }
:is(.hk-flow, .hk-account-page) .woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 2.75rem 0 1rem; line-height: 46px; font-size: var(--wp--preset--font-size--sm); color: var(--hk-ink); }
:is(.hk-flow, .hk-account-page) .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: .75rem; }
:is(.hk-flow, .hk-account-page) .select2-container--focus .select2-selection--single,
:is(.hk-flow, .hk-account-page) .select2-container--open .select2-selection--single { border-color: var(--hk-ink); box-shadow: 0 0 0 4px var(--hk-accent-soft); }
.select2-dropdown { border: 1px solid var(--hk-line); border-radius: var(--hk-radius-sm); box-shadow: var(--hk-shadow-lg); overflow: hidden; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--hk-ink); color: #fff; }
.select2-search--dropdown .select2-search__field { border: 1px solid var(--hk-line); border-radius: 6px; min-height: 40px; padding: .4rem .6rem; }

/* ==========================================================================
   Checkout header / footer (distraction-free)
   ========================================================================== */
.hk-co-header { background: var(--hk-bg); border-bottom: 1px solid var(--hk-line); }
.hk-co-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; max-width: calc(1200px + 2 * var(--hk-gutter)); margin-inline: auto; padding: 0 var(--hk-gutter); min-height: var(--hk-header-h, 72px); }
.hk-co-header__logo { justify-self: center; display: block; line-height: 0; }
.hk-co-header .hk-co-header__logo-img { display: block; width: auto; height: 44px; max-width: none; }
.hk-co-header__back { justify-self: start; display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; padding-right: .5rem; color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--sm); font-weight: 550; text-decoration: none; }
.hk-co-header__back .hk-icon { width: 18px; height: 18px; transition: transform var(--hk-ease-fast); }
.hk-co-header__back:hover { color: var(--hk-ink); }
.hk-co-header__back:hover .hk-icon { transform: translateX(-2px); }
.hk-co-header__secure { justify-self: end; display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .8rem; border-radius: var(--hk-pill); background: var(--hk-surface); color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--xs); font-weight: 600; }
.hk-co-header__secure .hk-icon { width: 16px; height: 16px; color: var(--hk-ok); }
@media (max-width: 599px) {
  .hk-co-header__back span, .hk-co-header__secure span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .hk-co-header__back { width: 44px; justify-content: center; padding: 0; }
  .hk-co-header__secure { width: 36px; height: 36px; padding: 0; justify-content: center; }
  .hk-co-header .hk-co-header__logo-img { height: 36px; }
}

.hk-co-footer { border-top: 1px solid var(--hk-line); background: var(--hk-bg); }
.hk-co-footer__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; max-width: calc(1200px + 2 * var(--hk-gutter)); margin-inline: auto; padding: 1.5rem var(--hk-gutter); font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); }
.hk-co-footer__inner p { margin: 0; }
.hk-co-footer__links { display: flex; flex-wrap: wrap; gap: 0 1.25rem; margin: 0; padding: 0; list-style: none; }
.hk-co-footer__links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--hk-ink-2); text-decoration: none; }
.hk-co-footer__links a:hover { color: var(--hk-ink); text-decoration: underline; }

/* ---------- Trust list ---------- */
.hk-trust { display: grid; gap: .9rem; margin: 0; padding: 0; list-style: none; }
.hk-trust__item { display: flex; align-items: flex-start; gap: .75rem; font-size: var(--wp--preset--font-size--xs); line-height: 1.4; }
.hk-trust__item .hk-icon { width: 20px; height: 20px; margin-top: 1px; color: var(--hk-ink-2); }
.hk-trust__item strong { display: block; font-weight: 600; color: var(--hk-ink); }
.hk-trust__item small { display: block; font-size: 12px; color: var(--hk-muted); }
.hk-trust--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem .75rem; padding-top: 1.25rem; margin-top: 1.25rem; border-top: 1px solid var(--hk-line); }
.hk-trust--summary { margin-top: 1.25rem; padding: 0 .25rem; }

/* ==========================================================================
   Checkout
   ========================================================================== */
.hk-flow .woocommerce-form-login-toggle .wc-block-components-notice-banner { box-shadow: none; }
.hk-flow .woocommerce form.woocommerce-form-login { margin: 0 0 1rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.hk-flow .woocommerce form.woocommerce-form-login[style*="none"] { display: none; }
.hk-flow .woocommerce form.woocommerce-form-login > p:first-child, .hk-flow .woocommerce form.woocommerce-form-login > .form-row:not(.form-row-first):not(.form-row-last), .hk-flow .woocommerce form.woocommerce-form-login > .lost_password { grid-column: 1 / -1; margin: 0; }
.hk-flow .woocommerce form.woocommerce-form-login > .clear { display: none; }
.hk-flow .woocommerce form.woocommerce-form-login .form-row:last-of-type { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
@media (max-width: 599px) { .hk-flow .woocommerce form.woocommerce-form-login { grid-template-columns: 1fr; } }

.hk-checkout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: start; }
.hk-checkout__main { display: grid; gap: 1rem; min-width: 0; }
@media (min-width: 1024px) {
  .hk-checkout { grid-template-columns: minmax(0, 1fr) minmax(360px, 420px); gap: 2rem; }
  .hk-checkout__main { grid-column: 1; grid-row: 1; }
  .hk-co-summary { grid-column: 2; grid-row: 1; position: sticky; top: 1.5rem; }
}

.hk-co-panel { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg); box-shadow: var(--hk-shadow-sm); }
.hk-co-panel__head { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.5rem; }
.hk-co-panel__num { display: inline-grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--hk-ink); color: #fff; font-size: 13px; font-weight: 700; }
.hk-co-panel__title { margin: 0; font-size: var(--wp--preset--font-size--lg); }
.hk-co-panel__aside { margin-left: auto; display: inline-flex; align-items: center; gap: .35rem; font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); }
.hk-co-panel__aside .hk-icon { width: 15px; height: 15px; color: var(--hk-ok); }

.hk-flow .hk-co-details.col2-set { display: grid; gap: 1.75rem; width: auto; }
.hk-flow .hk-co-details.col2-set::before, .hk-flow .hk-co-details.col2-set::after { content: none; }
.hk-flow .hk-co-details .col-1, .hk-flow .hk-co-details .col-2 { float: none; width: auto; max-width: none; }
.hk-co-details h3 { margin: 0 0 1rem; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--sm); font-weight: 650; letter-spacing: 0; color: var(--hk-ink); }
.hk-co-details .woocommerce-billing-fields > h3 { font-size: 12px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--hk-muted); }
.hk-co-details #ship-to-different-address { margin: 0; padding-top: 1.5rem; border-top: 1px solid var(--hk-line); }
.hk-co-details #ship-to-different-address label { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; font-weight: 600; cursor: pointer; }
.hk-co-details .shipping_address { padding-top: 1rem; }
.hk-co-details .woocommerce-additional-fields > h3 { padding-top: 1.5rem; border-top: 1px solid var(--hk-line); }
.hk-co-details .col-2:not(:has(.woocommerce-shipping-fields *, .woocommerce-additional-fields__field-wrapper *)) { display: none; }

/* Payment methods as tiles */
.hk-flow .woocommerce-checkout #payment { background: none; border-radius: 0; }
.hk-flow .woocommerce-checkout #payment ul.payment_methods { display: grid; gap: .75rem; margin: 0; padding: 0; border: 0; }
.hk-flow .woocommerce-checkout #payment ul.payment_methods::before, .hk-flow .woocommerce-checkout #payment ul.payment_methods::after { content: none; }
.hk-flow .woocommerce-checkout #payment ul.payment_methods li { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: .85rem; margin: 0; padding: 1rem 1.1rem; list-style: none; border: 1px solid var(--hk-line); border-radius: var(--hk-radius-md, 12px); background: var(--hk-bg); line-height: 1.4; transition: border-color var(--hk-ease-fast), box-shadow var(--hk-ease-fast), background-color var(--hk-ease-fast); }
.hk-flow .woocommerce-checkout #payment ul.payment_methods li::before, .hk-flow .woocommerce-checkout #payment ul.payment_methods li::after { content: none; }
.hk-flow .woocommerce-checkout #payment ul.payment_methods li:hover { border-color: #CDD2DA; }
.hk-flow .woocommerce-checkout #payment ul.payment_methods li:has(> input:checked) { border-color: var(--hk-ink); box-shadow: inset 0 0 0 1px var(--hk-ink); background: #FCFCFD; }
.hk-flow .woocommerce-checkout #payment ul.payment_methods li > input.input-radio { width: 20px; height: 20px; margin: 0; }
.hk-flow .woocommerce-checkout #payment ul.payment_methods li > label { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin: 0; min-height: 28px; font-size: var(--wp--preset--font-size--sm); font-weight: 600; cursor: pointer; }
.hk-flow .woocommerce-checkout #payment ul.payment_methods li > label::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.hk-flow .woocommerce-checkout #payment ul.payment_methods li > label img { max-height: 24px; width: auto; margin: 0; }
.hk-pay-icon { display: inline-grid; place-items: center; width: 40px; height: 28px; border-radius: 6px; background: var(--hk-surface); color: var(--hk-ink-2); flex: none; }
.hk-pay-icon .hk-icon { width: 18px; height: 18px; }
.hk-flow .woocommerce-checkout #payment div.payment_box { grid-column: 1 / -1; position: relative; z-index: 1; margin: .85rem 0 0; padding: .85rem 1rem; border-radius: var(--hk-radius-sm); background: var(--hk-surface); color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--xs); }
.hk-flow .woocommerce-checkout #payment div.payment_box::before { content: none; }
.hk-flow .woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }
.hk-flow .woocommerce-checkout #payment div.form-row.place-order { margin: 1.5rem 0 0; padding: 0; }
.hk-flow .woocommerce-checkout #payment .woocommerce-privacy-policy-text p { margin: 0 0 .75rem; font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); line-height: 1.55; }
.hk-flow .woocommerce-checkout #payment .woocommerce-terms-and-conditions { margin: 0 0 .75rem; padding: 1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius-sm); font-size: var(--wp--preset--font-size--xs); background: var(--hk-surface); }
.hk-flow .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .form-row { margin-bottom: .5rem; }
.hk-flow .woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text { font-weight: 500; }
.hk-flow .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .required { visibility: visible; color: var(--hk-sale); text-decoration: none; }
.hk-flow .woocommerce #payment #place_order {
  float: none; width: 100%; min-height: 56px; margin: .5rem 0 0; padding: 1rem 1.5rem; border: 0; border-radius: var(--hk-pill);
  background: var(--hk-accent); color: var(--hk-ink); font-size: var(--wp--preset--font-size--md); font-weight: 650; letter-spacing: -.005em;
  display: flex; align-items: center; justify-content: center; gap: .6rem; box-shadow: 0 1px 0 rgba(22,24,29,.06), 0 8px 20px rgba(242,169,0,.25);
}
.hk-flow .woocommerce #payment #place_order::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--hk-lock-mask) center / contain no-repeat; mask: var(--hk-lock-mask) center / contain no-repeat; }
.hk-flow .woocommerce #payment #place_order:hover { background: var(--hk-accent-strong); }
.hk-flow .woocommerce #payment #place_order:active { transform: translateY(1px); }
:root { --hk-lock-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E"); }
.hk-flow .blockUI.blockOverlay { background: rgba(255,255,255,.7) !important; border-radius: inherit; }

/* Summary card */
.hk-co-summary { min-width: 0; }
.hk-co-summary__body { padding: clamp(1.25rem, 2.5vw, 1.75rem); border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg); box-shadow: var(--hk-shadow); }
.hk-co-summary__toggle { display: none; }
.hk-co-summary__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.hk-co-summary__title { margin: 0; font-size: var(--wp--preset--font-size--lg); }
.hk-co-summary__edit { font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--hk-ink-2); }
.hk-flow .woocommerce-checkout #order_review { float: none; width: auto; }

.hk-flow table.hk-review { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-radius: 0; font-size: var(--wp--preset--font-size--sm); }
.hk-flow table.hk-review :is(th, td) { padding: .6rem 0; border: 0; background: none; vertical-align: top; line-height: 1.45; }
.hk-flow table.hk-review tbody td { padding: .75rem 0; border-bottom: 1px solid var(--hk-line); }
.hk-flow table.hk-review tbody tr:first-child td { padding-top: 0; }
.hk-flow table.hk-review td.product-total, .hk-flow table.hk-review tfoot td { text-align: right; white-space: nowrap; padding-left: 1rem; font-weight: 600; }
.hk-review__line { display: flex; align-items: flex-start; gap: .9rem; }
.hk-review__media { position: relative; flex: none; width: 64px; height: 64px; border-radius: var(--hk-radius-md, 12px); background: var(--hk-surface); }
.hk-review__img { width: 100%; height: 100%; object-fit: contain; padding: 6px; mix-blend-mode: multiply; border-radius: inherit; }
.hk-review__qty { position: absolute; top: -7px; right: -7px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--hk-ink); color: #fff; font-size: 11px; font-weight: 700; line-height: 22px; text-align: center; box-shadow: 0 0 0 2px var(--hk-bg); }
.hk-review__text { min-width: 0; padding-top: .15rem; }
.hk-review__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 550; font-size: var(--wp--preset--font-size--xs); line-height: 1.45; }
.hk-review__text .product-quantity { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hk-review__text .variation, .hk-review__text dl { margin: .2rem 0 0; font-size: 12px; color: var(--hk-muted); }
.hk-flow table.hk-review tfoot th { text-align: left; font-weight: 450; color: var(--hk-ink-2); }
.hk-flow table.hk-review tfoot tr:first-child :is(th, td) { padding-top: 1rem; }
.hk-flow table.hk-review tfoot .order-total :is(th, td) { padding-top: 1rem; border-top: 1px solid var(--hk-line); vertical-align: baseline; }
.hk-flow table.hk-review tfoot .order-total th { font-weight: 650; color: var(--hk-ink); font-size: var(--wp--preset--font-size--md); }
.hk-flow table.hk-review tfoot .order-total td { font-size: var(--wp--preset--font-size--lg); font-weight: 700; letter-spacing: -.02em; }
.hk-flow table.hk-review tfoot .order-total td small { display: block; font-size: 12px; font-weight: 450; color: var(--hk-muted); letter-spacing: 0; }
.hk-flow table.hk-review .cart-discount td, .hk-flow .hk-totals .cart-discount td { color: var(--hk-ok); }
.hk-flow .woocommerce-remove-coupon { margin-left: .35rem; font-size: 12px; font-weight: 500; color: var(--hk-muted); }
.hk-flow :is(.hk-review, .hk-totals) #shipping_method { margin: 0; padding: 0; list-style: none; text-align: left; }
.hk-flow :is(.hk-review, .hk-totals) #shipping_method li { display: flex; align-items: center; gap: .5rem; margin: 0 0 .35rem; font-weight: 500; }
.hk-flow :is(.hk-review, .hk-totals) #shipping_method li label { margin: 0; }
.hk-flow table.hk-review tfoot .woocommerce-shipping-totals td { white-space: normal; }
.hk-flow :is(.hk-review, .hk-totals) #shipping_method li { align-items: flex-start; }
.hk-flow :is(.hk-review, .hk-totals) #shipping_method li input { flex: none; margin-top: .2em; }

/* Coupon collapsible */
.hk-co-coupon { margin-top: 1rem; border-top: 1px solid var(--hk-line); }
.hk-co-coupon summary { display: flex; align-items: center; gap: .6rem; min-height: 52px; padding-top: .5rem; cursor: pointer; list-style: none; font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
.hk-co-coupon summary::-webkit-details-marker { display: none; }
.hk-co-coupon summary .hk-icon { width: 18px; height: 18px; color: var(--hk-ink-2); }
.hk-co-coupon__chev { margin-left: auto; transition: transform var(--hk-ease); }
.hk-co-coupon[open] .hk-co-coupon__chev { transform: rotate(180deg); }
.hk-co-coupon__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; padding-bottom: .25rem; }
.hk-co-coupon[open] .hk-co-coupon__body { animation: hk-co-in var(--hk-ease); }
.hk-co-coupon.is-busy { cursor: progress; }
.hk-co-coupon.is-busy .hk-btn { opacity: .6; }
.hk-co-coupon__msg { grid-column: 1 / -1; }
.hk-co-coupon__msg:empty { display: none; }
.hk-co-coupon__msg .wc-block-components-notice-banner { margin: .25rem 0 0; box-shadow: none; font-size: var(--wp--preset--font-size--xs); }
.hk-co-coupon.has-error input { border-color: var(--hk-sale); }
@keyframes hk-co-in { from { opacity: 0; transform: translateY(-4px); } }

.hk-trust--mobile { display: none; }
@media (max-width: 1023px) {
  .hk-co-summary__toggle { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 56px; padding: .75rem 1.1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg); color: var(--hk-ink); font: inherit; cursor: pointer; box-shadow: var(--hk-shadow-sm); }
  .hk-co-summary__toggle-label { display: inline-flex; align-items: center; gap: .5rem; font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
  .hk-co-summary__toggle-label .hk-icon { width: 18px; height: 18px; }
  .hk-co-summary__chev { transition: transform var(--hk-ease); }
  .hk-co-summary.is-open .hk-co-summary__chev { transform: rotate(180deg); }
  .hk-co-summary__toggle-total { font-weight: 700; font-size: var(--wp--preset--font-size--md); }
  .hk-co-summary__body { display: none; margin-top: .5rem; box-shadow: var(--hk-shadow-sm); }
  .hk-co-summary.is-open .hk-co-summary__body, .woocommerce-no-js .hk-co-summary__body { display: block; animation: hk-co-in var(--hk-ease); }
  .hk-co-summary.is-open .hk-co-summary__toggle { border-color: var(--hk-ink); }
  .hk-trust--summary { display: none; }
  .hk-trust--mobile { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem .75rem; padding: .5rem .25rem 0; }
}

/* ==========================================================================
   Cart
   ========================================================================== */
.hk-cart { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: start; }
@media (min-width: 1024px) {
  .hk-cart { grid-template-columns: minmax(0, 1fr) minmax(340px, 400px); gap: 2.5rem; }
  .hk-cart__side { position: sticky; top: calc(var(--hk-sticky-h, var(--hk-header-h, 72px)) + 1.5rem); }
}
.hk-flow .woocommerce .hk-cart__side.cart-collaterals { width: auto; float: none; }
.hk-flow .woocommerce .hk-cart__side .cart_totals { float: none; width: auto; }
.hk-cart__main { min-width: 0; }
.hk-cart__list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.hk-cart__extra { width: 100%; margin: .75rem 0 0; }

.hk-line {
  display: grid; grid-template-columns: 104px minmax(0, 1fr) auto minmax(96px, auto) 44px;
  grid-template-areas: "media info qty total remove"; align-items: center; gap: 1.25rem;
  padding: 1rem 1.25rem 1rem 1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg);
  transition: box-shadow var(--hk-ease), border-color var(--hk-ease);
}
.hk-line:hover { border-color: #D8DCE3; box-shadow: var(--hk-shadow-sm); }
.hk-line__media { grid-area: media; width: 100%; min-width: 0; aspect-ratio: 1; border-radius: var(--hk-radius-md, 12px); background: var(--hk-surface); overflow: hidden; }
.hk-line__media a { display: block; height: 100%; }
.hk-line__media img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 10%; mix-blend-mode: multiply; }
.hk-line__info { grid-area: info; display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.hk-line__brand { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--hk-muted); }
.hk-line__name { font-size: var(--wp--preset--font-size--sm); font-weight: 600; line-height: 1.4; }
.hk-line__name a { color: var(--hk-ink); text-decoration: none; }
.hk-line__name a:hover { color: var(--hk-accent-strong); }
.hk-line__unit { margin-top: .15rem; font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); }
.hk-line__unit .amount { color: var(--hk-ink-2); }
.hk-line__info .variation, .hk-line__info dl { margin: .15rem 0 0; font-size: 12px; color: var(--hk-muted); }
.hk-line__info .backorder_notification { margin: .25rem 0 0; font-size: 12px; color: var(--hk-accent-text); }
.hk-line__qty { grid-area: qty; }
.hk-line__total { grid-area: total; text-align: right; font-size: var(--wp--preset--font-size--md); font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
.hk-line__remove { grid-area: remove; justify-self: end; }
.hk-line__single { font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); }
.hk-flow .woocommerce .hk-line a.remove { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: var(--hk-pill); color: var(--hk-muted) !important; background: transparent; font-size: inherit; line-height: 1; }
.hk-flow .woocommerce .hk-line a.remove:hover { color: var(--hk-sale) !important; background: #FEF2F2; }
.hk-flow .woocommerce .hk-line a.remove .hk-icon { width: 19px; height: 19px; }

.hk-line .hk-qty { display: inline-flex; align-items: center; height: 44px; padding: 0 2px; border: 1px solid var(--hk-line); border-radius: var(--hk-pill); background: var(--hk-bg); }
.hk-line .hk-qty:focus-within { border-color: var(--hk-ink); }
.hk-line .hk-qty__btn { display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--hk-ink); cursor: pointer; transition: background-color var(--hk-ease-fast); }
.hk-line .hk-qty__btn:hover { background: var(--hk-surface); }
.hk-line .hk-qty__btn .hk-icon { width: 16px; height: 16px; stroke-width: 2; }
.hk-line .hk-qty .quantity { display: contents; }
.hk-flow .woocommerce .hk-qty .quantity .qty { width: 2.5rem; min-height: 0; height: 40px; padding: 0; border: 0; background: transparent; box-shadow: none; text-align: center; font-size: var(--wp--preset--font-size--sm); font-weight: 650; color: var(--hk-ink); -moz-appearance: textfield; appearance: textfield; }
.hk-flow .woocommerce .hk-qty .quantity .qty::-webkit-inner-spin-button, .hk-flow .woocommerce .hk-qty .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.hk-flow .woocommerce .hk-qty .quantity .qty:focus { box-shadow: none; outline: none; }

.hk-cart__actions { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; padding: 1.25rem; border: 1px dashed var(--hk-line); border-radius: var(--hk-radius); }
.hk-cart__coupon { display: grid; gap: .5rem; flex: 1 1 320px; max-width: 460px; }
.hk-cart__coupon-label { display: inline-flex; align-items: center; gap: .5rem; font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
.hk-cart__coupon-label .hk-icon { width: 18px; height: 18px; color: var(--hk-ink-2); }
.hk-cart__coupon-row { display: flex; gap: .5rem; }
.hk-flow .woocommerce .hk-cart__coupon .input-text { flex: 1; width: auto; min-height: 44px; padding: .6rem 1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-pill); font: inherit; font-size: var(--wp--preset--font-size--sm); }
.hk-flow .woocommerce .hk-cart__coupon .input-text:focus { outline: none; border-color: var(--hk-ink); box-shadow: 0 0 0 4px var(--hk-accent-soft); }
.hk-flow .woocommerce .hk-cart__coupon .coupon-error-notice { margin: 0; font-size: var(--wp--preset--font-size--xs); color: var(--hk-sale); }
.woocommerce-js .hk-cart__update { display: none; }
.hk-flow .woocommerce .hk-cart__actions .hk-btn { border-radius: var(--hk-pill); padding: .6rem 1.25rem; font-size: var(--wp--preset--font-size--sm); font-weight: 600; background: transparent; color: var(--hk-ink); border: 1px solid var(--hk-line); }
.hk-flow .woocommerce .hk-cart__actions .hk-btn:hover { border-color: var(--hk-ink); }
.hk-flow .woocommerce .hk-cart__actions .hk-btn:disabled { opacity: .5; }

@media (max-width: 719px) {
  .hk-line { grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "media info remove" "media qty total"; gap: .5rem .9rem; padding: .85rem; align-items: start; }
  .hk-line__media { align-self: start; }
  .hk-line__remove { margin: -.5rem -.5rem 0 0; }
  .hk-line__qty { align-self: end; }
  .hk-line__total { align-self: center; grid-column: 3; }
  .hk-line .hk-qty { height: 40px; }
  .hk-line .hk-qty__btn { width: 36px; height: 36px; }
  .hk-flow .woocommerce .hk-qty .quantity .qty { height: 36px; width: 2.25rem; }
  .hk-cart__actions { padding: 1rem; }
}

/* Totals */
.hk-flow .woocommerce .hk-totals { padding: clamp(1.25rem, 2.5vw, 1.75rem); border-radius: var(--hk-radius-xl); background: var(--hk-surface); }
.hk-totals__title { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--lg); }
.hk-flow .woocommerce .hk-totals table.shop_table { width: 100%; margin: 0; border: 0; border-radius: 0; border-collapse: collapse; font-size: var(--wp--preset--font-size--sm); }
.hk-flow .woocommerce .hk-totals table.shop_table tr { display: table-row; }
.hk-flow .woocommerce .hk-totals table.shop_table :is(th, td) { display: table-cell; padding: .55rem 0; border: 0; background: none !important; vertical-align: top; line-height: 1.45; }
.hk-flow .woocommerce .hk-totals table.shop_table th { width: 40%; text-align: left; font-weight: 450; color: var(--hk-ink-2); }
.hk-flow .woocommerce .hk-totals table.shop_table td { text-align: right !important; font-weight: 600; }
.hk-flow .woocommerce .hk-totals table.shop_table td::before { content: none; }
.hk-flow .woocommerce .hk-totals .order-total :is(th, td) { padding-top: 1rem; border-top: 1px solid #DDE1E7; vertical-align: baseline; }
.hk-flow .woocommerce .hk-totals .order-total th { font-weight: 650; color: var(--hk-ink); font-size: var(--wp--preset--font-size--md); }
.hk-flow .woocommerce .hk-totals .order-total td { font-size: var(--wp--preset--font-size--xl); font-weight: 700; letter-spacing: -.022em; }
.hk-flow .woocommerce .hk-totals .order-total td small { display: block; font-size: 12px; font-weight: 450; letter-spacing: 0; color: var(--hk-muted); }
.hk-flow .woocommerce .hk-totals .woocommerce-shipping-destination { margin: .35rem 0 0; font-size: 12px; font-weight: 450; color: var(--hk-muted); }
.hk-flow .woocommerce .hk-totals .shipping-calculator-button { display: inline-flex; align-items: center; gap: .3rem; margin-top: .25rem; font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--hk-ink); }
.hk-flow .woocommerce .hk-totals .shipping-calculator-button::after { content: none; }
.hk-flow .woocommerce .hk-totals .shipping-calculator-form { margin-top: .75rem; text-align: left; }
.hk-flow .woocommerce .hk-totals .shipping-calculator-form p { margin: 0 0 .5rem; }
.hk-flow .woocommerce .hk-totals .shipping-calculator-form :is(.input-text, select) { min-height: 44px; padding: .55rem .9rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius-sm); background-color: var(--hk-bg); font-size: var(--wp--preset--font-size--xs); }
.hk-flow .woocommerce .hk-totals .shipping-calculator-form .select2-selection--single { height: 44px; }
.hk-flow .woocommerce .hk-totals .shipping-calculator-form button { width: 100%; }
.hk-flow .woocommerce .hk-totals .wc-proceed-to-checkout { padding: 1.25rem 0 0; }
.hk-flow .woocommerce .hk-totals .wc-proceed-to-checkout a.checkout-button {
  display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; min-height: 56px; margin: 0; padding: 1rem 1.5rem;
  border-radius: var(--hk-pill); background: var(--hk-accent); color: var(--hk-ink); font-size: var(--wp--preset--font-size--md); font-weight: 650; text-decoration: none;
  box-shadow: 0 1px 0 rgba(22,24,29,.06), 0 8px 20px rgba(242,169,0,.25); transition: background-color var(--hk-ease-fast), transform var(--hk-ease-fast);
}
.hk-flow .woocommerce .hk-totals .wc-proceed-to-checkout a.checkout-button::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--hk-lock-mask) center / contain no-repeat; mask: var(--hk-lock-mask) center / contain no-repeat; }
.hk-flow .woocommerce .hk-totals .wc-proceed-to-checkout a.checkout-button:hover { background: var(--hk-accent-strong); }
.hk-totals__note { margin: .75rem 0 0; text-align: center; font-size: 12px; color: var(--hk-muted); }
.hk-flow .woocommerce .hk-totals .hk-trust--compact { border-top-color: #DDE1E7; }

/* Cross-sells */
.hk-cart-rail { padding-bottom: 0; }
.hk-cart-rail .hk-section-head h2 { font-size: var(--wp--preset--font-size--xl); }

/* Empty cart */
.hk-cart-empty { display: grid; gap: clamp(2rem, 5vw, 3.5rem); }
.hk-cart-empty__card { display: grid; justify-items: center; gap: .75rem; padding: clamp(2rem, 6vw, 4rem) clamp(1.25rem, 4vw, 3rem); border-radius: var(--hk-radius-xl); background: var(--hk-surface); text-align: center; }
.hk-cart-empty__icon { display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: .5rem; border-radius: 50%; background: var(--hk-bg); box-shadow: var(--hk-shadow); }
.hk-cart-empty__icon .hk-icon { width: 30px; height: 30px; stroke-width: 1.5; }
.hk-cart-empty__title { margin: 0; font-size: var(--wp--preset--font-size--xl); }
.hk-cart-empty__text { max-width: 44ch; margin: 0; color: var(--hk-muted); }
.hk-cart-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: .75rem 0 0; }
.hk-cart-empty__actions .hk-btn .hk-icon { width: 18px; height: 18px; transition: transform var(--hk-ease-fast); }
.hk-cart-empty__actions .hk-btn:hover .hk-icon { transform: translateX(3px); }
.hk-cart-empty__cats-title { margin: 0 0 1.25rem; font-size: var(--wp--preset--font-size--lg); }
.hk-cart-empty__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--30); margin: 0; padding: 0; list-style: none; }
@media (min-width: 720px) { .hk-cart-empty__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .hk-cart-empty__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.hk-cat-tile { display: flex; flex-direction: column; gap: .15rem; height: 100%; padding: .75rem .75rem 1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg); color: var(--hk-ink); text-decoration: none; transition: box-shadow var(--hk-ease), transform var(--hk-ease), border-color var(--hk-ease); }
.hk-cat-tile:hover { transform: translateY(-3px); box-shadow: var(--hk-shadow-lg); border-color: transparent; color: var(--hk-ink); }
.hk-cat-tile__media { display: grid; place-items: center; aspect-ratio: 1; margin-bottom: .6rem; border-radius: var(--hk-radius-md, 12px); background: var(--hk-surface); overflow: hidden; }
.hk-cat-tile__img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--hk-ease-slow); }
.hk-cat-tile:hover .hk-cat-tile__img { transform: scale(1.04); }
.hk-cat-tile__ph { width: 32px; height: 32px; color: var(--hk-muted); }
.hk-cat-tile__name { padding-inline: .25rem; font-size: var(--wp--preset--font-size--sm); font-weight: 600; line-height: 1.3; }
.hk-cat-tile__count { padding-inline: .25rem; font-size: 12px; color: var(--hk-muted); }

/* ==========================================================================
   Order received
   ========================================================================== */
.hk-thanks { display: grid; gap: 1rem; max-width: 1040px; margin-inline: auto; }
.hk-thanks__hero { display: grid; justify-items: center; gap: .6rem; padding: clamp(2rem, 6vw, 3.5rem) clamp(1.25rem, 4vw, 3rem); border: 1px solid var(--hk-line); border-radius: var(--hk-radius-xl); background: var(--hk-bg); box-shadow: var(--hk-shadow); text-align: center; }
.hk-thanks__mark { display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: .5rem; border-radius: 50%; background: #ECF8F0; color: var(--hk-ok); box-shadow: 0 0 0 10px #F5FBF7; animation: hk-thanks-pop var(--hk-ease-slow) both; }
.hk-thanks__mark .hk-icon { width: 34px; height: 34px; stroke-width: 2.25; }
.hk-thanks__mark--failed { background: #FEF2F2; color: var(--hk-sale); box-shadow: 0 0 0 10px #FFF7F7; }
@keyframes hk-thanks-pop { from { opacity: 0; transform: scale(.7); } }
.hk-thanks__hero .hk-eyebrow { margin: 0; }
.hk-flow .woocommerce .hk-thanks__title { margin: 0; font-weight: 650; font-size: var(--wp--preset--font-size--2-xl); letter-spacing: -.026em; }
.hk-flow .woocommerce .hk-thanks__lead { max-width: 52ch; margin: 0; padding: 0; border: 0; background: none; color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--md); }
.hk-flow .woocommerce .hk-thanks__lead::before { content: none; }
.hk-flow .woocommerce ul.hk-thanks__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); width: 100%; max-width: 760px; margin: 1.5rem 0 .5rem; padding: 0; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); list-style: none; overflow: hidden; }
.hk-flow .woocommerce ul.hk-thanks__facts::before, .hk-flow .woocommerce ul.hk-thanks__facts::after { content: none; }
.hk-flow .woocommerce ul.hk-thanks__facts li { display: grid; gap: .2rem; float: none; margin: 0; padding: 1rem 1.25rem; border: 0; border-right: 1px solid var(--hk-line); font-size: 12px; text-transform: none; text-align: left; color: var(--hk-muted); }
.hk-flow .woocommerce ul.hk-thanks__facts li:last-child { border-right: 0; }
.hk-flow .woocommerce ul.hk-thanks__facts li strong { font-size: var(--wp--preset--font-size--sm); font-weight: 650; color: var(--hk-ink); text-transform: none; }
.hk-thanks__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: .5rem 0 0; }
.hk-thanks__next { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 720px) { .hk-thanks__next { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hk-thanks__next li { display: flex; gap: .9rem; align-items: flex-start; padding: 1.25rem; border-radius: var(--hk-radius); background: var(--hk-bg); border: 1px solid var(--hk-line); }
.hk-thanks__next .hk-icon { flex: none; width: 22px; height: 22px; color: var(--hk-accent-strong); }
.hk-thanks__next strong { display: block; font-size: var(--wp--preset--font-size--sm); font-weight: 650; }
.hk-thanks__next small { display: block; margin-top: .15rem; font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); line-height: 1.45; }
@media (max-width: 599px) {
  .hk-flow .woocommerce ul.hk-thanks__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hk-flow .woocommerce ul.hk-thanks__facts li:nth-child(2n) { border-right: 0; }
  .hk-flow .woocommerce ul.hk-thanks__facts li:nth-child(n+3) { border-top: 1px solid var(--hk-line); }
}
.hk-thanks__details { display: grid; gap: 1rem; align-items: start; }
@media (min-width: 900px) { .hk-thanks__details { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } }
.hk-thanks__details > :not(section) { grid-column: 1 / -1; }
.hk-thanks__details > :is(script, style, noscript) { display: none; }

/* Order details + customer details (thank-you and account view-order) */
:is(.hk-flow, .hk-account-page) .woocommerce :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-downloads) { margin: 0; padding: clamp(1.25rem, 3vw, 1.75rem); border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg); }
.hk-account-page .woocommerce :is(.woocommerce-order-details, .woocommerce-customer-details) { margin-top: 1rem; }
:is(.hk-flow, .hk-account-page) .woocommerce :is(.woocommerce-order-details__title, .woocommerce-column__title, .woocommerce-order-downloads__title) { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--lg); }
:is(.hk-flow, .hk-account-page) .woocommerce table.woocommerce-table--order-details { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-radius: 0; font-size: var(--wp--preset--font-size--sm); }
:is(.hk-flow, .hk-account-page) .woocommerce table.woocommerce-table--order-details :is(th, td) { padding: .7rem 0; border: 0; border-bottom: 1px solid var(--hk-line); background: none; line-height: 1.45; vertical-align: top; }
:is(.hk-flow, .hk-account-page) .woocommerce table.woocommerce-table--order-details thead th { padding-top: 0; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--hk-muted); }
:is(.hk-flow, .hk-account-page) .woocommerce table.woocommerce-table--order-details :is(td, th):last-child { text-align: right; padding-left: 1rem; }
:is(.hk-flow, .hk-account-page) .woocommerce table.woocommerce-table--order-details .product-name a { color: var(--hk-ink); font-weight: 550; text-decoration: none; }
:is(.hk-flow, .hk-account-page) .woocommerce table.woocommerce-table--order-details .product-quantity { color: var(--hk-muted); font-weight: 500; }
:is(.hk-flow, .hk-account-page) .woocommerce table.woocommerce-table--order-details tfoot th { font-weight: 450; color: var(--hk-ink-2); text-align: left; }
:is(.hk-flow, .hk-account-page) .woocommerce table.woocommerce-table--order-details tfoot td { font-weight: 600; }
:is(.hk-flow, .hk-account-page) .woocommerce table.woocommerce-table--order-details tfoot tr:last-child :is(th, td) { border-bottom: 0; }
:is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-customer-details .col2-set { display: grid; gap: 1.5rem; }
:is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-customer-details .col2-set::before, :is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-customer-details .col2-set::after { content: none; }
:is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-customer-details .col2-set .col-1, :is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-customer-details .col2-set .col-2 { float: none; width: auto; }
:is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-customer-details address { padding: 0; border: 0; font-style: normal; font-size: var(--wp--preset--font-size--sm); line-height: 1.7; color: var(--hk-ink-2); }
:is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-customer-details address p { margin: .35rem 0 0; }
:is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-customer-details--phone::before, :is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-customer-details--email::before { display: none; }
:is(.hk-flow, .hk-account-page) .woocommerce .woocommerce-customer-details :is(.woocommerce-customer-details--phone, .woocommerce-customer-details--email) { padding-left: 0; }
.hk-flow .hk-thanks .woocommerce-customer-details .woocommerce-column__title, .hk-account-page .woocommerce .woocommerce-customer-details .woocommerce-column__title { font-size: var(--wp--preset--font-size--md); font-weight: 650; }
.hk-thanks__details > p { margin: 0; padding: .9rem 1.1rem; border-radius: var(--hk-radius); background: var(--hk-accent-soft); color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--sm); }
:is(.hk-flow, .hk-account-page) .woocommerce table.woocommerce-table--order-details tfoot td { white-space: nowrap; }

/* ==========================================================================
   My Account
   ========================================================================== */
.hk-flow-head--account h1 { margin: 0; font-size: var(--wp--preset--font-size--xl); }
.hk-account-page:not(.logged-in) .hk-flow-head--account { max-width: 1040px; margin-inline: auto; }
.hk-account { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: start; }
@media (min-width: 1024px) { .hk-account { grid-template-columns: 260px minmax(0, 1fr); gap: 3rem; } .hk-account__side { position: sticky; top: calc(var(--hk-sticky-h, var(--hk-header-h, 72px)) + 1.5rem); } }
.hk-account-page .woocommerce .hk-account :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) { float: none; width: auto; }
.hk-account__content { min-width: 0; }
.hk-account__profile { display: flex; align-items: center; gap: .85rem; margin-bottom: 1rem; padding: 0 .25rem; }
.hk-account__avatar { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--hk-accent-soft); color: var(--hk-ink); font-family: var(--wp--preset--font-family--display); font-weight: 700; letter-spacing: .02em; }
.hk-account__who { display: grid; min-width: 0; line-height: 1.35; }
.hk-account__who strong { font-size: var(--wp--preset--font-size--sm); font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hk-account__who small { font-size: 12px; color: var(--hk-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hk-account-page .woocommerce .hk-account-nav ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.hk-account-page .woocommerce .hk-account-nav li { padding: 0; }
.hk-account-page .woocommerce .hk-account-nav a { display: flex; align-items: center; gap: .75rem; min-height: 44px; padding: .6rem .85rem; border-radius: var(--hk-radius-md, 12px); color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--sm); font-weight: 500; text-decoration: none; transition: background-color var(--hk-ease-fast), color var(--hk-ease-fast); }
.hk-account-page .woocommerce .hk-account-nav a .hk-icon { width: 19px; height: 19px; color: var(--hk-muted); transition: color var(--hk-ease-fast); }
.hk-account-page .woocommerce .hk-account-nav a:hover { background: var(--hk-surface); color: var(--hk-ink); text-decoration: none; }
.hk-account-page .woocommerce .hk-account-nav .is-active a { background: var(--hk-surface); color: var(--hk-ink); font-weight: 650; text-decoration: none; }
.hk-account-page .woocommerce .hk-account-nav .is-active a .hk-icon { color: var(--hk-accent-strong); }
.hk-account-page .woocommerce .hk-account-nav .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: .5rem; padding-top: .5rem; border-top: 1px solid var(--hk-line); }
@media (max-width: 1023px) {
  .hk-account__profile { display: none; }
  .hk-account-page .woocommerce .hk-account-nav { margin-inline: calc(-1 * var(--hk-gutter)); }
  .hk-account-page .woocommerce .hk-account-nav ul { display: flex; gap: .5rem; padding: 0 var(--hk-gutter) .25rem; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
  .hk-account-page .woocommerce .hk-account-nav ul::-webkit-scrollbar { display: none; }
  .hk-account-page .woocommerce .hk-account-nav li { flex: none; scroll-snap-align: start; }
  .hk-account-page .woocommerce .hk-account-nav a { padding: .5rem 1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-pill); white-space: nowrap; font-size: var(--wp--preset--font-size--xs); }
  .hk-account-page .woocommerce .hk-account-nav a .hk-icon { width: 16px; height: 16px; }
  .hk-account-page .woocommerce .hk-account-nav .is-active a { background: var(--hk-ink); border-color: var(--hk-ink); color: #fff; }
  .hk-account-page .woocommerce .hk-account-nav .is-active a .hk-icon { color: var(--hk-accent); }
  .hk-account-page .woocommerce .hk-account-nav .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
}

.hk-account__content > h2, .hk-account__content > h3, .hk-account__content > form > h3 { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--lg); }
.hk-account__content > p { color: var(--hk-ink-2); }

/* Dashboard */
.hk-dash { display: grid; gap: clamp(1.5rem, 3vw, 2.25rem); }
.hk-dash__title { margin: 0 0 .35rem; font-size: var(--wp--preset--font-size--xl); }
.hk-dash__text { margin: 0; color: var(--hk-muted); font-size: var(--wp--preset--font-size--sm); }
.hk-dash__text a { color: var(--hk-ink); font-weight: 600; }
.hk-dash__tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.hk-tile { display: flex; align-items: center; gap: 1rem; height: 100%; padding: 1.1rem 1.1rem 1.1rem 1.25rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg); color: var(--hk-ink); text-decoration: none; transition: box-shadow var(--hk-ease), transform var(--hk-ease), border-color var(--hk-ease); }
.hk-tile:hover { transform: translateY(-2px); border-color: transparent; box-shadow: var(--hk-shadow-lg); color: var(--hk-ink); }
.hk-tile__icon { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--hk-surface); transition: background-color var(--hk-ease); }
.hk-tile:hover .hk-tile__icon { background: var(--hk-accent-soft); }
.hk-tile__icon .hk-icon { width: 21px; height: 21px; }
.hk-tile__body { display: grid; gap: .1rem; min-width: 0; flex: 1; }
.hk-tile__title { font-size: var(--wp--preset--font-size--sm); font-weight: 650; }
.hk-tile__text { font-size: 12px; line-height: 1.4; color: var(--hk-muted); }
.hk-tile__arrow { width: 18px; height: 18px; color: var(--hk-muted); transition: transform var(--hk-ease-fast), color var(--hk-ease-fast); }
.hk-tile:hover .hk-tile__arrow { transform: translateX(3px); color: var(--hk-ink); }

.hk-dash__recent-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.hk-dash__recent-head h3 { margin: 0; font-size: var(--wp--preset--font-size--lg); }
.hk-dash__recent-head a { font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--hk-ink); }
.hk-dash__orders { margin: 0; padding: 0; list-style: none; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); overflow: hidden; }
.hk-dash__orders li + li { border-top: 1px solid var(--hk-line); }
.hk-order-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "id status total" "meta status total"; align-items: center; column-gap: 1.25rem; padding: .9rem 1.25rem; color: var(--hk-ink); text-decoration: none; transition: background-color var(--hk-ease-fast); }
.hk-order-row:hover { background: var(--hk-surface); color: var(--hk-ink); }
.hk-order-row__id { grid-area: id; font-size: var(--wp--preset--font-size--sm); font-weight: 650; }
.hk-order-row__meta { grid-area: meta; font-size: 12px; color: var(--hk-muted); }
.hk-order-row .hk-status { grid-area: status; }
.hk-order-row__total { grid-area: total; min-width: 80px; text-align: right; font-weight: 650; font-size: var(--wp--preset--font-size--sm); }
@media (max-width: 479px) { .hk-order-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "id total" "meta status"; row-gap: .35rem; } .hk-order-row .hk-status { justify-self: end; } }

.hk-status { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .65rem; border-radius: var(--hk-pill); background: var(--hk-surface); color: var(--hk-ink-2); font-size: 12px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.hk-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.hk-status--processing { background: var(--hk-accent-soft); color: #8A5A00; }
.hk-status--completed { background: #ECF8F0; color: var(--hk-ok); }
.hk-status--on-hold { background: var(--hk-surface-2); color: var(--hk-ink-2); }
.hk-status--cancelled, .hk-status--failed, .hk-status--refunded { background: #FEF2F2; color: #B91C1C; }

/* Orders table: table on desktop, cards on mobile */
.hk-account-page .woocommerce table.woocommerce-orders-table { width: 100%; margin: 0; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: var(--wp--preset--font-size--sm); }
.hk-account-page .woocommerce table.woocommerce-orders-table :is(th, td) { padding: .9rem 1.1rem; border: 0; border-top: 1px solid var(--hk-line); background: none; vertical-align: middle; line-height: 1.4; }
.hk-account-page .woocommerce table.woocommerce-orders-table thead th { border-top: 0; background: var(--hk-surface); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--hk-muted); }
.hk-account-page .woocommerce table.woocommerce-orders-table tbody tr { transition: background-color var(--hk-ease-fast); }
.hk-account-page .woocommerce table.woocommerce-orders-table tbody tr:hover { background: #FAFBFC; }
.hk-account-page .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a { font-weight: 650; color: var(--hk-ink); text-decoration: none; }
.hk-account-page .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { text-align: right; }
.hk-account-page .woocommerce table.woocommerce-orders-table .woocommerce-button { min-height: 36px; margin: 0 0 0 .35rem; padding: .4rem 1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-pill); background: transparent; color: var(--hk-ink); font-size: var(--wp--preset--font-size--xs); font-weight: 600; }
.hk-account-page .woocommerce table.woocommerce-orders-table .woocommerce-button:hover { border-color: var(--hk-ink); }
@media (max-width: 768px) {
  .hk-account-page .woocommerce table.woocommerce-orders-table { border: 0; border-radius: 0; overflow: visible; }
  .hk-account-page .woocommerce table.woocommerce-orders-table tbody { display: grid; gap: .75rem; }
  .hk-account-page .woocommerce table.woocommerce-orders-table tbody tr { display: grid; grid-template-columns: 1fr 1fr; padding: .5rem 1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg); }
  .hk-account-page .woocommerce table.woocommerce-orders-table tbody tr :is(th, td) { display: flex; flex-direction: column; gap: .1rem; padding: .5rem 0; border: 0; background: none !important; text-align: left !important; }
  .hk-account-page .woocommerce table.woocommerce-orders-table tbody tr :is(th, td)::before { content: attr(data-title); float: none; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--hk-muted); }
  .hk-account-page .woocommerce table.woocommerce-orders-table tbody tr .woocommerce-orders-table__cell-order-actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: .5rem; padding-top: .75rem; border-top: 1px solid var(--hk-line); }
  .hk-account-page .woocommerce table.woocommerce-orders-table tbody tr .woocommerce-orders-table__cell-order-actions::before { content: none; }
  .hk-account-page .woocommerce table.woocommerce-orders-table .woocommerce-button { margin: 0; flex: 1; justify-content: center; }
}
.hk-account-page .woocommerce .woocommerce-pagination { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; }

/* View order */
.hk-account__content > p:has(mark.order-number) { padding: 1rem 1.25rem; border-radius: var(--hk-radius); background: var(--hk-surface); color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--sm); }
.hk-account__content mark { background: none; color: var(--hk-ink); font-weight: 650; }
.hk-account-page .woocommerce .woocommerce-OrderUpdates { margin: 0; padding: 0; list-style: none; }

/* Addresses */
.hk-account-page .woocommerce .woocommerce-Addresses.col2-set { display: grid; gap: 1rem; width: auto; margin-top: 1rem; }
@media (min-width: 720px) { .hk-account-page .woocommerce .woocommerce-Addresses.col2-set { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hk-account-page .woocommerce .woocommerce-Addresses.col2-set::before, .hk-account-page .woocommerce .woocommerce-Addresses.col2-set::after { content: none; }
.hk-account-page .woocommerce .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; max-width: none; padding: 1.5rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); }
.hk-account-page .woocommerce .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.hk-account-page .woocommerce .woocommerce-Address-title::before, .hk-account-page .woocommerce .woocommerce-Address-title::after { content: none; }
.hk-account-page .woocommerce .woocommerce-Address-title h2 { margin: 0; font-size: var(--wp--preset--font-size--md); }
.hk-account-page .woocommerce .woocommerce-Address-title .edit { float: none; display: inline-flex; align-items: center; min-height: 36px; padding: .35rem .9rem; border: 1px solid var(--hk-line); border-radius: var(--hk-pill); font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--hk-ink); text-decoration: none; }
.hk-account-page .woocommerce .woocommerce-Address-title .edit:hover { border-color: var(--hk-ink); }
.hk-account-page .woocommerce .woocommerce-Address address { font-style: normal; line-height: 1.7; color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--sm); }

/* Edit address / account forms */
.hk-account-page .woocommerce :is(.woocommerce-address-fields, .woocommerce-EditAccountForm) { max-width: 720px; }
.hk-account-page .woocommerce .woocommerce-address-fields > p:last-child, .hk-account-page .woocommerce .woocommerce-EditAccountForm > p:last-of-type { margin-top: 1.5rem; }
.hk-account-page .woocommerce .woocommerce-EditAccountForm fieldset { grid-column: 1 / -1; display: grid; gap: 1rem; margin: .5rem 0 0; padding: 1.25rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); }
.hk-account-page .woocommerce .woocommerce-EditAccountForm legend { padding: 0 .5rem; font-weight: 650; font-size: var(--wp--preset--font-size--sm); }
.hk-account-page .woocommerce .woocommerce-EditAccountForm #account_display_name_description { display: block; margin-top: .35rem; font-size: 12px; color: var(--hk-muted); }
.hk-account-page .woocommerce .password-input { display: block; position: relative; }
.hk-account-page .woocommerce .show-password-input { top: 50%; right: .75rem; transform: translateY(-50%); }

/* Buttons inside account / auth content */
:is(.hk-flow, .hk-account-page) .woocommerce :is(button.button, a.button, input.button):not(#place_order):not(.checkout-button):not(.hk-btn):not(.woocommerce-button):not(.wc-forward) { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .8rem 1.6rem; border: 0; border-radius: var(--hk-pill); background: var(--hk-ink); color: #fff; font-size: var(--wp--preset--font-size--sm); font-weight: 600; line-height: 1.2; text-decoration: none; }
:is(.hk-flow, .hk-account-page) .woocommerce :is(button.button, a.button, input.button):not(#place_order):not(.checkout-button):not(.hk-btn):not(.woocommerce-button):not(.wc-forward):hover { background: var(--hk-ink-2); color: #fff; }

/* ---------- Sign in / register ---------- */
.hk-account-page .woocommerce .hk-auth { display: grid; grid-template-columns: minmax(0, 1fr); width: auto; max-width: 1040px; margin: 0 auto; border: 1px solid var(--hk-line); border-radius: var(--hk-radius-xl); background: var(--hk-bg); box-shadow: var(--hk-shadow); overflow: hidden; }
.hk-account-page .woocommerce .hk-auth::before, .hk-account-page .woocommerce .hk-auth::after { content: none; }
@media (min-width: 880px) { .hk-account-page .woocommerce .hk-auth { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hk-account-page .woocommerce .hk-auth--single { grid-template-columns: minmax(0, 1fr); max-width: 520px; } }
.hk-account-page .woocommerce .hk-auth .hk-auth__panel { float: none; width: auto; max-width: none; padding: clamp(1.5rem, 4vw, 3rem); }
.hk-account-page .woocommerce .hk-auth .hk-auth__panel--register { background: var(--hk-surface); }
@media (max-width: 879px) { .hk-account-page .woocommerce .hk-auth .hk-auth__panel--register { border-top: 1px solid var(--hk-line); } }
.hk-auth__title { margin: 0 0 .35rem; font-size: var(--wp--preset--font-size--xl); }
.hk-auth__lead { margin: 0 0 1.5rem; color: var(--hk-muted); font-size: var(--wp--preset--font-size--sm); }
.hk-auth__perks { display: grid; gap: .75rem; margin: 0 0 1.75rem; padding: 0; list-style: none; font-size: var(--wp--preset--font-size--sm); color: var(--hk-ink-2); }
.hk-auth__perks li { display: flex; align-items: flex-start; gap: .75rem; }
.hk-auth__perks .hk-icon { width: 20px; height: 20px; color: var(--hk-accent-strong); }
.hk-account-page .woocommerce .hk-auth form.login, .hk-account-page .woocommerce .hk-auth form.register { display: grid; gap: 1rem; margin: 0; padding: 0; border: 0; border-radius: 0; }
.hk-account-page .woocommerce .hk-auth form.login > .form-row:not(.form-row-wide) { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: .75rem; }
.hk-account-page .woocommerce .hk-auth form :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit) { flex: 1 1 100%; width: 100%; margin: 0; order: 2; }
.hk-account-page .woocommerce .hk-auth form .woocommerce-form-login__rememberme { order: 1; }
.hk-account-page .woocommerce .hk-auth .lost_password { margin: 0; font-size: var(--wp--preset--font-size--xs); }
.hk-account-page .woocommerce .hk-auth .lost_password a { color: var(--hk-ink-2); }
.hk-account-page .woocommerce .hk-auth form.register > p:not(.form-row) { margin: 0; font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); }
.hk-account-page .woocommerce .hk-auth .woocommerce-privacy-policy-text p { margin: 0; font-size: 12px; color: var(--hk-muted); line-height: 1.5; }

/* Lost / reset password */
.hk-account-page .woocommerce form.woocommerce-ResetPassword { display: grid; gap: 1rem; max-width: 520px; margin: 0 auto; padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--hk-line); border-radius: var(--hk-radius-xl); box-shadow: var(--hk-shadow); }
.hk-account-page .woocommerce form.woocommerce-ResetPassword > p:first-child { margin: 0; color: var(--hk-ink-2); font-size: var(--wp--preset--font-size--sm); }
.hk-account-page .woocommerce form.woocommerce-ResetPassword :is(.form-row-first, .form-row-last) { width: 100%; }
.hk-account-page .woocommerce form.woocommerce-ResetPassword .clear { display: none; }

@media (prefers-reduced-motion: reduce) {
  .hk-thanks__mark, .hk-co-coupon[open] .hk-co-coupon__body, .hk-co-summary.is-open .hk-co-summary__body { animation: none; }
  .hk-line, .hk-tile, .hk-cat-tile { transition: none; }
  .hk-tile:hover, .hk-cat-tile:hover { transform: none; }
}

/* ==========================================================================
   Voucher plugin pages (gift-voucher, sg-voucher-manager). Plugin colours are
   printed inline with !important, so overrides here need it too.
   ========================================================================== */
#voucher-multistep-form.wizard > .steps ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
#voucher-multistep-form.wizard > .steps li { display: block; float: none; width: auto !important; margin: 0; padding: 0; }
#voucher-multistep-form.wizard > .steps a, #voucher-multistep-form.wizard > .steps a:hover { display: grid; width: 100% !important; height: auto; box-sizing: border-box; gap: .1rem; margin: 0; padding: .7rem .9rem; border-radius: var(--hk-radius-md, 12px); background: var(--hk-surface) !important; color: var(--hk-muted); font-size: var(--wp--preset--font-size--xs); font-weight: 600; text-align: left; }
#voucher-multistep-form.wizard > .steps a .number { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--md); }
#voucher-multistep-form.wizard > .steps .current a, #voucher-multistep-form.wizard > .steps .current a:hover { background: var(--hk-ink) !important; color: #fff; }
#voucher-multistep-form.wizard > .steps .done a, #voucher-multistep-form.wizard > .steps .done a:hover { background: var(--hk-accent-soft) !important; color: var(--hk-ink); }
#voucher-multistep-form.wizard > .content { min-height: 0; margin: 0; border-radius: var(--hk-radius); background: none; }
#voucher-multistep-form.wizard > .content > .body { position: relative; width: 100%; height: auto; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--hk-line); border-radius: var(--hk-radius); background: var(--hk-bg); }
#voucher-multistep-form legend { padding: 0 .5rem; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--lg); font-weight: 650; letter-spacing: -.02em; }
#voucher-multistep-form .sin-template label { border-radius: var(--hk-radius-md, 12px); }
#voucher-multistep-form .content .form-group label { font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--hk-ink-2); }
#voucher-multistep-form .content .form-group :is(input[type=text], input[type=email], input[type=tel], input[type=number], select, textarea) { min-height: 48px; padding: .7rem 1rem; border: 1px solid var(--hk-line) !important; border-radius: var(--hk-radius-sm); background-color: var(--hk-bg); font: inherit; font-size: var(--wp--preset--font-size--sm); color: var(--hk-ink); }
#voucher-multistep-form .content .form-group :is(input, select, textarea):focus { outline: none; border-color: var(--hk-ink) !important; box-shadow: 0 0 0 4px var(--hk-accent-soft); }
:is(#voucher-multistep-form, .wpgv-giftitem-wrapper) .buying-options div, :is(#voucher-multistep-form, .wpgv-giftitem-wrapper) .shipping-options div { border: 1px solid var(--hk-line); border-radius: var(--hk-radius-md, 12px); background: var(--hk-bg); color: var(--hk-ink); }
:is(#voucher-multistep-form, .wpgv-giftitem-wrapper) :is(.buying-options, .shipping-options) div.selected { background-color: var(--hk-accent-soft) !important; border-color: var(--hk-accent) !important; color: var(--hk-ink) !important; }
#voucher-multistep-form.wizard > .actions { margin-top: 1.25rem; }
#voucher-multistep-form.wizard > .actions ul { display: flex; justify-content: space-between; gap: .75rem; margin: 0; padding: 0; }
#voucher-multistep-form.wizard > .actions li { margin: 0; }
#voucher-multistep-form.wizard > .actions a, #voucher-multistep-form.wizard > .actions a:hover, #voucher-multistep-form.wizard > .actions a:active,
#voucher-multistep-form .voucherPreviewButton button, #voucher-multistep-form #voucherPaymentButton,
.wpgv-giftitem-wrapper .wpgv-buttons :is(.next-button, #paynowbtn) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .7rem 1.5rem; border: 0; border-radius: var(--hk-pill);
  background-color: var(--hk-accent) !important; color: var(--hk-ink) !important; font-size: var(--wp--preset--font-size--sm); font-weight: 650; text-decoration: none;
}
#voucher-multistep-form.wizard > .actions li:first-child a { background-color: transparent !important; box-shadow: inset 0 0 0 1px var(--hk-line); }
#voucher-multistep-form.wizard > .actions .disabled a { opacity: .45; cursor: default; }

#giftvoucher-template .giftvoucher-step { border-radius: var(--hk-radius-md, 12px); background: var(--hk-surface) !important; }
#giftvoucher-template .giftvoucher-step.active { background: var(--hk-ink) !important; }
#giftvoucher-template .giftvoucher-step.active .step-label { color: #fff; }
#giftvoucher-template .step-number { color: var(--hk-ink) !important; border-color: var(--hk-line) !important; }
#giftvoucher-template .progress { height: 3px; border-radius: 2px; background: var(--hk-surface-2) !important; overflow: hidden; }
#giftvoucher-template .progress-bar, #giftvoucher-template .number-step { background: var(--hk-accent) !important; color: var(--hk-ink) !important; }
#giftvoucher-template .choose-show-title { font-family: var(--wp--preset--font-family--display); font-weight: 650; letter-spacing: -.02em; }
#giftvoucher-template .layout-type, #giftvoucher-template .category-voucher-item { border-radius: var(--hk-pill) !important; }
#giftvoucher-template .layout-type.active, #giftvoucher-template .category-nav-item.active .category-voucher-item { background: var(--hk-ink) !important; color: #fff !important; }
#giftvoucher-template .category-voucher-item { background: var(--hk-surface) !important; color: var(--hk-ink) !important; font-weight: 600; }
#giftvoucher-template :is(a.portrait, a.landscape) { color: var(--hk-ink) !important; }
#giftvoucher-template :is(button, .button, input[type=submit]) { border-radius: var(--hk-pill) !important; }

.wpgv-giftitem-wrapper .wpgv-items-wrap { background: var(--hk-bg); }
.wpgv-giftitem-wrapper .wpgv-according-title { border: 1px solid var(--hk-line); border-radius: var(--hk-radius-md, 12px); background: var(--hk-surface); }
.wpgv-giftitem-wrapper .wpgv-according-title h2 { font-size: var(--wp--preset--font-size--md); font-weight: 650; }
.wpgv-giftitem-wrapper .wpgv-item { border-bottom: 1px solid var(--hk-line); }
.wpgv-giftitem-wrapper .wpgv-item h4 { font-size: var(--wp--preset--font-size--sm); font-weight: 650; }
.wpgv-giftitem-wrapper .wpgv-item p { font-size: var(--wp--preset--font-size--xs); color: var(--hk-muted); }
.wpgv-giftitem-wrapper .wpgv-price del { color: var(--hk-muted); }
.wpgv-giftitem-wrapper .wpgv-price span { font-weight: 700; color: var(--hk-ink); }
.wpgv-giftitem-wrapper .wpgv-item .wpgv-buy button { min-height: 40px; padding: .5rem 1.25rem; border: 0 !important; border-radius: var(--hk-pill); background-color: var(--hk-ink) !important; color: #fff !important; font-weight: 600; cursor: pointer; }
.wpgv-giftitem-wrapper .wpgv-item .wpgv-buy button:hover { background-color: var(--hk-ink-2) !important; }
.wpgv-giftitem-wrapper .wpgv-form-fields :is(input, select, textarea).form-field { min-height: 48px; padding: .7rem 1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-radius-sm); font: inherit; font-size: var(--wp--preset--font-size--sm); }

.hk-voucher-balance form { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.hk-voucher-balance input[name=voucher_code] { flex: 1 1 260px; width: auto !important; min-height: 48px; padding: .7rem 1.1rem; border: 1px solid var(--hk-line); border-radius: var(--hk-pill); font: inherit; font-size: var(--wp--preset--font-size--sm); }
.hk-voucher-balance input[name=voucher_code]:focus { outline: none; border-color: var(--hk-ink); box-shadow: 0 0 0 4px var(--hk-accent-soft); }
.hk-voucher-balance input[type=submit] { min-height: 48px; padding: .7rem 1.6rem; border: 0; border-radius: var(--hk-pill); background: var(--hk-accent); color: var(--hk-ink); font: inherit; font-size: var(--wp--preset--font-size--sm); font-weight: 650; cursor: pointer; }
.hk-voucher-balance input[type=submit]:hover { background: var(--hk-accent-strong); }
.hk-voucher-balance h4 { margin: 1.5rem 0 .75rem; font-size: var(--wp--preset--font-size--lg); }
.hk-voucher-balance .wpgv-balance-activity-table { width: 100%; border-collapse: collapse; border: 1px solid var(--hk-line); border-radius: var(--hk-radius); }
.hk-voucher-balance .wpgv-balance-activity-table :is(th, td) { padding: .7rem .9rem; border-bottom: 1px solid var(--hk-line); text-align: left; }
.hk-voucher-balance .wpgv-balance-activity-table th { background: var(--hk-surface); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--hk-muted); }
.hk-voucher-balance .wpgv-balance-activity-negative { color: var(--hk-sale); }
.hk-account__content .wpgv-balance-activity-table { width: 100%; }

.sg-vm-scanner-restricted { display: flex; align-items: center; gap: .75rem; margin: 1rem 0; padding: 1rem 1.25rem !important; border: 1px solid var(--hk-line) !important; border-left: 1px solid var(--hk-line) !important; border-radius: var(--hk-radius) !important; background: var(--hk-surface) !important; color: var(--hk-ink-2) !important; font-size: var(--wp--preset--font-size--sm); text-align: left !important; }
.sg-vm-scanner-restricted::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--hk-ink-2); -webkit-mask: var(--hk-lock-mask) center / contain no-repeat; mask: var(--hk-lock-mask) center / contain no-repeat; }

/* Override woocommerce-blocktheme.css fixed thumbnail widths (120px / 117px) inside the card grid */
.woocommerce-page .woocommerce-cart-form .hk-line__media.product-thumbnail { width: 100%; }
.woocommerce-page .woocommerce-cart-form .hk-line__media.product-thumbnail a img { width: 100%; }
