/** Shopify CDN: Minification failed

Line 9:47 Expected identifier but found whitespace
Line 9:65 Unterminated string token

**/
/* ============================================================
   VIORONI — Cart rebrand (drawer + page), one consistent design.
   Overrides Dawn's component-cart*/totals CSS. Keeps Dawn's cart
   custom elements & AJAX intact; only restyles.
   ============================================================ */

/* ---------- Shared line-item rows (drawer + page) ---------- */
.cart-items { display: block; width: 100%; border: 0; margin: 0; }
.cart-items thead,
.cart-items caption { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.cart-items tbody { display: block; }

.cart-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: var(--s4);
  row-gap: var(--s3);
  align-items: start;
  padding: var(--s5) 0;
  border: 0;
  border-bottom: 1px solid var(--line);
}
.cart-item > td { display: block; padding: 0; margin: 0; border: 0; background: none; }
.cart-item::after { display: none; }

/* thumbnail — 3:4, 2px radius, spans both rows */
.cart-item__media { grid-column: 1; grid-row: 1 / span 2; width: 6.4rem; padding: 0; }
.cart-item__image-container { margin: 0; border: 0; border-radius: var(--vio-radius); overflow: hidden; }
.cart-item__image {
  width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; display: block;
  border-radius: var(--vio-radius); background: var(--surface); border: 1px solid var(--line);
}
.cart-item__link { display: none; }

/* details — name → options → unit price (spans full width of row 1) */
.cart-item__details { grid-column: 2 / 4; grid-row: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--s1); }
.cart-item__title { margin: 0; }
.cart-item__name {
  font-family: var(--font-body); font-weight: 500; font-size: var(--t-sm); line-height: 1.3;
  color: var(--ink); text-transform: none; letter-spacing: 0; text-decoration: none;
}
.cart-item__name:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.cart-item .product-option {
  font-family: var(--font-body); font-size: var(--t-xs); color: var(--mute); line-height: 1.4; margin: 0;
}
.cart-item dl { margin: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.cart-item dl > div { display: flex; gap: 0.35em; }
.cart-item dl dt { font-weight: 400; }
.cart-item dl dd { margin: 0; }
.cart-item__discounted-prices { display: flex; gap: 0.5em; align-items: baseline; }
.cart-item__old-price { color: var(--mute); text-decoration: line-through; }
.cart-item__final-price { color: var(--sale); font-weight: 600; }

/* row 2: stepper (left, col 2) + line total (right, col 3) — never overlaps the name */
.cart-item__quantity { grid-column: 2; grid-row: 2; justify-self: start; align-self: center; padding: 0; }
.cart-item__totals { grid-column: 3; grid-row: 2; justify-self: end; align-self: center; text-align: right; padding-left: var(--s3); }
.cart-item__quantity-wrapper { display: flex; align-items: center; gap: var(--s3); }
/* keep Dawn's mobile/desktop total visibility on the cart page */
.cart-item__totals.medium-hide { display: block; }
@media screen and (min-width: 750px) { .cart-item__totals.medium-hide { display: none; } }
@media screen and (max-width: 749px) { .cart-item__totals.small-hide { display: none; } }

/* quantity stepper — ink, 2px radius, ≥44px controls */
.cart-item .quantity {
  display: inline-flex; align-items: center; width: auto;
  border: 1px solid var(--line); border-radius: var(--vio-radius); background: var(--page);
}
.cart-item .quantity__button {
  width: 3.8rem; min-height: 3.8rem; padding: 0; background: none; border: 0; color: var(--ink);
  cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.cart-item .quantity__button:hover { color: var(--ink); background: var(--surface); }
.cart-item .quantity__button .svg-wrapper,
.cart-item .quantity__button svg { width: 1.1rem; height: 1.1rem; }
.cart-item .quantity__input {
  width: 3rem; min-height: 3.8rem; text-align: center; border: 0; background: none; padding: 0;
  font-family: var(--font-body); font-size: var(--t-sm); color: var(--ink); -moz-appearance: textfield;
}
.cart-item .quantity__input::-webkit-outer-spin-button,
.cart-item .quantity__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* remove — quiet, ink on hover */
.cart-remove-button .button,
.cart-remove-button > a,
.cart-remove-button > button {
  min-height: auto; min-width: auto; padding: 0.4rem; background: none; border: 0; color: var(--mute);
  border-radius: var(--vio-radius); cursor: pointer;
}
.cart-remove-button .button:hover { color: var(--ink); background: none; }
.cart-remove-button .svg-wrapper,
.cart-remove-button svg { width: 1.4rem; height: 1.4rem; }

/* line total price */
.cart-item__totals .price,
.cart-item__price-wrapper .price { font-family: var(--font-body); font-size: var(--t-sm); color: var(--ink); }
.cart-item__price-wrapper { display: flex; flex-direction: column; align-items: flex-end; gap: 0.2rem; }

/* ---------- Shared summary bits ---------- */
.vcart__shipline,
.totals { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); }
.vcart__shipline { font-family: var(--font-body); font-size: var(--t-sm); color: var(--mute); margin: 0 0 var(--s2); }
.vcart__free { color: var(--ink); font-weight: 600; }
.totals { margin: 0; padding: var(--s3) 0 0; border-top: 1px solid var(--line); }
.totals__total { margin: 0; font-family: var(--font-body); font-weight: 600; font-size: var(--t-base); text-transform: none; letter-spacing: 0; color: var(--ink); }
.totals__total-value { margin: 0; font-family: var(--font-body); font-weight: 600; font-size: var(--t-lg); color: var(--ink); }
.tax-note { display: block; margin: var(--s2) 0 0; font-size: var(--t-xs); color: var(--mute); line-height: 1.5; }
.tax-note a { color: var(--ink); text-underline-offset: 0.2em; }

/* checkout button — full-width solid ink */
.cart__checkout-button {
  width: 100%; min-height: 4.8rem; display: inline-flex; align-items: center; justify-content: center;
  background: var(--ink); color: var(--page); border: 0; border-radius: var(--vio-radius);
  font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;
  font-size: 1.3rem; cursor: pointer;
}
.cart__checkout-button:hover:not([disabled]) { background: var(--ink); color: var(--page); }
.cart__checkout-button[disabled] { opacity: 0.4; cursor: not-allowed; }
.cart__ctas { margin: var(--s5) 0 0; width: 100%; max-width: 100%; }
.cart__dynamic-checkout-buttons { margin-top: var(--s3); width: 100%; max-width: 100%; }
.cart__dynamic-checkout-buttons > *,
.cart__dynamic-checkout-buttons .shopify-payment-button,
.cart__dynamic-checkout-buttons .shopify-payment-button__button { width: 100% !important; max-width: 100% !important; }
.drawer__footer { overflow-x: clip; }

/* payment icons */
.vcart__pay { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: var(--s4) 0 0; padding: 0; }
.vcart__pay-ic { width: 3.4rem; height: auto; display: block; }

/* empty-state (shared) */
.vcart__empty-sub { margin: var(--s2) 0 var(--s5); font-family: var(--font-body); font-size: var(--t-sm); color: var(--mute); }
.vcart__empty-cta,
.button.vcart__empty-cta {
  display: inline-flex; align-items: center; justify-content: center; min-height: 4.8rem; padding: 0 3.2rem;
  background: var(--ink); color: var(--page); border: 0; border-radius: var(--vio-radius);
  font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; font-size: 1.3rem; text-decoration: none;
}
.cart__empty-text { font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.01em; color: var(--ink); }

/* ============================================================
   DRAWER
   ============================================================ */
.cart-drawer .drawer__inner,
.drawer__inner {
  width: min(90vw, 420px); max-width: 420px; background: var(--page);
  border-left: 1px solid var(--line); box-shadow: -8px 0 40px rgba(27, 24, 21, 0.12);
  display: flex; flex-direction: column;
}
.cart-drawer__overlay,
#CartDrawer-Overlay { background: rgba(27, 24, 21, 0.42); }

.drawer__header { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); padding: var(--s5) var(--s5) var(--s4); border-bottom: 1px solid var(--line); margin: 0; }
.drawer__heading { margin: 0; font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.02em; font-size: var(--t-xl); color: var(--ink); }
.drawer__count { color: var(--mute); }
.drawer__close { width: 4.4rem; height: 4.4rem; min-width: 4.4rem; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; color: var(--ink); cursor: pointer; border-radius: var(--vio-radius); }
.drawer__close:hover { background: var(--surface); }
.drawer__close .svg-wrapper svg { width: 1.6rem; height: 1.6rem; }

cart-drawer-items,
.drawer__contents { display: block; }
.drawer__cart-items-wrapper { padding: 0 var(--s5); }
.cart-drawer .cart-item { padding: var(--s4) 0; }
.cart-drawer .cart-item:last-child { border-bottom: 0; }

.drawer__footer { padding: var(--s5); border-top: 1px solid var(--line); background: var(--page); margin-top: auto; }
.cart-drawer__footer { margin: 0 0 var(--s4); }
.cart-drawer .cart__ctas { margin: 0; }

/* drawer empty state */
.cart-drawer.is-empty .drawer__inner-empty,
.drawer__inner-empty { display: flex; flex-direction: column; height: 100%; }
.cart-drawer__empty-content { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: var(--s7) var(--s5); gap: 0; }
.cart-drawer__empty-content .drawer__close { position: absolute; top: var(--s4); right: var(--s4); }
.cart-drawer__empty-content .cart__empty-text { font-size: var(--t-xl); margin: 0; }

/* keep Dawn's show/hide of the two drawer states intact */
.cart-drawer .drawer__inner-empty { display: none; }
.cart-drawer.is-empty .drawer__inner-empty { display: flex; }
.cart-drawer.is-empty .drawer__header,
.cart-drawer.is-empty cart-drawer-items,
.cart-drawer.is-empty .drawer__footer { display: none; }

/* ============================================================
   CART PAGE
   ============================================================ */
.vcart-page__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; margin: 0 0 clamp(2rem, 3vw, 3.2rem); border: 0; }
.vcart-page__eyebrow { margin: 0 0 var(--s2); font-family: var(--font-body); font-size: var(--t-xs); font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mute); }
.vcart-page__title { margin: 0; font-family: var(--font-display); text-transform: uppercase; font-size: var(--t-2xl); letter-spacing: 0.01em; color: var(--ink); }
.vcart-page__count { color: var(--mute); }
.vcart-page__continue { color: var(--ink); font-family: var(--font-body); font-size: var(--t-sm); text-underline-offset: 0.25em; }

.cart-items-wrapper,
cart-items .page-width { min-width: 0; }
.cart-page__list .cart-item,
#main-cart-items .cart-item { padding: clamp(1.8rem, 2.4vw, 2.4rem) 0; }
/* page thumbnails a touch larger */
#main-cart-items .cart-item__media { width: clamp(7.2rem, 9vw, 10rem); }

/* order summary card */
.cart__footer { background: var(--paper); border: 1px solid var(--line); border-radius: var(--vio-radius); padding: clamp(2rem, 2.6vw, 2.8rem); box-shadow: 0 1px 2px rgba(27,24,21,0.04), 0 12px 32px rgba(27,24,21,0.05); }
.vcart__summary-title { margin: 0 0 var(--s4); font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.06em; font-size: var(--t-base); color: var(--ink); }
.cart__blocks { display: block; }
.cart__note { margin: 0 0 var(--s4); }
.cart__note label { font-family: var(--font-body); font-size: var(--t-xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--mute); }
.cart__note .text-area { width: 100%; min-height: 7rem; padding: var(--s3); font-family: var(--font-body); font-size: var(--t-sm); color: var(--ink); background: var(--page); border: 1px solid var(--line); border-radius: var(--vio-radius); }
.cart__footer, .cart__footer .cart__blocks, .cart__footer .js-contents { min-width: 0; }
.cart__footer .vioroni-cart-reassurance,
.cart__footer .vioroni-cart-reassurance__trust,
.cart__footer .vioroni-cart-reassurance__payment { min-width: 0; max-width: 100%; }
.cart__footer .vioroni-cart-reassurance__trust { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.cart__footer .vioroni-cart-reassurance__trust li { overflow-wrap: anywhere; }

/* two-column desktop layout (scoped to the cart page via :has) */
@media screen and (min-width: 990px) {
  #MainContent:has(cart-items:not(.is-empty)) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36rem;
    gap: clamp(2.4rem, 4vw, 5.6rem);
    align-items: start;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--gutter);
  }
  #MainContent:has(cart-items:not(.is-empty)) > .shopify-section:has(cart-items) { grid-column: 1; min-width: 0; }
  #MainContent:has(cart-items:not(.is-empty)) > .cart__footer-wrapper { grid-column: 2; position: sticky; top: 2rem; min-width: 0; }
  #MainContent:has(cart-items:not(.is-empty)) .shopify-section .page-width { max-width: none; padding-inline: 0; margin-inline: 0; }
  #MainContent:has(cart-items:not(.is-empty)) .cart__footer { padding-block: clamp(2rem, 2.6vw, 2.8rem); }
}
/* hide the (empty) summary section on an empty cart page */
#MainContent:has(cart-items.is-empty) .cart__footer-wrapper { display: none; }

/* empty cart page — centered */
.vcart-empty { text-align: center; max-width: 46rem; margin: clamp(4rem, 8vw, 8rem) auto; }
cart-items:not(.is-empty) .cart__warnings { display: none; }
.vcart-empty .cart__empty-text { font-size: var(--t-2xl); margin: 0; }

/* ---------- responsive ---------- */
@media screen and (max-width: 749px) {
  .cart-item__media { width: 6.4rem; }
  .drawer__cart-items-wrapper { padding: 0 var(--s4); }
  .drawer__header,
  .drawer__footer { padding-inline: var(--s4); }
}

@media (prefers-reduced-motion: reduce) {
  .cart-drawer .drawer__inner { transition: none !important; }
}
