/* Conversion layout is scoped: legacy checkout retains its own layout. */
.ef-package-dialog{border:0;border-radius:20px;padding:20px 24px 24px;width:min(640px,94vw);max-height:85dvh;overflow:auto;color:var(--ef-font-color,#202125);background:var(--ef-bg,#fff);box-shadow:0 24px 80px rgb(0 0 0 / .18)}
.ef-package-dialog::backdrop{background:rgb(0 0 0 / .45)}
.ef-package-close{display:block;margin:0 0 8px auto;border:0;background:transparent;font-size:28px;line-height:1;width:40px;height:40px;cursor:pointer;color:inherit;border-radius:8px}
.ef-package-close:hover{background:rgb(0 0 0 / .05)}
.ef-package-dialog .ef-bundle-packages{display:flex!important;flex-direction:column!important;overflow:visible!important}
.ef-package-dialog .ef-bundle-package{width:100%!important;flex:auto!important}
.ef-package-submit{width:100%;min-height:48px;margin-top:16px}
.ef-package-submit:disabled{opacity:.5}
.ef-delivery-first{--ef-checkout-line:color-mix(in srgb,var(--ef-font-color,#202125) 12%,transparent);--ef-checkout-soft:color-mix(in srgb,var(--ef-font-color,#202125) 3%,var(--ef-bg,#fff));--ef-checkout-accent:var(--ef-primary,#3b82f6);max-width:850px;margin:0 auto;display:flex;flex-direction:column;gap:18px;color:var(--ef-font-color,#202125)}
body.woocommerce-checkout form.checkout:has(> .ef-delivery-first){display:block!important}
body.woocommerce-checkout form.checkout > .ef-delivery-first{width:100%;max-width:850px;margin-inline:auto;grid-column:1 / -1}
body.woocommerce-checkout form.checkout .ef-delivery-first > *{order:0!important;grid-area:auto!important}
body.woocommerce-checkout form.checkout .ef-delivery-first > .ef-checkout-section-card{order:0!important;grid-area:auto!important}
body.woocommerce-checkout form.checkout .ef-delivery-first .ef-checkout-section-card{position:static!important;width:100%!important;margin:0!important;padding:20px!important;border:1px solid var(--ef-checkout-line)!important;border-radius:16px!important;background:var(--ef-bg,#fff)!important;box-shadow:0 3px 14px rgb(0 0 0 / .025);box-sizing:border-box}
body.woocommerce-checkout form.checkout .ef-delivery-first .ef-checkout-section-card > h3{display:flex!important;align-items:center;gap:10px;font-size:19px!important;line-height:1.3!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;margin:-20px -20px 20px!important;padding:16px 20px!important;background:var(--ef-checkout-soft)!important;border:0!important;border-bottom:1px solid var(--ef-checkout-line)!important;border-radius:15px 15px 0 0!important}
.ef-checkout-step{display:inline-flex;align-items:center;justify-content:center;flex:0 0 27px;height:27px;border-radius:50%;background:var(--ef-bg,#fff);border:1px solid var(--ef-checkout-line);color:var(--ef-checkout-accent);font:700 14px/1 sans-serif}
.ef-checkout-top-item{display:flex;gap:14px;align-items:center;padding:8px 0 14px}
.ef-checkout-top-item img{width:56px;height:64px;object-fit:contain;flex-shrink:0}
.ef-checkout-top-item>span{flex:1;min-width:0;font-weight:600;line-height:1.4}
.ef-checkout-top-item small{display:block;font-weight:400;font-size:12px;margin-top:5px;opacity:.7}
.ef-checkout-top-item>strong{white-space:nowrap;font-size:16px}
.ef-checkout-promotion{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:12px 14px;border:1px solid #c9e7d5;border-radius:10px;background:#f0f9f3;color:#176b3a;font-size:14px}
.ef-checkout-promotion>span{display:flex;align-items:center;gap:8px;font-weight:600}
.ef-checkout-promotion svg{flex-shrink:0}
.ef-checkout-promotion>strong{white-space:nowrap;font-size:16px}
.ef-conversion-total{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;margin-top:16px;border-top:1px solid var(--ef-checkout-line);font-size:17px}
.ef-checkout-reassurance{padding:16px 20px;border:1px solid var(--ef-checkout-line);border-radius:12px;font-size:14px;line-height:1.5}
.ef-checkout-returns{display:flex;align-items:center;gap:14px;background:var(--ef-checkout-soft);font-weight:500}
.ef-reassurance-icon,.ef-trust-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;background:var(--ef-bg,#fff);border:1px solid var(--ef-checkout-line);color:var(--ef-checkout-accent)}
.ef-checkout-timer{border-radius:12px}
.ef-checkout-timer[hidden]{display:none!important}
.ef-checkout-trust{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;padding:4px 0;color:var(--ef-font-color,#202125)}
.ef-checkout-trust-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;line-height:1.5}
.ef-checkout-trust-item+.ef-checkout-trust-item::before{content:'•';margin-right:6px;opacity:.3}
.ef-checkout-trust .ef-trust-icon{display:inline-flex;width:auto;height:auto;border:0;border-radius:0;background:none;color:var(--ef-checkout-accent)}
.ef-checkout-trust .ef-trust-icon svg{width:15px;height:15px;stroke-width:1.7}
.ef-delivery-first #customer_details{display:block;width:100%}
.ef-delivery-first #customer_details .col-1,.ef-delivery-first #customer_details .col-2{float:none;width:100%}
.ef-delivery-first .woocommerce-billing-fields>h3{display:none}
/* Keep gateway forms intact; only remove duplicated outer text spacing. */
body.woocommerce-checkout .ef-delivery-first #payment ul.payment_methods > li{row-gap:4px!important;align-items:start!important}
body.woocommerce-checkout .ef-delivery-first #payment ul.payment_methods li .payment_box{padding:0!important;margin:0!important}
body.woocommerce-checkout .ef-delivery-first #payment .payment_box > p:first-child{margin-top:0!important}
body.woocommerce-checkout .ef-delivery-first #payment .payment_box > p:last-child{margin-bottom:0!important}
/* Extra controls stay in their original DOM, including plugin handlers and IDs. */
body.woocommerce-checkout .ef-delivery-first .woocommerce-shipping-methods > li{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;gap:8px 12px!important;align-items:start!important}
body.woocommerce-checkout .ef-delivery-first .woocommerce-shipping-methods > li > label{grid-column:2!important;grid-row:1!important;min-width:0!important;margin:0!important;padding:0!important}
body.woocommerce-checkout .ef-delivery-first .woocommerce-shipping-methods > li > :not(input):not(label){grid-column:2!important;min-width:0;max-width:100%;margin:0!important}
body.woocommerce-checkout .ef-delivery-first .woocommerce-shipping-methods > li > .ef-delivery-meta{grid-row:2;line-height:1.5}
body.woocommerce-checkout .ef-delivery-first .ef-delivery-meta small{margin:0!important}
body.woocommerce-checkout .ef-delivery-first .ef-delivery-meta:not(:has(small)){display:none}
body.woocommerce-checkout .ef-delivery-first .woocommerce-shipping-methods > li > :not(label) :is(a,button){box-sizing:border-box;max-width:100%;white-space:normal;line-height:1.4}
body.woocommerce-checkout .ef-delivery-first .woocommerce-shipping-methods > li > p > a{display:inline-flex!important;align-items:center;justify-content:center;padding:10px 14px!important;border-radius:8px!important;font-size:13px!important;margin:2px 0!important}
/* One compact visual row per item and delivery, followed by the native totals. */
body.woocommerce-checkout .ef-delivery-first #order_review .shop_table tr{align-items:center!important;gap:12px;border:0!important;border-bottom:1px solid var(--ef-checkout-line)!important}
body.woocommerce-checkout .ef-delivery-first #order_review .shop_table :is(th,td){padding:10px 0!important;border:0!important;font-size:14px!important;line-height:1.4!important}
body.woocommerce-checkout .ef-delivery-first #order_review .shop_table .product-name{min-width:0;flex:1!important}
body.woocommerce-checkout .ef-delivery-first #order_review .shop_table .product-total{flex:0 0 auto!important;white-space:nowrap}
body.woocommerce-checkout .ef-delivery-first #order_review .ef-checkout-product-row{gap:12px!important}
body.woocommerce-checkout .ef-delivery-first #order_review .ef-checkout-product-thumb{width:44px!important;height:48px!important;object-fit:contain!important;flex-shrink:0}
body.woocommerce-checkout .ef-delivery-first #order_review .ef-checkout-product-name{font-size:14px!important;line-height:1.4!important}
body.woocommerce-checkout .ef-delivery-first #order_review .ef-checkout-product-qty{font-size:12px!important;margin-top:3px!important}
.ef-summary-shipping-label{display:flex;align-items:center;gap:12px;font-weight:500}
.ef-summary-shipping-icon{display:flex;align-items:center;justify-content:center;width:44px;height:36px;flex-shrink:0;color:var(--ef-checkout-accent)}
body.woocommerce-checkout .ef-delivery-first #order_review .shop_table .order-total{border-bottom:0!important}
body.woocommerce-checkout .ef-delivery-first #order_review .shop_table .order-total :is(th,td){font-size:18px!important;padding-top:14px!important}
body.woocommerce-checkout .ef-delivery-first #order_review .shop_table .includes_tax{font-size:11px!important;font-weight:400!important;margin-top:4px!important}

body.woocommerce-checkout form.checkout .ef-delivery-first #order_review{position:static!important;inset:auto!important;transform:none!important;grid-area:auto!important;width:100%!important;float:none!important;max-height:none!important;overflow:visible!important;margin:16px 0 20px!important;padding:12px 16px!important;border:1px solid var(--ef-checkout-line);border-radius:12px!important;background:var(--ef-checkout-soft)!important}
body.woocommerce-checkout .ef-delivery-first .ef-checkout-place-order--mobile-inline{width:100%!important;max-width:none!important}
body.woocommerce-checkout .ef-delivery-first .ef-delivery-meta small{display:block;font-size:12px;line-height:1.5;margin-top:5px;font-weight:400}
body.woocommerce-checkout .ef-delivery-first .ef-delivery-meta .ef-dispatch-meta{font-weight:600}
.ef-delivery-first #place_order{width:100%;white-space:normal;min-height:54px}
body.woocommerce-checkout .ef-delivery-first .ef-cod-note{clear:both;display:block;text-align:center!important;font-size:13px!important;font-weight:500!important;line-height:1.5!important;margin:12px 0 0!important;padding:0!important;opacity:.75}
body.woocommerce-checkout .ef-delivery-first .ef-cod-note[hidden]{display:none!important}
@media(max-width:768px){
 .ef-package-dialog{margin:auto 0 0;width:100%;max-width:100%;border-radius:20px 20px 0 0;padding:12px 16px 20px;box-sizing:border-box}
 .ef-delivery-first{gap:14px}
 body.woocommerce-checkout form.checkout .ef-delivery-first .ef-checkout-section-card{padding:16px!important}
 body.woocommerce-checkout form.checkout .ef-delivery-first .ef-checkout-section-card>h3{margin:-16px -16px 16px!important;padding:14px 16px!important;font-size:17px!important}
 .ef-checkout-top-item{font-size:14px;gap:10px}
 .ef-checkout-top-item>strong{font-size:14px}
 .ef-checkout-trust{gap:6px}
 .ef-checkout-trust-item{font-size:10px;gap:4px}
 .ef-checkout-trust-item+.ef-checkout-trust-item::before{margin-right:2px}
 .ef-checkout-trust .ef-trust-icon svg{width:13px;height:13px}
 .ef-checkout-promotion{font-size:12px;padding:10px}
 .ef-checkout-promotion>strong{font-size:14px}
 .ef-checkout-reassurance{padding:14px 16px;font-size:13px}
}

/* WooCommerce clearfix pseudo-elements must not become extra grid rows. */
body.woocommerce-checkout .ef-delivery-first #payment ul.payment_methods > li::before,
body.woocommerce-checkout .ef-delivery-first #payment ul.payment_methods > li::after,
body.woocommerce-checkout .ef-delivery-first .woocommerce-shipping-methods > li::before,
body.woocommerce-checkout .ef-delivery-first .woocommerce-shipping-methods > li::after{display:none!important}
body.woocommerce-checkout .ef-delivery-first #payment ul.payment_methods > li > label{grid-row:1!important}

/* Match the ID-based runtime styles too: keep a reserved radio column while centering against the full card. */
body.woocommerce-checkout form.checkout .ef-delivery-first :is(#shipping_method,#payment .payment_methods) > li{position:relative!important;padding-inline-start:18px!important;grid-template-columns:18px minmax(0,1fr)!important;column-gap:12px!important}
body.woocommerce-checkout form.checkout .ef-delivery-first :is(#shipping_method,#payment .payment_methods) > li > input[type="radio"]{position:absolute!important;inset:auto!important;inset-inline-start:18px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;width:18px!important;height:18px!important;box-sizing:border-box!important}
body.woocommerce-checkout form.checkout .ef-delivery-first :is(#shipping_method,#payment .payment_methods) > li > label{grid-column:2!important;grid-row:1!important;min-height:24px!important;line-height:24px!important;align-items:start!important}
body.woocommerce-checkout form.checkout .ef-delivery-first #payment .payment_methods > li > label img{max-height:24px!important;align-self:flex-start!important}

/* Reserve a price rail so controls never collide with the vertically centered amount. */
body.woocommerce-checkout form.checkout .ef-delivery-first #shipping_method > li{position:relative!important;padding-inline-end:calc(18px + 5rem)!important}
body.woocommerce-checkout form.checkout .ef-delivery-first #shipping_method > li > label{display:block!important}
body.woocommerce-checkout form.checkout .ef-delivery-first #shipping_method .ef-shipping-method-price{position:absolute!important;inset-inline-end:18px!important;top:50%!important;transform:translateY(-50%)!important;width:5rem;max-width:5rem;text-align:end!important;margin:0!important;line-height:1.4!important}
body.woocommerce-checkout form.checkout .ef-delivery-first #shipping_method .ef-shipping-method-name{line-height:24px!important}

body.woocommerce-checkout form.checkout #payment .payment_methods > li > label img.ef-payment-custom-logo{width:auto!important;max-width:min(100%,var(--ef-payment-logo-width,120px))!important;height:auto!important;max-height:40px!important;object-fit:contain}

/* One separator before visible plugin controls; native plugin DOM and handlers stay intact. */
body.woocommerce-checkout form.checkout .ef-delivery-first #shipping_method > li > .ef-shipping-extra-divider{grid-column:2!important;height:0!important;min-height:0!important;width:min(70%,220px)!important;padding:0!important;margin:10px 0!important;border:0!important;border-top:1px solid color-mix(in srgb,var(--ef-font-color,#202125) 7%,var(--ef-bg,#fff))!important}
