.rg-mini-cart-mount,
.rg-mini-cart {
  position: relative;
  display: flex;
  align-self: stretch;
  min-width: 0;
}

.rg-mini-cart__details {
  position: relative;
  display: flex;
  height: 100%;
}

.rg-mini-cart__summary {
  gap: 8px;
  cursor: pointer;
  list-style: none;
}

.rg-mini-cart__summary::-webkit-details-marker {
  display: none;
}

.rg-mini-cart__count {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  color: var(--rg-black);
  background: var(--rg-mint);
  border-radius: 999px;
  font-size: 0.72rem;
  line-height: 1;
}

.rg-mini-cart__panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 260;
  width: min(390px, calc(100vw - 28px));
  max-height: min(76vh, 620px);
  padding: 16px;
  overflow: auto;
  color: var(--rg-ink);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.72)),
    var(--rg-panel);
  border: 1px solid rgba(16, 19, 19, 0.14);
  border-top: 6px solid var(--rg-black);
  border-radius: var(--rg-radius);
  box-shadow: var(--rg-shadow-dark);
}

.rg-mini-cart__details:not([open]) .rg-mini-cart__panel {
  display: none;
}

.rg-mini-cart__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--rg-line);
}

.rg-mini-cart__header span {
  color: var(--rg-mint-dark);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.rg-mini-cart__header strong {
  color: var(--rg-black);
  font-size: 1rem;
}

.rg-mini-cart .widget_shopping_cart_content,
.rg-mini-cart .widget_shopping_cart_content ul,
.rg-mini-cart .widget_shopping_cart_content p {
  margin: 0;
  padding: 0;
}

.rg-mini-cart .widget_shopping_cart_content ul {
  display: grid;
  gap: 10px;
  list-style: none;
}

.rg-mini-cart .widget_shopping_cart_content li {
  position: relative;
  min-height: 70px;
  padding: 10px 8px 10px 76px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(16, 19, 19, 0.08);
  border-radius: calc(var(--rg-radius) - 2px);
}

.rg-mini-cart .widget_shopping_cart_content img {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 5px;
}

.rg-mini-cart .widget_shopping_cart_content a {
  color: var(--rg-black);
  font-weight: 900;
  text-decoration-color: rgba(40, 220, 164, 0.55);
}

.rg-mini-cart .widget_shopping_cart_content .quantity,
.rg-mini-cart .widget_shopping_cart_content .woocommerce-mini-cart__empty-message {
  color: var(--rg-graphite);
  font-size: 0.88rem;
  line-height: 1.45;
}

.rg-mini-cart .widget_shopping_cart_content .woocommerce-mini-cart__total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  margin-top: 12px;
  border-top: 1px solid var(--rg-line);
}

.rg-mini-cart .widget_shopping_cart_content .woocommerce-mini-cart__buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.rg-mini-cart .widget_shopping_cart_content .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  color: var(--rg-white);
  background: var(--rg-black);
  border-radius: var(--rg-radius);
  font-size: 0.78rem;
  font-weight: 950;
  text-decoration: none;
  text-transform: uppercase;
}

.rg-mini-cart .widget_shopping_cart_content .checkout {
  color: var(--rg-black);
  background: var(--rg-mint);
}

body.woocommerce-cart .rg-entry,
body.woocommerce-checkout .rg-entry {
  max-width: none;
}

body.woocommerce-cart .rg-entry__header,
body.woocommerce-checkout .rg-entry__header {
  display: grid;
  gap: 10px;
  margin-bottom: 24px;
}

body.woocommerce-cart .rg-entry__header::before,
body.woocommerce-checkout .rg-entry__header::before {
  color: var(--rg-mint-dark);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

body.woocommerce-cart .rg-entry__header::before {
  content: "Loadout review";
}

body.woocommerce-checkout .rg-entry__header::before {
  content: "Secure checkout";
}

body.woocommerce-cart .rg-entry__header h1,
body.woocommerce-checkout .rg-entry__header h1 {
  font-family: Impact, Haettenschweiler, "Arial Narrow", "Franklin Gothic Condensed", sans-serif;
  font-size: clamp(3rem, 7vw, 6.2rem);
  line-height: 0.9;
  text-transform: uppercase;
}

body.woocommerce-cart .rg-entry__content,
body.woocommerce-checkout .rg-entry__content {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout form.checkout {
  padding: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.58)),
    var(--rg-panel);
  border: 1px solid rgba(16, 19, 19, 0.12);
  border-top: 6px solid var(--rg-black);
  border-radius: var(--rg-radius);
  box-shadow: var(--rg-shadow-soft);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
  min-width: 0;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(16, 19, 19, 0.1);
  border-radius: var(--rg-radius);
  box-shadow: var(--rg-shadow-inset);
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-checkout-review-order {
  padding: 18px;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #order_review_heading {
  color: var(--rg-black);
  font-weight: 950;
  text-transform: uppercase;
}

body.woocommerce-cart .wc-block-components-button:not(.is-link),
body.woocommerce-checkout .wc-block-components-button:not(.is-link),
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-button__link,
body.woocommerce-checkout .button,
body.woocommerce-checkout button.button,
body.woocommerce-checkout #place_order {
  min-height: 48px;
  color: var(--rg-white);
  background: var(--rg-black);
  border: 1px solid var(--rg-black);
  border-radius: var(--rg-radius);
  box-shadow: 0 10px 20px rgba(8, 10, 10, 0.18);
  font-weight: 950;
  text-transform: uppercase;
}

body.woocommerce-cart .wc-block-components-button:not(.is-link):hover,
body.woocommerce-checkout .wc-block-components-button:not(.is-link):hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wp-block-button__link:hover,
body.woocommerce-checkout .button:hover,
body.woocommerce-checkout button.button:hover,
body.woocommerce-checkout #place_order:hover {
  color: var(--rg-black);
  background: var(--rg-mint);
  border-color: var(--rg-mint);
}

body.woocommerce-cart .wc-block-grid__products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

body.woocommerce-cart .wc-block-grid__product {
  min-width: 0;
  padding: 14px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(16, 19, 19, 0.08);
  border-radius: var(--rg-radius);
}

body.woocommerce-cart .wc-block-grid__product-title {
  color: var(--rg-black);
  font-weight: 950;
  text-transform: uppercase;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link {
  width: 100%;
}

body.woocommerce-cart .woocommerce table.shop_table,
body.woocommerce-checkout .woocommerce table.shop_table {
  overflow: hidden;
  border: 1px solid rgba(16, 19, 19, 0.12);
  border-radius: var(--rg-radius);
}

body.woocommerce-cart .woocommerce input.input-text,
body.woocommerce-checkout .woocommerce input.input-text,
body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .select2-selection {
  min-height: 46px;
  color: var(--rg-black);
  background: #ffffff;
  border: 1px solid rgba(16, 19, 19, 0.18);
  border-radius: calc(var(--rg-radius) - 2px);
  box-shadow: var(--rg-shadow-inset);
  font: inherit;
}

body.woocommerce-checkout .form-row {
  display: grid;
  gap: 7px;
  margin-bottom: 14px;
}

body.woocommerce-checkout .form-row label {
  color: var(--rg-graphite);
  font-size: 0.82rem;
  font-weight: 950;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  body.woocommerce-cart .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .rg-mini-cart__panel {
    right: -76px;
    max-width: 720px;
  }

  .rg-mini-cart .widget_shopping_cart_content .woocommerce-mini-cart__buttons {
    grid-template-columns: minmax(0, 1fr);
  }

  body.woocommerce-cart .rg-page,
  body.woocommerce-checkout .rg-page {
    width: min(100% - 24px, 1180px);
    max-width: 720px;
    padding-top: 34px;
  }

  body.woocommerce-cart .rg-entry__header h1,
  body.woocommerce-checkout .rg-entry__header h1 {
    font-size: clamp(2.6rem, 15vw, 4.6rem);
  }

  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-checkout form.checkout {
    padding: 16px;
  }

  body.woocommerce-cart .wc-block-grid__products {
    grid-template-columns: minmax(0, 1fr);
  }
}
