/** Shopify CDN: Minification failed

Line 800:0 Unexpected "("

**/
/* =========================================================
   OM POSHAK CART REDESIGN — PHASE 1
   Cart structure, items and order summary
   ========================================================= */

/* ---------- General cart page ---------- */

#MainContent {
  background: #fbfaf7;
}

#MainContent cart-items,
#MainContent #main-cart-footer {
  background: transparent;
}

#MainContent cart-items {
  display: block;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#MainContent .title-wrapper-with-link {
  align-items: center;
  margin: 0 0 2.2rem;
}

#MainContent .title-wrapper-with-link .title {
  margin: 0;
  color: #302b27;
  font-family: var(--font-heading-family);
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 1.15;
}

#MainContent .title-wrapper-with-link .underlined-link {
  color: #665c53;
  font-size: 1.3rem;
  text-underline-offset: 0.4rem;
}

/* ---------- Premium cart item cards ---------- */

#MainContent .cart-items {
  width: 100%;
}

#MainContent .cart-item {
  background: #fffdf9;
  border: 1px solid #e2d9cb;
  border-radius: 1rem;
  box-shadow: 0 0.3rem 1.2rem rgba(48, 43, 39, 0.035);
}

#MainContent .cart-item__image-container {
  overflow: hidden;
  background: #f5f1e9;
  border: 0;
  border-radius: 0.7rem;
}

#MainContent .cart-item__image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

#MainContent .cart-item__name {
  display: -webkit-box;
  margin: 0 0 0.55rem;

  color: #342e29;
  font-family: var(--font-heading-family);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;

  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#MainContent .cart-item__name:hover {
  color: #725f32;
}

#MainContent .cart-item .product-option {
  margin-top: 0.35rem;
  color: #6d645c;
  font-size: 1.18rem;
  line-height: 1.45;
}

#MainContent .cart-item__price-wrapper {
  color: #544b44;
  font-size: 1.25rem;
}

#MainContent .cart-item__quantity-wrapper {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

#MainContent .cart-item .quantity {
  width: 12.8rem;
  min-height: 4.2rem;

  background: #fffdf9;
  border: 1px solid #cfc6b9;
  border-radius: 0.55rem;
}

#MainContent .cart-item .quantity::after {
  box-shadow: none;
}

#MainContent .cart-item .quantity__button {
  width: 4rem;
  min-width: 4rem;
}

#MainContent .cart-item cart-remove-button {
  margin: 0;
}

#MainContent .cart-item cart-remove-button .button {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 4rem;
  min-width: 4rem;
  height: 4rem;
  min-height: 4rem;
  padding: 0;

  background: #f5f0e8;
  color: #6a6057;
  border-radius: 50%;
}

#MainContent .cart-item cart-remove-button .button:hover {
  background: #ece4d8;
  color: #302b27;
}

#MainContent .cart-item__totals {
  color: #302b27;
  font-family: var(--font-heading-family);
  font-size: 1.55rem;
  font-weight: 600;
}

/* ---------- Order summary card ---------- */

#MainContent #main-cart-footer .page-width {
  max-width: none;
}

#MainContent #main-cart-footer .cart__footer {
  display: flex;
  flex-direction: column;
  gap: 1.7rem;

  margin: 0;
  padding: 2.3rem !important;

  background: #fffdf9;
  border: 1px solid #ded3c3;
  border-radius: 1.2rem;
  box-shadow: 0 1.2rem 3.5rem rgba(48, 43, 39, 0.075);
}

#MainContent #main-cart-footer .cart__blocks {
  order: 1;
  width: 100%;
  margin: 0;
}

#MainContent #main-cart-footer .cart__note {
  order: 2;
  width: 100%;
  max-width: none;
  margin: 0;
}

#MainContent #main-cart-footer .totals {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem;

  padding-bottom: 1.4rem;
  border-bottom: 1px solid #e4ddd3;
}

#MainContent #main-cart-footer .totals__total {
  margin: 0;

  color: #3a332e;
  font-family: var(--font-heading-family);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.3;
}

#MainContent #main-cart-footer .totals__total-value {
  margin: 0;

  color: #302b27;
  font-family: var(--font-heading-family);
  font-size: 2.1rem;
  font-weight: 600;
  line-height: 1.2;
}

#MainContent #main-cart-footer .tax-note {
  display: block;
  margin: 1.1rem 0 0;
  color: #7a7169;
  font-size: 1.08rem;
  line-height: 1.5;
  text-align: left;
}

#MainContent #main-cart-footer .cart__ctas {
  margin-top: 1.7rem;
}

#MainContent #main-cart-footer .cart__checkout-button {
  width: 100%;
  min-height: 5.3rem;
  margin: 0;

  background: #302b27;
  color: #fffdf9;
  border-radius: 0.55rem;

  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06rem;
}

#MainContent #main-cart-footer .cart__checkout-button:hover {
  background: #443c35;
}

#MainContent #main-cart-footer .cart__note label {
  color: #4e4640;
  font-size: 1.18rem;
}

#MainContent #main-cart-footer .cart__note .text-area {
  height: 7.5rem;
  min-height: 7.5rem;
  padding-top: 1.8rem;

  background: #fbf8f2;
  border-radius: 0.55rem;
  resize: vertical;
}

#MainContent #main-cart-footer .cart__note::after {
  box-shadow: 0 0 0 0.1rem #d3c9bb;
  border-radius: 0.55rem;
}

/* =========================================================
   DESKTOP
   ========================================================= */

@media screen and (min-width: 990px) {
  #MainContent {
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      minmax(34rem, 39rem);
    align-items: start;
    gap: 3.5rem;

    width: 100%;
    max-width: 148rem;
    margin: 0 auto;
    padding: 4rem 5rem 7rem;
  }

  /*
    All cart-template sections remain on the left by default.
    The native cart footer becomes the sticky right column.
  */

  #MainContent > .shopify-section {
    grid-column: 1;
    min-width: 0;
  }

  #MainContent > .shopify-section.cart__footer-wrapper {
    position: sticky;
    top: 10rem;
    z-index: 2;

    grid-column: 2;
    grid-row: 1 / span 50;
    align-self: start;

    min-width: 0;
  }

  #MainContent cart-items .page-width,
  #MainContent #main-cart-footer .page-width {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-right: 0;
    padding-left: 0;
  }

  #MainContent .cart-items {
    display: block;
  }

  #MainContent .cart-items thead {
    display: none;
  }

  #MainContent .cart-items tbody {
    display: grid;
    gap: 1.25rem;
  }

  #MainContent .cart-item {
    display: grid !important;
    grid-template-columns:
      11rem
      minmax(0, 1fr)
      auto;
    grid-template-areas:
      "media details totals"
      "media quantity totals";
    column-gap: 1.6rem;
    row-gap: 1rem;

    width: 100%;
    padding: 1.4rem;
  }

  #MainContent .cart-item > td {
    padding: 0;
    border: 0;
  }

  #MainContent .cart-item__media {
    grid-area: media;
    width: auto;
  }

  #MainContent .cart-item__details {
    grid-area: details;
    min-width: 0;
  }

  #MainContent .cart-item__quantity {
    grid-area: quantity;
    align-self: end;
  }

  #MainContent .cart-item__totals {
    grid-area: totals;
    align-self: center;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    min-width: 9rem;
    padding-left: 1rem;
    text-align: right;
  }

  #MainContent .cart-item__image-container {
    width: 11rem;
    height: 13rem;
  }
}

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (min-width: 750px) and (max-width: 989px) {
  #MainContent {
    padding: 3rem 3rem 5rem;
  }

  #MainContent cart-items .page-width,
  #MainContent #main-cart-footer .page-width {
    padding-right: 0;
    padding-left: 0;
  }

  #MainContent .cart-items thead {
    display: none;
  }

  #MainContent .cart-items tbody {
    display: grid;
    gap: 1.2rem;
  }

  #MainContent .cart-item {
    padding: 1.4rem;
  }

  #MainContent #main-cart-footer {
    margin-top: 2rem;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 749px) {
  #MainContent {
    padding: 2.2rem 1.5rem 4rem;
  }

  #MainContent cart-items .page-width,
  #MainContent #main-cart-footer .page-width {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }

  #MainContent .title-wrapper-with-link {
    margin-bottom: 1.7rem;
  }

  #MainContent .title-wrapper-with-link .title {
    font-size: 3rem;
  }

  #MainContent .title-wrapper-with-link .underlined-link {
    font-size: 1.15rem;
  }

  #MainContent .cart-items {
    display: block;
  }

  #MainContent .cart-items thead {
    display: none;
  }

  #MainContent .cart-items tbody {
    display: grid;
    gap: 1rem;
  }

  #MainContent .cart-item {
    display: grid !important;
    grid-template-columns:
      9.6rem
      minmax(0, 1fr)
      auto;
    grid-template-areas:
      "media details totals"
      "media quantity quantity";
    column-gap: 1.15rem;
    row-gap: 1.1rem;

    width: 100%;
    padding: 1.1rem;
  }

  #MainContent .cart-item > td {
    padding: 0;
    border: 0;
  }

  #MainContent .cart-item__media {
    grid-area: media;
    width: auto;
  }

  #MainContent .cart-item__details {
    grid-area: details;
    min-width: 0;
  }

  #MainContent .cart-item__quantity {
    grid-area: quantity;
  }

  #MainContent .cart-item__totals {
    grid-area: totals;
    align-self: start;

    min-width: auto;
    padding: 0;
    text-align: right;
  }

  #MainContent .cart-item__image-container {
    width: 9.6rem;
    height: 12rem;
  }

  #MainContent .cart-item__name {
    margin-bottom: 0.4rem;
    font-size: 1.28rem;
    line-height: 1.3;
    -webkit-line-clamp: 3;
  }

  #MainContent .cart-item .product-option {
    font-size: 1.05rem;
  }

  #MainContent .cart-item__totals {
    font-size: 1.23rem;
  }

  #MainContent .cart-item .quantity {
    width: 12rem;
    min-height: 4rem;
  }

  #MainContent .cart-item .quantity__button {
    width: 3.7rem;
    min-width: 3.7rem;
  }

  #MainContent .cart-item cart-remove-button .button {
    width: 3.8rem;
    min-width: 3.8rem;
    height: 3.8rem;
    min-height: 3.8rem;
  }

  #MainContent #main-cart-footer {
    margin-top: 1.6rem;
  }

  #MainContent #main-cart-footer .cart__footer {
    gap: 1.5rem;
    padding: 1.7rem !important;

    border-radius: 1rem;
    box-shadow: 0 0.8rem 2.5rem rgba(48, 43, 39, 0.06);
  }

  #MainContent #main-cart-footer .totals__total {
    font-size: 1.4rem;
  }

  #MainContent #main-cart-footer .totals__total-value {
    font-size: 1.8rem;
  }

  #MainContent #main-cart-footer .cart__checkout-button {
    min-height: 5rem;
  }

  #MainContent #main-cart-footer .cart__note .text-area {
    height: 6.5rem;
    min-height: 6.5rem;
  }
}

/* =========================================================
   OM POSHAK CART BENEFIT PROGRESS
   ========================================================= */

#MainContent .om-cart-benefits {
  margin: 0 0 1.8rem;
  padding: 1.5rem;

  background:
    linear-gradient(
      135deg,
      #fffaf0 0%,
      #f7f0e3 100%
    );

  border: 1px solid #ded0b8;
  border-radius: 0.8rem;
}

#MainContent .om-cart-benefits__header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

#MainContent .om-cart-benefits__icon {
  display: flex;
  flex: 0 0 3.8rem;
  align-items: center;
  justify-content: center;

  width: 3.8rem;
  height: 3.8rem;

  background: #dbc176;
  color: #3b3027;
  border-radius: 50%;
}

#MainContent .om-cart-benefits__eyebrow {
  display: block;
  margin-bottom: 0.25rem;

  color: #78632f;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08rem;
  text-transform: uppercase;
}

#MainContent .om-cart-benefits__message {
  margin: 0;

  color: #3c352f;
  font-family: var(--font-body-family);
  font-size: 1.16rem;
  font-weight: 600;
  line-height: 1.45;
}

#MainContent .om-cart-benefits__track {
  position: relative;
  width: 100%;
  height: 0.7rem;
  margin-top: 1.4rem;

  background: #e2dacd;
  border-radius: 999px;
  overflow: hidden;
}

#MainContent .om-cart-benefits__fill {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  width: 0;

  background:
    linear-gradient(
      90deg,
      #a68b46,
      #d1b766
    );

  border-radius: inherit;

  transition: width 0.45s ease;
}

#MainContent .om-cart-benefits__milestones {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem 0.8rem;

  margin-top: 1rem;
}

#MainContent .om-cart-benefits__milestones span {
  position: relative;
  padding-left: 1.2rem;

  color: #8a8178;
  font-size: 0.95rem;
  line-height: 1.35;
}

#MainContent
  .om-cart-benefits__milestones
  span::before {
  content: "";

  position: absolute;
  top: 0.42rem;
  left: 0;

  width: 0.6rem;
  height: 0.6rem;

  background: #d1c8bb;
  border-radius: 50%;
}

#MainContent
  .om-cart-benefits__milestones
  span.is-unlocked {
  color: #5e512d;
  font-weight: 600;
}

#MainContent
  .om-cart-benefits__milestones
  span.is-unlocked::before {
  background: #a58a46;
  box-shadow: 0 0 0 0.25rem rgba(165, 138, 70, 0.13);
}

#MainContent .om-cart-benefits__eligible {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  margin-top: 1.2rem;
  padding-top: 1.1rem;

  color: #62594f;
  border-top: 1px solid #ddd3c4;

  font-size: 1.06rem;
  line-height: 1.4;
}

#MainContent .om-cart-benefits__eligible[hidden] {
  display: none;
}

#MainContent .om-cart-benefits__eligible strong {
  color: #493e2b;
  letter-spacing: 0.05rem;
}

#MainContent .om-cart-benefits__copy {
  appearance: none;
  -webkit-appearance: none;

  flex: 0 0 auto;
  min-height: 3.3rem;
  padding: 0.65rem 1rem;

  background: transparent;
  color: #443a2e;
  border: 1px solid #b9a882;
  border-radius: 0.45rem;
  cursor: pointer;

  font-family: var(--font-body-family);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;

  transition:
    background-color 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease;
}

#MainContent .om-cart-benefits__copy:hover {
  background: #f0e6d1;
  border-color: #8d7640;
}

#MainContent .om-cart-benefits__copy.is-copied {
  background: #3b342e;
  color: #fffdf9;
  border-color: #3b342e;
}

@media screen and (max-width: 749px) {
  #MainContent .om-cart-benefits {
    margin-bottom: 1.5rem;
    padding: 1.3rem;
  }

  #MainContent .om-cart-benefits__message {
    font-size: 1.1rem;
  }

  #MainContent .om-cart-benefits__milestones {
    grid-template-columns: 1fr 1fr;
  }

  #MainContent .om-cart-benefits__eligible {
    align-items: flex-start;
  }
}

(() => {
  if (window.__omCartLayoutControlV2Initialized) {
    return;
  }

  window.__omCartLayoutControlV2Initialized = true;

  const UPSELL_CONTAINER_SELECTOR =
    '[data-essential-upsell-element="container"]';

  const UPSELL_TITLE_SELECTOR =
    '[data-essential-upsell-element="title"]';

  const MOBILE_BREAKPOINT = 749;

  let arrangementTimer = null;
  let placeholder = null;
  let mobileWrapper = null;

  function isMobile() {
    return window.innerWidth <= MOBILE_BREAKPOINT;
  }

  function getDirectChildOfMain(element, main) {
    let current = element;

    while (
      current &&
      current.parentElement !== main
    ) {
      current = current.parentElement;
    }

    return (
      current &&
      current.parentElement === main
        ? current
        : null
    );
  }

  function getUpsellContainer() {
    return document.querySelector(
      UPSELL_CONTAINER_SELECTOR
    );
  }

  function renameUpsellHeading(container) {
    if (!container) {
      return;
    }

    const title = container.querySelector(
      UPSELL_TITLE_SELECTOR
    );

    if (title) {
      title.textContent =
        'Complete Kanha Ji’s Seva';
    }
  }

  function ensurePlaceholder(container) {
    if (
      placeholder &&
      placeholder.isConnected
    ) {
      return;
    }

    placeholder = document.createElement('span');
    placeholder.hidden = true;
    placeholder.setAttribute(
      'data-om-upsell-original-position',
      ''
    );

    container.parentElement.insertBefore(
      placeholder,
      container
    );
  }

  function ensureMobileWrapper(main, footerSection) {
    mobileWrapper = document.querySelector(
      '[data-om-mobile-upsell-wrapper]'
    );

    if (!mobileWrapper) {
      mobileWrapper = document.createElement('div');

      mobileWrapper.className =
        'om-cart-mobile-upsell';

      mobileWrapper.setAttribute(
        'data-om-mobile-upsell-wrapper',
        ''
      );
    }

    if (
      mobileWrapper.parentElement !== main ||
      footerSection.nextElementSibling !==
        mobileWrapper
    ) {
      footerSection.insertAdjacentElement(
        'afterend',
        mobileWrapper
      );
    }

    return mobileWrapper;
  }

  function moveUpsellForMobile(
    container,
    main,
    footerSection
  ) {
    ensurePlaceholder(container);

    const wrapper = ensureMobileWrapper(
      main,
      footerSection
    );

    if (container.parentElement !== wrapper) {
      wrapper.appendChild(container);
    }

    container.classList.add(
      'om-upsell-moved-mobile'
    );
  }

  function restoreUpsellForDesktop(container) {
    if (
      placeholder &&
      placeholder.isConnected &&
      container.parentElement !==
        placeholder.parentElement
    ) {
      placeholder.insertAdjacentElement(
        'afterend',
        container
      );
    }

    container.classList.remove(
      'om-upsell-moved-mobile'
    );

    if (
      mobileWrapper &&
      mobileWrapper.isConnected &&
      !mobileWrapper.children.length
    ) {
      mobileWrapper.remove();
    }
  }

  function arrangeCart() {
    const main = document.querySelector(
      '#MainContent'
    );

    const cartFooter = document.querySelector(
      '#main-cart-footer'
    );

    const upsellContainer =
      getUpsellContainer();

    if (
      !main ||
      !cartFooter ||
      !upsellContainer
    ) {
      return;
    }

    renameUpsellHeading(upsellContainer);

    const footerSection =
      getDirectChildOfMain(
        cartFooter,
        main
      );

    if (!footerSection) {
      return;
    }

    if (isMobile()) {
      moveUpsellForMobile(
        upsellContainer,
        main,
        footerSection
      );
    } else {
      restoreUpsellForDesktop(
        upsellContainer
      );
    }
  }

  function scheduleArrangement(delay = 100) {
    window.clearTimeout(arrangementTimer);

    arrangementTimer = window.setTimeout(
      arrangeCart,
      delay
    );
  }

  document.addEventListener(
    'DOMContentLoaded',
    () => {
      scheduleArrangement(50);
      scheduleArrangement(500);
      scheduleArrangement(1200);
    }
  );

  window.addEventListener(
    'load',
    () => scheduleArrangement(150)
  );

  window.addEventListener(
    'resize',
    () => scheduleArrangement(150)
  );

  document.addEventListener(
    'cart:updated',
    () => scheduleArrangement(250)
  );

  const observer = new MutationObserver(() => {
    scheduleArrangement(200);
  });

  observer.observe(document.documentElement, {
    childList: true,
    subtree: true
  });
})();


/* =========================================================
   OM POSHAK COLLAPSIBLE CART NOTE
   ========================================================= */

#MainContent #main-cart-footer .om-cart-note {
    order: 2;
  width: 100%;
  margin: 0;
  padding-top: 1.3rem;
  border-top: 1px solid #e4ddd3;
}

#MainContent
  #main-cart-footer
  .om-cart-note__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  padding: 0.4rem 0;

  color: #514940;
  cursor: pointer;
  list-style: none;

  font-family: var(--font-body-family);
  font-size: 1.16rem;
  font-weight: 600;
  line-height: 1.4;
}

#MainContent
  #main-cart-footer
  .om-cart-note__summary::-webkit-details-marker {
  display: none;
}

#MainContent
  #main-cart-footer
  .om-cart-note__summary-content {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

#MainContent
  #main-cart-footer
  .om-cart-note__summary-content svg {
  flex: 0 0 auto;
  color: #756a60;
}

#MainContent
  #main-cart-footer
  .om-cart-note__caret {
  flex: 0 0 auto;
  color: #746b62;
  transition: transform 0.2s ease;
}

#MainContent
  #main-cart-footer
  .om-cart-note[open]
  .om-cart-note__caret {
  transform: rotate(180deg);
}

#MainContent
  #main-cart-footer
  .om-cart-note__field {
  display: block;
  width: 100%;
  max-width: none;
  margin: 1.2rem 0 0;
}

#MainContent
  #main-cart-footer
  .om-cart-note__field
  .text-area {
  height: 8rem;
  min-height: 8rem;
  padding-top: 1.8rem;

  background: #fbf8f2;
  border-radius: 0.55rem;
  resize: vertical;
}

#MainContent
  #main-cart-footer
  .om-cart-note__field::after {
  box-shadow: 0 0 0 0.1rem #d3c9bb;
  border-radius: 0.55rem;
}

@media screen and (max-width: 749px) {
  #MainContent #main-cart-footer .om-cart-note {
    padding-top: 1.1rem;
  }

  #MainContent
    #main-cart-footer
    .om-cart-note__summary {
    font-size: 1.1rem;
  }

  #MainContent
    #main-cart-footer
    .om-cart-note__field
    .text-area {
    height: 7rem;
    min-height: 7rem;
  }
}

#MainContent
  #main-cart-footer
  .cart__footer
  > .cart__blocks {
  order: 1 !important;
}

#MainContent
  #main-cart-footer
  .cart__footer
  > .om-cart-note {
  order: 2 !important;
  margin-top: 0.2rem;
}


/* =========================================================
   CART NOTE WIDTH AND ALIGNMENT FIX
   ========================================================= */

#MainContent
  #main-cart-footer
  .cart__footer
  > .om-cart-note {
  align-self: stretch;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
}

#MainContent
  #main-cart-footer
  .om-cart-note__field {
  display: block !important;
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 1.2rem 0 0 !important;
  box-sizing: border-box !important;
}

#MainContent
  #main-cart-footer
  .om-cart-note__field
  .field__input {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

#MainContent
  #main-cart-footer
  .om-cart-note__field::before,
#MainContent
  #main-cart-footer
  .om-cart-note__field::after {
  right: 0 !important;
  left: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#MainContent
  #main-cart-footer
  .om-cart-note__field
  textarea {
  resize: vertical;
  overflow: auto;
}

/* =========================================================
   FINAL CART NOTE FIELD RESET
   Removes Dawn native field width interference
   ========================================================= */

#MainContent
  #main-cart-footer
  .om-cart-note__field {
  display: block !important;
  position: static !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin: 1.2rem 0 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
}

/* Remove Dawn field pseudo-borders completely */
#MainContent
  #main-cart-footer
  .om-cart-note__field::before,
#MainContent
  #main-cart-footer
  .om-cart-note__field::after {
  display: none !important;
  content: none !important;
}

#MainContent
  #main-cart-footer
  .om-cart-note__label {
  display: block;

  width: 100%;
  margin: 0 0 0.8rem;
  padding: 0;

  color: #625950;
  font-family: var(--font-body-family);
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.4;

  box-sizing: border-box;
}

#MainContent
  #main-cart-footer
  .om-cart-note__textarea {
  display: block;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 8rem;
  min-height: 8rem;

  margin: 0 !important;
  padding: 1.2rem 1.3rem !important;

  background: #fbf8f2;
  color: #3f3832;

  border: 1px solid #d3c9bb;
  border-radius: 0.55rem;
  outline: none;

  box-shadow: none !important;
  box-sizing: border-box !important;
  resize: vertical;

  font-family: var(--font-body-family);
  font-size: 1.1rem;
  line-height: 1.5;
}

#MainContent
  #main-cart-footer
  .om-cart-note__textarea:focus {
  border-color: #897a66;
  box-shadow: 0 0 0 0.1rem #897a66 !important;
}

#MainContent
  #main-cart-footer
  .om-cart-note {
  overflow: hidden;
  box-sizing: border-box;
}

@media screen and (max-width: 749px) {
  #MainContent
    #main-cart-footer
    .om-cart-note__textarea {
    height: 7rem;
    min-height: 7rem;
    padding: 1.1rem !important;
  }
}


/* =========================================================
   CART NOTE MOVED INSIDE CART SUMMARY
   ========================================================= */

#MainContent
  #main-cart-footer
  .cart__blocks
  > .om-cart-note {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin: 1.5rem 0 0 !important;
  padding: 1.3rem 0 0 !important;

  border-top: 1px solid #e4ddd3;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#MainContent
  #main-cart-footer
  .cart__blocks
  > .om-cart-note
  .om-cart-note__field {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin: 1.2rem 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#MainContent
  #main-cart-footer
  .cart__blocks
  > .om-cart-note
  .om-cart-note__textarea {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  box-sizing: border-box !important;
  resize: vertical;
}

/* =========================================================
   ESSENTIAL UPSELL — SAFE PREMIUM REFINEMENT
   Does not change the app's internal layout
   ========================================================= */

#MainContent
  [data-essential-upsell-element="container"] {
  width: 100%;
  margin-top: 0;
}

#MainContent
  [data-essential-upsell-element="header"] {
  margin-bottom: 1.2rem !important;
}

#MainContent
  [data-essential-upsell-element="title"] {
  color: #342f2a !important;
  font-family: var(--font-heading-family) !important;
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

/* Recommendation card */

#MainContent
  [data-essential-upsell-element="product"] {
  background: #fffdf9 !important;
  border: 1px solid #e1d8ca !important;
  border-radius: 0.8rem !important;
  box-shadow: 0 0.3rem 1.2rem rgba(48, 43, 39, 0.035) !important;
  overflow: hidden !important;

  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

/* Product links and regular text */

#MainContent
  [data-essential-upsell-element="product"]
  a {
  color: #352f2a !important;
  text-decoration: none !important;
}

#MainContent
  [data-essential-upsell-element="product"]
  a:hover {
  color: #725f32 !important;
}

/* Add button */

#MainContent
  [data-essential-upsell-element="add-to-cart-button"] {
  background: #302b27 !important;
  color: #fffdf9 !important;
  border-color: #302b27 !important;
  border-radius: 0.5rem !important;
  box-shadow: none !important;

  font-family: var(--font-body-family) !important;
  font-weight: 600 !important;

  transition:
    background-color 0.18s ease,
    border-color 0.18s ease !important;
}

#MainContent
  [data-essential-upsell-element="add-to-cart-button"]:hover {
  background: #463d35 !important;
  border-color: #463d35 !important;
}

#MainContent
  [data-essential-upsell-element="add-to-cart-button"]:disabled {
  background: #d7d0c7 !important;
  color: #817970 !important;
  border-color: #d7d0c7 !important;
}

/* Compare-at price */

#MainContent
  [data-essential-upsell-element="product"]
  s,
#MainContent
  [data-essential-upsell-element="product"]
  del {
  color: #938a81 !important;
  opacity: 0.85 !important;
}

/* Desktop hover only */

@media screen and (min-width: 990px) {
  #MainContent
    [data-essential-upsell-element="product"]:hover {
    border-color: #cabd9f !important;
    box-shadow: 0 0.7rem 1.8rem rgba(48, 43, 39, 0.065) !important;
  }
}

/* Mobile refinement */

@media screen and (max-width: 749px) {
  #MainContent
    [data-essential-upsell-element="title"] {
    font-size: 1.65rem !important;
  }

  #MainContent
    [data-essential-upsell-element="product"] {
    border-radius: 0.7rem !important;
  }
}


/* =========================================================
   ESSENTIAL UPSELL — TARGETED MOBILE COMPACTION
   Uses the app's exact data elements
   ========================================================= */

@media screen and (max-width: 749px) {

  #MainContent
    [data-essential-upsell-element="products"] {
    gap: 0.65rem !important;
  }

  /* Complete product row */
  #MainContent
    [data-essential-upsell-element="product"] {
    min-height: 0 !important;
    padding: 0.55rem 0.65rem !important;
    border-radius: 0.65rem !important;
  }

  /* Image wrapper */
  #MainContent
    [data-essential-upsell-element="image-container"] {
    flex: 0 0 6.6rem !important;

    width: 6.6rem !important;
    min-width: 6.6rem !important;
    max-width: 6.6rem !important;
    height: 6.6rem !important;

    margin: 0 0.7rem 0 0 !important;
    padding: 0 !important;

    border-radius: 0.5rem !important;
    overflow: hidden !important;
  }

  /* Product image */
  #MainContent
    [data-essential-upsell-element="image"] {
    display: block !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    border-radius: 0.5rem !important;
  }

  /* Information area */
  #MainContent
    [data-essential-upsell-element="content-container"],
  #MainContent
    [data-essential-upsell-element="content"] {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Product title — one compact line */
  #MainContent
    [data-essential-upsell-element="title"] {
    display: block !important;

    max-width: 100% !important;
    margin: 0 0 0.1rem !important;

    color: #352f2a !important;

    font-family: var(--font-heading-family) !important;
    font-size: 1.08rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Variant selector */
  #MainContent
    [data-essential-upsell-element="variant-select"] {
    min-height: 2.3rem !important;
    max-width: 9rem !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #675f57 !important;

    font-size: 0.98rem !important;
    line-height: 1.2 !important;
  }

  #MainContent
    [data-essential-upsell-element="variant-select"]
    [data-essential-upsell-element="value"] {
    font-size: 0.98rem !important;
    line-height: 1.2 !important;
  }

  /* Price row */
  #MainContent
    [data-essential-upsell-element="price"] {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: nowrap !important;
    gap: 0.35rem !important;

    margin: 0.1rem 0 0 !important;

    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  #MainContent
    [data-essential-upsell-element="discounted-price"] {
    font-size: 1.12rem !important;
    line-height: 1.1 !important;
  }

  #MainContent
    [data-essential-upsell-element="regular-price"] {
    font-size: 0.9rem !important;
    line-height: 1.1 !important;
  }

  /* Add-button area */
  #MainContent
    [data-essential-upsell-element="button-container"] {
    flex: 0 0 auto !important;

    margin: 0 0 0 0.45rem !important;
    padding: 0 !important;
  }

  #MainContent
    [data-essential-upsell-element="add-to-cart-button"] {
    min-width: 7.4rem !important;
    min-height: 4rem !important;

    padding: 0.55rem 0.7rem !important;

    border-radius: 0.5rem !important;

    font-size: 1rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  #MainContent
    [data-essential-upsell-element="add-to-cart-button"]
    [data-essential-upsell-element="icon"] {
    width: 1.4rem !important;
    height: 1.4rem !important;
  }
}

/* =========================================================
   OM POSHAK — MOBILE STICKY CHECKOUT
   ========================================================= */

.om-mobile-sticky-checkout {
  display: none;
}

@media screen and (max-width: 749px) {
  .om-mobile-sticky-checkout {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9995;

    display: grid;
    grid-template-columns:
      minmax(0, auto)
      minmax(14rem, 1fr);
    align-items: center;
    gap: 1rem;

    width: 100%;
    padding:
      0.9rem
      1.2rem
      calc(0.9rem + env(safe-area-inset-bottom));

    background: rgba(255, 253, 249, 0.97);
    border-top: 1px solid #dcd2c4;
    box-shadow:
      0 -0.7rem 2.5rem
      rgba(48, 43, 39, 0.12);

    box-sizing: border-box;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(110%);

    transition:
      opacity 0.22s ease,
      visibility 0.22s ease,
      transform 0.22s ease;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .om-mobile-sticky-checkout.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .om-mobile-sticky-checkout__summary {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }

  .om-mobile-sticky-checkout__label {
    margin-bottom: 0.1rem;

    color: #776e65;
    font-family: var(--font-body-family);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.2;
  }

  .om-mobile-sticky-checkout__total {
    color: #302b27;
    font-family: var(--font-heading-family);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
  }

  .om-mobile-sticky-checkout__button {
    appearance: none;
    -webkit-appearance: none;

    width: 100%;
    min-height: 4.8rem;
    margin: 0;
    padding: 0.9rem 1.4rem;

    background: #302b27;
    color: #fffdf9;

    border: 1px solid #302b27;
    border-radius: 0.55rem;
    cursor: pointer;

    font-family: var(--font-body-family);
    font-size: 1.18rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.04rem;
  }

  .om-mobile-sticky-checkout__button:active {
    background: #463d35;
    transform: scale(0.99);
  }

  body.om-cart-mobile-sticky-active
    #MainContent {
    padding-bottom:
      calc(
        9rem +
        env(safe-area-inset-bottom)
      ) !important;
  }
}

/* =========================================================
   OM POSHAK — PREMIUM EMPTY CART
   ========================================================= */

/* Remove purchase tools when there are no cart products */

body.om-cart-is-empty
  #main-cart-footer,
body.om-cart-is-empty
  .om-cart-mobile-upsell,
body.om-cart-is-empty
  [data-essential-upsell-element="container"],
body.om-cart-is-empty
  .om-mobile-sticky-checkout {
  display: none !important;
}

/* Remove sticky-checkout spacing */

body.om-cart-is-empty
  #MainContent {
  padding-bottom: 5rem !important;
}

/* Centre and simplify the empty state on desktop */

@media screen and (min-width: 990px) {
  body.om-cart-is-empty
    #MainContent {
    display: block !important;

    width: 100%;
    max-width: 110rem;
    margin: 0 auto;
    padding:
      5rem
      5rem
      8rem !important;
  }

  body.om-cart-is-empty
    #MainContent
    > .shopify-section {
    width: 100%;
    max-width: none;
  }

  body.om-cart-is-empty
    #MainContent
    cart-items
    .page-width {
    width: 100%;
    max-width: 90rem;
    margin-right: auto;
    margin-left: auto;
  }
}

/* Mobile empty-state spacing */

@media screen and (max-width: 749px) {
  body.om-cart-is-empty
    #MainContent {
    padding:
      3rem
      1.5rem
      5rem !important;
  }

  body.om-cart-is-empty
    .om-cart-mobile-upsell {
    display: none !important;
  }
}

/* =========================================================
   OM POSHAK — DEVOTIONAL EMPTY CART
   ========================================================= */

body.om-cart-is-empty .cart__warnings {
  padding-top: 2rem;
  text-align: center;
}

body.om-cart-is-empty .om-empty-cart {
  display: flex;
  align-items: center;
  flex-direction: column;

  width: 100%;
  max-width: 58rem;
  margin: 0 auto;
  padding: 4rem 3rem;

  background: #fffdf9;
  border: 1px solid #e1d7c8;
  border-radius: 1.2rem;
  box-shadow: 0 1rem 3rem rgba(48, 43, 39, 0.06);
}

body.om-cart-is-empty .om-empty-cart__icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 6.4rem;
  height: 6.4rem;
  margin-bottom: 1.6rem;

  background: #ead9a0;
  color: #51432a;
  border-radius: 50%;
}

body.om-cart-is-empty .om-empty-cart__eyebrow {
  margin: 0 0 0.7rem;

  color: #806a37;
  font-family: var(--font-body-family);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.12rem;
  text-transform: uppercase;
}

body.om-cart-is-empty .om-empty-cart__title {
  max-width: 48rem;
  margin: 0;

  color: #302b27;
  font-family: var(--font-heading-family);
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.25;
}

body.om-cart-is-empty .om-empty-cart__text {
  max-width: 45rem;
  margin: 1.3rem auto 0;

  color: #6f665e;
  font-family: var(--font-body-family);
  font-size: 1.3rem;
  line-height: 1.65;
}

body.om-cart-is-empty .om-empty-cart__button {
  min-width: 21rem;
  min-height: 5rem;
  margin-top: 2.3rem;

  background: #302b27;
  color: #fffdf9;
  border-radius: 0.55rem;

  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.04rem;
}

body.om-cart-is-empty .om-empty-cart__button:hover {
  background: #463d35;
}

@media screen and (max-width: 749px) {
  body.om-cart-is-empty .cart__warnings {
    padding-top: 1rem;
  }

  body.om-cart-is-empty .om-empty-cart {
    padding: 3rem 1.8rem;
    border-radius: 1rem;
  }

  body.om-cart-is-empty .om-empty-cart__icon {
    width: 5.7rem;
    height: 5.7rem;
    margin-bottom: 1.3rem;
  }

  body.om-cart-is-empty .om-empty-cart__title {
    font-size: 2.5rem;
  }

  body.om-cart-is-empty .om-empty-cart__text {
    font-size: 1.18rem;
    line-height: 1.6;
  }

  body.om-cart-is-empty .om-empty-cart__button {
    width: 100%;
    min-width: 0;
    margin-top: 2rem;
  }
}

/* =========================================================
   MOBILE CART ITEM VERTICAL SPACING FIX
   ========================================================= */

@media screen and (max-width: 749px) {
  #MainContent .cart-items tbody {
    gap: 1.2rem !important;
    row-gap: 1.2rem !important;
  }

  #MainContent .cart-item {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  #MainContent .cart-item + .cart-item {
    margin-top: 0 !important;
  }

  #MainContent .cart-item > td {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}