/* Cashback preview only. Native checkout and the existing shipping card keep their own theme. */
.csm-cart-progress-stack { grid-area:shipping; display:flex; flex-direction:column; gap:var(--cc-gap,20px); min-width:0; }
@media(max-width:959px) {
  #hikashop_checkout.campina-cart-page .csm-cart-progress-stack { order:2; }
  #hikashop_checkout.campina-cart-page .csm-cart-progress-stack > .campina-cart-free-shipping { order:0; }
}
.csm-cashback-preview { grid-area:shipping; box-sizing:border-box; min-width:0; max-width:100%; margin:0; padding:22px 26px; border:1px solid #8bd3a2; border-radius:var(--cc-radius,16px); background:#eaf8ef; box-shadow:0 4px 16px rgba(34,109,62,.04); font-family:inherit; line-height:1.9; color:#355a43; text-align:right; }
.csm-cashback-preview *, .csm-cashback-preview *::before, .csm-cashback-preview *::after { box-sizing:border-box; }
.csm-cashback-preview .csm-preview-heading { display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:15px; }
.csm-cashback-preview .csm-preview-heading svg { width:28px; height:28px; flex:0 0 28px; fill:none; stroke:#26884a; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.csm-cashback-preview .csm-preview-heading h2, #hikashop_checkout .csm-cashback-preview .csm-preview-heading h2 { font:inherit; font-size:18px; font-weight:500; margin:0; line-height:1.8; color:#257c43; text-align:center; }
.csm-cashback-preview .csm-preview-icon, .csm-cashback-preview .csm-preview-money-icon { font-size:26px; line-height:1.5; flex:none; }
.csm-cashback-preview[data-csm-state="remaining"], #hikashop_checkout .csm-cashback-preview[data-csm-state="remaining"] { padding:12px; }
.csm-cashback-preview[data-csm-state="remaining"] .csm-preview-heading { gap:5px; margin-bottom:8px; }
.csm-cashback-preview[data-csm-state="remaining"] .csm-preview-heading h2, #hikashop_checkout .csm-cashback-preview[data-csm-state="remaining"] .csm-preview-heading h2 { min-width:0; font-size:15px; line-height:1.7; }
.csm-cashback-preview[data-csm-state="remaining"] .csm-preview-money-icon { width:18px; font-size:18px; line-height:1.4; }
.csm-cashback-preview p { font-size:15px; margin:0 0 12px; overflow-wrap:anywhere; }
.csm-cashback-preview .csm-preview-intro { color:#38634a; text-align:right; }
.csm-cashback-preview .csm-preview-intro p, #hikashop_checkout .csm-cashback-preview .csm-preview-intro p { font-size:13px; font-weight:400; }
.csm-cashback-preview .csm-preview-reward, .csm-cashback-preview .csm-preview-estimate { color:#257c43; font-size:15px; }
.csm-cashback-preview .csm-preview-reward strong, .csm-cashback-preview .csm-preview-estimate strong { font-weight:700; }
.csm-cashback-preview .csm-preview-remaining, #hikashop_checkout .csm-cashback-preview .csm-preview-remaining { color:#257c43; font-size:13px; font-weight:400; }
.csm-cashback-preview .csm-preview-remaining strong, #hikashop_checkout .csm-cashback-preview .csm-preview-remaining strong { font-size:inherit; font-weight:700; }
.csm-cashback-preview .csm-preview-name, .csm-cashback-preview .csm-preview-note { font-size:12px; color:#507a60; }
.csm-cashback-preview .csm-preview-progress-wrap { position:relative; margin:21px 0 15px; }
.csm-cashback-preview .csm-preview-progress { appearance:none; -webkit-appearance:none; display:block; width:100%; height:21px; border:0; border-radius:20px; overflow:hidden; accent-color:#3ba45a; background:#cce9d5; }
.csm-cashback-preview .csm-preview-progress::-webkit-progress-bar { background:#cce9d5; border-radius:20px; }
.csm-cashback-preview .csm-preview-progress::-webkit-progress-value { background:linear-gradient(90deg,#74cf8b,#2c9d50); border-radius:20px; }
.csm-cashback-preview .csm-preview-progress::-moz-progress-bar { background:linear-gradient(90deg,#74cf8b,#2c9d50); border-radius:20px; }
.csm-cashback-preview .csm-preview-percent { position:absolute; left:0; bottom:-19px; font-size:11px; color:#427454; }
.csm-cashback-preview .csm-preview-cash-badge { display:table; width:auto; max-width:100%; margin:16px auto 0; padding:5px 11px; border-radius:6px; background:#ffbcbc; color:#000; font-size:12px; font-weight:700; line-height:1.9; text-align:center; }
.csm-cashback-preview[data-csm-state="remaining"] .csm-preview-progress-wrap { margin:10px 0; }
.csm-cashback-preview[data-csm-state="remaining"] .csm-preview-progress { height:12px; }
.csm-cashback-preview[data-csm-state="remaining"] .csm-preview-remaining, #hikashop_checkout .csm-cashback-preview[data-csm-state="remaining"] .csm-preview-remaining { margin:0; font-size:12px; line-height:1.8; text-align:center; }
.csm-cashback-preview[data-csm-state="remaining"] .csm-preview-cash-badge { margin:8px auto 0; padding:2px 7px; font-size:11px; line-height:1.8; }
.csm-cashback-preview[data-csm-state="ready"], #hikashop_checkout .csm-cashback-preview[data-csm-state="ready"] { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; gap:0 10px; padding:14px; background:linear-gradient(110deg,#f0f9e9,#e2f1cf); border-color:#bddfa1; }
.csm-cashback-preview[data-csm-state="ready"] .csm-preview-gift-icon, #hikashop_checkout .csm-cashback-preview[data-csm-state="ready"] .csm-preview-gift-icon { display:grid; place-items:center; width:52px; height:52px; min-width:52px; max-width:52px; padding:0; margin:0; border-radius:50%; background:#80b43f; font-size:28px; font-weight:400; line-height:1; box-shadow:0 3px 9px rgba(93,135,39,.14); }
.csm-cashback-preview .csm-preview-ready-content { min-width:0; }
.csm-cashback-preview .csm-preview-ready-content h2, #hikashop_checkout .csm-cashback-preview .csm-preview-ready-content h2 { font:inherit; font-size:16px; font-weight:500; color:#486b21; line-height:1.6; text-align:center; margin:0 0 6px; }
.csm-cashback-preview .csm-preview-ready-content p, #hikashop_checkout .csm-cashback-preview .csm-preview-ready-content p { color:#778564; font-size:14px; font-weight:400; line-height:1.65; text-align:center; margin:0; }
.csm-cashback-preview .csm-preview-ready-content strong, #hikashop_checkout .csm-cashback-preview .csm-preview-ready-content strong { color:#ff3939; font-size:inherit; font-weight:500; }
.csm-cashback-preview[data-csm-state="ready"] .csm-preview-cash-badge, #hikashop_checkout .csm-cashback-preview[data-csm-state="ready"] .csm-preview-cash-badge { grid-column:1 / -1; justify-self:center; margin:10px 0 0; padding:4px 9px; line-height:1.8; }
@media(max-width:480px) { .csm-cashback-preview { padding:20px; } .csm-cashback-preview .csm-preview-heading h2, #hikashop_checkout .csm-cashback-preview .csm-preview-heading h2 { font-size:16px; } .csm-cashback-preview p { font-size:14px; } }

.csm-wallet-checkout {margin-top:8px;padding:8px 10px;border:1px solid #bddfa1;border-radius:10px;background:#f0f9e9;line-height:1.8;text-align:right}
.csm-wallet-checkout .csm-wallet-row {display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.csm-wallet-checkout .csm-wallet-row>label {display:flex;align-items:center;gap:5px;margin:0;font-size:clamp(11px,2.9vw,13px);line-height:1.8;white-space:nowrap;cursor:pointer}
.csm-wallet-checkout .csm-wallet-row>label input {flex:none;margin:0;accent-color:#2c9d50}
.csm-wallet-checkout .csm-wallet-row>a {flex:none;display:inline;padding:0;background:none;color:#257c43;font-size:11px;line-height:1.8;text-decoration:underline;text-underline-offset:3px}
.csm-wallet-checkout p {font-size:12px;margin:8px 0 0;color:#486b21}
.csm-wallet-checkout a:focus-visible {outline:3px solid #80b43f;outline-offset:3px}
.csm-wallet-checkout [data-csm-wallet-feedback]:empty {display:none}

/* Cashback title and full-width earning statement are ready in server HTML. */
.woocommerce .csm-cashback-preview .csm-preview-remaining{display:block;width:100%;font-size:clamp(16px,1.25vw,22px);font-weight:600;line-height:1.8;text-align:center;margin:8px 0}
.woocommerce .csm-cashback-preview .csm-preview-remaining .amount{white-space:nowrap}
.woocommerce .csm-cashback-preview .csm-preview-heading h2{font-size:18px;font-weight:700}

.woocommerce tr.ggb-auto-wallet-zero th,.woocommerce tr.fee th{white-space:nowrap;font-size:13px}
