/* ==========================================================
   Compact mobile cart polish
   Keeps checkout CTA visible faster on phone-sized screens.
   ========================================================== */

@media (max-width: 760px) {
  body.dvt-site.woocommerce-cart .dvt-page,
  body.dvt-site.woocommerce-cart .dvt-main,
  body.dvt-site.woocommerce-cart .dvt-woo-main {
    min-height: 0 !important;
    padding-top: 14px !important;
    padding-bottom: 0 !important;
  }

  body.dvt-site.woocommerce-cart .dvt-content-wrap,
  body.dvt-site.woocommerce-cart .dvt-article,
  body.dvt-site.woocommerce-cart .dvt-article-content,
  body.dvt-site.woocommerce-cart .woocommerce {
    width: min(100% - 32px, 520px) !important;
    max-width: 520px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.dvt-site.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) {
    width: 100% !important;
    max-width: none !important;
    margin: 10px auto 12px !important;
  }

  body.dvt-site.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-message {
    position: relative !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 14px 12px 42px !important;
    border: 1px solid rgba(80, 200, 120, 0.38) !important;
    border-radius: 15px !important;
    background: rgba(244, 255, 248, 0.98) !important;
    color: #171422 !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22) !important;
    text-align: left !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
  }

  body.dvt-site.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-message::before {
    position: absolute !important;
    top: 14px !important;
    left: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: #47b96c !important;
    color: #ffffff !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }

  body.dvt-site.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-message .button,
  body.dvt-site.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-message .wc-forward {
    display: none !important;
  }

  body.dvt-site.woocommerce-cart form.woocommerce-cart-form {
    margin-top: 0 !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table.cart,
  body.dvt-site.woocommerce-cart .woocommerce-cart-form__contents {
    margin-bottom: 12px !important;
    border-radius: 18px !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item {
    padding: 16px 16px 10px !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td {
    padding: 10px 0 !important;
    font-size: 13px !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name {
    padding-top: 16px !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name::before,
  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price::before,
  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity::before,
  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal::before {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 13px !important;
    font-weight: 950 !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail {
    display: none !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name,
  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price,
  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity,
  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal {
    display: grid !important;
    grid-template-columns: minmax(96px, auto) minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 14px !important;
    min-height: 42px !important;
    text-align: right !important;
    line-height: 1.35 !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name::before,
  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-price::before,
  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity::before,
  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-subtotal::before {
    float: none !important;
    align-self: center !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.35 !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity .quantity {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    min-height: 20px !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity .quantity:has(input[type="hidden"])::after {
    content: "1";
    display: inline-block;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity input[type="hidden"] {
    display: none !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item td.actions {
    padding: 8px 0 0 !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr.cart_item + tr td.actions,
  body.dvt-site.woocommerce-cart table.shop_table_responsive tr td.actions {
    padding: 10px 16px 16px !important;
  }

  body.dvt-site.woocommerce-cart table.shop_table_responsive tr td.actions .button[name="update_cart"] {
    display: none !important;
  }

  body.dvt-site.woocommerce-cart .cart-collaterals,
  body.dvt-site.woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: none !important;
    margin-top: 14px !important;
  }

  body.dvt-site.woocommerce-cart .cart_totals {
    padding: 18px 18px 20px !important;
    border-radius: 20px !important;
  }

  body.dvt-site.woocommerce-cart .cart_totals h2 {
    margin-bottom: 14px !important;
    font-size: 22px !important;
    line-height: 1.05 !important;
  }

  body.dvt-site.woocommerce-cart .cart_totals table.shop_table {
    margin-bottom: 16px !important;
  }

  body.dvt-site.woocommerce-cart .cart_totals table.shop_table th,
  body.dvt-site.woocommerce-cart .cart_totals table.shop_table td {
    padding: 11px 0 !important;
    font-size: 13px !important;
  }

  body.dvt-site.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 !important;
    margin: 0 !important;
  }

  body.dvt-site.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    border-radius: 13px !important;
    font-size: 12px !important;
    letter-spacing: 0.02em !important;
  }

  body.dvt-site.woocommerce-cart .product-remove .remove,
  body.dvt-site.woocommerce-cart a.remove {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    line-height: 26px !important;
    font-size: 18px !important;
  }
}

/* ==========================================================
   Compact mobile checkout step tabs
   Prevents the plugin's number bubbles from colliding with labels.
   ========================================================== */

@media (max-width: 760px) {
  body.dvt-site.woocommerce-checkout .dvt-page,
  body.dvt-site.woocommerce-checkout .dvt-main,
  body.dvt-site.woocommerce-checkout .dvt-woo-main {
    padding-top: 0 !important;
  }

  body.dvt-site.woocommerce-checkout .thwmscf-wrapper,
  body.dvt-site.woocommerce-checkout ul.thwmscf-tabs {
    width: min(100% - 32px, 520px) !important;
    max-width: 520px !important;
  }

  body.dvt-site.woocommerce-checkout ul.thwmscf-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin: 0 auto 20px !important;
    padding: 14px 10px 13px !important;
    border-radius: 0 0 18px 18px !important;
  }

  body.dvt-site.woocommerce-checkout ul.thwmscf-tabs li.thwmscf-tab {
    width: auto !important;
    min-width: 0 !important;
    float: none !important;
    display: block !important;
  }

  body.dvt-site.woocommerce-checkout ul.thwmscf-tabs li.thwmscf-tab a {
    min-height: 72px !important;
    height: auto !important;
    padding: 4px 2px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-direction: column !important;
    gap: 7px !important;
    overflow: visible !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.dvt-site.woocommerce-checkout ul.thwmscf-tabs li.thwmscf-tab .thwmscf-tab-label {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-rows: 28px auto !important;
    justify-items: center !important;
    align-items: start !important;
    gap: 7px !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  body.dvt-site.woocommerce-checkout ul.thwmscf-tabs li.thwmscf-tab .thwmscf-index,
  body.dvt-site.woocommerce-checkout ul.thwmscf-tabs li.thwmscf-tab .thwmscf-tab-icon {
    position: static !important;
    transform: none !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    margin: 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    line-height: 1 !important;
    z-index: 1 !important;
  }
}

@media (max-width: 380px) {
  body.dvt-site.woocommerce-checkout ul.thwmscf-tabs {
    width: min(100% - 24px, 520px) !important;
    gap: 4px !important;
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  body.dvt-site.woocommerce-checkout ul.thwmscf-tabs li.thwmscf-tab .thwmscf-tab-label {
    font-size: 10px !important;
    line-height: 1.05 !important;
  }
}

/* ==========================================================
   Mobile homepage category heading
   Restores the section title after mystery packages on phones.
   ========================================================== */

@media (max-width: 760px) {
  html body.dvt-site.home .dvt-home-main .dvt-home-categories > .dvt-home-section-heading {
    display: block !important;
    margin-bottom: 14px !important;
    text-align: center !important;
  }

  html body.dvt-site.home .dvt-home-categories > .dvt-home-section-heading .dvt-eyebrow {
    display: none !important;
  }

  html body.dvt-site.home .dvt-home-categories > .dvt-home-section-heading h2 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(26px, 9vw, 36px) !important;
    line-height: 0.96 !important;
    font-weight: 950 !important;
    letter-spacing: -0.05em !important;
    text-transform: uppercase !important;
  }

  html body.dvt-site.home .dvt-home-categories > .dvt-home-section-heading h2 em {
    display: block !important;
    color: var(--dvt-purple-3) !important;
    font-style: normal !important;
  }

  html body.dvt-site.home .dvt-home-categories > .dvt-home-section-heading p {
    display: none !important;
  }
}
