/*
 * Dukat look for WooCommerce's own pages.
 *
 * My account (templates/page-my-account.html, wrapper .dk-shop-page): same visual language as the cart page
 * (assets/dukat-cart.css): cream rounded panels, pill fields and buttons, Bricolage headings, DM Sans text.
 *
 * Checkout and order received (templates/page-checkout.html, order-confirmation.html, wrapper .dk-co, header
 * parts/checkout-header.html): Shopify's one-page checkout in the Dukat brand, at the end of this file. Every
 * colour, size and radius there is a --dk-co-* token on .dk-co, so the look can be tuned in one place.
 *
 * Enqueued by includes/woocommerce.php. Colors come only from the --dk-* tokens.
 */

/* ---------- Page shell ---------- */
.dk-shop-page {
  padding-block: clamp(1.5rem, calc(3vw * var(--dk-z, 1)), 3rem) clamp(3.5rem, calc(7vw * var(--dk-z, 1)), 6rem);
  background: var(--dk-paper);
  color: var(--dk-ink);
  font-family: var(--dk-font-text);
}
.dk-shop-page__inner { display: flex; flex-direction: column; gap: 1.5rem; }
.dk-shop-page__inner > * { margin-block: 0; }
.dk-shop-page .dk-shop-page__title { margin: 0; color: var(--dk-ink); }
.dk-shop-page .wp-block-post-content > .woocommerce { margin: 0; }

.dk-shop-page :is(input, select, textarea, button) { font-family: var(--dk-font-text); }
.dk-shop-page a { color: inherit; text-underline-offset: 0.15em; }
.dk-shop-page :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--dk-terra);
  outline-offset: 2px;
}

/* ---------- Notices (block and classic) ---------- */
.dk-shop-page .wc-block-components-notice-banner {
  align-items: center;
  margin: 0 0 1rem;
  padding: 0.875rem 1.125rem;
  border: 0;
  border-radius: 1.25rem;
  background: var(--dk-cream);
  color: var(--dk-ink);
  box-shadow: inset 0 0 0 2px var(--dk-ink);
  font-size: 0.9375rem;
  font-weight: 600;
}
.dk-shop-page .wc-block-components-notice-banner.is-success { background: var(--dk-lime); }
.dk-shop-page .wc-block-components-notice-banner.is-error { box-shadow: inset 0 0 0 2px var(--dk-terra); }
.dk-shop-page .wc-block-components-notice-banner > svg { background: var(--dk-ink); fill: var(--dk-cream); }
.dk-shop-page .wc-block-components-notice-banner:focus { outline: 0; }
.dk-shop-page .wc-block-components-notice-banner__content a.wc-forward,
.dk-shop-page .wc-block-components-notice-banner__content a.wc-forward:hover,
.dk-shop-page .woocommerce .wc-block-components-notice-banner__content :is(a, button).button,
.dk-shop-page .woocommerce .wc-block-components-notice-banner__content :is(a, button).button:hover {
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--dk-ink);
  font-family: var(--dk-font-display);
  font-size: 1rem;
  font-weight: 800;
  text-decoration: underline;
  transform: none;
  opacity: 1;
}

/* ---------- Shared headings ---------- */
.dk-shop-page :is(.wc-block-components-title, .wc-block-components-checkout-step__title, .wp-block-heading, .woocommerce-column__title, .woocommerce-order-details__title, .woocommerce-customer-details h2, .woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3, .u-column1 > h2, .u-column2 > h2) {
  margin: 0 0 1rem;
  color: var(--dk-ink);
  font-family: var(--dk-font-display);
  font-size: clamp(1.375rem, calc(2vw * var(--dk-z, 1)), 1.75rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

/* ---------- Fields ---------- */
.dk-shop-page .wc-block-components-text-input input[type],
.dk-shop-page .wc-blocks-components-select .wc-blocks-components-select__select,
.dk-shop-page .wc-block-components-textarea,
.dk-shop-page .woocommerce form .input-text,
.dk-shop-page .woocommerce form select {
  height: 3.5rem;
  border: 2px solid var(--dk-ink);
  border-radius: 999px;
  background: var(--dk-paper);
  color: var(--dk-ink);
  font-size: 1rem;
  box-shadow: none;
}
.dk-shop-page .wc-block-components-text-input input[type] { padding-inline: 1.25rem; }
.dk-shop-page .wc-block-components-text-input.is-active input[type],
.dk-shop-page .wc-block-components-text-input input:-webkit-autofill { padding: 1.5rem 1.25rem 0.5rem; }
.dk-shop-page .wc-block-components-text-input input[type]:focus { border: 2px solid var(--dk-ink); background: var(--dk-paper); color: var(--dk-ink); }
.dk-shop-page .wc-block-components-text-input label,
.dk-shop-page .wc-blocks-components-select__label {
  left: 1.3rem;
  color: var(--dk-muted);
}
.dk-shop-page .wc-block-components-text-input label { top: 1.75rem; }
.dk-shop-page .wc-block-components-text-input.is-active label,
.dk-shop-page .wc-block-components-text-input input:-webkit-autofill + label { top: 0.5rem; }
.dk-shop-page .wc-blocks-components-select .wc-blocks-components-select__container { height: 3.5rem; border-radius: 999px; background: transparent; }
.dk-shop-page .wc-blocks-components-select .wc-blocks-components-select__select { padding: 1.25rem 3rem 0.25rem 1.25rem; }
.dk-shop-page .wc-blocks-components-select__expand { right: 1.25rem; fill: var(--dk-ink); }
.dk-shop-page .wc-block-components-textarea { height: auto; min-height: 7rem; padding: 1rem 1.25rem; border-radius: 1.25rem; }
.dk-shop-page .wc-block-components-address-form__address_2-toggle { color: var(--dk-ink); font-weight: 600; }

/* Checkboxes */
.dk-shop-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
  width: 1.375rem;
  height: 1.375rem;
  min-width: 1.375rem;
  border: 2px solid var(--dk-ink);
  border-radius: 0.4rem;
  background: var(--dk-paper);
}
.dk-shop-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--dk-lime); }
.dk-shop-page .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--dk-ink); }
.dk-shop-page .wc-block-components-checkbox__label { color: var(--dk-ink); font-weight: 600; }

/* Saved address card */
.dk-shop-page .wc-block-components-address-card {
  padding: 1rem 1.25rem;
  border: 2px solid var(--dk-ink);
  border-radius: 1.25rem;
  background: var(--dk-paper);
}
.dk-shop-page .wc-block-components-address-card__edit { color: var(--dk-ink); font-weight: 700; }

/* ---------- Place order ---------- */
.dk-shop-page .wc-block-components-checkout-place-order-button,
.dk-shop-page .woocommerce :is(.button, button.button, a.button, input.button),
.dk-shop-page .wc-block-order-confirmation-create-account-button,
.dk-shop-page .wc-block-components-totals-coupon__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  padding: 0 1.75rem;
  border: 0;
  border-radius: 999px;
  background: var(--dk-ink);
  color: var(--dk-lime);
  box-shadow: 0 5px 0 var(--dk-deep);
  font-family: var(--dk-font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.1;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.dk-shop-page .wc-block-components-checkout-place-order-button {
  width: 100%;
  min-height: 4rem;
  font-size: 1.25rem;
  box-shadow: 0 6px 0 var(--dk-deep);
}
.dk-shop-page .wc-block-components-checkout-place-order-button:hover,
.dk-shop-page .woocommerce :is(.button, button.button, a.button, input.button):hover,
.dk-shop-page .wc-block-components-totals-coupon__button:hover {
  background: var(--dk-ink);
  color: var(--dk-lime);
  transform: translateY(2px);
  box-shadow: 0 3px 0 var(--dk-deep);
}
.dk-shop-page .wc-block-components-checkout-place-order-button:active,
.dk-shop-page .woocommerce :is(.button, button.button, a.button, input.button):active { transform: translateY(5px); box-shadow: 0 0 0 var(--dk-deep); }
.dk-shop-page .wc-block-components-checkout-place-order-button:disabled { opacity: 0.6; transform: none; }
.dk-shop-page .wc-block-components-checkout-return-to-cart-button { color: var(--dk-ink); font-family: var(--dk-font-display); font-weight: 800; }

/* ---------- My account ---------- */
.dk-shop-page.dk-shop-page--my-account .woocommerce { display: grid; gap: 1.5rem; width: 100%; max-width: none; margin: 0; }
.dk-shop-page .woocommerce::before,
.dk-shop-page .woocommerce::after { display: none; }
.dk-shop-page .woocommerce :is(.col2-set, .u-columns) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  width: 100%;
}
.dk-shop-page .woocommerce :is(.col2-set, .u-columns)::before,
.dk-shop-page .woocommerce :is(.col2-set, .u-columns)::after { display: none; }
.dk-shop-page .woocommerce :is(.col2-set, .u-columns) > :is(.col-1, .col-2, .u-column1, .u-column2) { float: none; width: auto; max-width: none; padding: 0; }
.dk-shop-page .woocommerce form.login,
.dk-shop-page .woocommerce form.register,
.dk-shop-page .woocommerce form.lost_reset_password,
.dk-shop-page .woocommerce-MyAccount-content,
.dk-shop-page .woocommerce-Address {
  margin: 0;
  padding: clamp(1.25rem, calc(2.4vw * var(--dk-z, 1)), 2rem);
  border: 0;
  border-radius: 1.75rem;
  background: var(--dk-cream);
  color: var(--dk-ink);
}
.dk-shop-page .woocommerce form .form-row { display: flex; flex-direction: column; gap: 0.375rem; margin: 0 0 1rem; padding: 0; }
.dk-shop-page .woocommerce form .form-row label { margin: 0; color: var(--dk-ink); font-weight: 700; line-height: 1.4; }
.dk-shop-page .woocommerce form .form-row .required { color: var(--dk-terra); text-decoration: none; }
.dk-shop-page .woocommerce form .input-text,
.dk-shop-page .woocommerce form select { width: 100%; padding: 0 1.25rem; line-height: 1.2; }
.dk-shop-page .woocommerce form textarea.input-text { height: auto; min-height: 7rem; padding: 1rem 1.25rem; border-radius: 1.25rem; }
.dk-shop-page .woocommerce form .password-input { display: block; position: relative; width: 100%; }
.dk-shop-page .woocommerce form .show-password-input { top: 50%; right: 1.25rem; transform: translateY(-50%); }
.dk-shop-page .woocommerce form .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 0.5rem; margin: 0 1rem 1rem 0; font-weight: 600; }
.dk-shop-page .woocommerce form input[type="checkbox"] { width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--dk-ink); }
.dk-shop-page .woocommerce form :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit) { width: 100%; margin: 0; }
.dk-shop-page .woocommerce .lost_password { margin: 1rem 0 0; font-weight: 600; }
.dk-shop-page .woocommerce-privacy-policy-text { color: var(--dk-muted); font-size: 0.875rem; }
.dk-shop-page .woocommerce-privacy-policy-text p { margin: 0 0 1rem; }

.dk-shop-page .woocommerce-MyAccount-navigation { float: none; width: auto; }
.dk-shop-page .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dk-shop-page .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; }
.dk-shop-page .woocommerce-MyAccount-navigation a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0 1.125rem;
  border-radius: 999px;
  box-shadow: inset 0 0 0 2px var(--dk-ink);
  color: var(--dk-ink);
  font-weight: 700;
  text-decoration: none;
}
.dk-shop-page .woocommerce-MyAccount-navigation a:hover { background: var(--dk-cream); }
.dk-shop-page.dk-shop-page--my-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link a { text-decoration: none; }
.dk-shop-page .woocommerce-MyAccount-navigation .is-active a { background: var(--dk-ink); color: var(--dk-lime); }
.dk-shop-page .woocommerce-MyAccount-content { float: none; width: auto; }
.dk-shop-page .woocommerce-MyAccount-content > p:last-child { margin-bottom: 0; }
.dk-shop-page .woocommerce-MyAccount-content mark { background: var(--dk-lime); color: var(--dk-ink); padding: 0 0.25em; border-radius: 0.25em; }
.dk-shop-page .woocommerce-Addresses { gap: 1rem; }
.dk-shop-page .woocommerce .woocommerce-Addresses .woocommerce-Address { padding: 1.25rem 1.5rem; background: var(--dk-paper); }
.dk-shop-page .woocommerce-Address-title { display: flex; flex-direction: column; align-items: flex-start; gap: 0.25rem; text-align: left; }
.dk-shop-page .woocommerce-Address-title::before,
.dk-shop-page .woocommerce-Address-title::after { display: none; }
.dk-shop-page .woocommerce-Address-title h2 { margin: 0; }
.dk-shop-page .woocommerce-Address-title .edit { float: none; font-weight: 700; }
.dk-shop-page .woocommerce-Address address { margin: 0.75rem 0 0; font-style: normal; line-height: 1.6; }
.dk-shop-page .woocommerce .woocommerce-orders-table a.button { min-height: 2.5rem; padding: 0 1rem; font-size: 0.9375rem; box-shadow: none; }

@media screen and (min-width: 750px) {
  .dk-shop-page .woocommerce :is(.col2-set, .u-columns) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (min-width: 990px) {
  .dk-shop-page.dk-shop-page--my-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 15rem minmax(0, 1fr); align-items: start; }
  .dk-shop-page .woocommerce-MyAccount-navigation ul { flex-direction: column; align-items: stretch; }
  .dk-shop-page .woocommerce-MyAccount-navigation a { width: 100%; box-sizing: border-box; }
}

@media (prefers-reduced-motion: reduce) {
  .dk-shop-page :is(.wc-block-components-checkout-place-order-button, .button) { transition: none; }
}

/* ==========================================================================
   Checkout and order received: Shopify one-page checkout, Dukat brand
   ========================================================================== */

/* ---------- Tokens (tune here) ---------- */
.dk-co,
.dk-co-header {
  --dk-co-bg: var(--dk-paper);                                         /* left column and header */
  --dk-co-panel: var(--dk-cream);                                      /* right column (Shopify's light grey) */
  --dk-co-inner: color-mix(in srgb, var(--dk-cream) 70%, var(--dk-paper)); /* card fields, placeholder boxes */
  --dk-co-text: var(--dk-ink);
  --dk-co-muted: color-mix(in srgb, var(--dk-ink) 68%, var(--dk-paper));
  --dk-co-line: color-mix(in srgb, var(--dk-ink) 14%, transparent);   /* dividers */
  --dk-co-field-line: color-mix(in srgb, var(--dk-ink) 26%, var(--dk-paper));
  --dk-co-field-bg: var(--dk-paper);
  --dk-co-accent: var(--dk-ink);                                       /* links, selected options, focus */
  --dk-co-selected: color-mix(in srgb, var(--dk-lime) 16%, var(--dk-paper));
  --dk-co-focus: color-mix(in srgb, var(--dk-lime) 55%, var(--dk-ink));
  --dk-co-error: color-mix(in srgb, var(--dk-terra) 62%, var(--dk-ink));
  --dk-co-btn-bg: var(--dk-ink);
  --dk-co-btn-fg: var(--dk-lime);
  --dk-co-badge-bg: color-mix(in srgb, var(--dk-ink) 82%, transparent);
  --dk-co-badge-fg: var(--dk-paper);
  --dk-co-radius: 5px;
  --dk-co-thumb: 4.6em;
  --dk-co-heading-font: var(--dk-font-display);
  /* Shell: split point and the two content widths, Shopify's proportions. */
  --dk-co-split: 52%;
  --dk-co-left-w: 41em;
  --dk-co-right-w: 31em;
  --dk-co-gap: 2.75em;
  --dk-co-edge: 1.5em;
  /* 14px on every screen (the theme scales rem to 85% on desktop). */
  font-size: calc(0.875rem / var(--dk-z, 1));
  font-family: var(--dk-font-text);
  line-height: 1.45;
  color: var(--dk-co-text);
}

.dk-co :is(input, select, textarea, button) { font-family: var(--dk-font-text); }
.dk-co :is(h1, h2, h3, p) { margin: 0; }
.dk-co a { color: var(--dk-co-accent); text-decoration: underline; text-underline-offset: 0.15em; }
.dk-co :is(a, button, summary, [role="button"], input[type="checkbox"], input[type="radio"]):focus-visible,
.dk-co-header a:focus-visible {
  outline: 2px solid var(--dk-co-focus);
  outline-offset: 2px;
}
.dk-co .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ---------- Header: logo left, bag right, thin divider ---------- */
.dk-co-header {
  position: relative;
  z-index: 2;
  background: var(--dk-co-bg);
  border-bottom: 1px solid var(--dk-co-line);
}
.dk-co-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  min-height: 4.5em;
  padding: 1.1em var(--dk-co-edge);
}
.dk-co-header__logo { display: inline-flex; align-items: center; color: var(--dk-co-text); text-decoration: none; }
.dk-co-header__logo-img { display: block; width: auto; max-width: 11em; height: 2.4em; }
.dk-co-header__logo-text { font-family: var(--dk-co-heading-font); font-size: 1.5em; font-weight: 700; }
.dk-co-header__cart { display: inline-flex; padding: 0.35em; color: var(--dk-co-accent); }
.dk-co-header__cart svg { display: block; width: 1.6em; height: 1.6em; }

/* ---------- Shell ---------- */
.dk-co {
  min-height: calc(100vh - 4.5em);
  margin: 0;
  background: var(--dk-co-bg);
}
.dk-co .wp-block-post-content,
.dk-co .wp-block-woocommerce-checkout { max-width: none; margin: 0; padding: 0; }
.dk-co .wc-block-checkout { margin: 0; }
.dk-co .wc-block-components-sidebar-layout { display: flex; flex-direction: column; margin: 0; }
.dk-co .wc-block-components-sidebar-layout .wc-block-components-main {
  width: auto;
  margin: 0;
  padding: 1.5em var(--dk-co-edge) 1em;
}
.dk-co .wc-block-components-sidebar-layout .wc-block-components-sidebar {
  order: -1;
  width: auto;
  margin: 0;
  padding: 0;
  background: var(--dk-co-panel);
  border-bottom: 1px solid var(--dk-co-line);
}
.dk-co__notices,
.dk-co .wc-block-store-notices { margin: 0; padding: 1em var(--dk-co-edge) 0; }
.dk-co__notices:empty { display: none; }

/* ---------- Section headings ---------- */
.dk-co .wc-block-components-checkout-step {
  margin: 0 0 2.25em;
  padding: 0;
  border: 0;
  background: none;
}
.dk-co .wc-block-components-checkout-step::after { display: none; }
.dk-co .wc-block-components-checkout-step__container,
.dk-co .wc-block-components-checkout-step__content { margin: 0; padding: 0; }
.dk-co .wc-block-components-checkout-step__heading-container { margin: 0 0 0.9em; }
.dk-co .wc-block-components-checkout-step__heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1em;
  margin: 0;
}
.dk-co :is(.wc-block-components-checkout-step__title, .checkout-order-summary-block-fill-wrapper .wc-block-components-title, .dk-thanks__title) {
  margin: 0;
  color: var(--dk-co-text);
  font-family: var(--dk-co-heading-font);
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.dk-co .wc-block-components-checkout-step__heading-content { font-size: 1em; }
.dk-co .wc-block-checkout__login-prompt { color: var(--dk-co-accent); font-size: 0.93em; font-weight: 400; text-decoration: underline; }
.dk-co .wc-block-components-checkout-step__description { margin: -0.4em 0 0.9em; color: var(--dk-co-muted); font-size: 0.93em; }
.dk-co .wc-block-checkout__guest-checkout-notice { display: none; }

/* ---------- Fields: Shopify floating labels ---------- */
.dk-co .wc-block-components-address-form,
.dk-co .wc-block-components-address-form-wrapper > .wc-block-components-address-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9em 0.85em;
  margin: 0;
}
.dk-co .wc-block-components-address-form > * {
  grid-column: 1 / -1;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  flex: none;
}
.dk-co .wc-block-components-address-form > :is(.wc-block-components-address-form__first_name, .wc-block-components-address-form__last_name, .wc-block-components-address-form__city, .wc-block-components-address-form__postcode) { grid-column: auto; }
.dk-co .wc-block-components-address-form__address_2-toggle,
.dk-co .wc-block-components-address-form__address_2-hidden-input { display: none !important; }

.dk-co .wc-block-components-text-input,
.dk-co .wc-blocks-components-select { position: relative; margin: 0; }
.dk-co .wc-block-components-text-input input[type],
.dk-co .wc-blocks-components-select .wc-blocks-components-select__select,
.dk-co .wc-block-components-textarea {
  box-sizing: border-box;
  width: 100%;
  height: 3.6em;
  margin: 0;
  padding: 1.35em 0.85em 0.35em;
  border: 1px solid var(--dk-co-field-line);
  border-radius: var(--dk-co-radius);
  background: var(--dk-co-field-bg);
  color: var(--dk-co-text);
  font-size: 1em;
  line-height: 1.3;
  box-shadow: none;
  outline: 0;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.dk-co .wc-block-components-text-input label,
.dk-co .wc-blocks-components-select__label {
  position: absolute;
  top: 1.8em; /* half the field height: the error message sits inside the same wrapper */
  left: calc(0.85em + 1px);
  right: 0.85em;
  margin: 0;
  overflow: hidden;
  color: var(--dk-co-muted);
  font-size: 1em;
  line-height: 1.2;
  white-space: nowrap;
  text-overflow: ellipsis;
  transform: translateY(-50%);
  transform-origin: left top;
  pointer-events: none;
  transition: top 0.15s ease, font-size 0.15s ease, transform 0.15s ease;
}
.dk-co .wc-block-components-text-input.is-active label,
.dk-co .wc-block-components-text-input input:-webkit-autofill + label,
.dk-co .wc-blocks-components-select__label {
  top: 0.55em;
  font-size: 0.8em;
  transform: none;
}
.dk-co .wc-block-components-text-input input[type]:focus,
.dk-co .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--dk-co-accent);
  box-shadow: 0 0 0 1px var(--dk-co-accent);
  background: var(--dk-co-field-bg);
}
.dk-co .wc-blocks-components-select .wc-blocks-components-select__container {
  position: relative;
  height: auto;
  border: 0;
  border-radius: var(--dk-co-radius);
  background: transparent;
}
.dk-co .wc-blocks-components-select .wc-blocks-components-select__select { padding-right: 2.6em; appearance: none; cursor: pointer; }
.dk-co .wc-blocks-components-select__expand {
  position: absolute;
  top: 1.8em;
  right: 0.85em;
  width: 1.4em;
  height: 1.4em;
  fill: var(--dk-co-muted);
  transform: translateY(-50%);
  pointer-events: none;
}

/* Errors: red-brown text under the field with an icon. */
.dk-co .has-error input[type],
.dk-co .has-error .wc-blocks-components-select__select { border-color: var(--dk-co-error) !important; box-shadow: 0 0 0 1px var(--dk-co-error) !important; }
.dk-co .has-error label { color: var(--dk-co-error); }
.dk-co .wc-block-components-validation-error {
  margin: 0.4em 0 0;
  color: var(--dk-co-error);
  font-size: 0.86em;
}
.dk-co .wc-block-components-validation-error > p {
  display: flex;
  align-items: flex-start;
  gap: 0.35em;
  margin: 0;
  line-height: 1.35;
}
.dk-co .wc-block-components-validation-error > p::before {
  content: "!";
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.15em;
  height: 1.15em;
  margin-top: 0.05em;
  border-radius: 50%;
  background: var(--dk-co-error);
  color: var(--dk-co-bg);
  font-size: 0.85em;
  font-weight: 700;
}
.dk-co .wc-block-components-validation-error svg { display: none; }

/* Checkboxes */
.dk-co .wc-block-components-checkbox { margin: 0.9em 0 0; }
.dk-co .wc-block-components-checkbox label { display: flex; align-items: center; gap: 0.7em; color: var(--dk-co-text); font-size: 1em; cursor: pointer; }
.dk-co .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.3em;
  height: 1.3em;
  min-width: 1.3em;
  margin: 0;
  border: 1px solid var(--dk-co-field-line);
  border-radius: 4px;
  background: var(--dk-co-field-bg);
  box-shadow: none;
}
.dk-co .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { border-color: var(--dk-co-accent); background: var(--dk-co-accent); }
.dk-co .wc-block-components-checkbox .wc-block-components-checkbox__mark { left: 0.15em; width: 1em; height: 1em; margin: 0; fill: var(--dk-co-bg); }
.dk-co .wc-block-components-checkbox__label { color: var(--dk-co-text); font-weight: 400; line-height: 1.35; }
.dk-co #contact .wc-block-components-checkbox + .wc-block-components-checkbox { margin-top: 0.6em; }
.dk-co .wc-block-checkout__create-account .wc-block-components-text-input { margin-top: 0.9em; }

/* WooCommerce's own "Use same address for billing" box: driven by the Billing address radios (dukat-checkout.js). */
.dk-co .wc-block-checkout__use-address-for-billing { display: none; }

/* Saved address card (returning customers) */
.dk-co .wc-block-components-address-card {
  padding: 1em;
  border: 1px solid var(--dk-co-field-line);
  border-radius: var(--dk-co-radius);
  background: var(--dk-co-field-bg);
}
.dk-co .wc-block-components-address-card__edit { color: var(--dk-co-accent); text-decoration: underline; }

/* ---------- Radio groups: shipping method, payment, billing address ---------- */
.dk-co .wc-block-components-radio-control--highlight-checked::after,
.dk-co .wc-block-components-radio-control--highlight-checked :is(.wc-block-components-radio-control__option-checked, .wc-block-components-radio-control-accordion-option--checked-option-highlighted)::after,
.dk-co .wc-block-components-radio-control__option::after { display: none; }
.dk-co .wc-block-components-radio-control,
.dk-co .wc-block-components-shipping-rates-control__package {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--dk-co-field-line);
  border-radius: var(--dk-co-radius);
  background: var(--dk-co-field-bg);
}
.dk-co .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control { border: 0; border-radius: 0; }
.dk-co .wc-block-components-radio-control > :is(.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option) {
  position: relative;
  margin: 0;
  border: 0;
  border-top: 1px solid var(--dk-co-field-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.dk-co .wc-block-components-radio-control > :first-child { border-top: 0; }
.dk-co .wc-block-components-radio-control__option {
  display: block;
  min-height: 0;
  margin: 0;
  padding: 1.1em 1em 1.1em 3em;
  cursor: pointer;
}
.dk-co .wc-block-components-radio-control > .wc-block-components-radio-control__option-checked,
.dk-co .wc-block-components-radio-control-accordion-option--checked-option-highlighted > .wc-block-components-radio-control__option,
.dk-co .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__input:checked) > .wc-block-components-radio-control__option {
  background: var(--dk-co-selected);
  box-shadow: inset 0 0 0 1px var(--dk-co-accent);
}
.dk-co .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { border: 0; box-shadow: none; }
.dk-co .wc-block-components-radio-control__input {
  position: absolute;
  top: 50%;
  left: 1em;
  width: 1.3em;
  height: 1.3em;
  min-width: 1.3em;
  margin: 0;
  border: 1px solid var(--dk-co-field-line);
  border-radius: 50%;
  background: var(--dk-co-field-bg);
  transform: translateY(-50%);
  appearance: none;
  cursor: pointer;
}
.dk-co .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input { top: 1.75em; }
.dk-co .wc-block-components-radio-control__input:checked { border: 0.38em solid var(--dk-co-accent); background: var(--dk-co-field-bg); }
.dk-co .wc-block-components-radio-control__input:checked::before { display: none; }
.dk-co .wc-block-components-radio-control__option-layout { display: block; padding: 0; }
.dk-co .wc-block-components-radio-control__label-group {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1em;
}
.dk-co .wc-block-components-radio-control__label,
.dk-co .wc-block-components-payment-method-label,
.dk-co .wc-block-components-radio-control__secondary-label {
  color: var(--dk-co-text);
  font-family: var(--dk-font-text);
  font-size: 1em;
  font-weight: 400;
  letter-spacing: 0;
}
.dk-co .wc-block-components-radio-control__secondary-label { font-weight: 600; white-space: nowrap; }
.dk-co .wc-block-components-radio-control__description,
.dk-co .wc-block-components-radio-control__secondary-description { color: var(--dk-co-muted); font-size: 0.93em; }
.dk-co .wc-block-components-payment-method-icons { margin: 0; }
.dk-co .wc-block-components-radio-control-accordion-content {
  padding: 1.15em 1em;
  border-top: 1px solid var(--dk-co-field-line);
  background: var(--dk-co-inner);
  color: var(--dk-co-text);
}
.dk-co .wc-block-components-radio-control-accordion-content:empty { display: none; }
.dk-co .wc-block-components-radio-control-accordion-content p { margin: 0; }

/* Placeholder and "not available" boxes (Shopify's grey box). */
.dk-co .wc-block-components-checkout-step__content > p,
.dk-co .wc-block-checkout__no-shipping-placeholder,
.dk-co .wc-block-components-shipping-rates-control__no-results-notice,
.dk-co .wc-block-checkout__no-payment-methods-notice,
.dk-co .wc-block-checkout__shipping-option .wc-block-components-notice-banner {
  display: block;
  margin: 0;
  padding: 1.1em 1.15em;
  border: 0;
  border-radius: var(--dk-co-radius);
  background: var(--dk-co-inner);
  color: var(--dk-co-muted);
  box-shadow: none;
  font-size: 0.93em;
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
}
.dk-co :is(.wc-block-checkout__no-payment-methods-notice, .wc-block-checkout__shipping-option .wc-block-components-notice-banner) > svg { display: none; }
.dk-co .wc-block-checkout__no-shipping-placeholder-description { margin: 0; }
.dk-co .wc-block-checkout__no-shipping-placeholder svg { display: none; }

/* Billing address radios (dukat-checkout.js); the form follows with its own heading hidden. */
.dk-co .dk-co-billing { margin-bottom: 0; }
.dk-co .dk-co-billing.is-different .wc-block-components-radio-control { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.dk-co #billing-fields {
  margin-bottom: 2.25em;
  padding: 1.15em 1em;
  border: 1px solid var(--dk-co-field-line);
  border-top: 0;
  border-radius: 0 0 var(--dk-co-radius) var(--dk-co-radius);
  background: var(--dk-co-inner);
}
.dk-co #billing-fields .wc-block-components-checkout-step__heading-container { display: none; }
.dk-co .dk-co-billing:not(.is-different) { margin-bottom: 2.25em; }

/* ---------- Pay now ---------- */
.dk-co .wc-block-checkout__actions { margin: 0; padding: 0; }
.dk-co .wc-block-checkout__actions_row { display: block; }
.dk-co .wc-block-components-checkout-place-order-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 4em;
  margin: 0;
  padding: 0 1.5em;
  border: 0;
  border-radius: var(--dk-co-radius);
  background: var(--dk-co-btn-bg);
  color: var(--dk-co-btn-fg);
  box-shadow: none;
  font-family: var(--dk-font-text);
  font-size: 1.3em;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: none;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.dk-co .wc-block-components-checkout-place-order-button:hover { background: color-mix(in srgb, var(--dk-co-btn-bg) 88%, var(--dk-paper)); color: var(--dk-co-btn-fg); }
.dk-co .wc-block-components-checkout-place-order-button:disabled { opacity: 0.6; cursor: default; }
.dk-co .wc-block-components-checkout-place-order-button .wc-block-components-spinner::after { border-color: var(--dk-co-btn-fg); border-top-color: transparent; }
.dk-co .wc-block-checkout__terms,
.dk-co .wc-block-checkout__order-notes { display: none; }

/* Policy links under Pay now. */
.dk-co-policies { padding: 1.5em var(--dk-co-edge) 2.5em; }
.dk-co-policies ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em 1.1em;
  margin: 0;
  padding: 1.4em 0 0;
  border-top: 1px solid var(--dk-co-line);
  list-style: none;
}
.dk-co-policies a { color: var(--dk-co-accent); font-size: 0.86em; text-decoration: underline; }

/* ---------- Order summary (right column) ---------- */
.dk-co .wp-block-woocommerce-checkout-order-summary-block {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.dk-co .wc-block-components-checkout-order-summary__content { padding: 0; }
.dk-co .wc-block-components-totals-wrapper {
  padding: 0;
  border: 0;
}
.dk-co .wc-block-components-totals-wrapper:empty { display: none; }
.dk-co .wc-block-components-order-summary { padding: 0; }
.dk-co .wc-block-components-order-summary .wc-block-components-order-summary__content { display: flex; flex-direction: column; gap: 1em; }
.dk-co .wc-block-components-order-summary .wc-block-components-order-summary-item {
  display: flex;
  align-items: center;
  gap: 1em;
  margin: 0;
  padding: 0;
  border: 0;
}
.dk-co .wc-block-components-order-summary-item__image {
  position: relative;
  flex: 0 0 var(--dk-co-thumb);
  width: var(--dk-co-thumb);
  height: var(--dk-co-thumb);
  margin: 0;
  padding: 0;
  border: 1px solid var(--dk-co-line);
  border-radius: 0.6em;
  background: var(--dk-co-field-bg);
}
.dk-co .wc-block-components-order-summary-item__image > img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  padding: 0.25em;
  box-sizing: border-box;
  border-radius: 0.6em;
  background: transparent;
  object-fit: contain;
}
.dk-co .wc-block-components-order-summary-item__quantity {
  position: absolute;
  top: -0.65em;
  right: -0.65em;
  left: auto;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  min-width: 1.6em;
  height: 1.6em;
  padding: 0 0.4em;
  border: 0;
  border-radius: 999px;
  background: var(--dk-co-badge-bg);
  color: var(--dk-co-badge-fg);
  box-shadow: none;
  font-size: 0.8em;
  font-weight: 600;
  line-height: 1;
  transform: none;
}
.dk-co .wc-block-components-order-summary-item__description {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
}
.dk-co .wc-block-components-order-summary-item .wc-block-components-product-name {
  display: block;
  margin: 0;
  color: var(--dk-co-text);
  font-family: var(--dk-font-text);
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.35;
}
/* Shopify shows the line price only: no unit price row, no sale badge, no description. */
.dk-co .wc-block-components-order-summary-item .wc-block-cart-item__prices,
.dk-co .wc-block-components-order-summary-item .wc-block-components-sale-badge,
.dk-co .wc-block-components-order-summary-item .wc-block-components-product-metadata__description { display: none; }
.dk-co .wc-block-components-order-summary-item .wc-block-components-product-metadata { margin: 0.15em 0 0; color: var(--dk-co-muted); font-size: 0.86em; }
.dk-co .wc-block-components-order-summary-item .wc-block-components-product-details { margin: 0; padding: 0; list-style: none; }
.dk-co .wc-block-components-order-summary-item__total-price {
  margin: 0;
  padding: 0;
  color: var(--dk-co-text);
  font-size: 1em;
  font-weight: 400;
  text-align: right;
  white-space: nowrap;
}
.dk-co .wc-block-components-order-summary-item__total-price .wc-block-components-product-price { display: block; }

/* Discount code: field and Apply always open (dukat-checkout.js opens WooCommerce's panel). */
.dk-co .wp-block-woocommerce-checkout-order-summary-coupon-form-block { margin-top: 1.5em; }
.dk-co .wc-block-components-totals-coupon,
.dk-co .wc-block-components-totals-coupon.wc-block-components-panel { padding: 0; border: 0; }
.dk-co .wp-block-woocommerce-checkout-order-summary-coupon-form-block::after,
.dk-co .wc-block-components-totals-coupon::after { display: none; }
.dk-co .wc-block-components-totals-coupon .wc-block-components-panel__button { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.dk-co .wc-block-components-totals-coupon .wc-block-components-panel__content { padding: 0; }
.dk-co .wc-block-components-totals-coupon__content { padding: 0; }
.dk-co .wc-block-components-totals-coupon__form { display: flex; gap: 0.85em; margin: 0; }
.dk-co .wc-block-components-totals-coupon__form .wc-block-components-text-input { flex: 1 1 auto; margin: 0; }
.dk-co .wc-block-components-totals-coupon__button {
  flex: 0 0 auto;
  height: 3.6em;
  min-height: 0;
  margin: 0;
  padding: 0 1.3em;
  border: 1px solid var(--dk-co-field-line);
  border-radius: var(--dk-co-radius);
  background: var(--dk-co-btn-bg);
  color: var(--dk-co-btn-fg);
  box-shadow: none;
  font-family: var(--dk-font-text);
  font-size: 1em;
  font-weight: 600;
  text-transform: none;
  cursor: pointer;
}
.dk-co .wc-block-components-totals-coupon__button:disabled {
  border-color: var(--dk-co-field-line);
  background: var(--dk-co-inner);
  color: var(--dk-co-muted);
  opacity: 1;
  cursor: default;
}
.dk-co .wc-block-components-totals-discount__coupon-list { margin: 0.4em 0 0; }
.dk-co .wc-block-components-chip { border-radius: var(--dk-co-radius); background: var(--dk-co-inner); color: var(--dk-co-text); }

/* Subtotal, shipping, taxes, total. */
.dk-co .wp-block-woocommerce-checkout-order-summary-totals-block { display: flex; flex-direction: column; gap: 0.55em; margin-top: 1.5em; padding: 0; border: 0; }
.dk-co .wc-block-components-totals-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0 1em;
  margin: 0;
  padding: 0;
  color: var(--dk-co-text);
  font-size: 1em;
  font-weight: 400;
}
.dk-co .wc-block-components-totals-item__value { font-weight: 400; }
.dk-co .wc-block-components-totals-item__description { flex: 1 0 100%; color: var(--dk-co-muted); font-size: 0.86em; }
.dk-co .wc-block-components-totals-item__description:empty { display: none; }
/* Shopify labels the line "Shipping"; WooCommerce prints the rate name (still read out to screen readers). */
.dk-co .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__label { font-size: 0; }
.dk-co .wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__label::before { content: "Shipping" / ""; font-size: 1rem; font-size: calc(0.875rem / var(--dk-z, 1)); }
.dk-co .wc-block-components-totals-shipping .wc-block-components-totals-shipping__via,
.dk-co .wc-block-components-totals-shipping .wc-block-components-shipping-address,
.dk-co .wc-block-components-totals-shipping .wc-block-components-totals-shipping__change-address__link { display: none; }
/* "Enter shipping address" before an address is known. */
.dk-co .wc-block-components-totals-item__value:not(.wc-block-formatted-money-amount, :has(.wc-block-formatted-money-amount)) { color: var(--dk-co-muted); font-size: 0.93em; }
.dk-co .wc-block-components-totals-footer-item { margin-top: 0.5em; align-items: center; }
.dk-co .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 1.3em;
  font-weight: 600;
}
.dk-co .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5em;
}
.dk-co .wc-block-components-totals-footer-item .wc-block-components-totals-item__value::before {
  content: var(--dk-co-currency, "");
  color: var(--dk-co-muted);
  font-size: 0.86em;
  font-weight: 400;
}
.dk-co .wc-block-components-totals-footer-item-tax-value {
  font-size: 1.4em;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.dk-co .wc-block-components-totals-footer-item-tax { flex: 1 0 100%; margin: 0.15em 0 0; color: var(--dk-co-muted); font-size: 0.86em; }

/* Order summary toggle bar (phones): "Show order summary" + chevron, total on the right. */
.dk-co .wc-block-components-checkout-order-summary__title {
  display: flex;
  align-items: center;
  gap: 0.35em;
  margin: 0;
  padding: 1.15em var(--dk-co-edge);
  color: var(--dk-co-accent);
  cursor: pointer;
}
.dk-co .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
  order: 1;
  flex-grow: 0;
  margin: 0;
  font-size: 0;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
.dk-co .wc-block-components-checkout-order-summary__title-text::before { content: "Show order summary" / ""; font-size: calc(0.875rem / var(--dk-z, 1)); }
.dk-co .wc-block-components-checkout-order-summary__title[aria-expanded="true"] .wc-block-components-checkout-order-summary__title-text::before { content: "Hide order summary" / ""; }
.dk-co .wc-block-components-checkout-order-summary__title-icon { order: 2; display: inline-flex; }
.dk-co .wc-block-components-checkout-order-summary__title-icon svg { width: 1.3em; height: 1.3em; fill: currentColor; }
.dk-co .wc-block-components-checkout-order-summary__title-price {
  order: 3;
  margin-left: auto;
  color: var(--dk-co-text);
  font-family: var(--dk-font-text);
  font-size: 1.3em;
  font-weight: 700;
}
.dk-co .wc-block-components-sidebar .wc-block-components-checkout-order-summary__content { padding: 0.5em var(--dk-co-edge) 1.5em; }
.dk-co .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title[aria-expanded="false"] + .wc-block-components-checkout-order-summary__content { display: none; }

/* The order summary repeated above Pay now on phones, as Shopify does. */
.dk-co .checkout-order-summary-block-fill-wrapper { margin: 0 0 2.25em; padding: 0; }
.dk-co .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill { border: 0; border-radius: 0; }
.dk-co .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill :is(.wc-block-components-order-summary, .wc-block-components-totals-coupon, .wc-block-components-totals-item) { padding-left: 0; padding-right: 0; }
.dk-co .checkout-order-summary-block-fill-wrapper > .wc-block-components-checkout-step__heading { margin: 0 0 1.25em; padding: 0; }
.dk-co .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-order-summary__title { display: none; }
.dk-co .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-order-summary__content { display: block !important; padding: 0; }

/* Notices inside the checkout */
.dk-co .wc-block-components-notice-banner {
  align-items: center;
  margin: 0 0 1em;
  padding: 0.9em 1em;
  border: 1px solid var(--dk-co-field-line);
  border-radius: var(--dk-co-radius);
  background: var(--dk-co-inner);
  color: var(--dk-co-text);
  box-shadow: none;
  font-size: 0.93em;
}
.dk-co .wc-block-components-notice-banner.is-error { border-color: var(--dk-co-error); }
.dk-co .wc-block-components-notice-banner.wc-block-checkout__no-payment-methods-notice { border: 0; }
.dk-co .wc-block-components-notice-banner > svg { background: var(--dk-co-accent); fill: var(--dk-co-bg); }
.dk-co .wc-block-components-notice-banner.is-error > svg { background: var(--dk-co-error); }
.dk-co .wc-block-components-notice-banner a { color: var(--dk-co-accent); }
.dk-co .wc-block-components-express-payment { margin: 0 0 2em; }
.dk-co .wc-block-components-express-payment-continue-rule { margin: 0 0 2em; color: var(--dk-co-muted); }

/* ---------- Thank you page ---------- */
.dk-co--thanks .dk-co__grid { display: flex; flex-direction: column; }
.dk-co--thanks .dk-co__main { display: flex; flex-direction: column; gap: 1.25em; padding: 2em var(--dk-co-edge) 0; }
.dk-co--thanks .dk-co__main > * { margin: 0; }
.dk-co--thanks .dk-co__side { order: -1; padding: 1.5em var(--dk-co-edge); background: var(--dk-co-panel); border-bottom: 1px solid var(--dk-co-line); }
.dk-co .dk-thanks__status { margin: 0 0 0.5em; }
.dk-co .dk-thanks__status h1 {
  display: grid;
  grid-template-columns: 3.2em 1fr;
  column-gap: 0.85em;
  align-items: center;
  margin: 0 0 1.25em;
  font-family: var(--dk-co-heading-font);
  font-size: 1em;
  font-weight: 700;
}
/* Shopify's check in a circle, drawn with borders (no icon file). */
.dk-co .dk-thanks__status h1::before,
.dk-co .dk-thanks__status h1::after {
  content: "";
  grid-area: 1 / 1 / 3 / 2;
  place-self: center;
}
.dk-co .dk-thanks__status h1::before {
  width: 3.2em;
  height: 3.2em;
  box-sizing: border-box;
  border: 2px solid var(--dk-co-accent);
  border-radius: 50%;
}
.dk-co .dk-thanks__status h1::after {
  width: 0.75em;
  height: 1.35em;
  margin-top: -0.3em;
  border: solid var(--dk-co-accent);
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}
.dk-co .dk-thanks__number { grid-area: 1 / 2; align-self: end; }
.dk-co .dk-thanks__hello { grid-area: 2 / 2; align-self: start; }
.dk-co .dk-thanks__number { color: var(--dk-co-muted); font-family: var(--dk-font-text); font-size: 0.93em; font-weight: 400; }
.dk-co .dk-thanks__hello { font-size: 1.6em; letter-spacing: -0.01em; line-height: 1.2; }
.dk-co .dk-thanks__status p,
.dk-co .dk-thanks__box {
  padding: 1.15em 1.2em;
  border: 1px solid var(--dk-co-field-line);
  border-radius: var(--dk-co-radius);
  background: var(--dk-co-field-bg);
}
.dk-co .dk-thanks__status p { line-height: 1.6; }
.dk-co .dk-thanks__status p strong { display: inline-block; margin-bottom: 0.15em; font-size: 1.15em; font-weight: 600; }
.dk-co .dk-thanks__details { display: flex; flex-direction: column; gap: 1.1em; }
.dk-co .dk-thanks__title { font-size: 1.3em; }
.dk-co .dk-thanks__label { margin: 0 0 0.3em; font-family: var(--dk-font-text); font-size: 1em; font-weight: 600; }
.dk-co .wc-block-order-confirmation-summary { margin: 0; }
.dk-co .wc-block-order-confirmation-summary-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1em 1em;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dk-co .wc-block-order-confirmation-summary-list-item { display: flex; flex-direction: column; gap: 0.2em; margin: 0; padding: 0; border: 0; }
.dk-co .wc-block-order-confirmation-summary-list-item__key { color: var(--dk-co-text); font-size: 1em; font-weight: 600; }
.dk-co .wc-block-order-confirmation-summary-list-item__value { color: var(--dk-co-muted); font-size: 1em; font-weight: 400; }
.dk-co .dk-thanks__addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1em; margin: 0; }
.dk-co .dk-thanks__addresses .wp-block-column { margin: 0; }
.dk-co :is(.wc-block-order-confirmation-shipping-wrapper, .wc-block-order-confirmation-billing-wrapper) { margin: 0; padding: 0; border: 0; background: none; }
.dk-co :is(.wc-block-order-confirmation-shipping-address, .wc-block-order-confirmation-billing-address) {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--dk-co-muted);
  font-style: normal;
  line-height: 1.55;
}
.dk-co :is(.wc-block-order-confirmation-shipping-address, .wc-block-order-confirmation-billing-address) p { margin: 0; }
.dk-co .wc-block-order-confirmation-additional-information:empty { display: none; }
.dk-co .dk-thanks__actions { display: flex; justify-content: flex-end; margin: 0.5em 0 0; }
.dk-co .dk-thanks__continue .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  min-height: 3.6em;
  padding: 0 1.6em;
  border: 0;
  border-radius: var(--dk-co-radius);
  background: var(--dk-co-btn-bg);
  color: var(--dk-co-btn-fg);
  font-family: var(--dk-font-text);
  font-size: 1em;
  font-weight: 700;
  text-decoration: none;
}
.dk-co--thanks .dk-co-policies { padding-inline: 0; }

/* Thank you summary: WooCommerce's totals table laid out like the checkout summary. */
.dk-co .wc-block-order-confirmation-totals-wrapper { margin: 0; padding: 0; border: 0; background: none; }
.dk-co .wc-block-order-confirmation-totals table { width: 100%; margin: 0; border: 0; border-collapse: collapse; }
.dk-co .wc-block-order-confirmation-totals thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.dk-co .wc-block-order-confirmation-totals :is(th, td) {
  padding: 0.4em 0;
  border: 0;
  background: transparent;
  color: var(--dk-co-text);
  font-size: 1em;
  font-weight: 400;
  text-align: left;
  vertical-align: top;
}
.dk-co .wc-block-order-confirmation-totals :is(th, td):last-child { text-align: right; white-space: nowrap; }
.dk-co .wc-block-order-confirmation-totals tbody td { padding-block: 0.6em; }
.dk-co .wc-block-order-confirmation-totals tbody tr:last-child td { padding-bottom: 1.25em; border-bottom: 1px solid var(--dk-co-line); }
.dk-co .wc-block-order-confirmation-totals tfoot tr:first-child :is(th, td) { padding-top: 1.25em; }
.dk-co .wc-block-order-confirmation-totals__product a { color: var(--dk-co-text); font-weight: 500; text-decoration: none; }
.dk-co .wc-block-order-confirmation-totals__product .product-quantity { color: var(--dk-co-muted); font-weight: 400; }
.dk-co .wc-block-order-confirmation-totals tfoot tr:last-child :is(th, td) { padding-top: 0.6em; font-size: 1.3em; font-weight: 700; }
.dk-co .wc-block-order-confirmation-totals tfoot tr:last-child td::before { content: var(--dk-co-currency, ""); margin-right: 0.5em; color: var(--dk-co-muted); font-size: 0.66em; font-weight: 400; }
.dk-co .wc-block-order-confirmation-totals .wc-item-meta { margin: 0.2em 0 0; padding: 0; color: var(--dk-co-muted); font-size: 0.86em; list-style: none; }

/* ---------- Two columns: Shopify's split, light right panel with a divider ---------- */
@media screen and (min-width: 750px) {
  .dk-co-header__inner {
    padding-block: 1.4em;
    padding-left: max(var(--dk-co-edge), calc(var(--dk-co-split) - var(--dk-co-left-w) - var(--dk-co-gap)));
    padding-right: max(var(--dk-co-edge), calc(100% - var(--dk-co-split) - var(--dk-co-gap) - var(--dk-co-right-w)));
  }
  .dk-co-header__logo-img { height: 2.9em; }

  .dk-co {
    background: linear-gradient(90deg,
      var(--dk-co-bg) 0 var(--dk-co-split),
      var(--dk-co-line) var(--dk-co-split) calc(var(--dk-co-split) + 1px),
      var(--dk-co-panel) calc(var(--dk-co-split) + 1px));
  }
  .dk-co .wc-block-components-sidebar-layout.is-large {
    display: grid;
    grid-template-columns: var(--dk-co-split) minmax(0, 1fr);
    align-items: start;
  }
  .dk-co .wc-block-components-sidebar-layout.is-large > :not(.wc-block-components-main, .wc-block-components-sidebar) { grid-column: 1 / -1; }
  .dk-co .wc-block-components-sidebar-layout.is-large .wc-block-components-main {
    grid-column: 1;
    padding: 2.5em var(--dk-co-gap) 0 max(var(--dk-co-edge), calc(100% - var(--dk-co-left-w) - var(--dk-co-gap)));
  }
  .dk-co .wc-block-components-sidebar-layout.is-large .wc-block-components-sidebar {
    grid-column: 2;
    order: 0;
    position: sticky;
    top: 0;
    padding: 2.5em max(var(--dk-co-edge), calc(100% - var(--dk-co-right-w) - var(--dk-co-gap))) 2.5em var(--dk-co-gap);
    border: 0;
    background: transparent;
  }
  .dk-co .wc-block-components-sidebar.is-large .wc-block-components-checkout-order-summary__title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .dk-co .wc-block-components-sidebar.is-large .wc-block-components-checkout-order-summary__content { display: block; padding: 0; }
  .dk-co__notices,
  .dk-co .wc-block-store-notices,
  .dk-co .dk-co-policies {
    box-sizing: border-box;
    width: var(--dk-co-split);
    padding-left: max(var(--dk-co-edge), calc(var(--dk-co-split) - var(--dk-co-left-w) - var(--dk-co-gap)));
    padding-right: var(--dk-co-gap);
  }
  .dk-co__notices,
  .dk-co .wc-block-store-notices { padding-top: 1.5em; }

  .dk-co--thanks .dk-co__grid { display: grid; grid-template-columns: var(--dk-co-split) minmax(0, 1fr); align-items: start; }
  .dk-co--thanks .dk-co__main { padding: 2.75em var(--dk-co-gap) 0 max(var(--dk-co-edge), calc(100% - var(--dk-co-left-w) - var(--dk-co-gap))); }
  .dk-co--thanks .dk-co__side {
    order: 0;
    position: sticky;
    top: 0;
    padding: 2.75em max(var(--dk-co-edge), calc(100% - var(--dk-co-right-w) - var(--dk-co-gap))) 2.5em var(--dk-co-gap);
    border: 0;
    background: transparent;
  }
  .dk-co--thanks .dk-co-policies { width: auto; padding-left: 0; padding-right: 0; }
}

@media screen and (max-width: 749px) {
  .dk-co .dk-thanks__addresses,
  .dk-co .wc-block-order-confirmation-summary-list { grid-template-columns: minmax(0, 1fr); }
  .dk-co .dk-thanks__actions .wp-block-button,
  .dk-co .dk-thanks__continue .wp-block-button__link { width: 100%; justify-content: center; }
  /* 16px fields on phones so iOS does not zoom in. */
  .dk-co .wc-block-components-text-input input[type],
  .dk-co .wc-blocks-components-select .wc-blocks-components-select__select { font-size: 1.143em; }
}

@media (prefers-reduced-motion: reduce) {
  .dk-co * { transition: none !important; }
}
