.elementor-829 .elementor-element.elementor-element-58bb62f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--margin-top:-80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:150px;--padding-bottom:150px;--padding-left:0px;--padding-right:0px;}.elementor-829 .elementor-element.elementor-element-58bb62f:not(.elementor-motion-effects-element-type-background), .elementor-829 .elementor-element.elementor-element-58bb62f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF0F3;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-829 .elementor-element.elementor-element-2c1397f{text-align:center;}.elementor-829 .elementor-element.elementor-element-2c1397f .elementor-heading-title{font-family:"Prompt", Sans-serif;font-size:50px;font-weight:900;color:#CA2132;}.elementor-829 .elementor-element.elementor-element-3ec174c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-829 .elementor-element.elementor-element-fe3134e{--cols:2;width:100%;max-width:100%;}.elementor-829 .elementor-element.elementor-element-fe3134e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-829 .elementor-element.elementor-element-fe3134e .clear-cart .button-text:last-child{margin-left:7px;}.elementor-829 .elementor-element.elementor-element-fe3134e .clear-cart .button-text:first-child{margin-right:7px;}.elementor-829 .elementor-element.elementor-element-fe3134e .clear-cart{font-family:"Prompt", Sans-serif;font-size:13px;font-weight:400;border-radius:999px 999px 999px 999px;}.elementor-829 .elementor-element.elementor-element-fe3134e .cart_totals .order-total .amount{fill:#CA2132;color:#CA2132;}.elementor-829 .elementor-element.elementor-element-fe3134e .cart_totals .cart-totals-title{text-align:left;}.elementor-829 .elementor-element.elementor-element-fe3134e .cart_totals .widget-title{font-family:"Prompt", Sans-serif;font-size:20px;font-weight:800;text-transform:uppercase;}.elementor-829 .elementor-element.elementor-element-fe3134e .cart_totals_additional{font-family:"Prompt", Sans-serif;font-size:12px;fill:#A7A7A7;color:#A7A7A7;}.elementor-829 .elementor-element.elementor-element-fe3134e .cart_totals_additional:first-child{margin-bottom:30px;}.elementor-829 .elementor-element.elementor-element-fe3134e .cart_totals_additional:last-child{margin-top:30px;}@media(min-width:768px){.elementor-829 .elementor-element.elementor-element-3ec174c{--width:1280px;}}/* Start custom CSS for woocommerce-cart-etheme_page, class: .elementor-element-fe3134e *//* ===================================================
   CART – VITERA x ETHEME (fe3134e)
   =================================================== */

.elementor-element-fe3134e {
  --rose: #CA2132;
  --rose-soft: #FDE2E7;
}

/* ===================================================
   LAYOUT / WRAPPER
   =================================================== */

.elementor-element-fe3134e
.etheme-elementor-cart-page-table,
.elementor-element-fe3134e
.etheme-elementor-cart-page-totals-inner {
  background: #fff;
  border-radius: 40px;
  padding: 32px;
  border: 1px solid var(--rose-soft);
}

/* ซ่อน table header (UX แบบ Card) */
.elementor-element-fe3134e table thead {
  display: none;
}

/* ===================================================
   CART ITEMS
   =================================================== */

.elementor-element-fe3134e tr.cart_item {
  border-bottom: 1px solid var(--rose-soft);
  padding-bottom: 28px;
}

/* Product image */
.elementor-element-fe3134e .product-thumbnail img {
  border-radius: 20px;
  background: #FFF1F2;
  border: 1px solid var(--rose-soft);
}

/* Product title */
.elementor-element-fe3134e .product-title {
  font-size: 20px;
  font-weight: 900;
  color: #111827;
}

/* Remove link */
.elementor-element-fe3134e .product-remove a {
  font-weight: 700;
  color: #9CA3AF;
  transition: color .2s ease;
}

.elementor-element-fe3134e .product-remove a:hover {
  color: #DC2626;
}

/* ===================================================
   CART ACTIONS (COUPON / CLEAR CART)
   =================================================== */

.etheme-elementor-cart-checkout-page-wrapper .actions {
  border: none;
}/* ===================================================
   COUPON – OK BUTTON (FINAL FIX)
   =================================================== */

/* wrapper ให้ input + button สูงเท่ากัน */
.elementor-element-fe3134e .coupon {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* coupon input */
.elementor-element-fe3134e .coupon input[type="text"] {
  height: 40px;
  border-radius: 999px;
  padding: 0 16px;
}

/* OK button */
.elementor-element-fe3134e 
.coupon input[type="submit"].btn {
  height: 40px !important;
  min-width: 48px;
  padding: 0 16px !important;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #fff !important;
  color: #CA2132 !important;
  border: 1.5px solid #f3c7cf !important;
  border-radius: 999px !important;

  font-weight: 900 !important;
  font-size: .75rem !important;
  letter-spacing: .12em;
  text-transform: uppercase;

  line-height: 1;
  box-shadow: none !important;
  cursor: pointer;

  transition: all .2s ease;
}

/* Hover */
.elementor-element-fe3134e 
.coupon input[type="submit"].btn:hover {
  background: #fff1f2 !important;
  border-color: #f3aeb9 !important;
  color: #a91b29 !important;
  transform: translateY(-1px);
}

/* Active */
.elementor-element-fe3134e 
.coupon input[type="submit"].btn:active {
  transform: translateY(0);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.08);
}


/* ----- Clear cart ----- */

.elementor-element-fe3134e .clear-cart {
  background: #fff;
  border: 1px solid #f1d0d6;
  border-radius: 999px;
  padding: .6rem 1.2rem;
  font-weight: 700;
  color: #9ca3af;
  display: flex;
  align-items: center;
  gap: .4rem;
  transition: all .25s ease;
}

.elementor-element-fe3134e .clear-cart:hover {
  background: #fff1f2;
  color: var(--rose);
  border-color: #f3aeb9;
}

/* ซ่อน update cart (ใช้ auto update) */
.elementor-element-fe3134e button[name="update_cart"] {
  display: none !important;
}

/* ===================================================
   CART TOTALS / CTA
   =================================================== */

/* Sticky totals */
.elementor-element-fe3134e
.etheme-elementor-cart-page-totals-inner {
  position: sticky;
  top: 120px;
  z-index: 10;
}

/* Checkout CTA */
.elementor-element-fe3134e .checkout-button {
  background: var(--rose) !important;
  border-radius: 24px !important;
  padding: 20px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  animation: ctaPulse 2.5s ease-in-out infinite;
  transform-origin: center;
}

/* Pulse animation */
@keyframes ctaPulse {
  0%   { transform: scale(1); box-shadow: 0 0 0 rgba(202,33,50,0); }
  50%  { transform: scale(1.04); box-shadow: 0 15px 40px rgba(202,33,50,.35); }
  100% { transform: scale(1); box-shadow: 0 0 0 rgba(202,33,50,0); }
}

.elementor-element-fe3134e .checkout-button:hover {
  animation: none;
  transform: scale(1.07);
}

/* ===================================================
   MOBILE
   =================================================== */

@media (max-width: 768px) {
  .elementor-element-fe3134e .actions {
    flex-direction: column;
    align-items: stretch;
    gap: 1.2rem;
  }

  .elementor-element-fe3134e .coupon {
    width: 100%;
  }

  .elementor-element-fe3134e .coupon input[type="text"] {
    flex: 1;
    min-width: 0;
  }

  .elementor-element-fe3134e .actions-buttons {
    display: flex;
    justify-content: center;
  }
}

.etheme-elementor-cart-checkout-page-wrapper .actions {
    display: grid;
    align-content: center;
    grid-gap: 15px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: center;
}

/* ===================================================
   FONT – PROMPT (CART ONLY)
   =================================================== */

.elementor-element-fe3134e,
.elementor-element-fe3134e * {
  font-family: 'Prompt'
}

/* ===================================================
   QTY CONTROL – VITERA STYLE
   =================================================== */

/* wrapper */
.elementor-element-fe3134e 
.quantity-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* input number */
.elementor-element-fe3134e 
.quantity input.qty {
  width: 42px;
  height: 36px;
  border-radius: 999px;
  border: 1.5px solid #f3c7cf;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  color: #111827;
  background: #fff;
  padding: 0;
}

/* remove native arrows */
.elementor-element-fe3134e 
.quantity input.qty::-webkit-inner-spin-button,
.elementor-element-fe3134e 
.quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* + / - buttons */
.elementor-element-fe3134e 
.quantity .plus,
.elementor-element-fe3134e 
.quantity .minus {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1.5px solid #f3c7cf;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .2s ease;
}

/* icon inside */
.elementor-element-fe3134e 
.quantity .plus svg,
.elementor-element-fe3134e 
.quantity .minus svg {
  width: 12px;
  height: 12px;
  fill: #ca2132;
}

/* hover */
.elementor-element-fe3134e 
.quantity .plus:hover,
.elementor-element-fe3134e 
.quantity .minus:hover {
  background: #fff1f2;
  border-color: #f3aeb9;
  transform: translateY(-1px);
}

/* active */
.elementor-element-fe3134e 
.quantity .plus:active,
.elementor-element-fe3134e 
.quantity .minus:active {
  transform: translateY(0);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.08);
}


.elementor-829 .elementor-element.elementor-element-fe3134e .cart_totals .order-total .amount {
    font-weight: 800;
    font-size: 30px;
}

.shop_table .amount {
    font-size: 18px;
    font-weight: 800;
    color: #ca2132;
}/* End custom CSS */