/* VEETA — Custom Cart, integrated from the former WPCode snippet. */
.cc-component { position: relative; font-family: inherit; }
.cc-loader-overlay { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.6); backdrop-filter: blur(2px); }
.cc-loader-overlay[hidden] { display: none !important; }
.cc-loader-spinner { width: 46px; height: 46px; border: 4px solid #f0e0cc; border-top-color: #c8822a; border-radius: 50%; animation: cc-spin .7s linear infinite; }
@keyframes cc-spin { to { transform: rotate(360deg); } }
.cc-wrap { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 80px; align-items: flex-start; }
.cc-item { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 20px; align-items: flex-start; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #eee; transition: opacity .3s; }
.cc-item.removing { opacity: .35; pointer-events: none; }
.cc-item-img img { display: block; width: 100%; height: auto; aspect-ratio: 1/1; object-fit: contain; }
.cc-item-info { min-width: 0; }
.cc-item-name { margin: 0 0 20px; color: #000; font-size: 21px; font-weight: 700; line-height: 1.25; text-transform: uppercase; }
.cc-item-category { font: inherit; }
.cc-item-short-desc { margin: 0 0 8px; color: #444; font-size: 14px; }
.cc-item-acf-capsule { margin: 0 0 8px; color: #7fc9ca; font-size: 12px; font-weight: 500; }
.cc-item-sub { margin: 0 0 6px; color: #c8822a; font-size: 13px; font-weight: 500; }
.cc-item-sub p,.cc-item-sub dl,.cc-item-sub dd,.cc-item-sub dt { margin: 0; }
.cc-item-price { margin: 15px 0 8px; color: #1a1a1a; font-size: 15px; font-weight: 600; }
.cc-item-price .woocommerce-Price-amount { font-size: inherit; }
.cc-remove,.cc-remove-coupon { appearance: none; padding: 0; border: 0; background: none; font: inherit; cursor: pointer; }
.cc-remove { color: #c8822a; font-size: 13px; text-decoration: none; }
.cc-remove:hover,.cc-remove:focus-visible { text-decoration: underline; }
.cc-delivery { margin-top: 12px; font-size: 14px; }
.cc-delivery-label { display: block; margin-bottom: 2px; color: #555; }
.cc-delivery-dates { display: block; color: #c8822a; font-size: 15px; font-weight: 600; }
.cc-refunds { display: inline-block; margin-top: 12px; color: #7fc9ca; font-size: 13px; text-decoration: none; }
.cc-refunds:hover,.cc-refunds:focus-visible { color: #914d1f; text-decoration: underline; }
.cc-right { min-width: 0; }
.cc-coupon-box { padding: 20px 30px; margin-bottom: 20px; background-color: rgba(227,161,101,.1); }
.cc-coupon-label { display: block; margin: 0 0 12px; color: #1a1a1a; font-size: 14px; }
.cc-coupon-input { width: 100%; box-sizing: border-box; padding: 12px 16px; margin-bottom: 12px; border: 1.5px solid #e8ddd0; border-radius: 10px; outline: none; background: #fff; color: #555; font-size: 14px; }
.cc-coupon-input:focus { border-color: #c8822a; }
.cc-coupon-input::placeholder { color: #c0b8b0; }
.cc-coupon-action-row { display: flex; align-items: center; gap: 10px; }
.cc-coupon-apply { flex: 1; padding: 15px 20px; border: 1.5px solid #e3a165; border-radius: 50px; background: transparent; color: #e3a165; font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: background-color .2s,color .2s,opacity .2s; }
.cc-coupon-apply:hover,.cc-coupon-apply:focus-visible { background: #e3a165; color: #fff; }
.cc-coupon-apply:disabled,.cc-coupon-clear:disabled { opacity: .55; cursor: wait; }
.cc-coupon-clear { flex: 0 0 45px; display: flex; align-items: center; justify-content: center; width: 45px; height: 45px; padding: 0; border: 1.5px solid #e3a165; border-radius: 50%; background: transparent; color: #e3a165; cursor: pointer; transition: background-color .2s,color .2s,opacity .2s; }
.cc-coupon-clear:hover,.cc-coupon-clear:focus-visible { background: #e3a165; color: #fff; }
.cc-coupon-clear svg { display: block; width: 18px; height: 18px; }
.cc-coupon-msg { min-height: 18px; margin-top: 8px; font-size: 13px; }
.cc-coupon-msg.success { color: #2e7d32; }.cc-coupon-msg.error { color: #c62828; }
.cc-applied-coupons { display: grid; gap: 6px; margin-top: 8px; }
.cc-applied-coupon { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 5px 10px; border-radius: 4px; background: #f0fdf4; color: #2e7d32; font-size: 13px; }
.cc-remove-coupon { flex: 0 0 auto; color: #777; font-size: 14px; line-height: 1; }
.cc-remove-coupon:hover,.cc-remove-coupon:focus-visible { color: #e53935; }
.cc-totals { margin-bottom: 20px; }
.cc-totals-title { margin: 0 0 12px; padding-bottom: 8px; color: #1a1a1a; font-size: 14px; font-weight: 700; }
.cc-totals-row { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 8px; color: #444; font-size: 14px; }
.cc-totals-row > :last-child { text-align: right; }
.cc-discount,.cc-free-shipping { color: #2e7d32; }
.cc-total-final { padding-top: 12px; margin-top: 24px; color: #1a1a1a; font-size: 17px; font-weight: 700; }
.cc-total-final .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; }
.cc-actions { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.cc-btn-checkout { display: block; padding: 13px; border-radius: 8px; background: #c8822a; color: #fff !important; font-size: 15px; font-weight: 600; text-align: center; text-decoration: none; transition: background-color .2s; }
.cc-btn-checkout:hover,.cc-btn-checkout:focus-visible { background: #b0711f; }
.cc-payment-methods { padding: 35px 16px 0; border-radius: 10px; }
.cc-pm-title { margin: 0 0 12px; color: #555; font-size: 12px; font-weight: 600; }
.wo-cc-pm img { display: block; width: 100%; height: auto; }
.cc-empty { padding: 40px 0; color: #777; font-size: 15px; text-align: center; }
.cc-empty-shop-link { display: inline-block; margin-top: 16px; }
@media (max-width:1024px) { .cc-wrap { grid-template-columns:minmax(0,1fr) 340px; gap:40px; } }
@media (max-width:767px) { .cc-wrap { grid-template-columns:1fr; gap:40px; }.cc-item { grid-template-columns:110px minmax(0,1fr); gap:16px; }.cc-item-name { margin-bottom:12px; font-size:18px; }.cc-coupon-box { padding:20px; } }
@media (max-width:420px) { .cc-item { grid-template-columns:90px minmax(0,1fr); }.cc-coupon-action-row { align-items:stretch; }.cc-coupon-apply { white-space:normal; } }
@media (prefers-reduced-motion:reduce) { .cc-loader-spinner { animation-duration:1.4s; }.cc-item,.cc-coupon-apply,.cc-coupon-clear,.cc-btn-checkout { transition:none; } }
