/* ==========================================================================
   FP Custom Checkout v3.6.0 — CSS redesign pour WooCommerce Blocks
   Scope: body.fp-custom (shared), body.fp-cart, body.fp-checkout
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. RESET SALIENT WRAPPERS + GLOBAL
   -------------------------------------------------------------------------- */

/* Hide WooCommerce cross-sells on cart page */
body.fp-cart .wp-block-woocommerce-product-collection,
body.fp-cart .cross-sells {
	display: none !important;
}

/* Force-hide original footer elements (clones are placed by JS) */
#fp-trust-badges,
#fp-payment-methods,
#fp-reviews,
#fp-disclaimer,
#fp-free-shipping-bar,
#fp-upsell-block {
	display: none !important;
}

body.fp-custom .container-wrap {
	padding-top: 40px !important;
	background: #fff !important;
}

body.fp-custom .container.main-content {
	max-width: none !important;
	padding: 0 60px !important;
	margin: 0 auto !important;
}

body.fp-custom .container.main-content > .row {
	display: block !important;
	margin: 0 !important;
	padding: 20px 0 80px !important;
	overflow: visible !important;
}

/* CRITIQUE : overflow: visible sur TOUTE la chaîne ancêtre
   pour que position: sticky fonctionne sur la sidebar.
   Sticky est cassé dès qu'un parent a overflow != visible. */
body.fp-custom .container-wrap,
body.fp-custom .container.main-content,
body.fp-custom .container.main-content > .row,
body.fp-custom .wc-block-components-sidebar-layout {
	overflow: visible !important;
}

/* CRITIQUE : WC Blocks met container-type: inline-size sur le layout
   et ses ancêtres. Cela crée un "containment context" qui casse
   position: sticky. On le désactive sur TOUTE la chaîne. */
body.fp-custom .container-wrap,
body.fp-custom .container.main-content,
body.fp-custom .container.main-content > .row,
body.fp-custom .wc-block-components-sidebar-layout,
body.fp-custom .wp-block-woocommerce-cart,
body.fp-custom .wp-block-woocommerce-checkout,
body.fp-custom .entry-content,
body.fp-custom .entry {
	container-type: normal !important;
}

body.fp-custom .woocommerce-breadcrumb {
	font-size: 13px !important;
	color: #999 !important;
	margin-bottom: 24px !important;
}

body.fp-custom .woocommerce-breadcrumb a {
	color: #666 !important;
	text-decoration: none !important;
}

body.fp-custom #page-header-bg,
body.fp-custom .page-header-no-bg,
body.fp-custom #page-header-wrap,
body.fp-custom .nectar-shop-header {
	display: none !important;
}

body.fp-custom {
	font-family: 'Work Sans', sans-serif !important;
	color: #1a1a1a !important;
	-webkit-font-smoothing: antialiased !important;
}

body.fp-custom h1,
body.fp-custom h2,
body.fp-custom h3,
body.fp-custom h4 {
	font-family: 'Syne', sans-serif !important;
	color: #1a1a1a !important;
	letter-spacing: -0.02em !important;
}


/* ==========================================================================
   1. FORCE 2-COLUMN LAYOUT (cart + checkout)
   ========================================================================== */

body.fp-custom .wc-block-components-sidebar-layout {
	display: flex !important;
	flex-wrap: nowrap !important;
	flex-direction: row !important;
	gap: 40px !important;
	margin: 0 auto !important;
	align-items: stretch !important; /* stretch pour que le wrapper sidebar soit aussi haut que le contenu principal */
}

body.fp-custom .wc-block-components-sidebar-layout .wc-block-components-main {
	flex: 1 1 0% !important;
	min-width: 0 !important;
	width: auto !important;
	padding-right: 0 !important;
}

body.fp-custom .wc-block-components-sidebar-layout .wc-block-components-sidebar {
	flex: 0 0 360px !important;
	width: 360px !important;
	min-width: 360px !important;
	padding: 0 !important;
	/* Sticky sidebar : suit le scroll */
	position: sticky !important;
	top: 100px !important;
	align-self: flex-start !important; /* REQUIS pour sticky dans un flex container */
}

/* --- Wrapper sidebar + disclaimer : le disclaimer est SÉPARÉ de la carte ---
   Le JS wrappe .wc-block-components-sidebar dans .fp-sidebar-wrapper
   pour que le disclaimer soit un frère (sibling), pas un enfant. */
body.fp-custom .fp-sidebar-wrapper {
	flex: 0 0 360px !important;
	width: 360px !important;
	min-width: 360px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	/* stretch = aussi haut que le contenu principal → sticky fonctionne à l'intérieur */
	align-self: stretch !important;
}

/* Quand sidebar est DANS le wrapper, elle n'est plus le flex-child du layout.
   On reset ses propriétés flex et on garde sticky. */
body.fp-custom .fp-sidebar-wrapper > .wc-block-components-sidebar {
	flex: none !important;
	width: 100% !important;
	min-width: 0 !important;
	position: sticky !important;
	top: 100px !important;
	align-self: auto !important;
}


/* ==========================================================================
   2. CART PAGE — 4-column product table
   JS moves .wc-block-cart-item__quantity into <td class="fp-qty-cell">
   Columns: Image | Info | Quantity | Total
   ========================================================================== */

/* --- 2.0 Remove table semantics for CSS Grid --- */

body.fp-cart table.wc-block-cart-items,
body.fp-cart table.wc-block-cart-items thead,
body.fp-cart table.wc-block-cart-items tbody {
	display: block !important;
	width: 100% !important;
}

body.fp-cart .wc-block-cart-items__header th,
body.fp-cart .wc-block-cart-items__row > td {
	display: block !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* --- 2.1 Cart main wrapper --- */

body.fp-cart .wc-block-cart__main {
	background: #fff !important;
	border-radius: 16px !important;
	/* border: 1px solid #eee !important; */
	padding: 0 !important;
	overflow: hidden !important;
}

body.fp-cart table.wc-block-cart-items.wp-block-woocommerce-cart-line-items-block {
	border: 1px solid #eee !important;
	border-radius: 15px !important;
}

/* --- 2.2 Header row --- */

body.fp-cart .wc-block-cart-items__header {
	display: grid !important;
	grid-template-columns: 110px 1fr 110px 80px !important;
	gap: 0 16px !important;
	background: #fafafa !important;
	border-bottom: 1px solid #eee !important;
	padding: 12px 24px !important;
	align-items: center !important;
}

body.fp-cart .wc-block-cart-items__header th {
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #999 !important;
	text-align: left !important;
}

body.fp-cart .wc-block-cart-items__header th:last-child {
	text-align: right !important;
}

/* --- 2.3 Cart item rows — 4-column CSS Grid --- */

body.fp-cart .wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 110px 1fr 110px 80px !important;
	gap: 0 16px !important;
	padding: 20px 24px !important;
	border-bottom: 1px solid #f0f0f0 !important;
	align-items: center !important;
}

body.fp-cart .wc-block-cart-items__row:last-child {
	border-bottom: none !important;
}

/* ---- Column 1: Product image ---- */

body.fp-cart .wc-block-cart-item__image {
	width: 100% !important;
	max-width: 110px !important;
}

body.fp-cart .wc-block-cart-item__image img,
body.fp-cart .wc-block-cart-item__image a img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 !important;
	object-fit: cover !important;
	border-radius: 12px !important;
	background: #f7f7f7 !important;
	border: 1px solid #f0f0f0 !important;
}

/* ---- Column 2: Product info ---- */

body.fp-cart .wc-block-cart-item__product {
	display: flex !important;
	flex-direction: column !important;
	gap: 3px !important;
	justify-content: center !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
}

body.fp-cart .wc-block-cart-item__product .wc-block-components-product-name {
	font-weight: 600 !important;
	font-size: 14px !important;
	color: #1a1a1a !important;
	text-decoration: none !important;
	display: block !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

body.fp-cart .wc-block-components-product-name:hover {
	color: #555 !important;
}

body.fp-cart .wc-block-cart-item__product .wc-block-components-product-metadata {
	font-size: 12px !important;
	color: #999 !important;
}

body.fp-cart .wc-block-components-product-metadata .wc-block-components-product-details {
	margin: 0 !important;
	padding: 0 !important;
}

body.fp-cart .wc-block-components-product-details__name,
body.fp-cart .wc-block-components-product-details__value {
	font-size: 12px !important;
}

body.fp-cart .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-components-product-price {
	font-weight: 600 !important;
	font-size: 13px !important;
	color: #555 !important;
}

body.fp-cart .wc-block-cart-item__product .wc-block-components-sale-badge,
body.fp-cart .wc-block-cart-item__product .wc-block-components-product-badge,
body.fp-cart .wc-block-cart-item__product .fp-sale-badge-moved {
	background: #f7faf7 !important;
	color: #16a34a !important;
	border-radius: 6px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	padding: 3px 8px !important;
	border: 1px solid #e0ede0 !important;
	align-self: flex-start !important;
	order: -1 !important;
	margin-bottom: 4px !important;
}

/* Hide quantity when still inside product td (before JS moves it) */
body.fp-cart .wc-block-cart-item__product > .wc-block-cart-item__quantity {
	display: none !important;
}

/* ---- Column 3: Quantity cell (created by JS) ---- */

body.fp-cart .fp-qty-cell {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
}

body.fp-cart .fp-qty-cell .wc-block-cart-item__quantity {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 6px !important;
}

body.fp-cart .wc-block-components-quantity-selector {
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	height: 36px !important;
	display: inline-flex !important;
}

body.fp-cart .wc-block-components-quantity-selector input {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	border: none !important;
	width: 36px !important;
	text-align: center !important;
}

body.fp-cart .wc-block-components-quantity-selector button {
	border: none !important;
	background: transparent !important;
	color: #888 !important;
	width: 30px !important;
	transition: all 0.15s !important;
}

body.fp-cart .wc-block-components-quantity-selector button:hover {
	background: #f0f0f0 !important;
	color: #1a1a1a !important;
}

body.fp-cart .wc-block-cart-item__remove-link {
	font-size: 11px !important;
	color: #bbb !important;
	text-decoration: none !important;
	transition: color 0.2s !important;
	white-space: nowrap !important;
}

body.fp-cart .wc-block-cart-item__remove-link:hover {
	color: #dc2626 !important;
}

/* ---- Column 4: Subtotal ---- */

body.fp-cart .wc-block-cart-item__total {
	text-align: right !important;
}

body.fp-cart .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
	font-weight: 700 !important;
	font-size: 15px !important;
	color: #1a1a1a !important;
}

/* --- 2.4a Free Shipping Progress Bar (in sidebar) --- */

body.fp-cart #fp-free-shipping-placed {
	margin-bottom: 16px !important;
}

body.fp-cart .fp-shipping-bar {
	background: #f7faf7 !important;
	border: 1px solid #e0ede0 !important;
	border-radius: 12px !important;
	padding: 14px 16px !important;
}

body.fp-cart .fp-shipping-bar__text {
	font-size: 13px !important;
	color: #555 !important;
	margin: 0 0 8px !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	line-height: 1.4 !important;
}

body.fp-cart .fp-shipping-bar__text svg {
	flex-shrink: 0 !important;
	color: #777 !important;
}

body.fp-cart .fp-shipping-bar__text--success {
	color: #16a34a !important;
	font-weight: 500 !important;
}

body.fp-cart .fp-shipping-bar__text--success svg {
	color: #16a34a !important;
}

body.fp-cart .fp-shipping-bar__track {
	height: 6px !important;
	background: #e5e7eb !important;
	border-radius: 3px !important;
	overflow: hidden !important;
}

body.fp-cart .fp-shipping-bar__fill {
	height: 100% !important;
	background: linear-gradient(90deg, #22c55e, #16a34a) !important;
	border-radius: 3px !important;
	transition: width 0.4s ease !important;
}

/* --- 2.4 Cart sidebar (totals) --- */

/* Maximum specificity — covers all WC Blocks selector patterns */
body.fp-cart .wc-block-cart__sidebar,
body.fp-cart .wc-block-components-sidebar .wc-block-cart__sidebar,
body.fp-cart.fp-custom .wp-block-woocommerce-cart .wc-block-cart__sidebar,
body.fp-cart .wc-block-components-sidebar-layout > .wc-block-components-sidebar {
	background: #fff !important;
	border-radius: 16px !important;
	border: 1px solid #eee !important;
	padding: 28px 24px !important;
	box-sizing: border-box !important;
}

/* Force reset on ALL inner wrappers WooCommerce Blocks may generate */
body.fp-cart .wc-block-cart__sidebar > *,
body.fp-cart .wc-block-components-sidebar > *,
body.fp-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
}

/* If .wc-block-cart__sidebar is inside .wc-block-components-sidebar,
   strip the outer wrapper styles so only our padding applies */
body.fp-cart .wc-block-components-sidebar {
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

body.fp-cart .wc-block-cart__totals-title {
	font-size: 20px !important;
	font-weight: 700 !important;
	margin: 0 0 20px !important;
	padding: 0 0 16px !important;
	border-bottom: 1px solid #f0f0f0 !important;
	color: #1a1a1a !important;
}

body.fp-cart .wc-block-components-totals-wrapper {
	border-color: #f0f0f0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.fp-cart .wc-block-components-totals-item__label {
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #777 !important;
}

body.fp-cart .wc-block-components-totals-item__value {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}

body.fp-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
}

body.fp-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
}

body.fp-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
	font-size: 14px !important;
	color: #1a1a1a !important;
	font-weight: 500 !important;
}

body.fp-cart .wc-block-components-totals-coupon__button {
	background: #1a1a1a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	font-weight: 500 !important;
}

body.fp-cart .wc-block-cart__submit-button,
body.fp-cart .wc-block-cart__submit-container .wc-block-components-button {
	display: block !important;
	width: 100% !important;
	padding: 16px 20px !important;
	/* Effet verre vert — incitation à l'achat */
	background: rgba(0, 117, 34, 0.8) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	backdrop-filter: blur(12px) !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 50px !important;
	font-family: 'Syne', sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	text-align: center !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	letter-spacing: 0.01em !important;
	box-sizing: border-box !important;
	box-shadow: 0 4px 16px rgba(0, 117, 34, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

body.fp-cart .wc-block-cart__submit-button:hover,
body.fp-cart .wc-block-cart__submit-container .wc-block-components-button:hover {
	background: rgba(0, 117, 34, 0.95) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(0, 117, 34, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}


/* ==========================================================================
   3. CHECKOUT PAGE — Classic WooCommerce shortcode checkout
   Structure: form.checkout > #customer_details.col2-set > .col-1 (form) + .col-2 (order review)
   ========================================================================== */

/* --- 3.0 Force 2-column flex layout --- */

body.fp-checkout #customer_details {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 40px !important;
	width: 100% !important;
	float: none !important;
}

body.fp-checkout #customer_details .col-1 {
	flex: 1 1 0% !important;
	min-width: 0 !important;
	width: auto !important;
	float: none !important;
	max-width: none !important;
	/* Card style matching cart */
	background: #fff !important;
	border-radius: 16px !important;
	border: 1px solid #eee !important;
	padding: 32px !important;
	box-sizing: border-box !important;
}

body.fp-checkout #customer_details .col-2 {
	flex: 0 0 380px !important;
	width: 380px !important;
	min-width: 380px !important;
	float: none !important;
	max-width: 380px !important;
	/* Sticky sidebar */
	align-self: flex-start !important;
	position: sticky !important;
	top: 100px !important;
}

/* --- 3.0b Remove extra side padding so form aligns with coupon bar --- */
body.fp-checkout .container.main-content {
	padding: 0 60px !important;
}

/* Salient nectar-modal on col-2 resets — remove any modal behavior */
body.fp-checkout #customer_details .col-2.nectar-modal {
	position: sticky !important;
	top: 100px !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

/* Order review card inside col-2 */
body.fp-checkout #order_review {
	background: #fff !important;
	border-radius: 16px !important;
	border: 1px solid #eee !important;
	padding: 28px 24px !important;
	box-sizing: border-box !important;
}

/* --- 3.1 Section titles --- */

body.fp-checkout .woocommerce-billing-fields h3,
body.fp-checkout .woocommerce-shipping-fields h3,
body.fp-checkout .woocommerce-additional-fields h3,
body.fp-checkout #order_review_heading {
	font-family: 'Syne', sans-serif !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin: 0 0 20px !important;
	padding: 0 0 16px !important;
	border-bottom: 1px solid #f0f0f0 !important;
	letter-spacing: -0.02em !important;
}

/* "Votre commande" heading — sits above the order review card */
body.fp-checkout #order_review_heading {
	margin-bottom: 16px !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
}

/* --- 3.2 Form field labels --- */

body.fp-checkout .form-row label {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #555 !important;
	margin-bottom: 6px !important;
}

body.fp-checkout .form-row label .required {
	color: #dc2626 !important;
}

body.fp-checkout .form-row label .optional {
	font-size: 12px !important;
	color: #999 !important;
	font-weight: 400 !important;
}

/* --- 3.3 Text inputs, textareas, selects --- */

body.fp-checkout .form-row input.input-text,
body.fp-checkout .form-row textarea,
body.fp-checkout .form-row select,
body.fp-checkout .form-row .select2-selection {
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 10px !important;
	font-size: 15px !important;
	font-family: 'Work Sans', sans-serif !important;
	color: #1a1a1a !important;
	background: #fff !important;
	padding: 12px 16px !important;
	height: auto !important;
	line-height: 1.4 !important;
	outline: none !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

body.fp-checkout .form-row input.input-text:focus,
body.fp-checkout .form-row textarea:focus,
body.fp-checkout .form-row select:focus {
	border-color: #1a1a1a !important;
	box-shadow: 0 0 0 3px rgba(0,0,0,0.05) !important;
}

/* Select2 dropdown (country selector) */
body.fp-checkout .select2-container--default .select2-selection--single {
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 10px !important;
	height: 48px !important;
	padding: 10px 16px !important;
	background: #fff !important;
}

body.fp-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	font-size: 15px !important;
	font-family: 'Work Sans', sans-serif !important;
	color: #1a1a1a !important;
	line-height: 26px !important;
	padding-left: 0 !important;
}

body.fp-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 48px !important;
	right: 12px !important;
}

body.fp-checkout .select2-container--open .select2-selection--single {
	border-color: #1a1a1a !important;
	box-shadow: 0 0 0 3px rgba(0,0,0,0.05) !important;
}

/* Select2 dropdown panel */
body.fp-checkout .select2-dropdown {
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 10px !important;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
	overflow: hidden !important;
	margin-top: 4px !important;
}

body.fp-checkout .select2-results__option {
	font-size: 14px !important;
	padding: 10px 16px !important;
	color: #1a1a1a !important;
}

body.fp-checkout .select2-results__option--highlighted {
	background: #f7f7f7 !important;
	color: #1a1a1a !important;
}

body.fp-checkout .select2-search--dropdown .select2-search__field {
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	font-size: 14px !important;
}

/* Textarea (order notes) */
body.fp-checkout .form-row textarea {
	min-height: 80px !important;
	resize: vertical !important;
}

/* --- 3.4 Form row spacing --- */

body.fp-checkout .woocommerce-billing-fields__field-wrapper,
body.fp-checkout .woocommerce-shipping-fields__field-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
}

body.fp-checkout .woocommerce-billing-fields__field-wrapper .form-row,
body.fp-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
	margin: 0 !important;
	padding: 0 !important;
}

body.fp-checkout .form-row-first {
	flex: 1 1 calc(50% - 8px) !important;
	min-width: 0 !important;
	float: none !important;
	width: auto !important;
}

body.fp-checkout .form-row-last {
	flex: 1 1 calc(50% - 8px) !important;
	min-width: 0 !important;
	float: none !important;
	width: auto !important;
}

body.fp-checkout .form-row-wide {
	flex: 1 1 100% !important;
	float: none !important;
	width: auto !important;
}

/* --- 3.5 Checkboxes --- */

body.fp-checkout .form-row input[type="checkbox"] {
	accent-color: #1a1a1a !important;
	width: 18px !important;
	height: 18px !important;
	border-radius: 4px !important;
}

body.fp-checkout .woocommerce-form__label-for-checkbox {
	font-size: 14px !important;
	color: #555 !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

/* --- 3.6 Section spacing --- */

body.fp-checkout .woocommerce-billing-fields {
	margin-bottom: 24px !important;
}

body.fp-checkout .woocommerce-shipping-fields {
	margin-top: 8px !important;
	padding-top: 0 !important;
}

body.fp-checkout .woocommerce-additional-fields {
	margin-top: 8px !important;
}

/* --- 3.7 Coupon toggle & form --- */

body.fp-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: #f9f9f9 !important;
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	padding: 14px 20px !important;
	color: #555 !important;
	font-size: 14px !important;
	border-top: none !important;
}

body.fp-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
	color: #1a1a1a !important;
	font-weight: 600 !important;
}

body.fp-checkout .checkout_coupon {
	background: #f9f9f9 !important;
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	padding: 20px !important;
}

body.fp-checkout .checkout_coupon .form-row-first input {
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	font-size: 14px !important;
}

body.fp-checkout .checkout_coupon .form-row-last button {
	background: #1a1a1a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 12px 20px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: background 0.2s !important;
}

body.fp-checkout .checkout_coupon .form-row-last button:hover {
	background: #333 !important;
}

/* --- 3.8 Order review table (sidebar) --- */

body.fp-checkout .woocommerce-checkout-review-order-table {
	border: none !important;
	margin: 0 !important;
}

body.fp-checkout .woocommerce-checkout-review-order-table th,
body.fp-checkout .woocommerce-checkout-review-order-table td {
	border: none !important;
	padding: 12px 0 !important;
	font-family: 'Work Sans', sans-serif !important;
	vertical-align: middle !important;
}

body.fp-checkout .woocommerce-checkout-review-order-table thead th {
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #999 !important;
	border-bottom: 1px solid #f0f0f0 !important;
	padding-bottom: 12px !important;
}

body.fp-checkout .woocommerce-checkout-review-order-table tbody td {
	font-size: 14px !important;
	color: #1a1a1a !important;
	border-bottom: 1px solid #f5f5f5 !important;
	padding: 14px 0 !important;
}

body.fp-checkout .woocommerce-checkout-review-order-table tbody .product-name {
	font-weight: 500 !important;
}

body.fp-checkout .woocommerce-checkout-review-order-table tbody .product-total {
	font-weight: 600 !important;
	text-align: right !important;
}

/* Product image in order review (if theme shows it) */
body.fp-checkout .woocommerce-checkout-review-order-table img {
	border-radius: 10px !important;
	border: 1px solid #f0f0f0 !important;
	max-width: 50px !important;
}

/* Cart subtotal, shipping, total rows */
body.fp-checkout .woocommerce-checkout-review-order-table tfoot th {
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #777 !important;
	border-top: 1px solid #f0f0f0 !important;
	padding-top: 14px !important;
}

body.fp-checkout .woocommerce-checkout-review-order-table tfoot td {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	text-align: right !important;
	border-top: 1px solid #f0f0f0 !important;
	padding-top: 14px !important;
}

/* Grand total — bigger & bolder */
body.fp-checkout .woocommerce-checkout-review-order-table tfoot .order-total th {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
}

body.fp-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
}

/* Shipping methods in order review */
body.fp-checkout .woocommerce-checkout-review-order-table .shipping td {
	padding: 8px 0 !important;
}

/* Hidden inputs don't render visually but take grid space.
   Scripts are non-visual. Both safe to collapse with display:none. */
body.fp-checkout #shipping_method li > input[type="hidden"],
body.fp-checkout #shipping_method li > script {
	display: none !important;
}

body.fp-checkout #shipping_method {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Each shipping method = card */
body.fp-checkout #shipping_method li {
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 12px !important;
	padding: 16px 18px !important;
	margin-bottom: 10px !important;
	background: #fff !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
	list-style: none !important;
	transition: border-color 0.2s !important;
	position: relative !important;
}

body.fp-checkout #shipping_method li:has(input:checked) {
	border-color: #1a1a1a !important;
	box-shadow: 0 0 0 1px #1a1a1a !important;
	background: #fafafa !important;
}

body.fp-checkout #shipping_method li > input[type="radio"] {
	accent-color: #1a1a1a !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
	cursor: pointer !important;
}

body.fp-checkout #shipping_method li > label {
	flex: 1 !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #1a1a1a !important;
	cursor: pointer !important;
	flex-wrap: wrap !important;
}

body.fp-checkout #shipping_method li > label img,
body.fp-checkout .pl-checkout-carrier-image {
	width: 32px !important;
	height: 32px !important;
	object-fit: contain !important;
	border-radius: 6px !important;
	flex-shrink: 0 !important;
}

/* Drop-off button = full width */
body.fp-checkout #packlink-drop-off-picker {
	width: 100% !important;
	background: #1a1a1a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 12px 16px !important;
	cursor: pointer !important;
	margin-top: 4px !important;
	text-align: center !important;
	transition: background 0.2s !important;
}

body.fp-checkout #packlink-drop-off-picker:hover {
	background: #333 !important;
}

/* Packlink templates div — contains #pl-picker-modal.
   Do NOT hide this — Packlink needs it functional.
   The modal position/z-index is handled by our JS overlay. */

/* Shipping row — stack th and td vertically instead of side by side.
   A <tr> inside a <table> ignores display:flex, so we force display:block
   on the tr, th and td to break out of table layout. */
body.fp-checkout .woocommerce-checkout-review-order-table tr.shipping {
	display: block !important;
	width: 100% !important;
}

body.fp-checkout .woocommerce-checkout-review-order-table tr.shipping th {
	display: block !important;
	width: 100% !important;
	padding-bottom: 8px !important;
	border: none !important;
}

body.fp-checkout .woocommerce-checkout-review-order-table tr.shipping td {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
}

/* --- 3.9 Payment methods --- */

body.fp-checkout #payment {
	background: transparent !important;
	border-radius: 0 !important;
	border: none !important;
	padding: 0 !important;
	margin-top: 20px !important;
}

body.fp-checkout #payment .wc_payment_methods {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

body.fp-checkout #payment .wc_payment_method {
	display: grid !important;
	grid-template-columns: auto 1fr !important;
	gap: 0 !important;
	padding: 0 !important;
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 12px !important;
	margin-bottom: 12px !important;
	background: #fff !important;
	overflow: hidden !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	list-style: none !important;
}

/* Selected payment method */
body.fp-checkout #payment .wc_payment_method:has(input:checked) {
	border-color: #1a1a1a !important;
	box-shadow: 0 0 0 1px #1a1a1a !important;
	background: #fafafa !important;
}

/* Radio button — grid column 1 */
body.fp-checkout #payment .wc_payment_method > input[type="radio"] {
	grid-column: 1 !important;
	grid-row: 1 !important;
	margin: 18px 0 18px 20px !important;
	align-self: center !important;
	accent-color: #1a1a1a !important;
	width: 18px !important;
	height: 18px !important;
	cursor: pointer !important;
}

/* Label — grid column 2 */
body.fp-checkout #payment .wc_payment_method > label {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 18px 20px 18px 12px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	cursor: pointer !important;
	margin: 0 !important;
	font-family: 'Work Sans', sans-serif !important;
}

body.fp-checkout #payment .wc_payment_method > label img {
	max-height: 30px !important;
	border-radius: 4px !important;
}

/* Payment description — spans full width */
body.fp-checkout #payment .wc_payment_method > .payment_box {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
	background: #f7f7f7 !important;
	border-top: 1px solid #f0f0f0 !important;
	padding: 16px 20px !important;
	font-size: 13px !important;
	color: #666 !important;
	line-height: 1.7 !important;
	margin: 0 !important;
}

body.fp-checkout #payment .wc_payment_method .payment_box p {
	margin: 0 0 8px !important;
	font-size: 13px !important;
	color: #666 !important;
	line-height: 1.7 !important;
}

body.fp-checkout #payment .wc_payment_method .payment_box p:last-child {
	margin-bottom: 0 !important;
}

/* Hide the default WC payment box arrow */
body.fp-checkout #payment .wc_payment_method .payment_box::before {
	display: none !important;
}

/* PayPal accordion steps inside payment box */
body.fp-checkout .fp-novalab-wrap {
	margin-top: 12px !important;
}

body.fp-checkout .fp-accordion-item {
	border: 1px solid #eee !important;
	border-radius: 8px !important;
	margin-bottom: 8px !important;
	overflow: hidden !important;
}

body.fp-checkout .fp-accordion-header {
	padding: 12px 16px !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	cursor: pointer !important;
	font-size: 13px !important;
	background: #fff !important;
}

body.fp-checkout .fp-step-number {
	background: #1a1a1a !important;
	color: #fff !important;
	width: 22px !important;
	height: 22px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	flex-shrink: 0 !important;
}

body.fp-checkout .fp-step-title {
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #1a1a1a !important;
}

body.fp-checkout .fp-accordion-body {
	padding: 0 16px 12px !important;
	font-size: 12px !important;
	color: #888 !important;
}

/* --- 3.10 Place order button (CTA) --- */

body.fp-checkout #payment .place-order {
	padding: 20px 0 0 !important;
	margin: 0 !important;
}

body.fp-checkout #payment .place-order #place_order,
body.fp-checkout button#place_order,
body.fp-checkout #place_order {
	display: block !important;
	width: 100% !important;
	padding: 18px 24px !important;
	background: rgba(0, 117, 34, 0.8) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	backdrop-filter: blur(12px) !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 50px !important;
	font-family: 'Syne', sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	letter-spacing: 0.01em !important;
	box-shadow: 0 4px 16px rgba(0, 117, 34, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
	box-sizing: border-box !important;
	text-align: center !important;
}

body.fp-checkout #payment .place-order #place_order:hover,
body.fp-checkout button#place_order:hover,
body.fp-checkout #place_order:hover {
	background: rgba(0, 117, 34, 0.95) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(0, 117, 34, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

/* --- 3.11 Terms & conditions --- */

body.fp-checkout .woocommerce-terms-and-conditions-wrapper {
	font-size: 13px !important;
	color: #888 !important;
	line-height: 1.5 !important;
	margin-bottom: 16px !important;
	padding-top: 16px !important;
	border-top: 1px solid #f0f0f0 !important;
}

body.fp-checkout .woocommerce-terms-and-conditions-wrapper a {
	color: #1a1a1a !important;
	text-decoration: underline !important;
}

/* Terms checkbox — the checkbox is INSIDE the label in WC classic */
body.fp-checkout .woocommerce-terms-and-conditions-wrapper .form-row {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin-top: 12px !important;
}

body.fp-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
	font-size: 14px !important;
	color: #1a1a1a !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	cursor: pointer !important;
	line-height: 1.4 !important;
}

body.fp-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
	accent-color: #1a1a1a !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	flex-shrink: 0 !important;
	margin-top: 1px !important;
}

body.fp-checkout .woocommerce-terms-and-conditions-wrapper .required,
body.fp-checkout .woocommerce-terms-and-conditions-wrapper i.required {
	color: #dc2626 !important;
	font-style: normal !important;
	margin-left: 2px !important;
}

/* Privacy policy text */
body.fp-checkout .woocommerce-privacy-policy-text p {
	font-size: 12px !important;
	color: #999 !important;
	line-height: 1.6 !important;
	margin-bottom: 8px !important;
}

body.fp-checkout .woocommerce-privacy-policy-text a {
	color: #1a1a1a !important;
}

/* --- 3.12 WooCommerce notices --- */

body.fp-checkout .woocommerce-error,
body.fp-checkout .woocommerce-message,
body.fp-checkout .woocommerce-info {
	border-radius: 10px !important;
	padding: 14px 20px !important;
	font-size: 14px !important;
	margin-bottom: 16px !important;
}

body.fp-checkout .woocommerce-error {
	border-left: 4px solid #dc2626 !important;
	background: #fef2f2 !important;
	border-top: none !important;
}

body.fp-checkout .woocommerce-message {
	border-left: 4px solid #22c55e !important;
	background: #f0fdf4 !important;
	border-top: none !important;
}

/* --- 3.13 Boxtal / Mondial Relay / Select Drop-Off --- */

body.fp-checkout .bw-parcelpoint-container,
body.fp-checkout .bw-select-parcelpoint,
body.fp-checkout .boxtal-parcelpoint-block {
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	margin-top: 8px !important;
}

body.fp-checkout .bw-parcelpoint-container button,
body.fp-checkout .bw-select-parcelpoint button,
body.fp-checkout .boxtal-parcelpoint-block button {
	background: #1a1a1a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 10px 16px !important;
	cursor: pointer !important;
	transition: background 0.2s !important;
}

body.fp-checkout .bw-parcelpoint-container button:hover,
body.fp-checkout .bw-select-parcelpoint button:hover,
body.fp-checkout .boxtal-parcelpoint-block button:hover {
	background: #333 !important;
}

/* "Select Drop-Off Location" button in order review */
body.fp-checkout #order_review button.button:not(#place_order) {
	background: #1a1a1a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 10px 16px !important;
	cursor: pointer !important;
	transition: background 0.2s !important;
}

body.fp-checkout #order_review button.button:not(#place_order):hover {
	background: #333 !important;
}

/* --- 3.14 Packlink modal — constrain to content area (right of Salient menu) --- */
/* Salient left-header is ~210px wide. The modal is position:fixed by Packlink.
   We just shift it right so it doesn't go under the menu. */

body.fp-checkout #pl-picker-modal {
	left: 210px !important;
	width: calc(100vw - 210px) !important;
	top: 0 !important;
	height: 100vh !important;
	box-sizing: border-box !important;
	background: rgba(255, 255, 255, 0.85) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	backdrop-filter: blur(12px) !important;
	box-shadow: none !important;
	border: none !important;
	z-index: 999999 !important;
	overflow-y: auto !important;
}

/* Center the content inside the shifted modal */
body.fp-checkout #pl-picker-modal .lp-content {
	max-width: 1000px !important;
	margin: 0 auto !important;
	padding: 20px 24px !important;
	background: #fff !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08) !important;
	margin-top: 100px !important;
	margin-bottom: 100px !important;
	max-height: 80% !important;
	overflow-y: auto !important;
}

/* Close button — position near the card, make clickable */
body.fp-checkout #pl-picker-modal-close {
	position: absolute !important;
	right: calc(50% - 500px + 24px) !important;
	top: 80px !important;
	width: 36px !important;
	height: 36px !important;
	cursor: pointer !important;
	z-index: 1000000 !important;
	background: #fff !important;
	border-radius: 50% !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
	padding: 6px !important;
	pointer-events: auto !important;
}

/* On tablet/mobile where menu collapses, reset to full width */
@media (max-width: 999px) {
	body.fp-checkout #pl-picker-modal {
		left: 0 !important;
		width: 100vw !important;
	}
}

/* Style the buttons and inputs inside the modal */
body.fp-checkout .lp-select-button {
	background: #1a1a1a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 0px 10px !important;
	cursor: pointer !important;
}

body.fp-checkout .lp-select-button:hover {
	background: #333 !important;
}

body.fp-checkout .lp-input-wrapper input {
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	font-size: 14px !important;
}

/* --- 3.15 Product items in order review (Salient theme custom layout) --- */

body.fp-checkout .product-container {
	border: 1px solid #f0f0f0 !important;
	border-radius: 12px !important;
	padding: 16px !important;
	margin-bottom: 20px !important;
}

body.fp-checkout .product-container .cart_item {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 0 !important;
}

body.fp-checkout .product-container .product-image {
	flex: 0 0 60px !important;
	width: 60px !important;
}

body.fp-checkout .product-container .product-image img {
	width: 60px !important;
	height: 60px !important;
	object-fit: cover !important;
	border-radius: 10px !important;
	border: 1px solid #f0f0f0 !important;
}

body.fp-checkout .product-container .product-info {
	flex: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

body.fp-checkout .product-container .product-info h4 {
	font-size: 14px !important;
	font-weight: 500 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.fp-checkout .product-container .product-info h4 a {
	color: #1a1a1a !important;
	text-decoration: none !important;
}

body.fp-checkout .product-container .product-quantity {
	display: block !important;
	font-size: 12px !important;
	color: #999 !important;
	font-weight: 400 !important;
	margin-top: 2px !important;
}

body.fp-checkout .product-container .product-info .woocommerce-Price-amount {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	white-space: nowrap !important;
}

/* --- 3.16 Responsive — Checkout specific --- */

@media (max-width: 999px) {
	body.fp-checkout #customer_details {
		flex-direction: column !important;
		gap: 24px !important;
	}

	body.fp-checkout #customer_details .col-1 {
		width: 100% !important;
		order: 1 !important;
	}

	body.fp-checkout #customer_details .col-2 {
		flex: 1 1 100% !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		order: 2 !important;
		position: static !important;
		top: auto !important;
	}
}

@media (max-width: 640px) {
	body.fp-checkout #customer_details .col-1 {
		padding: 20px 16px !important;
		border-radius: 12px !important;
	}

	body.fp-checkout #order_review {
		padding: 20px 16px !important;
		border-radius: 12px !important;
	}

	body.fp-checkout .form-row-first,
	body.fp-checkout .form-row-last {
		flex: 1 1 100% !important;
	}
}


/* ==========================================================================
   4. TRUST BADGES — 2x2 grid
   ========================================================================== */

.fp-trust-badges {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 14px !important;
	margin-top: 24px !important;
	padding-top: 24px !important;
	border-top: 1px solid #f0f0f0 !important;
}

.fp-trust-badge {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 13px !important;
	color: #666 !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
}

.fp-trust-badge svg {
	color: #22c55e !important;
	flex-shrink: 0 !important;
}


/* ==========================================================================
   5. PAYMENT METHODS — PNG images, centered
   ========================================================================== */

.fp-payment-methods {
	margin-top: 20px !important;
	padding-top: 20px !important;
	border-top: 1px solid #f0f0f0 !important;
	text-align: center !important;
}

.fp-payment-methods__title {
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: #999 !important;
	margin: 0 0 12px !important;
}

.fp-payment-methods__icons {
	display: flex !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
}

.fp-payment-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.fp-payment-icon img {
	width: 52px !important;
	height: 34px !important;
	object-fit: contain !important;
	border-radius: 6px !important;
	border: 1px solid #eee !important;
	background: #f9f9f9 !important;
	display: block !important;
}


/* ==========================================================================
   6. REVIEWS / TRUSTPILOT
   ========================================================================== */

.fp-reviews {
	margin-top: 20px !important;
	padding-top: 20px !important;
	border-top: 1px solid #f0f0f0 !important;
	text-align: center !important;
}

.fp-reviews__stars {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 2px !important;
	margin-bottom: 6px !important;
}

.fp-star {
	color: #FBBF24 !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

.fp-star--half {
	opacity: 0.5 !important;
}

.fp-reviews__rating {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin-left: 6px !important;
}

.fp-reviews__text {
	font-size: 13px !important;
	color: #888 !important;
	margin: 0 0 12px !important;
}

.fp-reviews__text strong {
	color: #555 !important;
}

.fp-reviews__trustpilot {
	min-height: 40px !important;
}

.fp-reviews__trustpilot-placeholder {
	display: inline-block !important;
	font-size: 11px !important;
	color: #ccc !important;
	border: 1px dashed #ddd !important;
	border-radius: 6px !important;
	padding: 8px 16px !important;
}


/* ==========================================================================
   7. SHARED COMPONENTS
   ========================================================================== */

body.fp-custom .wc-block-components-checkbox input[type="checkbox"] {
	accent-color: #1a1a1a !important;
}

body.fp-custom .wc-block-components-totals-coupon__button {
	background: #1a1a1a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
}

body.fp-custom .wc-block-components-totals-coupon__button:hover {
	background: #333 !important;
}

body.fp-custom .wc-block-components-notice-banner {
	border-radius: 10px !important;
	padding: 14px 20px !important;
	font-size: 14px !important;
}

body.fp-custom .wc-block-components-notice-banner.is-error {
	border-left: 4px solid #dc2626 !important;
}

body.fp-custom .wc-block-components-notice-banner.is-success {
	border-left: 4px solid #22c55e !important;
}

body.fp-custom .wc-block-components-spinner {
	border-color: #e0e0e0 !important;
	border-top-color: #1a1a1a !important;
}

body.fp-custom .wc-block-components-express-payment {
	border: 1.5px solid #eee !important;
	border-radius: 12px !important;
	padding: 20px !important;
}


/* ==========================================================================
   8. RESPONSIVE
   ========================================================================== */

/* --- Medium screens: reduce sidebar, tighter grid --- */
@media (max-width: 1280px) {
	body.fp-custom .container.main-content {
		padding: 0 32px !important;
	}

	body.fp-custom .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		flex: 0 0 320px !important;
		width: 320px !important;
		min-width: 320px !important;
	}

	body.fp-custom .fp-sidebar-wrapper {
		flex: 0 0 320px !important;
		width: 320px !important;
		min-width: 320px !important;
	}

	body.fp-cart .wc-block-cart-items__header,
	body.fp-cart .wc-block-cart-items__row {
		grid-template-columns: 90px 1fr 100px 75px !important;
		gap: 0 12px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* --- Tablet: sidebar goes below --- */
@media (max-width: 999px) {
	body.fp-custom .container.main-content {
		padding: 0 24px !important;
	}

	body.fp-custom .wc-block-components-sidebar-layout {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		gap: 24px !important;
	}

	body.fp-custom .wc-block-components-sidebar-layout .wc-block-components-main {
		width: 100% !important;
		flex: 1 1 100% !important;
		order: 1 !important;
	}

	body.fp-custom .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		flex: 1 1 100% !important;
		width: 100% !important;
		min-width: 0 !important;
		order: 2 !important;
		/* Mobile : sidebar normale, pas de sticky, pas de scroll */
		position: static !important;
		top: auto !important;
		z-index: auto !important;
	}

	/* Wrapper mobile : full width, normal flow */
	body.fp-custom .fp-sidebar-wrapper {
		flex: 1 1 100% !important;
		width: 100% !important;
		min-width: 0 !important;
		order: 2 !important;
		align-self: auto !important;
	}

	body.fp-custom .fp-sidebar-wrapper > .wc-block-components-sidebar {
		position: static !important;
		top: auto !important;
		order: 1 !important; /* Sidebar en premier dans le wrapper */
	}

	body.fp-custom .fp-sidebar-wrapper > .fp-disclaimer {
		order: 2 !important; /* Disclaimer en second dans le wrapper */
	}

	/* Cart grid gets full width — can be more generous */
	body.fp-cart .wc-block-cart-items__header,
	body.fp-cart .wc-block-cart-items__row {
		grid-template-columns: 100px 1fr 110px 80px !important;
		gap: 0 16px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* --- Small tablet / large phone: collapse to 2 columns --- */
@media (max-width: 640px) {
	body.fp-custom .container.main-content {
		padding: 0 16px !important;
	}

	body.fp-custom .container.main-content > .row {
		padding: 16px 0 40px !important;
	}

	/* Hide table header on small screens */
	body.fp-cart .wc-block-cart-items__header {
		display: none !important;
	}

	/* 2-column layout: image + stacked info */
	body.fp-cart .wc-block-cart-items__row {
		grid-template-columns: 80px 1fr !important;
		grid-template-rows: auto auto auto !important;
		gap: 4px 12px !important;
		padding: 16px !important;
	}

	body.fp-cart .wc-block-cart-item__image {
		grid-row: 1 / -1 !important;
		max-width: 80px !important;
	}

	body.fp-cart .wc-block-cart-item__product {
		grid-column: 2 !important;
	}

	/* Show quantity back inline (JS may not have moved it) */
	body.fp-cart .wc-block-cart-item__product > .wc-block-cart-item__quantity {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 8px !important;
	}

	body.fp-cart .fp-qty-cell {
		grid-column: 2 !important;
		flex-direction: row !important;
		justify-content: flex-start !important;
		gap: 12px !important;
	}

	body.fp-cart .fp-qty-cell .wc-block-cart-item__quantity {
		flex-direction: row !important;
		gap: 8px !important;
	}

	body.fp-cart .wc-block-cart-item__total {
		grid-column: 2 !important;
		text-align: left !important;
	}

	body.fp-cart .wc-block-cart-item__product .wc-block-components-product-name {
		white-space: normal !important;
	}

	/* Sidebar spacing */
	body.fp-cart .wc-block-cart__sidebar,
	body.fp-custom .wc-block-checkout__sidebar {
		padding: 20px 16px !important;
		border-radius: 12px !important;
	}

	body.fp-custom .wc-block-checkout__main,
	body.fp-cart .wc-block-cart__main {
		border-radius: 12px !important;
	}

	body.fp-custom .wc-block-checkout__main {
		padding: 20px 16px !important;
	}

	.fp-trust-badges {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}
}


/* ==========================================================================
   9. UPSELL BLOCK — Accessoires de reconstitution
   ========================================================================== */

/* --- 9.0 Bloc principal + wrapper spacing --- */

/* Espacement entre le tableau produits et le bloc upsell.
   On force sur TOUS les niveaux pour que ça passe quoi qu'il arrive. */
body.fp-cart #fp-upsell-placed {
	display: block !important;
	margin-top: 32px !important;
	padding-top: 0 !important;
}

/* Clear separation: ensure cart table block has closed bottom corners */
body.fp-cart .wc-block-cart__main {
	margin-bottom: 0 !important;
}

body.fp-cart .fp-upsell {
	background: #fff !important;
	border-radius: 16px !important;
	border: 1px solid #eee !important;
	padding: 24px !important;
	margin-top: 0 !important;
	animation: fpFadeIn 0.4s ease-out !important;
}

/* --- 9.1 Header --- */

.fp-upsell__header {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	margin-bottom: 20px !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid #f0f0f0 !important;
}

.fp-upsell__icon {
	color: #3b82f6 !important;
	flex-shrink: 0 !important;
	margin-top: 2px !important;
}

.fp-upsell__title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}

.fp-upsell__subtitle {
	font-size: 13px !important;
	color: #888 !important;
	margin: 2px 0 0 !important;
	line-height: 1.4 !important;
}

/* --- 9.2 Items list --- */

.fp-upsell__items {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}

/* --- 9.3 Single item row --- */

.fp-upsell__item {
	display: grid !important;
	grid-template-columns: 60px 1fr auto auto !important;
	gap: 0 14px !important;
	padding: 14px 0 !important;
	border-bottom: 1px solid #f5f5f5 !important;
	align-items: center !important;
}

.fp-upsell__item:last-child {
	border-bottom: none !important;
}

/* --- 9.4 Item image --- */

.fp-upsell__item-image {
	width: 60px !important;
	height: 60px !important;
	flex-shrink: 0 !important;
}

.fp-upsell__item-image img {
	width: 60px !important;
	height: 60px !important;
	object-fit: cover !important;
	border-radius: 10px !important;
	border: 1px solid #f0f0f0 !important;
	background: #f7f7f7 !important;
}

.fp-upsell__item-placeholder {
	display: block !important;
	width: 60px !important;
	height: 60px !important;
	border-radius: 10px !important;
	background: #f0f0f0 !important;
}

/* --- 9.5 Item info --- */

.fp-upsell__item-info {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	min-width: 0 !important;
}

.fp-upsell__item-name {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.fp-upsell__item-price {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #555 !important;
}

.fp-upsell__item-ratio {
	font-size: 11px !important;
	color: #999 !important;
	font-style: italic !important;
}

/* --- 9.6 Quantity selector --- */

.fp-upsell__item-qty {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	height: 34px !important;
}

.fp-upsell__qty-btn {
	width: 30px !important;
	height: 34px !important;
	border: none !important;
	background: transparent !important;
	color: #888 !important;
	font-size: 16px !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.15s !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.fp-upsell__qty-btn:hover {
	background: #f0f0f0 !important;
	color: #1a1a1a !important;
}

.fp-upsell__qty-input {
	width: 34px !important;
	height: 34px !important;
	border: none !important;
	border-left: 1px solid #e0e0e0 !important;
	border-right: 1px solid #e0e0e0 !important;
	text-align: center !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	background: transparent !important;
	-moz-appearance: textfield !important;
	padding: 0 !important;
}

.fp-upsell__qty-input::-webkit-inner-spin-button,
.fp-upsell__qty-input::-webkit-outer-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* --- 9.7 Add button (individual) --- */

.fp-upsell__add-btn {
	padding: 8px 16px !important;
	background: transparent !important;
	color: #1a1a1a !important;
	border: 1.5px solid #1a1a1a !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	white-space: nowrap !important;
}

.fp-upsell__add-btn:hover {
	background: #1a1a1a !important;
	color: #fff !important;
}

.fp-upsell__add-btn.fp-upsell--loading {
	opacity: 0.6 !important;
	cursor: wait !important;
}

/* --- 9.8 Footer — Tout ajouter --- */

.fp-upsell__footer {
	margin-top: 16px !important;
	padding-top: 16px !important;
	border-top: 1px solid #f0f0f0 !important;
}

.fp-upsell__add-all-btn {
	display: block !important;
	width: 100% !important;
	padding: 14px 20px !important;
	background: #1a1a1a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
	text-align: center !important;
}

.fp-upsell__add-all-btn:hover {
	background: #333 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}

.fp-upsell__add-all-btn.fp-upsell--loading {
	opacity: 0.6 !important;
	cursor: wait !important;
}

/* --- 9.9 Success state --- */

.fp-upsell__complete {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	padding: 20px !important;
	color: #22c55e !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

.fp-upsell__complete svg {
	color: #22c55e !important;
}

/* --- 9.10 Upsell responsive --- */

@media (max-width: 999px) {
	.fp-upsell__item {
		grid-template-columns: 50px 1fr auto auto !important;
		gap: 0 10px !important;
	}

	.fp-upsell__item-image,
	.fp-upsell__item-image img,
	.fp-upsell__item-placeholder {
		width: 50px !important;
		height: 50px !important;
	}
}

@media (max-width: 640px) {
	body.fp-cart #fp-upsell-placed {
		margin-top: 24px !important;
	}

	body.fp-cart .fp-upsell {
		padding: 16px !important;
		border-radius: 12px !important;
	}

	.fp-upsell__header {
		gap: 10px !important;
		margin-bottom: 14px !important;
		padding-bottom: 12px !important;
	}

	.fp-upsell__title {
		font-size: 15px !important;
	}

	.fp-upsell__subtitle {
		font-size: 12px !important;
	}

	.fp-upsell__item {
		grid-template-columns: 50px 1fr auto !important;
		grid-template-rows: auto auto !important;
		gap: 6px 10px !important;
		padding: 12px 0 !important;
	}

	.fp-upsell__item-image {
		grid-row: 1 / 3 !important;
		grid-column: 1 !important;
		align-self: start !important;
	}

	.fp-upsell__item-image,
	.fp-upsell__item-image img,
	.fp-upsell__item-placeholder {
		width: 50px !important;
		height: 50px !important;
	}

	.fp-upsell__item-info {
		grid-row: 1 !important;
		grid-column: 2 / 4 !important;
	}

	.fp-upsell__item-name {
		white-space: normal !important;
		font-size: 13px !important;
	}

	.fp-upsell__item-price {
		font-size: 12px !important;
	}

	.fp-upsell__item-qty {
		grid-row: 2 !important;
		grid-column: 2 !important;
		justify-self: start !important;
		height: 30px !important;
	}

	.fp-upsell__qty-btn {
		width: 26px !important;
		height: 30px !important;
		font-size: 14px !important;
	}

	.fp-upsell__qty-input {
		width: 30px !important;
		height: 30px !important;
		font-size: 12px !important;
	}

	.fp-upsell__item-action {
		grid-row: 2 !important;
		grid-column: 3 !important;
		justify-self: start !important;
	}

	.fp-upsell__add-btn {
		padding: 6px 12px !important;
		font-size: 12px !important;
	}

	.fp-upsell__add-all-btn {
		padding: 12px 16px !important;
		font-size: 13px !important;
	}

	.fp-upsell__footer {
		margin-top: 12px !important;
		padding-top: 12px !important;
	}
}


/* ==========================================================================
   10. DISCLAIMER — Bloc rouge sous la sidebar
   ========================================================================== */

.fp-disclaimer {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	background: #fef2f2 !important;
	border: 1px solid #fca5a5 !important;
	border-radius: 12px !important;
	padding: 18px 20px !important;
	margin-top: 16px !important;
}

.fp-disclaimer__icon {
	flex-shrink: 0 !important;
	color: #dc2626 !important;
	margin-top: 1px !important;
}

.fp-disclaimer__content {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	min-width: 0 !important;
}

.fp-disclaimer__title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #dc2626 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
}

.fp-disclaimer__text {
	font-size: 12px !important;
	line-height: 1.5 !important;
	color: #991b1b !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Responsive disclaimer */
@media (max-width: 640px) {
	.fp-disclaimer {
		padding: 14px 16px !important;
		border-radius: 10px !important;
		gap: 10px !important;
	}

	.fp-disclaimer__title {
		font-size: 13px !important;
	}

	.fp-disclaimer__text {
		font-size: 11px !important;
	}
}


/* ==========================================================================
   11. ANIMATIONS
   ========================================================================== */

body.fp-custom .wc-block-cart__main,
body.fp-custom .wc-block-cart__sidebar,
body.fp-custom .wc-block-checkout__main,
body.fp-custom .wc-block-checkout__sidebar {
	animation: fpFadeIn 0.4s ease-out !important;
}

@keyframes fpFadeIn {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}


/* ==========================================================================
   11. THANK YOU PAGE
   ========================================================================== */

/* --- Hide default WooCommerce order details (keep our block + Boxtal relay) --- */
body.fp-thankyou .woocommerce-order > *:not(.fp-ty):not(.bw-order-parcelpoint) {
	display: none !important;
}

body.fp-thankyou .entry-title,
body.fp-thankyou .page-header-bg-image,
body.fp-thankyou #page-header-bg,
body.fp-thankyou .page-header-overlay,
body.fp-thankyou #page-header-wrap {
	display: none !important;
}

/* --- Layout --- */
.fp-ty {
	max-width: 1100px !important;
	margin: 0 auto !important;
	padding: 0 20px 60px !important;
	font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
	animation: fpFadeIn 0.4s ease-out !important;
}

/* --- Header --- */
.fp-ty__header {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	padding: 32px 0 16px !important;
}

.fp-ty__header-icon svg {
	display: block !important;
}

.fp-ty__title {
	font-family: 'Syne', sans-serif !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin: 0 0 4px !important;
	line-height: 1.2 !important;
}

.fp-ty__subtitle {
	font-size: 14px !important;
	color: #777 !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}

/* --- Reassurance banner --- */
.fp-ty__reassurance {
	background: #f0fdf4 !important;
	border: 1px solid #bbf7d0 !important;
	border-radius: 12px !important;
	padding: 12px 20px !important;
	font-size: 14px !important;
	color: #16a34a !important;
	margin-bottom: 28px !important;
}

/* --- Grid 2 columns --- */
.fp-ty__grid {
	display: flex !important;
	gap: 32px !important;
	align-items: flex-start !important;
}

.fp-ty__main {
	flex: 1 !important;
	min-width: 0 !important;
}

.fp-ty__sidebar {
	flex: 0 0 360px !important;
}

/* --- Section --- */
.fp-ty__section {
	background: #fff !important;
	border: 1px solid #eee !important;
	border-radius: 16px !important;
	padding: 28px !important;
	margin-bottom: 20px !important;
}

.fp-ty__section-header {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin-bottom: 20px !important;
}

.fp-ty__section-icon {
	width: 44px !important;
	height: 44px !important;
	background: #f7f7f7 !important;
	border-radius: 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.fp-ty__section-title {
	font-family: 'Syne', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin: 0 !important;
}

.fp-ty__section-sub {
	font-size: 13px !important;
	color: #999 !important;
	margin: 2px 0 0 !important;
}

/* --- Bank card --- */
.fp-ty__bank-card {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
}

.fp-ty__bank-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 14px 20px !important;
	border-bottom: 1px solid #f5f5f5 !important;
}

.fp-ty__bank-row:last-child {
	border-bottom: none !important;
}

.fp-ty__bank-row--highlight {
	background: #f0fdf4 !important;
}

.fp-ty__bank-label {
	font-size: 12px !important;
	color: #999 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	flex-shrink: 0 !important;
}

.fp-ty__bank-val-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.fp-ty__bank-value {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}

.fp-ty__bank-value--mono {
	font-family: 'SF Mono', 'Fira Code', monospace !important;
	letter-spacing: 0.04em !important;
}

.fp-ty__bank-value--small {
	font-size: 12px !important;
	font-weight: 400 !important;
	color: #777 !important;
}

.fp-ty__bank-value--accent {
	color: #16a34a !important;
}

/* --- Copy button --- */
.fp-ty__copy-btn {
	background: #f7f7f7 !important;
	border: 1px solid #eee !important;
	border-radius: 6px !important;
	width: 28px !important;
	height: 28px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s !important;
	color: #999 !important;
	flex-shrink: 0 !important;
}

.fp-ty__copy-btn:hover {
	background: #eee !important;
	color: #1a1a1a !important;
}

/* --- Bank note --- */
.fp-ty__bank-note {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	padding: 14px 16px !important;
	background: #eff6ff !important;
	border: 1px solid #bfdbfe !important;
	border-radius: 10px !important;
	margin-top: 16px !important;
	font-size: 13px !important;
	color: #555 !important;
	line-height: 1.5 !important;
}

.fp-ty__bank-note svg {
	flex-shrink: 0 !important;
	margin-top: 1px !important;
}

/* --- Steps --- */
.fp-ty__steps {
	background: #fafafa !important;
}

.fp-ty__steps-title {
	font-family: 'Syne', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin: 0 0 16px !important;
}

.fp-ty__steps-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.fp-ty__step {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	font-size: 14px !important;
	color: #555 !important;
}

.fp-ty__step-num {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: #22c55e !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

/* --- Sidebar Summary --- */
.fp-ty__summary {
	background: #fff !important;
	border: 1px solid #eee !important;
	border-radius: 16px !important;
	padding: 24px !important;
	margin-bottom: 16px !important;
}

.fp-ty__summary-title {
	font-family: 'Syne', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin: 0 0 16px !important;
}

.fp-ty__order-meta {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.fp-ty__meta-row {
	display: flex !important;
	justify-content: space-between !important;
}

.fp-ty__meta-label {
	font-size: 13px !important;
	color: #999 !important;
}

.fp-ty__meta-value {
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #1a1a1a !important;
}

.fp-ty__divider {
	height: 1px !important;
	background: #f0f0f0 !important;
	margin: 16px 0 !important;
}

.fp-ty__amount {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

.fp-ty__amount-label {
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #1a1a1a !important;
}

.fp-ty__amount-value {
	font-family: 'Syne', sans-serif !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #22c55e !important;
}

/* --- Items --- */
.fp-ty__items {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.fp-ty__item {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.fp-ty__item-img {
	width: 44px !important;
	height: 44px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
	border: 1px solid #f0f0f0 !important;
	flex-shrink: 0 !important;
}

.fp-ty__item-img--placeholder {
	background: #f7f7f7 !important;
}

.fp-ty__item-info {
	flex: 1 !important;
	min-width: 0 !important;
}

.fp-ty__item-name {
	display: block !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #1a1a1a !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.fp-ty__item-qty {
	font-size: 12px !important;
	color: #999 !important;
}

.fp-ty__item-price {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	flex-shrink: 0 !important;
}

/* --- Address --- */
.fp-ty__address-header {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	margin-bottom: 8px !important;
}

.fp-ty__address-lines {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}

.fp-ty__address-lines span {
	font-size: 13px !important;
	color: #777 !important;
}

/* --- Relay point hours --- */
.fp-ty__relay-hours {
	margin-top: 12px !important;
	padding-top: 10px !important;
	border-top: 1px solid #f0f0f0 !important;
}

.fp-ty__relay-hours-title {
	display: block !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	margin-bottom: 6px !important;
}

.fp-ty__relay-hour-row {
	display: flex !important;
	gap: 10px !important;
	font-size: 12px !important;
	line-height: 1.8 !important;
}

.fp-ty__relay-day {
	color: #999 !important;
	width: 30px !important;
	flex-shrink: 0 !important;
}

.fp-ty__relay-time {
	color: #555 !important;
}

/* --- Boxtal native relay block restyled --- */
body.fp-thankyou .bw-order-parcelpoint {
	font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

body.fp-thankyou .bw-order-parcelpoint h2 {
	font-family: 'Syne', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	margin: 0 0 10px !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
}

body.fp-thankyou .bw-order-parcelpoint h2::before {
	content: '' !important;
	display: inline-block !important;
	width: 8px !important;
	height: 8px !important;
	background: #ef4444 !important;
	border-radius: 50% !important;
	flex-shrink: 0 !important;
}

body.fp-thankyou .bw-order-parcelpoint h4 {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	margin: 12px 0 4px !important;
}

body.fp-thankyou .bw-order-parcelpoint p {
	font-size: 13px !important;
	color: #777 !important;
	line-height: 1.6 !important;
	margin: 0 !important;
}

body.fp-thankyou .bw-order-parcelpoint pre {
	font-family: 'Work Sans', sans-serif !important;
	font-size: 12px !important;
	color: #777 !important;
	line-height: 1.8 !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
	border: none !important;
	white-space: pre-line !important;
}

body.fp-thankyou .bw-order-parcelpoint pre span {
	background-color: transparent !important;
}

/* --- Actions --- */
.fp-ty__actions {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.fp-ty__btn {
	display: block !important;
	text-align: center !important;
	padding: 14px 20px !important;
	border-radius: 12px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: all 0.2s !important;
	cursor: pointer !important;
}

.fp-ty__btn--primary {
	background: #1a1a1a !important;
	color: #fff !important;
}

.fp-ty__btn--primary:hover {
	background: #333 !important;
	transform: translateY(-1px) !important;
}

/* --- Trust --- */
.fp-ty__trust {
	display: flex !important;
	justify-content: center !important;
	gap: 20px !important;
	margin-top: 16px !important;
	padding-top: 16px !important;
	border-top: 1px solid #f0f0f0 !important;
}

.fp-ty__trust-item {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 12px !important;
	color: #777 !important;
}

/* --- Support card --- */
.fp-ty__support {
	background: #fff !important;
	border: 1px solid #eee !important;
	border-radius: 16px !important;
	padding: 20px !important;
}

.fp-ty__support-header {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-bottom: 12px !important;
}

.fp-ty__support-title {
	display: block !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}

.fp-ty__support-sub {
	display: block !important;
	font-size: 12px !important;
	color: #999 !important;
}

.fp-ty__support-link {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13px !important;
	color: #1a1a1a !important;
	text-decoration: none !important;
	padding: 10px 14px !important;
	background: #f7f7f7 !important;
	border-radius: 10px !important;
	transition: background 0.2s !important;
}

.fp-ty__support-link:hover {
	background: #eee !important;
}

/* --- Thank You Responsive --- */
@media (max-width: 999px) {
	.fp-ty__grid {
		flex-direction: column !important;
	}
	.fp-ty__sidebar {
		flex: none !important;
		width: 100% !important;
	}
}

@media (max-width: 640px) {
	.fp-ty__header {
		flex-direction: column !important;
		text-align: center !important;
	}
	.fp-ty__title {
		font-size: 22px !important;
	}
	.fp-ty__bank-row {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 4px !important;
	}
	.fp-ty__trust {
		flex-direction: column !important;
		align-items: center !important;
	}
}
