/*
Theme Name: WP Wizards Custom
Theme URI: https://www.wpwizards.com/
Description: Custom Theme by WP Wizards
Author: WP Wizards
Author URI: https://www.wpwizards.com/
Template: Divi
Version: 4.4.8
*/

/* ---- 00-base.css ---- */
/* ==========================================================================
   Deliciosa Décor × LightPro — base (tokens, Divi normalisation, shared parts)
   ========================================================================== */
:root {
	--dd-night-bg: oklch(14.5% 0.028 264);
	--dd-night-surface: oklch(19.6% 0.038 264);
	--dd-night-raised: oklch(23.2% 0.052 265);
	--dd-night-fg: oklch(98.3% 0.003 248);
	--dd-night-muted: oklch(71.2% 0.037 257);
	--dd-night-border: oklch(99% 0.01 250 / 0.1);
	--dd-night-input-border: oklch(99% 0.01 250 / 0.2);
	--dd-day-bg: oklch(98.5% 0.004 250);
	--dd-day-surface: #ffffff;
	--dd-day-raised: oklch(96.5% 0.008 255);
	--dd-day-fg: oklch(20% 0.03 264);
	--dd-day-muted: oklch(45% 0.03 260);
	--dd-day-border: oklch(20% 0.03 264 / 0.12);
	--dd-day-input-border: oklch(20% 0.03 264 / 0.28);
	--dd-cyan: oklch(82.8% 0.144 214);
	--dd-cyan-ink: oklch(52% 0.13 225);
	--dd-blue: oklch(61.7% 0.208 264);
	--dd-blue-strong: oklch(52% 0.2 264);
	--dd-violet: oklch(56.4% 0.263 300);
	--dd-green: oklch(72.6% 0.192 149);
	--dd-ink: #061827;
	--dd-gradient: linear-gradient(100deg, oklch(82.8% 0.144 214) 0%, oklch(61.7% 0.208 264) 52%, oklch(56.4% 0.263 300) 100%);
	--dd-font-display: "Space Grotesk", system-ui, sans-serif;
	--dd-font-body: "DM Sans", system-ui, sans-serif;
	--dd-r-card: 26px;
	--dd-r-tile: 22px;
	--dd-r-control: 16px;
	--dd-r-pill: 9999px;
	--dd-max: 1240px;
}

/* ---- Global type ---- */
body, body #page-container, .et_pb_module, .et_pb_text, input, select, textarea, button { font-family: var(--dd-font-body); }
body { background: var(--dd-day-bg); color: var(--dd-day-fg); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, .dd-display { font-family: var(--dd-font-display) !important; font-weight: 600 !important; letter-spacing: -0.02em; line-height: 1.1; padding-bottom: 0; color: inherit; }
.dd-text h1 { font-size: clamp(34px, 4.2vw, 52px); margin: 0 0 14px; }
.dd-text h2 { font-size: clamp(26px, 2.6vw, 34px); margin: 0 0 12px; }
.dd-text h3 { font-size: 20px; margin: 0 0 8px; line-height: 1.25; }
.dd-text p { margin: 0 0 12px; padding: 0; }
.dd-text p:last-child { margin-bottom: 0; }
.dd-text ul { padding-left: 1.2em; margin: 0 0 12px; }
.dd-text li { margin: 0 0 6px; }
.dd-eyebrow { font-size: 11px !important; line-height: 16px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--dd-cyan); margin-bottom: 10px !important; }
.dd-day .dd-eyebrow { color: var(--dd-cyan-ink); }
.dd-lead { font-size: 18px; line-height: 28px; }
.dd-muted, .dd-night .dd-muted { color: var(--dd-night-muted); }
.dd-day .dd-muted { color: var(--dd-day-muted); }
.dd-small { font-size: 13px; line-height: 19px; }

/* ---- Divi normalisation: sections / rows / columns ---- */
.dd-sec.et_pb_section { padding: 64px 0 !important; background-color: transparent; }
.dd-sec.dd-tight.et_pb_section { padding: 32px 0 !important; }
.dd-sec.dd-flush.et_pb_section { padding: 0 !important; }
.dd-sec .dd-row.et_pb_row { width: calc(100% - 48px) !important; max-width: var(--dd-max) !important; padding: 0 !important; margin: 0 auto 24px; }
.dd-sec .dd-row.et_pb_row:last-child { margin-bottom: 0; }
.dd-sec .dd-row.dd-narrow.et_pb_row { max-width: 820px !important; }
.dd-sec .dd-row.dd-mid.et_pb_row { max-width: 1040px !important; }
.dd-sec .et_pb_column { margin-bottom: 0; }
.dd-sec .et_pb_module { margin-bottom: 16px; }
.dd-sec .et_pb_module:last-child { margin-bottom: 0; }
.dd-row.dd-center .et_pb_column { display: flex; flex-direction: column; justify-content: center; }
@media (min-width: 981px) {
	.dd-sec .et_pb_gutters3 .et_pb_column, .dd-sec .dd-row .et_pb_column { margin-right: 24px; }
	.dd-sec .dd-row .et_pb_column_4_4 { margin-right: 0; }
	.dd-sec .dd-row .et-last-child { margin-right: 0 !important; }
	.dd-sec .dd-row .et_pb_column_1_2 { width: calc((100% - 24px) / 2); }
	.dd-sec .dd-row .et_pb_column_1_3 { width: calc((100% - 48px) / 3); }
	.dd-sec .dd-row .et_pb_column_2_3 { width: calc((100% - 24px) * 2 / 3); }
	.dd-sec .dd-row .et_pb_column_1_4 { width: calc((100% - 72px) / 4); }
	.dd-sec .dd-row .et_pb_column_3_4 { width: calc((100% - 24px) * 3 / 4); }
	.dd-sec .dd-row .et_pb_column_3_5 { width: calc((100% - 24px) * 3 / 5); }
	.dd-sec .dd-row .et_pb_column_2_5 { width: calc((100% - 24px) * 2 / 5); }
}
@media (max-width: 980px) {
	.dd-sec.et_pb_section { padding: 44px 0 !important; }
	.dd-sec .dd-row .et_pb_column { margin-bottom: 16px !important; }
	.dd-sec .dd-row .et_pb_column:last-child { margin-bottom: 0 !important; }
}

/* ---- Surfaces ---- */
.dd-night, .dd-night.et_pb_section { background-color: var(--dd-night-bg) !important; color: var(--dd-night-fg); }
.dd-night .dd-text, .dd-night h1, .dd-night h2, .dd-night h3 { color: var(--dd-night-fg); }
.dd-night .dd-text p, .dd-night .dd-text li { color: oklch(90% 0.01 250); }
.dd-day, .dd-day.et_pb_section { background-color: var(--dd-day-bg) !important; color: var(--dd-day-fg); }
.dd-day .dd-text, .dd-day h1, .dd-day h2, .dd-day h3 { color: var(--dd-day-fg); }
.dd-white.et_pb_section { background-color: #fff !important; }
.dd-night a:not(.et_pb_button) { color: var(--dd-cyan); }
.dd-day a:not(.et_pb_button) { color: var(--dd-cyan-ink); }

/* Cards: put dd-card on a column (padding is applied) or a module */
.dd-card { border-radius: var(--dd-r-card); padding: 24px !important; }
.dd-night .dd-card { background: var(--dd-night-surface); border: 1px solid var(--dd-night-border); }
.dd-day .dd-card, .dd-white .dd-card { background: var(--dd-day-surface); border: 1px solid var(--dd-day-border); }
.dd-card.dd-card-dark { background: var(--dd-night-bg) !important; color: var(--dd-night-fg); border: 0 !important; }
.dd-card.dd-card-dark h2, .dd-card.dd-card-dark h3, .dd-card.dd-card-dark p { color: var(--dd-night-fg); }
.dd-card.dd-card-dark .dd-muted { color: var(--dd-night-muted); }
.dd-tile { border-radius: var(--dd-r-tile); padding: 18px !important; }
.dd-night .dd-tile { background: var(--dd-night-surface); border: 1px solid var(--dd-night-border); }
.dd-day .dd-tile, .dd-white .dd-tile { background: #fff; border: 1px solid var(--dd-day-border); }

/* Gradient hairline on top edge */
.dd-glow { position: relative; overflow: hidden; }
.dd-glow::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--dd-gradient); z-index: 2; }

/* ---- Buttons (Divi Button module) ---- */
.dd-btn.et_pb_button_module_wrapper, .et_pb_button_module_wrapper:has(> .dd-btn) { margin-bottom: 0 !important; display: inline-block; margin-right: 10px; }
.et_pb_button.dd-btn { display: inline-flex !important; align-items: center; min-height: 48px; padding: 0 24px !important; border-radius: var(--dd-r-control) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: 0 !important; border: 1px solid transparent !important; transition: background-color .15s, color .15s, border-color .15s; }
.et_pb_button.dd-btn:hover { padding: 0 24px !important; }
.et_pb_button.dd-btn::after, .et_pb_button.dd-btn::before { display: none !important; }
.et_pb_button.dd-btn-primary { background: var(--dd-cyan) !important; color: var(--dd-ink) !important; }
.et_pb_button.dd-btn-primary:hover { background: oklch(88% 0.12 214) !important; }
.et_pb_button.dd-btn-commerce { background: var(--dd-blue-strong) !important; color: #fff !important; }
.et_pb_button.dd-btn-commerce:hover { background: oklch(46% 0.2 264) !important; }
.et_pb_button.dd-btn-ghost { background: transparent !important; color: inherit !important; border-color: var(--dd-night-input-border) !important; }
.dd-day .et_pb_button.dd-btn-ghost, .dd-white .et_pb_button.dd-btn-ghost { border-color: var(--dd-day-input-border) !important; color: var(--dd-day-fg) !important; }
.et_pb_button.dd-btn-dark { background: var(--dd-night-bg) !important; color: var(--dd-night-fg) !important; }
.et_pb_button.dd-btn-gradient { background: linear-gradient(100deg, var(--dd-cyan), var(--dd-blue)) !important; color: #fff !important; }
.dd-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.dd-btns .et_pb_button_module_wrapper { margin: 0 !important; }

/* ---- Images ---- */
.dd-img img, .dd-img .et_pb_image_wrap { border-radius: var(--dd-r-card); display: block; width: 100%; }
.dd-img.dd-cover img { object-fit: cover; height: 100%; }
.dd-img.dd-h240 img { height: 240px; object-fit: cover; }
.dd-img.dd-h280 img { height: 280px; object-fit: cover; }
.dd-img.dd-h380 img { height: 380px; object-fit: cover; }
.dd-img.dd-tile-img img { border-radius: var(--dd-r-tile); }

/* ---- Pills / chips / badges (inside Text modules) ---- */
.dd-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: var(--dd-r-pill); font-size: 13px; font-weight: 600; }
.dd-night .dd-pill { background: oklch(99% 0.01 250 / 0.08); color: var(--dd-night-fg); }
.dd-day .dd-pill { background: oklch(94% 0.012 258); color: var(--dd-day-fg); }
.dd-pill.dd-pill-green { background: oklch(72.6% 0.192 149 / 0.16) !important; color: oklch(48% 0.14 149) !important; }
.dd-night .dd-pill.dd-pill-green { color: oklch(80% 0.17 149) !important; }

/* ---- Lists with check marks ---- */
.dd-checks ul { list-style: none; padding: 0; }
.dd-checks li { position: relative; padding-left: 32px; margin-bottom: 12px; }
.dd-checks li::before { content: "✓"; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 9999px; background: oklch(82.8% 0.144 214 / 0.16); color: var(--dd-cyan); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.dd-day .dd-checks li::before { color: var(--dd-cyan-ink); }

/* ---- Toggles (FAQ) ---- */
.et_pb_toggle.dd-faq { border-radius: var(--dd-r-tile); border: 1px solid var(--dd-day-border) !important; background: #fff !important; padding: 18px 20px !important; margin-bottom: 10px !important; }
.dd-night .et_pb_toggle.dd-faq { background: var(--dd-night-surface) !important; border-color: var(--dd-night-border) !important; }
.et_pb_toggle.dd-faq .et_pb_toggle_title { font-family: var(--dd-font-body) !important; font-size: 16px !important; font-weight: 600 !important; color: inherit !important; padding-right: 36px; }
.et_pb_toggle.dd-faq .et_pb_toggle_title::before { color: var(--dd-cyan-ink) !important; }
.et_pb_toggle.dd-faq .et_pb_toggle_content { padding-top: 10px; font-size: 15px; line-height: 24px; }

/* ---- Blurbs ---- */
.dd-blurb .et_pb_module_header { font-family: var(--dd-font-display) !important; font-size: 19px !important; font-weight: 600; padding-bottom: 6px; }
.dd-blurb .et_pb_blurb_description { font-size: 15px; line-height: 23px; }
.dd-blurb.dd-card .et_pb_blurb_content { max-width: none; }

/* ---- Video ---- */
.dd-video { border-radius: var(--dd-r-tile); overflow: hidden; }

/* ---- Forms (Gravity Forms + WooCommerce fields) ---- */
.gform_wrapper input[type=text], .gform_wrapper input[type=email], .gform_wrapper input[type=tel], .gform_wrapper select, .gform_wrapper textarea,
.woocommerce form .input-text, .woocommerce form select, .woocommerce-page form .input-text {
	min-height: 48px; border-radius: 14px !important; border: 1px solid var(--dd-day-input-border) !important; padding: 10px 14px !important; background: #fff !important; font: inherit !important; color: var(--dd-day-fg) !important; box-shadow: none !important;
}
.gform_wrapper textarea, .woocommerce form textarea.input-text { min-height: 120px; }
.gform_wrapper .gfield_label, .woocommerce form label { font-weight: 500 !important; font-size: 14px !important; color: inherit; }
.gform_wrapper .gform_button, .gform_wrapper input[type=submit] { min-height: 48px; padding: 0 26px !important; border-radius: var(--dd-r-control) !important; border: 0 !important; background: var(--dd-blue-strong) !important; color: #fff !important; font-weight: 600 !important; font-size: 15px !important; cursor: pointer; }

/* ---- Focus + motion ---- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .et_pb_button:focus-visible { outline: 2px solid var(--dd-blue) !important; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* Divi default page chrome off on builder pages (Theme Builder supplies header/footer) */
.et_pb_pagebuilder_layout #main-content { background: transparent; }
#main-content .container::before { display: none; }

/* ---- 10-home.css ---- */
/* ==========================================================================
   Homepage (Main.dc.html) — page prefix dd-home-
   ========================================================================== */

/* ---- Section rhythm: 88px between blocks, no bottom pad until the last ---- */
.dd-sec.dd-home-sec.et_pb_section { padding: 88px 0 0 !important; }
.dd-sec.dd-home-sec.dd-home-last.et_pb_section { padding: 88px 0 !important; }
.dd-sec.dd-home-trust-sec.et_pb_section { padding-top: 40px !important; }
.dd-home-sec .dd-text h2 { font-size: 30px; line-height: 36px; margin-bottom: 0; }
.dd-home-sec .dd-text h2 + p { margin-top: 10px; }
.dd-home-sec .dd-text h3 { font-size: 18px; }
.dd-home-intro p { max-width: 680px; }
.dd-home-label { font-size: 14px; font-weight: 600; color: oklch(94% 0.01 250) !important; }
.dd-home-sec .dd-row.et_pb_row:has(.dd-home-label) { margin-top: -4px; margin-bottom: 10px; }
.dd-home-strong-link { font-size: 14px; font-weight: 600; }

/* Heading + "more" link row */
.dd-home-morelink { text-align: right; font-size: 14px; }
@media (min-width: 981px) {
	.dd-home-headrow.et_pb_row { display: flex; align-items: flex-end; }
	.dd-home-headrow .et_pb_column_2_3 .dd-text { max-width: 640px; }
}
@media (max-width: 980px) { .dd-home-morelink { text-align: left; } }

/* Equal-height card rows (desktop) */
@media (min-width: 981px) {
	.dd-home-sec .dd-row.et_pb_row:has(> .dd-card) { display: flex; align-items: stretch; }
}

/* ---- Hero ---- */
.dd-sec.dd-home-hero.et_pb_section { padding: 72px 0 56px !important; border-bottom: 1px solid var(--dd-night-border); }
.dd-home-hero-copy h1 { font-size: clamp(36px, 5vw, 56px) !important; line-height: 1.04; margin: 0 0 20px; }
.dd-home-hero-copy .dd-eyebrow { margin-bottom: 20px !important; }
.dd-home-hero-copy .dd-lead { max-width: 520px; }
.dd-home-hero-text .dd-home-hero-copy { margin-bottom: 28px !important; }
.dd-home-hero-fig { position: relative; }
.dd-home-hero-img.et_pb_image { margin-bottom: 0 !important; position: relative; border-radius: var(--dd-r-card); overflow: hidden; border: 1px solid var(--dd-night-border); box-shadow: 0 30px 80px -50px oklch(0% 0 0 / 0.8); }
.dd-home-hero-img img { height: 400px; object-fit: cover; border-radius: 0 !important; }
.dd-home-hero-img::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--dd-gradient); }
.dd-home-hero-cap.et_pb_text { position: absolute; left: 16px; bottom: 14px; margin: 0 !important; z-index: 2; }
.dd-home-hero-cap p { font-size: 12px; line-height: 1.2; font-weight: 600; padding: 6px 10px; border-radius: var(--dd-r-pill); background: oklch(14.5% 0.028 264 / 0.8); color: var(--dd-night-fg) !important; }
@media (max-width: 980px) {
	.dd-sec.dd-home-hero.et_pb_section { padding: 32px 0 44px !important; }
	.dd-home-hero-img img { height: 220px; }
}

/* ---- Kit builder wrapper (plugin [dd_order_flow] restyled separately) ---- */
.dd-sec.dd-home-finder.et_pb_section { padding: 0 !important; background: transparent !important; position: relative; z-index: 3; }
.dd-home-finder .dd-row.et_pb_row { margin-top: -24px; }
.dd-home-finder-card.dd-card { padding: 28px !important; box-shadow: 0 30px 80px -50px oklch(0% 0 0 / 0.8); }
.dd-home-finder-head { margin-bottom: 20px !important; }
.dd-home-finder-head .dd-eyebrow { margin-bottom: 6px !important; }
.dd-home-finder-foot { margin-top: 20px; }
@media (max-width: 980px) {
	.dd-home-finder .dd-row.et_pb_row { width: calc(100% - 24px) !important; }
	.dd-home-finder-card.dd-card { padding: 18px !important; border-radius: var(--dd-r-tile); }
	.dd-home-finder-head h2 { font-size: 22px !important; line-height: 28px !important; }
}

/* ---- Trust strip (icons via CSS mask, no SVG in content) ---- */
.dd-home-trust p { position: relative; padding-left: 34px; font-size: 14px; line-height: 20px; }
.dd-home-trust strong { display: block; color: var(--dd-night-fg); }
.dd-home-trust p::before { content: ""; position: absolute; left: 0; top: 0; width: 22px; height: 22px; background: var(--dd-cyan); -webkit-mask: var(--dd-home-ico) center / contain no-repeat; mask: var(--dd-home-ico) center / contain no-repeat; }
.dd-home-ico-pin { --dd-home-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.dd-home-ico-check { --dd-home-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E"); }
.dd-home-ico-sample { --dd-home-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Crect x='5' y='5' width='14' height='14' rx='3'/%3E%3Cpath d='M9 12h6'/%3E%3C/svg%3E"); }
.dd-home-ico-color { --dd-home-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Ccircle cx='8' cy='12' r='4'/%3E%3Ccircle cx='16' cy='12' r='4'/%3E%3C/svg%3E"); }

/* ---- Photo mosaics (Made in Maryland, customer installs): 12px gaps ---- */
.dd-home-mosaic .et_pb_image { margin-bottom: 12px !important; }
.dd-home-mosaic .et_pb_image:last-child { margin-bottom: 0 !important; }
.dd-home-mosaic img { object-fit: cover; width: 100%; }
.dd-home-mosaic-220 .dd-home-m1 img { height: 220px; }
.dd-home-mosaic-220 .dd-home-m2 img { height: 452px; }
.dd-home-mosaic-240 .dd-home-g1 img { height: 240px; }
.dd-home-mosaic-240 .dd-home-g2 img { height: 492px; }
.dd-home-sec .dd-home-mosaic.et_pb_row { margin-bottom: 12px; }
@media (min-width: 981px) {
	.dd-sec .dd-home-mosaic .et_pb_column { margin-right: 12px !important; }
	.dd-sec .dd-home-mosaic .et_pb_column.et-last-child { margin-right: 0 !important; }
	.dd-sec .dd-home-mosaic .et_pb_column_1_2 { width: calc((100% - 12px) / 2); }
	.dd-sec .dd-home-mosaic .et_pb_column_1_4 { width: calc((100% - 36px) / 4); }
}

/* Close-ups: five squares */
.dd-home-sq img { aspect-ratio: 1 / 1; height: auto; object-fit: cover; border-radius: 18px !important; }
@media (min-width: 981px) {
	.dd-sec .dd-home-closeups .et_pb_column_1_5 { width: calc((100% - 48px) / 5); margin-right: 12px; }
	.dd-sec .dd-home-closeups .et_pb_column_1_5.et-last-child { margin-right: 0; }
}

/* ---- Brand cards ---- */
@media (min-width: 981px) {
	.dd-sec .dd-home-brands .et_pb_column_1_6 { width: calc((100% - 80px) / 6); margin-right: 16px; }
	.dd-sec .dd-home-brands .et_pb_column_1_6.et-last-child { margin-right: 0; }
}
.dd-home-brand h3 { font-size: 20px !important; margin-bottom: 6px; }
.dd-home-brand p { margin-bottom: 0; }
.dd-home-count { font-size: 13px; color: var(--dd-cyan) !important; margin-top: 8px !important; }
.dd-home-brands .dd-card { padding: 20px !important; }

/* Whole-card links (brand cards, guides) */
.dd-home-cardlink { position: relative; transition: border-color .15s; }
.dd-home-cardlink .et_pb_module { position: static !important; }
.dd-home-cardlink h3 a { color: var(--dd-night-fg) !important; text-decoration: none; }
.dd-home-cardlink h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.dd-home-cardlink:hover { border-color: oklch(82.8% 0.144 214 / 0.5) !important; }

/* ---- Mount style cards ---- */
.dd-home-mountcard.dd-card { padding: 16px !important; }
.dd-home-mount p { font-size: 14px; line-height: 21px; }

/* ---- Video comparison ---- */
.dd-home-vids .et_pb_video { margin-bottom: 10px !important; border-radius: var(--dd-r-tile); background: #000; }
.dd-home-vids .et_pb_video_box video, .dd-home-vids .et_pb_video_overlay { width: 100% !important; object-fit: cover; border-radius: var(--dd-r-tile); }
.dd-home-vids-lg .et_pb_video_box video { height: 560px !important; }
.dd-home-vids-sm .et_pb_video_box video { height: 400px !important; }
.dd-home-vcap strong { display: block; font-family: var(--dd-font-display); font-size: 18px; color: var(--dd-night-fg); }
.dd-home-vcap span { display: block; font-size: 14px; }
@media (min-width: 981px) {
	.dd-sec .dd-home-vids-lg .et_pb_column_1_2 { width: calc((100% - 20px) / 2); margin-right: 20px; }
	.dd-sec .dd-home-vids-sm .et_pb_column_1_2 { width: calc((100% - 48px) / 4); margin-right: 16px; }
	.dd-sec .dd-home-vids .et_pb_column_1_2.et-last-child { margin-right: 0; }
}
@media (max-width: 980px) {
	.dd-home-vids-lg .et_pb_video_box video { height: 460px !important; }
}

/* ---- Reviews ---- */
.dd-home-reviewcard.dd-card { padding: 22px !important; }
.dd-home-stars { color: oklch(80% 0.155 82) !important; font-size: 15px; letter-spacing: 2px; }
.dd-home-review blockquote { margin: 0 0 12px; padding: 0; border: 0; font-family: var(--dd-font-display); font-size: 19px; line-height: 1.35; color: var(--dd-night-fg); }

/* ---- Installers band ---- */
.dd-home-band.dd-card { padding: 32px !important; }
.dd-home-band .dd-text p { max-width: 560px; }
.dd-home-band .dd-text { margin-bottom: 20px !important; }

/* ---- Guides ---- */
.dd-home-kicker { font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--dd-cyan) !important; margin-bottom: 8px !important; }
.dd-home-guide h3 { line-height: 1.35 !important; }

/* ---- Custom request + partner offer ---- */
.dd-night .dd-home-outline.dd-card { background: transparent; }
.dd-home-outline.dd-card, .dd-home-partner.dd-card { padding: 32px !important; }
.dd-home-outline h3, .dd-home-partner h3 { font-size: 22px !important; }
.dd-home-eyebrow-muted { color: var(--dd-night-muted) !important; }
.dd-home-linkbtn { display: inline-flex; align-items: center; min-height: 40px; padding: 0 20px; border-radius: var(--dd-r-control); border: 1px solid var(--dd-night-input-border); color: var(--dd-night-fg) !important; font-size: 14px; text-decoration: none; }
.dd-home-linkbtn:hover { border-color: var(--dd-cyan); }
.dd-home-fine { font-size: 12px; line-height: 17px; }

/* ---- Closing CTA ---- */
.dd-home-cta.dd-card { padding: 48px 32px !important; text-align: center; }
.dd-home-cta-h h2 { font-size: 34px !important; line-height: 1.1 !important; max-width: 640px; margin: 0 auto; }
.dd-home-cta .et_pb_button_module_wrapper { margin-right: 0 !important; }

/* ---- Phones: 2-up grids, tighter rhythm ---- */
@media (max-width: 980px) {
	.dd-sec.dd-home-sec.et_pb_section { padding-top: 48px !important; }
	.dd-sec.dd-home-sec.dd-home-last.et_pb_section { padding: 48px 0 !important; }
	.dd-sec.dd-home-trust-sec.et_pb_section { padding-top: 40px !important; }
	.dd-home-sec .dd-text h2 { font-size: 24px; line-height: 30px; }
	.dd-home-cta-h h2 { font-size: 26px !important; }
	.dd-home-band.dd-card, .dd-home-outline.dd-card, .dd-home-partner.dd-card, .dd-home-cta.dd-card { padding: 22px !important; }

	/* trust strip + brand cards + mount cards: two columns */
	.dd-sec .dd-home-2up.et_pb_row, .dd-sec .dd-home-closeups.et_pb_row, .dd-sec .dd-home-mosaic.et_pb_row { display: flex; flex-wrap: wrap; gap: 12px; }
	.dd-sec .dd-home-2up .et_pb_column { width: calc(50% - 6px) !important; margin: 0 !important; }
	.dd-home-trust p { padding-left: 0; padding-top: 28px; font-size: 13px; line-height: 18px; }
	.dd-home-brands .dd-card { padding: 16px !important; border-radius: 20px; }
	.dd-home-brand h3 { font-size: 17px !important; }

	/* mosaics: lead photo full width, the rest in pairs */
	.dd-sec .dd-home-mosaic .et_pb_column { width: calc(50% - 6px) !important; margin: 0 !important; }
	.dd-sec .dd-home-mosaic .dd-home-mosaic-big { width: 100% !important; }
	.dd-home-mosaic-220 .dd-home-m2 img, .dd-home-mosaic-240 .dd-home-g2 img { height: 240px; }
	.dd-home-mosaic-220 .dd-home-m1 img, .dd-home-mosaic-240 .dd-home-g1 img { height: 150px; }
	.dd-home-mosaic-tight .dd-home-mosaic-big .dd-home-g1 img { height: 200px; }

	/* close-ups: three across */
	.dd-sec .dd-home-closeups .et_pb_column { width: calc((100% - 24px) / 3) !important; margin: 0 !important; }
	.dd-home-sq img { border-radius: 14px !important; }
}

/* ---- 15-ddof.css ---- */
/* ---- Deliciosa Order Flow (kit builder) restyle: tokens only, plugin untouched ---- */
.ddof {
	--ddof-bg: var(--dd-night-bg);
	--ddof-card: var(--dd-night-surface);
	--ddof-ink: var(--dd-night-fg);
	--ddof-muted: var(--dd-night-muted);
	--ddof-line: oklch(99% 0.01 250 / 0.12);
	--ddof-accent: var(--dd-cyan);
	--ddof-radius: 22px;
	--ddof-shadow: none;
	font-family: var(--dd-font-body) !important;
	background: transparent !important;
	color: var(--dd-night-fg);
}
.ddof h2, .ddof h3, .ddof .ddof-wordmark, .ddof .ddof-card__label, .ddof .ddof-summary__total, .ddof .ddof-totals__row--total {
	font-family: var(--dd-font-display) !important; font-weight: 600 !important; letter-spacing: -0.02em; text-transform: none !important;
}
.dd-home-finder .ddof-header { display: none; } /* the section's own heading replaces it */
.ddof h3 { font-size: 22px !important; margin: 0 0 14px !important; color: var(--dd-night-fg) !important; }
.ddof-progress__step, .ddof-progress__label { font-size: 12px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--dd-night-muted) !important; }
.ddof-progress__seg { background: oklch(99% 0.01 250 / 0.12) !important; border-radius: 9999px !important; }
.ddof-progress__seg.is-current, .ddof-progress__seg.is-done { background: var(--dd-gradient) !important; }
.ddof-card { background: var(--dd-night-surface) !important; border: 1px solid oklch(99% 0.01 250 / 0.12) !important; border-radius: 18px !important; color: var(--dd-night-fg) !important; transition: border-color .15s, transform .15s; }
.ddof-card:hover, .ddof-card.is-selected, .ddof-card[aria-pressed="true"] { border-color: var(--dd-cyan) !important; transform: translateY(-1px); }
.ddof-card__logo { background: #fff !important; border-radius: 12px !important; }
.ddof-card__hint, .ddof-help, .ddof-note, .ddof-qty__hint { color: var(--dd-night-muted) !important; }
.ddof-btn, .ddof-sample-btn { border-radius: 16px !important; min-height: 48px; font-family: var(--dd-font-body) !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; }
.ddof-btn--primary { background: var(--dd-cyan) !important; color: var(--dd-ink) !important; border: 0 !important; }
.ddof-btn--ghost { background: transparent !important; color: var(--dd-night-fg) !important; border: 1px solid oklch(99% 0.01 250 / 0.2) !important; }
.ddof-summary { background: var(--dd-night-surface) !important; border: 1px solid oklch(99% 0.01 250 / 0.12) !important; border-radius: 22px !important; box-shadow: none !important; }
.ddof-totals__row--discount, .ddof-summary__line--discount { color: var(--dd-green) !important; }
.ddof-shipping-banner { background: oklch(99% 0.01 250 / 0.06) !important; border: 1px solid oklch(99% 0.01 250 / 0.1) !important; border-radius: 14px !important; color: var(--dd-night-fg) !important; }
.ddof-qty__input, .ddof select, .ddof input[type=number] { background: var(--dd-night-bg) !important; color: var(--dd-night-fg) !important; border: 1px solid oklch(99% 0.01 250 / 0.2) !important; border-radius: 12px !important; }
.ddof-swatch { border-radius: 14px !important; }
.ddof-custom-link { color: var(--dd-cyan) !important; }

/* ---- 20-about.css ---- */
/* ---- About (/about-us/) ---- */
.dd-about-hero.et_pb_section { padding-bottom: 40px !important; }
.dd-about-hero h1 { font-size: clamp(34px, 4vw, 48px); line-height: 1.04; }

.dd-about-stat .dd-about-num { font-family: var(--dd-font-display); font-size: 34px; font-weight: 600; line-height: 1.15; color: var(--dd-night-fg); margin-bottom: 4px; }
.dd-about-stat .dd-muted { font-size: 14px; }
.dd-sec .dd-about-stat.dd-tile { padding: 22px !important; }

.dd-about-story p { font-size: 18px; line-height: 30px; margin-bottom: 18px; }
.dd-about-story h2 { font-size: 30px; margin-bottom: 18px; }
.dd-about-story .dd-about-sign { font-size: 16px; }

/* Two-photo collage */
.dd-about-collage { position: relative; padding-bottom: 150px !important; }
.dd-about-collage .dd-about-collage-main { width: 88%; margin-bottom: 0 !important; }
.dd-about-collage .dd-about-collage-main img { aspect-ratio: 4 / 3; object-fit: cover; }
.dd-about-collage .dd-about-collage-inset { position: absolute !important; right: 0; bottom: 30px; width: 58%; margin: 0 !important; z-index: 2; }
.dd-about-collage .dd-about-collage-inset img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--dd-r-tile); border: 6px solid var(--dd-night-bg); box-sizing: border-box; }
.dd-about-collage .dd-about-collage-cap { position: absolute !important; right: 0; bottom: 0; width: 58%; margin: 0 !important; }

/* Founder card */
.dd-sec .dd-row.dd-about-founder.et_pb_row, .dd-sec .dd-row.dd-about-cta.et_pb_row { padding: 32px !important; }
.dd-about-founder-img img { width: 220px; height: 220px; object-fit: cover; border-radius: var(--dd-r-tile); }
.dd-about-founder h2 { font-size: 30px; margin-bottom: 10px; }
.dd-about-founder .dd-about-founder-lead { font-size: 17px; line-height: 27px; }
.dd-about-founder .dd-about-founder-note { font-size: 15px; line-height: 24px; }

/* Map */
.dd-about-map { background: #0b1020; border-radius: var(--dd-r-card); padding: 24px !important; }
.dd-about-map .dd-about-map-code { margin-bottom: 12px !important; }

/* CTA */
.dd-sec .dd-row.dd-about-cta.et_pb_row { padding: 40px 32px !important; }
.dd-about-cta h2 { font-size: 28px; max-width: 560px; margin: 0; }
.dd-about-cta-btns { justify-content: flex-end; }
.dd-about-last.et_pb_section { padding-bottom: 88px !important; }

@media (max-width: 980px) {
	.dd-about-cta-btns { justify-content: flex-start; }
	.dd-sec .dd-row.dd-about-founder.et_pb_row, .dd-sec .dd-row.dd-about-cta.et_pb_row { padding: 24px !important; }
	.dd-about-founder-img img { width: 160px; height: 160px; }
}
@media (max-width: 479px) {
	.dd-about-collage { padding-bottom: 110px !important; }
	.dd-about-collage .dd-about-collage-main { width: 92%; }
	.dd-about-collage .dd-about-collage-inset { width: 64%; bottom: 26px; }
	.dd-about-collage .dd-about-collage-cap { width: 64%; }
	.dd-about-story p { font-size: 17px; line-height: 28px; }
}

/* ---- 21-installers.css ---- */
/* ---- For installers (/for-installers/) ---- */
.dd-inst-hero.et_pb_section { padding: 48px 0 !important; }
.dd-inst-hero h1 { font-size: clamp(32px, 3.8vw, 44px); line-height: 1.06; }
.dd-inst-lead { font-size: 17px; line-height: 26px; max-width: 560px; }
.dd-btns > .dd-text { flex: 0 0 100%; margin-bottom: 4px !important; }
.et_pb_button.dd-btn-ghost.dd-inst-btn-cyan { border-color: oklch(82.8% 0.144 214 / 0.5) !important; color: var(--dd-cyan) !important; }

.dd-inst-main.et_pb_section { padding: 48px 0 96px !important; }
.dd-sec.dd-inst-main .dd-row.et_pb_row { margin-bottom: 48px; }
.dd-sec.dd-inst-main .dd-row.et_pb_row:last-child { margin-bottom: 0; }
.dd-sec .dd-inst-tile.dd-tile { padding: 22px !important; }
.dd-inst-tile h3 { font-size: 19px; margin-bottom: 6px; }
.dd-inst-tile p { font-size: 15px; line-height: 22px; }

/* Dark cards inside the light page */
.dd-sec .dd-row.dd-inst-dark.et_pb_row { padding: 40px !important; border-radius: var(--dd-r-card); }
.dd-sec .dd-row.dd-inst-cta.et_pb_row { padding: 32px !important; }
.dd-day .dd-inst-dark .dd-text, .dd-day .dd-inst-dark h2, .dd-day .dd-inst-dark h3, .dd-day .dd-inst-dark p, .dd-day .dd-inst-dark li { color: var(--dd-night-fg); }
.dd-day .dd-inst-dark .dd-muted { color: var(--dd-night-muted); }
.dd-day .dd-inst-dark .dd-eyebrow { color: var(--dd-cyan); }
.dd-day .dd-inst-dark a:not(.et_pb_button) { color: var(--dd-cyan); }
.dd-day .dd-inst-dark .dd-checks li::before { color: var(--dd-cyan); }
.dd-day .dd-inst-dark .et_pb_button.dd-btn-ghost { border-color: var(--dd-night-input-border) !important; color: var(--dd-night-fg) !important; }
.dd-day .dd-inst-dark .dd-pill.dd-pill-green { color: oklch(80% 0.17 149) !important; letter-spacing: 0.08em; font-weight: 700; }

.dd-inst-match h2 { font-size: clamp(28px, 3vw, 36px); margin-bottom: 14px; }
.dd-inst-kicker { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 14px !important; }
.dd-inst-kicker .dd-eyebrow { margin: 0 !important; }
.dd-inst-checks li strong { display: block; font-size: 16px; }
.dd-inst-checks li .dd-muted { font-size: 14px; line-height: 21px; }
.dd-inst-checks li { margin-bottom: 14px; }
.et_pb_button.dd-btn.dd-inst-btn-lg { min-height: 52px; }

/* Browser-frame preview */
.dd-inst-browser { border-radius: var(--dd-r-tile); }
.dd-inst-browser .dd-inst-browser-bar { margin: 0 !important; background: var(--dd-night-surface); border: 1px solid oklch(99% 0.01 250 / 0.14); border-bottom: 0; border-radius: var(--dd-r-tile) var(--dd-r-tile) 0 0; padding: 10px 14px; }
.dd-inst-urlbar { font-size: 12px; line-height: 16px; color: var(--dd-night-muted) !important; margin: 0 !important; }
.dd-inst-dots { color: oklch(60% 0.02 260); letter-spacing: 2px; margin-right: 8px; font-size: 10px; }
.dd-inst-browser .dd-inst-browser-img { margin-bottom: 10px !important; box-shadow: 0 24px 60px oklch(0% 0 0 / 0.45); border-radius: 0 0 var(--dd-r-tile) var(--dd-r-tile); }
.dd-inst-browser .dd-inst-browser-img img, .dd-inst-browser .dd-inst-browser-img .et_pb_image_wrap { border-radius: 0 0 var(--dd-r-tile) var(--dd-r-tile); height: 440px; object-fit: cover; object-position: top; border: 1px solid oklch(99% 0.01 250 / 0.14); border-top: 0; }
.dd-inst-browser .dd-inst-browser-img .et_pb_image_wrap { height: auto; }

/* Hardware-by-model table */
.dd-inst-matrix h2 { font-size: 28px; }
.dd-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--dd-r-tile); border: 1px solid var(--dd-day-border); background: #fff; }
.dd-table { width: 100%; min-width: 820px; border-collapse: collapse; margin: 0 !important; border: 0 !important; }
.dd-table th, .dd-table td { padding: 12px 14px !important; font-size: 14px; line-height: 20px; vertical-align: top; text-align: left; border: 0 !important; border-top: 1px solid oklch(20% 0.03 264 / 0.1) !important; color: var(--dd-day-fg); }
.dd-table thead th { background: var(--dd-day-raised); font-size: 13px; font-weight: 600; border-top: 0 !important; }
.dd-table tbody th { font-weight: 600; }
.dd-table .dd-muted { color: var(--dd-day-muted); }

.dd-inst-cta h2 { font-size: 26px; margin-bottom: 6px; }
.dd-inst-cta p { font-size: 15px; }
.dd-inst-cta-btns { justify-content: flex-end; }

@media (max-width: 980px) {
	.dd-sec .dd-row.dd-inst-dark.et_pb_row, .dd-sec .dd-row.dd-inst-cta.et_pb_row { padding: 24px !important; }
	.dd-inst-cta-btns { justify-content: flex-start; }
	.dd-inst-browser .dd-inst-browser-img img { height: 320px; }
}
@media (max-width: 479px) {
	.dd-inst-urlbar { font-size: 11px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
}

/* ---- 22-custom.css ---- */
/* ---- Custom mounts (/custom-mounts/) ---- */
.dd-custom-hero.et_pb_section { padding: 48px 0 !important; }
.dd-custom-hero h1 { font-size: clamp(32px, 3.8vw, 44px); line-height: 1.06; max-width: 760px; }
.dd-custom-lead { font-size: 17px; line-height: 26px; max-width: 620px; }

.dd-custom-body.et_pb_section { padding: 48px 0 96px !important; }
.dd-custom-main.et_pb_row { display: flex; align-items: flex-start; }
.dd-custom-how h2, .dd-custom-formcard h2 { font-size: 26px; margin: 0; }
.dd-sec .dd-custom-how .et_pb_module { margin-bottom: 12px; }
.dd-sec .dd-custom-how .et_pb_module:first-child { margin-bottom: 16px; }

.dd-sec .dd-custom-step.dd-tile { border-radius: 20px; padding: 18px !important; }
.dd-custom-step .et_pb_text_inner { display: flex; gap: 14px; align-items: flex-start; }
.dd-custom-step .dd-custom-num { font-family: var(--dd-font-display); font-weight: 600; font-size: 22px; line-height: 1.1; color: var(--dd-cyan-ink); margin: 0 !important; flex: 0 0 auto; }
.dd-custom-step h3 { font-family: var(--dd-font-body) !important; font-size: 15px; line-height: 22px; font-weight: 700 !important; letter-spacing: 0; margin: 0; }
.dd-custom-step p { font-size: 15px; line-height: 22px; }

.dd-sec .dd-custom-formcard.dd-card { padding: 28px !important; }
.dd-sec .dd-custom-formcard .et_pb_module { margin-bottom: 16px; }
.dd-custom-form .gform_wrapper { margin: 0 !important; }

@media (max-width: 980px) {
	.dd-custom-main.et_pb_row { display: block; }
	.dd-sec .dd-custom-formcard.dd-card { padding: 20px !important; }
}

/* ---- 23-lights.css ---- */
/* ---- Lighting kits / partner links (/lights/) ---- */
.dd-lights.et_pb_section { padding: 48px 0 96px !important; }
.dd-sec.dd-lights .dd-row.et_pb_row { margin-bottom: 40px; }
.dd-sec.dd-lights .dd-row.dd-lights-kits-head.et_pb_row { margin-bottom: 16px; }
.dd-sec.dd-lights .dd-row.et_pb_row:last-child { margin-bottom: 0; }

.dd-lights-head .et_pb_column { max-width: 760px; }
.dd-lights-head h1 { font-size: clamp(32px, 3.8vw, 44px); line-height: 1.06; }
.dd-lights-lead { font-size: 17px; line-height: 26px; }
.dd-lights-note { border-radius: 18px; border: 1px solid oklch(99% 0.01 250 / 0.14); padding: 14px 16px; }
.dd-lights-note p { font-size: 14px; line-height: 21px; color: oklch(94% 0.01 250) !important; }

.dd-sec .dd-row.dd-lights-feature.et_pb_row { padding: 28px !important; }
.dd-lights-feature-img img { object-position: center 22%; border-radius: 20px; }
.dd-lights-feature h2 { font-size: 28px; margin-bottom: 8px; }
.dd-lights-feature .dd-lights-label { font-size: 12px; font-weight: 600; margin-bottom: 8px; }
.dd-lights-feature-copy .dd-muted { font-size: 15px; }
.dd-lights-feature .dd-lights-fine { font-size: 12px; line-height: 18px; }
.dd-btns > .dd-text { flex: 0 0 100%; }

.dd-lights-kits-head h2, .dd-lights h2 { font-size: 26px; }
.dd-lights-kit h3 { font-size: 18px; margin-bottom: 4px; }
.et_pb_button.dd-btn.dd-lights-kit-btn { min-height: 40px; font-size: 14px !important; }

.dd-sec .dd-row.dd-lights-have.et_pb_row { border: 1px solid var(--dd-night-border); border-radius: var(--dd-r-card); padding: 28px !important; }
.dd-lights-have h2 { font-size: 22px; margin-bottom: 6px; }
.dd-lights-have p { font-size: 14px; }
.dd-lights-have-btns { justify-content: flex-end; }

@media (max-width: 980px) {
	.dd-sec .dd-row.dd-lights-feature.et_pb_row, .dd-sec .dd-row.dd-lights-have.et_pb_row { padding: 20px !important; }
	.dd-lights-have-btns { justify-content: flex-start; }
}

/* ---- 24-reviews.css ---- */
/* ---- Reviews (/reviews/) ---- */
.dd-reviews-hero.et_pb_section { padding: 40px 0 !important; }
.dd-reviews-hero h1 { font-size: clamp(32px, 3.8vw, 44px); line-height: 1.06; }
.dd-reviews-lead { font-size: 17px; line-height: 26px; max-width: 640px; }
.dd-reviews-hero-row.et_pb_row { display: flex; align-items: flex-end; }
.dd-reviews-summary-col { display: flex; justify-content: flex-end; }
.dd-reviews-summary { border-radius: var(--dd-r-tile); border: 1px solid oklch(99% 0.01 250 / 0.14); padding: 18px 22px; }
.dd-reviews-score { display: flex; gap: 16px; align-items: center; margin: 0 !important; }
.dd-reviews-big { font-family: var(--dd-font-display); font-size: 40px; font-weight: 600; line-height: 1; color: var(--dd-night-fg); }
.dd-reviews-meta { font-size: 14px; line-height: 21px; }
.dd-reviews-gold { color: oklch(80% 0.155 82); }

.dd-reviews-main.et_pb_section { padding: 32px 0 96px !important; }
.dd-sec.dd-reviews-main .dd-row.dd-reviews-grid.et_pb_row { margin-bottom: 16px; }
.dd-sec .dd-row.dd-reviews-grid .et_pb_column_1_3 { width: calc((100% - 32px) / 3); margin-right: 16px; }
.dd-sec .dd-row.dd-reviews-grid .et_pb_column_1_3.et-last-child { margin-right: 0; }
.dd-reviews-grid.et_pb_row { display: flex; }
.dd-sec .dd-reviews-card.dd-tile { padding: 20px !important; }
.dd-reviews-card .et_pb_text_inner { display: flex; flex-direction: column; height: 100%; }
.dd-reviews-card .dd-text, .dd-reviews-card .et_pb_text { height: 100%; }
.dd-reviews-top { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; margin-bottom: 12px !important; }
.dd-reviews-stars { color: oklch(52% 0.12 70); letter-spacing: 2px; }
.dd-reviews-src { color: oklch(38% 0.12 149); font-weight: 600; text-align: right; }
.dd-reviews-quote { font-size: 17px; line-height: 25px; margin-bottom: 12px !important; }
.dd-reviews-who { font-size: 13px; line-height: 19px; margin-top: auto !important; }

.dd-sec.dd-reviews-main .dd-row.dd-reviews-live-row.et_pb_row { margin-top: 32px; }
.dd-reviews-live-col { display: flex; flex-direction: column; align-items: center; }
.dd-reviews-live-col .dd-reviews-live { width: 100%; margin-bottom: 24px !important; }
.dd-reviews-live-col .et_pb_button_module_wrapper { margin-right: 0 !important; }
.dd-day .et_pb_button.dd-btn-ghost.dd-reviews-etsy { background: #fff !important; }

@media (max-width: 980px) {
	.dd-reviews-hero-row.et_pb_row, .dd-reviews-grid.et_pb_row { display: block; }
	.dd-reviews-summary-col { justify-content: flex-start; }
	.dd-sec .dd-row.dd-reviews-grid .et_pb_column_1_3 { width: 100%; margin-right: 0; }
}

/* ---- 30-faq.css ---- */
/* FAQ (/faq/) — canvas Help.dc.html */
.dd-faq-hero.et_pb_section { padding: 40px 0 !important; }
.dd-faq-hero .dd-row.et_pb_row { margin-bottom: 16px; }
.dd-faq-h1 h1 { font-size: clamp(32px, 4vw, 44px); line-height: 1.06; margin: 0; }
.dd-faq-pills { display: flex !important; flex-wrap: wrap; gap: 8px; }
.dd-faq-pills .et_pb_button_module_wrapper { margin: 0 !important; }
.et_pb_button.dd-btn.dd-faq-pill, .et_pb_button.dd-btn.dd-faq-pill:hover { min-height: 40px; padding: 0 16px !important; border-radius: var(--dd-r-pill) !important; font-size: 14px !important; }
.et_pb_button.dd-faq-pill.dd-btn-ghost { font-weight: 400 !important; color: var(--dd-night-fg) !important; }

.dd-faq-main.et_pb_section { padding: 48px 0 32px !important; }
.dd-faq-main h2 { scroll-margin-top: 120px; margin-bottom: 20px !important; }
.dd-faq-list .dd-faq-group { margin: 32px 0 8px !important; }
.dd-faq-list .dd-faq-group:first-of-type, .dd-faq-list .dd-text + .dd-faq-group { margin-top: 0 !important; }
.dd-faq-list .et_pb_toggle.dd-faq { margin-bottom: 10px !important; }
.dd-faq-list .et_pb_toggle.dd-faq .et_pb_toggle_title { font-size: 17px !important; }
.dd-faq-list .et_pb_toggle.dd-faq p { color: oklch(35% 0.03 260); }
.dd-faq-list + .dd-faq-videos.et_pb_row, .dd-faq-videos.et_pb_row { margin-top: 4px; margin-bottom: 20px; }

/* Mount comparison videos (sit right under the "difference" toggle) */
.dd-sec .dd-faq-videos.dd-row.et_pb_row { max-width: 820px !important; }
.dd-faq-videos .et_pb_column { max-width: 254px; }
.dd-faq-videos .dd-video { border-radius: var(--dd-r-tile); background: #000; margin-bottom: 10px !important; }
.dd-faq-videos .dd-video video, .dd-faq-videos .dd-video .et_pb_video_box { height: 360px; width: 100%; object-fit: cover; display: block; }
.dd-faq-cap h3 { font-size: 18px; margin: 0 0 2px; }
.dd-faq-cap p { font-size: 14px; }

/* Next-step cards */
.dd-faq-next.et_pb_section { padding: 24px 0 96px !important; }
.dd-faq-card.dd-tile { padding: 22px !important; }
.dd-faq-card h3 { font-size: 19px; margin-bottom: 6px; }
.dd-faq-card p { margin-bottom: 6px; }
.dd-faq-more a { font-weight: 600; font-size: 14px; text-decoration: none; }

@media (max-width: 980px) {
	.dd-faq-videos .et_pb_column { max-width: none; }
	.dd-faq-videos .dd-video video, .dd-faq-videos .dd-video .et_pb_video_box { height: 420px; }
}
@media (max-width: 480px) {
	.dd-faq-videos .dd-video video, .dd-faq-videos .dd-video .et_pb_video_box { height: 360px; }
	.dd-faq-next.et_pb_section { padding-bottom: 64px !important; }
}

/* ---- 31-contact.css ---- */
/* Contact (/contact-us/) — canvas Contact.dc.html */
.dd-contact-hero.et_pb_section { padding: 40px 0 !important; }
.dd-contact-hero h1 { font-size: clamp(32px, 4vw, 44px); line-height: 1.06; margin-bottom: 12px; }
.dd-contact-sub { font-size: 17px; line-height: 26px; max-width: 620px; }
.dd-contact-main.et_pb_section { padding: 40px 0 96px !important; }
.dd-contact-row.et_pb_row { display: flex; align-items: flex-start; }
.dd-contact-formcard.dd-card { padding: 28px !important; }
/* Gravity Form 3: two-up name/email/phone fields as in the design */
.dd-contact-form .gform_wrapper .gform_fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dd-contact-form .gform_wrapper .gfield { grid-column: 1 / -1; margin: 0 !important; padding: 0 !important; }
.dd-contact-form .gform_wrapper .gfield--width-half { grid-column: span 1; }
.dd-contact-form .gform_wrapper .gfield_description { font-size: 13px; color: var(--dd-day-muted); }
.dd-contact-form .gform_wrapper input[type=file] { border: 1px dashed oklch(20% 0.03 264 / 0.35); border-radius: 14px; padding: 16px; width: 100%; }
.dd-contact-form .gform_footer { margin-top: 16px !important; padding: 0 !important; }
.dd-contact-side .et_pb_module { margin-bottom: 14px !important; }
.dd-contact-info.dd-card { border-radius: var(--dd-r-tile); padding: 22px !important; font-size: 15px; }
.dd-contact-info h3 { font-size: 20px; margin-bottom: 10px; }
.dd-contact-info p { margin-bottom: 8px; }
.dd-contact-info a { color: var(--dd-cyan) !important; }
.dd-contact-link a { color: var(--dd-day-fg) !important; text-decoration: none; display: block; }
.dd-contact-link a:hover { color: var(--dd-cyan-ink) !important; }
@media (max-width: 980px) {
	.dd-contact-row.et_pb_row { display: block; }
}
@media (max-width: 640px) {
	.dd-contact-formcard.dd-card { padding: 20px !important; }
	.dd-contact-form .gform_wrapper .gform_fields { grid-template-columns: 1fr; }
	.dd-contact-form .gform_wrapper .gfield--width-half { grid-column: 1 / -1; }
}

/* ---- 32-tracking.css ---- */
/* Order tracking (/order-tracking/) — canvas OrderTracking.dc.html */
.dd-track.et_pb_section { padding: 48px 0 96px !important; }
.dd-track .et_pb_module { margin-bottom: 24px !important; }
.dd-track-intro h1 { font-size: clamp(32px, 4vw, 40px); margin-bottom: 24px; }
/* WooCommerce [woocommerce_order_tracking]: intro paragraph is replaced by ours; fields in one row */
.dd-track-form .woocommerce-form-track-order > p:first-child { display: none; }
.dd-track-form .woocommerce-form-track-order { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; align-items: end; }
.dd-track-form .woocommerce-form-track-order .form-row { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.dd-track-form .woocommerce-form-track-order .clear { display: none; }
.dd-track-form .woocommerce-form-track-order button[type=submit] { width: 100%; min-height: 48px; border-radius: var(--dd-r-control); border: 0; background: var(--dd-blue-strong); color: #fff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.dd-track-form .woocommerce-form-track-order button[type=submit]:hover { background: oklch(46% 0.2 264); }
.dd-track-help p { font-size: 14px; }

/* ---- 33-policy.css ---- */
/* Policies (/cancellations-returns/, /shipping-policy/, /privacy-policy-2/, /terms-conditions/) — canvas Policy.dc.html */
.dd-sec .dd-policy-row.dd-row.et_pb_row, .dd-sec.dd-policy-top .dd-row.et_pb_row { max-width: 1100px !important; }
.dd-policy-top.et_pb_section { padding: 40px 0 !important; }
.dd-policy-hero h1 { font-size: clamp(32px, 4vw, 42px); margin: 0 0 10px; }
.dd-policy-crumb { color: var(--dd-night-muted); margin-bottom: 10px !important; }
.dd-policy-eff { font-size: 14px; }
.dd-policy-body.et_pb_section { padding: 40px 0 96px !important; }
@media (min-width: 981px) {
	.dd-sec .dd-policy-row .et_pb_column.dd-policy-side { width: 240px; margin-right: 40px; position: sticky; top: 120px; }
	.dd-sec .dd-policy-row .et_pb_column.dd-policy-article { width: calc(100% - 280px); max-width: 720px; }
	.dd-policy-row.et_pb_row { display: flex; align-items: flex-start; }
}
.dd-policy-nav ul { list-style: none; padding: 0 !important; margin: 0; }
.dd-policy-nav li { margin: 0 0 4px; }
.dd-policy-nav a { display: block; padding: 10px 14px; border-radius: 14px; font-size: 15px; text-decoration: none; color: var(--dd-day-fg) !important; }
.dd-policy-nav a:hover { background: oklch(96.5% 0.008 255); }
.dd-policy-nav a.dd-policy-cur { background: oklch(94% 0.012 258); font-weight: 600; }
.dd-policy-help.dd-tile { border-radius: 18px; padding: 16px !important; font-size: 14px; line-height: 21px; }
.dd-policy-article .dd-policy-sec { margin-bottom: 28px !important; }
.dd-policy-sec h2 { font-size: 22px; letter-spacing: -0.01em; margin-bottom: 10px; }
.dd-policy-sec p { font-size: 16px; line-height: 26px; color: oklch(30% 0.03 262); margin-bottom: 10px; }
.dd-policy-sec a { overflow-wrap: anywhere; }
@media (max-width: 980px) {
	.dd-policy-nav ul { display: flex; flex-wrap: wrap; gap: 6px; }
	.dd-policy-nav li { margin: 0; }
	.dd-policy-nav a { border: 1px solid var(--dd-day-border); border-radius: var(--dd-r-pill); padding: 8px 14px; font-size: 14px; }
	.dd-policy-side { margin-bottom: 32px !important; }
}

/* ---- 40-header.css ---- */
/* ==========================================================================
   Theme Builder: global header (promo strip + sticky main nav)
   ========================================================================== */

/* ---- Promo strip: [sale_shipping_banner] output, restyled lightly ---- */
.dd-hdr-promo.et_pb_section { background: var(--dd-night-raised) !important; border-bottom: 1px solid var(--dd-night-border); }
.dd-hdr-promo .dd-row.et_pb_row { margin-bottom: 0; }
.dd-hdr-promo .dd-hdr-promo-code { margin: 0 !important; padding: 7px 0; font-size: 13px; line-height: 19px; color: oklch(94% 0.01 250); text-align: center; }
.dd-hdr-promo .et_pb_code_inner > * { background: transparent !important; color: inherit !important; border: 0 !important; box-shadow: none !important; margin: 0 auto !important; padding: 0 !important; max-width: none !important; font-size: inherit !important; text-align: center; }
.dd-hdr-promo .et_pb_code_inner * { font-family: var(--dd-font-body) !important; }
.dd-hdr-promo .et_pb_code_inner strong, .dd-hdr-promo .et_pb_code_inner b { color: var(--dd-night-fg); font-weight: 600; }
.dd-hdr-promo .et_pb_code_inner p { margin: 0; padding: 0; }
.dd-hdr-promo .et_pb_code_inner a { color: var(--dd-cyan) !important; }
.dd-hdr-promo .et_pb_code_inner:empty, .dd-hdr-promo .et_pb_code:has(.et_pb_code_inner:empty) { display: none; }

/* ---- Main nav section (sticky via Divi scroll effects) ---- */
.dd-hdr-nav.et_pb_section { background: var(--dd-night-bg) !important; border-bottom: 1px solid var(--dd-night-border); z-index: 99; }
.dd-hdr-nav.et_pb_sticky { box-shadow: 0 8px 24px oklch(0% 0 0 / 0.25); }
.dd-hdr-nav .dd-row.et_pb_row { margin-bottom: 0; }

.dd-menu.et_pb_menu { background: transparent !important; margin: 0 !important; }
.dd-menu .et_pb_menu_inner_container { display: flex; align-items: center; gap: 20px; min-height: 73px; padding: 12px 0; box-sizing: border-box; }
.dd-menu .et_pb_menu__logo-wrap { flex: 0 0 auto; margin: 0 !important; }
.dd-menu .et_pb_menu__logo { margin: 0 !important; display: inline-flex; background: #fff; border-radius: 12px; padding: 8px 14px; }
.dd-menu .et_pb_menu__logo img { display: block; max-height: 30px; width: auto; }
.dd-menu .et_pb_menu__wrap { flex: 1 1 auto; display: flex; align-items: center; gap: 8px; justify-content: flex-start; margin: 0 !important; }

/* Nav links as pills */
.dd-menu .et_pb_menu__menu { order: 1; flex: 1 1 auto; display: flex; }
.dd-menu .et_pb_menu__menu > nav { width: 100%; }
.dd-menu .et_pb_menu__menu > nav > ul { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 0 !important; width: 100%; }
.dd-menu .et-menu > li { padding: 0 !important; margin: 0 !important; }
.dd-menu .et-menu > li > a { display: inline-flex !important; align-items: center; padding: 8px 12px !important; border-radius: 20px; font-size: 14px !important; font-weight: 500; line-height: 20px; color: var(--dd-night-muted) !important; opacity: 1 !important; transition: background-color .15s, color .15s; }
.dd-menu .et-menu > li > a:hover { color: var(--dd-night-fg) !important; background: oklch(26.2% 0.05 265); }
.dd-menu .et-menu > li.current-menu-item > a, .dd-menu .et-menu > li.current-menu-ancestor > a,
.dd-menu .et-menu > li.current_page_item > a, .dd-menu .et-menu > li.current-menu-parent > a { color: oklch(94% 0.01 250) !important; background: oklch(26.2% 0.05 265); }
.dd-menu .et-menu .menu-item-has-children > a::after { color: inherit; right: 4px; }
.dd-menu .et-menu .menu-item-has-children > a { padding-right: 26px !important; }
/* Dropdowns */
.dd-menu .et-menu li ul.sub-menu { background: var(--dd-night-surface) !important; border: 1px solid var(--dd-night-border) !important; border-radius: 16px; padding: 8px !important; box-shadow: 0 16px 40px oklch(0% 0 0 / 0.35); border-top: 1px solid var(--dd-night-border) !important; }
.dd-menu .et-menu li ul.sub-menu li { padding: 0 !important; }
.dd-menu .et-menu li ul.sub-menu a { color: var(--dd-night-fg) !important; padding: 8px 12px !important; border-radius: 10px; width: 100%; font-size: 14px !important; }
.dd-menu .et-menu li ul.sub-menu a:hover { background: var(--dd-night-raised) !important; opacity: 1 !important; }

/* Account item: WP menu item with CSS class "dd-menu-account" (label "Account"), shown as an icon button */
.dd-menu .et-menu > li.dd-menu-account { margin-left: auto !important; }
.dd-menu .et-menu > li.dd-menu-account > a { width: 40px; height: 40px; padding: 0 !important; justify-content: center; border-radius: 16px; border: 1px solid oklch(99% 0.01 250 / 0.14); background: transparent; color: var(--dd-night-fg) !important; font-size: 0 !important; }
.dd-menu .et-menu > li.dd-menu-account > a::before { content: ""; width: 18px; height: 18px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E") center / contain no-repeat; }
.dd-menu .et-menu > li.dd-menu-account > a:hover { background: oklch(26.2% 0.05 265); }

/* Search + cart buttons (Divi menu icons) */
.dd-menu .et_pb_menu__icon { margin: 0 !important; flex: 0 0 auto; }
.dd-menu .et_pb_menu__search-button { order: 2; width: 40px; height: 40px; border-radius: 16px; border: 1px solid oklch(99% 0.01 250 / 0.14); display: inline-flex; align-items: center; justify-content: center; color: var(--dd-night-fg) !important; background: transparent; cursor: pointer; }
.dd-menu .et_pb_menu__search-button::after { font-size: 16px; color: var(--dd-night-fg) !important; }
.dd-menu .et_pb_menu__cart-button { order: 3; height: 40px; padding: 0 16px; border-radius: 16px; background: var(--dd-cyan); color: var(--dd-ink) !important; display: inline-flex !important; align-items: center; gap: 8px; flex-direction: row; font-size: 14px; font-weight: 600; text-decoration: none; }
.dd-menu .et_pb_menu__cart-button::after { font-size: 16px; color: var(--dd-ink) !important; order: 1; }
.dd-menu .et_pb_menu__cart-button::before { content: "Cart"; order: 2; font-family: var(--dd-font-body); }
.dd-menu .et_pb_menu__cart-button:hover { background: oklch(88% 0.12 214); }
.dd-menu .et_pb_menu__cart-button .et_pb_menu__cart-count, .dd-menu .et_pb_menu__cart-button .dd-cart-count { order: 3; font-family: var(--dd-font-body); }
.dd-menu .et_mobile_nav_menu { order: 4; margin: 0 0 0 4px !important; }

/* Search overlay (Divi menu search) */
.dd-menu .et_pb_menu__search-container { background: var(--dd-night-bg); }
.dd-menu .et_pb_menu__search-input { height: 44px; border-radius: 14px !important; border: 1px solid var(--dd-night-input-border) !important; background: var(--dd-night-surface) !important; color: var(--dd-night-fg) !important; padding: 0 16px !important; font: inherit !important; font-size: 16px !important; }
.dd-menu .et_pb_menu__search-input::placeholder { color: var(--dd-night-muted); }
.dd-menu .et_pb_menu__close-search-button::after { color: var(--dd-night-fg) !important; }

/* ---- Tablet / mobile: Divi swaps the menu for a hamburger under 981px ---- */
@media (max-width: 980px) {
	.dd-menu .et_pb_menu_inner_container { min-height: 64px; padding: 10px 0; gap: 8px; }
	.dd-menu .et_pb_menu__logo { padding: 6px 12px; }
	.dd-menu .et_pb_menu__logo img { max-height: 26px; }
	.dd-menu .et_pb_menu__wrap { justify-content: flex-end; }
	.dd-menu .et_pb_menu__menu { display: none !important; }
	.dd-menu .mobile_nav .mobile_menu_bar { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 16px; border: 1px solid oklch(99% 0.01 250 / 0.14); }
	.dd-menu .mobile_nav .mobile_menu_bar::before { color: var(--dd-night-fg) !important; font-size: 26px; position: static; }
	.dd-menu .et_mobile_menu { background: var(--dd-night-surface) !important; border: 1px solid var(--dd-night-border) !important; border-top: 0 !important; border-radius: 0 0 16px 16px; padding: 8px !important; box-shadow: 0 16px 40px oklch(0% 0 0 / 0.35); }
	.dd-menu .et_mobile_menu li a { color: var(--dd-night-fg) !important; border-bottom: 1px solid var(--dd-night-border) !important; padding: 12px 10px !important; font-size: 15px; }
	.dd-menu .et_mobile_menu li:last-child > a { border-bottom: 0 !important; }
	.dd-menu .et_mobile_menu li.current-menu-item > a { color: var(--dd-cyan) !important; }
	.dd-menu .et_mobile_menu li.dd-menu-account > a { width: auto; height: auto; border: 0; font-size: 15px !important; justify-content: flex-start; }
	.dd-menu .et_mobile_menu li.dd-menu-account > a::before { display: none; }
}
@media (max-width: 480px) {
	.dd-hdr-promo .dd-hdr-promo-code { font-size: 12px; line-height: 17px; padding: 6px 0; }
	.dd-menu .et_pb_menu__cart-button { padding: 0 12px; }
	.dd-menu .et_pb_menu__cart-button::before { content: ""; display: none; }
	.dd-menu .et_pb_menu__search-button { width: 36px; height: 36px; }
}

/* ---- 41-footer.css ---- */
/* ==========================================================================
   Theme Builder: global footer + 404 body
   ========================================================================== */
.dd-ftr.et_pb_section { padding: 56px 0 0 !important; border-top: 1px solid var(--dd-night-border); font-size: 14px; line-height: 22px; }
.dd-ftr .dd-ftr-cols.et_pb_row { margin-bottom: 32px; }
@media (min-width: 981px) {
	.dd-sec .dd-row.dd-ftr-cols .et_pb_column_1_5 { width: calc((100% - 96px) / 5); }
}
.dd-ftr .dd-ftr-logo { display: inline-block; background: #fff; border-radius: 12px; padding: 6px 12px; color: var(--dd-ink); font-family: var(--dd-font-display); font-weight: 600; font-size: 16px; line-height: 1.3; }
.dd-ftr .dd-ftr-brand p { margin-bottom: 10px; color: var(--dd-night-fg); }
.dd-ftr .dd-ftr-brand p.dd-muted { color: var(--dd-night-muted); }
.dd-ftr .dd-ftr-links h3 { font-family: var(--dd-font-body) !important; font-size: 14px; font-weight: 600 !important; letter-spacing: 0; margin: 0 0 10px; color: var(--dd-night-fg); }
.dd-ftr .dd-ftr-links ul { list-style: none; padding: 0; margin: 0; }
.dd-ftr .dd-ftr-links li { margin: 0 0 8px; padding: 0; }
.dd-ftr a { color: var(--dd-cyan); text-decoration: none; }
.dd-ftr a:hover { text-decoration: underline; }

.dd-ftr .dd-ftr-bottom.et_pb_row { border-top: 1px solid var(--dd-night-border); padding: 20px 0 32px !important; margin-bottom: 0; }
.dd-ftr .dd-ftr-bottom-text p { font-size: 12px; line-height: 18px; color: var(--dd-night-muted) !important; margin-bottom: 10px; }
.dd-ftr .dd-ftr-legal { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 0 !important; }

@media (max-width: 980px) {
	.dd-ftr.et_pb_section { padding-top: 44px !important; }
	.dd-ftr .dd-ftr-cols.et_pb_row { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 20px; }
	.dd-ftr .dd-ftr-cols.et_pb_row::after { display: none; }
	.dd-ftr .dd-ftr-cols .et_pb_column { width: auto !important; margin: 0 !important; }
	.dd-ftr .dd-ftr-cols .et_pb_column:first-child { grid-column: 1 / -1; }
}

/* ---- 404 body ---- */
.dd-404.et_pb_section { padding: 120px 0 !important; min-height: 60vh; }
.dd-404 .dd-404-code { font-family: var(--dd-font-display); font-weight: 600; font-size: clamp(72px, 12vw, 140px); line-height: 1; letter-spacing: -0.04em; margin-bottom: 8px !important;
	background: var(--dd-gradient); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.dd-404 .dd-btns { margin-top: 28px; }
@media (max-width: 980px) { .dd-404.et_pb_section { padding: 72px 0 !important; } }

/* ---- 42-product.css ---- */
/* ==========================================================================
   Theme Builder: single product body (WooCommerce modules)
   ========================================================================== */
.dd-prod-top.et_pb_section { padding: 24px 0 56px !important; }

/* Breadcrumb */
.dd-prod-crumb .woocommerce-breadcrumb { font-size: 13px; line-height: 20px; color: var(--dd-day-muted); margin: 0 !important; padding: 0 !important; }
.dd-prod-crumb .woocommerce-breadcrumb a { color: var(--dd-cyan-ink); }

/* Two-column layout: 40px gutter like the design */
@media (min-width: 981px) {
	.dd-sec .dd-row.dd-prod-main .et_pb_column_1_2 { width: calc((100% - 40px) / 2); margin-right: 40px; }
	.dd-sec .dd-row.dd-prod-main .et-last-child { margin-right: 0; }
	.dd-prod-media { position: sticky; top: 96px; }
}

/* Gallery */
.dd-prod-gallery .woocommerce-product-gallery { margin: 0 !important; width: 100% !important; float: none !important; opacity: 1 !important; }
.dd-prod-gallery .woocommerce-product-gallery__image img, .dd-prod-gallery .flex-viewport img { aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--dd-r-card); width: 100%; }
.dd-prod-gallery .flex-viewport { border-radius: var(--dd-r-card); }
.dd-prod-gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 12px 0 0 !important; padding: 0 !important; }
.dd-prod-gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.dd-prod-gallery .flex-control-thumbs img { aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px; opacity: 1 !important; outline-offset: 2px; }
.dd-prod-gallery .flex-control-thumbs img.flex-active { outline: 2px solid var(--dd-blue-strong); }
.dd-prod-gallery .woocommerce-product-gallery__trigger { top: 14px !important; right: 14px !important; background: #fff; border-radius: 9999px; }

/* Buy column */
.dd-prod-buy .et_pb_module { margin-bottom: 20px; }
.dd-prod-buy .dd-prod-eyebrow, .dd-prod-buy .dd-prod-title { margin-bottom: 8px !important; }
/* Categories as eyebrow: hide the "Categories:" label text node, keep the links */
.dd-prod-eyebrow .product_meta { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.dd-prod-eyebrow .posted_in { font-size: 0 !important; display: block; }
.dd-prod-eyebrow .posted_in a { font-size: 11px; line-height: 16px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--dd-cyan-ink) !important; text-decoration: none; }
.dd-prod-eyebrow .posted_in a + a::before { content: " · "; letter-spacing: 0; color: var(--dd-day-muted); }
.dd-prod-eyebrow .sku_wrapper, .dd-prod-eyebrow .tagged_as { display: none; }
.dd-prod-title h1, .dd-prod-title .product_title { font-size: clamp(28px, 3vw, 36px) !important; line-height: 1.1; margin: 0; padding: 0; color: var(--dd-day-fg); }
.dd-prod-rating .woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin: 0 !important; font-size: 14px; color: var(--dd-day-muted); }
.dd-prod-rating .star-rating { color: oklch(52% 0.12 70) !important; margin: 0 !important; font-size: 14px; }
.dd-prod-rating a { color: var(--dd-cyan-ink); }

/* Short description = product-specific fit box (write it as paragraphs; first line is the fit headline) */
.dd-prod-short .woocommerce-product-details__short-description { border-radius: 20px; border: 1px solid oklch(48% 0.14 149 / 0.4); background: oklch(97% 0.03 149); padding: 16px; font-size: 14px; line-height: 21px; }
.dd-prod-short .woocommerce-product-details__short-description p { margin: 0 0 8px; padding: 0; }
.dd-prod-short .woocommerce-product-details__short-description p:first-child { font-weight: 600; color: oklch(38% 0.12 149); }
.dd-prod-short .woocommerce-product-details__short-description p:last-child { margin: 0; }
.dd-prod-short .woocommerce-product-details__short-description ul { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dd-prod-short .woocommerce-product-details__short-description li,
.dd-prod-chips li { padding: 6px 12px; border-radius: 9999px; background: oklch(94% 0.012 258); font-size: 13px; line-height: 18px; margin: 0; }
.dd-prod-chips { list-style: none; padding: 0 !important; margin: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }

/* Price (variable range; the selected pack price shows in the pack cards / variation price) */
.dd-prod-price .price { font-size: 18px !important; font-weight: 600; color: var(--dd-day-fg) !important; margin: 0 !important; }
.dd-prod-price .price del { color: var(--dd-day-muted); font-weight: 400; font-size: 15px; }
.dd-prod-price .price ins { text-decoration: none; }

/* Add to cart (variations; PHP turns the pack-size select into cards with .dd-pack-card) */
.dd-pack-form form.cart { margin: 0 !important; }
.dd-pack-form table.variations { border: 0 !important; margin: 0 0 16px !important; width: 100%; }
.dd-pack-form table.variations tr { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.dd-pack-form table.variations th, .dd-pack-form table.variations td { display: block; padding: 0 !important; border: 0 !important; text-align: left; background: transparent !important; line-height: 1.4; }
.dd-pack-form table.variations th label, .dd-pack-form table.variations .label label { font-size: 14px !important; font-weight: 600 !important; color: var(--dd-day-fg); }
.dd-pack-form table.variations select { width: 100%; min-height: 48px; border-radius: 14px; border: 1px solid var(--dd-day-input-border); background: #fff; padding: 0 14px; font: inherit; font-size: 15px; color: var(--dd-day-fg); }
.dd-pack-form .reset_variations { font-size: 13px; color: var(--dd-cyan-ink); margin-top: 8px; display: inline-block; }
/* Pack cards (markup from the PHP swap): label.dd-pack-card > input + .dd-pack-main(.dd-pack-title,.dd-pack-sub) + .dd-pack-price(.dd-pack-now,.dd-pack-was) */
.dd-pack-form .dd-pack-cards { display: flex; flex-direction: column; gap: 8px; }
.dd-pack-form .dd-pack-card { position: relative; display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 16px; border-radius: 16px; cursor: pointer; background: #fff; border: 1px solid oklch(20% 0.03 264 / 0.2); }
.dd-pack-form .dd-pack-card:has(input:checked), .dd-pack-form .dd-pack-card.is-selected { background: oklch(96.5% 0.02 262); border: 2px solid var(--dd-blue-strong); padding: 9px 15px; }
.dd-pack-form .dd-pack-card:has(input:focus-visible) { outline: 2px solid var(--dd-blue); outline-offset: 2px; }
.dd-pack-form .dd-pack-card input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.dd-pack-form .dd-pack-main { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; }
.dd-pack-form .dd-pack-title, .dd-pack-form .dd-pack-now { font-weight: 600; font-size: 15px; }
.dd-pack-form .dd-pack-sub { font-size: 13px; color: var(--dd-day-muted); }
.dd-pack-form .dd-pack-price { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.dd-pack-form .dd-pack-was { font-size: 12px; color: var(--dd-day-muted); text-decoration: line-through; }
.dd-pack-form .dd-pack-card.is-disabled { opacity: .5; cursor: not-allowed; }
/* Finish swatches if the colour attribute is also swapped: label.dd-finish-chip */
.dd-pack-form .dd-finish-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.dd-pack-form .dd-finish-chip { position: relative; display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 16px; border-radius: 9999px; cursor: pointer; font-size: 14px; font-weight: 500; background: #fff; border: 1px solid oklch(20% 0.03 264 / 0.2); }
.dd-pack-form .dd-finish-chip:has(input:checked) { border: 2px solid var(--dd-blue-strong); padding: 0 15px; }
.dd-pack-form .dd-finish-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }

/* Selected variation summary (price + description + stock) */
.dd-pack-form .woocommerce-variation.single_variation:not(:empty) { border-radius: 20px; background: var(--dd-day-raised); padding: 16px; font-size: 14px; line-height: 21px; margin-bottom: 16px; }
.dd-pack-form .woocommerce-variation-price .price { font-size: 18px; font-weight: 600; color: var(--dd-day-fg); }
.dd-pack-form .woocommerce-variation-description p { margin: 4px 0 0; color: var(--dd-day-muted); }
.dd-pack-form .stock { font-size: 13px; margin: 6px 0 0; }

/* Quantity stepper + add to cart button */
.dd-pack-form .woocommerce-variation-add-to-cart, .dd-pack-form form.cart:not(.variations_form) { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.dd-pack-form .quantity { margin: 0 !important; float: none !important; }
.dd-pack-form .quantity input.qty { width: 88px; height: 48px; border-radius: 16px !important; border: 1px solid var(--dd-day-input-border) !important; background: #fff !important; font: inherit !important; font-weight: 600 !important; font-size: 16px !important; color: var(--dd-day-fg) !important; text-align: center; padding: 0 8px !important; }
.dd-pack-form .single_add_to_cart_button.button { flex: 1 1 220px; height: 48px; margin: 0 !important; padding: 0 24px !important; border-radius: 16px !important; border: 0 !important; background: var(--dd-blue-strong) !important; color: #fff !important; font-family: var(--dd-font-body) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 48px !important; letter-spacing: 0; float: none !important; }
.dd-pack-form .single_add_to_cart_button.button::after { display: none !important; }
.dd-pack-form .single_add_to_cart_button.button:hover { background: oklch(46% 0.2 264) !important; padding: 0 24px !important; }
.dd-pack-form .single_add_to_cart_button.disabled, .dd-pack-form .single_add_to_cart_button:disabled { background: oklch(94% 0.012 258) !important; color: var(--dd-day-muted) !important; opacity: 1 !important; cursor: not-allowed; }

/* Fastest delivery line ([ssm_fastest_delivery]) */
.dd-prod-delivery { font-size: 14px; line-height: 21px; color: var(--dd-day-fg); }
.dd-prod-delivery .et_pb_code_inner > * { margin: 0 !important; }
.dd-prod-delivery strong { font-weight: 600; }
.dd-prod-buy .dd-prod-made { margin-top: -8px; }

/* LightPro Connect link card (shared by product, cart, post) */
.dd-lpc-card { display: flex; gap: 14px; align-items: center; border-radius: 20px; padding: 16px 16px 16px 22px; background: var(--dd-night-bg); color: var(--dd-night-fg) !important; text-decoration: none !important; position: relative; overflow: hidden; }
.dd-lpc-card::before { content: ""; position: absolute; left: 12px; top: 14px; bottom: 14px; width: 4px; border-radius: 4px; background: linear-gradient(180deg, var(--dd-cyan), var(--dd-blue) 52%, var(--dd-violet)); }
.dd-lpc-card .dd-lpc-copy { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 20px; padding-left: 6px; }
.dd-lpc-card .dd-lpc-copy strong { font-size: 15px; color: var(--dd-night-fg); }
.dd-lpc-card .dd-lpc-copy span { color: var(--dd-night-muted); }
.dd-lpc-card .dd-lpc-go { margin-left: auto; color: var(--dd-cyan); font-weight: 600; font-size: 14px; white-space: nowrap; }
.dd-lpc-card:hover .dd-lpc-go { text-decoration: underline; }

/* Info cards */
.dd-prod-info h2 { font-size: 24px !important; margin-bottom: 16px; }
.dd-prod-info .dd-card { padding: 28px !important; }
.dd-prod-attrs table.shop_attributes { border: 0 !important; margin: 0 !important; font-size: 14px; }
.dd-prod-attrs table.shop_attributes tr, .dd-prod-attrs table.shop_attributes tr:nth-child(even) th, .dd-prod-attrs table.shop_attributes tr:nth-child(even) td { background: transparent !important; }
.dd-prod-attrs table.shop_attributes th { width: 160px; padding: 6px 16px 6px 0 !important; border: 0 !important; font-weight: 400 !important; color: var(--dd-day-muted); text-align: left; vertical-align: top; }
.dd-prod-attrs table.shop_attributes td { padding: 6px 0 !important; border: 0 !important; font-style: normal !important; }
.dd-prod-attrs table.shop_attributes td p { padding: 0; margin: 0; }
.dd-prod-desc { font-size: 15px; line-height: 24px; }
.dd-prod-desc img, .dd-prod-desc svg { max-width: 100%; height: auto; }
.dd-prod-desc p:last-child { margin-bottom: 0; }

/* Videos */
.dd-prod-videos.et_pb_row { max-width: 760px !important; margin-left: 0 !important; }
.dd-prod-video { margin-bottom: 10px !important; background: #000; }
.dd-prod-video video, .dd-prod-video .et_pb_video_box { height: 440px; width: 100%; object-fit: cover; display: block; }
.dd-prod-video .et_pb_video_overlay { border-radius: var(--dd-r-tile); }
.dd-prod-vcap { display: flex; flex-direction: column; gap: 2px; }
.dd-prod-vcap strong { font-family: var(--dd-font-display); font-size: 18px; font-weight: 600; }
.dd-prod-vcap span { font-size: 14px; color: var(--dd-day-muted); }
@media (min-width: 981px) { .dd-sec .dd-row.dd-prod-videos .et_pb_column_1_2 { width: calc((100% - 16px) / 2); margin-right: 16px; } .dd-sec .dd-row.dd-prod-videos .et-last-child { margin-right: 0; } }

/* Related products heading (WooCommerce "Related products") */
.dd-prod-related section.related > h2 { font-family: var(--dd-font-display) !important; font-size: 24px !important; margin: 0 0 16px; }

/* Reviews (WooCommerce reviews / CusRev) */
.dd-prod-reviews-sec.et_pb_section { padding-bottom: 96px !important; }
.dd-prod-reviews #reviews { border-radius: var(--dd-r-card); border: 1px solid var(--dd-day-border); background: #fff; padding: 28px; }
.dd-prod-reviews .woocommerce-Reviews-title, .dd-prod-reviews #reply-title { font-family: var(--dd-font-display) !important; font-size: 24px !important; font-weight: 600; margin: 0 0 12px; }
.dd-prod-reviews ol.commentlist { padding: 0 !important; margin: 0 0 24px !important; }
.dd-prod-reviews ol.commentlist li .comment_container { border-top: 1px solid var(--dd-day-border); padding: 16px 0; }
.dd-prod-reviews ol.commentlist li img.avatar { border-radius: 9999px; }
.dd-prod-reviews .star-rating, .dd-prod-reviews p.stars a { color: oklch(52% 0.12 70) !important; }
.dd-prod-reviews #respond input#submit { min-height: 48px; padding: 0 24px; border-radius: var(--dd-r-control); border: 0; background: var(--dd-blue-strong); color: #fff; font-weight: 600; font-size: 15px; }

@media (max-width: 980px) {
	.dd-prod-top.et_pb_section { padding-top: 16px !important; }
	.dd-prod-media { position: static; }
	.dd-prod-video video, .dd-prod-video .et_pb_video_box { height: 360px; }
	.dd-prod-info .dd-card { padding: 22px !important; }
}
@media (max-width: 480px) {
	.dd-prod-attrs table.shop_attributes th { width: 110px; }
	.dd-lpc-card { flex-wrap: wrap; }
	.dd-lpc-card .dd-lpc-go { margin-left: 6px; }
	.dd-prod-gallery .flex-control-thumbs { gap: 8px; }
}

/* ---- 43-shop.css ---- */
/* ==========================================================================
   Theme Builder: shop (/shop/) + product category / brand archives
   Product cards (.dd-products) are shared with related products on the product page.
   ========================================================================== */

/* ---- Shared: breadcrumb line ---- */
.dd-crumb { font-size: 13px; line-height: 20px; color: var(--dd-night-muted); margin-bottom: 16px !important; }

/* ---- Shop hero ---- */
.dd-shop-hero.et_pb_section { padding: 40px 0 32px !important; border-bottom: 1px solid var(--dd-night-border); }
.dd-shop-hero .et_pb_module { margin-bottom: 16px; }
.dd-shop-head h1 { font-size: clamp(32px, 3.4vw, 40px); margin: 0; }
.dd-shop-search-label-wrap { margin-bottom: 6px !important; }
.dd-shop-search-label { font-size: 13px; color: var(--dd-night-muted) !important; margin: 0 !important; }
.dd-shop-search { max-width: 560px; }
.dd-shop-search .woocommerce-product-search, .dd-shop-search form { display: flex; gap: 8px; margin: 0; }
.dd-shop-search input[type=search], .dd-shop-search .search-field { flex: 1 1 auto; min-width: 0; height: 48px; border-radius: var(--dd-r-control) !important; border: 1px solid var(--dd-night-input-border) !important; background: var(--dd-night-surface) !important; color: var(--dd-night-fg) !important; padding: 0 16px !important; font: inherit !important; font-size: 16px !important; }
.dd-shop-search input[type=search]::placeholder { color: var(--dd-night-muted); opacity: 1; }
.dd-shop-search button, .dd-shop-search input[type=submit] { height: 48px; padding: 0 20px; border-radius: var(--dd-r-control); border: 0; background: var(--dd-cyan); color: var(--dd-ink); font: inherit; font-weight: 600; font-size: 15px; cursor: pointer; }
.dd-shop-search label.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---- Shop body: sidebar + grid ---- */
.dd-shop-body.et_pb_section { padding: 32px 0 96px !important; }
.dd-shop-side .et_pb_module { margin-bottom: 24px; }
.dd-shop-filter h3 { font-family: var(--dd-font-body) !important; font-size: 14px; font-weight: 600 !important; letter-spacing: 0; margin: 0 0 8px; }
.dd-shop-brands { list-style: none; padding: 0 !important; margin: 0 !important; }
.dd-shop-brands li { margin: 0; }
.dd-shop-brands a { display: flex; align-items: center; min-height: 36px; font-size: 14px; color: var(--dd-day-fg) !important; text-decoration: none; border-radius: 10px; padding: 0 10px; margin: 0 -10px; }
.dd-shop-brands a:hover { background: var(--dd-day-raised); color: var(--dd-cyan-ink) !important; }
.dd-shop-note { border-radius: 20px; background: #fff; border: 1px solid var(--dd-day-border); padding: 16px; font-size: 13px; line-height: 19px; color: var(--dd-day-muted); }
.dd-shop-note strong { display: block; color: var(--dd-day-fg); font-size: 14px; margin-bottom: 4px; }
@media (min-width: 981px) {
	.dd-sec .dd-row.dd-shop-main .et_pb_column_1_4 { width: 240px; margin-right: 32px; }
	.dd-sec .dd-row.dd-shop-main .et_pb_column_3_4 { width: calc(100% - 272px); }
	.dd-shop-side { position: sticky; top: 96px; }
}
@media (max-width: 980px) {
	.dd-shop-brands { display: flex; flex-wrap: wrap; gap: 8px; }
	.dd-shop-brands a { margin: 0; height: 36px; padding: 0 14px; border-radius: 9999px; background: #fff; border: 1px solid var(--dd-day-border); font-size: 13px; }
}

/* ---- Product cards (Divi Shop module + related products) ---- */
.dd-products ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin: 0 !important; padding: 0 !important; }
.dd-products ul.products::before, .dd-products ul.products::after { display: none !important; }
.dd-products ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; clear: none !important; display: flex; flex-direction: column; gap: 8px; border-radius: var(--dd-r-tile); border: 1px solid var(--dd-day-border); background: #fff; padding: 14px !important; position: relative; transition: border-color .15s, box-shadow .15s; }
.dd-products ul.products li.product:hover { border-color: oklch(52% 0.2 264 / 0.4); box-shadow: 0 10px 28px oklch(20% 0.03 264 / 0.08); }
.dd-products ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; gap: 8px; color: inherit; text-decoration: none; flex: 1 1 auto; }
.dd-products ul.products li.product .et_shop_image, .dd-products ul.products li.product a img { display: block; margin: 0 !important; }
.dd-products ul.products li.product img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; border-radius: 16px; margin: 0 !important; box-shadow: none !important; }
.dd-products ul.products li.product .et_overlay { border-radius: 16px; background: oklch(14.5% 0.028 264 / 0.2) !important; border: 0 !important; }
.dd-products ul.products li.product .et_overlay::before { display: none; }
.dd-products ul.products li.product .woocommerce-loop-product__title { font-family: var(--dd-font-display) !important; font-weight: 600 !important; font-size: 16px !important; line-height: 1.3 !important; padding: 0 !important; margin: 0 !important; color: var(--dd-day-fg); }
.dd-products ul.products li.product .price { margin-top: auto !important; font-size: 14px !important; font-weight: 600; color: var(--dd-day-fg) !important; margin-bottom: 0 !important; }
.dd-products ul.products li.product .price del { color: var(--dd-day-muted); font-weight: 400; font-size: 12px; opacity: 1; }
.dd-products ul.products li.product .price ins { text-decoration: none; }
.dd-products ul.products li.product .star-rating { font-size: 12px; margin: 0 !important; color: oklch(52% 0.12 70); }
.dd-products ul.products li.product .onsale { top: 22px !important; left: 22px !important; right: auto !important; margin: 0 !important; min-width: 0; min-height: 0; padding: 3px 10px !important; border-radius: 9999px !important; background: var(--dd-cyan) !important; color: var(--dd-ink) !important; font-size: 12px !important; font-weight: 600; line-height: 18px !important; }
.dd-products ul.products li.product .button { margin-top: 4px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px !important; border: 1px solid var(--dd-day-input-border) !important; background: #fff !important; color: var(--dd-day-fg) !important; font-size: 14px !important; font-weight: 600; padding: 0 14px !important; }
.dd-products ul.products li.product .button::after { display: none !important; }

/* Pagination */
.dd-products .woocommerce-pagination { margin-top: 32px; text-align: center; }
.dd-products .woocommerce-pagination ul.page-numbers { display: inline-flex !important; gap: 8px; border: 0 !important; margin: 0 !important; }
.dd-products .woocommerce-pagination ul.page-numbers li { border: 0 !important; float: none !important; }
.dd-products .woocommerce-pagination .page-numbers a, .dd-products .woocommerce-pagination .page-numbers span { display: inline-flex !important; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px !important; border-radius: 14px; border: 1px solid oklch(20% 0.03 264 / 0.2); color: var(--dd-day-fg); font-size: 14px; line-height: 1; background: #fff; }
.dd-products .woocommerce-pagination .page-numbers span.current { background: var(--dd-blue-strong) !important; border-color: var(--dd-blue-strong); color: #fff !important; }
.dd-products .woocommerce-info { border-radius: var(--dd-r-tile); border: 1px dashed var(--dd-day-input-border); background: #fff; color: var(--dd-day-fg); padding: 28px !important; }

/* ---- Brand / category archive ---- */
.dd-cat-hero.et_pb_section { padding: 40px 0 !important; }
.dd-cat-hero .et_pb_module { margin-bottom: 14px; }
.dd-cat-crumb .woocommerce-breadcrumb { font-size: 13px; color: var(--dd-night-muted); margin: 0 !important; padding: 0 !important; }
.dd-cat-crumb .woocommerce-breadcrumb a { color: var(--dd-cyan) !important; }
.dd-arch-title .entry-title, .dd-arch-title h1 { font-size: clamp(34px, 4vw, 44px) !important; line-height: 1.06; margin: 0; padding: 0; color: var(--dd-night-fg) !important; }
.dd-arch-title .et_pb_title_container { padding: 0; }
.dd-cat-brand .dd-lead, .dd-cat-brand-default .dd-lead { font-size: 17px; line-height: 26px; max-width: 560px; }
@media (min-width: 981px) {
	.dd-cat-hero .dd-row .et_pb_column_3_5.et_pb_column { width: calc((100% - 32px) * 3 / 5); margin-right: 32px; }
	.dd-cat-hero .dd-row .et_pb_column_2_5.et_pb_column { width: calc((100% - 32px) * 2 / 5); }
}

/* Per-brand intro + photo: hidden by default, shown for the matching term-<slug> body class */
.dd-cat-brand { display: none !important; }
body.term-govee .dd-cat-brand-govee, body.term-eufy .dd-cat-brand-eufy, body.term-enbrighten .dd-cat-brand-enbrighten,
body.term-lumary .dd-cat-brand-lumary, body.term-nanoleaf .dd-cat-brand-nanoleaf, body.term-philips-hue .dd-cat-brand-philips-hue { display: block !important; }
body.term-govee .dd-cat-brand-default, body.term-eufy .dd-cat-brand-default, body.term-enbrighten .dd-cat-brand-default,
body.term-lumary .dd-cat-brand-default, body.term-nanoleaf .dd-cat-brand-default, body.term-philips-hue .dd-cat-brand-default { display: none !important; }
.dd-cat-figure { position: relative; }
.dd-cat-figure .dd-cat-hero-img { margin-bottom: 0 !important; }
.dd-cat-hero-img img { object-position: center 12%; }
.dd-cat-brand-eufy img { object-position: center 60%; }
.dd-cat-brand-lumary img { object-position: center 62%; }
.dd-cat-brand-philips-hue img { object-position: center 52%; }
.dd-cat-cap-wrap { position: absolute !important; left: 14px; bottom: 12px; margin: 0 !important; z-index: 2; }
.dd-cat-cap { font-size: 12px !important; font-weight: 600; padding: 5px 10px !important; border-radius: 9999px; background: oklch(14.5% 0.028 264 / 0.8); color: var(--dd-night-fg) !important; margin: 0 !important; }

/* Brand tabs (current brand highlighted by body class) */
.dd-brand-tabs { list-style: none; padding: 0 !important; margin: 4px 0 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.dd-brand-tabs li { margin: 0 !important; }
.dd-brand-tabs a { height: 36px; padding: 0 14px; border-radius: 9999px; font-size: 13px; display: inline-flex; align-items: center; text-decoration: none; border: 1px solid var(--dd-night-input-border); color: var(--dd-night-fg) !important; }
.dd-brand-tabs a:hover { border-color: var(--dd-cyan); }
body.term-govee .dd-brand-tab-govee, body.term-eufy .dd-brand-tab-eufy, body.term-enbrighten .dd-brand-tab-enbrighten,
body.term-lumary .dd-brand-tab-lumary, body.term-nanoleaf .dd-brand-tab-nanoleaf, body.term-philips-hue .dd-brand-tab-philips-hue { background: var(--dd-cyan); border-color: var(--dd-cyan); color: var(--dd-ink) !important; font-weight: 600; }

.dd-cat-grid.et_pb_section { padding: 40px 0 24px !important; }
.dd-cat-grid .dd-text p { font-size: 14px; }
.dd-cat-guide h3 { font-size: 19px; }
.dd-cat-guide p { font-size: 15px; line-height: 23px; }
.dd-cat-guide.dd-tile { padding: 22px !important; }
.dd-cat-band.et_pb_section { padding: 24px 0 96px !important; }

/* Shared dark CTA band row (category, blog, post) */
.dd-sec .dd-row.dd-band.et_pb_row { padding: 28px !important; }
.dd-band h2 { font-size: 24px; margin-bottom: 6px; color: var(--dd-night-fg) !important; }
.dd-band .dd-band-btns { justify-content: flex-end; }
@media (max-width: 980px) { .dd-band .dd-band-btns { justify-content: flex-start; } .dd-sec .dd-row.dd-band.et_pb_row { padding: 24px !important; } }

/* ---- 44-blog.css ---- */
/* ==========================================================================
   Theme Builder: blog archive (Guides) + single post
   ========================================================================== */

/* ---- Archive hero ---- */
.dd-blog-hero.et_pb_section { padding: 40px 0 !important; }
.dd-blog-hero h1 { font-size: clamp(34px, 4vw, 44px); line-height: 1.06; margin-bottom: 12px; }
.dd-blog-hero .dd-lead { font-size: 17px; line-height: 26px; max-width: 620px; }
.dd-blog-body.et_pb_section { padding: 32px 0 40px !important; }
.dd-blog-band.et_pb_section { padding: 24px 0 96px !important; }
.dd-blog-band h2, .dd-post-main ~ .dd-sec .dd-band h2 { font-size: 28px; line-height: 1.15; }
.dd-band .dd-muted { font-size: 16px; }

/* ---- Divi Blog module (fullwidth markup) laid out as a card grid ---- */
.dd-blog-grid .et_pb_ajax_pagination_container { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 32px 20px; }
.dd-blog-grid .et_pb_ajax_pagination_container > div:not(.et_pb_post) { grid-column: 1 / -1; }
.dd-blog-grid article.et_pb_post { display: flex; flex-direction: column; gap: 10px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent; }
.dd-blog-grid article.et_pb_post .entry-featured-image-url { order: 0; display: block; margin: 0 !important; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid var(--dd-day-border); }
.dd-blog-grid article.et_pb_post .entry-featured-image-url img { aspect-ratio: 16 / 10; width: 100%; height: auto; object-fit: cover; display: block; transition: transform .3s; }
.dd-blog-grid article.et_pb_post:hover .entry-featured-image-url img { transform: scale(1.03); }
.dd-blog-grid article.et_pb_post .post-meta { order: 1; margin: 0 !important; padding: 0 !important; font-size: 0 !important; display: flex; flex-wrap: wrap; gap: 0; }
.dd-blog-grid article.et_pb_post .post-meta > * { font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--dd-cyan-ink) !important; }
.dd-blog-grid article.et_pb_post .post-meta a { order: 1; text-decoration: none; }
.dd-blog-grid article.et_pb_post .post-meta a ~ a { display: none; }
.dd-blog-grid article.et_pb_post .post-meta .published { order: 2; }
.dd-blog-grid article.et_pb_post .post-meta a + .published::before, .dd-blog-grid article.et_pb_post .post-meta .published:not(:first-child)::before { content: " · "; white-space: pre; }
.dd-blog-grid article.et_pb_post .entry-title { order: 2; font-family: var(--dd-font-display) !important; font-size: 19px !important; font-weight: 600; line-height: 1.3 !important; padding: 0 !important; margin: 0; }
.dd-blog-grid article.et_pb_post .entry-title a { color: var(--dd-day-fg); text-decoration: none; }
.dd-blog-grid article.et_pb_post .entry-title a:hover { color: var(--dd-cyan-ink); }
.dd-blog-grid article.et_pb_post .post-content { order: 3; display: none; }

/* Newest post as a wide featured card (first page of the archive only) */
@media (min-width: 981px) {
	body:not(.paged) .dd-blog-grid:not(.dd-blog-more) article.et_pb_post:first-child {
		grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); grid-template-rows: 1fr auto auto auto 1fr; column-gap: 28px; row-gap: 10px;
		border: 1px solid var(--dd-day-border) !important; border-radius: var(--dd-r-card); background: #fff; padding: 20px !important; margin-bottom: 8px !important; }
	body:not(.paged) .dd-blog-grid:not(.dd-blog-more) article.et_pb_post:first-child .entry-featured-image-url { grid-column: 1; grid-row: 1 / -1; border: 0; }
	body:not(.paged) .dd-blog-grid:not(.dd-blog-more) article.et_pb_post:first-child .entry-featured-image-url img { aspect-ratio: auto; height: 300px; }
	body:not(.paged) .dd-blog-grid:not(.dd-blog-more) article.et_pb_post:first-child .post-meta { grid-column: 2; grid-row: 2; }
	body:not(.paged) .dd-blog-grid:not(.dd-blog-more) article.et_pb_post:first-child .entry-title { grid-column: 2; grid-row: 3; font-size: 30px !important; line-height: 1.15 !important; letter-spacing: -0.02em; }
	body:not(.paged) .dd-blog-grid:not(.dd-blog-more) article.et_pb_post:first-child .post-content { grid-column: 2; grid-row: 4; display: block; font-size: 15px; line-height: 23px; color: var(--dd-day-muted); }
}
.dd-blog-grid .post-content-inner p { margin: 0 0 10px; padding: 0; }
.dd-blog-grid .more-link { display: inline-block; font-size: 0 !important; text-decoration: none; }
.dd-blog-grid .more-link::after { content: "Read the guide →"; font-size: 14px; font-weight: 600; color: var(--dd-cyan-ink); }

/* Pagination (Divi older/newer links) */
.dd-blog-grid .pagination { display: flex; justify-content: center; gap: 8px; padding: 8px 0 0; }
.dd-blog-grid .pagination::before, .dd-blog-grid .pagination::after { display: none; }
.dd-blog-grid .pagination .alignleft, .dd-blog-grid .pagination .alignright { float: none; }
.dd-blog-grid .pagination a { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: 14px; border: 1px solid oklch(20% 0.03 264 / 0.2); background: #fff; color: var(--dd-day-fg) !important; font-size: 14px; text-decoration: none; }
.dd-blog-grid .pagination a:hover { border-color: var(--dd-blue-strong); }
.dd-blog-grid .wp-pagenavi a, .dd-blog-grid .wp-pagenavi span { border-radius: 14px; min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid oklch(20% 0.03 264 / 0.2); }
.dd-blog-grid .wp-pagenavi span.current { background: var(--dd-blue-strong); color: #fff; border-color: var(--dd-blue-strong); }

/* ---- Single post ---- */
.dd-post-head.et_pb_section { padding: 40px 0 0 !important; }
.dd-sec .dd-row.dd-post-wide.et_pb_row { max-width: 1100px !important; }
.dd-sec .dd-row.dd-post-col.et_pb_row { max-width: 760px !important; }
.dd-post-head .et_pb_module { margin-bottom: 14px; }
.dd-post-crumb { font-size: 13px; color: var(--dd-day-muted); margin: 0 !important; }
.dd-post-title .et_pb_title_container { padding: 0; }
.dd-post-title h1.entry-title, .dd-post-title h1 { font-size: clamp(32px, 4vw, 44px) !important; line-height: 1.08 !important; color: var(--dd-day-fg); padding: 0; margin: 0 0 14px; }
.dd-post-title .et_pb_title_meta_container { font-size: 0 !important; color: var(--dd-day-muted); }
.dd-post-title .et_pb_title_meta_container > * { font-size: 14px; color: var(--dd-day-muted) !important; }
.dd-post-title .et_pb_title_meta_container > * + *::before { content: " · "; white-space: pre; }
.dd-post-title .et_pb_title_meta_container a { text-decoration: none; }
.dd-post-kit-wrap p { margin: 0 !important; }
.dd-post-kit { display: inline-flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; padding: 8px 14px; border-radius: 9999px; background: oklch(94% 0.012 258); color: var(--dd-day-fg) !important; text-decoration: none; font-size: 14px; font-weight: 500; line-height: 20px; }
.dd-post-kit:hover { background: oklch(91% 0.02 258); }
.dd-post-kit strong { color: var(--dd-cyan-ink); }
.dd-post-hero { margin: 10px 0 0 !important; }
.dd-post-hero .et_pb_title_featured_container { margin: 0 !important; }
.dd-post-hero .et_pb_title_featured_container img, .dd-post-hero img { aspect-ratio: 21 / 9; width: 100%; object-fit: cover; border-radius: var(--dd-r-card); display: block; }
.dd-post-hero .et_pb_title_container { display: none; }

/* Article body */
.dd-post-main.et_pb_section { padding: 40px 0 56px !important; }
.dd-post-body { font-size: 18px; line-height: 30px; color: var(--dd-day-fg); }
.dd-post-body p { margin: 0 0 18px; padding: 0; }
.dd-post-body h2 { font-size: 28px !important; line-height: 1.2; margin: 36px 0 14px; padding: 0; }
.dd-post-body h3 { font-size: 22px !important; line-height: 1.25; margin: 28px 0 10px; padding: 0; }
.dd-post-body ul, .dd-post-body ol { margin: 0 0 18px; padding-left: 1.3em; }
.dd-post-body li { margin-bottom: 8px; }
.dd-post-body a { color: var(--dd-cyan-ink); text-decoration: underline; text-underline-offset: 2px; }
.dd-post-body img { border-radius: var(--dd-r-tile); max-width: 100%; height: auto; }
.dd-post-body figure { margin: 24px 0; }
.dd-post-body figcaption, .dd-post-body .wp-caption-text { font-size: 14px; line-height: 20px; color: var(--dd-day-muted); margin-top: 8px; }
.dd-post-body blockquote { border-left: 3px solid var(--dd-cyan); margin: 24px 0; padding: 4px 0 4px 20px; font-style: normal; }
.dd-post-body table { border-collapse: collapse; width: 100%; font-size: 15px; line-height: 22px; margin-bottom: 18px; }
.dd-post-body th, .dd-post-body td { border: 1px solid var(--dd-day-border); padding: 10px 12px; text-align: left; }
.dd-post-body th { background: var(--dd-day-raised); }
.dd-post-lpc { margin-top: 32px !important; }
.dd-post-lpc .dd-lpc-card { padding: 18px 18px 18px 24px; font-size: 15px; }
.dd-post-lpc .dd-lpc-copy strong { font-size: 17px; }

/* Keep reading */
.dd-post-more.et_pb_section { padding: 64px 0 96px !important; }
.dd-post-more h2 { font-size: 26px; margin-bottom: 4px; }
.dd-blog-more article.et_pb_post .entry-title { font-size: 18px !important; }
.dd-post-all { font-weight: 600; text-decoration: none; }

@media (max-width: 980px) {
	.dd-post-head.et_pb_section { padding-top: 28px !important; }
	.dd-post-hero img { aspect-ratio: 16 / 10; }
	.dd-post-body { font-size: 17px; line-height: 28px; }
	.dd-post-body h2 { font-size: 24px !important; }
}
@media (max-width: 480px) {
	.dd-blog-grid .et_pb_ajax_pagination_container { grid-template-columns: 1fr; }
}

/* ---- 45-cart.css ---- */
/* ==========================================================================
   Theme Builder: cart (Divi WooCommerce cart modules -> WooCommerce cart markup)
   ========================================================================== */
.dd-cart.et_pb_section { padding: 40px 0 96px !important; }
.dd-cart-h1 h1 { font-size: clamp(32px, 3.4vw, 40px); margin: 0; }
@media (min-width: 981px) {
	.dd-sec .dd-row.dd-cart-main .et_pb_column_2_3 { width: calc(100% - 432px); margin-right: 32px; }
	.dd-sec .dd-row.dd-cart-main .et_pb_column_1_3 { width: 400px; }
	.dd-cart-side { position: sticky; top: 96px; }
}

/* ---- Notices (shared with checkout) ---- */
.dd-wc-notice .woocommerce-message, .dd-wc-notice .woocommerce-info, .dd-wc-notice .woocommerce-error,
.dd-co .woocommerce-NoticeGroup .woocommerce-error, .dd-acct .woocommerce-message, .dd-acct .woocommerce-info, .dd-acct .woocommerce-error {
	border-radius: 16px !important; border: 1px solid var(--dd-day-border) !important; background: #fff !important; color: var(--dd-day-fg) !important; padding: 14px 18px !important; font-size: 14px; line-height: 21px; margin: 0 0 12px !important; list-style: none; box-shadow: none !important; }
.dd-wc-notice .woocommerce-message, .dd-acct .woocommerce-message { border-color: oklch(48% 0.14 149 / 0.4) !important; background: oklch(97% 0.03 149) !important; }
.dd-wc-notice .woocommerce-error, .dd-co .woocommerce-error, .dd-acct .woocommerce-error { border-color: oklch(58% 0.2 25 / 0.45) !important; background: oklch(97% 0.02 25) !important; }
.dd-wc-notice .woocommerce-message::before, .dd-wc-notice .woocommerce-info::before, .dd-wc-notice .woocommerce-error::before,
.dd-acct .woocommerce-message::before, .dd-acct .woocommerce-info::before, .dd-acct .woocommerce-error::before { display: none !important; }
.dd-wc-notice a.button, .dd-acct .woocommerce-message a.button, .dd-acct .woocommerce-info a.button { float: right; background: transparent !important; border: 0 !important; color: var(--dd-cyan-ink) !important; padding: 0 !important; font-size: 14px !important; font-weight: 600; }
.dd-wc-notice a.button::after { display: none !important; }
.dd-wc-notice a:not(.button) { color: var(--dd-cyan-ink); }

/* ---- Line items as cards ---- */
.dd-cart-lines table.shop_table.cart { border: 0 !important; border-collapse: separate !important; border-spacing: 0; margin: 0 !important; display: block; width: 100%; background: transparent; }
.dd-cart-lines table.shop_table.cart thead { display: none !important; }
.dd-cart-lines table.shop_table.cart tbody { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.dd-cart-lines tr.cart_item { display: grid !important; grid-template-columns: 96px minmax(0, 1fr) auto minmax(96px, auto); grid-template-areas: "thumb name qty sub" "thumb name qty remove"; column-gap: 16px; row-gap: 4px; align-items: center;
	border-radius: var(--dd-r-tile); border: 1px solid var(--dd-day-border); background: #fff; padding: 16px; }
.dd-cart-lines tr.cart_item td { display: block !important; border: 0 !important; padding: 0 !important; background: transparent !important; text-align: left !important; }
.dd-cart-lines tr.cart_item td::before { display: none !important; }
.dd-cart-lines td.product-thumbnail { grid-area: thumb; display: block !important; width: 96px !important; }
.dd-cart-lines td.product-thumbnail img { width: 96px !important; height: 96px !important; object-fit: cover; border-radius: 16px; display: block; }
.dd-cart-lines td.product-name { grid-area: name; font-size: 13px; color: var(--dd-day-muted); }
.dd-cart-lines td.product-name > a { display: block; font-family: var(--dd-font-display); font-weight: 600; font-size: 17px; line-height: 1.3; color: var(--dd-day-fg) !important; text-decoration: none; margin-bottom: 4px; }
.dd-cart-lines td.product-name dl.variation { margin: 0; font-size: 13px; line-height: 19px; display: flex; flex-wrap: wrap; gap: 0 6px; }
.dd-cart-lines td.product-name dl.variation dt, .dd-cart-lines td.product-name dl.variation dd { float: none !important; margin: 0 !important; padding: 0 !important; display: inline; }
.dd-cart-lines td.product-name dl.variation dd p { display: inline; margin: 0; padding: 0; }
.dd-cart-lines td.product-name dl.variation dd:not(:last-child)::after { content: " ·"; }
.dd-cart-lines td.product-name .backorder_notification { font-size: 12px; }
.dd-cart-lines td.product-price { display: none !important; }
.dd-cart-lines td.product-quantity { grid-area: qty; }
.dd-cart-lines td.product-quantity .quantity { margin: 0 !important; }
.dd-cart-lines td.product-quantity input.qty { width: 76px; height: 44px; border-radius: 14px !important; border: 1px solid var(--dd-day-input-border) !important; background: #fff !important; font: inherit !important; font-weight: 600 !important; text-align: center; color: var(--dd-day-fg) !important; padding: 0 6px !important; }
.dd-cart-lines td.product-subtotal { grid-area: sub; text-align: right !important; font-weight: 600; font-size: 16px; align-self: end; }
.dd-cart-lines td.product-remove { grid-area: remove; text-align: right !important; align-self: start; }
.dd-cart-lines td.product-remove a.remove { display: inline !important; width: auto !important; height: auto !important; font-size: 0 !important; line-height: 1 !important; background: transparent !important; color: var(--dd-cyan-ink) !important; border-radius: 0; text-decoration: underline; }
.dd-cart-lines td.product-remove a.remove::after { content: "Remove"; font-size: 13px; line-height: 19px; font-weight: 400; }
.dd-cart-lines td.product-remove a.remove:hover { color: var(--dd-day-fg) !important; }

/* Coupon + update row */
.dd-cart-lines tr:not(.cart_item) { display: block; }
.dd-cart-lines td.actions { display: flex !important; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0 0 !important; border: 0 !important; background: transparent !important; }
.dd-cart-lines td.actions .coupon { display: flex; gap: 8px; flex: 1 1 320px; max-width: 420px; float: none !important; }
.dd-cart-lines td.actions .coupon label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.dd-cart-lines td.actions #coupon_code { flex: 1 1 auto; width: auto !important; min-width: 0; height: 44px; min-height: 44px; border-radius: 14px !important; border: 1px solid var(--dd-day-input-border) !important; padding: 0 12px !important; font: inherit !important; background: #fff !important; color: var(--dd-day-fg) !important; }
.dd-cart-lines td.actions .button { height: 44px; padding: 0 16px !important; border-radius: 14px !important; border: 1px solid var(--dd-day-input-border) !important; background: #fff !important; color: var(--dd-day-fg) !important; font-family: var(--dd-font-body) !important; font-size: 14px !important; font-weight: 600 !important; line-height: 42px !important; float: none !important; }
.dd-cart-lines td.actions .button::after { display: none !important; }
.dd-cart-lines td.actions .button:disabled, .dd-cart-lines td.actions .button[disabled] { opacity: .5; }
.dd-cart-lpc { margin-top: 12px !important; }

/* Empty cart */
.dd-cart .cart-empty.woocommerce-info { border-radius: var(--dd-r-tile) !important; border: 1px dashed var(--dd-day-input-border) !important; background: transparent !important; color: var(--dd-day-fg) !important; padding: 32px 32px 0 !important; font-size: 18px; font-weight: 600; margin: 0 !important; }
.dd-cart .cart-empty.woocommerce-info::before { display: none; }
.dd-cart .return-to-shop { margin: 0 !important; padding: 12px 32px 32px; border: 1px dashed var(--dd-day-input-border); border-top: 0; border-radius: 0 0 var(--dd-r-tile) var(--dd-r-tile); }
.dd-cart .return-to-shop .button { display: inline-flex !important; align-items: center; height: 44px; padding: 0 22px !important; border-radius: 16px !important; border: 0 !important; background: var(--dd-cyan) !important; color: var(--dd-ink) !important; font-weight: 600 !important; font-size: 15px !important; }
.dd-cart .return-to-shop .button::after { display: none !important; }

/* ---- Totals card ---- */
.dd-cart-totals .cart_totals { width: 100% !important; float: none !important; border-radius: var(--dd-r-card); border: 1px solid var(--dd-day-border); background: #fff; padding: 24px; font-size: 15px; }
.dd-cart-totals .cart_totals > h2 { font-family: var(--dd-font-display) !important; font-size: 22px !important; font-weight: 600; margin: 0 0 14px; padding: 0; }
.dd-cart-totals table.shop_table { border: 0 !important; margin: 0 0 16px !important; border-collapse: collapse !important; width: 100%; }
.dd-cart-totals table.shop_table tr th, .dd-cart-totals table.shop_table tr td { border: 0 !important; padding: 7px 0 !important; background: transparent !important; font-weight: 400; vertical-align: top; line-height: 1.4; }
.dd-cart-totals table.shop_table tr td { text-align: right !important; }
.dd-cart-totals table.shop_table tr td::before { display: none !important; }
.dd-cart-totals tr.cart-subtotal td { font-weight: 600; }
.dd-cart-totals tr.shipping td, .dd-cart-totals .woocommerce-shipping-totals td { font-size: 14px; }
.dd-cart-totals #shipping_method { margin: 0 !important; padding: 0; list-style: none; }
.dd-cart-totals #shipping_method li { margin: 0 0 4px !important; padding: 0 !important; text-indent: 0 !important; }
.dd-cart-totals #shipping_method li label { font-weight: 600; color: oklch(38% 0.12 149); }
.dd-cart-totals .woocommerce-shipping-destination, .dd-cart-totals .shipping-calculator-button { font-size: 13px; color: var(--dd-day-muted); margin: 4px 0 0; }
.dd-cart-totals .shipping-calculator-button { color: var(--dd-cyan-ink) !important; }
.dd-cart-totals tr.tax-rate, .dd-cart-totals tr.tax-total { color: var(--dd-day-muted); }
.dd-cart-totals tr.order-total th, .dd-cart-totals tr.order-total td { border-top: 1px solid var(--dd-day-border) !important; padding-top: 14px !important; font-size: 18px; font-weight: 600 !important; }
.dd-cart-totals tr.order-total small { font-size: 12px; font-weight: 400; color: var(--dd-day-muted); }
.dd-cart-totals .wc-proceed-to-checkout { padding: 0 !important; }
.dd-cart-totals .wc-proceed-to-checkout a.checkout-button { display: flex !important; align-items: center; justify-content: center; height: 52px; margin: 0 !important; padding: 0 !important; border-radius: 16px !important; border: 0 !important; background: var(--dd-blue-strong) !important; color: #fff !important; font-family: var(--dd-font-body) !important; font-weight: 600 !important; font-size: 16px !important; }
.dd-cart-totals .wc-proceed-to-checkout a.checkout-button::after { display: none !important; }
.dd-cart-totals .wc-proceed-to-checkout a.checkout-button:hover { background: oklch(46% 0.2 264) !important; }
.dd-cart-secure p { text-align: center; font-size: 12px; margin-top: -4px; }

/* Cross-sells */
.dd-cart-cross .cross-sells > h2 { font-family: var(--dd-font-display) !important; font-size: 24px !important; margin: 32px 0 16px; }
.dd-cart-cross .cross-sells { width: 100% !important; float: none !important; }

@media (max-width: 767px) {
	.dd-cart-lines tr.cart_item { grid-template-columns: 72px minmax(0, 1fr) auto; grid-template-areas: "thumb name name" "thumb qty sub" "thumb qty remove"; column-gap: 12px; padding: 14px; }
	.dd-cart-lines td.product-thumbnail, .dd-cart-lines td.product-thumbnail img { width: 72px !important; height: 72px !important; }
	.dd-cart-lines td.product-name > a { font-size: 16px; }
	.dd-cart-lines td.actions .coupon { max-width: none; }
	.dd-cart-lines td.actions .button[name=update_cart] { width: 100%; }
	.dd-cart-totals .cart_totals { padding: 20px; }
}

/* ---- 46-checkout.css ---- */
/* ==========================================================================
   Theme Builder: checkout (Divi checkout modules -> WooCommerce checkout markup)
   + order received / thank-you (.woocommerce-order) + installer panel (dd-ty-*)
   ========================================================================== */

/* ---- Slim header / footer (template's global header + footer disabled) ---- */
.dd-co-header.et_pb_section { border-bottom: 1px solid var(--dd-night-border); }
.dd-co-header .dd-co-bar.et_pb_row { min-height: 73px; display: flex !important; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 0; }
.dd-co-header .dd-co-bar::after { display: none; }
.dd-co-header .dd-co-bar .et_pb_column { width: auto !important; margin: 0 !important; }
.dd-co-header .dd-co-back-col { text-align: right; }
.dd-co-logo { display: inline-block; background: #fff; border-radius: 12px; padding: 8px 14px; color: var(--dd-ink) !important; font-family: var(--dd-font-display); font-weight: 600; font-size: 18px; line-height: 1.3; letter-spacing: -0.02em; text-decoration: none; }
.dd-co-back { color: var(--dd-cyan) !important; font-size: 14px; }
.dd-co-footer.et_pb_section { border-top: 1px solid var(--dd-day-border); }
.dd-co-footer .dd-row.et_pb_row { padding: 20px 0 !important; }
.dd-co-foot-text p { text-align: center; font-size: 12px; color: var(--dd-day-muted); }

/* ---- Layout ---- */
.dd-co.et_pb_section { padding: 40px 0 96px !important; }
.dd-co-h1 h1 { font-size: 36px; margin: 0; }
@media (min-width: 981px) {
	.dd-sec .dd-row.dd-co-main .et_pb_column_2_3 { width: calc(100% - 440px); margin-right: 40px; }
	.dd-sec .dd-row.dd-co-main .et_pb_column_1_3 { width: 400px; }
	.dd-co-side { position: sticky; top: 24px; }
}
.dd-co-form .et_pb_module { margin-bottom: 28px; }

/* Login / coupon toggles (checkout notice module) */
.dd-co-notice .woocommerce-form-login, .dd-co-notice .checkout_coupon { border-radius: var(--dd-r-tile) !important; border: 1px solid var(--dd-day-border) !important; background: #fff; padding: 20px !important; margin: 0 0 16px !important; }
.dd-co-notice .checkout_coupon { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.dd-co-notice .checkout_coupon p { margin: 0; padding: 0; float: none !important; width: auto !important; }
.dd-co-notice .checkout_coupon .form-row-first { flex: 1 1 220px; }

/* Section headings ("Billing details", "Ship to a different address?", "Additional information") */
.dd-co-step h3, .dd-co-step #ship-to-different-address { font-family: var(--dd-font-display) !important; font-weight: 600 !important; font-size: 20px !important; line-height: 1.3; padding: 0 !important; margin: 0 0 12px !important; color: var(--dd-day-fg); }
.dd-co-step #ship-to-different-address label { display: flex; align-items: center; gap: 10px; font-size: 20px !important; font-weight: 600 !important; cursor: pointer; }
.dd-co-step input[type=checkbox], .dd-co-step input[type=radio], .dd-co-summary input[type=radio], .dd-acct input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--dd-blue-strong); margin: 0; }

/* Fields: two-column grid, labels above */
.dd-co-step .woocommerce-billing-fields__field-wrapper, .dd-co-step .woocommerce-shipping-fields__field-wrapper, .dd-co-step .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dd-co-step .form-row { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.dd-co-step .form-row-wide, .dd-co-step .notes, .dd-co-step #billing_address_1_field, .dd-co-step #billing_address_2_field, .dd-co-step #shipping_address_1_field, .dd-co-step #shipping_address_2_field,
.dd-co-step #billing_email_field, .dd-co-step #billing_phone_field, .dd-co-step #billing_company_field, .dd-co-step #shipping_company_field, .dd-co-step #billing_country_field, .dd-co-step #shipping_country_field { grid-column: 1 / -1; }
.dd-co-step .form-row label { font-size: 14px !important; font-weight: 500 !important; line-height: 1.4 !important; margin: 0 !important; color: var(--dd-day-fg); }
.dd-co-step .form-row .required { color: oklch(52% 0.2 25); text-decoration: none; }
.dd-co-step .form-row .optional { color: var(--dd-day-muted); font-weight: 400; }
.dd-co-step .form-row .input-text, .dd-co-step .form-row select, .dd-co-summary .input-text { height: 48px; min-height: 48px; width: 100%; }
.dd-co-step .form-row textarea.input-text { height: auto; min-height: 110px; }
.dd-co-step .select2-container .select2-selection--single { height: 48px !important; border-radius: 14px !important; border: 1px solid var(--dd-day-input-border) !important; background: #fff !important; display: flex; align-items: center; }
.dd-co-step .select2-container .select2-selection__rendered { padding: 0 36px 0 14px !important; line-height: 46px !important; color: var(--dd-day-fg) !important; }
.dd-co-step .select2-container .select2-selection__arrow { height: 46px !important; right: 8px !important; }
.dd-co-step .woocommerce-invalid .input-text, .dd-co-step .woocommerce-invalid select { border-color: oklch(58% 0.2 25) !important; }
.dd-co-step .form-row.woocommerce-validated .input-text { border-color: var(--dd-day-input-border) !important; }
.dd-co-step .woocommerce-account-fields { margin-top: 12px; }
.dd-co-step .woocommerce-account-fields label.checkbox, .dd-co-step .form-row label.checkbox { display: flex !important; flex-direction: row; align-items: center; gap: 10px; }
.dd-co-step .shipping_address { margin-top: 12px; }
.dd-co-terms { margin-bottom: 12px !important; }
.dd-co-terms p { font-size: 13px; }

/* ---- Order summary card ---- */
.dd-co-summary { border-radius: var(--dd-r-card); border: 1px solid var(--dd-day-border); background: #fff; padding: 24px; font-size: 14px; }
.dd-co-summary::before { content: "Order summary"; display: block; font-family: var(--dd-font-display); font-weight: 600; font-size: 20px; margin-bottom: 14px; letter-spacing: -0.02em; }
.dd-co-summary table.shop_table { border: 0 !important; margin: 0 !important; border-collapse: collapse !important; width: 100%; }
.dd-co-summary table.shop_table thead { display: none; }
.dd-co-summary table.shop_table th, .dd-co-summary table.shop_table td { border: 0 !important; padding: 7px 0 !important; background: transparent !important; vertical-align: top; line-height: 1.45; }
.dd-co-summary table.shop_table td:last-child, .dd-co-summary table.shop_table tfoot td { text-align: right; }
.dd-co-summary tr.cart_item td { padding: 10px 0 !important; }
.dd-co-summary td.product-name { font-weight: 600; padding-right: 12px !important; }
.dd-co-summary td.product-name .product-quantity { font-weight: 400; color: var(--dd-day-muted); }
.dd-co-summary td.product-name dl.variation { font-weight: 400; color: var(--dd-day-muted); font-size: 13px; margin: 2px 0 0; }
.dd-co-summary td.product-name dl.variation dt, .dd-co-summary td.product-name dl.variation dd { display: inline; float: none; margin: 0; padding: 0; }
.dd-co-summary td.product-name dl.variation dd p { display: inline; margin: 0; }
.dd-co-summary td.product-total { font-weight: 600; }
.dd-co-summary tfoot tr.cart-subtotal th, .dd-co-summary tfoot tr.cart-subtotal td { border-top: 1px solid var(--dd-day-border) !important; padding-top: 12px !important; }
.dd-co-summary tfoot th { font-weight: 400 !important; text-align: left; }
.dd-co-summary tfoot tr.order-total th, .dd-co-summary tfoot tr.order-total td { border-top: 1px solid var(--dd-day-border) !important; padding-top: 12px !important; font-size: 18px; font-weight: 600 !important; }
/* Shipping methods (rendered in the review table) as option cards */
.dd-co-summary tr.woocommerce-shipping-totals th { display: block; padding-bottom: 6px !important; font-weight: 600 !important; }
.dd-co-summary tr.woocommerce-shipping-totals td { display: block; text-align: left !important; padding-top: 0 !important; }
.dd-co-summary tr.woocommerce-shipping-totals { display: block; }
.dd-co-summary #shipping_method { list-style: none; margin: 0 !important; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.dd-co-summary #shipping_method li { position: relative; display: flex; align-items: center; gap: 10px; min-height: 52px; margin: 0 !important; padding: 8px 14px !important; border-radius: 14px; border: 1px solid oklch(20% 0.03 264 / 0.2); background: #fff; text-indent: 0 !important; line-height: 1.35; }
.dd-co-summary #shipping_method li:has(input:checked) { border: 2px solid var(--dd-blue-strong); background: oklch(96.5% 0.02 262); padding: 7px 13px !important; }
.dd-co-summary #shipping_method li label { flex: 1 1 auto; display: flex; justify-content: space-between; gap: 8px; font-size: 14px; cursor: pointer; margin: 0 !important; }
.dd-co-summary #shipping_method li label .amount { font-weight: 600; }

/* ---- Payment ---- */
.dd-co-payment #payment { background: transparent !important; border-radius: 0; }
.dd-co-payment #payment::before { content: "Payment"; display: block; font-family: var(--dd-font-display); font-weight: 600; font-size: 20px; margin-bottom: 12px; letter-spacing: -0.02em; }
.dd-co-payment #payment ul.payment_methods { border: 0 !important; padding: 0 !important; margin: 0 0 16px !important; display: flex; flex-direction: column; gap: 10px; }
.dd-co-payment #payment ul.payment_methods li { border-radius: 16px; border: 1px solid oklch(20% 0.03 264 / 0.2); background: #fff; padding: 16px 18px !important; margin: 0 !important; line-height: 1.4; list-style: none; }
.dd-co-payment #payment ul.payment_methods li:has(> input:checked) { border: 2px solid var(--dd-blue-strong); padding: 15px 17px !important; }
.dd-co-payment #payment ul.payment_methods li > label { font-weight: 600; font-size: 15px; margin-left: 6px; cursor: pointer; }
.dd-co-payment #payment ul.payment_methods li img { max-height: 22px; vertical-align: middle; margin-left: 6px; }
.dd-co-payment #payment div.payment_box { background: transparent !important; padding: 12px 0 0 !important; margin: 0 !important; font-size: 14px; color: var(--dd-day-muted); }
.dd-co-payment #payment div.payment_box::before { display: none !important; }
.dd-co-payment #payment div.payment_box fieldset { border: 0; padding: 0; margin: 0; }
.dd-co-payment #payment .StripeElement, .dd-co-payment #payment .wc-stripe-elements-field, .dd-co-payment #payment .wc-upe-form { border-radius: 12px; }
.dd-co-payment #payment div.form-row.place-order { padding: 0 !important; margin: 0 !important; }
.dd-co-payment .woocommerce-terms-and-conditions-wrapper, .dd-co-payment .woocommerce-privacy-policy-text { font-size: 13px; color: var(--dd-day-muted); margin-bottom: 12px; }
.dd-co-payment .woocommerce-privacy-policy-text p { margin: 0 0 8px; }
.dd-co-payment #place_order { width: 100%; height: 56px; float: none !important; margin: 0 !important; padding: 0 24px !important; border-radius: 16px !important; border: 0 !important; background: var(--dd-blue-strong) !important; color: #fff !important; font-family: var(--dd-font-body) !important; font-size: 17px !important; font-weight: 600 !important; line-height: 56px !important; }
.dd-co-payment #place_order::after { display: none !important; }
.dd-co-payment #place_order:hover { background: oklch(46% 0.2 264) !important; padding: 0 24px !important; }

/* ==========================================================================
   Order received / thank-you (/checkout/order-received/…)
   ========================================================================== */
body.woocommerce-order-received .dd-co-h1, body.woocommerce-order-received .dd-co-terms, body.woocommerce-order-received .dd-co-notice { display: none !important; }
.woocommerce-order { max-width: 960px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px; color: var(--dd-day-fg); }
.woocommerce-order > p.woocommerce-thankyou-order-received { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; font-family: var(--dd-font-display); font-weight: 600; font-size: clamp(30px, 4vw, 40px); line-height: 1.1; letter-spacing: -0.02em; color: var(--dd-day-fg) !important; }
.woocommerce-order > p.woocommerce-thankyou-order-received::before { content: "Order received"; display: table; margin-bottom: 12px; font-family: var(--dd-font-body); font-size: 13px; font-weight: 600; letter-spacing: 0; line-height: 18px; color: oklch(38% 0.12 149); border: 1px solid oklch(48% 0.14 149 / 0.4); background: oklch(97% 0.03 149); border-radius: 9999px; padding: 4px 12px; }
/* Overview: order / date / email / total / payment as small cards */
.woocommerce-order ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin: 0 !important; padding: 0 !important; list-style: none; }
.woocommerce-order ul.woocommerce-order-overview::before, .woocommerce-order ul.woocommerce-order-overview::after { display: none; }
.woocommerce-order ul.woocommerce-order-overview li { float: none !important; margin: 0 !important; padding: 16px 18px !important; border: 1px solid var(--dd-day-border) !important; border-radius: 20px; background: #fff; font-size: 13px; line-height: 1.4; text-transform: none; color: var(--dd-day-muted); }
.woocommerce-order ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 15px; font-weight: 600; color: var(--dd-day-fg); word-break: break-word; }
/* Order details + addresses */
.woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details, .woocommerce-order .woocommerce-bacs-bank-details { margin: 0 !important; border-radius: var(--dd-r-card); border: 1px solid var(--dd-day-border); background: #fff; padding: 24px; font-size: 15px; }
.woocommerce-order .woocommerce-order-details__title, .woocommerce-order .woocommerce-column__title, .woocommerce-order .woocommerce-customer-details > h2 { font-family: var(--dd-font-display) !important; font-weight: 600; font-size: 20px !important; margin: 0 0 12px; padding: 0; }
.woocommerce-order table.woocommerce-table--order-details, .dd-acct table.woocommerce-table--order-details { border: 0 !important; margin: 0 !important; border-collapse: collapse !important; width: 100%; }
.woocommerce-order table.woocommerce-table--order-details thead, .dd-acct table.woocommerce-table--order-details thead { display: none; }
.woocommerce-order table.woocommerce-table--order-details th, .woocommerce-order table.woocommerce-table--order-details td,
.dd-acct table.woocommerce-table--order-details th, .dd-acct table.woocommerce-table--order-details td { border: 0 !important; padding: 7px 0 !important; background: transparent !important; vertical-align: top; font-weight: 400; text-align: left; }
.woocommerce-order table.woocommerce-table--order-details td:last-child, .dd-acct table.woocommerce-table--order-details td:last-child { text-align: right; font-weight: 600; }
.woocommerce-order table.woocommerce-table--order-details td.product-name a, .dd-acct table.woocommerce-table--order-details td.product-name a { color: var(--dd-day-fg); font-weight: 600; text-decoration: none; }
.woocommerce-order table.woocommerce-table--order-details .wc-item-meta, .dd-acct table.woocommerce-table--order-details .wc-item-meta { list-style: none; margin: 2px 0 0; padding: 0; font-size: 13px; color: var(--dd-day-muted); }
.woocommerce-order table.woocommerce-table--order-details .wc-item-meta li, .dd-acct table.woocommerce-table--order-details .wc-item-meta li { display: inline; margin: 0; }
.woocommerce-order table.woocommerce-table--order-details .wc-item-meta li p, .dd-acct table.woocommerce-table--order-details .wc-item-meta li p { display: inline; margin: 0; }
.woocommerce-order table.woocommerce-table--order-details tfoot tr:first-child th, .woocommerce-order table.woocommerce-table--order-details tfoot tr:first-child td,
.dd-acct table.woocommerce-table--order-details tfoot tr:first-child th, .dd-acct table.woocommerce-table--order-details tfoot tr:first-child td { border-top: 1px solid var(--dd-day-border) !important; padding-top: 12px !important; }
.woocommerce-order table.woocommerce-table--order-details tfoot tr:last-child th, .woocommerce-order table.woocommerce-table--order-details tfoot tr:last-child td,
.dd-acct table.woocommerce-table--order-details tfoot tr:last-child th, .dd-acct table.woocommerce-table--order-details tfoot tr:last-child td { font-size: 18px; font-weight: 600 !important; }
.woocommerce-order .woocommerce-columns--addresses, .dd-acct .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.woocommerce-order .woocommerce-columns--addresses::before, .woocommerce-order .woocommerce-columns--addresses::after, .dd-acct .woocommerce-columns--addresses::before, .dd-acct .woocommerce-columns--addresses::after { display: none; }
.woocommerce-order .woocommerce-column, .dd-acct .woocommerce-customer-details .woocommerce-column { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce-order address, .dd-acct .woocommerce-customer-details address { border: 0 !important; padding: 0 !important; font-style: normal; font-size: 14px; line-height: 21px; }
.woocommerce-order address p, .dd-acct .woocommerce-customer-details address p { margin: 6px 0 0; padding: 0; }

/* Installer panel added by the woocommerce_thankyou hook (markup in the rollout notes) */
.dd-ty-next { display: flex; flex-direction: column; gap: 14px; }
.dd-ty-guides { display: flex; flex-direction: column; gap: 6px; border-radius: var(--dd-r-tile); padding: 22px; border: 1px solid var(--dd-day-border); background: #fff; color: inherit !important; text-decoration: none !important; }
.dd-ty-guides strong { font-family: var(--dd-font-display); font-size: 20px; font-weight: 600; }
.dd-ty-guides span { color: var(--dd-day-muted); font-size: 14px; }
.dd-ty-guides .dd-ty-link { color: var(--dd-cyan-ink); font-weight: 600; }
.dd-ty-guides:hover { border-color: oklch(52% 0.2 264 / 0.4); }
.dd-ty-installer { position: relative; overflow: hidden; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; border-radius: var(--dd-r-card); background: var(--dd-night-bg); color: var(--dd-night-fg); padding: 32px; }
.dd-ty-installer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--dd-gradient); }
.dd-ty-installer .dd-ty-copy { flex: 1 1 380px; display: flex; flex-direction: column; gap: 8px; }
.dd-ty-installer .dd-ty-eyebrow { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--dd-cyan); }
.dd-ty-installer h2 { margin: 0; padding: 0; font-family: var(--dd-font-display) !important; font-size: 28px; line-height: 1.15; letter-spacing: -0.02em; color: var(--dd-night-fg); }
.dd-ty-installer p { margin: 0; padding: 0; font-size: 16px; line-height: 1.5; color: var(--dd-night-muted); }
.dd-ty-installer .dd-ty-btn { display: inline-flex; align-items: center; height: 52px; padding: 0 24px; border-radius: 16px; background: var(--dd-cyan); color: var(--dd-ink) !important; font-weight: 600; text-decoration: none !important; white-space: nowrap; }
.dd-ty-installer .dd-ty-btn:hover { background: oklch(88% 0.12 214); }

@media (max-width: 980px) {
	.dd-co.et_pb_section { padding-top: 28px !important; }
	.dd-co-side { position: static; }
}
@media (max-width: 600px) {
	.dd-co-step .woocommerce-billing-fields__field-wrapper, .dd-co-step .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
	.dd-co-h1 h1 { font-size: 30px; }
	.dd-co-logo { font-size: 16px; padding: 6px 12px; }
	.dd-co-summary, .woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details { padding: 20px; }
	.dd-ty-installer { padding: 24px; }
	.dd-ty-installer h2 { font-size: 24px; }
}

/* ---- 47-account.css ---- */
/* ==========================================================================
   Theme Builder: My Account ([woocommerce_my_account] inside .dd-acct)
   Logged in: navigation + content (dashboard, orders, view order, addresses, details)
   Logged out: login / register (Login design). Also applies to /login/ via .woocommerce-form-login.
   ========================================================================== */
.dd-acct-sec.et_pb_section { padding: 40px 0 96px !important; }
.dd-acct { font-size: 15px; line-height: 1.6; color: var(--dd-day-fg); }
.dd-acct a { color: var(--dd-cyan-ink); }

/* ---- Logged-in layout: nav column + content ---- */
.dd-acct .woocommerce:has(.woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; align-items: start; }
.dd-acct .woocommerce::before, .dd-acct .woocommerce::after { display: none; }
.dd-acct .woocommerce-MyAccount-navigation, .dd-acct .woocommerce-MyAccount-content { width: auto !important; float: none !important; margin: 0 !important; }
.dd-acct .woocommerce-MyAccount-navigation { position: sticky; top: 96px; }
.dd-acct .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 4px; border: 0 !important; }
.dd-acct .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none; }
.dd-acct .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 14px !important; border-radius: 14px; font-size: 15px; color: var(--dd-day-fg) !important; text-decoration: none; transition: background-color .15s; }
.dd-acct .woocommerce-MyAccount-navigation li a:hover { background: var(--dd-day-raised); }
.dd-acct .woocommerce-MyAccount-navigation li.is-active a { background: oklch(94% 0.012 258); font-weight: 600; }
.dd-acct .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--dd-cyan-ink) !important; }

.dd-acct .woocommerce-MyAccount-content { display: flex; flex-direction: column; gap: 20px; }
.dd-acct .woocommerce-MyAccount-content > p { margin: 0; padding: 0; }
.dd-acct .woocommerce-MyAccount-content > p:first-of-type { font-size: 16px; }
.dd-acct .woocommerce-MyAccount-content h2, .dd-acct .woocommerce-MyAccount-content h3 { font-family: var(--dd-font-display) !important; font-weight: 600; font-size: 22px; margin: 0 0 10px; padding: 0; }
.dd-acct .woocommerce-MyAccount-content .woocommerce-notices-wrapper:empty { display: none; }

/* ---- Orders table (Account design) ---- */
.dd-acct table.woocommerce-orders-table, .dd-acct table.shop_table.woocommerce-MyAccount-orders, .dd-acct table.woocommerce-MyAccount-paymentMethods, .dd-acct table.woocommerce-MyAccount-downloads {
	width: 100%; border: 1px solid var(--dd-day-border) !important; border-radius: var(--dd-r-tile) !important; border-collapse: separate !important; border-spacing: 0; overflow: hidden; background: #fff; font-size: 14px; margin: 0 !important; }
.dd-acct table.woocommerce-orders-table thead th, .dd-acct table.woocommerce-MyAccount-paymentMethods thead th, .dd-acct table.woocommerce-MyAccount-downloads thead th { background: var(--dd-day-raised); text-align: left; padding: 12px 16px !important; font-weight: 600; border: 0 !important; }
.dd-acct table.woocommerce-orders-table td, .dd-acct table.woocommerce-orders-table tbody th, .dd-acct table.woocommerce-MyAccount-paymentMethods td, .dd-acct table.woocommerce-MyAccount-downloads td { padding: 14px 16px !important; border: 0 !important; border-top: 1px solid oklch(20% 0.03 264 / 0.1) !important; vertical-align: middle; background: transparent !important; }
.dd-acct .woocommerce-orders-table__cell-order-number a { font-weight: 600; color: var(--dd-day-fg) !important; text-decoration: none; }
.dd-acct .woocommerce-orders-table__cell-order-status { font-weight: 600; font-size: 13px; }
.dd-acct .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status { color: oklch(38% 0.12 149); }
.dd-acct .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status { color: var(--dd-cyan-ink); }
.dd-acct .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status,
.dd-acct .woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status { color: oklch(50% 0.12 70); }
.dd-acct .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.dd-acct .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status,
.dd-acct .woocommerce-orders-table__row--status-refunded .woocommerce-orders-table__cell-order-status { color: var(--dd-day-muted); }
.dd-acct .woocommerce-orders-table__cell-order-actions { text-align: right !important; white-space: nowrap; }
/* Action buttons as text links (Track · View · Pay · Cancel) */
.dd-acct .woocommerce-orders-table__cell-order-actions .button, .dd-acct table.woocommerce-MyAccount-paymentMethods .button { display: inline !important; background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 0 0 12px !important; color: var(--dd-cyan-ink) !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.4 !important; }
.dd-acct .woocommerce-orders-table__cell-order-actions .button:first-child { margin-left: 0 !important; }
.dd-acct .woocommerce-orders-table__cell-order-actions .button::after, .dd-acct table .button::after { display: none !important; }
.dd-acct .woocommerce-orders-table__cell-order-actions .button:hover { text-decoration: underline; }
.dd-acct .woocommerce-pagination { display: flex; gap: 8px; justify-content: space-between; }

/* ---- Buttons inside account (pay, save, add address, empty states) ---- */
.dd-acct .woocommerce-Button, .dd-acct button.button, .dd-acct .woocommerce-MyAccount-content > .woocommerce-message .button, .dd-acct .woocommerce-pagination .button, .dd-acct a.button:not(table a) {
	display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px !important; border-radius: 16px !important; border: 0 !important; background: var(--dd-blue-strong) !important; color: #fff !important; font-family: var(--dd-font-body) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1 !important; }
.dd-acct .woocommerce-Button::after, .dd-acct button.button::after, .dd-acct a.button::after { display: none !important; }
.dd-acct .woocommerce-Button:hover, .dd-acct button.button:hover { background: oklch(46% 0.2 264) !important; padding: 0 22px !important; }
.dd-acct .woocommerce-info .button, .dd-acct .woocommerce-message .button { float: right; min-height: 0 !important; background: transparent !important; color: var(--dd-cyan-ink) !important; padding: 0 !important; }

/* ---- View order (OrderDetail design) ---- */
.dd-acct .woocommerce-MyAccount-content > p:has(mark.order-number) { font-size: 14px; color: var(--dd-day-muted); }
.dd-acct mark { background: transparent; color: var(--dd-day-fg); font-weight: 600; }
.dd-acct mark.order-status { display: inline-block; padding: 3px 10px; border-radius: 9999px; background: oklch(94% 0.012 258); font-size: 13px; line-height: 18px; }
.dd-acct .woocommerce-order-details, .dd-acct .woocommerce-customer-details { border-radius: var(--dd-r-tile); border: 1px solid var(--dd-day-border); background: #fff; padding: 20px; margin: 0 !important; }
.dd-acct .woocommerce-OrderUpdates { list-style: none; padding: 0; margin: 0; }
.dd-acct .woocommerce-OrderUpdate { border-left: 3px solid var(--dd-cyan); padding-left: 12px; margin-bottom: 12px; }
.dd-acct .order-again { margin: 12px 0 0; }

/* ---- Addresses + account details forms ---- */
.dd-acct .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.dd-acct .woocommerce-Addresses::before, .dd-acct .woocommerce-Addresses::after { display: none; }
.dd-acct .woocommerce-Address { width: auto !important; float: none !important; margin: 0 !important; border-radius: 20px; border: 1px solid var(--dd-day-border); background: #fff; padding: 18px; }
.dd-acct .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.dd-acct .woocommerce-Address-title h2, .dd-acct .woocommerce-Address-title h3 { font-size: 17px !important; margin: 0 0 6px !important; }
.dd-acct .woocommerce-Address-title .edit { float: none; font-size: 14px; }
.dd-acct .woocommerce-Address address { font-style: normal; font-size: 14px; line-height: 21px; }
.dd-acct form.woocommerce-EditAccountForm, .dd-acct form.edit-account, .dd-acct .woocommerce-address-fields { max-width: 640px; }
.dd-acct .woocommerce-address-fields__field-wrapper, .dd-acct form.woocommerce-EditAccountForm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dd-acct form.woocommerce-EditAccountForm > *:not(.form-row-first):not(.form-row-last), .dd-acct .woocommerce-address-fields__field-wrapper > .form-row-wide { grid-column: 1 / -1; }
.dd-acct form .form-row { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.dd-acct form .form-row label { font-size: 14px !important; font-weight: 500 !important; margin: 0 !important; }
.dd-acct form .form-row .input-text, .dd-acct form .form-row select { width: 100%; }
.dd-acct form fieldset { border: 1px solid var(--dd-day-border); border-radius: 20px; padding: 16px 18px; margin: 8px 0 0; display: flex; flex-direction: column; gap: 12px; }
.dd-acct form fieldset legend { font-family: var(--dd-font-display); font-weight: 600; font-size: 17px; padding: 0 6px; }
.dd-acct form .clear { display: none; }
.dd-acct .password-input { display: flex; position: relative; width: 100%; }
.dd-acct .show-password-input { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); }
.dd-acct em, .dd-acct #account_display_name_description { font-size: 12px; color: var(--dd-day-muted); font-style: normal; }

/* ---- Logged out: Login (white card) + Register (dark card) ---- */
.dd-acct #customer_login, .dd-acct .u-columns.col2-set { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr)); gap: 24px; max-width: 1100px; margin: 16px auto 0; }
.dd-acct #customer_login::before, .dd-acct #customer_login::after { display: none; }
.dd-acct #customer_login .u-column1, .dd-acct #customer_login .u-column2 { width: auto !important; float: none !important; margin: 0 !important; border-radius: var(--dd-r-card); padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.dd-acct #customer_login .u-column1 { background: #fff; border: 1px solid var(--dd-day-border); }
.dd-acct #customer_login .u-column2 { background: var(--dd-night-bg); color: var(--dd-night-fg); }
.dd-acct #customer_login h2, .dd-acct .et_pb_code_inner > .woocommerce > h2 { font-family: var(--dd-font-display) !important; font-weight: 600; font-size: 30px !important; letter-spacing: -0.02em; margin: 0; padding: 0; color: inherit; }
/* Standalone login form (registration off, or /login/) */
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword { border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0; display: flex; flex-direction: column; gap: 16px; }
.dd-acct .et_pb_code_inner > .woocommerce > .woocommerce-form-login, .dd-acct .et_pb_code_inner > .woocommerce > .woocommerce-ResetPassword { max-width: 520px; background: #fff; border: 1px solid var(--dd-day-border) !important; border-radius: var(--dd-r-card); padding: 32px !important; margin: 16px 0 0 !important; }
.woocommerce-form-login .form-row, .woocommerce-form-register .form-row, .woocommerce-ResetPassword .form-row { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.woocommerce-form-login .form-row label, .woocommerce-form-register .form-row label { font-size: 14px !important; font-weight: 500 !important; margin: 0 !important; color: inherit; }
.woocommerce-form-login .input-text, .woocommerce-form-register .input-text, .woocommerce-ResetPassword .input-text { width: 100%; height: 48px; }
.woocommerce-form-login p.form-row:has(.woocommerce-form-login__submit) { flex-direction: row-reverse; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.woocommerce-form-login .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 8px; font-size: 14px !important; margin: 0 !important; }
.woocommerce-form-login .woocommerce-form-login__submit, .woocommerce-form-register .woocommerce-form-register__submit, .woocommerce-ResetPassword .button {
	width: 100%; height: 48px; margin: 0 !important; padding: 0 22px !important; border-radius: 16px !important; border: 0 !important; background: var(--dd-blue-strong) !important; color: #fff !important; font-family: var(--dd-font-body) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 48px !important; float: none !important; }
.woocommerce-form-login .woocommerce-form-login__submit::after, .woocommerce-form-register .woocommerce-form-register__submit::after, .woocommerce-ResetPassword .button::after { display: none !important; }
.woocommerce-form-login .lost_password { margin: 0 !important; font-size: 14px; }
/* Register in the dark card */
.dd-acct #customer_login .u-column2 .input-text { background: var(--dd-night-surface) !important; border-color: var(--dd-night-input-border) !important; color: var(--dd-night-fg) !important; }
.dd-acct #customer_login .u-column2 p, .dd-acct #customer_login .u-column2 .woocommerce-privacy-policy-text p { color: var(--dd-night-muted); font-size: 13px; margin: 0; }
.dd-acct #customer_login .u-column2 a { color: var(--dd-cyan); }
.dd-acct #customer_login .u-column2 .woocommerce-form-register__submit { background: var(--dd-cyan) !important; color: var(--dd-ink) !important; }
.dd-acct #customer_login .u-column2 label { color: var(--dd-night-fg); }

@media (max-width: 980px) {
	.dd-acct .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; gap: 20px; }
	.dd-acct .woocommerce-MyAccount-navigation { position: static; }
	.dd-acct .woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 6px; padding-bottom: 4px !important; }
	.dd-acct .woocommerce-MyAccount-navigation li a { white-space: nowrap; padding: 10px 14px !important; border: 1px solid var(--dd-day-border); background: #fff; }
}
@media (max-width: 767px) {
	/* WooCommerce's responsive table: rows as stacked cards */
	.dd-acct table.woocommerce-orders-table { border: 0 !important; background: transparent; }
	.dd-acct table.woocommerce-orders-table thead { display: none; }
	.dd-acct table.woocommerce-orders-table tbody tr { display: block; border: 1px solid var(--dd-day-border); border-radius: 20px; background: #fff; padding: 8px 16px; margin-bottom: 12px; }
	.dd-acct table.woocommerce-orders-table tbody td, .dd-acct table.woocommerce-orders-table tbody th { display: flex !important; justify-content: space-between; gap: 12px; padding: 8px 0 !important; border-top: 0 !important; text-align: right !important; }
	.dd-acct table.woocommerce-orders-table tbody td::before, .dd-acct table.woocommerce-orders-table tbody th::before { content: attr(data-title); font-weight: 400; color: var(--dd-day-muted); float: none !important; }
	.dd-acct .woocommerce-orders-table__cell-order-actions::before { content: "" !important; }
	.dd-acct .woocommerce-address-fields__field-wrapper, .dd-acct form.woocommerce-EditAccountForm { grid-template-columns: 1fr; }
	.dd-acct #customer_login .u-column1, .dd-acct #customer_login .u-column2 { padding: 24px; }
}

/* ---- 90-commerce-extras.css ---- */
/* ---- Pack cards (per-clip pricing) ---- */
.dd-packs-select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none; }
.variations tr:has(.dd-packs) th, .variations tr:has(.dd-packs) td { display: block; width: 100%; padding: 0 !important; }
.dd-packs { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 8px 0 4px; }
.dd-pack { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; padding: 14px 14px 12px; border-radius: 16px; border: 1px solid var(--dd-day-input-border); background: #fff; color: var(--dd-day-fg); font: inherit; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.dd-pack:hover { border-color: var(--dd-blue); }
.dd-pack[aria-checked="true"] { border: 2px solid var(--dd-blue-strong); padding: 13px 13px 11px; box-shadow: 0 0 0 3px oklch(61.7% 0.208 264 / 0.14); }
.dd-pack.is-unavailable { opacity: .45; cursor: not-allowed; }
.dd-pack-title { font-weight: 600; font-size: 15px; line-height: 20px; }
.dd-pack-sub { font-size: 13px; color: var(--dd-day-muted); }
.dd-pack-price { margin-top: 6px; font-family: var(--dd-font-display); font-weight: 600; font-size: 18px; }
.dd-pack-per { font-size: 13px; font-weight: 600; color: oklch(48% 0.14 149); }
.dd-pack-tag { position: absolute; top: -9px; right: 10px; padding: 2px 8px; border-radius: 9999px; background: var(--dd-blue-strong); color: #fff; font-size: 11px; font-weight: 600; }
.dd-mount-only { margin: 10px 0 0; font-size: 13px; color: var(--dd-day-muted); }

/* ---- Order received: installer panel ---- */
.dd-ty-installer { margin: 28px 0; border-radius: var(--dd-r-card); background: var(--dd-night-bg); color: var(--dd-night-fg); padding: 32px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; }
.dd-ty-installer__copy { flex: 1 1 380px; }
.dd-ty-installer h2 { color: var(--dd-night-fg) !important; font-size: 28px; margin: 0 0 8px; }
.dd-ty-installer p { color: var(--dd-night-muted); margin: 0; font-size: 16px; }
.dd-ty-installer .dd-eyebrow { color: var(--dd-cyan); margin-bottom: 8px !important; }
.dd-ty-installer__btn { display: inline-flex; align-items: center; min-height: 52px; padding: 0 24px; border-radius: 16px; background: var(--dd-cyan); color: var(--dd-ink) !important; font-weight: 600; text-decoration: none; }

/* Logo size guard (overrides Divi module output) */
.dd-menu.et_pb_menu .et_pb_menu__logo img { max-height: 30px !important; height: auto !important; width: auto !important; }
@media (max-width: 980px) { .dd-menu.et_pb_menu .et_pb_menu__logo img { max-height: 26px !important; } }

/* White logo, no box (header image + footer/checkout wordmarks) */
.dd-menu.et_pb_menu .et_pb_menu__logo { background: transparent !important; padding: 0 !important; border-radius: 0 !important; }
.dd-menu.et_pb_menu .et_pb_menu__logo img { filter: brightness(0) invert(1); }
.dd-ftr .dd-ftr-logo, .dd-co-logo { background: transparent !important; padding: 0 !important; border-radius: 0 !important; font-size: 0 !important; line-height: 0 !important; }
.dd-ftr .dd-ftr-logo::before, .dd-co-logo::before { content: ""; display: block; width: 214px; height: 26px; background: url("/wp-content/uploads/2025/09/Asset-8@4x-scaled.png") left center / contain no-repeat; filter: brightness(0) invert(1); }
@media (max-width: 980px) { .dd-co-logo::before { width: 181px; height: 22px; } }

/* ---- Fixes 2026-11-08: kit-builder band, promo banner, mobile header ---- */
.dd-sec.dd-home-finder.et_pb_section { background: var(--dd-night-bg) !important; }

/* Sale & Shipping Manager banner, restyled (plugin prints inline styles, so !important) */
.dd-hdr-promo .dd-hdr-promo-code { padding: 0 !important; }
.dd-hdr-promo #ssm-banner { font-weight: 500 !important; line-height: 1.4 !important; }
.dd-hdr-promo #ssm-top-bar { background: linear-gradient(90deg, oklch(30% 0.09 250), oklch(27% 0.1 285)) !important; color: var(--dd-night-fg) !important; padding: 9px 16px !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: -0.005em; border-radius: 0 !important; }
.dd-hdr-promo #ssm-top-bar #ssm-sale-timer { color: var(--dd-cyan) !important; font-size: inherit !important; font-weight: 600 !important; margin: 0 !important; letter-spacing: 0 !important; font-variant-numeric: tabular-nums; }
.dd-hdr-promo #ssm-top-bar div#ssm-sale-timer:empty { display: none !important; }
.dd-hdr-promo #ssm-bottom-bar { background: var(--dd-night-raised) !important; color: var(--dd-night-muted) !important; padding: 6px 16px !important; font-size: 13px !important; font-weight: 500 !important; border-top: 1px solid var(--dd-night-border); }
.dd-hdr-promo #ssm-bottom-bar .ssm-bottom-line { font-size: inherit !important; line-height: inherit !important; }
@media (max-width: 600px) {
  .dd-hdr-promo #ssm-top-bar { font-size: 13px !important; padding: 8px 14px !important; line-height: 1.35 !important; }
  .dd-hdr-promo #ssm-top-bar #ssm-sale-timer { display: inline-block; }
  .dd-hdr-promo #ssm-bottom-bar { font-size: 12px !important; padding: 5px 14px !important; }
}

/* Mobile header: logo left, search + cart + menu button in one row on the right */
@media (max-width: 980px) {
  .dd-menu .et_pb_menu_inner_container { flex-wrap: nowrap !important; }
  .dd-menu .et_pb_menu__logo-wrap { flex: 1 1 auto !important; min-width: 0; }
  .dd-menu .et_pb_menu__wrap { flex: 0 0 auto !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important; width: auto !important; }
  .dd-menu .et_pb_menu__search-button { order: 1 !important; }
  .dd-menu .et_pb_menu__cart-button { order: 2 !important; width: 40px; padding: 0 !important; justify-content: center; }
  .dd-menu .et_pb_menu__cart-button::before { content: none !important; }
  .dd-menu .et_mobile_nav_menu { order: 3 !important; margin: 0 !important; width: auto !important; flex: 0 0 auto; display: block !important; }
  .dd-menu .mobile_nav { display: block; }
  .dd-menu .et_mobile_menu { left: auto; right: 0; width: min(320px, calc(100vw - 24px)); }
}

.dd-hdr-promo .dd-row.et_pb_row { width: 100% !important; max-width: none !important; padding: 0 !important; }

/* Buttons: sentence case (legacy Customizer forced uppercase); side by side on phones */
.et_pb_button.dd-btn, .et-db #et-boc .et-l .et_pb_button.dd-btn { text-transform: none !important; }
@media (max-width: 480px) {
  .dd-btn.et_pb_button_module_wrapper, .et_pb_button_module_wrapper:has(> .dd-btn) { margin-right: 8px !important; margin-bottom: 8px !important; }
  .et_pb_button.dd-btn, .et_pb_button.dd-btn:hover { min-height: 46px; padding: 0 16px !important; font-size: 14px !important; }
}

/* Button pairs in a column sit side by side (columns are flex columns) */
.et_pb_column:has(> .et_pb_button_module_wrapper + .et_pb_button_module_wrapper) { flex-direction: row !important; flex-wrap: wrap !important; align-content: flex-start; align-items: center; }
.et_pb_column:has(> .et_pb_button_module_wrapper + .et_pb_button_module_wrapper) > :not(.et_pb_button_module_wrapper) { flex: 0 0 100%; width: 100%; }
.et_pb_column:has(> .et_pb_button_module_wrapper + .et_pb_button_module_wrapper) > .et_pb_button_module_wrapper { flex: 0 0 auto; width: auto !important; }

.et_pb_column:has(> .et_pb_button_module_wrapper + .et_pb_button_module_wrapper) { justify-content: flex-start !important; column-gap: 8px; }
.et_pb_column:has(> .et_pb_button_module_wrapper + .et_pb_button_module_wrapper) > .et_pb_button_module_wrapper { margin-right: 0 !important; }
@media (max-width: 480px) { .et_pb_button.dd-btn, .et_pb_button.dd-btn:hover { padding: 0 14px !important; } }

/* Shipping options as cards in cart totals (matches checkout) + tidy estimate line in both */
.dd-cart-totals tr.woocommerce-shipping-totals { display: block; }
.dd-cart-totals tr.woocommerce-shipping-totals th { display: block; width: 100% !important; padding-bottom: 8px !important; font-weight: 600 !important; text-align: left !important; }
.dd-cart-totals tr.woocommerce-shipping-totals td { display: block; width: 100% !important; text-align: left !important; padding-top: 0 !important; }
.dd-cart-totals #shipping_method { display: flex; flex-direction: column; gap: 8px; }
.dd-cart-totals #shipping_method li { position: relative; display: flex; align-items: flex-start; gap: 10px; margin: 0 !important; padding: 10px 14px !important; border-radius: 14px; border: 1px solid oklch(20% 0.03 264 / 0.2); background: #fff; line-height: 1.35; text-align: left; }
.dd-cart-totals #shipping_method li:has(input:checked) { border: 2px solid var(--dd-blue-strong); background: oklch(96.5% 0.02 262); padding: 9px 13px !important; }
.dd-cart-totals #shipping_method li input { margin: 3px 0 0 !important; flex: 0 0 auto; }
.dd-cart-totals #shipping_method li label, .dd-co-summary #shipping_method li label { display: block !important; flex: 1 1 auto; margin: 0 !important; font-size: 14px; font-weight: 600; color: var(--dd-day-fg) !important; text-align: left; cursor: pointer; }
.dd-cart-totals #shipping_method li label .amount, .dd-co-summary #shipping_method li label .amount { font-weight: 600; color: var(--dd-day-fg); }
.dd-cart-totals .ssm-ship-estimate, .dd-co-summary .ssm-ship-estimate { display: block !important; margin-top: 3px !important; font-size: 12.5px !important; font-weight: 400; color: var(--dd-day-muted) !important; }
.dd-cart-totals .ssm-ship-estimate small, .dd-co-summary .ssm-ship-estimate small { font-size: inherit; }
.dd-cart-totals .woocommerce-shipping-destination, .dd-cart-totals .woocommerce-shipping-calculator { text-align: left !important; font-size: 13px; margin: 10px 0 0 !important; color: var(--dd-day-muted); }
.dd-cart-totals .woocommerce-shipping-destination strong { color: var(--dd-day-fg); font-weight: 600; }
.et-db #et-boc .et-l .dd-cart-totals tr.woocommerce-shipping-totals {display: block;}
.et-db #et-boc .et-l .dd-cart-totals tr.woocommerce-shipping-totals th {display: block; width: 100% !important; padding-bottom: 8px !important; font-weight: 600 !important; text-align: left !important;}
.et-db #et-boc .et-l .dd-cart-totals tr.woocommerce-shipping-totals td {display: block; width: 100% !important; text-align: left !important; padding-top: 0 !important;}
.et-db #et-boc .et-l .dd-cart-totals #shipping_method {display: flex; flex-direction: column; gap: 8px;}
.et-db #et-boc .et-l .dd-cart-totals #shipping_method li {position: relative; display: flex; align-items: flex-start; gap: 10px; margin: 0 !important; padding: 10px 14px !important; border-radius: 14px; border: 1px solid oklch(20% 0.03 264 / 0.2); background: #fff; line-height: 1.35; text-align: left;}
.et-db #et-boc .et-l .dd-cart-totals #shipping_method li:has(input:checked) {border: 2px solid var(--dd-blue-strong); background: oklch(96.5% 0.02 262); padding: 9px 13px !important;}
.et-db #et-boc .et-l .dd-cart-totals #shipping_method li input {margin: 3px 0 0 !important; flex: 0 0 auto;}
.et-db #et-boc .et-l .dd-cart-totals #shipping_method li label, .et-db #et-boc .et-l .dd-co-summary #shipping_method li label {display: block !important; flex: 1 1 auto; margin: 0 !important; font-size: 14px; font-weight: 600; color: var(--dd-day-fg) !important; text-align: left; cursor: pointer;}
.et-db #et-boc .et-l .dd-cart-totals #shipping_method li label .amount, .et-db #et-boc .et-l .dd-co-summary #shipping_method li label .amount {font-weight: 600; color: var(--dd-day-fg);}
.et-db #et-boc .et-l .dd-cart-totals .ssm-ship-estimate, .et-db #et-boc .et-l .dd-co-summary .ssm-ship-estimate {display: block !important; margin-top: 3px !important; font-size: 12.5px !important; font-weight: 400; color: var(--dd-day-muted) !important;}
.et-db #et-boc .et-l .dd-cart-totals .ssm-ship-estimate small, .et-db #et-boc .et-l .dd-co-summary .ssm-ship-estimate small {font-size: inherit;}
.et-db #et-boc .et-l .dd-cart-totals .woocommerce-shipping-destination, .et-db #et-boc .et-l .dd-cart-totals .woocommerce-shipping-calculator {text-align: left !important; font-size: 13px; margin: 10px 0 0 !important; color: var(--dd-day-muted);}
.et-db #et-boc .et-l .dd-cart-totals .woocommerce-shipping-destination strong {color: var(--dd-day-fg); font-weight: 600;}

/* ---- Audit fixes 2026-11-08 ---- */
/* Ghost buttons inside dark cards on light sections */
.dd-day .dd-card-dark .et_pb_button.dd-btn-ghost, .dd-white .dd-card-dark .et_pb_button.dd-btn-ghost { color: var(--dd-night-fg) !important; border-color: var(--dd-night-input-border) !important; }
/* WooCommerce result count + Woo buttons in sentence case */
.woocommerce-result-count { color: var(--dd-day-muted) !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce .checkout-button, .woocommerce #place_order { text-transform: none !important; letter-spacing: 0 !important; }
/* Gratisfaction points text: readable green */
.dd-prod-buy [class^="grPoints"], .dd-prod-buy [class^="grPoints"] *, .dd-prod-buy .grPointsEarn, .dd-prod-buy .grPointsEarn * { color: oklch(46% 0.13 149) !important; }
.dd-prod-buy small, .dd-prod-buy small * { color: var(--dd-day-muted); }
/* Blog posts: wide tables scroll; kit builder sits in a dark panel */
.dd-post-body table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dd-post-body .ddof { background: var(--dd-night-bg) !important; border-radius: 22px; padding: 24px; margin: 24px 0; }
.dd-post-body .ddof h2 { color: var(--dd-night-fg) !important; }
@media (max-width: 767px) { .dd-post-body .ddof { padding: 16px; border-radius: 18px; } }
/* My Account: nav becomes a wrapping pill row on phones/tablets */
@media (max-width: 980px) {
  .dd-acct .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr) !important; }
  .dd-acct .woocommerce-MyAccount-navigation { position: static; min-width: 0; width: 100% !important; }
  .dd-acct .woocommerce-MyAccount-navigation ul { flex-direction: row !important; flex-wrap: wrap; gap: 6px; }
  .dd-acct .woocommerce-MyAccount-navigation li a { padding: 8px 14px !important; font-size: 14px; background: var(--dd-day-raised); border-radius: 9999px; }
}

/* Product: no Divi select-arrows on the pack cards / hidden select wrapper */
.dd-pack-form .variations td.value span::after, .dd-pack-form .variations td.value span::before, .et_pb_wc_add_to_cart .variations td.value .dd-packs span::after, .et_pb_wc_add_to_cart .variations td.value:has(.dd-packs) > span::after { content: none !important; display: none !important; }
/* Product: fastest-delivery box in the site style (plugin prints red inline styles) */
.dd-prod-delivery .ssm-fastest-delivery-box { background: oklch(96.5% 0.02 262) !important; border: 1px solid oklch(85% 0.04 262) !important; border-radius: 14px !important; padding: 12px 14px !important; margin: 4px 0 !important; gap: 12px !important; }
.dd-prod-delivery .ssm-fastest-delivery-box .icon { fill: var(--dd-blue-strong) !important; width: 20px !important; height: 20px !important; }
.dd-prod-delivery .ssm-fastest-delivery-box .text { color: var(--dd-day-fg) !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.45; }
.dd-prod-delivery .ssm-fastest-delivery-box .text span.date { font-weight: 700 !important; text-decoration: none !important; color: var(--dd-day-fg); }
.dd-prod-delivery .ssm-fastest-delivery-box .countdown { font-weight: 700 !important; color: var(--dd-blue-strong); font-variant-numeric: tabular-nums; }

/* Variation selects get their own chevron */
.dd-pack-form table.variations select { -webkit-appearance: none; appearance: none; padding-right: 40px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475069' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px 16px !important; }

/* Product videos: align with the content edge, not the viewport edge */
.dd-prod-videos.et_pb_row { margin-left: max(24px, calc((100% - var(--dd-max)) / 2)) !important; }

/* Checkout: select2 arrow centred; shipping cards full width */
.select2-container .select2-selection--single .select2-selection__arrow { top: 0 !important; height: 100% !important; }
.dd-co-summary tr.woocommerce-shipping-totals, .dd-co-summary tr.woocommerce-shipping-totals td, .dd-co-summary #shipping_method { width: 100% !important; box-sizing: border-box; }

/* Checkout: plain RGB colours on fields/labels so Stripe's Payment Element derives a light theme (it can't parse oklch) */
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea, .woocommerce-checkout .form-row select { color: #0f1624 !important; background-color: #ffffff !important; border-color: rgba(15, 22, 36, 0.28) !important; }
.woocommerce-checkout .form-row label, .woocommerce-checkout #payment label { color: #0f1624 !important; }
.woocommerce-checkout #payment, .woocommerce-checkout #payment .payment_box { background-color: #ffffff !important; color: #0f1624 !important; }

/* Checkout summary: let the shipping row span the full width (table footer rows were stuck in column 1) */
.dd-co-summary table.woocommerce-checkout-review-order-table { display: grid !important; width: 100% !important; }
.dd-co-summary table.woocommerce-checkout-review-order-table > thead, .dd-co-summary table.woocommerce-checkout-review-order-table > tbody { display: table; width: 100%; }
.dd-co-summary table.woocommerce-checkout-review-order-table > tfoot { display: block; width: 100%; }
.dd-co-summary table.woocommerce-checkout-review-order-table > tfoot > tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.dd-co-summary table.woocommerce-checkout-review-order-table > tfoot > tr.woocommerce-shipping-totals { display: block; }
.dd-co-summary table.woocommerce-checkout-review-order-table > tfoot > tr > td { text-align: right; }

/* Blog meta: category · date */
.dd-blog-grid article.et_pb_post .post-meta .published::before { content: " · "; white-space: pre; }

/* Mobile menu: brand submenu on the dark panel */
@media (max-width: 980px) {
.dd-menu .et_mobile_menu ul.sub-menu, .dd-menu .et_mobile_menu li ul { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 0 0 12px !important; position: static !important; width: auto !important; opacity: 1 !important; visibility: visible !important; }
.dd-menu .et_mobile_menu ul.sub-menu li a { font-size: 14px !important; color: var(--dd-night-muted) !important; padding: 10px 10px !important; }
}

/* Pack cards on phones: one compact row each (name + size left, price + per-clip right) */
@media (max-width: 600px) {
  .dd-packs { grid-template-columns: 1fr; gap: 8px; }
  .dd-pack { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "t p" "s q"; column-gap: 12px; row-gap: 2px; align-items: baseline; padding: 12px 14px; }
  .dd-pack .dd-pack-title { grid-area: t; }
  .dd-pack .dd-pack-sub { grid-area: s; }
  .dd-pack .dd-pack-price { grid-area: p; text-align: right; }
  .dd-pack .dd-pack-per { grid-area: q; text-align: right; }
}
