/* Fruitstore - WooCommerce overrides (design-system aligned) */
.woocommerce .products-grid, .products-grid { display:grid; gap:16px; grid-template-columns:repeat(2,1fr); }
@media(min-width:768px){ .products-grid{ grid-template-columns:repeat(4,1fr);} }
@media(min-width:1024px){ .products-grid{ grid-template-columns:repeat(6,1fr);} }
.woocommerce ul.products { display:grid; gap:16px; grid-template-columns:repeat(2,1fr); margin:0; padding:0; list-style:none; }
.woocommerce ul.products::before,.woocommerce ul.products::after{ display:none; }
@media(min-width:768px){ .woocommerce ul.products{ grid-template-columns:repeat(4,1fr);} }
@media(min-width:1024px){ .woocommerce ul.products{ grid-template-columns:repeat(6,1fr);} }
.woocommerce ul.products li.product{ margin:0!important; width:auto!important; float:none!important; background:#fff; border-radius:10px; overflow:hidden; text-align:left; }
.woocommerce ul.products li.product a img{ margin:0; border-radius:0; aspect-ratio:705/690; object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:17px; font-weight:700; line-height:1.59; color:#000; padding:0 16px; }
.woocommerce ul.products li.product .price{ font-size:16px; font-weight:700; color:#ECA306; padding:0 16px; margin-bottom:4px; }
.woocommerce ul.products li.product .button{ margin:0 16px 16px; }
.woocommerce span.onsale{ background:#D9373B; color:#fff; border-radius:9999px; min-height:0; line-height:1.5; padding:4px 12px; font-size:13px; font-weight:700; top:12px; left:12px; right:auto; }
.woocommerce div.product .product_title{ font-size:45px; font-weight:700; text-transform:uppercase; line-height:1.5; }
@media(max-width:1023px){ .woocommerce div.product .product_title{ font-size:22px; } }
.woocommerce div.product p.price, .woocommerce div.product span.price{ color:#ECA306; font-size:20px; font-weight:700; }
.woocommerce div.product form.cart{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin:20px 0; }
.woocommerce div.product form.cart .quantity{ float:none; margin:0; }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{ background:#ECA306; color:#fff; border:1px solid #ECA306; border-radius:10px; font-weight:400; font-size:15px; padding:12px 24px; line-height:1.5; }
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{ background:#E89A00; border-color:#E89A00; color:#fff; }
.woocommerce a.button.alt, .woocommerce button.button.alt{ background:#0D6EFD; border-color:#0D6EFD; box-shadow:rgba(13,110,253,.14) 0 8px 18px 0; }
.woocommerce table.shop_table{ border:1px solid #EEEDED; border-radius:10px; }
.woocommerce table.shop_table th{ font-weight:700; }
.woocommerce-cart table.cart td.actions .coupon .input-text{ min-width:160px; border:1px solid #EEEDED; border-radius:7px; padding:10px 16px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea{ border:1px solid #EEEDED; border-radius:7px; padding:12px 16px; font-size:14px; }
.woocommerce form .form-row input.input-text:focus{ border-color:#86B7FE; box-shadow:rgba(13,110,253,.25) 0 0 0 .25rem; outline:none; }

/* ==========================================================================
   Checkout — reference redesign (Fruitstore)
   Real WooCommerce one-page checkout; presentation only. Every amount is
   rendered by WooCommerce (WC()->cart / wc_cart_totals_*), never hard-coded.
   ========================================================================== */
.woocommerce-checkout{
  --co-navy:#1F2A37;        /* headings / labels (dark navy) */
  --co-ink:#111827;         /* strong values */
  --co-muted:#6B7280;       /* captions, sub-lines */
  --co-border:#ECEEF1;      /* card borders (very light grey) */
  --co-field:#E2E5EA;       /* input borders */
  --co-primary:#EC9A06;     /* brand amber */
  --co-primary-2:#F6A821;   /* CTA gradient top */
  --co-total:#E8850C;       /* total amount (deep amber) */
  --co-cream:#FFF7EA;       /* TỔNG box + tint */
  --co-pay-bg:#FFFBF2;      /* payment card bg */
  --co-pay-border:#F2E1BE;  /* payment card border */
  --co-req:#E5484D;         /* required asterisk / errors */
  --co-ring:rgba(236,154,6,.18);
}

/* Page: clean white canvas, remove the old boxed wrapper so cards float. */
body.woocommerce-checkout{ background:#FFFFFF; }
body.woocommerce-checkout #main{ background:transparent; }
body.woocommerce-checkout .checkout-form-wrapper{ background:transparent; border:none; border-radius:0; padding:0; }
.woocommerce-checkout form.checkout.custom-co{ display:block; }
.hidden-field{ display:none !important; }

/* Coupon toggle: borderless green link with a tag glyph (functionality kept). */
.woocommerce-checkout .woocommerce-form-coupon-toggle{ margin:0 2px 14px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background:transparent; border:none; box-shadow:none; margin:0; padding:0 0 0 26px;
  color:#3F8F44; font-size:14px; line-height:1.5; position:relative; min-height:0;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:18px; height:18px; background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234C9A4E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon{
  color:var(--co-primary); font-weight:600; text-decoration:none;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon::after{ content:" ›"; }
.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon{
  border:1px solid var(--co-border); border-radius:12px; padding:18px 20px; margin:0 0 18px; background:#fff;
}
.woocommerce-checkout .checkout_coupon .form-row .input-text{ height:46px; }

/* Shared card look */
.co-cart-card,
.co-main,
body.woocommerce-checkout .co-side #order_review{
  background:#fff; border:1px solid var(--co-border); border-radius:16px;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
}

/* Card headings ("Thông tin giao hàng" / "Đơn hàng của bạn") */
.co-card-head{ display:flex; align-items:center; gap:11px; margin:0 0 20px; }
.co-card-head__icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:10px; flex-shrink:0;
  background:rgba(236,154,6,.12); color:var(--co-primary);
}
.co-card-head__title{
  margin:0; font-size:19px; font-weight:700; color:var(--co-navy); line-height:1.3;
  font-family:'Main',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ---- Top product card (editable cart lines) ---- */
.co-cart-card{ padding:16px 22px; margin-bottom:20px; }
.co-line{ display:flex; align-items:center; gap:18px; padding:12px 0; border-bottom:1px solid #F1F2F4; }
.co-line:last-child{ border-bottom:none; }
.co-line__thumb{ width:76px; height:76px; flex-shrink:0; border-radius:12px; overflow:hidden; background:#F6F4EF; }
.co-line__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.co-line__info{ flex:1; min-width:0; }
.co-line__name{ font-size:15px; font-weight:700; color:var(--co-navy); text-transform:uppercase; text-decoration:none; display:block; line-height:1.45; }
a.co-line__name:hover{ color:var(--co-primary); }
.co-line__promo{ font-size:13px; color:var(--co-muted); margin-top:4px; }
.co-line__promo-text{ font-weight:500; color:var(--co-muted); }
.co-line__more{ display:inline; }
.co-line__more summary{ display:inline-flex; align-items:center; gap:2px; list-style:none; cursor:pointer; color:#0D6EFD; }
.co-line__more summary::-webkit-details-marker{ display:none; }
.co-line__more summary svg{ transition:transform var(--transition-fast,.2s); }
.co-line__more[open] summary svg{ transform:rotate(180deg); }
.co-line__more > span:last-child{ display:block; margin-top:6px; font-size:13px; color:var(--co-muted); }
.co-line__qty{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
.co-line__qty button{
  width:40px; height:40px; border:none; border-radius:10px; background:#F3F4F6;
  color:#374151; font-size:18px; line-height:1; cursor:pointer; padding:0;
  display:inline-flex; align-items:center; justify-content:center; transition:background var(--transition-fast,.15s);
}
.co-line__qty button:hover{ background:#E8EAED; }
.co-line__qty button:disabled{ opacity:.45; cursor:default; }
.co-line__qtyval{ min-width:34px; text-align:center; font-size:15px; font-weight:700; color:var(--co-ink); }
.co-line__price{ font-size:18px; font-weight:700; color:var(--co-ink); min-width:120px; text-align:right; }
.co-line__price .amount{ white-space:nowrap; }
.co-line__remove{ background:none; border:none; color:#B4B8BF; cursor:pointer; padding:6px; flex-shrink:0; display:inline-flex; }
.co-line__remove:hover{ color:var(--co-req); }

/* ---- Two-column grid (≈60 / 40) ---- */
.co-grid{ display:grid; grid-template-columns:1.55fr 1fr; gap:24px; align-items:start; }
.co-main{ padding:28px; }
.co-shipping{ margin-top:20px; padding-top:6px; }
.co-shipping h3{ margin:0 0 12px; }
.co-shipping h3 label{ font-size:14.5px; font-weight:600; color:var(--co-navy); cursor:pointer; display:inline-flex; align-items:center; gap:9px; }
#ship-to-different-address-checkbox{ width:18px; height:18px; accent-color:var(--co-primary); margin:0; }
.co-notes{ margin-top:8px; }

/* ---- Form fields ---- (high specificity so they beat theme + WC core rules) */
body.woocommerce-checkout form .form-row{ margin:0 0 16px; padding:0; }
body.woocommerce-checkout form .form-row > label{
  font-size:14px; font-weight:600; color:var(--co-navy); margin:0 0 7px; display:block; line-height:1.4;
}
body.woocommerce-checkout form .form-row label .required{ color:var(--co-req); text-decoration:none; border:none; }
body.woocommerce-checkout form .form-row label .optional{ color:var(--co-muted); font-weight:400; }
body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout form .form-row select,
body.woocommerce-checkout form .select2-container .select2-selection--single{
  height:48px; border:1px solid var(--co-field); border-radius:8px; padding:0 14px;
  font-size:14.5px; color:var(--co-ink); background:#fff; width:100%; box-shadow:none; line-height:normal;
  transition:border-color var(--transition-fast,.15s), box-shadow var(--transition-fast,.15s);
}
body.woocommerce-checkout form .form-row input.input-text::placeholder,
body.woocommerce-checkout form .form-row textarea::placeholder{ color:#9CA3AF; }
body.woocommerce-checkout form .form-row textarea{ height:auto; min-height:112px; padding:12px 14px; resize:vertical; line-height:1.5; }
body.woocommerce-checkout form .form-row input.input-text:focus,
body.woocommerce-checkout form .form-row textarea:focus,
body.woocommerce-checkout form .form-row select:focus{
  border-color:var(--co-primary); box-shadow:0 0 0 3px var(--co-ring); outline:none;
}
body.woocommerce-checkout form .select2-container--focus .select2-selection--single,
body.woocommerce-checkout form .select2-container--open .select2-selection--single{
  border-color:var(--co-primary); box-shadow:0 0 0 3px var(--co-ring);
}
body.woocommerce-checkout form .select2-container .select2-selection--single .select2-selection__rendered{ line-height:46px; padding-left:0; padding-right:20px; color:var(--co-ink); }
body.woocommerce-checkout form .select2-container .select2-selection--single .select2-selection__arrow{ height:46px; }
body.woocommerce-checkout form .form-row-first,
body.woocommerce-checkout form .form-row-last,
body.woocommerce-checkout form .form-row-wide{ width:100%; float:none; }
body.woocommerce-checkout form .woocommerce-input-wrapper{ display:block; width:100%; }

/* ---- Right column: order summary ---- */
.co-side #order_review{ padding:24px; position:sticky; top:90px; }
.co-side #order_review .co-card-head{ margin-bottom:18px; }

/* Order summary table (kept as .woocommerce-checkout-review-order-table for AJAX).
   High-specificity selectors so they override .woocommerce table.shop_table. */
body.woocommerce-checkout table.co-summary{ width:100%; border:none; border-radius:0; margin:0; border-collapse:separate; border-spacing:0; font-size:14px; background:transparent; }
body.woocommerce-checkout .co-summary thead{ display:none; }
body.woocommerce-checkout .co-summary td,
body.woocommerce-checkout .co-summary th{ border:none; background:transparent; }

/* product mini-row */
body.woocommerce-checkout .co-summary tbody .cart_item td{ padding:0 0 16px; vertical-align:top; }
body.woocommerce-checkout .co-summary .co-sum-item{ display:flex; align-items:flex-start; gap:12px; }
body.woocommerce-checkout .co-summary .co-sum-item__thumb{ width:52px; height:52px; flex-shrink:0; border-radius:10px; overflow:hidden; background:#F6F4EF; display:block; }
body.woocommerce-checkout .co-summary .co-sum-item__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
body.woocommerce-checkout .co-summary .co-sum-item__body{ display:flex; flex-direction:column; gap:2px; min-width:0; }
body.woocommerce-checkout .co-summary .co-sum-item__name{ font-size:13px; font-weight:700; color:var(--co-navy); line-height:1.4; }
body.woocommerce-checkout .co-summary .co-sum-item__promo{ font-size:12.5px; color:var(--co-muted); }
body.woocommerce-checkout .co-summary td.product-total{ text-align:right; white-space:nowrap; padding:0 0 16px; }
body.woocommerce-checkout .co-summary .co-sum-item__total{ display:block; font-size:14px; font-weight:700; color:var(--co-ink); }
body.woocommerce-checkout .co-summary .co-sum-item__qty{ display:block; font-size:12.5px; color:var(--co-muted); margin-top:2px; }

/* totals rows */
body.woocommerce-checkout .co-summary tfoot tr th,
body.woocommerce-checkout .co-summary tfoot tr td{ padding:11px 0; vertical-align:top; }
body.woocommerce-checkout .co-summary tfoot tr:first-child th,
body.woocommerce-checkout .co-summary tfoot tr:first-child td{ border-top:1px solid var(--co-border); padding-top:16px; }
body.woocommerce-checkout .co-summary tfoot th{ text-align:left; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--co-muted); }
body.woocommerce-checkout .co-summary tfoot td{ text-align:right; font-size:14.5px; font-weight:600; color:var(--co-ink); }
body.woocommerce-checkout .co-summary tfoot .cart-discount th,
body.woocommerce-checkout .co-summary tfoot .cart-discount td{ color:#3F8F44; }
body.woocommerce-checkout .co-summary .co-ship__note{ display:block; margin-top:4px; font-size:12px; font-weight:400; letter-spacing:0; text-transform:none; color:var(--co-muted); }
body.woocommerce-checkout .co-summary .co-ship__amount{ display:block; }
body.woocommerce-checkout .co-summary .co-ship__methods{ list-style:none; margin:0; padding:0; text-align:right; }
body.woocommerce-checkout .co-summary .co-ship__method{ margin:0 0 6px; }
body.woocommerce-checkout .co-summary .co-ship__method:last-child{ margin-bottom:0; }
body.woocommerce-checkout .co-summary .co-ship__method label{ display:inline-flex; align-items:center; gap:6px; font-weight:500; cursor:pointer; }
body.woocommerce-checkout .co-summary .co-ship__method input{ accent-color:var(--co-primary); }
body.woocommerce-checkout .co-summary .co-ship__mprice{ font-weight:700; }

/* TỔNG cream box */
body.woocommerce-checkout .co-summary tfoot tr.order-total th,
body.woocommerce-checkout .co-summary tfoot tr.order-total td{
  background:var(--co-cream); border-top:14px solid #fff; background-clip:padding-box; padding:16px; vertical-align:middle;
}
body.woocommerce-checkout .co-summary tfoot tr.order-total th{ border-radius:12px 0 0 12px; font-size:15px; font-weight:700; color:var(--co-navy); text-transform:uppercase; letter-spacing:.02em; }
body.woocommerce-checkout .co-summary tfoot tr.order-total td{ border-radius:0 12px 12px 0; }
body.woocommerce-checkout .co-summary tfoot tr.order-total td .amount,
body.woocommerce-checkout .co-summary tfoot tr.order-total td .woocommerce-Price-amount{ color:var(--co-total); font-size:22px; font-weight:700; }
body.woocommerce-checkout .co-summary tfoot tr.order-total small.includes_tax{ display:block; font-size:11px; font-weight:400; color:var(--co-muted); }

/* ---- Payment method card ---- (override WC core .woocommerce #payment grey box) */
body.woocommerce-checkout #payment{ background:transparent; border:none; border-radius:0; margin-top:18px; padding:0; }
body.woocommerce-checkout #payment ul.wc_payment_methods{ list-style:none; margin:0; padding:0; border:none; }
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method{
  border:1px solid var(--co-pay-border); border-radius:12px; padding:14px 16px; margin:0 0 10px; background:var(--co-pay-bg); list-style:none;
}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:last-child{ margin-bottom:0; }
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:has(input:checked){ border-color:var(--co-primary); box-shadow:0 0 0 2px var(--co-ring); }
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label{
  display:flex; align-items:center; gap:11px; font-size:15px; font-weight:700; color:var(--co-navy); cursor:pointer; margin:0; line-height:1.4;
}
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label img{ max-height:26px; width:auto; }
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]{ width:18px; height:18px; accent-color:var(--co-primary); margin:0; flex-shrink:0; }
body.woocommerce-checkout #payment li.wc_payment_method .payment_box{
  background:transparent; border:none; border-radius:0; box-shadow:none; width:auto;
  margin:8px 0 0; padding:0 0 0 29px; font-size:13.5px; line-height:1.6; color:var(--co-muted);
}
body.woocommerce-checkout #payment li.wc_payment_method .payment_box::before{ display:none; border:0; content:""; }
body.woocommerce-checkout #payment li.wc_payment_method .payment_box p{ margin:0; }

/* privacy policy text */
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text{ margin:14px 0 4px; }
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text p{ font-size:13px; line-height:1.6; color:var(--co-muted); margin:0; }
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text a{ color:var(--co-primary); text-decoration:underline; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{ font-size:13px; color:var(--co-muted); }

/* ---- Place order (HOÀN TẤT) ---- */
.woocommerce-checkout #payment .place-order,
.woocommerce-checkout .place-order{ margin:14px 0 0; padding:0; }
.custom-co #place_order,
.woocommerce-checkout #place_order{
  width:100%; min-height:54px; border:none; border-radius:12px;
  background:linear-gradient(180deg,var(--co-primary-2),var(--co-primary));
  color:#fff; font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  box-shadow:0 6px 16px rgba(236,154,6,.28); transition:filter var(--transition-fast,.15s);
}
.woocommerce-checkout #place_order::after{ content:"→"; font-size:18px; line-height:1; }
.woocommerce-checkout #place_order:hover{ background:linear-gradient(180deg,var(--co-primary-2),var(--co-primary)); filter:brightness(1.03); color:#fff; }
.woocommerce-checkout #place_order:active{ filter:brightness(.97); }

/* Notices tuned for the light checkout */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info{ border-radius:10px; font-size:14px; }

/* ---- Responsive ---- */
@media (max-width:900px){
  .co-grid{ grid-template-columns:1fr; gap:16px; }
  .co-cart-card{ padding:14px 16px; margin-bottom:16px; }
  .co-line{ flex-wrap:wrap; row-gap:12px; column-gap:14px; }
  .co-line__thumb{ width:64px; height:64px; }
  .co-line__info{ flex:1 1 calc(100% - 78px); }
  .co-line__qty{ order:3; }
  .co-line__price{ order:4; min-width:0; margin-left:auto; }
  .co-line__remove{ order:5; }
  .co-main{ padding:20px 16px; }
  .co-side #order_review{ padding:20px 16px; position:static; margin-top:0; }
}

/* Roomier on large desktops */
@media (min-width:1200px){
  .co-grid{ gap:28px; }
  .co-main{ padding:34px 36px; }
  .co-cart-card{ padding:18px 28px; }
  .co-line{ gap:22px; padding:16px 0; }
  .co-line__thumb{ width:84px; height:84px; }
  .co-side #order_review{ padding:28px; }
  .co-card-head__title{ font-size:20px; }
}

.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0 0 20px; padding:0; background:#FBFFF3; border-radius:10px; overflow:hidden; }
.woocommerce-MyAccount-navigation ul li a{ display:block; padding:12px 16px; color:#333; }
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li a:hover{ background:#fff; color:#ECA306; }
.woocommerce-message, .woocommerce-info, .woocommerce-error{ border-radius:10px; }
.woocommerce-message{ border-top-color:#8EC641; } .woocommerce-info{ border-top-color:#0D6EFD; } .woocommerce-error{ border-top-color:#D9373B; }
/* toast / modal / back-to-top / misc used by main.js */
.toast{ position:fixed; bottom:24px; right:24px; z-index:9999997; display:flex; gap:12px; align-items:center; background:#fff; border:1px solid #EEEDED; border-radius:10px; padding:12px 16px; box-shadow:rgba(13,110,253,.14) 0 8px 18px 0; max-width:min(420px,calc(100vw - 48px)); }
.toast--success{ border-color:#8EC641; } .toast__icon{ width:24px; height:24px; color:#8EC641; } .toast__title{ font-weight:700; } .toast__action{ color:#8EC641; margin-left:8px; } .toast__close{ background:none; border:none; cursor:pointer; }
.back-to-top{ position:fixed; bottom:24px; left:24px; z-index:999; width:44px; height:44px; border-radius:9999px; border:1px solid #EEEDED; background:#ECA306; color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(8px); transition:all .25s ease; }
.back-to-top--visible{ opacity:1; visibility:visible; transform:none; }
.float-call{ display:none; }
.modal{ position:fixed; inset:0; z-index:9999997; display:flex; align-items:center; justify-content:center; padding:20px; }
.modal__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.5); }
.modal__container{ position:relative; background:#fff; border-radius:10px; max-width:960px; width:100%; max-height:90vh; overflow:auto; padding:24px; }
.modal__close{ position:absolute; top:8px; right:12px; background:none; border:none; font-size:28px; cursor:pointer; }
.cookie-consent{ position:fixed; bottom:0; left:0; right:0; z-index:9999997; background:#222; color:#fff; padding:16px; }
.cookie-consent__content{ max-width:1440px; margin:0 auto; display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; }
.copy-tooltip{ position:absolute; top:-28px; left:50%; transform:translateX(-50%); background:#222; color:#fff; font-size:12px; padding:4px 8px; border-radius:4px; white-space:nowrap; }
.error-message{ display:block; color:#D9373B; font-size:13px; margin-top:4px; }
.form-input.error, .form-textarea.error{ border-color:#D9373B; }
.share-btn{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:6px; background:#fff; border:1px solid #EEEDED; cursor:pointer; color:#727272; position:relative; padding:0; }
.share-btn:hover{ border-color:#ECA306; color:#ECA306; }
.share-btn--facebook{ color:#1877F2; }
.share-btn--zalo-share{ color:#0068FF; }
.header--scrolled{ box-shadow:rgba(13,110,253,.14) 0 8px 18px 0; }
img.loaded{ animation:fadeIn .25s ease-out; }

/* ==========================================================================
   Cart — Cart Block beautify (Trái Cây Nhập Khẩu SG)
   Scope chặt dưới .woocommerce-cart nên KHÔNG ảnh hưởng trang khác.
   ========================================================================== */
.woocommerce-cart .wp-block-woocommerce-cart{--o:#ECA306;--o2:#E8850C;--navy:#1F2A37;--ink:#111827;--mut:#6B7280;--bd:#ECEEF1;--field:#E3E6EA;--cream:#FFF7EA}

/* Danh sách sản phẩm (bên trái) */
.woocommerce-cart .wc-block-cart-items{border:none!important;margin:0}
.woocommerce-cart .wc-block-cart-items__header{background:transparent!important;border-bottom:1px solid var(--bd)!important}
.woocommerce-cart .wc-block-cart-items__header th{color:var(--mut)!important;font-size:12.5px!important;letter-spacing:.04em;text-transform:uppercase;font-weight:600!important}
.woocommerce-cart .wc-block-cart-items__row{border-top:none!important;border-bottom:1px solid #F1F2F4!important;padding:18px 0!important}
.woocommerce-cart .wc-block-cart-items__row td{border:none!important}
.woocommerce-cart .wc-block-cart-item__image img{border-radius:12px!important}
.woocommerce-cart .wc-block-components-product-name{color:var(--navy)!important;font-weight:700!important;font-size:15px!important;text-decoration:none}
.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-formatted-money-amount{color:var(--mut)!important;font-weight:500}
.woocommerce-cart .wc-block-cart-item__total .wc-block-components-formatted-money-amount{color:var(--ink)!important;font-weight:700!important;font-size:15px}

/* Ô số lượng dạng pill */
.woocommerce-cart .wc-block-components-quantity-selector{border:1px solid var(--field)!important;border-radius:10px!important;overflow:hidden;max-width:108px}
.woocommerce-cart .wc-block-components-quantity-selector__button{color:#374151!important;font-size:18px!important;border:none!important}
.woocommerce-cart .wc-block-components-quantity-selector__button:hover{background:#F3F4F6!important;color:var(--o2)!important}
.woocommerce-cart .wc-block-components-quantity-selector__input{font-weight:700!important;color:var(--ink)!important}

/* Nút xóa */
.woocommerce-cart .wc-block-cart-item__remove-link{color:var(--mut)!important;font-size:13px!important;text-decoration:none;border-bottom:1px dashed #CBD0D6}
.woocommerce-cart .wc-block-cart-item__remove-link:hover{color:#E5484D!important}

/* Khối tổng cộng (bên phải) — thẻ trắng bo tròn */
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar{background:#fff!important;border:1px solid var(--bd)!important;border-radius:16px!important;padding:24px!important;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.woocommerce-cart .wc-block-cart__totals-title{color:var(--navy)!important;font-weight:800!important;font-size:15px!important;letter-spacing:.03em;text-transform:uppercase;margin-bottom:14px!important}
.woocommerce-cart .wc-block-components-totals-item{padding:10px 0!important}
.woocommerce-cart .wc-block-components-totals-item__label{color:var(--mut)!important;font-size:14px}
.woocommerce-cart .wc-block-components-totals-item__value{color:var(--ink)!important;font-weight:600}
.woocommerce-cart .wc-block-components-totals-item__description,.woocommerce-cart .wc-block-components-totals-item__description *{color:var(--mut)!important}

/* Dòng "Tổng ước tính" nổi bật trong hộp kem */
.woocommerce-cart .wc-block-components-totals-footer-item{background:var(--cream)!important;border-radius:12px!important;padding:14px 16px!important;margin-top:8px;border-top:none!important}
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{color:var(--navy)!important;font-weight:800!important;text-transform:uppercase}
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount,
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--o2)!important;font-size:22px!important;font-weight:800!important}

/* Ô "Thêm mã giảm giá" */
.woocommerce-cart .wc-block-components-totals-coupon__button.wc-block-components-button{color:var(--o2)!important}
.woocommerce-cart .wc-block-components-text-input input{border-radius:10px!important}

/* Nút "Tiến hành thanh toán" — cam gradient giống trang thanh toán */
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__submit-container a,
.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button{
  width:100%!important;min-height:54px!important;border:none!important;border-radius:12px!important;
  background:linear-gradient(180deg,#F6A821,#EC9A06)!important;color:#fff!important;
  font-size:16px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.03em;
  box-shadow:0 6px 16px rgba(236,154,6,.28)!important;text-decoration:none;
  display:flex!important;align-items:center;justify-content:center
}
.woocommerce-cart .wc-block-cart__submit-button:hover{filter:brightness(1.03)}
