/** Shopify CDN: Minification failed

Line 17:0 Unexpected "{"

**/
/* ==========================================================
   BIOMASCOTA CART PAGE PRO 2026
   Desktop retail cart inspired by large ecommerce UX
   Scoped ONLY to template-cart
   ========================================================== */


/* ----------------------------------------------------------
   PAGE
   ---------------------------------------------------------- */

{
  background:
    #f5f8f7;
}


#MainContent {
  width:
    min(1460px, calc(100% - 48px));

  margin:
    0 auto;

  padding:
    5rem 0 8rem;

  display:
    grid !important;

  grid-template-columns:
    minmax(0, 1fr)
    39rem;

  column-gap:
    3rem;

  align-items:
    start;

  overflow:
    visible !important;
}


/* ----------------------------------------------------------
   TWO MAIN SHOPIFY SECTIONS
   ---------------------------------------------------------- */

#MainContent > .shopify-section:has(cart-items) {

  grid-column:
    1;

  grid-row:
    1;

  width:
    100%;

  min-width:
    0;

  align-self:
    start;
}

#MainContent > .shopify-section:has(cart-items)
cart-items {

  display:
    block;

  width:
    100%;

  max-width:
    100%;

  min-width:
    0;
}


.cart__footer-wrapper {

  grid-column:
    2;

  grid-row:
    1;

  width:
    100% !important;

  min-width:
    0;

  align-self:
    start;

  position:
    sticky !important;

  top:
    2.5rem;

  width:
    100% !important;

  max-width:
    none !important;

  margin:
    7.2rem 0 0 !important;

  padding:
    0 !important;

  transform:
    none !important;

  z-index:
    4;
}


/* ----------------------------------------------------------
   REMOVE DAWN PAGE WIDTH CONSTRAINTS
   ---------------------------------------------------------- */

#MainContent > .shopify-section:has(cart-items)
cart-items > .page-width,

.cart__footer-wrapper
.page-width {

  width:
    100% !important;

  max-width:
    none !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


/* ----------------------------------------------------------
   TITLE
   ---------------------------------------------------------- */

.title-wrapper-with-link {

  margin:
    0 0 2.6rem !important;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    2rem;
}


.title-wrapper-with-link
.title {

  margin:
    0 !important;

  color:
    #132f27;

  font-size:
    clamp(3rem,3vw,4.2rem);

  line-height:
    1.05;

  font-weight:
    800;

  letter-spacing:
    -.04em;
}


.title-wrapper-with-link
a {

  color:
    #087b5c;

  font-size:
    1.35rem;

  font-weight:
    750;

  text-decoration:
    none;

  white-space:
    nowrap;
}


.title-wrapper-with-link
a::before {

  content:
    "←";

  margin-right:
    .6rem;
}


/* ----------------------------------------------------------
   MAIN CART FORM
   ---------------------------------------------------------- */

.cart__contents {

  width:
    100%;
}


.cart__items {

  width:
    100%;

  overflow:
    hidden !important;

  border:
    1px solid #dbe5e2;

  border-radius:
    2rem;

  background:
    #ffffff;

  box-shadow:
    0 1.5rem 4rem
    rgba(23,65,53,.06);
}


/* Trust strip */

.cart__items::before {

  content:
    "Despacho a todo Chile   ·   Compra segura   ·   Soporte veterinario";

  display:
    block;

  padding:
    1.35rem 2.2rem;

  border-bottom:
    1px solid #d9ebe5;

  background:
    linear-gradient(
      90deg,
      #e9f8f3,
      #f4fbf9
    );

  color:
    #19614f;

  font-size:
    1.18rem;

  line-height:
    1.4;

  font-weight:
    700;

  letter-spacing:
    .01em;
}


/* ----------------------------------------------------------
   TABLE -> MODERN ROW LIST
   ---------------------------------------------------------- */

table.cart-items {

  display:
    block !important;

  width:
    100% !important;

  margin:
    0 !important;

  border:
    0 !important;

  border-radius:
    0 !important;

  box-shadow:
    none !important;

  background:
    transparent !important;
}


table.cart-items
thead {

  display:
    none !important;
}


table.cart-items
tbody {

  display:
    block;
}


/* ----------------------------------------------------------
   CART ROW
   ---------------------------------------------------------- */

cart-items
.cart-item {

  display:
    grid !important;

  grid-template-columns:
    12rem
    minmax(0,1fr)
    18rem
    11rem;

  grid-template-areas:
    "media details quantity total";

  align-items:
    center;

  column-gap:
    2rem;

  width:
    100%;

  padding:
    2.3rem 2.2rem !important;

  border:
    0 !important;

  border-bottom:
    1px solid #e4ece9 !important;

  background:
    #fff;

  transition:
    background .15s ease;
}


cart-items
.cart-item:last-child {

  border-bottom:
    0 !important;
}


@media (hover:hover) {

  cart-items
  .cart-item:hover {

    background:
      #fbfdfc;
  }

}


/* Remove table cell padding */

cart-items
.cart-item
td {

  display:
    block;

  width:
    auto !important;

  min-width:
    0;

  padding:
    0 !important;

  border:
    0 !important;

  vertical-align:
    middle !important;
}


/* ----------------------------------------------------------
   IMAGE
   ---------------------------------------------------------- */

cart-items
.cart-item__media {

  grid-area:
    media;

  position:
    relative;

  width:
    12rem !important;

  height:
    12rem;

  min-width:
    12rem;

  overflow:
    hidden;

  border:
    1px solid #e0e8e5;

  border-radius:
    1.6rem;

  background:
    #f8faf9;
}


cart-items
.cart-item__image-container {

  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  width:
    100%;

  height:
    100%;

  background:
    transparent !important;
}


cart-items
.cart-item__image {

  display:
    block;

  width:
    100% !important;

  height:
    100% !important;

  max-width:
    none !important;

  margin:
    0 !important;

  padding:
    .9rem;

  object-fit:
    contain;

  object-position:
    center;

  background:
    transparent !important;

  border-radius:
    0 !important;
}


/* Dawn transparent click overlay */

cart-items
.cart-item__link {

  position:
    absolute;

  inset:
    0;

  z-index:
    3;

  display:
    block;

  width:
    100%;

  height:
    100%;

  background:
    transparent !important;

  border:
    0 !important;
}


/* ----------------------------------------------------------
   PRODUCT INFORMATION
   ---------------------------------------------------------- */

cart-items
.cart-item__details {

  grid-area:
    details;

  min-width:
    0;

  padding-right:
    1rem !important;
}


cart-items
.cart-item__details
.caption-with-letter-spacing {

  margin:
    0 0 .55rem !important;

  color:
    #07815f;

  font-size:
    1rem;

  line-height:
    1.3;

  font-weight:
    800;

  letter-spacing:
    .09em;

  text-transform:
    uppercase;
}


cart-items
.cart-item__name {

  max-width:
    46rem !important;

  color:
    #172f28 !important;

  font-size:
    1.55rem !important;

  line-height:
    1.35 !important;

  font-weight:
    800 !important;

  letter-spacing:
    -.01em;

  text-decoration:
    none !important;
}


@media (hover:hover) {

  cart-items
  .cart-item__name:hover {

    color:
      #008b64 !important;

    text-decoration:
      none !important;
  }

}


cart-items
.cart-item__details
.product-option {

  margin-top:
    .55rem;

  color:
    #64736e;

  font-size:
    1.18rem;

  line-height:
    1.4;
}


/* Unit price */

cart-items
.cart-item__final-price {

  color:
    #172f28 !important;

  font-size:
    1.32rem !important;

  font-weight:
    750 !important;
}


/* ----------------------------------------------------------
   QUANTITY
   ---------------------------------------------------------- */

cart-items
.cart-item__quantity {

  grid-area:
    quantity;

  min-width:
    0 !important;

  justify-self:
    center;
}


cart-items
.cart-item__quantity-wrapper {

  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  gap:
    1rem !important;
}


cart-items
.quantity-popover-container {

  margin:
    0 !important;
}


cart-items
.quantity {

  width:
    12.8rem;

  min-height:
    4.4rem;

  border:
    1px solid #d8e3df;

  border-radius:
    1.15rem;

  background:
    #fff;

  box-shadow:
    none;
}


cart-items
.quantity::after,

cart-items
.quantity::before {

  display:
    none !important;
}


cart-items
.quantity__button {

  width:
    3.8rem;

  color:
    #587068;
}


cart-items
.quantity__input {

  color:
    #17352c;

  font-size:
    1.25rem;

  font-weight:
    750;
}


/* Remove */

cart-items
cart-remove-button {

  margin:
    0 !important;
}


cart-items
cart-remove-button
.button {

  width:
    3.7rem !important;

  min-width:
    3.7rem !important;

  height:
    3.7rem !important;

  min-height:
    3.7rem !important;

  padding:
    0 !important;

  border:
    0 !important;

  border-radius:
    50% !important;

  background:
    #e9f8f3 !important;

  color:
    #008c66 !important;

  box-shadow:
    none !important;
}


cart-items
cart-remove-button
.button::before,

cart-items
cart-remove-button
.button::after {

  display:
    none !important;
}


@media (hover:hover) {

  cart-items
  cart-remove-button
  .button:hover {

    background:
      #fff0f0 !important;

    color:
      #bd3c3c !important;
  }

}


/* ----------------------------------------------------------
   SERVICE PRODUCTS
   ---------------------------------------------------------- */

cart-items
.bio-cart-service-single
.quantity-popover-container {

  display:
    none !important;
}


cart-items
.bio-cart-service-single
.cart-item__quantity-wrapper {

  justify-content:
    flex-start !important;
}


cart-items
.bio-cart-service-single
.cart-item__quantity-wrapper::before {

  content:
    "Servicio coordinado · cantidad fija 1";

  display:
    inline-flex;

  align-items:
    center;

  min-height:
    3.9rem;

  padding:
    .8rem 1.25rem;

  border:
    1px solid #cce9df;

  border-radius:
    999px;

  background:
    #eefaf6;

  color:
    #11684f;

  font-size:
    1.08rem;

  line-height:
    1.25;

  font-weight:
    750;
}


/* ----------------------------------------------------------
   LINE TOTAL
   ---------------------------------------------------------- */

cart-items
.cart-item__totals.small-hide {

  grid-area:
    total;

  display:
    block !important;

  min-width:
    0 !important;

  justify-self:
    end;

  text-align:
    right !important;
}


cart-items
.cart-item__totals.medium-hide {

  display:
    none !important;
}


cart-items
.cart-item__totals
.price {

  color:
    #102e25 !important;

  font-size:
    1.5rem !important;

  line-height:
    1.2;

  font-weight:
    850 !important;

  white-space:
    nowrap;
}


/* ----------------------------------------------------------
   SUMMARY CARD
   ---------------------------------------------------------- */

.cart__footer-wrapper
.page-width {

  display:
    block !important;
}


.cart__footer {

  position:
    static !important;

  width:
    100% !important;

  max-width:
    none !important;

  margin:
    0 !important;

  padding:
    2.6rem !important;

  border:
    1px solid #dbe5e2 !important;

  border-radius:
    2rem !important;

  background:
    #fff !important;

  box-shadow:
    0 1.8rem 4.5rem
    rgba(23,65,53,.09) !important;

  transform:
    none !important;
}


.cart__footer::before {

  content:
    "Resumen del pedido";

  display:
    block;

  margin-bottom:
    2rem;

  padding-bottom:
    1.7rem;

  border-bottom:
    1px solid #e4ece9;

  color:
    #17362d;

  font-size:
    1.8rem;

  line-height:
    1.2;

  font-weight:
    850;

  letter-spacing:
    -.015em;
}


.cart__footer::after {

  content:
    "Compra segura · Pago protegido";

  display:
    block;

  margin-top:
    1.7rem;

  padding-top:
    1.5rem;

  border-top:
    1px solid #e4ece9;

  color:
    #58736a;

  font-size:
    1.08rem;

  line-height:
    1.4;

  font-weight:
    650;

  text-align:
    center;
}


/* Cart note */

.cart__note {

  margin-bottom:
    1.8rem;
}


/* ----------------------------------------------------------
   TOTALS
   ---------------------------------------------------------- */

.cart__blocks {

  width:
    100% !important;

  max-width:
    none !important;
}


.totals {

  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    space-between !important;

  gap:
    1.5rem;

  margin:
    0 0 1rem !important;
}


.totals__total {

  margin:
    0 !important;

  color:
    #223c34 !important;

  font-size:
    1.38rem !important;

  font-weight:
    750 !important;
}


.totals__total-value {

  margin:
    0 !important;

  color:
    #102f26 !important;

  font-size:
    2.05rem !important;

  line-height:
    1.1;

  font-weight:
    900 !important;

  white-space:
    nowrap;
}


.tax-note {

  margin:
    0 0 1.8rem !important;

  display:
    block;

  color:
    #74827e !important;

  font-size:
    1.08rem !important;

  line-height:
    1.5;

  text-align:
    left !important;
}


/* ----------------------------------------------------------
   DISCOUNTS
   ---------------------------------------------------------- */

.discounts {

  margin:
    0 0 1.4rem !important;

  padding:
    1.1rem 1.3rem !important;

  border:
    1px solid #cce9df;

  border-radius:
    1rem;

  background:
    #eefaf6;

  color:
    #0e6b51;
}


/* ----------------------------------------------------------
   CHECKOUT
   ---------------------------------------------------------- */

.cart__ctas {

  margin-top:
    .8rem;
}


.cart__checkout-button,

button[name="checkout"] {

  width:
    100% !important;

  min-height:
    5.8rem !important;

  margin:
    0 !important;

  border:
    0 !important;

  border-radius:
    1.25rem !important;

  background:
    linear-gradient(
      135deg,
      #00ad7b,
      #009a70
    ) !important;

  color:
    #fff !important;

  font-size:
    1.45rem !important;

  line-height:
    1.2;

  font-weight:
    850 !important;

  letter-spacing:
    .01em;

  box-shadow:
    0 1.2rem 2.8rem
    rgba(0,157,111,.18) !important;

  transition:
    transform .15s ease,
    box-shadow .15s ease;
}


.cart__checkout-button::before,

.cart__checkout-button::after {

  box-shadow:
    none !important;
}


@media (hover:hover) {

  .cart__checkout-button:hover,

  button[name="checkout"]:hover {

    transform:
      translateY(-1px);

    box-shadow:
      0 1.5rem 3.2rem
      rgba(0,157,111,.23) !important;
  }

}


/* Dynamic checkout */

.cart__dynamic-checkout-buttons {

  margin-top:
    1rem;
}


/* ----------------------------------------------------------
   LOADING + ERRORS
   ---------------------------------------------------------- */

.cart-item__error {

  margin-top:
    .6rem;

  color:
    #b13c3c;
}


/* ----------------------------------------------------------
   EMPTY CART
   ---------------------------------------------------------- */

cart-items.is-empty {

  grid-column:
    1 / -1;
}


cart-items.is-empty
.page-width {

  max-width:
    90rem !important;

  margin:
    0 auto !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media screen and (max-width: 1100px) {

  #MainContent {

    width:
      min(100% - 32px, 100rem);

    grid-template-columns:
      1fr;

    gap:
      2.5rem;

    padding-top:
      3.5rem;
  }


  #MainContent > .shopify-section:has(cart-items),

  .cart__footer-wrapper {

    grid-column:
      1;
  }


  .cart__footer-wrapper {

    position:
      static !important;

    margin:
      0 !important;
  }


  .cart__footer {

    width:
      100% !important;
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media screen and (max-width: 749px) {

  #MainContent {

    width:
      calc(100% - 2.4rem);

    padding:
      2.5rem 0 5rem;

    gap:
      2rem;
  }


  .title-wrapper-with-link {

    margin-bottom:
      1.8rem !important;

    align-items:
      flex-end;
  }


  .title-wrapper-with-link
  .title {

    font-size:
      2.7rem;
  }


  .title-wrapper-with-link
  a {

    font-size:
      1.15rem;
  }


  .cart__items::before {

    padding:
      1.15rem 1.4rem;

    font-size:
      1.05rem;
  }


  cart-items
  .cart-item {

    grid-template-columns:
      8rem
      minmax(0,1fr);

    grid-template-areas:
      "media details"
      "media total"
      "media quantity";

    align-items:
      start;

    gap:
      .9rem 1.2rem;

    padding:
      1.7rem 1.4rem !important;
  }


  cart-items
  .cart-item__media {

    width:
      8rem !important;

    min-width:
      8rem;

    height:
      8rem;

    border-radius:
      1.2rem;
  }


  cart-items
  .cart-item__image {

    padding:
      .5rem;
  }


  cart-items
  .cart-item__details {

    padding-right:
      0 !important;
  }


  cart-items
  .cart-item__name {

    font-size:
      1.32rem !important;
  }


  cart-items
  .cart-item__totals.small-hide {

    display:
      none !important;
  }


  cart-items
  .cart-item__totals.medium-hide {

    grid-area:
      total;

    display:
      block !important;

    justify-self:
      start;

    text-align:
      left !important;
  }


  cart-items
  .cart-item__quantity {

    justify-self:
      start;
  }


  cart-items
  .cart-item__quantity-wrapper {

    justify-content:
      flex-start !important;

    flex-wrap:
      wrap;
  }


  cart-items
  .quantity {

    width:
      11.5rem;
  }


  cart-items
  .bio-cart-service-single
  .cart-item__quantity-wrapper::before {

    max-width:
      20rem;

    white-space:
      normal;
  }


  .cart__footer {

    padding:
      2rem !important;

    border-radius:
      1.6rem !important;
  }


  .totals__total-value {

    font-size:
      1.8rem !important;
  }


  .cart__checkout-button,

  button[name="checkout"] {

    min-height:
      5.4rem !important;
  }

}


/* BIOMASCOTA CART PAGE PRO 2026 - DOM FINAL FIX
   DOM verified on biomascota.cl/cart:
   #MainContent
     > .shopify-section containing <cart-items>
     > .shopify-section.cart__footer-wrapper
   ---------------------------------------------------------- */


/* ==========================================================
   DESKTOP: REAL 2-COLUMN CART
   ========================================================== */

@media screen and (min-width: 1101px) {

  #MainContent {

    display:
      grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      39rem !important;

    grid-template-rows:
      auto !important;

    column-gap:
      3.2rem !important;

    align-items:
      start !important;

    width:
      min(1460px, calc(100% - 48px)) !important;

    max-width:
      none !important;

    margin:
      0 auto !important;

    padding:
      5rem 0 8rem !important;

    overflow:
      visible !important;
  }


  /*
   * LEFT: exact Shopify section containing cart-items
   */

  #MainContent
  > .shopify-section:has(> cart-items) {

    grid-column:
      1 !important;

    grid-row:
      1 !important;

    width:
      100% !important;

    max-width:
      100% !important;

    min-width:
      0 !important;

    margin:
      0 !important;

    align-self:
      start !important;

    overflow:
      visible !important;
  }


  #MainContent
  > .shopify-section:has(> cart-items)
  > cart-items {

    display:
      block !important;

    width:
      100% !important;

    max-width:
      100% !important;

    min-width:
      0 !important;

    margin:
      0 !important;
  }


  #MainContent
  > .shopify-section:has(> cart-items)
  > cart-items
  > .page-width {

    width:
      100% !important;

    max-width:
      100% !important;

    min-width:
      0 !important;

    margin:
      0 !important;

    padding:
      0 !important;
  }


  /*
   * RIGHT: exact Shopify footer section
   */

  #MainContent
  > .shopify-section.cart__footer-wrapper {

    grid-column:
      2 !important;

    grid-row:
      1 !important;

    position:
      sticky !important;

    top:
      2.4rem !important;

    width:
      39rem !important;

    max-width:
      39rem !important;

    min-width:
      0 !important;

    margin:
      8.8rem 0 0 !important;

    padding:
      0 !important;

    align-self:
      start !important;

    transform:
      none !important;

    inset:
      auto !important;

    z-index:
      5 !important;
  }


  #MainContent
  > .shopify-section.cart__footer-wrapper
  > #main-cart-footer {

    width:
      100% !important;

    max-width:
      100% !important;

    margin:
      0 !important;

    padding:
      0 !important;
  }


  #MainContent
  > .shopify-section.cart__footer-wrapper
  #main-cart-footer
  > .page-width {

    width:
      100% !important;

    max-width:
      100% !important;

    margin:
      0 !important;

    padding:
      0 !important;
  }


  #MainContent
  > .shopify-section.cart__footer-wrapper
  .cart__footer {

    position:
      static !important;

    inset:
      auto !important;

    transform:
      none !important;

    width:
      100% !important;

    max-width:
      100% !important;

    margin:
      0 !important;
  }


  /*
   * Product table can NEVER invade summary column.
   */

  #MainContent
  > .shopify-section:has(> cart-items)
  .cart__contents,

  #MainContent
  > .shopify-section:has(> cart-items)
  .cart__items,

  #MainContent
  > .shopify-section:has(> cart-items)
  table.cart-items {

    width:
      100% !important;

    max-width:
      100% !important;

    min-width:
      0 !important;
  }

}


/* ==========================================================
   TABLET / MOBILE
   ========================================================== */

@media screen and (max-width: 1100px) {

  #MainContent {

    display:
      block !important;

    width:
      min(100% - 32px, 1000px) !important;

    margin:
      0 auto !important;

    padding:
      3.5rem 0 6rem !important;
  }


  #MainContent
  > .shopify-section:has(> cart-items),

  #MainContent
  > .shopify-section.cart__footer-wrapper {

    display:
      block !important;

    position:
      static !important;

    width:
      100% !important;

    max-width:
      100% !important;

    margin:
      0 !important;

    padding:
      0 !important;

    transform:
      none !important;
  }


  #MainContent
  > .shopify-section.cart__footer-wrapper {

    margin-top:
      2.4rem !important;
  }


  #MainContent
  > .shopify-section:has(> cart-items)
  .page-width,

  #MainContent
  > .shopify-section.cart__footer-wrapper
  .page-width {

    width:
      100% !important;

    max-width:
      100% !important;

    margin:
      0 !important;

    padding-left:
      0 !important;

    padding-right:
      0 !important;
  }

}


/* ==========================================================
   MOBILE WIDTH
   ========================================================== */

@media screen and (max-width: 749px) {

  #MainContent {

    width:
      calc(100% - 24px) !important;

    padding:
      2.5rem 0 5rem !important;
  }

}

