/* 224 Commerce Checkout v0.1.1 — scoped to WooCommerce cart and checkout only. */
body.woocommerce-cart,
body.woocommerce-checkout {
  background: var(--224-paper, #FAF5EA);
  color: var(--224-text, #111111);
}

body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart main,
body.woocommerce-checkout main {
  color: var(--224-text, #111111);
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-cart .wp-block-woocommerce-cart {
  font-family: var(--224-font-body, "Special Gothic", Arial, sans-serif);
}

/* Shared controls */
body.woocommerce-cart input,
body.woocommerce-cart select,
body.woocommerce-cart textarea,
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
  border-radius: 0 !important;
}

body.woocommerce-cart button,
body.woocommerce-cart .button,
body.woocommerce-checkout button,
body.woocommerce-checkout .button,
body.woocommerce-checkout .wc-block-components-button {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Classic cart currently used by 224. */
body.woocommerce-cart .woocommerce {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals .cart_totals {
  background: transparent;
  border: 1px solid rgba(17,17,17,.18);
  box-shadow: none;
}

body.woocommerce-cart table.shop_table {
  border: 0;
  border-collapse: collapse;
  background: transparent;
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td {
  border-color: rgba(17,17,17,.14);
}

body.woocommerce-cart .cart_totals h2 {
  font-weight: 600;
  letter-spacing: -.01em;
}

body.woocommerce-cart .coupon input.input-text {
  min-height: 48px;
  background: transparent;
  border: 1px solid rgba(17,17,17,.42);
}

body.woocommerce-cart .coupon .button,
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  min-height: 48px;
  border: 1px solid #111;
  background: #111;
  color: #FAF5EA;
  font-weight: 600;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
body.woocommerce-cart .coupon .button:hover,
body.woocommerce-cart button[name="update_cart"]:hover {
  background: transparent;
  color: #111;
}

/* WooCommerce Blocks checkout currently used by 224. */
body.woocommerce-checkout .wp-block-woocommerce-checkout {
  width: min(1060px, calc(100% - 48px));
  margin-inline: auto;
  column-gap: clamp(42px, 6vw, 76px);
}

body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-checkout__main {
  margin-top: 0;
}

body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control {
  background: transparent;
}

body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
  padding-top: 0;
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading h2,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-totals-item__label {
  color: #111;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form__country .wc-block-components-combobox-control {
  background: transparent;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  min-height: 56px;
  border: 1px solid #111 !important;
  background: #111 !important;
  color: #FAF5EA !important;
  font-weight: 600;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: transparent !important;
  color: #111 !important;
}

/* Statutory guarantee notice. Artwork itself is never restyled/recoloured. */
.spirits224-guarantee {
  margin: 26px 0;
  padding-top: 22px;
  border-top: 1px solid rgba(17,17,17,.2);
  color: #111;
}

.spirits224-guarantee__intro {
  margin-bottom: 14px;
}

.spirits224-guarantee__intro h2 {
  margin: 0 0 5px;
  color: #111;
  font: inherit;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.01em;
}

.spirits224-guarantee__intro p {
  margin: 0;
  color: rgba(17,17,17,.68);
  font-size: 13px;
  line-height: 1.45;
}

.spirits224-guarantee__artwork-link {
  display: block;
  width: 100%;
  line-height: 0;
  outline-offset: 4px;
}

.spirits224-guarantee__artwork-link:focus-visible {
  outline: 2px solid #111;
}

.spirits224-guarantee__artwork {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  margin: 0;
  border: 0;
  background: transparent;
}

body.woocommerce-cart .cart_totals .spirits224-guarantee {
  margin: 20px 30px 22px;
}

body.woocommerce-checkout .wc-block-checkout__main > .spirits224-guarantee,
body.woocommerce-checkout .wc-block-checkout__main .spirits224-guarantee {
  width: 100%;
}

@media (max-width: 781px) {
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-cart .wp-block-woocommerce-cart {
    width: min(100% - 32px, 680px);
  }

  body.woocommerce-cart .cart_totals .spirits224-guarantee {
    margin: 20px 18px 22px;
  }

  .spirits224-guarantee {
    margin-block: 24px;
  }
}

@media (max-width: 480px) {
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-cart .wp-block-woocommerce-cart {
    width: calc(100% - 24px);
  }

  .spirits224-guarantee__intro h2 {
    font-size: 17px;
  }
}

/* v0.1.2 — §7 Abs. 3 UWG marketing/objection notice */
.spirits224-marketing-notice {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--224-text-muted, #555555);
  margin: 8px 0 20px;
  max-width: 62ch;
}
.spirits224-marketing-notice a {
  color: inherit;
  text-decoration: underline;
}
