/* ===== OLAware: brand-matched WooCommerce chrome =====
   Notices, block cart + checkout, classic checkout, order received, My Account.
   Loaded site-wide (notices can appear on any page). All colours are
   BB global colour tokens; nothing is hardcoded that exists as a global. */

:root {
	--ola-radius: 18px;
	--ola-line: color-mix(in srgb, var(--fl-global-clay) 55%, transparent);
	--ola-line-solid: color-mix(in srgb, var(--fl-global-clay) 60%, #fff);
	--ola-muted: color-mix(in srgb, var(--fl-global-charcoal) 55%, #fff);
	--ola-shadow: 0 2px 14px rgba(44, 44, 44, .06);
}

/* ------------------------------------------------------------------ */
/* Notices: classic (.woocommerce-message) and banner (.wc-block-...)  */
/* ------------------------------------------------------------------ */

.woocommerce-notices-wrapper:empty { display: none; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-notice,
.wc-block-components-notice-banner {
	display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px 20px;
	margin: 0 0 28px !important; padding: 18px 22px !important;
	background: var(--fl-global-warm-cream) !important;
	border: 1px solid var(--ola-line) !important;
	border-left: 5px solid var(--fl-global-olive) !important;
	border-radius: var(--ola-radius) !important;
	box-shadow: var(--ola-shadow);
	color: var(--fl-global-charcoal) !important;
	font-size: 15px; line-height: 1.5; font-weight: 500;
	list-style: none; width: auto;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }

.woocommerce-info,
.wc-block-components-notice-banner.is-info {
	background: color-mix(in srgb, var(--fl-global-clay) 30%, var(--fl-global-warm-cream)) !important;
	border-left-color: var(--fl-global-olive) !important;
}
.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	background: color-mix(in srgb, var(--fl-global-terracotta) 10%, #fff) !important;
	border-left-color: var(--fl-global-deep-terracotta) !important;
	color: var(--fl-global-deep-terracotta) !important;
}
/* Errors arrive as <ul><li>text <a>button</a></li></ul>, so each li is its own flex row. */
.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
	display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px;
	flex: 1 1 100%; margin: 0 !important; padding: 0 !important;
}
.woocommerce-error li + li { border-top: 1px solid color-mix(in srgb, var(--fl-global-deep-terracotta) 15%, transparent); padding-top: 12px !important; }

.wc-block-components-notice-banner > svg {
	fill: var(--fl-global-olive) !important; background: transparent !important;
	width: 22px; height: 22px; flex: 0 0 auto; margin: 0;
}
.wc-block-components-notice-banner.is-error > svg { fill: var(--fl-global-deep-terracotta) !important; }
.wc-block-components-notice-banner__content { flex: 1 1 260px; padding: 0 !important; }
.wc-block-components-notice-banner__dismiss {
	color: var(--ola-muted) !important;
}

/* The "View cart" button and friends: same terracotta pill as the site's CTAs. */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-notices-wrapper .button,
.wc-block-components-notice-banner .wc-forward,
.wc-block-components-notice-banner .button {
	order: 2; margin-left: auto !important;
	display: inline-flex !important; align-items: center; justify-content: center;
	font-size: 14px !important; font-weight: 600 !important; line-height: 1 !important;
	padding: 13px 24px !important; border-radius: 999px !important;
	background: var(--fl-global-terracotta) !important; color: #fff !important;
	border: 1px solid var(--fl-global-terracotta) !important;
	text-decoration: none !important; text-shadow: none !important; box-shadow: none !important;
	transition: background-color .18s, border-color .18s;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover,
.woocommerce-notices-wrapper .button:hover,
.wc-block-components-notice-banner .wc-forward:hover,
.wc-block-components-notice-banner .button:hover {
	background: var(--fl-global-deep-terracotta) !important;
	border-color: var(--fl-global-deep-terracotta) !important;
	color: #fff !important;
}
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.wc-block-components-notice-banner a:not(.button):not(.wc-forward) {
	color: var(--fl-global-deep-olive); font-weight: 600; text-decoration: none;
	border-bottom: 2px solid var(--fl-global-clay);
}
.woocommerce-message a:not(.button):hover,
.woocommerce-info a:not(.button):hover { color: var(--fl-global-terracotta); border-color: var(--fl-global-terracotta); }

/* Demo-store banner */
.woocommerce-store-notice, p.demo_store {
	background: var(--fl-global-olive) !important; color: #fff !important;
	font-weight: 500; padding: 12px 20px;
}
.woocommerce-store-notice a, p.demo_store a { color: var(--fl-global-butter) !important; }

@media (max-width: 600px) {
	.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
		padding: 16px 18px !important; font-size: 14.5px;
	}
	.woocommerce-message .button,
	.woocommerce-notices-wrapper .button,
	.wc-block-components-notice-banner .wc-forward { margin-left: 0 !important; width: 100%; }
}

/* ------------------------------------------------------------------ */
/* Shared: block cart + checkout                                       */
/* ------------------------------------------------------------------ */

.wc-block-cart, .wc-block-checkout, .wc-block-components-form, .wc-block-components-order-summary,
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout {
	--wc-form-border-color: var(--ola-line-solid);
	--wc-form-border-radius: 12px;
	--wc-form-border-width: 1px;
	color: var(--fl-global-text);
}

/* Primary buttons (Proceed to checkout, Place order) */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--fl-global-terracotta) !important; color: #fff !important;
	border: 1px solid var(--fl-global-terracotta) !important;
	border-radius: 999px !important; padding: 16px 28px !important;
	font-size: 15px !important; font-weight: 600 !important; line-height: 1.2 !important;
	box-shadow: none !important; text-shadow: none !important; opacity: 1 !important;
	transition: background-color .18s, border-color .18s;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-button:not(.is-link):focus,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: var(--fl-global-deep-terracotta) !important;
	border-color: var(--fl-global-deep-terracotta) !important;
	color: #fff !important; filter: none !important;
}
.wc-block-components-button:not(.is-link):disabled {
	background: var(--fl-global-clay) !important; border-color: var(--fl-global-clay) !important;
	color: var(--fl-global-charcoal) !important; opacity: .7 !important;
}
.wc-block-components-button.is-link,
.wc-block-components-checkout-return-to-cart-button {
	color: var(--fl-global-deep-olive) !important; font-weight: 600;
}
.wc-block-components-checkout-return-to-cart-button:hover { color: var(--fl-global-terracotta) !important; }

/* Secondary / coupon apply button: olive ghost pill */
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon .wc-block-components-button:not(.is-link) {
	background: transparent !important; color: var(--fl-global-deep-olive) !important;
	border: 1px solid var(--fl-global-olive) !important; padding: 12px 20px !important;
	font-size: 14px !important;
}
.wc-block-components-totals-coupon__button:hover,
.wc-block-components-totals-coupon .wc-block-components-button:not(.is-link):hover {
	background: var(--fl-global-terracotta) !important; border-color: var(--fl-global-terracotta) !important;
	color: #fff !important;
}

/* Links inside cart / checkout (product names, "Edit", terms) */
.wc-block-cart a:not(.wc-block-components-button):not(.wp-block-button__link),
.wc-block-checkout a:not(.wc-block-components-button):not(.wp-block-button__link) {
	color: var(--fl-global-deep-olive); text-decoration: none;
}
.wc-block-cart a:not(.wc-block-components-button):not(.wp-block-button__link):hover,
.wc-block-checkout a:not(.wc-block-components-button):not(.wp-block-button__link):hover {
	color: var(--fl-global-terracotta);
}
.wc-block-components-product-name {
	color: var(--fl-global-charcoal) !important; font-weight: 600 !important; font-size: 16px;
}
.wc-block-components-product-name:hover { color: var(--fl-global-terracotta) !important; }

/* Headings / step titles */
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-cart__totals-title,
.wc-block-components-order-summary__button-text {
	color: var(--fl-global-charcoal) !important; font-weight: 600 !important;
}
.wc-block-components-checkout-step__title { font-size: 20px !important; }
.wc-block-cart__totals-title,
.wc-block-cart-items__header {
	font-size: 11.5px !important; font-weight: 600 !important; letter-spacing: 2.4px !important;
	text-transform: uppercase !important; color: var(--fl-global-olive) !important;
}
.wc-block-components-checkout-step__description { color: var(--ola-muted); }

/* Sidebar panels */
.wc-block-checkout__sidebar,
.is-large.wc-block-cart .wc-block-cart__sidebar {
	background: #fff; border: 1px solid var(--ola-line) !important;
	border-radius: var(--ola-radius) !important; padding: 8px 24px 18px !important;
	box-shadow: var(--ola-shadow);
}
.is-large.wc-block-cart .wc-block-cart__sidebar { margin-top: 0; }
.is-large.wc-block-cart .wc-block-cart__totals-title { padding: 18px 0 12px !important; }
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-order-summary-item,
.wc-block-components-order-summary .wc-block-components-panel__button { padding-left: 0; padding-right: 0; }

/* Lines, dividers, totals */
.wc-block-components-totals-wrapper,
.wc-block-components-totals-item,
.wc-block-components-order-summary-item,
.wc-block-components-panel,
.wc-block-cart-items__row,
.wc-block-cart-items thead th,
.wc-block-cart-items .wc-block-cart-items__header,
.wc-block-components-order-summary__content,
.wc-block-checkout__terms,
.wc-block-checkout__order-notes,
.wc-block-components-shipping-rates-control__package {
	border-color: var(--ola-line) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--fl-global-charcoal); font-weight: 600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
	color: var(--fl-global-deep-terracotta) !important; font-weight: 600 !important;
}
.wc-block-components-product-metadata,
.wc-block-components-product-details,
.wc-block-components-totals-item__description,
.wc-block-components-order-summary-item__description { color: var(--ola-muted); }

/* Cart line items */
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
	background: var(--fl-global-warm-cream); border-radius: 12px; border: 1px solid var(--ola-line);
}
.wc-block-components-order-summary-item__quantity {
	background: var(--fl-global-olive) !important; color: #fff !important;
	border: 0 !important; box-shadow: none !important; font-weight: 600;
}
.wc-block-cart-item__remove-link {
	color: var(--ola-muted) !important; font-size: 13px; font-weight: 600;
}
.wc-block-cart-item__remove-link:hover { color: var(--fl-global-terracotta) !important; }
.wc-block-cart-item__remove-icon svg,
.wc-block-cart-item__remove-icon { color: var(--ola-muted) !important; fill: currentColor; }
.wc-block-cart-item__remove-icon:hover { color: var(--fl-global-terracotta) !important; }

/* Quantity stepper */
.wc-block-components-quantity-selector { background: #fff; }
.wc-block-components-quantity-selector::after {
	border: 1px solid var(--ola-line-solid) !important; border-radius: 999px !important;
}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	color: var(--fl-global-charcoal); font-weight: 600; border: 0; background: transparent;
	font-size: 14px;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	color: var(--fl-global-olive) !important; font-weight: 600; opacity: 1 !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
	color: var(--fl-global-terracotta) !important; box-shadow: none !important;
}

/* Sale badge */
.wc-block-components-sale-badge {
	background: var(--fl-global-butter) !important; color: var(--fl-global-charcoal) !important;
	border: 0 !important; border-radius: 999px !important; font-weight: 600;
	font-size: 11px; letter-spacing: .6px; padding: 5px 11px !important;
}

/* Inputs, selects, textareas */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="url"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select .components-custom-select-control__button,
.wc-block-components-select .wc-block-components-select__select,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-combobox-control .components-combobox-control__input,
.wc-block-components-country-input .components-combobox-control__input {
	border: 1px solid var(--ola-line-solid) !important; border-radius: 12px !important;
	background: #fff !important; color: var(--fl-global-charcoal) !important;
	box-shadow: none !important; font-size: 15px;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-block-components-combobox .components-combobox-control__input:focus,
.wc-block-components-select .components-custom-select-control__button:focus {
	border-color: var(--fl-global-olive) !important;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--fl-global-olive) 25%, transparent) !important;
	outline: none !important;
}
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-combobox label { color: var(--ola-muted) !important; }
.wc-block-components-text-input.is-active label,
.wc-block-components-select.is-active label,
.wc-block-components-combobox.is-active label { color: var(--fl-global-olive) !important; }
.wc-block-components-validation-error p,
.wc-block-components-validation-error { color: var(--fl-global-deep-terracotta) !important; }
.wc-block-components-text-input.has-error input,
.wc-block-components-validation-error + input { border-color: var(--fl-global-deep-terracotta) !important; }

/* Coupon field */
.wc-block-components-totals-coupon__content .wc-block-components-text-input input { border-radius: 999px !important; padding-left: 18px; }
.wc-block-components-totals-coupon-link,
.wc-block-components-panel__button { color: var(--fl-global-deep-olive) !important; font-weight: 600; }
.wc-block-components-panel__button:hover { color: var(--fl-global-terracotta) !important; }
.wc-block-components-panel__button svg { fill: currentColor; }

/* Checkboxes */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border: 1px solid var(--ola-line-solid) !important; border-radius: 6px !important;
	background: #fff !important; box-shadow: none !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--fl-global-olive) !important; border-color: var(--fl-global-olive) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff !important; color: #fff !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus {
	outline: 2px solid var(--fl-global-clay) !important; outline-offset: 2px;
}
.wc-block-components-checkbox__label { font-weight: 500; color: var(--fl-global-charcoal); }

/* Radios (shipping options, payment methods) */
.wc-block-components-radio-control__input {
	border: 2px solid var(--ola-line-solid) !important; background: #fff !important;
	box-shadow: none !important;
}
.wc-block-components-radio-control__input:checked { border-color: var(--fl-global-olive) !important; }
.wc-block-components-radio-control__input:checked::before {
	background: var(--fl-global-olive) !important;
}
.wc-block-components-radio-control__input:focus {
	outline: 2px solid var(--fl-global-clay) !important; outline-offset: 2px;
}
.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control-accordion-option,
.wc-block-components-shipping-rates-control__package,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option {
	border-color: var(--ola-line) !important;
}
.wc-block-components-radio-control--highlight-checked {
	border-radius: 14px !important; overflow: hidden;
}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--fl-global-olive) !important;
	background: var(--fl-global-warm-cream) !important;
}
.wc-block-components-radio-control__label { color: var(--fl-global-charcoal); font-weight: 500; }
.wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__description { color: var(--ola-muted); }
.wc-block-components-radio-control__secondary-label .wc-block-formatted-money-amount {
	color: var(--fl-global-deep-terracotta); font-weight: 600;
}
.wc-block-components-radio-control-accordion-content { background: var(--fl-global-warm-cream); }

/* Address card */
.wc-block-components-address-card {
	border: 1px solid var(--ola-line) !important; border-radius: 14px !important;
	background: var(--fl-global-warm-cream);
}
.wc-block-components-address-card__edit { color: var(--fl-global-deep-olive) !important; font-weight: 600; }
.wc-block-components-address-card__edit:hover { color: var(--fl-global-terracotta) !important; }

/* Shipping calculator, "Enter address" links */
.wc-block-components-shipping-calculator-address__button { border-radius: 999px !important; }
.wc-block-components-totals-shipping__change-address__link,
.wc-block-components-shipping-address { color: var(--fl-global-deep-olive) !important; }

/* Order summary "Cart" heading chevrons etc. */
.wc-block-components-order-summary__button-icon { color: var(--fl-global-olive); }

/* Express payment separator */
.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after { border-color: var(--ola-line) !important; }
.wc-block-components-express-payment__title,
.wc-block-components-express-payment-continue-rule { color: var(--ola-muted); }

/* Skeleton shimmer in brand tint */
.wc-block-components-skeleton__element {
	background: color-mix(in srgb, var(--fl-global-clay) 35%, #fff) !important;
}

/* Cross-sells (cart) and "New in store" (empty cart) product cards */
.wc-block-cart .wp-block-woocommerce-product-collection .wp-block-heading,
.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block .wp-block-heading {
	color: var(--fl-global-charcoal); font-weight: 600;
}
.wc-block-cart__empty-cart__title { font-size: 32px; }
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before { color: var(--fl-global-clay); }
.wp-block-woocommerce-empty-cart-block .wp-block-separator { border-color: var(--fl-global-clay); color: var(--fl-global-clay); }

.wc-block-cart .wc-block-components-product-image img,
.wc-block-grid__product-image img {
	background: var(--fl-global-warm-cream); border-radius: 14px; border: 1px solid var(--ola-line);
	padding: 10px; box-sizing: border-box;
}
.wc-block-cart .wc-block-components-product-title a,
.wc-block-cart .wp-block-post-title a,
.wc-block-grid__product-title,
.wc-block-grid__product-link { color: var(--fl-global-charcoal) !important; font-weight: 600; text-decoration: none; }
.wc-block-cart .wp-block-post-title a:hover,
.wc-block-grid__product-link:hover .wc-block-grid__product-title { color: var(--fl-global-terracotta) !important; }
.wc-block-cart .wc-block-components-product-price,
.wc-block-grid__product-price { color: var(--fl-global-deep-terracotta) !important; font-weight: 600; }
.wc-block-cart .wc-block-components-product-price del,
.wc-block-grid__product-price del { color: var(--ola-muted); font-weight: 400; }
.wc-block-cart .wc-block-components-product-price ins,
.wc-block-grid__product-price ins { text-decoration: none; }

.wc-block-cart .wc-block-components-product-button .wp-block-button__link,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-cart .wc-block-components-product-button .added_to_cart {
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 13.5px !important; font-weight: 600 !important; line-height: 1 !important;
	border-radius: 999px !important; padding: 12px 20px !important;
	background: transparent !important; color: var(--fl-global-deep-olive) !important;
	border: 1px solid var(--fl-global-olive) !important;
	text-decoration: none !important; box-shadow: none !important;
	transition: background-color .18s, color .18s, border-color .18s;
}
.wc-block-cart .wc-block-components-product-button .wp-block-button__link:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	background: var(--fl-global-terracotta) !important; border-color: var(--fl-global-terracotta) !important;
	color: #fff !important;
}
.wc-block-cart .wc-block-components-product-button .added_to_cart,
.wc-block-grid__product-add-to-cart .added_to_cart {
	background: var(--fl-global-butter) !important; border-color: var(--fl-global-butter) !important;
	color: var(--fl-global-charcoal) !important; margin-top: 8px;
}

/* ------------------------------------------------------------------ */
/* Classic Woo screens: My Account, order received, login, forms       */
/* ------------------------------------------------------------------ */

/* Links */
.woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button),
.woocommerce-order a:not(.button):not(.woocommerce-button),
.woocommerce-form a:not(.button):not(.woocommerce-button),
.woocommerce-Addresses a { color: var(--fl-global-deep-olive); font-weight: 600; text-decoration: none; }
.woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):hover,
.woocommerce-order a:not(.button):not(.woocommerce-button):hover,
.woocommerce-form a:not(.button):not(.woocommerce-button):hover,
.woocommerce-Addresses a:hover { color: var(--fl-global-terracotta); }

/* Buttons */
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button.button,
.woocommerce-form .button,
.woocommerce-form button.button,
.woocommerce-order .button,
.woocommerce-Address .button,
.woocommerce-button.button,
.woocommerce-Button.button,
.woocommerce-form-track-order .button,
.woocommerce-ResetPassword .button,
.woocommerce-form-coupon .button {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
	font-size: 14px !important; font-weight: 600 !important; line-height: 1 !important;
	border-radius: 999px !important; padding: 14px 26px !important; cursor: pointer;
	background: var(--fl-global-terracotta) !important; color: #fff !important;
	border: 1px solid var(--fl-global-terracotta) !important;
	text-decoration: none !important; text-shadow: none !important; box-shadow: none !important;
	transition: background-color .18s, color .18s, border-color .18s;
}
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content button.button:hover,
.woocommerce-form .button:hover,
.woocommerce-form button.button:hover,
.woocommerce-order .button:hover,
.woocommerce-Address .button:hover,
.woocommerce-button.button:hover,
.woocommerce-Button.button:hover {
	background: var(--fl-global-deep-terracotta) !important;
	border-color: var(--fl-global-deep-terracotta) !important; color: #fff !important;
}
/* Secondary actions (View order, Edit address, Pay, Cancel): olive ghost */
.woocommerce-orders-table .woocommerce-button,
.woocommerce-Address .edit,
.woocommerce-button.view,
.woocommerce-button.cancel,
.woocommerce-button.invoice,
.woocommerce-button.order-again,
.woocommerce-order .order-again .button {
	background: transparent !important; color: var(--fl-global-deep-olive) !important;
	border: 1px solid var(--fl-global-olive) !important; padding: 10px 18px !important;
	font-size: 13px !important; margin: 2px 4px 2px 0;
}
.woocommerce-orders-table .woocommerce-button:hover,
.woocommerce-Address .edit:hover,
.woocommerce-button.view:hover,
.woocommerce-button.cancel:hover,
.woocommerce-button.invoice:hover,
.woocommerce-button.order-again:hover {
	background: var(--fl-global-terracotta) !important; border-color: var(--fl-global-terracotta) !important;
	color: #fff !important;
}

/* My Account navigation */
.woocommerce-MyAccount-navigation ul {
	list-style: none; margin: 0; padding: 10px;
	background: #fff; border: 1px solid var(--ola-line); border-radius: var(--ola-radius);
	box-shadow: var(--ola-shadow);
}
.woocommerce-MyAccount-navigation li,
.woocommerce-MyAccount-navigation-link { border: 0 !important; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li a {
	display: block; padding: 11px 16px; border-radius: 12px;
	color: var(--fl-global-charcoal); font-weight: 600; font-size: 14.5px;
	text-decoration: none; transition: background-color .18s, color .18s;
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--fl-global-warm-cream); color: var(--fl-global-terracotta); }
.woocommerce-MyAccount-navigation li.is-active a {
	background: var(--fl-global-olive); color: #fff;
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--ola-muted); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { color: var(--fl-global-terracotta); }
.woocommerce-MyAccount-content { color: var(--fl-global-text); }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3,
.woocommerce-order h2, .woocommerce-order h3,
.woocommerce-Address-title h2, .woocommerce-Address-title h3 {
	color: var(--fl-global-charcoal); font-weight: 600;
}

/* Tables (orders, order details, downloads) */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table,
.woocommerce-orders-table,
.woocommerce-table--order-details {
	border: 1px solid var(--ola-line) !important; border-radius: var(--ola-radius) !important;
	border-collapse: separate !important; border-spacing: 0; overflow: hidden;
	background: #fff; box-shadow: var(--ola-shadow); margin: 0 0 28px;
}
.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
	font-size: 11.5px; font-weight: 600; letter-spacing: 2.2px; text-transform: uppercase;
	color: var(--fl-global-olive); background: var(--fl-global-warm-cream);
	padding: 14px 16px; border: 0 !important; border-bottom: 1px solid var(--ola-line) !important;
}
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td {
	padding: 14px 16px; border: 0 !important; border-bottom: 1px solid var(--ola-line) !important;
	color: var(--fl-global-text); vertical-align: middle;
}
.woocommerce table.shop_table tbody tr:last-child td { border-bottom: 0 !important; }
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
	background: transparent; letter-spacing: 0; text-transform: none; font-size: 14.5px;
	color: var(--fl-global-charcoal); border-top: 1px solid var(--ola-line) !important; border-bottom: 0 !important;
}
.woocommerce table.shop_table tfoot tr:last-child th,
.woocommerce table.shop_table tfoot tr:last-child td { font-weight: 600; }
.woocommerce table.shop_table tfoot tr:last-child .woocommerce-Price-amount { color: var(--fl-global-deep-terracotta); }
.woocommerce table.shop_table .woocommerce-Price-amount { font-weight: 600; }

/* Order received (thank-you page) */
.woocommerce-thankyou-order-received {
	font-size: 20px; font-weight: 600; color: var(--fl-global-charcoal);
	background: var(--fl-global-warm-cream); border-left: 5px solid var(--fl-global-olive);
	border-radius: var(--ola-radius); padding: 20px 24px; margin: 0 0 24px;
}
ul.woocommerce-order-overview {
	display: flex; flex-wrap: wrap; gap: 12px; list-style: none; margin: 0 0 32px; padding: 0;
}
ul.woocommerce-order-overview li {
	flex: 1 1 160px; margin: 0 !important; padding: 14px 18px !important; border: 1px solid var(--ola-line) !important;
	border-radius: 14px; background: #fff; font-size: 11.5px; font-weight: 600; letter-spacing: 2px;
	text-transform: uppercase; color: var(--fl-global-olive); line-height: 1.5; float: none !important;
}
ul.woocommerce-order-overview li strong {
	display: block; margin-top: 4px; font-size: 16px; letter-spacing: 0; text-transform: none;
	color: var(--fl-global-charcoal);
}
ul.woocommerce-order-overview li.total strong .woocommerce-Price-amount { color: var(--fl-global-deep-terracotta); }
.woocommerce-customer-details address,
.woocommerce-Address address,
.woocommerce-column--billing-address address,
.woocommerce-column--shipping-address address {
	border: 1px solid var(--ola-line); border-radius: 14px; background: var(--fl-global-warm-cream);
	padding: 18px 20px; font-style: normal; line-height: 1.6;
}

/* Forms: login, register, edit account, addresses, lost password, track order */
.woocommerce-form-login, .woocommerce-form-register,
.woocommerce-EditAccountForm, .woocommerce-address-fields,
.woocommerce-ResetPassword, .woocommerce-form-track-order,
form.woocommerce-checkout .woocommerce-form-coupon,
form.woocommerce-form-coupon {
	background: #fff; border: 1px solid var(--ola-line) !important; border-radius: var(--ola-radius) !important;
	padding: 28px !important; box-shadow: var(--ola-shadow); max-width: 640px;
}
.woocommerce-form-row label,
.woocommerce form .form-row label,
.woocommerce-address-fields label {
	font-weight: 600; color: var(--fl-global-charcoal); font-size: 14px; margin-bottom: 6px;
}
.woocommerce form .form-row .required { color: var(--fl-global-terracotta); text-decoration: none; }
.woocommerce form .form-row .input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-Input, .woocommerce-Input--text, .woocommerce-Input--password,
.woocommerce .select2-container .select2-selection--single {
	border: 1px solid var(--ola-line-solid) !important; border-radius: 12px !important;
	background: #fff !important; padding: 12px 16px !important; height: auto !important;
	font-size: 15px; color: var(--fl-global-charcoal); box-shadow: none !important;
}
.woocommerce form .form-row .input-text:focus,
.woocommerce-Input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--fl-global-olive) !important; outline: none;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--fl-global-olive) 25%, transparent) !important;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 1.5; padding: 0; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 100%; right: 10px; }
.woocommerce form .password-input { display: block; }
.woocommerce form .show-password-input { color: var(--fl-global-olive); top: 50%; transform: translateY(-50%); }
.woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce form input[type="checkbox"],
.woocommerce form input[type="radio"] { accent-color: var(--fl-global-olive); }
.woocommerce-form-login__rememberme { color: var(--fl-global-text); font-weight: 500; }
.woocommerce-LostPassword a { color: var(--fl-global-deep-olive); font-weight: 600; }
.woocommerce-privacy-policy-text { font-size: 13.5px; color: var(--ola-muted); }
.woocommerce-password-strength { border-radius: 8px; }
.woocommerce-password-strength.strong { background: color-mix(in srgb, var(--fl-global-olive) 25%, #fff); border-color: var(--fl-global-olive); color: var(--fl-global-deep-olive); }
.woocommerce-password-strength.short, .woocommerce-password-strength.bad { background: color-mix(in srgb, var(--fl-global-terracotta) 12%, #fff); border-color: var(--fl-global-terracotta); color: var(--fl-global-deep-terracotta); }
.woocommerce-password-strength.good { background: color-mix(in srgb, var(--fl-global-butter) 40%, #fff); border-color: var(--fl-global-butter); color: var(--fl-global-charcoal); }

/* ------------------------------------------------------------------ */
/* Classic checkout ([woocommerce_checkout] shortcode)                 */
/* ------------------------------------------------------------------ */

.woocommerce-checkout form.checkout h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
	font-size: 20px; font-weight: 600; color: var(--fl-global-charcoal); margin: 0 0 16px;
}
.woocommerce-checkout #order_review_heading { margin-top: 32px; }
.woocommerce-checkout #ship-to-different-address label { font-weight: 600; color: var(--fl-global-charcoal); }
.woocommerce-checkout .woocommerce-form__label-for-checkbox input { margin-right: 8px; }

/* The theme paints a grey slab around the review area; make it a clean card instead. */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
	background: transparent !important; padding: 0 !important; border: 0 !important;
}
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
	background: #fff !important; border: 1px solid var(--ola-line) !important;
	border-radius: var(--ola-radius) !important; box-shadow: var(--ola-shadow); overflow: hidden;
}
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--ola-line) !important; padding: 10px 24px !important; margin: 0;
	list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li {
	padding: 12px 0; border-bottom: 1px solid var(--ola-line); line-height: 1.5;
}
.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: 0; }
.woocommerce-checkout #payment ul.payment_methods li label {
	font-weight: 600; color: var(--fl-global-charcoal); cursor: pointer; display: inline;
}
.woocommerce-checkout #payment ul.payment_methods li img { vertical-align: middle; margin-left: 8px; max-height: 28px; }
.woocommerce-checkout #payment ul.payment_methods input[type="radio"] { accent-color: var(--fl-global-olive); margin-right: 8px; }
.woocommerce-checkout #payment div.payment_box {
	background: var(--fl-global-warm-cream) !important; color: var(--fl-global-text) !important;
	border-radius: 14px !important; padding: 16px 20px !important; margin: 12px 0 4px !important;
	font-size: 14.5px; line-height: 1.6;
}
.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--fl-global-warm-cream) !important; border: 8px solid transparent;
	border-top-color: transparent; border-bottom-color: var(--fl-global-warm-cream);
	content: ""; display: block; height: 0; left: 0; margin: -24px 0 0 16px; position: absolute; top: 0; width: 0;
}
.woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }
.woocommerce-checkout #payment .place-order,
.woocommerce-checkout .woocommerce-checkout-payment .place-order { padding: 20px 24px 24px !important; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text { margin-bottom: 16px; }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { margin-bottom: 16px; }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
	font-weight: 500; color: var(--fl-global-charcoal);
}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] { accent-color: var(--fl-global-olive); }
/* Extra fields plugins (Checkout Field Editor) render inside the place-order area. */
.woocommerce-checkout #payment .place-order h3,
.woocommerce-checkout #payment .place-order h4 { font-size: 18px; font-weight: 600; color: var(--fl-global-charcoal); margin: 4px 0 12px; }
.woocommerce-checkout #payment .place-order p { font-size: 14.5px; line-height: 1.6; }

.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
	display: flex !important; width: 100%; align-items: center; justify-content: center;
	float: none !important; margin: 8px 0 0 !important;
	font-size: 15px !important; font-weight: 600 !important; line-height: 1 !important;
	padding: 18px 30px !important; border-radius: 999px !important;
	background: var(--fl-global-terracotta) !important; color: #fff !important;
	border: 1px solid var(--fl-global-terracotta) !important;
	text-shadow: none !important; box-shadow: none !important;
	transition: background-color .18s, border-color .18s;
}
.woocommerce-checkout #payment #place_order:hover,
.woocommerce #payment #place_order:hover {
	background: var(--fl-global-deep-terracotta) !important;
	border-color: var(--fl-global-deep-terracotta) !important;
}

/* Review order table: totals rows */
.woocommerce-checkout-review-order-table tfoot th { width: 60%; }
.woocommerce-checkout-review-order-table .product-quantity { color: var(--ola-muted); font-weight: 400; }
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li { margin: 0; padding: 2px 0; }
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods input[type="radio"] { accent-color: var(--fl-global-olive); margin-right: 6px; }
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods label { font-weight: 500; color: var(--fl-global-charcoal); display: inline; }
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount { font-size: 17px; }

/* Validation */
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid .select2-container .select2-selection--single {
	border-color: var(--fl-global-deep-terracotta) !important;
}
.woocommerce form .form-row.woocommerce-invalid label { color: var(--fl-global-deep-terracotta); }
.woocommerce form .form-row.woocommerce-validated .input-text,
.woocommerce form .form-row.woocommerce-validated .select2-container .select2-selection--single {
	border-color: var(--fl-global-olive) !important;
}
.woocommerce .checkout-inline-error-message,
.woocommerce .form-row .checkout-inline-error-message { color: var(--fl-global-deep-terracotta); font-size: 13px; margin-top: 6px; }

/* Select2 dropdown (country / state) */
.select2-container--default .select2-dropdown,
.select2-container .select2-dropdown {
	border: 1px solid var(--ola-line-solid) !important; border-radius: 12px !important; overflow: hidden;
	box-shadow: 0 10px 26px rgba(44,44,44,.12);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 1px solid var(--ola-line-solid) !important; border-radius: 10px !important; padding: 8px 12px;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--fl-global-olive) !important; color: #fff !important;
}
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
	background: var(--fl-global-warm-cream); color: var(--fl-global-charcoal);
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: var(--fl-global-olive) transparent transparent transparent; }

/* Coupon toggle + form on classic checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 24px !important; }
.woocommerce-checkout form.checkout_coupon {
	background: #fff; border: 1px solid var(--ola-line) !important; border-radius: var(--ola-radius) !important;
	padding: 22px !important; margin: 0 0 28px; box-shadow: var(--ola-shadow);
}
.woocommerce-checkout form.checkout_coupon .form-row-first { width: 60%; }
.woocommerce-checkout form.checkout_coupon .form-row-last { width: 36%; }
.woocommerce-checkout form.checkout_coupon .button { width: 100%; }

@media (max-width: 768px) {
	.woocommerce-checkout #payment ul.payment_methods { padding: 6px 18px !important; }
	.woocommerce-checkout #payment .place-order { padding: 16px 18px 20px !important; }
	.woocommerce-checkout form.checkout_coupon .form-row-first,
	.woocommerce-checkout form.checkout_coupon .form-row-last { width: 100%; }
}

/* Addresses grid */
.woocommerce-Addresses .woocommerce-Address {
	background: #fff; border: 1px solid var(--ola-line); border-radius: var(--ola-radius);
	padding: 22px; box-shadow: var(--ola-shadow);
}
.woocommerce-Addresses .woocommerce-Address address { border: 0; background: transparent; padding: 0; }
.woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.woocommerce-Address-title h2, .woocommerce-Address-title h3 { margin: 0; font-size: 18px; }

/* Order status pill in orders table */
.woocommerce-orders-table__cell-order-status {
	font-weight: 600; color: var(--fl-global-deep-olive);
}

/* ------------------------------------------------------------------ */
/* Shop-card add-to-cart buttons                                       */
/* The theme's base stylesheet loads AFTER olaware-shop.css and its     */
/* `.woocommerce a.button` defaults (4px radius, grey border) outrank   */
/* the card rule there, so the ghost pill is restated here with weight. */
/* ------------------------------------------------------------------ */
.ola-card__cart .button,
.ola-card__cart a.button,
.ola-card__cart .added_to_cart {
	display: inline-flex !important; align-items: center; justify-content: center;
	width: 100%; box-sizing: border-box;
	font-size: 13.5px !important; font-weight: 600 !important; line-height: 1 !important;
	border-radius: 999px !important; padding: 12px 18px !important;
	background: transparent !important; color: var(--fl-global-deep-olive) !important;
	border: 1px solid var(--fl-global-olive) !important;
	text-decoration: none !important; text-shadow: none !important; box-shadow: none !important;
}
.ola-card__cart .button:hover,
.ola-card__cart a.button:hover,
.ola-card__cart .button:focus,
.ola-card__cart .added_to_cart:hover {
	background: var(--fl-global-terracotta) !important; border-color: var(--fl-global-terracotta) !important;
	color: #fff !important;
}
.ola-card__cart .added_to_cart {
	margin-top: 8px; background: var(--fl-global-butter) !important;
	border-color: var(--fl-global-butter) !important; color: var(--fl-global-charcoal) !important;
}
.ola-card__cart .button.loading { opacity: .65; }
@media (max-width: 700px) {
	.ola-card__cart .button, .ola-card__cart a.button { padding: 11px 12px !important; font-size: 12.5px !important; }
}

/* Generic price colour across Woo output outside our own components */
.woocommerce-Price-amount { font-variant-numeric: tabular-nums; }

@media (max-width: 768px) {
	.woocommerce-MyAccount-navigation { margin-bottom: 22px; }
	.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 4px; padding: 8px; }
	.woocommerce-MyAccount-navigation li a { padding: 9px 14px; font-size: 13.5px; }
	.wc-block-checkout__sidebar,
	.is-large.wc-block-cart .wc-block-cart__sidebar { padding: 4px 18px 14px !important; }
	.woocommerce-form-login, .woocommerce-form-register,
	.woocommerce-EditAccountForm, .woocommerce-address-fields { padding: 20px !important; }
}
