/* Heal Lab Cart. Drawer rules stay inside .hlc-root; full-cart rules require .hlc-cart-page. */
.hlc-root { --hlc-accent:#0965ef; --hlc-hover:#0755cc; --hlc-ink:#172235; --hlc-muted:#6a7281; --hlc-line:#e2eaf7; --hlc-green:#078345; font-family:"Poppins",Arial,sans-serif; color:var(--hlc-ink); font-size:13px; line-height:1.5; }
.hlc-root *, .hlc-root *::before, .hlc-root *::after { box-sizing:border-box; }
.hlc-root [hidden] { display:none !important; }
.hlc-root button, .hlc-root input { font:inherit; letter-spacing:normal; text-transform:none; box-shadow:none; }
.hlc-root button, .hlc-root a { -webkit-tap-highlight-color:transparent; }
.hlc-root button { cursor:pointer; }
.hlc-root button:disabled { cursor:default; opacity:.4; }
.hlc-root a { color:inherit; text-decoration:none; }
.hlc-root svg { width:20px; height:20px; flex-shrink:0; }
.hlc-root :where(a,button,input,summary):focus-visible { outline:2px solid #0965ef; outline-offset:3px; }
.hlc-cart-open { overflow:hidden; }
.hlc-root .hlc-drawer { position:fixed; inset:0 0 0 auto; margin:0; padding:0; width:min(448px,100vw); max-width:100vw; height:100vh; height:100dvh; max-height:none; border:0; background:#fff; color:var(--hlc-ink); overflow:hidden; box-shadow:-20px 0 80px #101b3024; display:none; font:inherit; }
.hlc-root .hlc-drawer[open] { display:flex; flex-direction:column; }
.hlc-root .hlc-drawer::backdrop { background:rgba(10,16,27,.52); }
.hlc-root .hlc-header { display:grid; grid-template-columns:32px 1fr 32px; align-items:center; flex-shrink:0; min-height:54px; padding:9px 15px; border-bottom:1px solid var(--hlc-line); }
.hlc-root .hlc-header h2 { display:flex; align-items:center; justify-content:center; gap:8px; margin:0; padding:0; font-family:inherit; font-size:10px; font-weight:600; line-height:1.4; letter-spacing:.16em; text-transform:uppercase; color:var(--hlc-ink); }
.hlc-root .hlc-count { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 5px; border-radius:50px; background:#edf4ff; font-size:10px; letter-spacing:0; color:#174e9a; }
.hlc-root .hlc-icon { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; padding:8px; margin:0; border:0; border-radius:50%; background:transparent; color:var(--hlc-muted); line-height:1; }
.hlc-root .hlc-icon:hover { color:var(--hlc-ink); background:#f3f6fa; }
.hlc-root .hlc-icon svg { width:18px; height:18px; }
.hlc-root .hlc-content { display:flex; flex-direction:column; flex:1; min-height:0; }
.hlc-root .hlc-items { flex:1 1 auto; min-height:100px; overflow-y:auto; overscroll-behavior:contain; padding:0 20px; scrollbar-width:thin; }
.hlc-root .hlc-item { position:relative; display:grid; grid-template-columns:80px minmax(0,1fr) 24px; column-gap:15px; padding:17px 0; border-bottom:1px solid var(--hlc-line); }
.hlc-root .hlc-thumb { grid-row:1 / 3; width:80px; height:80px; border-radius:15px; background:#f1f5fb; overflow:hidden; }
.hlc-root .hlc-thumb a { display:block; width:100%; height:100%; }
.hlc-root .hlc-thumb img { display:block; width:100%; height:100%; max-height:100%; padding:5px; object-fit:contain; object-position:center; border:0; border-radius:0; margin:0; box-shadow:none; }
.hlc-root .hlc-item-info { min-width:0; }
.hlc-root .hlc-item h3 { font-family:inherit; font-size:15px; line-height:1.4; font-weight:600; color:var(--hlc-ink); letter-spacing:-.02em; margin:0 0 4px; padding:0 20px 0 0; overflow-wrap:anywhere; }
.hlc-root .hlc-item h3 a:hover { color:var(--hlc-hover); }
.hlc-root .hlc-meta { color:var(--hlc-muted); font-size:10px; line-height:1.45; margin:0 0 10px; }
.hlc-root .hlc-meta dl { margin:0; padding:0; display:flex; flex-wrap:wrap; gap:3px; }
.hlc-root .hlc-meta dt, .hlc-root .hlc-meta dd, .hlc-root .hlc-meta p { margin:0; padding:0; font:inherit; float:none; }
.hlc-root .hlc-meta dd:not(:last-child) { margin-right:5px; }
.hlc-root .hlc-quantity { display:inline-flex; height:35px; max-width:112px; align-items:center; border:1px solid #dce1e9; border-radius:30px; overflow:hidden; background:#fff; }
.hlc-root .hlc-quantity button { display:grid; place-items:center; width:32px; height:33px; min-width:28px; border:0; margin:0; padding:0; background:transparent; color:var(--hlc-ink); border-radius:0; font-size:15px; }
.hlc-root .hlc-quantity button:hover:not(:disabled) { background:#edf4ff; }
.hlc-root .hlc-quantity input { appearance:textfield; -moz-appearance:textfield; width:38px; height:33px; min-height:0; padding:0; margin:0; border:0; background:transparent; text-align:center; color:var(--hlc-ink); border-radius:0; font-size:12px; }
.hlc-root .hlc-quantity input::-webkit-inner-spin-button, .hlc-root .hlc-quantity input::-webkit-outer-spin-button { appearance:none; margin:0; }
.hlc-root .hlc-single-qty { font-size:11px; color:var(--hlc-muted); }
.hlc-root .hlc-remove { width:24px; height:24px; padding:4px; }
.hlc-root .hlc-remove svg { width:16px; height:16px; }
.hlc-root .hlc-item-price { grid-column:2 / 4; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; margin-top:12px; font-size:14px; font-variant-numeric:tabular-nums; }
.hlc-root .hlc-item-price del { font-size:11px; color:#8b919b; }
.hlc-root .hlc-item-price strong { color:var(--hlc-green); font-family:"Anek Telugu","Poppins",Arial,sans-serif; font-size:18px; line-height:1.2; font-weight:700; }
.hlc-root .hlc-footer { flex:0 1 auto; max-height:65vh; max-height:65dvh; overflow-y:auto; overscroll-behavior:contain; padding:0 20px calc(16px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--hlc-line); background:#fff; box-shadow:0 -8px 24px #17223505; scrollbar-width:thin; }
.hlc-root .hlc-coupons { border-bottom:1px solid var(--hlc-line); }
.hlc-root .hlc-coupon-row { display:flex; flex-wrap:wrap; align-items:center; gap:7px; padding:13px 0 5px; font-size:10px; }
.hlc-root .hlc-coupon-row > svg { width:15px; height:15px; color:var(--hlc-green); }
.hlc-root .hlc-coupon-row strong { text-transform:uppercase; letter-spacing:.05em; }
.hlc-root .hlc-coupon-row > span { display:inline-flex; align-items:center; gap:2px; color:var(--hlc-green); }
.hlc-root .hlc-coupon-row > span svg { width:12px; height:12px; }
.hlc-root .hlc-text-btn { padding:0; margin:0; border:0; background:none; color:var(--hlc-muted); font-size:inherit; line-height:inherit; text-decoration:underline; text-underline-offset:3px; border-radius:0; }
.hlc-root .hlc-text-btn:hover { color:var(--hlc-ink); background:none; }
.hlc-root .hlc-coupon-row .hlc-text-btn { margin-left:auto; }
.hlc-root .hlc-code summary { display:flex; align-items:center; justify-content:space-between; list-style:none; cursor:pointer; padding:12px 0; color:var(--hlc-muted); font-size:11px; }
.hlc-root .hlc-code summary::-webkit-details-marker { display:none; }
.hlc-root .hlc-code summary span { font-size:17px; }
.hlc-root .hlc-coupon-form { display:flex; gap:8px; padding:0 0 13px; margin:0; }
.hlc-root .hlc-coupon-form input { flex:1; min-width:0; height:40px; border:1px solid #dce1e9; border-radius:8px; padding:0 11px; background:#fff; color:var(--hlc-ink); font-size:12px; }
.hlc-root .hlc-coupon-form button { height:40px; padding:0 17px; margin:0; border:1px solid var(--hlc-accent); border-radius:8px; background:var(--hlc-accent); color:#fff; font-size:11px; font-weight:600; }
.hlc-root .hlc-shipping { padding:13px 0; border-bottom:1px solid var(--hlc-line); }
.hlc-root .hlc-progress { height:4px; border-radius:10px; overflow:hidden; background:#edf0f3; }
.hlc-root .hlc-progress span { display:block; height:100%; border-radius:inherit; background:#22a858; }
.hlc-root .hlc-shipping p { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:7px 0 0; font-size:10px; color:var(--hlc-muted); }
.hlc-root .hlc-shipping p strong { color:var(--hlc-ink); font-size:10px; font-weight:600; }
.hlc-root .hlc-shipping p svg { width:14px; height:14px; color:var(--hlc-green); }
.hlc-root .hlc-shipping small { display:block; color:var(--hlc-muted); margin-top:5px; font-size:9px; }
.hlc-root .hlc-totals { padding:15px 0 12px; font-variant-numeric:tabular-nums; }
.hlc-root .hlc-totals > div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 0 7px; font-size:12px; }
.hlc-root .hlc-totals > div strong { font-weight:600; }
.hlc-root .hlc-totals > .hlc-saving { color:var(--hlc-green); font-size:11px; }
.hlc-root .hlc-totals > .hlc-total { margin-top:12px; padding-top:12px; border-top:1px solid var(--hlc-line); font-size:13px; }
.hlc-root .hlc-total strong { font-size:18px; letter-spacing:-.03em; }
.hlc-root .hlc-primary { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:48px; margin:0; padding:12px 16px; border:1px solid var(--hlc-accent); border-radius:999px; background:var(--hlc-accent); color:#fff; font-size:13px; line-height:1.4; font-weight:600; text-decoration:none; transition:background .18s ease,box-shadow .18s ease; }
.hlc-root .hlc-primary:hover { background:var(--hlc-hover); border-color:var(--hlc-hover); color:#fff; box-shadow:0 6px 18px #0965ef20; }
.hlc-root .hlc-primary svg { width:18px; height:18px; }
.hlc-root .hlc-primary[aria-disabled="true"] { pointer-events:none; opacity:.6; }
.hlc-root .hlc-secondary { display:flex; align-items:center; justify-content:center; gap:11px; padding:16px 0 0; font-size:11px; color:var(--hlc-muted); }
.hlc-root .hlc-secondary a, .hlc-root .hlc-secondary button { font-weight:500; text-decoration:none; }
.hlc-root .hlc-secondary a:hover, .hlc-root .hlc-secondary button:hover { color:var(--hlc-hover); }
.hlc-root .hlc-fine { margin:8px 0 0; text-align:center; color:var(--hlc-muted); font-size:9px; line-height:1.5; }
.hlc-root .hlc-alert { flex-shrink:0; margin:0; padding:10px 20px; background:#eff9f2; color:#176b36; font-size:11px; overflow-wrap:anywhere; }
.hlc-root .hlc-alert.is-error { color:#a91d33; background:#fff1f3; }
.hlc-root .hlc-loading { display:grid; flex:1; place-items:center; padding:40px 20px; color:var(--hlc-muted); }
.hlc-root .hlc-empty { display:flex; flex:1; align-items:center; justify-content:center; flex-direction:column; padding:40px 30px; text-align:center; }
.hlc-root .hlc-empty > svg { width:44px; height:44px; color:#a3b4cc; margin-bottom:20px; }
.hlc-root .hlc-empty h3 { font-family:inherit; font-size:22px; line-height:1.3; font-weight:600; letter-spacing:-.04em; margin:0 0 10px; }
.hlc-root .hlc-empty p { color:var(--hlc-muted); margin:0 0 28px; font-size:12px; }
.hlc-root .hlc-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hlc-root.hlc-bag { position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:9px; border:0; border-radius:50%; color:var(--hlc-accent); background:transparent; text-decoration:none; }
.hlc-root.hlc-bag:hover { background:#edf4ff; }
.hlc-root .hlc-bag-count, .hlc-header-count { position:absolute; top:-1px; right:-2px; min-width:16px; height:16px; padding:1px 4px; display:inline-flex; align-items:center; justify-content:center; border-radius:30px; background:#101b30; color:#fff; font:600 9px/1 Arial,sans-serif; }
.hlc-header-count[hidden] { display:none; }
.hlc-header-trigger { position:relative; }
.hlc-adding { opacity:.65; cursor:progress !important; }
.hlc-root .hlc-float { position:fixed; right:22px; bottom:22px; z-index:99; border:1px solid #e2e8f0; border-radius:50%; background:#fff; box-shadow:0 6px 24px #101b301f; }

/* Existing native Cart block and classic WooCommerce cart. Checkout is outside this scope. */
.hlc-cart-page .site-main { width:100%; max-width:1200px; margin-inline:auto; padding:42px 24px 70px; }
.hlc-cart-page .page-header { padding:0; }
.hlc-cart-page .entry-title { margin:0 0 30px; color:#101b30; font-family:var(--e-global-typography-primary-font-family,"Poppins"),Arial,sans-serif; font-weight:600; font-size:clamp(28px,4vw,38px); line-height:1.2; letter-spacing:-.04em; }
.hlc-cart-page :where(.wp-block-woocommerce-cart,.woocommerce-cart-form,.cart-collaterals) { font-family:var(--e-global-typography-text-font-family,"Poppins"),Arial,sans-serif; color:#172235; font-size:13px; line-height:1.6; }
.hlc-cart-page .wc-block-cart { margin-bottom:0; }
.hlc-cart-page .wc-block-cart__main { padding-right:0; }
.hlc-cart-page .wc-block-cart__sidebar { align-self:flex-start; padding:22px; background:#fafbfe; border:1px solid #e7ecf3; border-radius:18px; }
.hlc-cart-page .wc-block-cart-items { border:0; }
.hlc-cart-page .wc-block-cart-items__header th { padding-bottom:15px; font-size:10px; font-weight:500; letter-spacing:.1em; color:#6a7281; }
.hlc-cart-page .wc-block-cart-items__row td { padding-top:22px; padding-bottom:22px; border-top:1px solid #e8ebf0; vertical-align:top; }
.hlc-cart-page .wc-block-cart-item__image { width:108px; padding-right:18px; }
.hlc-cart-page .wc-block-cart-item__image img { display:block; width:90px; height:90px; padding:7px; aspect-ratio:1; object-fit:contain; background:#f1f5fb; border-radius:15px; }
.hlc-cart-page .wc-block-components-product-name { color:#172235; font-size:16px; font-weight:600; text-decoration:none; }
.hlc-cart-page .wc-block-components-product-name:hover { color:var(--hlc-hover,#0965ef); }
.hlc-cart-page .wc-block-components-product-metadata { color:#6a7281; font-size:11px; line-height:1.7; }
.hlc-cart-page .wc-block-components-product-price { color:#172235; font-size:13px; }
.hlc-cart-page .wc-block-components-product-price__regular { color:#838b97; font-size:11px; }
.hlc-cart-page .wc-block-components-product-price__value.is-discounted { color:#168641; font-weight:600; }
.hlc-cart-page .wc-block-components-product-badge { color:#168641; background:#edf8f0; border:0; border-radius:30px; padding:2px 7px; font-size:10px; }
.hlc-cart-page .wc-block-components-quantity-selector { border:1px solid #dce1e9; border-radius:30px; background:#fff; min-height:36px; }
.hlc-cart-page .wc-block-components-quantity-selector input { font-size:12px; background:transparent; color:#172235; box-shadow:none; border:0; }
.hlc-cart-page .wc-block-components-quantity-selector button { color:#172235; background:transparent; border:0; box-shadow:none; border-radius:30px; }
.hlc-cart-page .wc-block-cart-item__remove-link { color:#6a7281; font-size:10px; text-underline-offset:3px; }
.hlc-cart-page .wc-block-cart__totals-title { padding:0 0 16px; margin:0; color:#172235; font-size:11px; font-weight:600; letter-spacing:.1em; }
.hlc-cart-page .wc-block-components-totals-wrapper { border-color:#e5e9f0; }
.hlc-cart-page .wc-block-components-totals-item { font-size:13px; }
.hlc-cart-page .wc-block-components-totals-footer-item { font-size:16px; font-weight:600; }
.hlc-cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color:#101b30; font-size:20px; }
.hlc-cart-page .wc-block-cart__submit-container { padding:14px 0 0; background:transparent; }
.hlc-cart-page .wc-block-cart__submit-button, .hlc-cart-page .wc-proceed-to-checkout a.checkout-button { display:flex; align-items:center; justify-content:center; min-height:48px; padding:13px 20px; border:1px solid var(--hlc-accent,#101b30); border-radius:999px; background:var(--hlc-accent,#101b30); color:#fff; font-family:inherit; font-size:13px; font-weight:600; line-height:1.5; text-decoration:none; box-shadow:none; transition:background .18s ease,box-shadow .18s ease; }
.hlc-cart-page .wc-block-cart__submit-button:hover, .hlc-cart-page .wc-proceed-to-checkout a.checkout-button:hover { background:var(--hlc-hover,#0965ef); border-color:var(--hlc-hover,#0965ef); color:#fff; box-shadow:0 6px 18px #0965ef20; }
.hlc-cart-page .wc-block-cart__submit-button .wc-block-components-button__text { color:inherit; text-decoration:none; }
.hlc-cart-page .wc-block-components-totals-coupon__form input { border:1px solid #dce1e9; border-radius:8px; box-shadow:none; }
.hlc-cart-page .wc-block-components-totals-coupon__button { color:#fff; background:var(--hlc-accent,#101b30); border:0; border-radius:8px; }
.hlc-cart-page :where(.wp-block-woocommerce-cart,.woocommerce-cart-form,.cart-collaterals) :where(a,button,input):focus-visible { outline:2px solid #0965ef; outline-offset:3px; }
.hlc-cart-page .woocommerce-cart-form table.shop_table { width:100%; border:0; border-collapse:collapse; }
.hlc-cart-page .woocommerce-cart-form table.shop_table th { padding:14px 12px; border:0; font-size:10px; color:#6a7281; letter-spacing:.08em; text-transform:uppercase; }
.hlc-cart-page .woocommerce-cart-form table.shop_table td { padding:20px 12px; border:0; border-top:1px solid #e8ebf0; }
.hlc-cart-page .woocommerce-cart-form .product-thumbnail img { width:90px; height:90px; padding:7px; background:#f1f5fb; object-fit:contain; border-radius:15px; }
.hlc-cart-page .woocommerce-cart-form .product-name a { color:#172235; font-size:15px; font-weight:600; text-decoration:none; }
.hlc-cart-page .woocommerce-cart-form .quantity input { width:68px; min-height:36px; border:1px solid #dce1e9; border-radius:25px; background:#fff; text-align:center; }
.hlc-cart-page .woocommerce-cart-form button.button { background:var(--hlc-accent,#101b30); color:#fff; border:0; border-radius:25px; padding:10px 18px; font-family:inherit; font-size:12px; line-height:1.5; font-weight:500; }
.hlc-cart-page .cart-collaterals .cart_totals { background:#fafbfe; border:1px solid #e7ecf3; border-radius:18px; padding:22px; }
.hlc-cart-page .cart-collaterals .cart_totals h2 { font-family:inherit; font-size:20px; line-height:1.4; font-weight:600; letter-spacing:-.02em; margin:0 0 20px; }
.hlc-cart-page .cart-collaterals .cart_totals table { border:0; font-size:13px; }
.hlc-cart-page .cart-collaterals .cart_totals th, .hlc-cart-page .cart-collaterals .cart_totals td { border:0; border-top:1px solid #e5e9f0; padding:12px 0; }
@media (min-width:992px) {
  .hlc-cart-page .wc-block-cart.wc-block-components-sidebar-layout { gap:40px; flex-wrap:nowrap; }
  .hlc-cart-page .wc-block-cart .wc-block-cart__main { flex:1; width:0; min-width:0; margin:0; }
  .hlc-cart-page .wc-block-cart .wc-block-cart__sidebar { flex:0 0 340px; width:340px; margin:0; }
}
@media (max-width:767px) {
  .hlc-cart-page .site-main { padding:28px 18px 45px; }
  .hlc-cart-page .wc-block-cart__sidebar { width:100%; margin-top:24px; padding:18px; }
  .hlc-cart-page .wc-block-cart-item__image img { width:72px; height:72px; }
  .hlc-cart-page .wc-block-cart-item__image { width:86px; padding-right:14px; }
  .hlc-cart-page .wc-block-components-product-name { font-size:14px; }
  .hlc-cart-page .cart-collaterals .cart_totals { float:none; width:100%; }
}
@media (max-width:360px) {
  .hlc-root .hlc-items { padding-inline:15px; }
  .hlc-root .hlc-footer { padding-inline:15px; }
  .hlc-root .hlc-item { grid-template-columns:66px minmax(0,1fr) 22px; gap:10px; }
  .hlc-root .hlc-thumb { width:66px; height:74px; }
  .hlc-root .hlc-item h3 { font-size:14px; padding-right:0; }
}
@media (prefers-reduced-motion:no-preference) {
  .hlc-root .hlc-drawer[open] { animation:hlc-slide .22s cubic-bezier(.2,.7,.2,1); }
  @keyframes hlc-slide { from { transform:translateX(100%); } to { transform:translateX(0); } }
}
@media (prefers-reduced-motion:reduce) {
  .hlc-root .hlc-primary, .hlc-cart-page .wc-block-cart__submit-button { transition:none; }
}
