/* Local Open Sans body font and Bayon display font for the shopping journey. */
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/open-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/open-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/open-sans-latin-700-normal.woff2") format("woff2"); }
body #main-content.trs-commerce-page {
	--trs-ink: #2a3547; --trs-muted: #445e86; --trs-line: #dce3eb;
	--trs-red: #d1232a; --trs-navy: #445e86; --trs-soft: #f5f7fa;
	--trs-font: "Open Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	background: linear-gradient(180deg, #eaf0f6 0, #f4f6f9 350px, #f4f6f9 100%) !important;
	color: var(--trs-ink); padding: 42px 24px 80px !important;
	font-family: var(--trs-font); font-size: 16px; line-height: 1.65;
}
.trs-commerce-page *, .trs-commerce-page *::before, .trs-commerce-page *::after { box-sizing: border-box; }
body #main-content.trs-commerce-page :is(p,a,label,input,select,textarea,button,table,th,td,span,strong,small,li,address,legend) { font-family: var(--trs-font) !important; text-transform: none !important; }
body #main-content.trs-commerce-page [hidden] { display: none !important; }
body #main-content.trs-commerce-page .trs-commerce-shell { width: 100%; max-width: 1320px; margin: 0 auto; }
body #main-content.trs-commerce-page .trs-commerce-header { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 8px 0 36px; margin: 0 0 32px; border-bottom: 1px solid #d5dee8; }
body #main-content.trs-commerce-page .trs-commerce-brand { display: flex; align-items: center; gap: 24px; min-width: 0; }
body #main-content.trs-commerce-page .trs-commerce-home { display: block; flex: 0 0 82px; border-radius: 4px; }
body #main-content.trs-commerce-page .trs-commerce-logo { display: block; width: 82px; height: auto; margin: 0; filter: drop-shadow(0 4px 5px #24334a12); }
body #main-content.trs-commerce-page .trs-commerce-title h1 { font-size: clamp(34px,3.8vw,52px); line-height: 1.08; font-weight: 700; letter-spacing: -.045em !important; color: var(--trs-ink); margin: 0; padding: 0; border: 0; }
body #main-content.trs-commerce-page .trs-commerce-title h1::after { content: ""; display: block; height: 3px; width: 44px; background: var(--trs-red); border-radius: 3px; margin: 15px 0 12px; }
body #main-content.trs-commerce-page .trs-commerce-title p { padding: 0; margin: 0; font-size: 14px; line-height: 1.6; color: var(--trs-muted); }
body #main-content.trs-commerce-page .trs-commerce-navigation { flex: 0 0 min(42%,440px); }
body #main-content.trs-commerce-page .trs-commerce-steps { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 0; padding: 0; }
body #main-content.trs-commerce-page .trs-commerce-steps li { position: relative; min-width: 0; margin: 0; padding: 0; text-align: center; }
body #main-content.trs-commerce-page .trs-commerce-steps li:not(:last-child)::after { content: ""; position: absolute; top: 26px; left: calc(50% + 29px); width: calc(100% - 58px); height: 1px; background: #bbc9da; }
body #main-content.trs-commerce-page .trs-commerce-steps :is(a,.trs-commerce-current) { display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--trs-muted); text-decoration: none !important; border-radius: 8px; }
body #main-content.trs-commerce-page .trs-commerce-step-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid #c5d1df; border-radius: 50%; background: #ffffffbd; color: var(--trs-navy); }
body #main-content.trs-commerce-page .trs-commerce-step-icon svg { display: block; width: 23px; height: 23px; }
body #main-content.trs-commerce-page .trs-commerce-step-label { font-size: 13px; font-weight: 600; }
body #main-content.trs-commerce-page .trs-commerce-steps [aria-current="step"] .trs-commerce-step-icon { color: #fff; background: var(--trs-navy); border-color: var(--trs-navy); box-shadow: 0 0 0 5px #445e860b; }
body #main-content.trs-commerce-page .trs-commerce-steps [aria-current="step"] .trs-commerce-step-label { color: var(--trs-ink); font-weight: 700; }
body #main-content.trs-commerce-page .trs-commerce-steps a:hover .trs-commerce-step-icon { background: #fff; border-color: var(--trs-navy); }
body #main-content.trs-commerce-page :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #6385ae !important; outline-offset: 3px; }
/* Checkout shares the same quiet cards and strong, restrained headings. */
body #main-content.trs-checkout-page .trs-checkout-card { border-color: #dce3eb; border-radius: 18px; box-shadow: 0 8px 28px #24334a05; }
body #main-content.trs-checkout-page :is(h2,h3):not(#ship-to-different-address) { border-bottom: 1px solid var(--trs-line); padding-bottom: 18px; font-size: 21px; letter-spacing: -.02em !important; }
body #main-content.trs-checkout-page :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { border: 1px solid var(--trs-line) !important; border-left: 3px solid var(--trs-navy) !important; }
body #main-content.trs-checkout-page .woocommerce-error { border-left-color: #d1232a !important; }
body #main-content.trs-checkout-page .woocommerce-form-login-toggle .woocommerce-info { outline: 0; min-height: 68px; }
body #main-content.trs-checkout-page .woocommerce-form-login-toggle { margin-bottom: 28px !important; }
body #main-content.trs-checkout-page .trs-checkout-header { margin-bottom: 32px; }
body #main-content.trs-checkout-page .trs-checkout-item-media { border-radius: 10px; }
/* The receipt keeps the same brand and typeface after payment. */
body.trs-order-received-enhanced .trs-confirmation-heading > .trs-commerce-logo { flex: 0 0 88px; width: 88px; height: auto; margin: 0; align-self: center; }
body.trs-order-received-enhanced .trs-order-received-card :is(h1,h2,h3) { font-family: "Open Sans",system-ui,Arial,sans-serif !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: -.025em !important; }
body.trs-order-received-enhanced .trs-order-received-card h1 { font-size: clamp(27px,3vw,40px) !important; }
body.trs-order-received-enhanced .trs-order-received-card h2 { font-size: 21px !important; }
body.trs-order-received-enhanced .trs-order-received-card h3 { font-size: 19px !important; }
@media (max-width: 1050px) {
	body #main-content.trs-commerce-page .trs-commerce-shell { max-width: 780px; }
	body #main-content.trs-commerce-page .trs-commerce-header { flex-direction: column; gap: 30px; }
	body #main-content.trs-commerce-page .trs-commerce-navigation { width: min(100%,440px); flex: auto; }
}
@media (max-width: 540px) {
	body #main-content.trs-commerce-page { padding: 26px 14px 48px !important; }
	body #main-content.trs-commerce-page .trs-commerce-header { padding: 0 0 26px; margin-bottom: 24px; gap: 26px; }
	body #main-content.trs-commerce-page .trs-commerce-brand { gap: 16px; align-self: center; }
	body #main-content.trs-commerce-page .trs-commerce-home { flex-basis: 56px; }
	body #main-content.trs-commerce-page .trs-commerce-logo { width: 56px; }
	body #main-content.trs-commerce-page .trs-commerce-title h1 { font-size: 34px; }
	body #main-content.trs-commerce-page .trs-commerce-title h1::after { margin: 10px 0 8px; width: 32px; }
	body #main-content.trs-commerce-page .trs-commerce-title p { font-size: 12px; max-width: 240px; }
	body #main-content.trs-commerce-page .trs-commerce-step-icon { width: 46px; height: 46px; }
	body #main-content.trs-commerce-page .trs-commerce-steps li:not(:last-child)::after { top: 23px; left: calc(50% + 25px); width: calc(100% - 50px); }
	body #main-content.trs-commerce-page .trs-commerce-step-label { font-size: 12px; }
}
@media (max-width: 980px) {
	body.trs-order-received-enhanced .trs-confirmation-heading { grid-template-columns: 72px minmax(0,1fr); }
	body.trs-order-received-enhanced .trs-confirmation-heading > .trs-commerce-logo { width: 72px; flex-basis: 72px; }
}
@media (max-width: 600px) {
	body.trs-order-received-enhanced .trs-confirmation-heading { grid-template-columns: 56px minmax(0,1fr); }
	body.trs-order-received-enhanced .trs-confirmation-heading > .trs-commerce-logo { width: 56px; flex-basis: 56px; }
}
@media (prefers-reduced-motion: reduce) { .trs-commerce-page * { transition: none !important; scroll-behavior: auto !important; } }
/* Version 1.4.2 — supplied TuneRS palette and legibility refinements.
 * Keep these rules within the plugin page body, never the global header/footer.
 * Bright red is a decorative accent; D1232A is used for readable red text. */
@font-face { font-family: "Bayon"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/bayon-regular.ttf") format("truetype"); }
body #main-content.trs-commerce-page {
    --trs-ink: #2a3547; --trs-muted: #445e86; --trs-navy: #445e86;
    --trs-red: #d1232a; --trs-bright-red: #ff0000; --trs-white: #ffffff;
    --trs-heading-font: "Bayon", Impact, "Arial Narrow", sans-serif;
}
body #main-content.trs-commerce-page :is(h1,h2,h3,h4,h5,h6) {
    font-family: var(--trs-heading-font) !important; font-weight: 400 !important;
    letter-spacing: .02em !important; text-transform: none !important; color: var(--trs-ink);
}
body #main-content.trs-commerce-page .trs-commerce-title h1 { font-size: clamp(44px,4.6vw,64px); line-height: 1.08; letter-spacing: .02em !important; }
body #main-content.trs-commerce-page .trs-commerce-title h1::after { height: 4px; width: 48px; background: var(--trs-bright-red); margin: 12px 0 14px; }
body #main-content.trs-commerce-page .trs-commerce-title p { font-size: 16px; font-weight: 600; line-height: 1.65; color: var(--trs-ink); }
body #main-content.trs-commerce-page .trs-commerce-steps .trs-commerce-step-label { font-family: var(--trs-heading-font) !important; font-size: 21px; line-height: 1.3; font-weight: 400; letter-spacing: .025em !important; color: var(--trs-navy); }
body #main-content.trs-commerce-page .trs-commerce-steps [aria-current="step"] .trs-commerce-step-icon { color: var(--trs-white); background: var(--trs-red); border-color: var(--trs-red); box-shadow: 0 0 0 5px #d1232a0f; }
body #main-content.trs-commerce-page .trs-commerce-steps [aria-current="step"] .trs-commerce-step-label { color: var(--trs-ink); font-weight: 400; }
body #main-content.trs-cart-page :is(.cart_totals > h2,.trs-cart-recommendations > h2,.trs-cart-vehicle-panel h2) { font-size: 30px; line-height: 1.2; }
body #main-content.trs-cart-page .trs-cart-summary-coupon h2 { font-size: 25px; line-height: 1.2; }
body #main-content.trs-cart-page .trs-cart-shipping-heading { font-size: 24px; line-height: 1.3; }
body #main-content.trs-checkout-page :is(h2,h3):not(#ship-to-different-address) { font-size: 30px; line-height: 1.2; letter-spacing: .02em !important; }
/* Color the entire native discount row, including the removal link. */
body #main-content.trs-commerce-page :is(.cart_totals table.shop_table,.woocommerce-checkout-review-order-table) .cart-discount :is(th,td,span,bdi,a) { color: var(--trs-red) !important; -webkit-text-fill-color: var(--trs-red) !important; font-weight: 700 !important; }
body #main-content.trs-commerce-page .cart-discount a.woocommerce-remove-coupon { display: inline-block; padding: 2px 0; text-decoration: underline !important; text-underline-offset: 3px; }
/* Theme-independent centering for the notice badge and the checkmark inside it. */
body #main-content.trs-commerce-page :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { font-size: 15px !important; font-weight: 600; line-height: 1.65 !important; padding: 20px 22px 20px 62px !important; min-height: 68px; }
body #main-content.trs-commerce-page :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before { content: "i" !important; display: grid !important; place-items: center !important; position: absolute !important; top: 50% !important; bottom: auto !important; left: 18px !important; right: auto !important; transform: translateY(-50%) !important; width: 26px !important; height: 26px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: var(--trs-navy) !important; color: var(--trs-white) !important; font: 700 17px/1 "Open Sans",sans-serif !important; text-align: center !important; text-indent: 0 !important; }
body #main-content.trs-commerce-page .woocommerce-message::before { content: "" !important; background: var(--trs-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center / 18px 18px no-repeat !important; }
body #main-content.trs-commerce-page .woocommerce-error::before { content: "!" !important; background: var(--trs-red) !important; }
/* Counter Divi's last-paragraph padding reset on the billing-address message. */
body.trs-checkout-enhanced #main-content.trs-checkout-page .trs-use-billing-address { display: block; height: auto !important; min-height: 0; margin: 0 !important; padding: 16px 18px !important; font-size: 15px; font-weight: 600; line-height: 1.65 !important; color: var(--trs-ink); background: #f2f5f9; border: 1px solid #d8dfe7; border-radius: 10px; overflow-wrap: break-word; }
/* Darker, slightly stronger body text without condensing amounts or controls. */
body #main-content.trs-cart-page :is(.trs-cart-vehicle-kicker,.trs-cart-sku,.trs-cart-fitment,.trs-cart-reassurance > span,.trs-cart-reassurance small) { font-size: 12px; font-weight: 600; }
body #main-content.trs-cart-page :is(.trs-cart-vehicle-note,.trs-cart-summary-coupon-heading p,.woocommerce-shipping-destination,.woocommerce-shipping-contents,.trs-cart-recommendation-action) { font-size: 13px; font-weight: 600; }
body #main-content.trs-cart-page :is(dl.variation,.wc-item-meta,.trs-cart-change-vehicle,.trs-cart-continue,.shipping-calculator-button) { font-size: 14px; font-weight: 600; }
body #main-content.trs-cart-page :is(.trs-cart-vehicle-panel-kicker,.trs-cart-sku) { color: var(--trs-navy); }
body #main-content.trs-cart-page :is(.product-name,.trs-cart-recommendation-name) { font-size: 17px; }
body #main-content.trs-cart-page table.shop_table.cart .product-price { font-size: 14px; font-weight: 600; }
body #main-content.trs-cart-page .cart_totals table.shop_table :is(th,td) { font-size: 15px; font-weight: 600; }
body #main-content.trs-cart-page ul.woocommerce-shipping-methods label { font-size: 14px; font-weight: 600; color: var(--trs-ink); }
body #main-content.trs-cart-page a.remove { font-size: 13px; font-weight: 600; }
body #main-content.trs-checkout-page :is(.trs-checkout-hint,.trs-checkout-update-status,.woocommerce-shipping-contents,.woocommerce-privacy-policy-text,.trs-checkout-back,.optional,dl.variation) { font-size: 14px; font-weight: 600; }
body #main-content.trs-checkout-page :is(.form-row label,#payment ul.payment_methods > li > label,label.checkbox,.woocommerce-form__label-for-checkbox) { font-size: 15px; font-weight: 600; }
body #main-content.trs-checkout-page .woocommerce-checkout-review-order-table { font-size: 15px; }
body #main-content.trs-checkout-page ul.woocommerce-shipping-methods li label { font-size: 15px !important; font-weight: 600 !important; }
body #main-content.trs-commerce-page input::placeholder, body #main-content.trs-commerce-page textarea::placeholder { color: var(--trs-navy) !important; opacity: 1; }
body #main-content.trs-commerce-page ul.woocommerce-shipping-methods :is(li:has(input:checked),.trs-rate-selected) { border-color: var(--trs-navy); box-shadow: inset 0 0 0 1px var(--trs-navy); }
body #main-content.trs-commerce-page :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--trs-navy) !important; outline-offset: 3px; }
body #main-content.trs-commerce-page :is(button.button,a.button,input.button):hover { background: var(--trs-ink) !important; border-color: var(--trs-ink) !important; color: var(--trs-white) !important; }
/* SelectWoo's original select must stay 1px wide. Full-width field rules must
 * never expand this visually hidden, absolutely positioned accessibility node. */
body.woocommerce-cart.trs-cart-enhanced #main-content.trs-commerce-page select.select2-hidden-accessible,
body.trs-checkout-enhanced #main-content.trs-commerce-page select.select2-hidden-accessible { position: absolute !important; width: 1px !important; min-width: 1px !important; max-width: 1px !important; height: 1px !important; min-height: 0 !important; max-height: 1px !important; padding: 0 !important; margin: -1px !important; border: 0 !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; overflow: hidden !important; white-space: nowrap !important; }
body #main-content.trs-cart-page .trs-cart-reassurance .trsp-badge { display: inline; background: transparent; color: var(--trs-navy); border: 0; border-radius: 0; padding: 0; margin: 0; font-size: inherit; font-weight: 600; line-height: inherit; text-decoration: underline; text-underline-offset: 3px; }
/* Match the receipt typography without changing its taller 1.4.1 shield. */
body.trs-order-received-enhanced { --trs-receipt-ink: #2a3547; --trs-receipt-muted: #445e86; }
body.trs-order-received-enhanced .trs-order-received-card :is(h1,h2,h3) { font-family: "Bayon",Impact,sans-serif !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: .02em !important; }
body.trs-order-received-enhanced .trs-order-received-card h1 { font-size: clamp(34px,3.5vw,48px) !important; }
body.trs-order-received-enhanced .trs-order-received-card h2 { font-size: 28px !important; }
body.trs-order-received-enhanced .trs-order-received-card h3 { font-size: 24px !important; }
body.trs-order-received-enhanced :is(.trs-confirmation-kicker,.trs-confirmation-description) { font-weight: 600; }
@media (max-width:540px) {
    body #main-content.trs-commerce-page .trs-commerce-title h1 { font-size: 42px; }
    body #main-content.trs-commerce-page .trs-commerce-title p { font-size: 14px; }
    body #main-content.trs-commerce-page .trs-commerce-steps .trs-commerce-step-label { font-size: 20px; }
    body #main-content.trs-checkout-page :is(h2,h3):not(#ship-to-different-address) { font-size: 27px; }
    body #main-content.trs-cart-page :is(.cart_totals > h2,.trs-cart-recommendations > h2) { font-size: 28px; }
    body #main-content.trs-checkout-page :is(.form-row-first,.form-row-last) { float: none; width: 100%; }
}
