/* Discount Electrical: WooCommerce and quote page. Uses the tokens from main.css. */

/* ---------- Shop layout ---------- */
.de-shop { display: grid; gap: 27px; }
@media (min-width: 1000px) { .de-shop { grid-template-columns: 270px minmax(0, 1fr); gap: 45px; align-items: start; } }
.de-shop__side { position: relative; }
.de-filters { background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
.de-filters__toggle { display: flex; align-items: center; gap: 9px; min-height: 54px; padding: 0 18px; font-weight: 700; color: var(--de-ink); cursor: pointer; list-style: none; }
.de-filters__toggle::-webkit-details-marker { display: none; }
.de-filters__toggle::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .3s var(--de-ease); }
.de-filters[open] .de-filters__toggle::after { transform: rotate(225deg); }
.de-filters__body { padding: 0 18px 22px; display: grid; gap: 9px; }
.de-filters__body .de-label { margin-top: 14px; }
@media (min-width: 1000px) {
	.de-filters { background: none; box-shadow: none; }
	.de-filters__toggle { display: none; }
	.de-filters__body { padding: 0; }
	.de-filters__body .de-label:first-child { margin-top: 0; }
}
.de-toggles { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.de-toggle { display: flex; align-items: center; gap: 12px; padding: 7px 0; color: var(--de-text); text-decoration: none; font-weight: 600; font-size: .9375rem; }
/* Filter switches are mini breaker levers: down is off, up and green is on. */
.de-toggle__sw { position: relative; width: 22px; height: 34px; flex: none; border-radius: 2px; background: var(--de-slate-800); box-shadow: inset 0 2px 4px rgba(0, 0, 0, .4); }
.de-toggle__sw::after { content: ""; position: absolute; left: 3px; bottom: 3px; width: 16px; height: 14px; border-radius: 1px; background: var(--de-slate-300); box-shadow: inset 0 3px 0 rgba(255, 255, 255, .25); transition: transform .3s var(--de-snap), background-color .2s; }
.de-toggle.is-on .de-toggle__sw::after { transform: translateY(-14px); background: var(--de-green); }
.de-toggle:hover .de-toggle__sw::after { transform: translateY(-3px); }
.de-toggle.is-on:hover .de-toggle__sw::after { transform: translateY(-14px); }
.de-toggle:hover { color: var(--de-ink); }
.de-tree, .de-tree ul { margin: 0; padding: 0; list-style: none; }
.de-tree ul { margin: 2px 0 6px 12px; padding-left: 12px; border-left: 1px solid var(--de-line); }
.de-tree a { display: flex; justify-content: space-between; gap: 9px; padding: 6px 0; color: var(--de-muted); font-size: .9375rem; text-decoration: none; transition: color .2s; }
.de-tree a span { font: 500 .75rem var(--de-mono); color: var(--de-slate-500); padding-top: 3px; }
.de-tree a:hover, .de-tree .is-open > a { color: var(--de-ink); }
.de-tree a[aria-current="page"] { color: var(--de-ink); font-weight: 700; }
.de-tree a[aria-current="page"]::before { content: ""; flex: none; width: 9px; height: 3px; margin: 11px -3px 0 0; background: var(--de-green); order: -1; }
.de-side-quote { margin-top: 18px; padding: 18px; background: var(--de-ceiling); color: var(--de-on-dark-2); font-size: .9375rem; }
.de-side-quote .de-label { color: var(--de-green-300); }
.de-side-quote p { margin: 0 0 6px; }
.de-side-quote .de-link { color: var(--de-white); margin-top: 9px; }

.de-shop__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px 18px; margin-bottom: 18px; }
.de-shop__bar .woocommerce-result-count { margin: 0; font-size: .875rem; color: var(--de-muted); }
.de-shop__bar .woocommerce-ordering { margin: 0; }
.de-shop__bar select, .woocommerce-ordering select { min-height: 45px; padding: 0 40px 0 14px; border: 1px solid var(--de-slate-300); border-radius: 2px; background: var(--de-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2326323a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center; color: var(--de-ink); font: 600 .9375rem var(--de-sans); -webkit-appearance: none; appearance: none; cursor: pointer; }

.de-grid, ul.products.de-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0; padding: 0; list-style: none; }
.de-grid > li, .de-grid__item { margin: 0; padding: 0; list-style: none; min-width: 0; }
/* WooCommerce's layout sheet floats products at a fixed width; inside the theme grid they are grid items. */
.woocommerce ul.products.de-grid li.product, .woocommerce-page ul.products.de-grid li.product, ul.products.de-grid li.product { float: none; width: auto; margin: 0; padding: 0; clear: none; }
.woocommerce ul.products.de-grid li.product a img { margin: 0; }
.de-grid::before, .de-grid::after { display: none !important; }
@media (min-width: 700px) { .de-grid, ul.products.de-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } }
@media (min-width: 1300px) { .de-grid, ul.products.de-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } }
@media (max-width: 479px) {
	.de-grid .de-card__body { padding: 11px; }
	.de-grid .de-card__buy { flex-direction: column; align-items: stretch; }
	.de-grid .de-card .de-btn { width: 100%; }
	.de-grid .de-card .de-add .de-add__txt { display: inline; }
	.de-grid .de-price__now { font-size: 1.1875rem; }
}

/* ---------- Single product ---------- */
.de-pdp-wrap div.product { display: grid; gap: 27px; position: relative; }
@media (min-width: 1000px) { .de-pdp-wrap div.product { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 54px; align-items: start; } }
.de-pdp-wrap div.images.woocommerce-product-gallery { position: relative; width: 100% !important; float: none !important; margin: 0; background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); opacity: 1 !important; }
@media (min-width: 1000px) { .de-pdp-wrap div.images.woocommerce-product-gallery { position: sticky; top: calc(var(--de-header-h) + 27px); } }
.de-pdp-wrap .woocommerce-product-gallery__wrapper { margin: 0; }
.de-pdp-wrap .woocommerce-product-gallery__image a { display: block; }
.de-pdp-wrap .woocommerce-product-gallery__image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; padding: clamp(18px, 4vw, 54px); }
.de-pdp-wrap .flex-control-thumbs { display: flex; gap: 9px; margin: 0; padding: 9px; list-style: none; border-top: 1px solid var(--de-slate-100); }
.de-pdp-wrap .flex-control-thumbs li { width: 72px; cursor: pointer; }
.de-pdp-wrap .flex-control-thumbs img { opacity: .6; border: 1px solid var(--de-line); }
.de-pdp-wrap .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--de-ink); }
.de-pdp-wrap .woocommerce-product-gallery__trigger { position: absolute; top: 14px; right: 14px; z-index: 5; display: grid; place-items: center; width: 40px; height: 40px; background: var(--de-floor); border-radius: 50%; font-size: 0; }
.de-pdp-wrap .woocommerce-product-gallery__trigger::before { content: ""; width: 14px; height: 14px; border: 2px solid var(--de-ink); border-radius: 50%; }
.de-pdp-wrap .onsale { position: absolute; z-index: 6; left: 14px; top: 14px; padding: 4px 10px; background: var(--de-green); color: var(--de-ink); font-weight: 700; font-size: .8125rem; }
.de-pdp-wrap div.product .summary { width: 100% !important; float: none !important; margin: 0; display: grid; gap: 14px; align-content: start; }
.de-pdp__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; font-size: .875rem; color: var(--de-muted); }
.de-pdp__brand { font-weight: 700; color: var(--de-slate); }
.de-pdp__sku span { font-family: var(--de-mono); color: var(--de-ink); }
.de-pdp__title { margin: 0; font: 750 clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem)/1.05 var(--de-display); letter-spacing: -.03em; color: var(--de-ink); text-wrap: balance; }
.de-pdp__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; padding: 14px 0 0; border-top: 1px solid var(--de-line); }
.de-pdp__price .de-price__now { font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem); }
.de-pdp__price .de-stock { font-size: .875rem; }
.de-pdp__vat { margin: -6px 0 0; font-size: .8125rem; color: var(--de-muted); }
.de-pdp-wrap .woocommerce-product-details__short-description { color: var(--de-text); }
.de-pdp-wrap .woocommerce-product-details__short-description p { margin: 0 0 9px; }
.de-pdp-wrap form.cart { display: flex; flex-wrap: wrap; gap: 9px; margin: 9px 0 0; padding: 18px; background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
.de-pdp-wrap form.cart .quantity { display: flex; }
.de-pdp-wrap .quantity .qty, .woocommerce-cart-form .quantity .qty { width: 81px; height: 54px; padding: 0 9px; border: 1px solid var(--de-slate-300); border-radius: 2px; text-align: center; font: 700 1.0625rem var(--de-sans); color: var(--de-ink); -moz-appearance: textfield; }
.de-pdp-wrap form.cart .single_add_to_cart_button { flex: 1 1 180px; }
.de-pdp-wrap form.cart .de-pdp__quote { flex: 1 1 100%; }
.de-pdp-wrap form.cart .button, .woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 54px; padding: 0 27px; border: 0; border-radius: 2px; background: var(--de-green); color: var(--de-ink); font: 700 1rem/1 var(--de-sans); text-decoration: none; cursor: pointer; transition: background-color .2s; }
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover, .de-pdp-wrap form.cart .button:hover { background: var(--de-green-300); color: var(--de-ink); }
.woocommerce .button.alt, .woocommerce button.button.alt { background: var(--de-green); color: var(--de-ink); }
.woocommerce .button, .woocommerce button.button { position: relative; overflow: hidden; }
.woocommerce .button::before, .woocommerce button.button::before { content: ""; position: absolute; left: 0; top: 0; width: 40%; height: 2px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .95), transparent); transform: translateX(-120%); pointer-events: none; }
.woocommerce .button:hover::before, .woocommerce button.button:hover::before { animation: de-arc .7s var(--de-ease); }
.woocommerce .button:active, .woocommerce button.button:active { transform: translateY(1px) scale(.98); }
.woocommerce .button.is-busy::before, .woocommerce button.button.is-busy::before { top: auto; bottom: 0; height: 3px; width: 34%; background: rgba(20, 27, 31, .55); animation: de-busy .9s linear infinite; }
.woocommerce .button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .5; cursor: not-allowed; }
.de-pdp__alt { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.de-pdp__alt .de-save { position: static; width: 45px; height: 45px; border: 1px solid var(--de-line); border-radius: 2px; background: var(--de-white); }
.de-pdp__savelabel { font-size: .9375rem; font-weight: 600; color: var(--de-muted); }
.de-pdp__facts { display: grid; gap: 9px; margin: 9px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid var(--de-line); font-size: .9375rem; }
.de-pdp__facts li { display: flex; gap: 12px; align-items: flex-start; }
.de-pdp__facts .de-icon { color: var(--de-green-700); margin-top: 3px; }
.de-pdp-wrap .woocommerce-tabs { grid-column: 1 / -1; margin-top: 27px; }
.de-pdp-wrap .woocommerce-tabs ul.tabs { display: flex; gap: 3px; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--de-line); overflow-x: auto; }
.de-pdp-wrap .woocommerce-tabs ul.tabs::before, .de-pdp-wrap .woocommerce-tabs ul.tabs::after { display: none; }
.de-pdp-wrap .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; }
.de-pdp-wrap .woocommerce-tabs ul.tabs li a { display: block; padding: 14px 18px; color: var(--de-muted); font-weight: 700; text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.de-pdp-wrap .woocommerce-tabs ul.tabs li.active a { color: var(--de-ink); border-color: var(--de-green); }
.de-pdp-wrap .woocommerce-Tabs-panel { padding: 27px 0 0; max-width: 52rem; }
.de-pdp-wrap .woocommerce-Tabs-panel > h2:first-child { display: none; }
.de-pdp-wrap table.woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.de-pdp-wrap .woocommerce-product-attributes th, .de-pdp-wrap .woocommerce-product-attributes td { padding: 12px 14px; border-bottom: 1px solid var(--de-line); text-align: left; }
.de-pdp-wrap .woocommerce-product-attributes th { width: 32%; color: var(--de-muted); font-weight: 600; }
.de-pdp-wrap .woocommerce-product-attributes td p { margin: 0; }
.de-rail--related { grid-column: 1 / -1; margin-top: 54px; }
.de-pdp-wrap .stock { display: none; }
.de-pdp-wrap .variations { width: 100%; margin-bottom: 9px; }
.de-pdp-wrap .variations td, .de-pdp-wrap .variations th { display: block; padding: 0 0 6px; text-align: left; }
.de-pdp-wrap .variations select { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--de-slate-300); border-radius: 2px; font: 500 1rem var(--de-sans); }
.de-pdp-wrap .single_variation_wrap { width: 100%; }
.de-pdp-wrap .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 9px; }

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px 18px; margin: 0 0 27px; padding: 14px 18px; list-style: none; background: var(--de-green-100); box-shadow: 0 0 0 1px var(--de-green-200); color: var(--de-ink); font-weight: 600; }
.woocommerce-info { background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
.woocommerce-error { background: #f7e7e3; box-shadow: 0 0 0 1px #ecc8bf; color: #6d2214; }
.woocommerce-error li { margin: 0; }
.woocommerce-message .button, .woocommerce-info .button { min-height: 42px; padding: 0 18px; order: 2; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }

/* ---------- Cart (classic) ---------- */
.de-woo-page .woocommerce { display: grid; gap: 27px; }
.woocommerce-cart .de-woo-page .woocommerce { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1000px) { .woocommerce-cart .de-woo-page .woocommerce { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); align-items: start; gap: 45px; } .woocommerce-cart .de-woo-page .woocommerce > .woocommerce-notices-wrapper, .woocommerce-cart .de-meter { grid-column: 1 / -1; } }
.de-meter { padding: 14px 18px; background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
.de-meter__text { display: flex; align-items: center; gap: 9px; margin: 0 0 9px; font-weight: 600; color: var(--de-ink); font-size: .9375rem; }
.de-meter__text .de-icon { color: var(--de-green-700); }
.de-meter__bar { display: block; height: 6px; background: var(--de-slate-100); }
.de-meter__bar span { display: block; height: 100%; width: 100%; background: var(--de-green); transform-origin: left; transform: scaleX(var(--de-fill, 0)); }
.de-meter__bar { overflow: hidden; }
.woocommerce-cart-form { background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
.shop_table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.shop_table th { padding: 14px; text-align: left; font-size: .8125rem; color: var(--de-muted); font-weight: 700; border-bottom: 1px solid var(--de-line); }
.shop_table td { padding: 14px; border-bottom: 1px solid var(--de-slate-100); vertical-align: middle; }
.woocommerce-cart-form .product-thumbnail img { width: 72px; height: 72px; object-fit: contain; }
.woocommerce-cart-form .product-name a { color: var(--de-ink); font-weight: 600; text-decoration: none; }
.woocommerce-cart-form .product-remove a.remove { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--de-muted); font-size: 1.5rem; text-decoration: none; }
.woocommerce-cart-form .product-remove a.remove:hover { background: var(--de-slate-100); color: var(--de-ink); }
.woocommerce-cart-form .product-subtotal, .woocommerce-cart-form .product-price { font-family: var(--de-mono); font-weight: 600; color: var(--de-ink); white-space: nowrap; }
.woocommerce-cart-form td.actions { padding: 18px 14px; }
.woocommerce-cart-form .coupon { display: inline-flex; flex-wrap: wrap; gap: 9px; margin-right: 9px; }
.woocommerce-cart-form .coupon label { display: none; }
.woocommerce-cart-form .coupon .input-text { min-height: 54px; padding: 0 14px; border: 1px solid var(--de-slate-300); border-radius: 2px; font: 500 1rem var(--de-sans); }
.woocommerce-cart-form button[name="update_cart"] { background: transparent; color: var(--de-ink); box-shadow: inset 0 0 0 1.5px var(--de-slate-400); }
@media (max-width: 760px) {
	.shop_table_responsive thead { display: none; }
	.shop_table_responsive tr { display: grid; grid-template-columns: 72px 1fr auto; gap: 4px 14px; padding: 14px; border-bottom: 1px solid var(--de-line); position: relative; }
	.shop_table_responsive td { display: block; padding: 0; border: 0; }
	.shop_table_responsive td::before { content: attr(data-title) ": "; font-size: .75rem; color: var(--de-muted); font-weight: 600; }
	.shop_table_responsive td.product-thumbnail { grid-row: 1 / 5; }
	.shop_table_responsive td.product-thumbnail::before, .shop_table_responsive td.product-remove::before, .shop_table_responsive td.product-name::before, .shop_table_responsive td.actions::before { display: none; }
	.shop_table_responsive td.product-remove { position: absolute; right: 9px; top: 9px; }
	.shop_table_responsive td.product-name { padding-right: 36px; }
	.shop_table_responsive tr:last-child { display: block; }
	.woocommerce-cart-form .coupon { display: flex; width: 100%; margin-bottom: 9px; }
	.woocommerce-cart-form .coupon .input-text { flex: 1; }
	.woocommerce-cart-form td.actions .button { width: 100%; }
}
.cart-collaterals { position: relative; }
@media (min-width: 1000px) { .cart-collaterals { position: sticky; top: calc(var(--de-header-h) + 27px); } }
.cart_totals { padding: 22px; background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
.cart_totals h2 { margin: 0 0 9px; font: 750 1.5rem var(--de-display); letter-spacing: -.02em; color: var(--de-ink); }
.cart_totals .shop_table th, .cart_totals .shop_table td { padding: 12px 0; }
.cart_totals .order-total td { font: 750 1.375rem var(--de-display); color: var(--de-ink); }
.cart_totals .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
.wc-proceed-to-checkout { display: grid; gap: 9px; padding-top: 18px; }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 58px; font-size: 1.0625rem; }
.de-exit__or { display: flex; align-items: center; gap: 14px; margin: 4px 0; color: var(--de-muted); font-size: .8125rem; font-weight: 600; }
.de-exit__or::before, .de-exit__or::after { content: ""; flex: 1; height: 1px; background: var(--de-line); }
.de-exit__note { margin: 0; font-size: .8125rem; color: var(--de-muted); }
.woocommerce-cart .cart-empty { display: block; margin: 0; padding: 0; font: 750 clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem)/1.05 var(--de-display); letter-spacing: -.03em; color: var(--de-ink); border: 0; box-shadow: none; background: none; }
.woocommerce-cart .return-to-shop { margin: 18px 0 0; text-align: left; }
.de-cart-empty { max-width: 760px; }
.de-cart-empty p { color: var(--de-muted); }
.de-cart-empty ul { display: flex; flex-wrap: wrap; gap: 9px; margin: 18px 0; padding: 0; list-style: none; }

/* ---------- Checkout (classic) ---------- */
.woocommerce-checkout .de-woo-page form.checkout { display: grid; gap: 27px; }
@media (min-width: 1000px) { .woocommerce-checkout .de-woo-page form.checkout { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 45px; align-items: start; } .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; } .woocommerce-checkout #customer_details { grid-row: 1 / 3; } }
.woocommerce-checkout .col2-set { display: grid; gap: 27px; }
.woocommerce-checkout .de-woo-page h3 { margin: 0 0 14px; font: 750 1.5rem var(--de-display); letter-spacing: -.02em; color: var(--de-ink); }
.woocommerce form .form-row { display: grid; gap: 6px; margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row label { font-weight: 600; font-size: .9375rem; color: var(--de-ink); }
.woocommerce form .form-row .required { color: #8f2d1d; text-decoration: none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--de-slate-300); border-radius: 2px; background: var(--de-white); color: var(--de-ink); font: 400 1rem var(--de-sans); }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
.select2-container .select2-selection--single .select2-selection__arrow { height: 48px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { outline: none; border-color: var(--de-green-700); box-shadow: 0 0 0 3px var(--de-green-200); }
@media (min-width: 640px) { .woocommerce form .form-row-first, .woocommerce form .form-row-last { display: inline-grid; width: calc(50% - 7px); } .woocommerce form .form-row-first { margin-right: 14px; } }
#order_review { padding: 22px; background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
#order_review .shop_table td, #order_review .shop_table th { padding: 10px 0; }
#order_review .order-total td { font: 750 1.375rem var(--de-display); color: var(--de-ink); }
#payment { margin-top: 18px; }
#payment ul.payment_methods { margin: 0 0 18px; padding: 0; list-style: none; border-top: 1px solid var(--de-line); }
#payment ul.payment_methods li { padding: 14px 0; border-bottom: 1px solid var(--de-line); }
#payment .payment_box { margin-top: 9px; padding: 14px; background: var(--de-floor); font-size: .9375rem; }
#payment #place_order { width: 100%; min-height: 58px; font-size: 1.0625rem; }
.woocommerce-terms-and-conditions-wrapper { font-size: .875rem; color: var(--de-muted); }

/* ---------- Account ---------- */
.woocommerce-account .de-woo-page .woocommerce { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1000px) { .woocommerce-account .de-woo-page .woocommerce { grid-template-columns: 240px minmax(0, 1fr); gap: 45px; } }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--de-line); }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; border-bottom: 1px solid var(--de-line); color: var(--de-muted); font-weight: 600; text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a { color: var(--de-ink); font-weight: 750; }
.woocommerce-account .u-columns { display: grid; gap: 27px; }
@media (min-width: 900px) { .woocommerce-account .u-columns { grid-template-columns: 1fr 1fr; gap: 45px; } }
.woocommerce-account .u-columns > div, .woocommerce-account .woocommerce-form-login { padding: 27px; background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
.woocommerce-account .de-woo-page h2 { font: 750 1.5rem var(--de-display); color: var(--de-ink); margin: 0 0 14px; }

/* ---------- Quote page (Discount Electrical Quote Requests plugin) ---------- */
.de-quote__steps { display: flex; flex-wrap: wrap; gap: 9px 27px; margin: 0 0 36px; padding: 0; list-style: none; font-weight: 600; color: var(--de-ink); }
.de-quote__steps li { display: inline-flex; align-items: center; gap: 9px; }
.de-quote__n { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid var(--de-slate-300); font: 600 .8125rem var(--de-mono); color: var(--de-green-700); }
.deq-page [hidden] { display: none !important; }
.deq-split { display: grid; gap: 27px; }
@media (min-width: 1000px) { .deq-split { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 45px; align-items: start; } .deq-form { position: sticky; top: calc(var(--de-header-h) + 27px); } }
.deq-block { margin-bottom: 18px; padding: clamp(18px, 3vw, 27px); background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
.deq-block__head { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; margin-bottom: 9px; }
.deq-block__title { margin: 0 0 9px; font: 750 1.375rem/1.1 var(--de-display); letter-spacing: -.02em; color: var(--de-ink); }
.deq-block__head .deq-block__title { margin: 0; }
.deq-lines { margin: 0; padding: 0; list-style: none; }
.deq-line { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--de-slate-100); }
.deq-line.is-custom { grid-template-columns: minmax(0, 1fr) auto; }
.deq-line.is-new { animation: de-linein .6s var(--de-ease-out); }
@keyframes de-linein { from { background: var(--de-green-100); transform: translateY(-6px); opacity: 0; } }
.deq-line__media { display: grid; place-items: center; width: 54px; height: 54px; background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-100); }
.deq-line__img { width: 48px; height: 48px; object-fit: contain; }
.deq-line__info { display: grid; gap: 2px; min-width: 0; }
.deq-line__name { font-weight: 600; color: var(--de-ink); text-decoration: none; overflow-wrap: anywhere; }
a.deq-line__name:hover { text-decoration: underline; }
.deq-line__size { font-size: .8125rem; color: var(--de-muted); font-family: var(--de-mono); }
.deq-line.is-custom .deq-line__size { font-family: var(--de-sans); color: var(--de-green-800); font-weight: 700; }
.deq-line__qty { font: 700 1rem var(--de-mono); color: var(--de-ink); }
.deq-line__ctrl { display: flex; align-items: center; gap: 6px; }
.deq-stepper { display: inline-flex; border: 1px solid var(--de-slate-300); border-radius: 2px; }
.deq-stepper button, .deq-line__remove { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; background: none; color: var(--de-ink); cursor: pointer; }
.deq-stepper button:hover, .deq-line__remove:hover { background: var(--de-slate-100); }
.deq-stepper svg, .deq-line__remove svg { width: 16px; height: 16px; }
.deq-stepper input { width: 48px; border: 0; text-align: center; font: 700 1rem var(--de-sans); color: var(--de-ink); -moz-appearance: textfield; }
.deq-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
.deq-note { margin: 14px 0 0; font-size: .875rem; color: var(--de-muted); }
.deq-empty { padding: 9px 0; }
.deq-empty__title { margin: 0 0 6px; font: 750 1.25rem var(--de-display); color: var(--de-ink); }
.deq-empty p { color: var(--de-muted); }
.deq-custom__hint { margin: 0 0 9px; color: var(--de-muted); font-size: .9375rem; }
.deq-custom__row { display: grid; grid-template-columns: minmax(0, 1fr) 72px; gap: 9px; margin-top: 14px; }
.deq-custom__row .deq-btn { grid-column: 1 / -1; }
@media (min-width: 560px) { .deq-custom__row { grid-template-columns: minmax(0, 1fr) 81px auto; } .deq-custom__row .deq-btn { grid-column: auto; } }
.deq-custom__row input { min-height: 50px; padding: 0 14px; border: 1px solid var(--de-slate-300); border-radius: 2px; font: 500 1rem var(--de-sans); color: var(--de-ink); min-width: 0; }
.deq-custom__row input:focus { outline: none; border-color: var(--de-green-700); box-shadow: 0 0 0 3px var(--de-green-200); }
.deq-custom__error { display: block; margin-top: 6px; color: #8f2d1d; font-weight: 600; font-size: .875rem; }
.deq-form { display: grid; gap: 14px; padding: clamp(18px, 3vw, 27px); background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
.deq-intro { margin: -6px 0 4px; color: var(--de-muted); font-size: .9375rem; }
.deq-pair { display: grid; gap: 14px; }
@media (min-width: 560px) { .deq-pair { grid-template-columns: 1fr 1fr; } }
.deq-field { display: grid; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.deq-field > label, .deq-field legend, .deq-file__label { font-weight: 600; font-size: .9375rem; color: var(--de-ink); padding: 0; }
.deq-field em { font-style: normal; font-weight: 400; color: var(--de-muted); }
.deq-field input:not([type="radio"]):not([type="file"]), .deq-field select, .deq-field textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--de-slate-300); border-radius: 2px; background: var(--de-white); color: var(--de-ink); font: 400 1rem var(--de-sans); }
.deq-field select { -webkit-appearance: none; appearance: none; background: var(--de-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2326323a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center; padding-right: 36px; }
.deq-field textarea { min-height: 110px; resize: vertical; }
.deq-field input:focus, .deq-field select:focus, .deq-field textarea:focus { outline: none; border-color: var(--de-green-700); box-shadow: 0 0 0 3px var(--de-green-200); }
.deq-field small { font-size: .8125rem; color: var(--de-muted); }
.deq-field .deq-error { display: none; color: #8f2d1d; font-weight: 600; }
.deq-field.is-invalid .deq-error { display: block; }
.deq-field.is-invalid input, .deq-field.is-invalid .deq-file__drop { border-color: #8f2d1d; }
.deq-choice { display: flex; flex-wrap: wrap; gap: 9px; }
.deq-choice legend { width: 100%; margin-bottom: 6px; }
.deq-choice__opt { position: relative; flex: 1 1 140px; display: flex; align-items: center; gap: 9px; min-height: 50px; padding: 0 14px; border: 1px solid var(--de-slate-300); border-radius: 2px; cursor: pointer; font-weight: 600; color: var(--de-ink); transition: border-color .2s, background-color .2s; }
.deq-choice__opt input { accent-color: var(--de-green-700); width: 18px; height: 18px; }
.deq-choice__opt:has(input:checked) { border-color: var(--de-green-700); background: var(--de-green-100); }
.deq-file { position: relative; }
.deq-file__input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.deq-file__drop { display: flex; align-items: center; gap: 14px; min-height: 63px; padding: 9px 14px; border: 1.5px dashed var(--de-slate-300); border-radius: 2px; cursor: pointer; color: var(--de-muted); transition: border-color .2s, background-color .2s, color .2s; }
.deq-file__drop:hover, .deq-file__drop.is-over { border-color: var(--de-green-700); background: var(--de-green-100); color: var(--de-ink); }
.deq-file__input:focus-visible + .deq-file__drop { outline: 2px solid var(--de-green-700); outline-offset: 3px; }
.deq-file__drop.has-file { border-style: solid; border-color: var(--de-green-700); color: var(--de-ink); font-weight: 600; }
.deq-file__icon { display: grid; place-items: center; width: 40px; height: 40px; flex: none; background: var(--de-floor); color: var(--de-green-700); }
.deq-file__text { overflow-wrap: anywhere; }
.deq-privacy { margin: 0; font-size: .8125rem; color: var(--de-muted); }
.deq-privacy a { color: var(--de-green-800); }
.deq-form-error { margin: 0; padding: 12px 14px; background: #f7e7e3; color: #7a2617; font-weight: 600; font-size: .9375rem; }
.deq-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 18px; }
.deq-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 50px; padding: 0 22px; border: 0; border-radius: 2px; background: var(--de-green); color: var(--de-ink); font: 700 1rem/1 var(--de-sans); text-decoration: none; cursor: pointer; transition: background-color .2s; }
.deq-btn:hover { background: var(--de-green-300); }
.deq-btn--wide { width: 100%; min-height: 58px; font-size: 1.0625rem; }
.deq-btn--line { background: transparent; color: var(--de-ink); box-shadow: inset 0 0 0 1.5px var(--de-slate-400); }
.deq-btn--line:hover { background: var(--de-slate-100); box-shadow: inset 0 0 0 1.5px var(--de-ink); }
.deq-btn[disabled] { opacity: .6; cursor: progress; }
.deq-more { padding: 0; border: 0; background: none; color: var(--de-green-800); font: 700 .9375rem var(--de-sans); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.deq-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.deq-done { max-width: 720px; padding: clamp(22px, 4vw, 45px); background: var(--de-white); box-shadow: 0 0 0 1px var(--de-slate-150); }
.deq-done:focus { outline: none; }
.deq-done__title { margin: 0 0 9px; font: 750 clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem)/1.1 var(--de-display); letter-spacing: -.025em; color: var(--de-ink); }
.deq-sent { margin: 18px 0 27px; padding: 14px 18px; list-style: none; background: var(--de-floor); font-size: .9375rem; }
.deq-sent li { padding: 4px 0; }
@media print {
	.de-quote__steps, .deq-custom__row, .deq-foot, .deq-form { display: none !important; }
}
