/*
 * SKJOLD SINGEL OG STEIN — checkout/cart 0.2.3
 * Classic WooCommerce checkout shortcode and classic cart shortcode only.
 * All selectors are scoped to avoid changing other pages.
 */
body.woocommerce-checkout .skjold-cd-page,
body.woocommerce-cart .skjold-cd-cart-heading,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
  --skcd-ink: #303337;
  --skcd-muted: #687078;
  --skcd-gold: #b89b6d;
  --skcd-soft: #f7f4ef;
  --skcd-bg: #ffffff;
  --skcd-line: #e0e3e6;
  --skcd-radius: 15px;
  color: var(--skcd-ink);
}

/* ---------------- Checkout shell and title ---------------- */
body.woocommerce-checkout .skjold-cd-page {
  width: min(100%, 860px) !important;
  max-width: 860px !important;
  margin: 0 auto 60px !important;
  padding: 0 18px;
  box-sizing: border-box;
}
body.woocommerce-checkout .skjold-cd-page *,
body.woocommerce-cart .woocommerce-cart-form *,
body.woocommerce-cart .cart-collaterals * {
  box-sizing: border-box;
}
body.woocommerce-checkout .skjold-cd-page-heading {
  text-align: center;
  margin: 10px 0 28px;
}
body.woocommerce-checkout .skjold-cd-eyebrow,
body.woocommerce-cart .skjold-cd-eyebrow {
  display: block;
  color: var(--skcd-gold, #b89b6d);
  font: 700 11px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.woocommerce-checkout .skjold-cd-page-heading h1,
body.woocommerce-cart .skjold-cd-cart-heading h1 {
  margin: 8px 0 6px;
  color: #252b31;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(29px, 4.7vw, 43px);
  line-height: 1.14;
  font-weight: 700;
  letter-spacing: -.03em;
}
body.woocommerce-checkout .skjold-cd-page-heading p,
body.woocommerce-cart .skjold-cd-cart-heading p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--skcd-muted);
}

/* Native WooCommerce login, coupon, validation notices stay functional */
body.woocommerce-checkout .skjold-cd-page .woocommerce-info,
body.woocommerce-checkout .skjold-cd-page .woocommerce-message {
  border: 1px solid #e8e4dd !important;
  border-top: 1px solid #e8e4dd !important;
  background: var(--skcd-soft) !important;
  color: var(--skcd-ink) !important;
  padding: 17px 20px 17px 48px !important;
  margin: 0 0 18px !important;
  border-radius: 11px;
  font-size: 14px;
  line-height: 1.55;
  box-shadow: none;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-info::before,
body.woocommerce-checkout .skjold-cd-page .woocommerce-message::before { left: 18px; color: #9c8054; }
body.woocommerce-checkout .skjold-cd-page .woocommerce-error {
  border: 1px solid #e9b7b7 !important;
  background: #fff8f8 !important;
  border-radius: 10px;
  color: #a22b2b;
}
body.woocommerce-checkout .skjold-cd-page form.checkout_coupon,
body.woocommerce-checkout .skjold-cd-page form.woocommerce-form-login {
  padding: 20px !important;
  border: 1px solid var(--skcd-line) !important;
  border-radius: 12px;
  margin: 0 0 18px;
}

/* One continuous card, not side-by-side boxes */
body.woocommerce-checkout form.skjold-cd-checkout-form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
}
body.woocommerce-checkout .skjold-cd-page #order_review.skjold-cd-main-card {
  display: block !important;
  width: 100% !important;
  padding: clamp(19px, 4vw, 37px) !important;
  background: #fff !important;
  border: 1px solid var(--skcd-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 38px rgba(24, 31, 37, .055) !important;
}
body.woocommerce-checkout .skjold-cd-main-card > .skjold-cd-section {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-width: 0 !important;
}
body.woocommerce-checkout .skjold-cd-main-card > .skjold-cd-section + .skjold-cd-section {
  border-top: 1px solid var(--skcd-line) !important;
  margin-top: 29px !important;
  padding-top: 27px !important;
}
body.woocommerce-checkout .skjold-cd-section > h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(23px, 2.7vw, 28px);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.2;
  color: #252b31;
  margin: 0 0 21px !important;
  padding: 0 !important;
}

/* ---------------- Order review: full width ---------------- */
body.woocommerce-checkout .skjold-cd-page .skjold-cd-order-review-content,
body.woocommerce-checkout .skjold-cd-page #customer_details,
body.woocommerce-checkout .skjold-cd-page #payment {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.woocommerce-checkout .skjold-cd-page #customer_details::before,
body.woocommerce-checkout .skjold-cd-page #customer_details::after {
  content: "";
  display: table;
  clear: both;
}
body.woocommerce-checkout .skjold-cd-page #customer_details > .col-1,
body.woocommerce-checkout .skjold-cd-page #customer_details > .col-2 {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* Astra/WooCommerce 2-column details defaults are intentionally neutralized */
body.woocommerce-checkout .skjold-cd-page .col2-set { display: block !important; }
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  table-layout: auto !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table thead { display: none !important; }
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tbody,
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot {
  display: block !important;
  width: 100% !important;
  float: none !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tr {
  display: flex !important;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--skcd-line) !important;
  background: transparent !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table th {
  display: block !important;
  float: none !important;
  position: static !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  vertical-align: middle !important;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.55;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table td::before {
  display: none !important;
  content: none !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tbody tr.cart_item {
  padding: 2px 0 18px !important;
  margin-bottom: 8px !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table .product-name {
  min-width: 0;
  flex: 1 1 auto;
  font-weight: 600;
  color: var(--skcd-ink);
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table .product-total {
  flex: 0 0 auto;
  text-align: right !important;
  font-weight: 700;
  white-space: nowrap;
}
/* A compact ONE-LINE product title and quantity, no distracting thumbnail.
   Keep the native price beside it. Very long product names are visually
   shortened rather than wrapping the quantity to a new row. */
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tbody tr.cart_item {
  gap: 9px !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tbody td.product-name {
  min-width: 0 !important;
  overflow: hidden;
  white-space: nowrap;
  line-height: 1.5 !important;
  font-size: 14px !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table .skjold-cd-product-name-text {
  display: inline-block !important;
  max-width: calc(100% - 38px);
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  vertical-align: middle;
  font-size: inherit !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table .skjold-cd-product-name-text a {
  font-size: inherit !important;
  white-space: nowrap !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table strong.product-quantity {
  display: inline-block !important;
  vertical-align: middle;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--skcd-muted);
  font-size: 12px !important;
  font-weight: 500;
  white-space: nowrap !important;
}
/* If a product has extra variations, show those without disrupting the row. */
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table dl.variation {
  margin: 5px 0 0 !important;
  white-space: normal !important;
  font-size: 12px;
  color: var(--skcd-muted);
}
@media (max-width: 480px) {
  body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tbody td.product-name,
  body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tbody td.product-total {
    font-size: 12.5px !important;
  }
  body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table .skjold-cd-product-name-text {
    max-width: calc(100% - 32px);
  }
  body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table strong.product-quantity {
    font-size: 11px !important;
  }
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr {
  border: 0 !important;
  padding: 6px 0 !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr th {
  flex: 1 1 auto;
  font-weight: 500;
  color: #59616a;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr td {
  flex: 0 1 auto;
  text-align: right !important;
  font-weight: 600;
  color: var(--skcd-ink);
}
/* Shipping must span the full card width; Woo stores methods in the table cell. */
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals,
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.shipping {
  display: block !important;
  width: 100% !important;
  margin: 12px 0 !important;
  padding: 11px 0 15px !important;
  border-top: 1px solid var(--skcd-line) !important;
  border-bottom: 1px solid var(--skcd-line) !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.shipping > th,
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.shipping > td,
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > th,
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.shipping > th,
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > th {
  font-weight: 700;
  color: #252b31;
  margin: 0 0 13px !important;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method {
  list-style: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method li {
  display: flex !important;
  gap: 12px;
  align-items: flex-start !important;
  position: relative;
  clear: both;
  list-style: none !important;
  width: 100%;
  min-width: 0;
  padding: 15px !important;
  margin: 0 0 10px !important;
  border: 1px solid var(--skcd-line) !important;
  border-radius: 11px;
  background: #fff !important;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease;
  text-align: left !important;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method li:hover { border-color: var(--skcd-gold) !important; }
body.woocommerce-checkout .skjold-cd-page #shipping_method li.skjold-cd-selected,
body.woocommerce-checkout .skjold-cd-page #shipping_method li:has(input[type="radio"]:checked) {
  border-color: var(--skcd-gold) !important;
  background: var(--skcd-soft) !important;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method input[type="radio"] {
  display: inline-block !important;
  position: static !important;
  flex: 0 0 18px;
  width: 18px !important;
  height: 18px !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
  accent-color: #a68c61;
  cursor: pointer;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method li label {
  display: block !important;
  flex: 1 1 auto;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.55;
  color: var(--skcd-ink);
  overflow-wrap: break-word;
  cursor: pointer;
  text-align: left !important;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method li label .amount {
  font-weight: 700;
  color: var(--skcd-ink);
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-shipping-destination,
body.woocommerce-checkout .skjold-cd-page .woocommerce-shipping-calculator,
body.woocommerce-checkout .skjold-cd-page .woocommerce-shipping-methods + p {
  font-size: 13px;
  line-height: 1.55;
  color: var(--skcd-muted);
  margin: 9px 0 0;
}
/* Total stripe */
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.order-total {
  padding: 12px 14px !important;
  background: var(--skcd-soft) !important;
  border-radius: 9px;
  margin-top: 8px !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.order-total th,
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-weight: 700;
  color: #30302c;
  font-size: clamp(17px, 2.7vw, 21px) !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table .includes_tax,
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table .tax_label {
  display: block;
  color: var(--skcd-muted);
  font-size: 11px;
  font-weight: 400;
  margin-top: 3px;
}

/* ---------------- Billing / shipping / note fields ---------------- */
body.woocommerce-checkout .skjold-cd-page .woocommerce-billing-fields > h3,
body.woocommerce-checkout .skjold-cd-page .woocommerce-additional-fields > h3 {
  /* The single 'Dine detaljer' heading and field 'Melding' replace duplicate titles. */
  display: none !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-shipping-fields > h3 {
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  margin: 15px 0;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .skjold-cd-page .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .skjold-cd-page .woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 15px 17px;
  width: 100%;
}
body.woocommerce-checkout .skjold-cd-page #customer_details .form-row,
body.woocommerce-checkout .skjold-cd-page #customer_details .woocommerce-input-wrapper {
  box-sizing: border-box;
}
body.woocommerce-checkout .skjold-cd-page #customer_details .form-row {
  display: block !important;
  grid-column: 1 / -1;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}
body.woocommerce-checkout .skjold-cd-page #billing_first_name_field,
body.woocommerce-checkout .skjold-cd-page #billing_last_name_field,
body.woocommerce-checkout .skjold-cd-page #shipping_first_name_field,
body.woocommerce-checkout .skjold-cd-page #shipping_last_name_field {
  grid-column: span 1 !important;
}
/* Explicitly force separate rows for postcode and city in all viewport sizes */
body.woocommerce-checkout .skjold-cd-page #billing_postcode_field,
body.woocommerce-checkout .skjold-cd-page #billing_city_field,
body.woocommerce-checkout .skjold-cd-page #shipping_postcode_field,
body.woocommerce-checkout .skjold-cd-page #shipping_city_field {
  grid-column: 1 / -1 !important;
}
body.woocommerce-checkout .skjold-cd-page #customer_details .form-row > label {
  display: block;
  margin: 0 0 7px !important;
  font: 600 13px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #41464c;
}
body.woocommerce-checkout .skjold-cd-page #customer_details .optional {
  color: #757d85;
  font-weight: 400;
  font-size: 12px;
}
body.woocommerce-checkout .skjold-cd-page #customer_details .required { color: #b13d39; }
body.woocommerce-checkout .skjold-cd-page #customer_details input.input-text,
body.woocommerce-checkout .skjold-cd-page #customer_details select,
body.woocommerce-checkout .skjold-cd-page #customer_details textarea,
body.woocommerce-checkout .skjold-cd-page #customer_details .select2-container .select2-selection--single,
body.woocommerce-checkout .skjold-cd-page form.checkout_coupon input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  height: auto;
  border: 1px solid #d9dde1 !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #303337 !important;
  font: 400 15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
  padding: 10px 13px !important;
}
body.woocommerce-checkout .skjold-cd-page #customer_details textarea {
  min-height: 96px !important;
  resize: vertical;
}
body.woocommerce-checkout .skjold-cd-page #customer_details .select2-container {
  width: 100% !important;
}
body.woocommerce-checkout .skjold-cd-page #customer_details .select2-container .select2-selection--single {
  height: 46px !important;
  display: flex;
  align-items: center;
}
body.woocommerce-checkout .skjold-cd-page #customer_details .select2-container .select2-selection__rendered {
  line-height: 1.5 !important;
  padding-left: 0 !important;
}
body.woocommerce-checkout .skjold-cd-page #customer_details .select2-container .select2-selection__arrow {
  top: 10px !important;
  right: 10px;
}
body.woocommerce-checkout .skjold-cd-page input:focus,
body.woocommerce-checkout .skjold-cd-page textarea:focus,
body.woocommerce-checkout .skjold-cd-page select:focus,
body.woocommerce-checkout .skjold-cd-page .select2-container--focus .select2-selection {
  outline: 2px solid rgba(184, 155, 109, .37) !important;
  outline-offset: 1px;
  border-color: var(--skcd-gold) !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-billing-fields,
body.woocommerce-checkout .skjold-cd-page .woocommerce-shipping-fields,
body.woocommerce-checkout .skjold-cd-page .woocommerce-additional-fields {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-shipping-fields,
body.woocommerce-checkout .skjold-cd-page .woocommerce-additional-fields { margin-top: 17px !important; }
body.woocommerce-checkout .skjold-cd-page .woocommerce-account-fields,
body.woocommerce-checkout .skjold-cd-page .create-account {
  padding: 14px 0;
  font-size: 14px;
}
body.woocommerce-checkout .skjold-cd-page #ship-to-different-address-checkbox,
body.woocommerce-checkout .skjold-cd-page #createaccount { accent-color: var(--skcd-gold); }

/* ---------------- Payment: native WC gateways and submit button ---------------- */
body.woocommerce-checkout .skjold-cd-page .skjold-cd-payment .skjold-cd-help {
  font-size: 13px;
  line-height: 1.5;
  color: var(--skcd-muted);
  margin: -10px 0 20px;
}
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods,
body.woocommerce-checkout .skjold-cd-page #payment ul.wc_payment_methods {
  display: block !important;
  width: 100%;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 17px !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li {
  display: block !important;
  width: 100%;
  border: 1px solid var(--skcd-line) !important;
  border-radius: 11px;
  background: #fff !important;
  padding: 15px 16px !important;
  margin: 0 0 11px !important;
  min-width: 0;
  line-height: 1.55;
}
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li.skjold-cd-selected,
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li:has(> input[type="radio"]:checked) {
  border-color: var(--skcd-gold) !important;
  background: var(--skcd-soft) !important;
}
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li > input[type="radio"] {
  position: static !important;
  display: inline-block;
  vertical-align: middle;
  margin: 1px 10px 0 0 !important;
  width: 17px;
  height: 17px;
  accent-color: #a68c61;
}
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li > label {
  display: inline;
  font-size: 14px;
  font-weight: 650;
  cursor: pointer;
  margin: 0 !important;
}
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li > label img {
  max-height: 30px;
  width: auto;
  display: inline-block;
  vertical-align: middle;
  margin-left: 7px;
}
body.woocommerce-checkout .skjold-cd-page #payment .payment_box,
body.woocommerce-checkout .skjold-cd-page #payment div.payment_box {
  width: 100%;
  background: #fff !important;
  border: 1px solid var(--skcd-line) !important;
  border-radius: 9px !important;
  padding: 15px !important;
  margin: 12px 0 0 !important;
  color: var(--skcd-muted) !important;
  font-size: 13px;
  box-shadow: none !important;
}
body.woocommerce-checkout .skjold-cd-page #payment .payment_box::before { display: none !important; }
body.woocommerce-checkout .skjold-cd-page #payment .place-order {
  background: transparent !important;
  border: 0 !important;
  padding: 8px 0 0 !important;
  margin: 0 !important;
  width: 100%;
  float: none !important;
}
body.woocommerce-checkout .skjold-cd-page #payment .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .skjold-cd-page #payment .woocommerce-privacy-policy-text {
  color: var(--skcd-muted);
  font-size: 13px;
  line-height: 1.6;
}
body.woocommerce-checkout .skjold-cd-page #payment #place_order {
  display: block;
  width: 100% !important;
  min-height: 54px;
  padding: 15px 19px !important;
  margin-top: 15px;
  background: #30363b !important;
  border: 1px solid #30363b !important;
  border-radius: 10px !important;
  color: #fff !important;
  box-shadow: none !important;
  float: none !important;
  font: 700 15px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: .01em;
  cursor: pointer;
}
body.woocommerce-checkout .skjold-cd-page #payment #place_order:hover,
body.woocommerce-checkout .skjold-cd-page #payment #place_order:focus {
  background: #20262b !important;
  border-color: #20262b !important;
}

/* ---------------- v0.2.1: Astra / WooCommerce compatibility fixes ----------------
   WooCommerce clearfix pseudo-elements become actual CSS grid items. That
   inserted invisible first column and pushed first/last name out of order.
   The form fields must occupy real columns with no generated grid children.
*/
body.woocommerce-checkout .skjold-cd-page .woocommerce-billing-fields__field-wrapper::before,
body.woocommerce-checkout .skjold-cd-page .woocommerce-billing-fields__field-wrapper::after,
body.woocommerce-checkout .skjold-cd-page .woocommerce-shipping-fields__field-wrapper::before,
body.woocommerce-checkout .skjold-cd-page .woocommerce-shipping-fields__field-wrapper::after,
body.woocommerce-checkout .skjold-cd-page .woocommerce-additional-fields__field-wrapper::before,
body.woocommerce-checkout .skjold-cd-page .woocommerce-additional-fields__field-wrapper::after {
  content: none !important;
  display: none !important;
}
/* Give field wrappers a predictable reading order, even with Astra floats. */
body.woocommerce-checkout .skjold-cd-page #customer_details .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .skjold-cd-page #customer_details .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .skjold-cd-page #customer_details .woocommerce-additional-fields__field-wrapper {
  direction: ltr !important;
  grid-auto-flow: row !important;
  align-items: start;
}
body.woocommerce-checkout .skjold-cd-page #billing_first_name_field,
body.woocommerce-checkout .skjold-cd-page #shipping_first_name_field {
  grid-column: 1 !important;
  float: none !important;
  clear: none !important;
}
body.woocommerce-checkout .skjold-cd-page #billing_last_name_field,
body.woocommerce-checkout .skjold-cd-page #shipping_last_name_field {
  grid-column: 2 !important;
  float: none !important;
  clear: none !important;
}
/* Astra and other themes sometimes use floated / visually-hidden shipping radios.
   Give the real input a dedicated track, with text in a separate track. */
body.woocommerce-checkout .skjold-cd-page #shipping_method > li,
body.woocommerce-checkout .skjold-cd-page ul#shipping_method li {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  column-gap: 13px !important;
  row-gap: 5px;
  align-items: start !important;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method li > input[type="radio"] {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: static !important;
  float: none !important;
  clear: none !important;
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  min-height: 19px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  clip: auto !important;
  clip-path: none !important;
  appearance: auto !important;
  -webkit-appearance: radio !important;
  accent-color: #a68c61 !important;
  vertical-align: top !important;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method li > input[type="radio"]::before,
body.woocommerce-checkout .skjold-cd-page #shipping_method li > input[type="radio"]::after,
body.woocommerce-checkout .skjold-cd-page #shipping_method li > label::before,
body.woocommerce-checkout .skjold-cd-page #shipping_method li > label::after {
  content: none !important;
  display: none !important;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method li > label {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: static !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  text-indent: 0 !important;
  overflow-wrap: break-word !important;
  text-align: left !important;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method li > input[type="hidden"] {
  display: none !important;
}
body.woocommerce-checkout .skjold-cd-page #shipping_method li:has(> input[type="hidden"]) > label {
  grid-column: 1 / -1 !important;
}
/* Keep checkout title away from sticky site headers and clipped page tops. */
body.woocommerce-checkout .skjold-cd-page .skjold-cd-page-heading {
  padding-top: 34px !important;
  clear: both !important;
}
@media (max-width: 620px) {
  body.woocommerce-checkout .skjold-cd-page #billing_first_name_field,
  body.woocommerce-checkout .skjold-cd-page #billing_last_name_field,
  body.woocommerce-checkout .skjold-cd-page #shipping_first_name_field,
  body.woocommerce-checkout .skjold-cd-page #shipping_last_name_field {
    grid-column: 1 / -1 !important;
  }
  body.woocommerce-checkout .skjold-cd-page .skjold-cd-page-heading {
    padding-top: 20px !important;
  }
}

/* ---------------- Classic cart: same clean single-column layout ---------------- */
body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
  width: min(100%, 860px);
  max-width: 860px;
  margin-inline: auto;
}
body.woocommerce-cart .skjold-cd-cart-heading { text-align: center; margin: 6px 0 24px; }
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
  background: #fff;
  border: 1px solid var(--skcd-line, #e0e3e6);
  border-radius: 15px;
  padding: clamp(17px, 3.5vw, 30px);
  margin: 0 0 20px !important;
  box-shadow: 0 12px 38px rgba(24, 31, 37, .045);
}
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-collaterals .cart_totals { display: block; }
body.woocommerce-cart .cart-collaterals .cart_totals h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  line-height: 1.2;
  margin: 0 0 13px;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-cart .cart-collaterals table.shop_table {
  border: 0 !important;
  width: 100% !important;
  background: transparent;
  border-collapse: collapse !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table th,
body.woocommerce-cart .woocommerce-cart-form table.shop_table td,
body.woocommerce-cart .cart-collaterals table.shop_table th,
body.woocommerce-cart .cart-collaterals table.shop_table td {
  border: 0 !important;
  border-bottom: 1px solid #e0e3e6 !important;
  padding: 13px 8px !important;
  vertical-align: middle;
  overflow-wrap: break-word;
}
body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
  width: 68px !important;
  height: 68px !important;
  object-fit: cover;
  border-radius: 8px;
}
body.woocommerce-cart .woocommerce-cart-form input.qty {
  min-height: 42px;
  border: 1px solid #d9dde1;
  border-radius: 8px;
}
body.woocommerce-cart .woocommerce-cart-form .button,
body.woocommerce-cart .cart-collaterals .checkout-button {
  min-height: 46px;
  border-radius: 9px !important;
  font-weight: 650;
}
body.woocommerce-cart .cart-collaterals .checkout-button {
  background: #30363b !important;
  border-color: #30363b !important;
  color: #fff !important;
  padding: 15px 20px !important;
  text-align: center;
}
body.woocommerce-cart .cart-collaterals .checkout-button:hover { background: #20262b !important; }
body.woocommerce-cart .cart-collaterals .cart_totals table .shipping td { min-width: 0; }

/* ---------------- Tablet ---------------- */
@media (max-width: 900px) {
  body.woocommerce-checkout .skjold-cd-page { max-width: 780px !important; }
}

/* ---------------- Phone ---------------- */
@media (max-width: 620px) {
  body.woocommerce-checkout .skjold-cd-page { padding-inline: 10px !important; }
  body.woocommerce-checkout .skjold-cd-page-heading { margin: 5px 0 20px; }
  body.woocommerce-checkout .skjold-cd-page #order_review.skjold-cd-main-card {
    padding: 20px 16px !important;
    border-radius: 12px;
  }
  body.woocommerce-checkout .skjold-cd-main-card > .skjold-cd-section + .skjold-cd-section {
    margin-top: 22px !important;
    padding-top: 22px !important;
  }
  body.woocommerce-checkout .skjold-cd-section > h2 { font-size: 24px; }
  body.woocommerce-checkout .skjold-cd-page .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .skjold-cd-page .woocommerce-shipping-fields__field-wrapper,
  body.woocommerce-checkout .skjold-cd-page .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  body.woocommerce-checkout .skjold-cd-page #billing_first_name_field,
  body.woocommerce-checkout .skjold-cd-page #billing_last_name_field,
  body.woocommerce-checkout .skjold-cd-page #shipping_first_name_field,
  body.woocommerce-checkout .skjold-cd-page #shipping_last_name_field {
    grid-column: 1 / -1 !important;
  }
  body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tr { gap: 12px; }
  body.woocommerce-checkout .skjold-cd-product-thumb { flex-basis: 54px; height: 54px; }
  body.woocommerce-checkout .skjold-cd-product-thumb img { width: 54px !important; height: 54px !important; }
  body.woocommerce-checkout .skjold-cd-product-line { gap: 10px; }
  body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table strong.product-quantity {
    margin: -12px 0 0 64px;
  }
  body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table dl.variation { margin-left: 64px; }
  body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table .product-total { font-size: 13px; }
  body.woocommerce-checkout .skjold-cd-page #shipping_method li { padding: 14px 12px !important; }
  body.woocommerce-checkout .skjold-cd-page #shipping_method li label { font-size: 13px; }
  body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li { padding: 14px 12px !important; }

  /* Native Woo cart mobile labels and quantity interactions remain in the DOM. */
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals .cart_totals { padding: 18px 13px; }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
    display: block;
    margin-bottom: 15px;
    padding: 12px 0 16px;
    border-bottom: 1px solid #e0e3e6;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td {
    display: block;
    width: 100% !important;
    text-align: right !important;
    border: 0 !important;
    padding: 7px 0 !important;
    min-height: 25px;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-name {
    text-align: left !important;
    font-weight: 650;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td::before {
    font-weight: 500;
    color: #687078;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail {
    display: block;
    text-align: left !important;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove {
    text-align: right !important;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal { font-weight: 700; }
}

@media (prefers-reduced-motion: reduce) {
  body.woocommerce-checkout .skjold-cd-page #shipping_method li { transition: none; }
}

/* WooCommerce Cart BLOCK: safe cosmetic fallback if cart isn't a shortcode. */
body.woocommerce-cart .wc-block-cart {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  color: #303337;
}
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px;
}
body.woocommerce-cart .wc-block-cart .wc-block-components-main,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 20px !important;
  border: 1px solid #e0e3e6;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 12px 38px rgba(24, 31, 37, .045);
  box-sizing: border-box;
}
body.woocommerce-cart .wc-block-cart .wc-block-components-button:not(.is-link) {
  border-radius: 9px;
  min-height: 46px;
}
@media(max-width: 620px) {
  body.woocommerce-cart .wc-block-cart .wc-block-components-main,
  body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar { padding: 15px !important; }
}

/* v0.2.2 - Small, calm terms acceptance without a privacy essay. */
body.woocommerce-checkout .skjold-cd-page #payment .woocommerce-privacy-policy-text:empty {
  display: none !important;
}
body.woocommerce-checkout .skjold-cd-page #payment .woocommerce-terms-and-conditions-wrapper {
  margin-top: 10px !important;
  color: #3f4449 !important;
  font-size: 14px !important;
}
body.woocommerce-checkout .skjold-cd-page #payment .woocommerce-terms-and-conditions-wrapper p.form-row {
  margin: 0 0 15px !important;
  padding: 0 !important;
}
body.woocommerce-checkout .skjold-cd-page #payment .woocommerce-terms-and-conditions-wrapper label.checkbox {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  cursor: pointer;
}
body.woocommerce-checkout .skjold-cd-page #payment #terms {
  flex: 0 0 auto;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  position: static !important;
  opacity: 1 !important;
  accent-color: #a68c61;
}
body.woocommerce-checkout .skjold-cd-page #payment .woocommerce-terms-and-conditions-checkbox-text a {
  color: #665638;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* ===== v0.2.3: inline checkout cart management ===== */
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tbody tr.cart_item {
  align-items: flex-start !important;
  gap: 12px !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tbody td.product-name {
  overflow: visible !important;
  white-space: normal !important;
  flex: 1 1 0 !important;
  padding-right: 0 !important;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table .skjold-cd-product-name-text {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis;
  font-weight: 600;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tbody td.product-total {
  padding-top: 1px !important;
  white-space: nowrap;
  flex: 0 0 auto !important;
}
body.woocommerce-checkout .skjold-cd-page .skjold-cd-item-tools {
  display: flex !important;
  flex-flow: row wrap;
  align-items: center;
  gap: 8px 14px;
  margin-top: 10px;
  width: 100%;
}
body.woocommerce-checkout .skjold-cd-page .skjold-cd-stepper {
  display: inline-flex;
  align-items: center;
  height: 35px;
  overflow: hidden;
  border: 1px solid #d9dde1;
  border-radius: 8px;
  background: #fff;
}
body.woocommerce-checkout .skjold-cd-page .skjold-cd-stepper button,
body.woocommerce-checkout .skjold-cd-page .skjold-cd-stepper input {
  appearance: none;
  -webkit-appearance: none;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 33px !important;
  min-height: 33px !important;
  line-height: 33px !important;
  box-shadow: none !important;
  color: #303337 !important;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  text-align: center;
}
body.woocommerce-checkout .skjold-cd-page .skjold-cd-stepper button {
  width: 34px !important;
  min-width: 34px !important;
  font-size: 19px !important;
  font-weight: 400;
  cursor: pointer;
}
body.woocommerce-checkout .skjold-cd-page .skjold-cd-stepper button:hover { background: #f7f4ef !important; }
body.woocommerce-checkout .skjold-cd-page .skjold-cd-stepper input {
  width: 39px !important;
  min-width: 39px !important;
  max-width: 39px !important;
  font-size: 14px !important;
  font-weight: 600;
  -moz-appearance: textfield;
}
body.woocommerce-checkout .skjold-cd-page .skjold-cd-stepper input::-webkit-inner-spin-button,
body.woocommerce-checkout .skjold-cd-page .skjold-cd-stepper input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table .skjold-cd-remove-item {
  appearance: none;
  -webkit-appearance: none;
  border: 0 !important;
  padding: 6px 0 !important;
  margin: 0 !important;
  min-height: 35px !important;
  width: auto !important;
  box-shadow: none !important;
  background: transparent !important;
  color: #6b6d71 !important;
  font: 500 12px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
body.woocommerce-checkout .skjold-cd-page .skjold-cd-remove-item:hover { color: #932626 !important; }
body.woocommerce-checkout .skjold-cd-page .skjold-cd-single-count {
  font-size: 12px;
  color: #6b6d71;
}
body.woocommerce-checkout .skjold-cd-page .skjold-cd-item-tools button:focus-visible,
body.woocommerce-checkout .skjold-cd-page .skjold-cd-item-tools input:focus-visible {
  outline: 2px solid #b89b6d !important;
  outline-offset: -2px;
}
body.woocommerce-checkout .skjold-cd-page .skjold-cd-cart-status:not(:empty) {
  padding: 10px 13px;
  border: 1px solid #e8e4dd;
  background: #f7f4ef;
  color: #3d403d;
  border-radius: 9px;
  margin-bottom: 14px;
  font-size: 13px;
}
body.woocommerce-checkout .skjold-cd-page .skjold-cd-cart-status.skjold-cd-error {
  background: #fff8f8;
  border-color: #e9b7b7;
  color: #992b2b;
}
body.woocommerce-checkout form.skjold-cd-cart-busy .skjold-cd-item-tools {
  opacity: .55;
  pointer-events: none;
}
@media (max-width: 420px) {
  body.woocommerce-checkout .skjold-cd-page .skjold-cd-item-tools { gap: 7px 10px; }
  body.woocommerce-checkout .skjold-cd-page .woocommerce-checkout-review-order-table tbody tr.cart_item { gap: 9px !important; }
}


/* ===== v0.2.4: freight-price notice immediately above sales terms ===== */
body.woocommerce-checkout .skjold-cd-page #payment .skjold-cd-freight-notice {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  padding: 17px 18px;
  margin: 0 0 20px !important;
  background: #f7f4ed !important;
  border: 1px solid #e5d9c5 !important;
  border-radius: 11px;
  color: #414044 !important;
  text-align: left !important;
}
body.woocommerce-checkout .skjold-cd-page #payment .skjold-cd-freight-notice-icon {
  display: inline-flex;
  flex: 0 0 23px;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  margin-top: 1px;
  box-sizing: border-box;
  border-radius: 50%;
  background: #b89b6d;
  color: #fff;
  font: 700 14px/1 system-ui, -apple-system, "Segoe UI", sans-serif;
}
body.woocommerce-checkout .skjold-cd-page #payment .skjold-cd-freight-notice-content {
  min-width: 0;
  flex: 1 1 auto;
  font: 400 13px/1.65 system-ui, -apple-system, "Segoe UI", sans-serif;
}
body.woocommerce-checkout .skjold-cd-page #payment .skjold-cd-freight-notice-title {
  display: block;
  margin: 0 0 7px;
  color: #333235;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}
body.woocommerce-checkout .skjold-cd-page #payment .skjold-cd-freight-notice-content p {
  margin: 0 0 9px !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #414044 !important;
}
body.woocommerce-checkout .skjold-cd-page #payment .skjold-cd-freight-notice-content p:last-child {
  margin-bottom: 0 !important;
}
body.woocommerce-checkout .skjold-cd-page #payment .skjold-cd-freight-notice-content p strong {
  font-weight: 700;
  color: #333235;
}
@media (max-width: 480px) {
  body.woocommerce-checkout .skjold-cd-page #payment .skjold-cd-freight-notice {
    gap: 10px;
    padding: 14px;
    margin-bottom: 17px !important;
  }
}


/* ================================================================
   v0.2.5: CART PAGE REDESIGN (classic [woocommerce_cart])
   The default Woo/Astra responsive table creates enormous item panels
   on phones. Retain its native form, quantity, coupons and totals, but
   display each item as a compact readable card with no image placeholder.
   This CSS is cart-page-only and never touches checkout payment fields.
   ================================================================ */
body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
  width: min(100%, 860px) !important;
  max-width: 860px !important;
  margin: 0 auto 54px !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
}
body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .skjold-cd-cart-heading {
  margin: 22px auto 23px !important;
  max-width: 100% !important;
}
body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) > .skjold-cd-cart-heading p {
  display: none !important;
}
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals .cart_totals {
  padding: clamp(18px, 4vw, 32px) !important;
  border: 1px solid #e0e3e6 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 38px rgba(24,31,37,.045) !important;
  background: #fff !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart,
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: auto !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  background: transparent !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart thead {display: none !important;}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
  gap: 12px 17px !important;
  padding: 18px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e0e3e6 !important;
  min-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  align-items: start;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item:first-child {padding-top: 3px !important;}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td {
  display: block !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  height: auto !important;
  min-height: 0 !important;
  overflow-wrap: anywhere;
  text-align: left !important;
  box-sizing: border-box !important;
}
/* No tiny generic 'missing image' icon or huge empty image row. */
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-thumbnail {
  display: none !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-name {
  grid-column: 1 / 3;
  grid-row: 1;
  align-self: center;
  font-weight: 650 !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  padding-right: 9px !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-name a {
  color: #303337 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-remove {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  align-self: start;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  float: none !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: #6b6e72 !important;
  border: 1px solid #e0e3e6 !important;
  border-radius: 50% !important;
  background: #fff !important;
  text-decoration: none !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-remove a.remove:hover {
  color: #a32828 !important;
  border-color: #a32828 !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-price {grid-column: 1;grid-row:2;}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-quantity {grid-column: 2;grid-row:2;}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-subtotal {grid-column: 3;grid-row:2;text-align:right !important;font-weight:700 !important;}
/* Undo Astra/Woo mobile data labels. Use small, consistent labels above amounts. */
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td::before {
  display: none !important;
  content: none !important;
  float: none !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-price::before,
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-quantity::before,
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-subtotal::before {
  display: block !important;
  position: static !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  font: 500 12px/1.35 system-ui, -apple-system, 'Segoe UI', sans-serif !important;
  color: #687078 !important;
  text-align: inherit !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-price::before {content:'Pris' !important;}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-quantity::before {content:'Antall' !important;}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-subtotal::before {content:'Delsum' !important;}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-quantity .quantity {
  display: inline-flex !important;
  float: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-quantity input.qty {
  display: block !important;
  width: 75px !important;
  max-width: 100% !important;
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  text-align: center !important;
  border: 1px solid #d9dde1 !important;
  border-radius: 8px !important;
  padding: 6px 8px !important;
  color: #303337 !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr > td.actions {
  display: block !important;
  width: 100% !important;
  padding: 20px 0 0 !important;
  border: 0 !important;
  text-align: left !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.actions .coupon {
  float: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center;
  margin: 0 0 15px !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.actions .coupon input#coupon_code {
  min-width: 0 !important;
  flex: 1 1 150px;
  width: auto !important;
  min-height: 44px !important;
  border: 1px solid #d9dde1 !important;
  border-radius: 8px !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.actions button[name='update_cart'] {
  float: none !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 44px !important;
  margin: 0 !important;
}
body.woocommerce-cart .cart-collaterals {display: block !important;width:100% !important;min-width:0 !important;margin:0 !important;float:none !important;clear:both !important;}
body.woocommerce-cart .cart-collaterals .cart_totals {float: none !important;width: 100% !important;}
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {table-layout:auto !important;}
body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout {text-align:left !important;padding-bottom:0 !important;}
body.woocommerce-cart .cart-collaterals .checkout-button {display:block !important;width:100% !important;}
@media (max-width: 620px) {
  body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {padding: 0 10px !important;}
  body.woocommerce-cart .woocommerce-cart-form, body.woocommerce-cart .cart-collaterals .cart_totals {padding: 19px 16px !important;}
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 11px 10px !important;
    padding: 17px 0 !important;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-name {grid-column:1;grid-row:1;font-size:15px !important;}
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-remove {grid-column:2;grid-row:1;}
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-price {grid-column:1;grid-row:2;}
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-quantity {grid-column:2;grid-row:2;text-align:right !important;}
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-subtotal {
    grid-column:1 / -1;grid-row:3;
    display:flex !important;justify-content:space-between !important;
    align-items:center !important;
    padding-top:11px !important;
    margin-top:1px !important;
    border-top:1px solid #f0f0f0 !important;
    text-align:right !important;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-subtotal::before {margin:0 !important;}
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.actions .coupon button {white-space:normal !important;}
}
@media (max-width: 360px) {
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-name {font-size:14px !important;}
}

/* WooCommerce cart BLOCK: discard oversized thumbnails and preserve a
   one-column, no-overflow layout if the cart page is ever converted. */
body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-cart-item__image {display:none !important;}
body.woocommerce-cart .wc-block-cart .wc-block-cart-items__row {min-width:0 !important;}
body.woocommerce-cart .wc-block-cart .wc-block-components-product-name {overflow-wrap:anywhere;}

/* v0.2.5: Klarna Payments owns its JS-rendered logos/icons and embedded
   provider widget. Let it set its own height; stop clipping within checkout. */
body.woocommerce-checkout .skjold-cd-page #payment,
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods,
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li,
body.woocommerce-checkout .skjold-cd-page #payment .payment_box {
  overflow: visible !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li > label {
  display: inline !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li > label img,
body.woocommerce-checkout .skjold-cd-page #payment ul.payment_methods > li > label svg {
  display: inline-block !important;
  vertical-align: middle !important;
  width: auto !important;
  max-width: min(100%, 200px) !important;
  max-height: 40px !important;
  height: auto !important;
  object-fit: contain;
}
body.woocommerce-checkout .skjold-cd-page #payment .payment_box iframe,
body.woocommerce-checkout .skjold-cd-page #payment .payment_box img,
body.woocommerce-checkout .skjold-cd-page #payment .payment_box svg {
  max-width: 100% !important;
}
body.woocommerce-checkout .skjold-cd-page #payment .payment_box iframe {
  display: block;
  width: 100% !important;
  border: 0 !important;
  /* DO NOT set height: Klarna sets it dynamically. */
}
body.woocommerce-checkout .skjold-cd-page #payment .payment_box:empty {display: none !important;}
/* Width safety: themes may use content-box for the form itself, making it
   wider than the viewport once the new card padding is applied. */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-collaterals .cart_totals {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
