/* =========================================================
   BabyNordic cart page
   Bruges til Klaviyo abandoned cart rebuild-link
   Matcher cart-drawer.css + checkout.css
========================================================= */

body.woocommerce-cart {
  background: #E9F8FF;
  color: #284755;
  font-family: 'Recoleta', serif;
}

body.woocommerce-cart * {
  box-sizing: border-box;
}

body.woocommerce-cart a {
  color: #284755;
}

body.woocommerce-cart a:hover {
  color: #284755;
}

/* Fjern standard sidetitel hvis temaet viser den */
body.woocommerce-cart .entry-title,
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title {
  display: none !important;
}

/* Fjern padding/margin fra yderste tema/Elementor wrappers på cart page */
body.woocommerce-cart .site-main,
body.woocommerce-cart main,
body.woocommerce-cart .entry-content,
body.woocommerce-cart .page-content,
body.woocommerce-cart .elementor,
body.woocommerce-cart .elementor-section,
body.woocommerce-cart .elementor-container,
body.woocommerce-cart .elementor-widget-container,
body.woocommerce-cart .elementor-shortcode {
  padding: 0 !important;
  margin-top: 0 !important;
}

/* Overordnet WooCommerce container */
body.woocommerce-cart .woocommerce {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 !important;
  font-family: 'Recoleta', serif;
  color: #284755;
}

/* Overskrift genereret på selve cart-siden */
body.woocommerce-cart .woocommerce::before {
  content: "Din kurv";
  display: block;
  margin: 0 0 40px 0;
  font-family: 'Recoleta', serif;
  font-size: 34px;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #284755;
  font-weight: 500;
}

/* Fjern intro-tekst under overskrift */
body.woocommerce-cart .woocommerce::after {
  content: none !important;
  display: none !important;
}

/* =========================================================
   Layout desktop
========================================================= */

@media (min-width: 1100px) {
  body.woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 430px;
    column-gap: 90px;
    align-items: start;
  }

  body.woocommerce-cart .woocommerce::before,
  body.woocommerce-cart .woocommerce::after,
  body.woocommerce-cart .woocommerce-notices-wrapper,
  body.woocommerce-cart .cart-empty,
  body.woocommerce-cart .return-to-shop {
    grid-column: 1 / -1;
  }

  body.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1;
  }

  body.woocommerce-cart .cart-collaterals {
    grid-column: 2;
    position: sticky;
    top: 30px;
  }
}

/* =========================================================
   Notices
========================================================= */

body.woocommerce-cart .woocommerce-notices-wrapper {
  margin: 0 0 30px 0;
}

body.woocommerce-cart .woocommerce-notices-wrapper:empty {
  display: none !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  margin: 0 0 20px 0;
  padding: 18px 20px;
  border: 1px solid #EAE1D7;
  border-radius: 30px;
  background: #FFFBF6;
  font-family: 'Recoleta', serif;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 300;
  color: #284755;
}

body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before {
  color: #284755;
}

/* =========================================================
   Cart form/table
========================================================= */

body.woocommerce-cart .woocommerce-cart-form {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

body.woocommerce-cart table.shop_table,
body.woocommerce-cart table.cart {
  width: 100%;
  margin: 0;
  border: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
  font-family: 'Recoleta', serif;
}

body.woocommerce-cart table.cart thead {
  display: none;
}

body.woocommerce-cart table.cart tbody {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

body.woocommerce-cart table.cart tr.cart_item {
  position: relative;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto auto;
  column-gap: 20px;
  align-items: center;
  width: 100%;
  padding: 0;
  border: 0 !important;
}

body.woocommerce-cart table.cart td,
body.woocommerce-cart table.cart th {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  vertical-align: middle;
}

/* Fjern remove / kryds */
body.woocommerce-cart td.product-remove,
body.woocommerce-cart a.remove {
  display: none !important;
}

/* Fjern stykpris-kolonnen */
body.woocommerce-cart td.product-price,
body.woocommerce-cart th.product-price {
  display: none !important;
}

/* Product image */
body.woocommerce-cart td.product-thumbnail {
  width: 120px;
}

body.woocommerce-cart td.product-thumbnail a {
  display: block;
  width: 120px;
  height: 120px;
  background: #FFFBF6;
  border-radius: 30px;
  overflow: hidden;
}

body.woocommerce-cart td.product-thumbnail img {
  display: block;
  width: 120px !important;
  height: 120px !important;
  object-fit: cover;
  border-radius: 30px;
  margin: 0 !important;
}

/* Product name */
body.woocommerce-cart td.product-name {
  min-width: 0;
}

body.woocommerce-cart td.product-name a {
  display: inline-block;
  font-family: 'Recoleta', serif;
  font-size: 20px;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #284755;
  font-weight: 500;
  text-decoration: none;
}

body.woocommerce-cart td.product-name a:hover {
  color: #284755;
  text-decoration: underline;
}

/* Variation/meta */
body.woocommerce-cart td.product-name dl.variation {
  margin: 8px 0 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  font-family: 'Recoleta', serif;
  font-size: 14px;
  line-height: 1;
  font-weight: 300;
  color: #7B8488;
}

body.woocommerce-cart td.product-name dl.variation dt,
body.woocommerce-cart td.product-name dl.variation dd {
  margin: 0;
  padding: 0;
  color: #7B8488;
  font-weight: 300;
}

body.woocommerce-cart td.product-name dl.variation p {
  margin: 0;
}

/* Subtotal */
body.woocommerce-cart td.product-subtotal {
  white-space: nowrap;
  font-family: 'Recoleta', serif;
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
  color: #284755;
}

body.woocommerce-cart .woocommerce-Price-amount,
body.woocommerce-cart .woocommerce-Price-amount bdi {
  font-family: 'Recoleta', serif;
  color: inherit;
}

/* Quantity selector */
body.woocommerce-cart td.product-quantity {
  white-space: nowrap;
}

body.woocommerce-cart .quantity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.woocommerce-cart .quantity .qty {
  width: 92px;
  height: 34px;
  margin: 0;
  padding: 0 10px !important;
  border: 1px solid #EAE1D7 !important;
  border-radius: 25px !important;
  background: #FFFBF6 !important;
  color: #284755 !important;
  font-family: 'Recoleta', serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center;
  box-shadow: none !important;
  outline: none !important;
}

body.woocommerce-cart .quantity .qty:focus {
  border-color: #284755 !important;
  outline: none !important;
  box-shadow: none !important;
}

body.woocommerce-cart .quantity .qty::-webkit-outer-spin-button,
body.woocommerce-cart .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body.woocommerce-cart .quantity .qty {
  -moz-appearance: textfield;
}

/* =========================================================
   Actions / coupon
========================================================= */

body.woocommerce-cart table.cart td.actions {
  display: block;
  width: 100%;
  margin-top: 30px;
  padding: 0 !important;
  border: 0 !important;
}

body.woocommerce-cart table.cart td.actions::before {
  display: none !important;
}

/* Fjern "Opdatér kurv"-knappen */
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart table.cart td.actions > button.button[name="update_cart"] {
  display: none !important;
}

body.woocommerce-cart table.cart td.actions .coupon {
  display: flex;
  gap: 10px;
  align-items: stretch;
  max-width: 520px;
  margin: 0;
  padding: 0;
}

body.woocommerce-cart table.cart td.actions .coupon label {
  display: none !important;
}

body.woocommerce-cart .coupon .input-text,
body.woocommerce-cart input.input-text,
body.woocommerce-cart input[type="text"] {
  height: auto;
  min-height: 48px;
  padding: 15px;
  border: 1px solid #EAE1D7;
  border-radius: 30px;
  background: #FFFBF6;
  color: #284755;
  font-family: 'Recoleta', serif;
  font-size: 16px;
  line-height: 1;
  font-weight: 300;
  box-shadow: none;
  outline: none;
}

body.woocommerce-cart .coupon .input-text {
  width: 100%;
  min-width: 0;
}

body.woocommerce-cart .coupon .input-text:focus,
body.woocommerce-cart input.input-text:focus,
body.woocommerce-cart input[type="text"]:focus {
  border-color: #284755;
  outline: none;
  box-shadow: none;
}

/* Knapper */
body.woocommerce-cart button.button,
body.woocommerce-cart a.button,
body.woocommerce-cart .button,
body.woocommerce-cart input.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 15px 25px;
  border: 1px solid #89CFF0 !important;
  border-radius: 50px !important;
  background: #89CFF0 !important;
  color: #ffffff !important;
  font-family: 'Recoleta', serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
  letter-spacing: -0.03em;
  font-weight: 500 !important;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: none;
}

body.woocommerce-cart button.button:hover,
body.woocommerce-cart a.button:hover,
body.woocommerce-cart .button:hover,
body.woocommerce-cart input.button:hover {
  background: #89CFF0 !important;
  border-color: #89CFF0 !important;
  color: #ffffff !important;
}

body.woocommerce-cart button.button:disabled,
body.woocommerce-cart button.button[disabled],
body.woocommerce-cart .button.disabled {
  opacity: 0.5 !important;
  cursor: not-allowed;
}

/* =========================================================
   Cart totals
========================================================= */

body.woocommerce-cart .cart-collaterals {
  width: 100%;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
}

body.woocommerce-cart .cart_totals h2 {
  margin: 0 0 20px 0;
  padding: 0;
  border: 0 !important;
  font-family: 'Recoleta', serif;
  font-size: 24px;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #284755;
  font-weight: 500;
}

body.woocommerce-cart .cart_totals table.shop_table {
  margin: 0 0 20px 0;
  border: 0 !important;
}

body.woocommerce-cart .cart_totals table.shop_table tbody {
  display: block;
}

body.woocommerce-cart .cart_totals table.shop_table tr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  width: 100%;
  margin: 0 0 15px 0;
  padding: 0;
  border: 0 !important;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  display: block;
  width: auto;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-family: 'Recoleta', serif;
  font-size: 16px;
  line-height: 1;
  color: #7B8488;
  font-weight: 300;
  text-align: left;
}

body.woocommerce-cart .cart_totals table.shop_table td {
  text-align: right;
  color: #284755;
}

/* Shipping i totals */
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals {
  align-items: flex-start;
}

body.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
  max-width: 260px;
}

body.woocommerce-cart .cart_totals ul#shipping_method {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.woocommerce-cart .cart_totals ul#shipping_method li {
  margin: 0 0 10px 0;
  padding: 0;
  list-style: none;
  font-family: 'Recoleta', serif;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 300;
  color: #284755;
}

body.woocommerce-cart .cart_totals ul#shipping_method li:last-child {
  margin-bottom: 0;
}

body.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"] {
  margin-right: 6px;
}

body.woocommerce-cart .woocommerce-shipping-destination,
body.woocommerce-cart .woocommerce-shipping-calculator {
  display: none !important;
}

/* Total-rækken: pris alene + moms med småt under */
body.woocommerce-cart .cart_totals .order-total {
  margin-top: 20px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  align-items: flex-start !important;
}

body.woocommerce-cart .cart_totals .order-total th {
  padding-top: 2px !important;
  font-size: 16px;
  font-weight: 300;
  color: #7B8488;
}

body.woocommerce-cart .cart_totals .order-total td {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 5px;
  text-align: right !important;
}

body.woocommerce-cart .cart_totals .order-total td strong {
  display: block;
  line-height: 1;
}

body.woocommerce-cart .cart_totals .order-total td strong .woocommerce-Price-amount,
body.woocommerce-cart .cart_totals .order-total td strong .woocommerce-Price-amount bdi {
  font-family: 'Recoleta', serif !important;
  font-size: 22px !important;
  line-height: 1 !important;
  letter-spacing: -0.03em;
  font-weight: 500 !important;
  color: #284755 !important;
}

body.woocommerce-cart .cart_totals .order-total small.includes_tax {
  display: block !important;
  margin: 0 !important;
  font-family: 'Recoleta', serif !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  color: #7B8488 !important;
}

body.woocommerce-cart .cart_totals .order-total small.includes_tax .woocommerce-Price-amount,
body.woocommerce-cart .cart_totals .order-total small.includes_tax .woocommerce-Price-amount bdi,
body.woocommerce-cart .cart_totals .order-total small.includes_tax .woocommerce-Price-currencySymbol {
  font-family: 'Recoleta', serif !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  color: #7B8488 !important;
}

/* Checkout CTA */
body.woocommerce-cart .wc-proceed-to-checkout {
  margin: 0;
  padding: 0 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  width: 100%;
  min-height: 54px;
  margin: 20px 0 0 0 !important;
  padding: 15px 40px !important;
  border-radius: 50px !important;
  background: #89CFF0 !important;
  color: #ffffff !important;
  font-family: 'Recoleta', serif !important;
  font-size: 18px !important;
  line-height: 1 !important;
  letter-spacing: -0.03em;
  font-weight: 600 !important;
  text-align: center;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: #89CFF0 !important;
  color: #ffffff !important;
}

/* =========================================================
   Cross-sells
========================================================= */

body.woocommerce-cart .cross-sells {
  display: none !important;
}

/* =========================================================
   Empty cart
========================================================= */

body.woocommerce-cart .cart-empty {
  margin: 0 auto 30px;
  padding: 0;
  background: transparent;
  border: 0;
  text-align: center;
  font-family: 'Recoleta', serif;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: #284755;
}

body.woocommerce-cart .return-to-shop {
  text-align: center;
}

body.woocommerce-cart .return-to-shop .button {
  display: inline-flex;
}

/* =========================================================
   Mobile
========================================================= */

@media (max-width: 1099px) {
  body.woocommerce-cart .woocommerce {
    max-width: 560px;
    padding: 0 !important;
  }

  body.woocommerce-cart .woocommerce::before {
    font-size: 30px;
    margin-bottom: 30px;
  }

  body.woocommerce-cart table.cart tbody {
    gap: 0;
  }

  body.woocommerce-cart table.cart tr.cart_item {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    grid-template-areas:
      "image name"
      "image quantity"
      "image price";
    column-gap: 15px;
    row-gap: 10px;
    padding: 0;
    margin: 0 0 25px 0;
    border: 0 !important;
  }

  body.woocommerce-cart table.cart tr.cart_item:last-child {
    margin-bottom: 0;
  }

  body.woocommerce-cart td.product-thumbnail {
    grid-area: image;
    width: 90px;
  }

  body.woocommerce-cart td.product-thumbnail a,
  body.woocommerce-cart td.product-thumbnail img {
    width: 90px !important;
    height: 90px !important;
    border-radius: 25px;
  }

  body.woocommerce-cart td.product-name {
    grid-area: name;
    align-self: start;
    padding-right: 0 !important;
  }

  body.woocommerce-cart td.product-name a {
    font-size: 18px;
  }

  body.woocommerce-cart td.product-price {
    display: none !important;
  }

  body.woocommerce-cart td.product-quantity {
    grid-area: quantity;
    align-self: center;
  }

  body.woocommerce-cart td.product-subtotal {
    grid-area: price;
    align-self: center;
    font-size: 16px;
    color: #7B8488;
  }

  body.woocommerce-cart table.cart td::before {
    display: none !important;
  }

  body.woocommerce-cart table.cart td.actions {
    margin-top: 30px;
  }

  body.woocommerce-cart table.cart td.actions .coupon {
    display: flex;
    flex-direction: column;
    max-width: none;
    width: 100%;
    margin-top: 0;
  }

  body.woocommerce-cart .coupon .input-text {
    width: 100%;
  }

  body.woocommerce-cart table.cart td.actions .coupon .button {
    width: 100%;
    margin-top: 0;
  }

  body.woocommerce-cart .cart-collaterals {
    margin-top: 40px;
  }

  body.woocommerce-cart .cart_totals h2 {
    font-size: 24px;
  }

  body.woocommerce-cart .cart_totals table.shop_table tr {
    gap: 15px;
  }

  body.woocommerce-cart .cart_totals table.shop_table th,
  body.woocommerce-cart .cart_totals table.shop_table td {
    font-size: 15px;
  }

  body.woocommerce-cart .cart_totals .order-total td strong .woocommerce-Price-amount,
  body.woocommerce-cart .cart_totals .order-total td strong .woocommerce-Price-amount bdi {
    font-size: 20px !important;
  }
}

@media (max-width: 420px) {
  body.woocommerce-cart table.cart tr.cart_item {
    grid-template-columns: 82px minmax(0, 1fr);
    column-gap: 12px;
  }

  body.woocommerce-cart td.product-thumbnail,
  body.woocommerce-cart td.product-thumbnail a,
  body.woocommerce-cart td.product-thumbnail img {
    width: 82px !important;
    height: 82px !important;
  }

  body.woocommerce-cart td.product-name a {
    font-size: 17px;
  }
}