/* ============================================================================
   RoidOcean Checkout — cart drawer + 3-step checkout + thank-you card.
   Brand tokens: navy #103178, orange #F59E0B, section bg #f8faff, ink #14203a.
   Font: Jost (loaded by the theme) + FontAwesome.
   ============================================================================ */
:root{
	--roc-bg:#f8faff; --roc-ink:#14203a; --roc-muted:#475569; --roc-faint:#7c8aa3;
	--roc-navy:#103178; --roc-navy-d:#0b2456; --roc-orange:#F59E0B; --roc-orange-d:#d98905;
	--roc-line:#e2e8f4; --roc-panel:#ffffff; --roc-tan:#eef3fb;
	--roc-mono:"Jost",ui-monospace,"SFMono-Regular",Menlo,monospace;
	--roc-sans:"Jost",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	--roc-code:ui-monospace,"SFMono-Regular",Consolas,Menlo,monospace;
}

/* ---------- shared bits ---------- */
.roc-eyebrow,.roc-step-num,.roc-drawer-eyebrow,.roc-coupon-label,.roc-pm-tag,
.roc-summary-title,.roc-ship-flat,.roc-si-qty{
	font-family:var(--roc-mono);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600;color:var(--roc-faint);
}
.roc-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	font-family:var(--roc-sans);font-weight:600;font-size:15px;line-height:1;
	padding:14px 22px;border-radius:10px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:.15s;
}
.roc-btn-primary{background:var(--roc-navy);color:#fff;}
.roc-btn-primary:hover{background:var(--roc-navy-d);}
.roc-btn-primary[disabled]{opacity:.4;cursor:not-allowed;}
.roc-btn-ghost{background:transparent;color:var(--roc-navy);border-color:var(--roc-line);}
.roc-btn-ghost:hover{border-color:var(--roc-navy);}
.roc-error{background:#FDECEC;border:1px solid #E5484D;color:#B42318;border-radius:10px;padding:12px 16px;margin:0 0 18px;font-family:var(--roc-sans);font-size:14px;}
.roc-note,.roc-empty{font-family:var(--roc-sans);color:var(--roc-muted);}
.roc-empty a,.roc-drawer-shop{color:var(--roc-navy);font-weight:600;}

/* ============================================================================
   CART DRAWER (slide-over)
   ============================================================================ */
.roc-drawer-overlay{position:fixed;inset:0;background:rgba(11,25,53,.42);z-index:99998;opacity:0;transition:opacity .25s;}
.roc-drawer-overlay.is-open{opacity:1;}
.roc-drawer-overlay[hidden]{display:none;}
.roc-drawer{
	position:fixed;top:0;right:0;height:100%;width:400px;max-width:92vw;background:var(--roc-bg);
	z-index:99999;transform:translateX(102%);transition:transform .28s cubic-bezier(.4,0,.2,1);
	display:flex;flex-direction:column;box-shadow:-14px 0 40px rgba(11,25,53,.18);font-family:var(--roc-sans);color:var(--roc-ink);
}
.roc-drawer.is-open{transform:translateX(0);}
.roc-drawer-scroll{display:flex;flex-direction:column;height:100%;overflow:hidden;}
.roc-drawer-head{display:flex;align-items:center;gap:10px;padding:20px 22px;border-bottom:1px solid var(--roc-line);}
.roc-drawer-count{font-family:var(--roc-mono);font-size:11px;color:var(--roc-faint);}
.roc-drawer-close{margin-left:auto;background:none;border:none;font-size:26px;line-height:1;cursor:pointer;color:var(--roc-ink);padding:0 4px;}
.roc-drawer-fs{padding:14px 22px;border-bottom:1px solid var(--roc-line);}
.roc-fs-msg{margin:0 0 8px;font-size:13px;color:var(--roc-muted);}
.roc-fs-bar{height:6px;border-radius:999px;background:var(--roc-tan);overflow:hidden;}
.roc-fs-bar span{display:block;height:100%;background:var(--roc-orange);border-radius:999px;transition:width .3s;}
.roc-drawer-body{flex:1;overflow-y:auto;padding:8px 22px;}
.roc-drawer-empty{padding:40px 0 14px;text-align:center;color:var(--roc-faint);}
.roc-drawer-shop{display:block;text-align:center;color:var(--roc-navy);font-weight:600;}
.roc-drawer-items{list-style:none;margin:0;padding:0;}
.roc-drawer-item{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--roc-line);}
.roc-di-img img{width:56px;height:56px;object-fit:cover;border-radius:10px;background:var(--roc-tan);}
.roc-di-main{flex:1;min-width:0;}
.roc-di-name{display:block;font-weight:600;font-size:14px;margin:0 0 8px;}
.roc-di-qty{display:inline-flex;align-items:center;border:1px solid var(--roc-line);border-radius:999px;overflow:hidden;}
.roc-di-qty button{width:28px;height:28px;border:none;background:transparent;cursor:pointer;font-size:15px;color:var(--roc-ink);}
.roc-di-qty button:hover{background:var(--roc-tan);}
.roc-qty-n{min-width:26px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;}
.roc-di-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.roc-di-price{font-weight:600;font-size:14px;}
.roc-di-remove{background:none;border:none;padding:0;cursor:pointer;font-size:11px;color:var(--roc-faint);text-decoration:underline;}
.roc-di-remove:hover{color:#B42318;}
.roc-drawer-subtotal{display:flex;justify-content:space-between;padding:16px 22px 6px;font-size:15px;}
.roc-drawer-subtotal strong{font-size:17px;}
.roc-drawer-note{margin:0;padding:0 22px 8px;font-family:var(--roc-mono);font-size:10px;letter-spacing:.06em;color:var(--roc-faint);}
.roc-drawer-foot{padding:16px 22px 22px;border-top:1px solid var(--roc-line);}
.roc-drawer-cta{display:block;width:100%;box-sizing:border-box;text-align:center;background:var(--roc-navy);color:#fff;font-weight:600;padding:15px;border-radius:10px;text-decoration:none;}
.roc-drawer-cta:hover{background:var(--roc-navy-d);}
.roc-drawer-trust{margin:12px 0 0;text-align:center;font-family:var(--roc-mono);font-size:9px;letter-spacing:.08em;color:var(--roc-faint);}
body.roc-drawer-open{overflow:hidden;}

/* ============================================================================
   CHECKOUT PAGE
   ============================================================================ */
.roc-checkout-wrap{background:var(--roc-bg);color:var(--roc-ink);font-family:var(--roc-sans);padding:44px 20px 80px;}
.roc-checkout-inner{max-width:1120px;margin:0 auto;}
.roc-notices{margin:0 0 18px;}
.roc-co-head{margin:0 0 26px;}
.roc-eyebrow{display:block;margin:0 0 10px;color:var(--roc-orange);}
.roc-co-head h1{font-family:var(--roc-sans);font-weight:600;font-size:46px;line-height:1.05;margin:0;color:var(--roc-navy);}
.roc-co-sub{margin:12px 0 0;color:var(--roc-muted);font-size:16px;}

/* step pills */
.roc-steps-nav{display:flex;gap:8px;margin:0 0 24px;flex-wrap:wrap;}
.roc-step-pill{font-family:var(--roc-mono);font-size:11px;letter-spacing:.08em;padding:7px 14px;border-radius:999px;background:var(--roc-tan);color:var(--roc-faint);}
.roc-step-pill.is-active{background:var(--roc-navy);color:#fff;}
.roc-step-pill.is-done{background:var(--roc-orange);color:#fff;}

/* grid */
.roc-checkout-grid{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start;}
.roc-checkout-form{min-width:0;}

/* steps */
.roc-step{display:none;background:var(--roc-panel);border:1px solid var(--roc-line);border-radius:16px;padding:26px;}
.roc-step.is-active{display:block;}
.roc-step-title{font-family:var(--roc-sans);font-weight:600;font-size:24px;margin:0 0 18px;line-height:1.15;color:var(--roc-navy);}
.roc-step-num{display:block;margin:0 0 8px;}
.roc-step-lead{color:var(--roc-muted);font-size:14px;margin:-8px 0 18px;}

/* fields */
.roc-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.roc-field{display:flex;flex-direction:column;gap:6px;font-family:var(--roc-mono);font-size:11px;letter-spacing:.06em;color:var(--roc-faint);}
.roc-field.roc-f-full{grid-column:1 / -1;}
.roc-field .req{color:#E5484D;}
.roc-field .opt{text-transform:none;letter-spacing:0;}
.roc-field input,.roc-field select{
	font-family:var(--roc-sans);font-size:15px;color:var(--roc-ink);letter-spacing:normal;
	padding:12px 14px;border:1px solid var(--roc-line);border-radius:10px;background:var(--roc-bg);width:100%;box-sizing:border-box;
}
.roc-field input:focus,.roc-field select:focus{outline:none;border-color:var(--roc-navy);}

/* shipping */
.roc-ship-opt,.roc-protect,.roc-pay-method{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--roc-line);border-radius:12px;padding:16px;margin:0 0 14px;cursor:pointer;}
.roc-ship-opt.is-selected,.roc-pay-method.is-selected{border-color:var(--roc-navy);box-shadow:0 0 0 1px var(--roc-navy) inset;}
.roc-ship-opt input,.roc-protect input,.roc-pay-method input{margin-top:3px;width:18px;height:18px;accent-color:var(--roc-navy);flex:none;}
.roc-ship-main{flex:1;display:flex;flex-direction:column;gap:4px;font-size:15px;}
.roc-ship-desc{font-size:12px;color:var(--roc-muted);line-height:1.5;}
.roc-ship-flat{background:var(--roc-tan);padding:3px 8px;border-radius:6px;}
.roc-ship-rate{font-weight:600;text-align:right;white-space:nowrap;}
.roc-ship-opt.is-disabled{opacity:.7;cursor:default;}
.roc-ship-was{display:block;font-weight:400;font-size:12px;color:var(--roc-faint);text-decoration:line-through;}
.roc-ship-freenote{margin:2px 0 14px;font-size:13px;color:var(--roc-muted);}
.roc-protect-main{display:flex;flex-direction:column;gap:6px;}
.roc-protect-desc{font-size:13px;color:var(--roc-muted);line-height:1.5;}

/* crypto coin dropdown (single "Cryptocurrency" option, BFF pattern) */
.roc-crypto-detail{margin:-6px 0 16px;padding:16px;border:1px dashed var(--roc-line);border-radius:12px;background:var(--roc-tan);}
.roc-coin-field{display:flex;flex-direction:column;gap:6px;font-family:var(--roc-mono);font-size:11px;letter-spacing:.06em;color:var(--roc-faint);}
.roc-coin-picker-label{text-transform:uppercase;}
.roc-coin-select{font-family:var(--roc-sans);font-size:15px;color:var(--roc-ink);letter-spacing:normal;padding:12px 14px;border:1px solid var(--roc-line);border-radius:10px;background:var(--roc-panel);width:100%;box-sizing:border-box;}
.roc-coin-select:focus{outline:none;border-color:var(--roc-navy);}
.roc-coin-network{margin:12px 0 0;font-size:13px;color:var(--roc-muted);}
.roc-coin-network-val{color:var(--roc-navy);}
.roc-coin-warn{margin:6px 0 0;font-size:12px;color:var(--roc-orange-d);line-height:1.5;font-weight:500;}

/* coupon */
.roc-coupon{margin:22px 0 4px;}
.roc-coupon-label{display:block;margin:0 0 8px;}
.roc-coupon-row{display:flex;gap:10px;}
.roc-coupon-row input{flex:1;font-family:var(--roc-sans);font-size:15px;padding:12px 14px;border:1px solid var(--roc-line);border-radius:10px;background:var(--roc-bg);}
.roc-coupon-note{margin:8px 0 0;font-size:12px;color:var(--roc-faint);}

/* payment methods */
.roc-pay-method{flex-wrap:wrap;}
.roc-pm-label{flex:1;font-size:15px;font-weight:600;}
.roc-pm-label em{font-style:normal;color:var(--roc-faint);font-weight:400;}
.roc-pm-tag{align-self:center;}
.roc-pm-note{flex-basis:100%;padding-left:30px;font-size:13px;color:var(--roc-muted);line-height:1.5;}

/* actions */
.roc-step-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px;}
.roc-place-note{margin:14px 0 0;font-size:12px;color:var(--roc-faint);line-height:1.5;}

/* summary */
.roc-summary{position:sticky;top:20px;background:var(--roc-navy);color:#fff;border-radius:16px;padding:24px;}
.roc-summary-title{margin:0 0 18px;color:rgba(255,255,255,.65);}
.roc-summary-items{list-style:none;margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid rgba(255,255,255,.16);}
.roc-summary-items li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:14px;}
.roc-si-qty{color:rgba(255,255,255,.55);margin-left:6px;}
.roc-summary-rows .roc-sr{display:flex;justify-content:space-between;padding:7px 0;font-size:14px;color:rgba(255,255,255,.85);}
.roc-sr-discount{color:var(--roc-orange);}
.roc-sr-total{border-top:1px solid rgba(255,255,255,.16);margin-top:8px;padding-top:14px;font-size:18px;color:#fff;}
.roc-sr-total strong{font-size:20px;}
.roc-summary-note{margin:16px 0 0;font-size:12px;color:rgba(255,255,255,.55);line-height:1.5;}

@media(max-width:900px){
	.roc-checkout-grid{grid-template-columns:1fr;}
	.roc-summary{position:static;order:-1;}
	.roc-co-head h1{font-size:34px;}
}
@media(max-width:560px){
	.roc-fields{grid-template-columns:1fr;}
}

/* ============================================================================
   THANK-YOU / ORDER-RECEIVED payment card
   ============================================================================ */
.roc-pay-card{background:var(--roc-panel);border:2px solid var(--roc-navy);border-radius:16px;padding:28px;margin:0 0 28px;font-family:var(--roc-sans);color:var(--roc-ink);}
.roc-pay-title{font-weight:600;font-size:24px;margin:0 0 12px;color:var(--roc-navy);}
.roc-pay-lead{font-size:15px;line-height:1.6;color:var(--roc-muted);margin:0 0 20px;}
.roc-pay-rows{border-top:1px solid var(--roc-line);}
.roc-pay-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--roc-line);}
.roc-pay-k{font-family:var(--roc-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--roc-faint);}
.roc-pay-v{font-size:15px;font-weight:600;text-align:right;}
.roc-pay-amount{color:var(--roc-navy);}
.roc-pay-usd{color:var(--roc-faint);font-weight:400;font-size:13px;}
.roc-wallet-block{margin:18px 0 0;}
.roc-wallet-copy{display:flex;gap:10px;align-items:center;margin-top:8px;flex-wrap:wrap;}
.roc-wallet-addr{font-family:var(--roc-code);font-size:14px;background:var(--roc-tan);padding:10px 14px;border-radius:10px;word-break:break-all;flex:1;min-width:0;}
.roc-copy-btn{background:var(--roc-navy);color:#fff;border:none;border-radius:999px;padding:10px 18px;cursor:pointer;font-family:var(--roc-sans);font-weight:600;font-size:13px;}
.roc-copy-btn:hover{background:var(--roc-navy-d);}
.roc-pay-instructions{margin:20px 0 0;font-size:14px;line-height:1.7;color:var(--roc-muted);}
