/* ==========================================================================
   ACE BURGERSFORT 10X UPGRADES (v1.9.3) — CONSOLIDATED SCOPED STYLESHEET
   ========================================================================== */

:root {
	--ace-10x-red: #e30613;
	--ace-10x-red-dark: #b8000b;
	--ace-10x-black: #171717;
	--ace-10x-slate: #1e293b;
	--ace-10x-border: #e2ded6;
	--ace-10x-warm: #f8f6f1;
	--ace-10x-emerald-bg: #ecfdf5;
	--ace-10x-emerald-fg: #047857;
}

/* --------------------------------------------------------------------------
   1. Computed & Static WCAG AAA Dark-Surface Contrast Fixer
   -------------------------------------------------------------------------- */
.ace-10x-dark-surface-fixed,
.et_pb_section[style*="#111"],
.et_pb_section[style*="#171717"],
.et_pb_section[style*="rgb(17, 17, 17)"],
.et_pb_row[style*="#111"],
.et_pb_column[style*="#111"],
.et_pb_bg_layout_dark {
	color: #f1f5f9 !important;
}

.ace-10x-dark-surface-fixed h1,
.ace-10x-dark-surface-fixed h2,
.ace-10x-dark-surface-fixed h3,
.ace-10x-dark-surface-fixed h4,
.ace-10x-dark-surface-fixed strong,
.et_pb_section[style*="#111"] h2,
.et_pb_section[style*="#111"] h3,
.et_pb_section[style*="#111"] h4,
.et_pb_row[style*="#111"] h3,
.et_pb_column[style*="#111"] h3,
.et_pb_bg_layout_dark h2,
.et_pb_bg_layout_dark h3,
.et_pb_bg_layout_dark h4 {
	color: #ffffff !important;
}

.ace-10x-dark-surface-fixed p,
.ace-10x-dark-surface-fixed span:not(.ace-10x-badge),
.ace-10x-dark-surface-fixed li {
	color: #e2e8f0 !important;
}

body.home .et_pb_section {
	max-height: none;
}

body.home .et_pb_section[style*="min-height: 100vh"],
body.home .et_pb_section[style*="min-height:100vh"] {
	min-height: auto !important;
	padding-top: clamp(32px, 5vw, 64px) !important;
	padding-bottom: clamp(32px, 5vw, 64px) !important;
}

/* --------------------------------------------------------------------------
   2. Solid Ace Red CTA Buttons & High-Contrast Emerald Stock Pill
   -------------------------------------------------------------------------- */
body.ace-ce-product-page div.product p.price,
body.ace-ce-product-page div.product span.price,
body.single-product div.product p.price,
body.single-product div.product span.price {
	color: var(--ace-10x-black) !important;
	font-weight: 900 !important;
}

body.ace-ce-product-page div.product form.cart .single_add_to_cart_button,
body.single-product div.product form.cart .single_add_to_cart_button,
body.ace-commerce-cart-page .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.ace-commerce-checkout-page #place_order {
	background-color: var(--ace-10x-red) !important;
	border: 2px solid var(--ace-10x-red) !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 12px rgba(227, 6, 19, 0.2) !important;
	transition: background-color 0.16s ease, transform 0.12s ease !important;
}

body.ace-ce-product-page div.product form.cart .single_add_to_cart_button:hover,
body.single-product div.product form.cart .single_add_to_cart_button:hover,
body.ace-commerce-cart-page .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.ace-commerce-checkout-page #place_order:hover {
	background-color: var(--ace-10x-red-dark) !important;
	border-color: var(--ace-10x-red-dark) !important;
	color: #ffffff !important;
}

body.ace-ce-product-page div.product form.cart .single_add_to_cart_button::after,
body.ace-commerce-cart-page .wc-proceed-to-checkout a.checkout-button::after {
	display: none !important;
}

body.ace-ce-product-page div.product p.stock.in-stock,
body.single-product div.product p.stock.in-stock {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 5px 12px !important;
	margin: 4px 0 14px !important;
	border-radius: 999px !important;
	background: var(--ace-10x-emerald-bg) !important;
	border: 1px solid #a7f3d0 !important;
	color: var(--ace-10x-emerald-fg) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

body.ace-ce-product-page div.product p.stock.in-stock::before {
	content: "✓";
	font-weight: 900;
}

/* --------------------------------------------------------------------------
   3. Live Instant Type-Ahead Search Dropdown & Catalogue Polish
   -------------------------------------------------------------------------- */
.ace-catalogue__search-field {
	position: relative !important;
}

.ace-10x-search-dropdown {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	background: #ffffff;
	border: 1px solid #d5cfc6;
	border-top: 3px solid var(--ace-10x-red);
	border-radius: 12px;
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.16);
	z-index: 99995;
	max-height: 440px;
	overflow-y: auto;
	padding: 8px;
}

.ace-10x-search-dropdown[hidden] {
	display: none !important;
}

.ace-10x-search-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	border-bottom: 1px solid #f1ede6;
	border-radius: 8px;
	text-decoration: none !important;
	color: var(--ace-10x-black) !important;
	transition: background 0.12s ease;
}

.ace-10x-search-item:last-child {
	border-bottom: 0;
}

.ace-10x-search-item:hover {
	background: var(--ace-10x-warm);
}

.ace-10x-search-item__title {
	font-size: 14px;
	font-weight: 800;
	color: var(--ace-10x-black);
	display: block;
}

.ace-10x-search-item__meta {
	font-size: 11px;
	color: #68645e;
	font-weight: 700;
}

.ace-10x-search-item__right {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.ace-10x-search-item__price {
	font-size: 14px;
	font-weight: 900;
	color: var(--ace-10x-black);
}

.ace-catalogue--v13 .ace-nav-sort select {
	width: auto !important;
	min-width: 215px !important;
	padding: 9px 32px 9px 12px !important;
	font-size: 14px !important;
}

.ace-catalogue--v13 .ace-nav-layout {
	grid-template-columns: 260px minmax(0, 1fr) !important;
	gap: 28px !important;
}

.ace-catalogue--v13 .ace-product-card {
	content-visibility: auto;
	contain-intrinsic-size: 320px;
}

.ace-catalogue--v13 .ace-product-card__body {
	padding: 16px !important;
}

.ace-catalogue--v13 .ace-product-card h3 {
	font-size: 16px !important;
	line-height: 1.4 !important;
}

.ace-sales-slot .ace-sales-message {
	display: inline-block;
	padding: 8px 14px;
	border-radius: 8px;
	background: #f8f6f1;
	color: #5e5850;
	font-size: 13px;
	font-weight: 700;
}

/* --------------------------------------------------------------------------
   4. Automatic SVG Department Fallbacks & Grouped Size Variant Pills
   -------------------------------------------------------------------------- */
.ace-10x-svg-fallback {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 148px;
	padding: 14px;
	background: linear-gradient(180deg, #faf9f6 0%, #f1eee8 100%);
	border-radius: 10px;
	text-align: center;
}

.ace-10x-variant-box {
	margin: 6px 0 12px;
	padding: 9px 10px;
	background: #faf9f6;
	border: 1px solid var(--ace-10x-border);
	border-radius: 9px;
}

.ace-10x-variant-box__label {
	display: block;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #5e5850;
	margin-bottom: 6px;
}

.ace-10x-variant-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.ace-10x-var-pill {
	border: 1px solid #d5cfc6;
	background: #ffffff;
	color: #171717;
	font-size: 12px;
	font-weight: 700;
	padding: 5px 9px;
	border-radius: 6px;
	cursor: pointer;
	line-height: 1.2;
	transition: all 0.14s ease;
}

.ace-10x-var-pill:hover {
	border-color: var(--ace-10x-red);
	color: var(--ace-10x-red);
}

.ace-10x-var-pill.is-active {
	background: var(--ace-10x-black);
	border-color: var(--ace-10x-black);
	color: #ffffff;
}

/* --------------------------------------------------------------------------
   5. Smart Cross-Mode Search Banner (Shop Online <-> Build a Quote / Basket)
   -------------------------------------------------------------------------- */
.ace-10x-crossmode-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0 0 18px;
	padding: 15px 18px;
	background: #fff7f7;
	border: 1px solid #f3d0d3;
	border-left: 5px solid var(--ace-10x-red);
	border-radius: 12px;
}

.ace-10x-crossmode-banner strong {
	display: block;
	font-size: 15px;
	color: var(--ace-10x-black);
	margin-bottom: 3px;
}

.ace-10x-crossmode-banner span {
	font-size: 13px;
	color: #5a534c;
}

/* --------------------------------------------------------------------------
   6. Tabbed Project Command Bar, 5-in-1 Calculators & Interactive BOQ Table
   -------------------------------------------------------------------------- */
.ace-10x-suite-shell {
	margin: 0 0 24px;
}

.ace-10x-command-bar {
	border: 1px solid var(--ace-10x-border);
	border-top: 4px solid var(--ace-10x-red);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
	overflow: hidden;
}

.ace-10x-command-bar__top {
	padding: 14px 18px;
	background: var(--ace-10x-warm);
	border-bottom: 1px solid var(--ace-10x-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}

.ace-10x-command-bar__title {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	font-size: 14px;
	color: var(--ace-10x-black);
}

.ace-10x-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.ace-10x-tab {
	border: 1px solid #d5cfc6;
	background: #ffffff;
	color: #2b2926;
	font-size: 13px;
	font-weight: 800;
	padding: 8px 13px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.14s ease;
}

.ace-10x-tab:hover {
	border-color: var(--ace-10x-red);
	color: var(--ace-10x-red);
}

.ace-10x-tab.is-active {
	background: var(--ace-10x-black);
	border-color: var(--ace-10x-black);
	color: #ffffff;
}

.ace-10x-tab--minimize {
	background: transparent;
	border-color: transparent;
	color: #68645e;
	text-decoration: underline;
}

.ace-10x-command-bar__panels {
	padding: 18px;
}

.ace-10x-command-bar__panels[hidden],
.ace-10x-panel[hidden],
.ace-10x-card[hidden] {
	display: none !important;
}

.ace-10x-calc-switcher {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0 0 16px;
	padding: 10px 12px;
	background: var(--ace-10x-warm);
	border: 1px solid var(--ace-10x-border);
	border-radius: 10px;
}

.ace-10x-calc-switcher__label {
	font-size: 12px;
	font-weight: 800;
	color: #4e4a44;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-right: 4px;
}

.ace-10x-calc-pill {
	border: 1px solid #d5cfc6;
	background: #ffffff;
	color: #171717;
	font-size: 12.5px;
	font-weight: 800;
	padding: 7px 12px;
	border-radius: 999px;
	cursor: pointer;
	transition: all 0.14s ease;
	line-height: 1.2;
}

.ace-10x-calc-pill:hover {
	border-color: var(--ace-10x-red);
	color: var(--ace-10x-red);
}

.ace-10x-calc-pill.is-active {
	background: var(--ace-10x-red);
	border-color: var(--ace-10x-red);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(227, 6, 19, 0.22);
}

.ace-10x-grid-2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
	gap: 22px;
}

@media (min-width: 1024px) {
	.ace-10x-boq .ace-10x-grid-2 {
		grid-template-columns: minmax(300px, 0.72fr) minmax(560px, 1.28fr);
		gap: 24px;
	}
}

.ace-10x-card {
	background: #ffffff;
	border: 1px solid var(--ace-10x-border);
	border-radius: 12px;
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ace-10x-card__head h3 {
	margin: 6px 0;
	font-size: 20px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--ace-10x-black);
}

.ace-10x-card__head p {
	margin: 0;
	font-size: 14px;
	color: #4b4640;
	line-height: 1.55;
	max-width: 68ch;
}

.ace-10x-badge {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 5px;
	font-size: 11px;
	font-weight: 800;
	background: var(--ace-10x-black);
	color: #ffffff;
	letter-spacing: 0.04em;
}

.ace-10x-badge--red {
	background: var(--ace-10x-red);
}

.ace-10x-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
	align-items: end;
}

.ace-10x-form-row label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	color: #2b2926;
}

.ace-10x-form-row label.ace-10x-field--full,
.ace-10x-form-row label:has(select) {
	grid-column: 1 / -1;
}

.ace-10x-form-row input,
.ace-10x-form-row select,
.ace-10x-textarea {
	width: 100%;
	max-width: 100%;
	min-height: 46px;
	padding: 9px 12px;
	border: 1px solid #c8c1b6;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.35;
	color: var(--ace-10x-black);
	background-color: #ffffff;
	text-overflow: ellipsis;
}

.ace-10x-form-row input.ace-10x-input-invalid {
	border-color: var(--ace-10x-red) !important;
	background-color: #fff5f5 !important;
	box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.14) !important;
}

.ace-10x-results {
	background: var(--ace-10x-warm);
	border: 1px solid var(--ace-10x-border);
	border-radius: 9px;
	padding: 12px 14px;
	font-size: 13px;
	display: grid;
	gap: 6px;
}

.ace-10x-results__line {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	padding-bottom: 5px;
	border-bottom: 1px dashed #ded9d0;
}

.ace-10x-results__line:last-child {
	border-bottom: 0;
	padding-bottom: 0;
	font-weight: 800;
	color: var(--ace-10x-red);
	font-size: 14px;
}

.ace-10x-orient-banner {
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	border-left: 4px solid #047857;
	color: #065f46;
	padding: 8px 11px;
	border-radius: 7px;
	font-size: 12px;
	line-height: 1.45;
	margin-bottom: 4px;
}

.ace-10x-orient-banner--warn {
	background: #fffbeb;
	border-color: #fde68a;
	border-left-color: #d97706;
	color: #92400e;
}

.ace-10x-calc-alert {
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-left: 4px solid #d97706;
	color: #92400e;
	padding: 8px 11px;
	border-radius: 6px;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.45;
	margin-bottom: 4px;
}

.ace-10x-disclaimer-note {
	margin: 4px 0 0;
	padding: 9px 12px;
	background: #f8fafc;
	border: 1px solid #cbd5e1;
	border-left: 3px solid #475569;
	border-radius: 7px;
	font-size: 12px;
	line-height: 1.45;
	color: #334155;
}

/* Interactive BOQ Price-Checker Table */
.ace-10x-boq-scroll {
	width: 100%;
	overflow-x: auto;
}

.ace-10x-boq-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	table-layout: auto;
}

.ace-10x-boq-table th {
	text-align: left;
	background: var(--ace-10x-warm);
	padding: 10px 12px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	color: #4e4a44;
	border-bottom: 1px solid var(--ace-10x-border);
	vertical-align: middle;
}

.ace-10x-boq-table td {
	padding: 10px 12px;
	border-bottom: 1px solid #f0ede7;
	vertical-align: middle;
}

.ace-10x-boq-table .ace-boq-col-check {
	width: 38px;
	text-align: center;
	padding-left: 8px;
	padding-right: 6px;
}

.ace-10x-boq-table .ace-boq-col-qty {
	width: 88px;
	white-space: nowrap;
}

.ace-10x-boq-table .ace-boq-col-item {
	min-width: 220px;
	line-height: 1.4;
}

.ace-10x-boq-table .ace-boq-col-unit {
	white-space: nowrap;
	text-align: right;
	font-weight: 700;
	min-width: 96px;
}

.ace-10x-boq-table .ace-boq-col-total {
	white-space: nowrap;
	text-align: right;
	font-weight: 800;
	min-width: 108px;
	color: #171717;
}

.ace-10x-boq-qty-input {
	width: 68px !important;
	min-height: 34px !important;
	padding: 4px 7px !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 6px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	color: #171717 !important;
	background: #ffffff !important;
}

.ace-10x-boq-check {
	width: 17px;
	height: 17px;
	accent-color: var(--ace-10x-red);
	cursor: pointer;
}

.ace-10x-boq-table tr.is-excluded {
	opacity: 0.78;
	background: #fcfbfa;
}

.ace-10x-boq-conv-badge {
	display: block;
	margin-top: 5px;
	padding: 5px 9px;
	border-radius: 6px;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #065f46;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.4;
	white-space: normal;
}

.ace-10x-boq-conv-badge--warn {
	background: #fffbeb;
	border-color: #f59e0b;
	border-left: 3px solid #d97706;
	color: #92400e;
}

.ace-10x-boq-conv-badge--custom {
	background: #eff6ff;
	border-color: #bfdbfe;
	color: #1e40af;
}

.ace-10x-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
}

.ace-10x-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 16px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	text-decoration: none !important;
	border: 1px solid transparent;
}

.ace-10x-btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.ace-10x-btn--primary {
	background: var(--ace-10x-red);
	color: #ffffff !important;
}

.ace-10x-btn--primary:hover {
	background: var(--ace-10x-red-dark);
}

.ace-10x-btn--outline {
	background: #ffffff;
	border-color: var(--ace-10x-black);
	color: var(--ace-10x-black) !important;
}

.ace-10x-boq-status,
.ace-10x-quote-route-helper {
	margin-top: 8px;
	padding: 10px 13px;
	border-radius: 8px;
	background: var(--ace-10x-emerald-bg);
	border: 1px solid #a7f3d0;
	color: var(--ace-10x-emerald-fg);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}

/* --------------------------------------------------------------------------
   7. Mobile / iPhone Delivery Route Cards Fix (/shipping-info/)
   -------------------------------------------------------------------------- */
.ace-10x-route-card-fixed {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	padding: 20px !important;
	position: relative !important;
	gap: 6px !important;
}

.ace-10x-route-badge-fixed {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 0 6px 0 !important;
	padding: 6px 14px !important;
	border-radius: 8px !important;
	z-index: 1 !important;
	float: none !important;
}

.ace-10x-route-heading-fixed {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	display: block !important;
	width: 100% !important;
	margin: 2px 0 4px 0 !important;
	padding: 0 !important;
	text-indent: 0 !important;
	clear: both !important;
	color: #171717 !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	z-index: 1 !important;
}

[id],
.et_pb_section,
.et_pb_row {
	scroll-margin-top: 96px !important;
}

.route-card,
[class*="route-card"] {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	padding-top: 20px !important;
}

.route-card .route-day-badge,
.route-card .badge,
[class*="route-card"] [class*="badge"],
[class*="route-card"] [class*="day"] {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	display: inline-flex !important;
	margin: 0 0 10px 0 !important;
	border-radius: 8px !important;
}

.route-card h3,
.route-card h4,
[class*="route-card"] h3,
[class*="route-card"] h4 {
	position: relative !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	clear: both !important;
	width: 100% !important;
}

@media (max-width: 980px) {
	.ace-catalogue--v13 .ace-nav-layout {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 640px) {
	.ace-10x-grid-2 {
		grid-template-columns: 1fr;
	}
	.ace-10x-form-row {
		grid-template-columns: 1fr;
	}
	.ace-catalogue--v13 .ace-nav-sort select {
		min-width: 165px !important;
	}
}
