/* =========================================================================
   Dairy Tech — WooCommerce styling
   Shop AJAX filters (midea layout) + product cards + cart drawer +
   account / cart / checkout (infra pattern, English).
   Loads only on WC views (conditional enqueue).
   ========================================================================= */


/* =========================================================================
   SHOP — midea-style layout (boxed facets, top search, clean cards)
   ========================================================================= */
.dt-shop__layout { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; }
@media (min-width: 900px) { .dt-shop__layout { grid-template-columns: 290px 1fr; gap: 32px; } }

/* Sidebar — each facet is its own boxed card */
.dt-shop__sidebar { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 18px; }
.dt-shop__box { background: #fff; border: 1px solid #eef0f3; border-radius: 14px; box-shadow: 0 2px 10px rgba(15,23,42,.05); overflow: hidden; }
.dt-shop__box-head { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; background: transparent; border: 0; cursor: pointer; font-family: var(--dt-font-accent); font-size: 12px; font-weight: 700; letter-spacing: .10em; text-transform: uppercase; color: var(--dt-ink); }
.dt-shop__box-head svg { color: var(--dt-ink-soft); transition: transform .2s; flex: 0 0 auto; }
.dt-shop__box.is-collapsed .dt-shop__box-head svg { transform: rotate(-90deg); }
.dt-shop__box-body { padding: 0 18px 18px; }
.dt-shop__box.is-collapsed .dt-shop__box-body { display: none; }
.dt-shop__cats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; max-height: 300px; overflow-y: auto; }
.dt-shop__cats::-webkit-scrollbar { width: 6px; }
.dt-shop__cats::-webkit-scrollbar-thumb { background: #d7dbe2; border-radius: 999px; }
.dt-shop__check { display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 6px 4px; font-size: 14px; color: var(--dt-ink-soft); border-radius: 8px; transition: background .15s, color .15s; }
.dt-shop__check:hover { background: var(--dt-bg-soft); color: var(--dt-ink); }
.dt-shop__check input { width: 17px; height: 17px; accent-color: var(--dt-accent); flex: 0 0 auto; }
.dt-shop__check-name { flex: 1; line-height: 1.3; }
.dt-shop__count { color: var(--dt-ink-soft); font-size: 12px; background: var(--dt-bg-soft); padding: 1px 9px; border-radius: 999px; flex: 0 0 auto; }
/* Sub-category drill-down */
.dt-shop__cat-row { display: flex; align-items: center; gap: 2px; }
.dt-shop__cat-row .dt-shop__check { flex: 1; }
.dt-shop__cat-toggle { display: flex; align-items: center; justify-content: center; background: none; border: 0; padding: 6px; cursor: pointer; color: var(--dt-ink-soft); border-radius: 8px; transition: transform .2s, background .15s; }
.dt-shop__cat-toggle:hover { background: var(--dt-bg-soft); color: var(--dt-ink); }
.dt-shop__cat.is-open > .dt-shop__cat-row .dt-shop__cat-toggle { transform: rotate(180deg); }
.dt-shop__cats--sub { display: none; padding-left: 20px; max-height: none; overflow: visible; }
.dt-shop__cat.is-open > .dt-shop__cats--sub { display: flex; }
.dt-shop__price { display: flex; align-items: center; gap: 10px; }
.dt-shop__price input { width: 100%; padding: 9px 10px; border: 1px solid #e2e6ec; border-radius: 8px; font-size: 14px; color: var(--dt-ink); background: #fff; }
.dt-shop__price input:focus { outline: 0; border-color: var(--dt-accent); }

/* Main column */
.dt-shop__main { min-width: 0; }
.dt-shop__toolbar { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; flex-wrap: wrap; }
.dt-shop__search { flex: 1 1 320px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: #fff; border: 1px solid #eef0f3; border-radius: 12px; box-shadow: 0 2px 10px rgba(15,23,42,.05); color: var(--dt-ink-soft); }
.dt-shop__search input { flex: 1; min-width: 0; border: 0; background: transparent; outline: 0; font-size: 15px; color: var(--dt-ink); }
.dt-shop__toolbar-right { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; }
.dt-shop__sort select { padding: 11px 16px; border: 1px solid #eef0f3; border-radius: 12px; font-size: 14px; color: var(--dt-ink); background: #fff; cursor: pointer; box-shadow: 0 2px 10px rgba(15,23,42,.05); }
.dt-shop__toolbar .dt-shop__count { background: transparent; padding: 0; font-size: 14px; font-weight: 600; color: var(--dt-ink-soft); white-space: nowrap; }

/* Viewing / active chips row */
.dt-shop__viewing { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.dt-shop__viewing-label { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--dt-ink-soft); }
.dt-shop__chips { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.dt-shop__chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 14px; background: rgba(242,99,34,.10); color: var(--dt-accent); border: 1px solid rgba(242,99,34,.22); border-radius: 999px; font-size: 13px; font-weight: 600; cursor: pointer; }
.dt-shop__chip:hover { background: var(--dt-accent); color: #fff; }
.dt-shop__reset { background: transparent; border: 0; color: var(--dt-ink-soft); font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: underline; margin-left: 4px; }
.dt-shop__reset:hover { color: var(--dt-accent); }
.dt-shop__layout.is-loading .dt-shop__results { opacity: .5; pointer-events: none; transition: opacity .2s; }

/* Product grid + cards (clean midea card) */
.dt-shop__grid, ul.products { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }
@media (min-width: 720px) { .dt-shop__grid, ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
ul.products li.product, li.dt-card { width: auto !important; margin: 0 !important; float: none !important; background: #fff; border: 1px solid #eef0f3; border-radius: 14px; box-shadow: 0 2px 10px rgba(15,23,42,.05); overflow: hidden; display: flex; flex-direction: column; text-align: left; transition: box-shadow .25s var(--dt-ease-out), transform .2s var(--dt-ease-out); }
ul.products li.product:hover, li.dt-card:hover { box-shadow: 0 14px 34px rgba(15,23,42,.12); transform: translateY(-3px); }
.dt-card__media { position: relative; display: block; aspect-ratio: 1 / 1; background: #fff; padding: 18px; }
.dt-card__media img { width: 100%; height: 100%; object-fit: contain; display: block; margin: 0; }
.dt-card__badge { position: absolute; top: 12px; left: 12px; background: var(--dt-accent); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 4px 10px; border-radius: 999px; }
.dt-card__body { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px 18px; border-top: 1px solid #f1f3f6; flex: 1; }
.dt-card__title { margin: 0; font-family: var(--dt-font-display); font-size: 16px; font-weight: 600; letter-spacing: .01em; line-height: 1.25; }
.dt-card__title a { color: var(--dt-ink); }
.dt-card__title a:hover { color: var(--dt-accent); }
.dt-card__brand { margin: 0; font-size: 12.5px; color: var(--dt-ink-soft); }
.dt-card__price { margin: 4px 0 2px; color: var(--dt-accent-ink, var(--dt-accent)); font-weight: 700; font-size: 16px; }
.dt-card__price del { color: var(--dt-ink-soft); font-weight: 400; opacity: .6; margin-right: 6px; }
.dt-card__price ins { text-decoration: none; }
.dt-card__btn.button { margin-top: auto; align-self: flex-start; margin-top: 12px; padding: 10px 18px; background: var(--dt-accent-ink, var(--dt-accent)); color: #fff; border-radius: 999px; font-family: var(--dt-font-accent); font-weight: 700; font-size: 13px; letter-spacing: .03em; transition: background .2s, transform .15s; }
.dt-card__btn.button:hover { background: #a53d0d; transform: translateY(-1px); }
.dt-card__btn.added { display: none; }
.dt-shop__empty { padding: 60px 20px; text-align: center; color: var(--dt-ink-soft); grid-column: 1 / -1; }

/* Pagination */
.dt-shop__pagination ul { list-style: none; display: flex; gap: 6px; padding: 0; margin: 32px 0 0; flex-wrap: wrap; justify-content: center; }
.dt-shop__pagination a, .dt-shop__pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid #eef0f3; border-radius: 10px; color: var(--dt-ink); font-weight: 600; background: #fff; }
.dt-shop__pagination .current { background: var(--dt-accent); color: #fff; border-color: var(--dt-accent); }
.dt-shop__pagination a:hover { border-color: var(--dt-accent); color: var(--dt-accent); }
/* Cart drawer styling now lives entirely in the ajax-cart-drawer component
   (self-contained, loads on every page). See inc/components/ajax-cart-drawer.php. */

/* ---------- Cart / Checkout / My Account (infra pattern) ---------- */
.woocommerce-account .woocommerce, .woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce { max-width: var(--dt-container); margin: 0 auto; }
.woocommerce table.shop_table { border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-lg); border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th { background: var(--dt-bg-soft); color: var(--dt-ink); font-family: var(--dt-font-accent); text-transform: uppercase; font-size: 13px; letter-spacing: .04em; }
.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { background: var(--dt-accent); color: #fff; border-radius: var(--dt-r-full); font-family: var(--dt-font-accent); font-weight: 700; padding: 13px 26px; transition: background .2s, transform .15s; }
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: #d9531a; transform: translateY(-1px); }
.woocommerce .button.alt, .woocommerce #place_order { background: var(--dt-accent); box-shadow: 0 12px 32px rgba(242,99,34,.28); }
/* ---- My Account: two-column dashboard (infra pattern, DT brand) ---- */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 1fr; gap: 28px; padding-block: clamp(24px, 4vw, 48px); }
@media (min-width: 900px) { .woocommerce-account .woocommerce { grid-template-columns: 250px 1fr; align-items: start; } }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 12px; display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-lg); box-shadow: 0 2px 10px rgba(15,23,42,.05); }
@media (min-width: 900px) { .woocommerce-MyAccount-navigation { position: sticky; top: 100px; } }
.woocommerce-MyAccount-navigation ul li { margin: 0; }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 11px 15px; border-radius: var(--dt-r-md); color: var(--dt-ink); font-weight: 600; font-size: 14.5px; text-decoration: none; transition: background .18s, color .18s; }
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link a:hover { background: var(--dt-bg-soft); color: var(--dt-accent); }
/* Out-specify the woocommerce-baseline component's inline .is-active rule
   (3 classes) by qualifying with the link class → orange active (infra). */
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link.is-active a { background: var(--dt-accent); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link.is-active a:hover { background: #d9531a; color: #fff; }
.woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-lg); box-shadow: 0 2px 10px rgba(15,23,42,.05); padding: clamp(20px, 3vw, 34px); min-width: 0; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { font-family: var(--dt-font-display); color: var(--dt-ink); margin: 0 0 14px; }
.woocommerce-MyAccount-content p { color: var(--dt-ink-soft); }
.woocommerce-MyAccount-content mark { background: rgba(242,99,34,.14); color: var(--dt-accent); padding: 0 4px; border-radius: 4px; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--dt-accent); font-weight: 600; }
/* Address cards (dashboard + edit-address overview) — infra pattern */
.woocommerce-account .addresses .u-columns, .woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px) { .woocommerce-account .addresses .u-columns, .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-account .woocommerce-Address { background: var(--dt-bg-soft); border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-md); padding: 22px 24px; }
.woocommerce-account .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
/* Small uppercase title (override the big display h3) */
.woocommerce-account .woocommerce-Address-title h2, .woocommerce-account .woocommerce-Address-title h3 { font-family: var(--dt-font-accent) !important; font-size: 15px !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .05em; color: var(--dt-ink); margin: 0 !important; line-height: 1.3 !important; }
.woocommerce-account .woocommerce-Address-title .edit { color: var(--dt-accent); font-size: 13px; font-weight: 700; white-space: nowrap; }
.woocommerce-account .woocommerce-Address address { font-style: normal; color: var(--dt-ink-soft); line-height: 1.7; margin: 0; }
/* Order history table */
.woocommerce-account .woocommerce-orders-table, .woocommerce-account .woocommerce-table--order-details { border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-md); overflow: hidden; }
.woocommerce-account .woocommerce-orders-table .button, .woocommerce-account .woocommerce-orders-table .button.view { padding: 7px 15px; font-size: 13px; }
/* Login / register forms — centered card */
.woocommerce-account:not(.logged-in) .woocommerce { grid-template-columns: 1fr; max-width: 960px; margin-inline: auto; }
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 760px) { .woocommerce-account .u-columns { grid-template-columns: 1fr 1fr; } }
.woocommerce-account form.login, .woocommerce-account form.register { background: #fff; border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-lg); box-shadow: 0 2px 10px rgba(15,23,42,.05); padding: clamp(20px, 3vw, 32px); margin: 0; }
.woocommerce-account .col-1 > h2, .woocommerce-account .col-2 > h2 { font-family: var(--dt-font-display); color: var(--dt-ink); margin: 0 0 6px; }
.woocommerce-account form .form-row label { font-weight: 600; font-size: 14px; color: var(--dt-ink); margin-bottom: 6px; display: block; }
.woocommerce-account form .form-row input.input-text { width: 100%; }
.woocommerce-account .woocommerce-form-login__rememberme { color: var(--dt-ink-soft); font-size: 14px; }
.woocommerce-account .lost_password a { color: var(--dt-accent); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout input, .woocommerce-checkout select { border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-md); padding: 12px 14px; }
.woocommerce form .form-row input.input-text:focus { border-color: var(--dt-accent); outline: 0; }
/* Notices / empty-states (infra pattern: cream box + colour left-border + inline button) */
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-message {
	padding: 16px 20px !important; margin: 0 0 20px !important; border: 1px solid var(--dt-border-soft) !important; border-left: 4px solid var(--dt-accent) !important; border-radius: var(--dt-r-md) !important; background: var(--dt-bg-soft) !important; color: var(--dt-ink) !important; font-size: 15px !important; display: flex !important; align-items: center !important; gap: 14px !important; list-style: none !important; }
.woocommerce-message { border-left-color: #1f8a4c !important; background: rgba(31,138,76,.07) !important; }
.woocommerce-error { border-left-color: #c0294b !important; background: rgba(192,41,75,.06) !important; }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { display: none !important; }
.woocommerce-info .button, .woocommerce-message .button, .woocommerce-error .button { margin-left: auto !important; flex: 0 0 auto; padding: 10px 20px !important; font-size: 13px !important; }
.woocommerce ul.order_details { border-radius: var(--dt-r-lg); }
.woocommerce .cart_totals, .woocommerce-checkout #order_review { background: var(--dt-bg-soft); border-radius: var(--dt-r-lg); padding: 24px; }

/* =========================================================================
   SINGLE PRODUCT (infra layout, English, no USPs)
   ========================================================================= */
.single-product div.product { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: start; padding-block: clamp(12px, 2vw, 24px) clamp(24px, 4vw, 48px); }
@media (min-width: 900px) { .single-product div.product { grid-template-columns: 1fr 1fr; gap: 56px; } }
/* ---- Product gallery: flexslider main image + thumbnail strip ---- */
.single-product div.product .woocommerce-product-gallery { margin: 0; position: relative; }
.single-product div.product .woocommerce-product-gallery figure { margin: 0; }
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image,
.single-product div.product .woocommerce-product-gallery .flex-viewport { border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-lg); overflow: hidden; background: #fff; box-shadow: 0 18px 40px -28px rgba(0,0,0,.35); }
.single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image { border: 0; border-radius: 0; box-shadow: none; }
.single-product div.product .woocommerce-product-gallery img { border-radius: 0; background: #fff; display: block; }
.single-product div.product .woocommerce-product-gallery__image a { display: block; }
/* Zoom / lightbox trigger — brand chip, top-right of the main image */
.single-product div.product .woocommerce-product-gallery__trigger { position: absolute; top: 14px; right: 14px; z-index: 20; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--dt-border-soft); border-radius: 999px; box-shadow: 0 6px 18px -6px rgba(0,0,0,.4); text-indent: 0; font-size: 0; transition: background .18s, transform .18s, color .18s; }
.single-product div.product .woocommerce-product-gallery__trigger::after { content: ""; width: 18px; height: 18px; background: currentColor; color: var(--dt-accent); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m21 21-4.3-4.3'/><path d='M11 8v6M8 11h6'/></svg>") center/contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m21 21-4.3-4.3'/><path d='M11 8v6M8 11h6'/></svg>") center/contain no-repeat; }
.single-product div.product .woocommerce-product-gallery__trigger img { display: none; }
.single-product div.product .woocommerce-product-gallery__trigger:hover { background: var(--dt-accent); transform: translateY(-1px); }
.single-product div.product .woocommerce-product-gallery__trigger:hover::after { color: #fff; }
/* Thumbnail strip */
.single-product div.product .flex-control-thumbs { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.single-product div.product .flex-control-thumbs li { margin: 0; }
.single-product div.product .flex-control-thumbs img { cursor: pointer; border-radius: var(--dt-r-md, 12px); border: 2px solid var(--dt-border-soft); background: #fff; opacity: .7; transition: opacity .18s, border-color .18s, transform .18s; aspect-ratio: 1 / 1; object-fit: contain; width: 100%; padding: 4px; }
.single-product div.product .flex-control-thumbs img:hover { opacity: 1; transform: translateY(-2px); }
.single-product div.product .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--dt-accent); }
.single-product div.product .summary { margin: 0; }
.dt-single__eyebrow { display: inline-block; font-family: var(--dt-font-accent); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--dt-accent); margin-bottom: 10px; }
.single-product div.product .product_title { font-size: clamp(1.9rem, 3vw + .5rem, 3rem); line-height: 1.05; color: var(--dt-ink); margin: 0 0 14px; }
.single-product div.product p.price, .single-product div.product span.price { color: var(--dt-accent); font-weight: 700; font-size: 1.6rem; margin: 0 0 16px; }
.single-product div.product p.price del { color: var(--dt-ink-soft); font-weight: 400; opacity: .55; font-size: 1.1rem; }
.single-product div.product p.price ins { text-decoration: none; }
.dt-single__pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.dt-single__pill { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; background: var(--dt-bg-soft); border: 1px solid var(--dt-border-soft); border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--dt-ink-soft); }
.dt-single__pill svg { color: var(--dt-accent); }
.dt-single__pill--stock { background: rgba(31,138,76,.10); border-color: rgba(31,138,76,.25); color: #1f8a4c; }
.dt-single__pill-dot { width: 8px; height: 8px; border-radius: 999px; background: #1f8a4c; }
.dt-single__pill--out { background: rgba(192,41,75,.08); color: #c0294b; border-color: rgba(192,41,75,.2); }
.single-product div.product form.cart { display: flex; align-items: stretch; gap: 12px; margin: 0 0 8px; flex-wrap: wrap; }
/* Quantity stepper (− [qty] +) */
.single-product div.product form.cart .quantity { display: inline-flex; align-items: stretch; border: 1px solid var(--dt-border); border-radius: var(--dt-r-full); overflow: hidden; background: #fff; }
.single-product div.product form.cart .quantity .dt-qty-btn { width: 46px; border: 0; background: transparent; color: var(--dt-ink); font-size: 20px; font-weight: 600; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background .15s, color .15s; }
.single-product div.product form.cart .quantity .dt-qty-btn:hover { background: var(--dt-bg-soft); color: var(--dt-accent); }
.single-product div.product form.cart .quantity input.qty { width: 46px; border: 0; text-align: center; font-weight: 700; background: transparent; -moz-appearance: textfield; appearance: textfield; }
.single-product div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product div.product form.cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.single-product div.product form.cart button.single_add_to_cart_button { flex: 1; min-width: 200px; background: var(--dt-accent); color: #fff; border-radius: 999px !important; font-family: var(--dt-font-accent); font-weight: 700; letter-spacing: .04em; padding: 15px 28px; box-shadow: 0 12px 32px rgba(242,99,34,.28); transition: background .2s, transform .15s; }
.single-product div.product form.cart button.single_add_to_cart_button:hover { background: #d9531a; transform: translateY(-1px); }
/* ---- Variable product: option selectors ---- */
.single-product div.product form.variations_form { display: block; }
.single-product div.product form.variations_form .single_variation_wrap { margin-top: 6px; }
.single-product div.product table.variations { width: 100%; margin: 0 0 18px; border-collapse: collapse; }
.single-product div.product table.variations tr { display: block; margin-bottom: 14px; }
.single-product div.product table.variations th.label { display: block; text-align: left; padding: 0 0 6px; font-family: var(--dt-font-accent); font-weight: 700; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--dt-ink); }
.single-product div.product table.variations td.value { display: block; padding: 0; position: relative; }
.single-product div.product table.variations td.value select { -webkit-appearance: none; appearance: none; width: 100%; padding: 13px 44px 13px 16px; font-size: 15px; font-weight: 600; color: var(--dt-ink); background: #fff; border: 1px solid var(--dt-border); border-radius: var(--dt-r-md, 12px); cursor: pointer; transition: border-color .18s, box-shadow .18s; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23242a56' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>"); background-repeat: no-repeat; background-position: right 15px center; background-size: 16px; }
.single-product div.product table.variations td.value select:hover { border-color: var(--dt-accent); }
.single-product div.product table.variations td.value select:focus-visible { outline: none; border-color: var(--dt-accent); box-shadow: 0 0 0 3px rgba(242,99,34,.18); }
.single-product div.product .reset_variations { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--dt-ink-soft); }
.single-product div.product .reset_variations:hover { color: var(--dt-accent); }
.single-product div.product .woocommerce-variation { margin: 0 0 14px; }
.single-product div.product .woocommerce-variation-price .price { font-size: 1.5rem; font-weight: 700; color: var(--dt-accent); }
.single-product div.product .woocommerce-variation-availability .stock { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.single-product div.product .woocommerce-variation-availability .stock.in-stock { background: rgba(31,138,76,.10); color: #1f8a4c; }
.single-product div.product .woocommerce-variation-availability .stock.out-of-stock { background: rgba(192,41,75,.08); color: #c0294b; }
.single-product div.product .woocommerce-variation-description { color: var(--dt-ink-soft); font-size: 14px; margin: 0 0 12px; }
.single-product div.product .woocommerce-variation-add-to-cart { display: flex; align-items: stretch; gap: 12px; flex-wrap: wrap; }
.single-product div.product .woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-disabled button.single_add_to_cart_button { opacity: .45; cursor: not-allowed; box-shadow: none; }
.dt-single__quote-phone { margin: 14px 0 20px; }
.dt-single__quote-btn { width: 100%; }
.dt-single__phone-line { text-align: center; margin: 12px 0 0; color: var(--dt-ink-soft); font-size: 14px; }
.dt-single__phone-link { display: inline-flex; align-items: center; gap: 5px; color: var(--dt-accent); font-weight: 700; margin-left: 4px; }
.dt-single__trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 20px 0; padding: 18px; background: var(--dt-bg-soft); border-radius: var(--dt-r-lg); }
.dt-single__trust-item { display: flex; align-items: flex-start; gap: 10px; }
.dt-single__trust-icon { color: var(--dt-accent); flex: 0 0 auto; line-height: 1; }
.dt-single__trust-icon svg { display: block; }
.dt-single__trust-copy strong { display: block; font-size: 13px; color: var(--dt-ink); }
.dt-single__trust-copy span { font-size: 12px; color: var(--dt-ink-soft); }
.single-product div.product .product_meta { font-size: 13px; color: var(--dt-ink-soft); border-top: 1px solid var(--dt-border-soft); padding-top: 16px; }
/* Disable the WC hover-zoom magnifier (jquery-zoom overlay) — no image zoom */
.single-product .woocommerce-product-gallery img.zoomImg { display: none !important; }
.single-product .woocommerce-product-gallery__image { cursor: default; }
/* Single-product breadcrumb bar (below the menu, divider under it) */
.dt-product-crumb { border-bottom: 1px solid var(--dt-border-soft); background: #fff; }
.dt-product-crumb .dt-container { padding-block: 16px; }
.dt-product-crumb .dt_breadcrumbs ol { justify-content: flex-start; }
.dt-product-crumb .dt_breadcrumbs a, .dt-product-crumb .dt_breadcrumbs span { color: var(--dt-ink-soft); }
.dt-product-crumb .dt_breadcrumbs a:hover { color: var(--dt-accent); }
/* Tabs + related (full width below the grid) — opaque so the sticky summary
   never shows through the gaps between cards. No z-index (keeps the gallery's
   stacking context clean). */
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products { background: var(--dt-bg); }
.single-product .woocommerce-tabs { grid-column: 1 / -1; padding-top: 8px; }
.single-product .woocommerce-tabs ul.tabs { list-style: none; margin: 0 0 24px; padding: 0; display: flex; gap: 8px; border-bottom: 1px solid var(--dt-border-soft); flex-wrap: wrap; }
.single-product .woocommerce-tabs ul.tabs li { margin: 0; }
.single-product .woocommerce-tabs ul.tabs li a { display: inline-block; padding: 12px 18px; font-family: var(--dt-font-accent); font-weight: 700; font-size: 14px; color: var(--dt-ink-soft); border-bottom: 2px solid transparent; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--dt-accent); border-bottom-color: var(--dt-accent); }
/* Short description: body-scale always — migrated Avada content sometimes
   wraps it in <h2>, which must never render display-sized in the summary. */
.single-product .woocommerce-product-details__short-description h1,
.single-product .woocommerce-product-details__short-description h2,
.single-product .woocommerce-product-details__short-description h3,
.single-product .woocommerce-product-details__short-description h4 { font-family: inherit; font-size: 1em; line-height: 1.6; text-transform: none; letter-spacing: normal; font-weight: 700; color: var(--dt-ink); margin: 0 0 .8em; }

/* Additional information — proper spec table */
.single-product table.woocommerce-product-attributes { width: 100%; max-width: 720px; border-collapse: separate; border-spacing: 0; margin: 4px 0 0; border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-md, 12px); overflow: hidden; }
.single-product table.woocommerce-product-attributes tr + tr th,
.single-product table.woocommerce-product-attributes tr + tr td { border-top: 1px solid var(--dt-border-soft); }
.single-product table.woocommerce-product-attributes th,
.single-product table.woocommerce-product-attributes td { text-align: left; vertical-align: top; padding: 13px 18px; font-size: 15px; line-height: 1.55; }
.single-product table.woocommerce-product-attributes th { width: 200px; background: var(--dt-bg-soft); font-family: var(--dt-font-accent); font-weight: 700; color: var(--dt-ink); font-style: normal; }
.single-product table.woocommerce-product-attributes td { color: var(--dt-ink-soft); font-style: normal; }
.single-product table.woocommerce-product-attributes td p { margin: 0; }

.single-product .related.products, .single-product .upsells.products { grid-column: 1 / -1; }
.single-product .related.products > h2, .single-product .upsells.products > h2 { font-family: var(--dt-font-display); text-transform: uppercase; color: var(--dt-ink); margin-bottom: 20px; }

/* Owner's Manuals — direct download buttons in the summary (inc/wc-manuals.php). */
.dt-manual-downloads { display: flex; flex-wrap: wrap; gap: 12px; margin: 10px 0 22px; }
.dt-manual-downloads__btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; text-transform: uppercase; letter-spacing: .04em; }
.dt-manual-downloads__btn svg { flex: 0 0 auto; }

/* ==========================================================================
   Cart + Checkout pages — classic shortcodes, infra-parity styling
   (client swapped the WC Blocks pages for [woocommerce_cart]/[woocommerce_checkout]).
   ========================================================================== */

/* WC notices — brand-colored bars */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
	padding: 14px 18px; margin: 0 0 22px; border-radius: var(--dt-r-md);
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
	border-left: 4px solid var(--dt-accent); background: var(--dt-bg-soft); color: var(--dt-ink); font-size: 15px;
}
.woocommerce-message { border-left-color: #16a34a; background: #f0fdf4; }
.woocommerce-error   { border-left-color: #dc2626; background: #fef2f2; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-message .button, .woocommerce-error .button, .woocommerce-info .button {
	margin-left: auto; background: var(--dt-ink); color: #fff; border-radius: var(--dt-r-full); padding: 8px 16px; font-size: 13px;
}

/* --- Cart layout: items left, totals right (top-aligned) --- */
.woocommerce-cart .woocommerce { padding-block: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; }
@media (min-width: 1024px) { .woocommerce-cart .woocommerce { grid-template-columns: 1.55fr 1fr; } }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .woocommerce-message,
.woocommerce-cart .woocommerce > .woocommerce-info,
.woocommerce-cart .woocommerce > .woocommerce-error,
.woocommerce-cart .woocommerce > .cart-empty,
.woocommerce-cart .woocommerce > .return-to-shop { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; margin: 0; min-width: 0; }
.woocommerce-cart table.shop_table { width: 100%; background: #fff; margin-bottom: 0; }
.woocommerce-cart table.shop_table th { padding: 15px 16px; border: 0; }
.woocommerce-cart table.shop_table td { padding: 18px 16px; border-top: 1px solid var(--dt-border-soft); border-bottom: 0; vertical-align: middle; }
.woocommerce-cart table.shop_table tbody tr:first-child td { border-top: 0; }
/* Fixed widths for the utility columns so the name column gets the space */
.woocommerce-cart table.shop_table th.product-remove, .woocommerce-cart table.shop_table td.product-remove { width: 44px; padding-right: 0 !important; }
.woocommerce-cart table.shop_table th.product-thumbnail, .woocommerce-cart table.shop_table td.product-thumbnail { width: 104px; }
.woocommerce-cart .product-thumbnail img { display: block; width: 76px !important; height: 76px !important; max-width: none; object-fit: cover; border-radius: var(--dt-r-md); border: 1px solid var(--dt-border-soft); background: #fff; padding: 3px; }
.woocommerce-cart .product-name a { color: var(--dt-ink); font-weight: 600; }
.woocommerce-cart .product-name a:hover { color: var(--dt-accent); }
.woocommerce-cart .product-price, .woocommerce-cart .product-subtotal { color: var(--dt-accent); font-weight: 700; }
.woocommerce-cart .product-remove a.remove {
	width: 28px; height: 28px; border-radius: 50%; background: var(--dt-bg-soft); color: var(--dt-ink-soft);
	line-height: 28px; text-align: center; font-weight: 400; transition: background .15s, color .15s;
}
.woocommerce-cart .product-remove a.remove:hover { background: var(--dt-accent); color: #fff; }
.woocommerce-cart .quantity input.qty { width: 64px; padding: 8px 10px; border-radius: var(--dt-r-md); border: 1.5px solid var(--dt-border-soft); text-align: center; }
/* IMPORTANT: td.actions must stay display:table-cell — flex on a td kills
   its colspan and collapses the whole table's column layout. The row layout
   comes from floats inside the (full-width) cell instead. */
.woocommerce-cart td.actions { background: var(--dt-bg-soft); padding: 16px !important; }
.woocommerce-cart td.actions::after { content: ""; display: table; clear: both; }
.woocommerce-cart td.actions .coupon { float: left; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.woocommerce-cart td.actions > .button[name="update_cart"] { float: right; }
.woocommerce-cart .coupon input.input-text { border-radius: var(--dt-r-full); padding: 10px 18px; border: 1.5px solid var(--dt-border-soft); background: #fff; }
.woocommerce-cart .coupon .button { background: var(--dt-accent); color: #fff; border: 0; border-radius: var(--dt-r-full); padding: 10px 20px; font-weight: 700; }
.woocommerce-cart td.actions > .button { background: var(--dt-ink); color: #fff; border: 0; border-radius: var(--dt-r-full); padding: 10px 20px; font-weight: 700; }
.woocommerce-cart td.actions > .button:disabled { opacity: .45; }

/* Cart totals card — sits in the right column, top-aligned with the table */
.woocommerce-cart .cart-collaterals { grid-column: 1 / -1; margin-top: 0; }
@media (min-width: 1024px) { .woocommerce-cart .cart-collaterals { grid-column: 2; grid-row: auto; } }
.cart_totals { background: #fff !important; border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-lg); padding: clamp(20px, 2.6vw, 30px) !important; float: none !important; width: auto !important; box-shadow: 0 14px 40px rgba(0,0,0,.07); }
.cart_totals h2 { margin: 0 0 14px; font-family: var(--dt-font-display); text-transform: uppercase; font-size: 1.35rem; color: var(--dt-ink); }
/* the inner totals table must not look like a nested white box */
.woocommerce-cart .cart_totals table.shop_table { background: transparent; border: 0; border-radius: 0; box-shadow: none; margin: 0; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { background: transparent !important; padding: 13px 0 !important; border: 0 !important; border-top: 1px solid var(--dt-border-soft) !important; text-transform: none; font-size: 15px; letter-spacing: 0; }
.woocommerce-cart .cart_totals table.shop_table tr:first-child th, .woocommerce-cart .cart_totals table.shop_table tr:first-child td { border-top: 0 !important; }
.cart_totals .order-total th, .cart_totals .order-total td { font-weight: 700; color: var(--dt-ink); }
.cart_totals .order-total .amount { color: var(--dt-accent); font-family: var(--dt-font-display); font-size: 1.3rem; }
.wc-proceed-to-checkout { padding: 0; margin-top: 16px; }
.wc-proceed-to-checkout .checkout-button {
	display: flex; align-items: center; justify-content: center; width: 100%;
	padding: 15px 22px; font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
	background: var(--dt-accent); color: #fff; border-radius: var(--dt-r-full);
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--dt-ink); color: #fff; }

/* --- Checkout layout: form left, order review card right --- */
.woocommerce-checkout .woocommerce { padding-block: clamp(28px, 4vw, 56px); }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1fr; gap: clamp(22px, 3vw, 40px); }
@media (min-width: 1024px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1.4fr 1fr; grid-template-rows: auto 1fr; align-items: start; column-gap: clamp(22px, 3vw, 40px); row-gap: 0; }
	/* Pin explicitly — auto-placement was dropping the order table under the
	   billing card while its heading floated alone in the right column. */
	.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
	.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; }
	.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; align-self: start; }
}
/* WC's hidden attribution inputs are a direct form child — keep them out of the grid. */
.woocommerce-checkout form.checkout wc-order-attribution-inputs { display: none; }
.woocommerce-checkout #customer_details { background: #fff; border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-lg); padding: clamp(22px, 3vw, 36px); box-shadow: 0 14px 40px rgba(0,0,0,.07); }
.woocommerce-checkout #customer_details h3 { margin: 0 0 18px; font-family: var(--dt-font-display); text-transform: uppercase; font-size: 1.35rem; color: var(--dt-ink); }
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr; gap: 22px; width: 100% !important; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: 100% !important; float: none !important; padding: 0 !important; }
.woocommerce-checkout .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce-checkout .form-row label { display: block; font-size: 13.5px; font-weight: 600; color: var(--dt-ink); margin-bottom: 6px; }
.woocommerce-checkout .form-row input, .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea, .woocommerce-checkout .form-row .select2-selection {
	width: 100%; padding: 12px 14px; border: 1.5px solid var(--dt-border-soft); border-radius: var(--dt-r-md); background: #fff; font-size: 15px; color: var(--dt-ink);
}
.woocommerce-checkout .form-row input:focus, .woocommerce-checkout .form-row select:focus, .woocommerce-checkout .form-row textarea:focus { outline: 2px solid var(--dt-accent); outline-offset: 1px; }
.woocommerce-checkout .form-row .select2-selection { height: auto !important; }
.woocommerce-checkout .form-row .select2-selection__rendered { line-height: 22px !important; padding: 0 !important; color: var(--dt-ink) !important; }
.woocommerce-checkout .form-row .select2-selection__arrow { top: 14px !important; right: 12px !important; }

/* Order review card */
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { background: #fff; border: 1px solid var(--dt-border-soft); }
.woocommerce-checkout #order_review_heading {
	margin: 0; padding: clamp(20px, 2.6vw, 28px) clamp(20px, 2.6vw, 28px) 0; border-bottom: 0;
	border-radius: var(--dt-r-lg) var(--dt-r-lg) 0 0; font-family: var(--dt-font-display); text-transform: uppercase; font-size: 1.35rem; color: var(--dt-ink);
}
.woocommerce-checkout #order_review { padding: clamp(20px, 2.6vw, 28px); margin-top: -1px; border-top: 0; border-radius: 0 0 var(--dt-r-lg) var(--dt-r-lg); box-shadow: 0 14px 40px rgba(0,0,0,.07); }
.woocommerce-checkout #order_review .shop_table { width: 100%; border: 0; background: transparent; table-layout: auto; }
.woocommerce-checkout #order_review .shop_table th, .woocommerce-checkout #order_review .shop_table td {
	padding: 12px 0; background: transparent; border: 0; border-bottom: 1px solid var(--dt-border-soft); text-transform: none; font-size: 15px; letter-spacing: 0;
}
/* Receipt alignment — labels flush left, amounts flush right. Covers thead
   (Product/Subtotal), tbody item rows, and tfoot rows (th label + td value). */
.woocommerce-checkout #order_review .shop_table th { text-align: left !important; }
.woocommerce-checkout #order_review .shop_table td.product-name { text-align: left !important; word-break: break-word; }
.woocommerce-checkout #order_review .shop_table thead th:last-child,
.woocommerce-checkout #order_review .shop_table td:last-child { text-align: right !important; }
@media (max-width: 480px) {
	.woocommerce-checkout #order_review { padding: 16px; }
	.woocommerce-checkout #order_review .shop_table th, .woocommerce-checkout #order_review .shop_table td { font-size: 14px; }
}
.woocommerce-checkout #order_review .order-total th, .woocommerce-checkout #order_review .order-total td { font-weight: 700; color: var(--dt-ink); }
.woocommerce-checkout #order_review .order-total .amount { color: var(--dt-accent); font-family: var(--dt-font-display); font-size: 1.3rem; }

/* Shipping method options (checkout order review + cart totals).
   Markup from the theme override woocommerce/cart/cart-shipping.php:
   one colspan="2" cell (.dt-ship) → heading line, then full-width rows. */
.woocommerce-checkout #order_review td.dt-ship,
.cart_totals td.dt-ship { text-align: left !important; }
.dt-ship__heading { display: block; font-weight: 700; color: var(--dt-ink); margin: 2px 0 10px; font-size: 15px; }

.woocommerce-checkout #order_review .woocommerce-shipping-methods,
.cart_totals .woocommerce-shipping-methods {
	list-style: none; margin: 0 0 4px; padding: 0;
	display: grid; gap: 8px; width: 100%; text-align: left;
}
.woocommerce-checkout #order_review .woocommerce-shipping-methods li,
.cart_totals .woocommerce-shipping-methods li {
	display: flex; align-items: center; gap: 10px; margin: 0;
	padding: 11px 14px; background: #fff; border: 1.5px solid var(--dt-border-soft);
	border-radius: var(--dt-r-md); cursor: pointer;
}
/* No transition here — checkout's AJAX fragment refresh re-renders these
   rows, and transitions made hover flicker. States switch instantly. */
.woocommerce-checkout #order_review .woocommerce-shipping-methods li:hover,
.cart_totals .woocommerce-shipping-methods li:hover { border-color: rgba(242, 99, 34, .45); }
.woocommerce-checkout #order_review .woocommerce-shipping-methods li:has(input:checked),
.cart_totals .woocommerce-shipping-methods li:has(input:checked) {
	border-color: var(--dt-accent); background: rgba(242, 99, 34, .05);
}
.woocommerce-checkout #order_review .woocommerce-shipping-methods li::marker,
.cart_totals .woocommerce-shipping-methods li::marker { content: none; }
.woocommerce-checkout #order_review .woocommerce-shipping-methods input[type="radio"],
.cart_totals .woocommerce-shipping-methods input[type="radio"] {
	width: 16px; height: 16px; margin: 0; flex: 0 0 auto; accent-color: var(--dt-accent);
}
/* Label fills the row: service name left, price pushed right */
.woocommerce-checkout #order_review .woocommerce-shipping-methods label,
.cart_totals .woocommerce-shipping-methods label {
	margin: 0; cursor: pointer; font-size: 14.5px; color: var(--dt-ink); line-height: 1.4;
	flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.woocommerce-checkout #order_review .woocommerce-shipping-methods label .woocommerce-Price-amount,
.cart_totals .woocommerce-shipping-methods label .woocommerce-Price-amount { font-weight: 700; color: var(--dt-accent); white-space: nowrap; }

/* Payment box */
.woocommerce-checkout #payment { background: transparent; border-radius: 0; margin-top: 18px; }
.woocommerce-checkout #payment ul.payment_methods { border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-md); padding: 12px; background: var(--dt-bg-soft); }
.woocommerce-checkout #payment ul.payment_methods li { padding: 10px 12px; background: #fff; border: 1px solid var(--dt-border-soft); border-radius: var(--dt-r-md); margin-bottom: 8px; list-style: none; }
.woocommerce-checkout #payment ul.payment_methods li:last-child { margin-bottom: 0; }
.woocommerce-checkout #payment div.payment_box { background: var(--dt-bg-soft); border-radius: var(--dt-r-md); margin-top: 8px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .place-order button#place_order {
	width: 100%; padding: 16px 22px; font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
	background: var(--dt-accent); color: #fff; border-radius: var(--dt-r-full); border: 0; margin-top: 18px; cursor: pointer; transition: background .2s;
}
.woocommerce-checkout #payment .place-order button#place_order:hover { background: var(--dt-ink); }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-top: 12px; font-size: 14px; color: var(--dt-ink-soft); }

/* Cart drawer visuals moved into the ajax-cart-drawer component (custom
   AJAX render, infra parity). See inc/components/ajax-cart-drawer.php. */

/* Buttons: UPPERCASE + bold everywhere (client 2026-07-15) — beats WC core */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
a.button, button.button, input.button, .dt-card__btn.button,
.single_add_to_cart_button, .checkout-button, .wc-proceed-to-checkout .button,
a.added_to_cart, .woocommerce-cart .button, .woocommerce-checkout .button {
	text-transform: uppercase !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
}

/* ---- Checkout: checkboxes + payment fields polish (2026-07-15) ---- */
/* Brand-styled checkboxes (were tiny browser defaults) */
.woocommerce form .form-row input[type="checkbox"],
.woocommerce-checkout input[type="checkbox"],
.woocommerce input#terms,
.woocommerce-form__input-checkbox {
	width: 20px; height: 20px; min-width: 20px; accent-color: var(--dt-accent);
	cursor: pointer; vertical-align: top; margin: 2px 10px 0 0;
}
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox,
.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout p.form-row label.checkbox {
	display: flex; align-items: flex-start; gap: 4px; font-size: 15px;
	line-height: 1.5; color: var(--dt-ink); cursor: pointer;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { color: var(--dt-ink); }
/* Payment method card fields (Authorize.Net etc.) */
.woocommerce-checkout #payment div.payment_box input.input-text,
.woocommerce-checkout #payment div.payment_box input[type="text"],
.woocommerce-checkout #payment div.payment_box input[type="tel"],
.woocommerce-checkout #payment div.payment_box input[type="number"],
.woocommerce-checkout #payment div.payment_box select {
	width: 100%; padding: 12px 14px; border: 1px solid var(--dt-border);
	border-radius: var(--dt-r-md); background: #fff; font-size: 15px; margin-top: 5px;
	box-sizing: border-box;
}
.woocommerce-checkout #payment div.payment_box input:focus,
.woocommerce-checkout #payment div.payment_box select:focus {
	border-color: var(--dt-accent); outline: none; box-shadow: 0 0 0 3px rgba(242,99,34,.15);
}
.woocommerce-checkout #payment div.payment_box p { margin: 0 0 14px; }
.woocommerce-checkout #payment div.payment_box label { font-weight: 600; font-size: 14px; color: var(--dt-ink); }
.woocommerce-checkout #payment div.payment_box { padding: 16px; }

/* Payment method card icons horizontal (were stacking due to global img:block) */
.woocommerce-checkout #payment ul.payment_methods li img,
.woocommerce-checkout #payment .payment_methods label img,
.woocommerce-checkout #payment .wc-payment-method-icons img {
	display: inline-block !important; width: 32px !important; height: auto !important;
	margin: 0 2px 0 4px !important; vertical-align: middle; float: none !important;
}
