*{box-sizing:border-box}
.fastpurchase-checkout{background:#fff;color:#151515}
.fastpurchase-checkout .woocommerce{max-width:940px;margin:0 auto;padding:24px 20px 126px}
.fastpurchase-checkout .woocommerce-info,.fastpurchase-checkout .woocommerce-message,.fastpurchase-checkout .woocommerce-error{border-radius:12px}
.fastpurchase-checkout form.checkout{display:flex;flex-direction:column;margin:0!important}
.fastpurchase-checkout .fp-section,.fastpurchase-checkout .fp-card,.fastpurchase-checkout #customer_details,.fastpurchase-checkout .fp-payment-section{width:100%;margin:0 0 28px}
.fastpurchase-checkout .fp-packages{order:1}.fastpurchase-checkout .fp-vouchers{order:2}.fastpurchase-checkout .fp-summary{order:3}.fastpurchase-checkout #customer_details{order:4}.fastpurchase-checkout .fp-payment-section{order:5}
.fastpurchase-checkout .fp-card,.fastpurchase-checkout #customer_details,.fastpurchase-checkout .fp-payment-section{border:1px solid #e7e7e7;border-radius:14px;background:#fff;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,.02)}
.fastpurchase-checkout #order_review_heading{display:none!important}.fastpurchase-checkout #order_review{display:contents!important}
.fp-section-title,.fastpurchase-checkout .woocommerce-billing-fields>h3{font-size:27px;line-height:1.2;font-weight:500;letter-spacing:-.5px;margin:0 0 18px;color:#151515}
.fastpurchase-checkout .woocommerce-billing-fields>h3{font-size:25px;font-weight:500;margin-bottom:22px}
.fastpurchase-checkout .col2-set .col-1,.fastpurchase-checkout .col2-set .col-2{width:100%;float:none}
.fastpurchase-checkout .woocommerce-additional-fields{margin-top:18px}
.fastpurchase-checkout .fp-hidden-field,.fastpurchase-checkout .fp-country-field{display:none!important}
.fastpurchase-checkout .woocommerce-shipping-fields,.fastpurchase-checkout #ship-to-different-address{display:none!important}

/* Package picker - screenshot inspired */
.fp-package-list{display:grid;gap:14px}
.fp-package-option{position:relative;display:grid;grid-template-columns:38px 72px minmax(0,1fr) 180px;align-items:center;gap:16px;min-height:116px;border:2px solid #e7e7e7;border-radius:15px;padding:16px 22px;background:#fff;box-shadow:0 2px 3px rgba(0,0,0,.04);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;cursor:pointer}
.fp-package-option:hover{border-color:#cfcfcf}
.fp-package-option.is-selected{border-color:var(--fp-accent);background:color-mix(in srgb,var(--fp-accent) 4%,white);box-shadow:0 3px 8px color-mix(in srgb,var(--fp-accent) 12%,transparent)}
.fp-package-option.is-loading{opacity:.68;pointer-events:none}
.fp-package-ribbon{position:absolute;z-index:3;top:-11px;right:18px;display:inline-flex;align-items:center;gap:5px;min-height:25px;padding:4px 10px 4px 8px;border-radius:8px 8px 8px 2px;background:#1f2937;color:#fff;font-size:11px;font-weight:800;line-height:1;letter-spacing:.1px;box-shadow:0 3px 9px rgba(0,0,0,.12);white-space:nowrap;pointer-events:none}
.fp-package-ribbon:after{content:"";position:absolute;right:10px;bottom:-5px;border-width:5px 5px 0 0;border-style:solid;border-color:#1f2937 transparent transparent transparent;filter:brightness(.72)}
.fp-package-ribbon-2{background:var(--fp-accent)}
.fp-package-ribbon-2:after{border-top-color:var(--fp-accent)}
.fp-package-ribbon-1,.fp-package-ribbon-3{background:#7a5b16}
.fp-package-ribbon-1:after,.fp-package-ribbon-3:after{border-top-color:#7a5b16}
.fp-ribbon-icon{font-size:13px;line-height:1}
.fp-package-radio-wrap{display:flex;align-items:center;justify-content:center;margin:0}
.fp-package-radio{position:absolute;opacity:0;pointer-events:none}
.fp-radio-ui{width:22px;height:22px;border-radius:50%;border:2px solid #8b8b8b;background:#fff;display:block;position:relative}
.fp-package-option.is-selected .fp-radio-ui{border-color:var(--fp-accent)}
.fp-package-option.is-selected .fp-radio-ui:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--fp-accent)}
.fp-package-image{width:64px;height:64px;border-radius:8px;background:#f6f7f7;overflow:hidden;display:flex;align-items:center;justify-content:center}
.fp-package-image img{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important}
.fp-package-name{min-width:0;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.fp-package-name strong{font-size:22px;line-height:1.25;font-weight:500;color:#151515}
.fp-package-special{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#fff0d8;color:#8a5900;font-size:11px;font-weight:800;line-height:1}
.fp-package-price{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.fp-package-price del{font-size:17px;color:#999;font-weight:400;line-height:1.1}
.fp-package-price strong{font-size:25px;color:#111;font-weight:800;line-height:1.1}
.fp-package-saving{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#d8f4df;color:#147035;font-size:14px;font-weight:800;white-space:nowrap}
.fp-variation-link{font-size:12px;font-weight:800;color:var(--fp-accent);text-decoration:none}
#fp_product_message{font-size:13px;min-height:18px;margin-top:8px}#fp_product_message.ok{color:#147035}#fp_product_message.error{color:#bf2222}

/* Voucher */
.fp-vouchers{padding:18px 22px!important;margin-bottom:22px!important}
.fp-voucher-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.fp-voucher-heading strong{font-size:16px}.fp-voucher-heading span{font-size:12px;color:#777}
.fp-coupon-entry{display:flex;gap:8px}.fp-coupon-entry input{flex:1;min-width:0;border:1px solid #d7d7d7;border-radius:10px;padding:11px 12px;min-height:44px}.fp-coupon-entry button,.fp-voucher button{border:0;background:var(--fp-accent);color:#fff;border-radius:9px;font-weight:800;padding:0 16px;cursor:pointer}
#fp_coupon_message{font-size:12px;margin-top:8px;min-height:16px}#fp_coupon_message.ok{color:#16863d}#fp_coupon_message.error{color:#c62828}
.fp-voucher-list{display:grid;gap:8px;margin-top:11px}.fp-voucher{border:1px dashed color-mix(in srgb,var(--fp-accent) 42%,#ddd);border-radius:10px;background:color-mix(in srgb,var(--fp-accent) 3%,white);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.fp-voucher strong,.fp-voucher span{display:block}.fp-voucher strong{font-weight:800}.fp-voucher span{font-size:11px;color:#777;margin-top:2px}.fp-voucher button{padding:8px 12px}

/* Summary */
.fp-summary{padding:24px 26px!important}
.fp-summary .shop_table{border:0!important;margin:0!important;border-collapse:collapse!important;background:transparent!important}
.fp-summary .shop_table thead{display:none}
.fp-summary .shop_table td,.fp-summary .shop_table th{border:0!important;background:transparent!important;padding:11px 0!important;font-size:16px;color:#555}
.fp-summary .shop_table .cart_item td{padding:0 0 18px!important;border-bottom:1px solid #e5e5e5!important}
.fp-summary .shop_table .product-total{text-align:right;vertical-align:middle;width:34%;font-weight:700;color:#111}
.fp-summary-product{display:flex;align-items:center;gap:16px;min-width:0}
.fp-summary-image{width:78px;height:78px;flex:0 0 78px;border:1px solid #dedede;border-radius:12px;overflow:hidden;background:#f7f7f7}
.fp-summary-image img{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important}
.fp-summary-name{font-size:18px;font-weight:800;color:#151515;line-height:1.3}
.fp-summary .product-name .product-quantity{display:inline-block;margin-left:94px;margin-top:-24px;color:#777;font-weight:400}
.fp-summary .woocommerce-shipping-methods{margin:0;padding:0;list-style:none}.fp-summary .woocommerce-shipping-methods li{margin:0}
.fp-summary .cart-subtotal th,.fp-summary .woocommerce-shipping-totals th,.fp-summary .order-total th{text-align:left;font-weight:400}
.fp-summary .cart-subtotal td,.fp-summary .woocommerce-shipping-totals td,.fp-summary .order-total td{text-align:right}
.fp-summary .order-total th,.fp-summary .order-total td{border-top:1px solid #e5e5e5!important;padding-top:18px!important;font-size:24px;color:#111;font-weight:500}
.fp-summary .order-total td strong{font-weight:500}
.fp-summary .woocommerce-remove-coupon{font-size:11px}

/* Delivery fields */
.fastpurchase-checkout #customer_details{padding:0;border:0;box-shadow:none}
.fastpurchase-checkout .woocommerce-billing-fields{border:0;background:#fff;padding:0}
.fastpurchase-checkout .form-row{margin:0 0 20px!important;padding:0!important}
.fastpurchase-checkout .form-row label{display:block;font-size:18px;font-weight:700;color:#161616;margin:0 0 8px}
.fastpurchase-checkout .form-row .required{color:#dd3232}
.fastpurchase-checkout input.input-text,.fastpurchase-checkout select,.fastpurchase-checkout textarea,.fastpurchase-checkout .select2-container .select2-selection--single{width:100%;border:1.5px solid #cfcfcf;border-radius:10px;min-height:58px;padding:12px 14px;background:#fff;box-shadow:none;font-size:17px;transition:border-color .15s ease,box-shadow .15s ease}
.fastpurchase-checkout .select2-container .select2-selection--single{padding:0 14px}.fastpurchase-checkout .select2-container .select2-selection--single .select2-selection__rendered{line-height:56px;padding:0}.fastpurchase-checkout .select2-container .select2-selection--single .select2-selection__arrow{height:56px;right:10px}
.fastpurchase-checkout input.input-text:focus,.fastpurchase-checkout select:focus,.fastpurchase-checkout textarea:focus,.fastpurchase-checkout .select2-container--open .select2-selection--single{border-color:var(--fp-accent);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--fp-accent) 10%,transparent)}
.fastpurchase-checkout #ship-to-different-address{font-size:16px;margin:0 0 14px}.fastpurchase-checkout .woocommerce-additional-fields h3{font-size:18px}

/* Payment */
.fp-payment-section{padding:0!important;border:0!important;box-shadow:none!important}
.fastpurchase-checkout #payment{background:transparent!important;border:0!important}
.fastpurchase-checkout #payment ul.payment_methods{padding:0!important;border:0!important;margin:0!important}
.fastpurchase-checkout #payment ul.payment_methods li{border:1.5px solid #e0e0e0;border-radius:12px;padding:17px 20px;margin:0 0 10px;background:#fff;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;font-size:17px}
.fastpurchase-checkout #payment ul.payment_methods li:has(input:checked){border:2px solid var(--fp-accent);padding:16.5px 19.5px;background:color-mix(in srgb,var(--fp-accent) 3%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--fp-accent) 5%,transparent)}
.fastpurchase-checkout #payment ul.payment_methods li input{margin-right:10px}
.fastpurchase-checkout #payment ul.payment_methods li label{font-weight:700;color:#222}
.fastpurchase-checkout #payment .payment_box{background:#f8f8f8;border-radius:9px;font-size:14px;margin:14px -20px -17px;padding:16px 20px;color:#444}.fastpurchase-checkout #payment .payment_box:before{display:none}
.fastpurchase-checkout #payment .place-order{padding:0!important;margin:0!important}.fastpurchase-checkout #payment .woocommerce-privacy-policy-text{font-size:12px;color:#777;margin-top:12px}
.fastpurchase-checkout #place_order{width:100%;min-height:58px;border:0;border-radius:12px;background:var(--fp-accent);color:#fff;font-weight:800;font-size:18px;margin-top:14px;box-shadow:0 8px 20px color-mix(in srgb,var(--fp-accent) 20%,transparent)}
.fp-trust-notes{border:1px solid #ececec;border-radius:10px;background:#fafafa;padding:14px 16px;margin-top:10px;display:grid;gap:7px;font-size:13px;color:#555}

/* Sticky purchase bar */
.fp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:9998;background:rgba(255,255,255,.985);backdrop-filter:blur(10px);box-shadow:0 -5px 24px rgba(0,0,0,.11);border-top:1px solid #ededed;padding:14px max(20px,calc((100vw - 940px)/2 + 20px));display:flex;align-items:center;justify-content:space-between;gap:28px}
.fp-sticky-copy{display:flex;flex-direction:column;min-width:160px}.fp-sticky small{font-size:14px;color:#666;line-height:1.1}.fp-sticky strong{font-size:29px;line-height:1.1;color:#111;font-weight:800;margin-top:3px}.fp-sticky-pay{border:0;border-radius:12px;background:var(--fp-accent);color:#fff;font-weight:800;min-height:62px;padding:0 58px;cursor:pointer;font-size:20px;box-shadow:0 7px 18px color-mix(in srgb,var(--fp-accent) 20%,transparent)}.fp-sticky-pay.is-loading{opacity:.72;cursor:wait}
.fastpurchase-focus-mode header,
.fastpurchase-focus-mode .site-header,
.fastpurchase-focus-mode #masthead,
.fastpurchase-focus-mode .wp-site-blocks > header,
.fastpurchase-focus-mode header.wp-block-template-part,
.fastpurchase-focus-mode .elementor-location-header,
.fastpurchase-focus-mode [data-elementor-type="header"],
.fastpurchase-focus-mode .header-main,
.fastpurchase-focus-mode .main-header,
.fastpurchase-focus-mode .site-navigation,
.fastpurchase-focus-mode .main-navigation,
.fastpurchase-focus-mode .wp-block-navigation,
.fastpurchase-focus-mode .wp-block-search,
.fastpurchase-focus-mode .search-toggle,
.fastpurchase-focus-mode .search-icon{display:none!important}
.fastpurchase-focus-mode .wp-site-blocks{padding-top:0!important}
.fastpurchase-focus-mode main{margin-top:0!important}

/* Thank-you page: do not replace WooCommerce content; simply make it cleaner. */
.fastpurchase-thankyou .woocommerce{max-width:900px;margin:30px auto;padding:20px}.fastpurchase-thankyou .woocommerce-order{background:#fff;border:1px solid #e7e7e7;border-radius:16px;padding:24px}.fastpurchase-thankyou .woocommerce-thankyou-order-received{font-size:22px;font-weight:800;color:#17733a}

@media(max-width:780px){
 .fastpurchase-checkout .woocommerce{padding:18px 14px 116px}.fastpurchase-checkout .fp-section,.fastpurchase-checkout .fp-card,.fastpurchase-checkout #customer_details,.fastpurchase-checkout .fp-payment-section{margin-bottom:22px}.fp-section-title,.fastpurchase-checkout .woocommerce-billing-fields>h3{font-size:24px;margin-bottom:16px}
 .fp-package-list{gap:16px}.fp-package-option{grid-template-columns:28px 58px minmax(0,1fr) 128px;gap:10px;min-height:100px;padding:17px 12px 14px;border-radius:13px}.fp-package-ribbon{top:-9px;right:10px;min-height:22px;padding:3px 8px 3px 6px;font-size:9px}.fp-ribbon-icon{font-size:11px}.fp-radio-ui{width:20px;height:20px}.fp-package-image{width:54px;height:54px}.fp-package-name strong{font-size:18px}.fp-package-special{font-size:9px;padding:4px 7px}.fp-package-price del{font-size:14px}.fp-package-price strong{font-size:21px}.fp-package-saving{font-size:12px;padding:5px 9px}
 .fp-vouchers,.fp-summary{padding:18px!important}.fp-summary-image{width:66px;height:66px;flex-basis:66px}.fp-summary-name{font-size:16px}.fp-summary .product-name .product-quantity{margin-left:82px}.fp-summary .order-total th,.fp-summary .order-total td{font-size:21px}
 .fastpurchase-checkout .form-row label{font-size:16px}.fastpurchase-checkout input.input-text,.fastpurchase-checkout select,.fastpurchase-checkout textarea,.fastpurchase-checkout .select2-container .select2-selection--single{min-height:54px;font-size:16px}.fastpurchase-checkout .select2-container .select2-selection--single .select2-selection__rendered{line-height:52px}.fastpurchase-checkout .select2-container .select2-selection--single .select2-selection__arrow{height:52px}
 .fastpurchase-checkout #payment ul.payment_methods li{padding:15px 14px}.fastpurchase-checkout #payment ul.payment_methods li:has(input:checked){padding:14.5px 13.5px}.fastpurchase-checkout #payment .payment_box{margin:12px -14px -15px;padding:14px}
 .fastpurchase-checkout #place_order{display:none!important}.fp-sticky{padding:12px 14px;gap:16px}.fp-sticky-copy{min-width:116px}.fp-sticky small{font-size:12px}.fp-sticky strong{font-size:25px}.fp-sticky-pay{flex:1;min-height:58px;padding:0 18px;font-size:18px}.fastpurchase-checkout .woocommerce-form-coupon-toggle{display:none}
}

@media(max-width:520px){
 .fp-package-option{grid-template-columns:24px 50px minmax(0,1fr) 105px;gap:8px;padding:16px 10px 12px}.fp-package-ribbon{right:8px;max-width:145px;overflow:hidden;text-overflow:ellipsis}.fp-package-image{width:48px;height:48px}.fp-package-name strong{font-size:15px}.fp-package-price del{font-size:12px}.fp-package-price strong{font-size:18px}.fp-package-saving{font-size:10px;padding:4px 7px}.fp-summary .shop_table .product-total{width:30%}.fp-summary .shop_table td,.fp-summary .shop_table th{font-size:14px}.fp-sticky-pay{font-size:17px}
}


/* FastPurchase v2: focus mode floating cart suppression */
.fp-hidden-floating-cart{display:none!important;visibility:hidden!important;pointer-events:none!important}
.fastpurchase-checkout .wp-block-woocommerce-mini-cart,
.fastpurchase-checkout .wc-block-mini-cart,
.fastpurchase-checkout .elementor-menu-cart__toggle,
.fastpurchase-checkout .site-header-cart,
.fastpurchase-checkout .ast-site-header-cart,
.fastpurchase-checkout .xoo-wsc-basket,
.fastpurchase-checkout .xoo-wsc-markup,
.fastpurchase-checkout .woofc-count,
.fastpurchase-checkout .woofc-area,
.fastpurchase-checkout .xt_woofc-cart-open,
.fastpurchase-checkout .cartpops-floating-cart,
.fastpurchase-checkout .cartpops-cart__container,
.fastpurchase-checkout .floating-cart,
.fastpurchase-checkout .floating-cart-button,
.fastpurchase-checkout .floating-cart-icon{display:none!important}

/* Real-order social proof. Data is anonymised server-side. */
.fp-social-proof{position:fixed;left:18px;bottom:104px;z-index:9997;width:min(370px,calc(100vw - 36px));display:grid;grid-template-columns:42px minmax(0,1fr) 28px;gap:11px;align-items:center;background:#fff;border:1px solid #e7e7e7;border-radius:14px;padding:12px 11px 12px 12px;box-shadow:0 12px 34px rgba(0,0,0,.16);opacity:0;transform:translateY(14px);visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility .25s ease;font-size:13px;color:#242424}
.fp-social-proof.is-visible{opacity:1;transform:translateY(0);visibility:visible}
.fp-social-proof-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ecf8ef;color:#16813b;font-size:20px;font-weight:900}
.fp-social-proof-copy{min-width:0;line-height:1.35}.fp-social-proof-kicker{display:block;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.6px;color:#16813b;font-weight:900;margin-bottom:3px}.fp-social-proof-main{display:block;font-size:13px;font-weight:700;color:#202020}.fp-social-proof-product{font-weight:800}.fp-social-proof-time{display:block;color:#777;font-size:11px;margin-top:3px}.fp-social-proof-close{align-self:start;border:0;background:transparent;color:#8b8b8b;font-size:20px;line-height:1;padding:2px;cursor:pointer}
@media(max-width:780px){.fp-social-proof{left:10px;bottom:91px;width:min(350px,calc(100vw - 20px));padding:10px;grid-template-columns:38px minmax(0,1fr) 24px}.fp-social-proof-icon{width:38px;height:38px;font-size:18px}.fp-social-proof-main{font-size:12px}}

.fp-hidden-theme-header{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important}
