
:root{--jbj:#6b1d45;--jbj-bg:#fdf1ed;--jbj-card:#fff8f5;--jbj-line:#efd6d3;--jbj-ink:#2b1a22;--jbj-mute:#7a6670}

/* hide default coupon toggle (we have our own in Review step) */
body.jbj-cd .woocommerce-form-coupon-toggle,body.jbj-cd form.checkout_coupon{display:none!important}

.jbj-co,.jbj-co *{box-sizing:border-box}
.jbj-co{background:var(--jbj-bg);border-radius:22px;padding:28px;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--jbj-ink);line-height:1.5;max-width:1100px;margin:0 auto}
.jbj-co h3.jbj-h{font-size:21px;font-weight:700;color:var(--jbj-ink);margin:0 0 18px;padding:0;line-height:1.3}

/* ===== stepper ===== */
.jbj-co .jbj-stepper{display:flex;max-width:560px;margin:0 auto 28px}
.jbj-co .jbj-st{flex:1;position:relative;text-align:center;cursor:pointer}
.jbj-co .jbj-st:not(:first-child)::before{content:"";position:absolute;top:17px;right:50%;width:100%;height:2px;background:var(--jbj-line)}
.jbj-co .jbj-st.is-reach:not(:first-child)::before{background:var(--jbj)}
.jbj-co .jbj-dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid var(--jbj-line);font-weight:700;font-size:14px;color:var(--jbj-ink)}
.jbj-co .is-active .jbj-dot{border-color:var(--jbj);color:var(--jbj)}
.jbj-co .is-done .jbj-dot{border-color:var(--jbj);background:var(--jbj);color:#fff}
.jbj-co .jbj-lbl{display:block;margin-top:7px;font-size:13px;line-height:1.3;color:var(--jbj-mute)}
.jbj-co .is-active .jbj-lbl{color:var(--jbj-ink);font-weight:700}

/* ===== grid ===== */
.jbj-co .jbj-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.jbj-co .jbj-card,.jbj-co .jbj-sum,.jbj-co #payment{background:var(--jbj-card);border:1px solid var(--jbj-line);border-radius:16px;padding:24px}
.jbj-co .jbj-side{position:sticky;top:20px}
.jbj-co .woocommerce-NoticeGroup{margin-bottom:18px}

/* ===== steps visibility ===== */
.jbj-co .jbj-p2,.jbj-co .jbj-p3{display:none}
.jbj-co[data-step="2"] .jbj-p1,.jbj-co[data-step="3"] .jbj-p1{display:none}
.jbj-co[data-step="2"] .jbj-p2,.jbj-co[data-step="3"] .jbj-p2,.jbj-co[data-step="3"] .jbj-p3{display:block}
.jbj-co[data-step="3"] .jbj-p3{margin-bottom:18px}
.jbj-co[data-step="2"] #payment .place-order{display:none}
.jbj-co[data-step="3"] #payment ul.wc_payment_methods{display:none}
.jbj-co[data-step="3"] #payment{background:transparent;border:0;padding:0}
.jbj-co[data-step="3"] #payment::before{display:none}
.jbj-co[data-step="1"] .jbj-back{display:none}
.jbj-co[data-step="3"] .jbj-next{display:none}
.jbj-co .jbj-secure{display:none}
.jbj-co[data-step="3"] .jbj-secure{display:block}

/* ===== form fields ===== */
.jbj-co #customer_details .col-1,.jbj-co #customer_details .col-2{float:none!important;width:100%!important;max-width:none!important;padding:0!important}
.jbj-co #customer_details h3{font-size:16px;margin:18px 0 12px;color:var(--jbj-ink)}
.jbj-co #customer_details>.jbj-billing>.woocommerce-billing-fields>h3{margin-top:0}
.jbj-co .woocommerce-billing-fields__field-wrapper,.jbj-co .woocommerce-shipping-fields__field-wrapper,.jbj-co .woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.jbj-co .form-row{float:none!important;width:100%!important;margin:0 0 14px!important;padding:0!important;grid-column:auto}
.jbj-co .form-row-wide{grid-column:1/-1}
.jbj-co .form-row label{display:block;font-size:13px;font-weight:600;margin:0 0 6px;color:var(--jbj-ink)}
.jbj-co .form-row .required{color:#c0392b;text-decoration:none}
.jbj-co .form-row input.input-text,.jbj-co .form-row textarea,.jbj-co .form-row select{width:100%;height:46px;border:1px solid var(--jbj-line);background:#fff;border-radius:10px;padding:0 14px;font-size:15px;color:var(--jbj-ink);box-shadow:none}
.jbj-co .form-row textarea{height:auto;min-height:90px;padding:12px 14px}
.jbj-co .form-row input:focus,.jbj-co .form-row textarea:focus,.jbj-co .form-row select:focus{outline:0;border-color:var(--jbj);box-shadow:0 0 0 3px rgba(107,29,69,.12)}
.jbj-co .form-row.woocommerce-invalid input.input-text,.jbj-co .form-row.woocommerce-invalid select{border-color:#c0392b}
.jbj-co .select2-container .select2-selection--single{height:46px;border:1px solid var(--jbj-line);border-radius:10px;background:#fff}
.jbj-co .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px;padding-left:14px;color:var(--jbj-ink)}
.jbj-co .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}
.jbj-co #ship-to-different-address{font-size:16px;margin:18px 0 12px}
.jbj-co #ship-to-different-address label{display:flex;align-items:center;gap:10px;font-weight:600}

/* ===== order summary ===== */
.jbj-co .jbj-it{display:flex;align-items:center;gap:14px;padding:10px 0;font-size:14px}
.jbj-co .jbj-thumb img{width:58px!important;height:58px!important;object-fit:cover;border-radius:10px;display:block;margin:0}
.jbj-co .jbj-iname{flex:1;line-height:1.4}
.jbj-co .jbj-iprice{font-weight:600;white-space:nowrap}
.jbj-co .jbj-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--jbj-line);font-size:14px}
.jbj-co .jbj-sum>.jbj-it+.jbj-row,.jbj-co .jbj-sum>.jbj-row:first-of-type{margin-top:6px}
.jbj-co .jbj-total{font-weight:700;font-size:17px}
.jbj-co .jbj-ship{width:100%;border:0;margin:0;border-collapse:collapse;border-top:1px solid var(--jbj-line)}
.jbj-co .jbj-ship tr,.jbj-co .jbj-ship th,.jbj-co .jbj-ship td{border:0;background:none;padding:11px 0;font-size:14px;vertical-align:top}
.jbj-co .jbj-ship th{text-align:left;font-weight:400;width:40%}
.jbj-co .jbj-ship td{text-align:right}
.jbj-co .jbj-ship ul{list-style:none;margin:0;padding:0}
.jbj-co .jbj-ship li{margin:0 0 4px}
.jbj-co .jbj-ship input{margin-right:6px;accent-color:var(--jbj)}

/* ===== payment ===== */
.jbj-co #payment::before{content:"Payment Method";display:block;font-size:21px;font-weight:700;margin-bottom:18px}
.jbj-co #payment ul.wc_payment_methods{border:0;padding:0;margin:0;list-style:none}
.jbj-co #payment ul.wc_payment_methods>li{background:#fff;border:1px solid var(--jbj-line);border-radius:12px;padding:14px 16px;margin:0 0 10px;list-style:none}
.jbj-co #payment ul.wc_payment_methods>li:has(input[type=radio]:checked){border-color:var(--jbj);box-shadow:0 0 0 3px rgba(107,29,69,.10)}
.jbj-co #payment ul.wc_payment_methods label{font-weight:600;cursor:pointer;display:inline}
.jbj-co #payment ul.wc_payment_methods img{max-height:22px;width:auto;float:right;margin-left:6px}
.jbj-co #payment input[type=radio]{accent-color:var(--jbj);margin-right:10px}
.jbj-co #payment div.payment_box{background:var(--jbj-bg);color:var(--jbj-ink);border-radius:10px;margin:12px 0 0;padding:14px;font-size:14px}
.jbj-co #payment div.payment_box::before{display:none}
.jbj-co #payment .place-order{padding:0;margin:0}
.jbj-co .woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--jbj-mute);margin:8px 0 14px}

/* ===== review step ===== */
.jbj-co .jbj-coupon{display:flex;gap:10px;margin-top:18px}
.jbj-co .jbj-coupon input{flex:1;height:46px;border:1px solid var(--jbj-line);border-radius:10px;padding:0 14px;background:#fff}
.jbj-co .jbj-coupon button{background:var(--jbj);color:#fff;border:0;border-radius:10px;padding:0 26px;font-weight:600;cursor:pointer}
.jbj-co .jbj-coupon-msg ul{list-style:none;margin:10px 0 0;padding:0;font-size:13px}

/* ===== buttons ===== */
.jbj-co .jbj-next,.jbj-co #place_order{display:block;width:100%;height:auto;background:var(--jbj);color:#fff;border:0;border-radius:12px;padding:16px 20px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 8px 18px rgba(107,29,69,.25);transition:filter .15s;float:none}
.jbj-co .jbj-next:hover,.jbj-co #place_order:hover{filter:brightness(1.15);background:var(--jbj);color:#fff}
.jbj-co #place_order::after{content:" \2192"}
.jbj-co .jbj-actions{margin-top:18px}
.jbj-co .jbj-back{display:block;text-align:center;margin-top:14px;color:var(--jbj);font-size:14px;font-weight:600;text-decoration:none}
.jbj-co .jbj-secure{margin-top:14px;text-align:center;background:var(--jbj-card);border:1px solid var(--jbj-line);border-radius:14px;padding:16px;font-size:13px;color:var(--jbj-mute)}
.jbj-co .jbj-secure b{color:var(--jbj-ink);font-size:16px}

/* ============ THANK YOU ============ */
body.jbj-cd .woocommerce-order-overview,body.jbj-cd .woocommerce-thankyou-order-received{display:none!important}
.jbj-thanks{display:grid;grid-template-columns:1fr 320px;gap:24px;background:linear-gradient(135deg,#fdf1ed,#fbe3e0);border-radius:20px;padding:34px;margin-bottom:24px}
.jbj-thanks-main{text-align:center}
.jbj-check{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#2b1a22}
.jbj-thanks h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;color:var(--jbj);margin:16px 0 6px}
.jbj-thanks p{color:var(--jbj-mute);margin:0 0 20px}
.jbj-btn{display:inline-block;background:var(--jbj);color:#fff!important;padding:14px 28px;border-radius:10px;font-weight:600;text-decoration:none!important}
.jbj-link{display:block;margin-top:16px;color:var(--jbj);font-weight:600}
.jbj-thanks-card{background:rgba(255,255,255,.65);border-radius:14px;padding:20px;align-self:start}
.jbj-thanks-card h4{margin:0 0 10px;font-size:17px;color:var(--jbj-ink)}
.jbj-thanks-card div{display:flex;justify-content:space-between;padding:7px 0;font-size:14px;gap:10px}
.jbj-thanks-card .jbj-total{border-top:1px solid var(--jbj-line);margin-top:6px;font-weight:700}

/* ============ TRACK ORDER ============ */
.jbj-track{background:var(--jbj-bg);border-radius:20px;padding:24px;font-family:inherit}
.jbj-track-box{display:flex;gap:22px;align-items:center;background:#fbe3e0;border-radius:16px;padding:28px}
.jbj-truck{font-size:52px}
.jbj-track-body{flex:1}
.jbj-track-body h3{margin:0 0 4px;font-size:22px;color:var(--jbj-ink)}
.jbj-track-body p{margin:0 0 14px;color:var(--jbj-mute);font-size:14px}
.jbj-track-form{display:flex;flex-wrap:wrap;gap:10px}
.jbj-track-form input{flex:1 1 180px;border:1px solid var(--jbj-line);background:#fff;border-radius:10px;padding:12px 14px}
.jbj-track-form button{background:var(--jbj);color:#fff;border:0;border-radius:10px;padding:12px 24px;font-weight:600;cursor:pointer}
.jbj-track-result{background:#fff;border:1px solid var(--jbj-line);border-radius:14px;padding:20px;margin-top:18px}
.jbj-track-result h4{margin:0 0 12px}
.jbj-err{color:#c0392b}
.jbj-badge{background:var(--jbj);color:#fff;font-size:12px;border-radius:20px;padding:3px 10px;margin-left:8px;font-weight:500}
.jbj-prog{display:flex;margin:10px 0 16px}
.jbj-prog span{flex:1;text-align:center;font-size:13px;color:var(--jbj-mute);padding-bottom:8px;border-bottom:3px solid var(--jbj-line)}
.jbj-prog.s1 span:nth-child(-n+1),.jbj-prog.s2 span:nth-child(-n+2),.jbj-prog.s3 span{border-color:var(--jbj);color:var(--jbj);font-weight:600}
.jbj-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.jbj-tiles>*{background:#fff;border:1px solid var(--jbj-line);border-radius:12px;padding:18px 10px;text-align:center;font-size:13px;color:var(--jbj-ink);text-decoration:none}
.jbj-tiles i{display:block;font-style:normal;font-size:26px;color:var(--jbj);margin-bottom:6px}

/* ============ MOBILE ============ */
@media(max-width:860px){
	.jbj-co{padding:16px;border-radius:16px}
	.jbj-co .jbj-grid{grid-template-columns:1fr}
	.jbj-co .jbj-side{position:static}
	.jbj-co .woocommerce-billing-fields__field-wrapper,.jbj-co .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
	.jbj-thanks{grid-template-columns:1fr;padding:22px}
	.jbj-track-box{flex-direction:column;text-align:center}
	.jbj-tiles{grid-template-columns:repeat(2,1fr)}
}

/* ===== hardening against theme / WooCommerce layout CSS ===== */
.jbj-co #order_review,.jbj-co .woocommerce-checkout-review-order,.jbj-co #customer_details,.jbj-co .jbj-sum{float:none!important;width:100%!important;max-width:100%!important;margin:0!important;clear:both}
.jbj-co .jbj-sum{padding:24px!important}
.jbj-co .jbj-main,.jbj-co .jbj-side{min-width:0;width:100%;float:none!important}
.jbj-co form.checkout{margin:0;padding:0;border:0;background:none;width:100%;float:none}
.jbj-co #payment{width:100%!important;float:none!important}
.jbj-co #payment .form-row.place-order{padding:0!important;margin:0!important;float:none!important;width:100%!important}
.jbj-co #payment #place_order,.jbj-co .jbj-next{float:none!important;width:100%!important;display:block!important;background:var(--jbj)!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:16px 20px!important;font-size:16px!important;font-weight:600!important;line-height:1.3!important;text-align:center;height:auto!important;text-transform:none!important}
.jbj-co .jbj-coupon button{background:var(--jbj)!important;color:#fff!important;border:0!important;border-radius:10px!important;text-transform:none!important}
.jbj-co .jbj-ship tr{display:flex!important;justify-content:space-between;gap:12px}
.jbj-co .jbj-ship th,.jbj-co .jbj-ship td{display:block!important;width:auto!important}
.jbj-co .jbj-ship{display:block}
.jbj-co .jbj-ship tbody{display:block}
.jbj-co .woocommerce-additional-fields__field-wrapper .form-row{grid-column:1/-1}
.jbj-co .form-row textarea{width:100%!important}
.jbj-co .form-row select{line-height:44px;padding-top:0;padding-bottom:0}
.jbj-co .jbj-it .jbj-iname a{color:inherit;text-decoration:none}
.jbj-co ul.wc_payment_methods li::marker{content:""}
@media(max-width:860px){.jbj-co .jbj-grid{display:block}.jbj-co .jbj-side{margin-top:20px}}

/* ===== step 3: only Back + Secure box on the right ===== */
.jbj-co[data-step="3"] .jbj-next{display:none!important}
.jbj-co[data-step="1"] .jbj-back{display:none!important}
.jbj-co[data-step="3"] #order_review{display:none!important}
.jbj-co[data-step="3"] .jbj-secure{display:block!important;margin-top:0}
.jbj-co #payment ul.wc_payment_methods label{font-size:16px!important}
.jbj-co #payment div.payment_box p{margin:0}

/* ===== thank you (classic + block themes) ===== */
body.jbj-cd .wc-block-order-confirmation-summary{display:none!important}
body.jbj-cd .wc-block-order-confirmation-status>:not(.jbj-thanks){display:none!important}
body.jbj-cd .wc-block-order-confirmation-status{font-size:inherit!important}
body.jbj-cd .jbj-btn{font-size:16px!important;line-height:1.3}
body.jbj-cd .jbj-link{font-size:15px!important;text-decoration:none}
.jbj-thanks h2{font-size:32px!important;line-height:1.2}
.jbj-thanks p{font-size:16px}

.jbj-co[data-step="3"] .jbj-actions{display:flex;flex-direction:column}
.jbj-co[data-step="3"] .jbj-secure{order:-1}
.jbj-co[data-step="3"] .jbj-back{order:1}
.jbj-co .select2-container .select2-selection--single{display:flex!important;align-items:center;height:46px!important}
.jbj-co .select2-container--default .select2-selection--single .select2-selection__rendered,.jbj-co .select2-selection__rendered{line-height:normal!important;padding:0 34px 0 14px!important;margin:0!important;display:block!important;width:100%}
.jbj-co .select2-container--default .select2-selection--single .select2-selection__arrow{top:0!important;height:46px!important}
.jbj-track-result ul{margin:8px 0 0;padding-left:18px}
