/**
 * ╔═══════════════════════════════════════════════════════════════════════════╗
 * ║  905WOOD Digital Refinery — Dark Protocol V16.0                         ║
 * ║  "Hamilton Grit meets Silicon Valley"                                   ║
 * ║  905WOOD.COM SALES (BIN 1001555872)                                    ║
 * ║                                                                         ║
 * ║  UNIFIED dark-mode override for Hyvä 1.4.5 + Tailwind CSS v4           ║
 * ║  Consolidates: dark-protocol V15, dark-fix, overrides, pristine V7     ║
 * ║                                                                         ║
 * ║  WCAG 2.2 AA compliant — all text tokens ≥ 4.5:1                       ║
 * ║  WCAG 2.2 AAA target  — primary/secondary text ≥ 7:1                   ║
 * ║                                                                         ║
 * ║  Color System:                                                          ║
 * ║    Surface: #0A0A0A / #111111 / #1A1A1A / #222222                      ║
 * ║    Green (#30D158) verified · Red (#FF453A) risk                        ║
 * ║    Amber (#FFD60A) warning  · Cyan (#64D2FF) tech                      ║
 * ║                                                                         ║
 * ║  Generated: 2026-05-28                                                  ║
 * ╚═══════════════════════════════════════════════════════════════════════════╝
 */

/* ═══════════════════════════════════════════════════════════════════════════
   §1  CSS CUSTOM PROPERTIES — Dark Protocol Token System V16
   All text tokens verified against #0A0A0A via WCAG relative luminance.
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
    /* ── Core Surfaces ── */
    --dp-bg-primary:    #0A0A0A;
    --dp-bg-secondary:  #111111;
    --dp-bg-tertiary:   #1A1A1A;
    --dp-bg-elevated:   #222222;
    --dp-bg-overlay:    #2A2A2A;

    /* ── Borders ── */
    --dp-border-primary:     #5E5E5E;   /* 3.05:1 on #0A0A0A — UI interactive ✅ */
    --dp-border-interactive: #5E5E5E;   /* alias for interactive elements (inputs, buttons) */
    --dp-border-secondary:   #3F3F46;   /* card/decorative borders */
    --dp-border-subtle:      #2A2A2A;   /* decorative only (dividers, separators) */

    /* ── Text — all pass WCAG AA normal text (4.5:1 min) ── */
    --dp-text-primary:   #E0E0E0;   /* ~14.2:1 — AAA ✅  (anti-halation) */
    --dp-text-secondary: #B3B3B3;   /* ~9.2:1  — AAA ✅ */
    --dp-text-muted:     #999999;   /* ~6.2:1  — AA ✅ */
    --dp-text-dim:       #808080;   /* ~4.6:1  — AA ✅ (was #666 3.45:1 ❌) */

    /* ── Status Colors — Digital Refinery semantic palette ── */
    --dp-verified:        #30D158;
    --dp-verified-bg:     rgba(48, 209, 88, 0.08);
    --dp-verified-border: rgba(48, 209, 88, 0.2);

    --dp-risk:            #FF453A;
    --dp-risk-bg:         rgba(255, 69, 58, 0.08);
    --dp-risk-border:     rgba(255, 69, 58, 0.2);

    --dp-warning:         #FFD60A;
    --dp-warning-bg:      rgba(255, 214, 10, 0.08);
    --dp-warning-border:  rgba(255, 214, 10, 0.2);

    --dp-tech:            #64D2FF;
    --dp-tech-bg:         rgba(100, 210, 255, 0.08);
    --dp-tech-border:     rgba(100, 210, 255, 0.2);

    --dp-purple:          #BF5AF2;
    --dp-blue:            #0A84FF;

    /* ── Typography ── */
    --dp-font-mono: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
    --dp-font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    /* ── Radii ── */
    --dp-radius-sm: 6px;
    --dp-radius-md: 8px;
    --dp-radius-lg: 12px;
    --dp-radius-xl: 16px;

    /* ── Shadows ── */
    --dp-shadow-sm:  0 1px 2px rgba(0,0,0,0.5);
    --dp-shadow-md:  0 4px 12px rgba(0,0,0,0.6);
    --dp-shadow-lg:  0 8px 24px rgba(0,0,0,0.7);
    --dp-shadow-glow-green: 0 0 12px rgba(48, 209, 88, 0.15);
    --dp-shadow-glow-red:   0 0 12px rgba(255, 69, 58, 0.15);

    /* ── Tailwind overrides — bridge tokens ── */
    --color-bg:             var(--dp-bg-primary);
    --color-fg:             var(--dp-text-primary);
    --color-fg-secondary:   var(--dp-text-secondary);
    --color-surface:        var(--dp-bg-tertiary);
    --color-surface-raised: var(--dp-bg-elevated);
    --color-surface-overlay: var(--dp-bg-overlay);
    --color-border-default: var(--dp-border-primary);
    --color-border-subtle:  var(--dp-border-subtle);
    --color-verified:       var(--dp-verified);
    --color-risk:           var(--dp-risk);
    --color-warning:        var(--dp-warning);
    --color-tech:           var(--dp-tech);
}


/* ═══════════════════════════════════════════════════════════════════════════
   §2  GLOBAL DARK MODE — Body & Root Overrides
   ═══════════════════════════════════════════════════════════════════════════ */
body,
html {
    background-color: var(--dp-bg-primary) !important;
    color: var(--dp-text-primary) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ── Tailwind text-color inversions ── */
.text-black { color: var(--dp-text-primary) !important; }
.text-gray-900, .text-slate-900, .text-zinc-900, .text-neutral-900 { color: var(--dp-text-primary) !important; }
.text-gray-800, .text-slate-800, .text-zinc-800, .text-neutral-800 { color: #e5e5e5 !important; }
.text-gray-700, .text-slate-700, .text-zinc-700, .text-neutral-700 { color: #d4d4d4 !important; }
.text-gray-600, .text-slate-600, .text-zinc-600, .text-neutral-600 { color: var(--dp-text-secondary) !important; }
.text-gray-500, .text-slate-500, .text-zinc-500, .text-neutral-500 { color: var(--dp-text-secondary) !important; }
.text-gray-400, .text-slate-400, .text-zinc-400, .text-neutral-400 { color: var(--dp-text-muted) !important; }
.text-gray-300, .text-slate-300, .text-zinc-300, .text-neutral-300 { color: var(--dp-text-muted) !important; }
.text-gray-200, .text-neutral-200 { color: var(--dp-text-muted) !important; }

/* ── SVG icon colors ── */
svg.text-gray-400, svg.text-gray-500, svg.text-gray-600, svg.text-gray-700 {
    color: var(--dp-text-secondary) !important;
}

/* ── Tailwind background inversions ── */
.bg-white { background-color: var(--dp-bg-primary) !important; }
.bg-gray-50, .bg-gray-100, .bg-slate-50, .bg-slate-100,
.bg-neutral-50, .bg-neutral-100 { background-color: var(--dp-bg-tertiary) !important; }
.bg-gray-200, .bg-gray-300, .bg-slate-200 { background-color: var(--dp-bg-secondary) !important; }

/* ── Tailwind opacity-variant backgrounds ── */
.bg-white\/95 { background-color: rgba(26,26,26,0.95) !important; }
.bg-white\/70 { background-color: rgba(26,26,26,0.70) !important; }
.bg-white\/60 { background-color: rgba(26,26,26,0.60) !important; }
.bg-white\/25 { background-color: rgba(26,26,26,0.25) !important; }

/* ── Tailwind border inversions ── */
.border-gray-100, .border-slate-100 { border-color: var(--dp-border-subtle) !important; }
.border-gray-200, .border-slate-200 { border-color: var(--dp-border-subtle) !important; }
.border-gray-300, .border-gray-400, .border-slate-300 { border-color: var(--dp-border-primary) !important; }
.divide-gray-200 > :not([hidden]) ~ :not([hidden]),
.divide-gray-300 > :not([hidden]) ~ :not([hidden]) { border-color: var(--dp-border-primary) !important; }

/* ── Tailwind ring inversions ── */
.ring-gray-300 { --tw-ring-color: var(--dp-border-primary) !important; }
.ring-gray-200 { --tw-ring-color: var(--dp-border-subtle) !important; }

/* ── Tailwind hover-bg inversions ── */
.hover\:bg-gray-100:hover { background-color: var(--dp-bg-elevated) !important; }
.hover\:bg-gray-50:hover  { background-color: var(--dp-bg-tertiary) !important; }
.hover\:bg-gray-200:hover { background-color: var(--dp-bg-overlay) !important; }
.hover\:bg-slate-100:hover { background-color: var(--dp-bg-elevated) !important; }

/* ── Tailwind focus-bg inversions ── */
.focus\:bg-white:focus { background-color: var(--dp-bg-elevated) !important; color: var(--dp-text-primary) !important; }

/* ── Hyvä custom token overrides ── */
.bg-surface { background-color: var(--dp-bg-tertiary) !important; }
.bg-surface-raised { background-color: var(--dp-bg-elevated) !important; }
.text-current { color: inherit !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §3  HEADER & NAVIGATION
   ═══════════════════════════════════════════════════════════════════════════ */
header,
.page-header,
.page-header .header.content,
header.page-header,
[x-data="initHeader()"],
header nav {
    background-color: var(--dp-bg-primary) !important;
    border-bottom: 1px solid var(--dp-border-secondary) !important;
    color: var(--dp-text-primary) !important;
}

header a,
header span,
header button,
nav a,
.nav-sections a,
.navigation a,
.page-header a:not(.logo) {
    color: var(--dp-text-primary) !important;
    transition: color 0.2s ease;
}

header a:hover,
nav a:hover,
.nav-sections a:hover,
.navigation a:hover {
    color: var(--dp-verified) !important;
}

/* Header utility text */
header .text-gray-400 {
    color: var(--dp-text-muted) !important;
}

/* Header logo strip — always dark regardless of data-theme */
[data-theme="light"] header.page-header .bg-white,
[data-theme="dark"]  header.page-header .bg-white,
header.page-header .bg-white,
header.page-header div.bg-white {
    background-color: var(--dp-bg-primary) !important;
    border-color: rgba(48, 209, 88, 0.15) !important;
}

/* ── Desktop nav links ── */
.level-0 > a,
.nav-item > a {
    color: var(--dp-text-primary) !important;
    transition: color 0.2s ease;
}

.level-0 > a:hover { color: var(--dp-verified) !important; }

/* Active nav item */
nav a.active,
nav .current,
nav a[aria-current="page"] {
    color: var(--dp-verified) !important;
    border-bottom: 2px solid var(--dp-verified);
}

/* ── Dropdown menus ── */
nav ul ul,
.submenu,
[class*="bg-white/95"],
nav .absolute,
[role="menu"],
.dropdown-menu {
    background-color: rgba(17, 17, 17, 0.97) !important;
    border: 1px solid var(--dp-border-primary) !important;
    box-shadow: var(--dp-shadow-lg) !important;
    backdrop-filter: blur(12px);
}

nav ul ul a,
.submenu a {
    color: var(--dp-text-secondary) !important;
}

nav ul ul a:hover,
.submenu a:hover {
    color: var(--dp-verified) !important;
    background-color: var(--dp-verified-bg) !important;
}

/* Desktop dropdown category nodes */
#category-node-3,
[id^='category-node-'] {
    background-color: rgba(26,26,26,0.95) !important;
    border: 1px solid var(--dp-border-primary) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.5) !important;
}
[id^='category-node-'] a { color: var(--dp-text-primary) !important; }
[id^='category-node-'] a:hover {
    background-color: var(--dp-bg-elevated) !important;
    color: var(--dp-verified) !important;
}

/* ── Mobile menu ── */
#menu-drawer,
[x-show="mobilePanelActiveId"],
.mobile-menu-panel,
[id$='-mobile-menu-panel'] {
    background-color: var(--dp-bg-primary) !important;
}

[id$='-mobile-menu-panel'] a,
[id$='-mobile-menu-panel'] button,
[id$='-mobile-menu-panel'] span { color: var(--dp-text-primary) !important; }
[id$='-mobile-menu-panel'] .bg-surface { background-color: var(--dp-bg-tertiary) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §4  PRODUCT CARDS & LISTINGS
   ═══════════════════════════════════════════════════════════════════════════ */
.product-item,
.product-card,
.product-info,
li.product-item {
    background-color: var(--dp-bg-secondary) !important;
    border: 1px solid var(--dp-border-secondary) !important;
    border-radius: var(--dp-radius-lg);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.product-item:hover,
.product-card:hover {
    border-color: var(--dp-border-primary) !important;
    box-shadow: var(--dp-shadow-md) !important;
}

.product-item-name a,
.product-item-link,
.product-name a,
.product-item-info,
.product-item-details,
.product-item .product-item-link {
    color: var(--dp-text-primary) !important;
}

.product-item-name a:hover { color: var(--dp-verified) !important; }

.price-box .price,
.price-wrapper .price,
.price-box,
.price-container .price {
    color: var(--dp-verified) !important;
    font-weight: 700;
}

.old-price .price {
    color: var(--dp-text-muted) !important;
    text-decoration: line-through;
}


/* ═══════════════════════════════════════════════════════════════════════════
   §5  PRODUCT DETAIL PAGE
   ═══════════════════════════════════════════════════════════════════════════ */
.product-info-main,
.product.media,
.product-info-price,
.product-options-wrapper {
    background-color: var(--dp-bg-primary) !important;
}

.product-info-main .page-title span,
.product-info-main .product-info-price,
.product-info-main .product.attribute.overview,
.product-info-main .product-info-stock-sku,
.product-info-main .stock,
.product-info-main label,
.product-info-main .swatch-attribute-label,
.product-info-main .product-options-wrapper label {
    color: var(--dp-text-primary) !important;
}

.product.attribute.description,
.product.attribute.description .value,
.product.attribute.description .value p,
.product.attribute.description .value li,
.product.attribute.description .value span,
.product.attribute.description .value div,
.product.attribute.overview .value,
.product.attribute.overview .value p {
    color: var(--dp-text-primary) !important;
}

/* Tabs */
.product.info.detailed,
.product.data.items,
.product.data.items > .item.title > .switch,
.product.data.items > .item.content,
.data.item.title a,
.additional-attributes th,
.additional-attributes td,
#tab-label-description,
#tab-label-additional,
.tab-header {
    color: var(--dp-text-primary) !important;
    background-color: var(--dp-bg-primary) !important;
}

.product.data.items > .item.title.active > .switch,
.tab-header.active {
    background-color: var(--dp-bg-tertiary) !important;
    color: var(--dp-text-primary) !important;
    border-color: var(--dp-verified) !important;
}

/* Custom options */
.product-custom-option,
.product-options-wrapper .field .label span,
.swatch-attribute-label,
dt.label, dd.value { color: var(--dp-text-primary) !important; }
.qty-wrapper,
.qty-wrapper label,
.input-text.qty { color: var(--dp-text-primary) !important; }

/* Wishlist / Compare */
.action.towishlist, .action.tocompare { color: var(--dp-text-muted) !important; }
.action.towishlist:hover, .action.tocompare:hover { color: var(--dp-verified) !important; }

/* Review stars — horizontal layout */
.rating-summary {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 2px !important;
}
.rating-summary svg {
    display: inline-block !important;
    flex-shrink: 0 !important;
    color: var(--dp-warning) !important;
}
.rating .rating-vote,
.rating .rating-options,
.review-control-vote {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 2px !important;
}
.review-control-vote label { display: inline-block !important; }
.product-reviews-summary .rating-summary,
.product-item .rating-summary {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   §6  BUTTONS — Dark Protocol Action System
   ═══════════════════════════════════════════════════════════════════════════ */
/* Primary (Add to Cart, Submit) */
.btn-primary,
button.primary,
.action.primary,
button[type="submit"]:not(.btn-link) {
    background-color: var(--dp-verified) !important;
    color: var(--dp-bg-primary) !important;
    border: none !important;
    font-weight: 700 !important;
    border-radius: var(--dp-radius-md) !important;
    transition: all 0.2s ease;
}

.btn-primary:hover,
button.primary:hover,
.action.primary:hover {
    background-color: #28b84c !important;
    box-shadow: var(--dp-shadow-glow-green) !important;
}

/* Secondary / outline */
.btn-secondary,
button.secondary,
.action.secondary {
    background-color: transparent !important;
    color: var(--dp-text-primary) !important;
    border: 1px solid var(--dp-border-primary) !important;
    border-radius: var(--dp-radius-md) !important;
    transition: all 0.2s ease;
}

.btn-secondary:hover,
button.secondary:hover,
.action.secondary:hover {
    border-color: var(--dp-verified) !important;
    color: var(--dp-verified) !important;
    background-color: var(--dp-bg-elevated) !important;
}

/* Danger */
.btn-danger {
    background-color: var(--dp-risk) !important;
    color: #fff !important;
    border: none !important;
    font-weight: 600;
}
.btn-danger:hover {
    background-color: #ff6b5e !important;
    box-shadow: 0 0 20px rgba(255,69,58,0.3) !important;
}

/* Tech */
.btn-tech {
    color: var(--dp-tech) !important;
    border: 1px solid var(--dp-tech) !important;
    background-color: transparent !important;
    font-weight: 500;
}
.btn-tech:hover {
    background-color: var(--dp-tech) !important;
    color: var(--dp-bg-primary) !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   §7  FORMS — Dark Protocol Input System
   ═══════════════════════════════════════════════════════════════════════════ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="url"],
textarea,
select,
.form-input,
.form-select,
.form-textarea {
    background-color: var(--dp-bg-secondary) !important;
    color: var(--dp-text-primary) !important;
    border: 1px solid var(--dp-border-primary) !important;
    border-radius: var(--dp-radius-sm) !important;
    transition: border-color 0.2s, box-shadow 0.2s;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--dp-verified) !important;
    box-shadow: 0 0 0 3px rgba(48,209,88,0.2) !important;
    outline: none !important;
}

input::placeholder,
textarea::placeholder {
    color: var(--dp-text-muted) !important;
    opacity: 0.6 !important;
}

label,
.field .label,
.field .control,
.fieldset > .legend,
.fieldset > .field > .label,
form label,
.form-label {
    color: var(--dp-text-primary) !important;
    font-weight: 500;
}


/* ═══════════════════════════════════════════════════════════════════════════
   §8  CART & CHECKOUT
   ═══════════════════════════════════════════════════════════════════════════ */
.cart-container,
.checkout-container,
.opc-wrapper,
.checkout-shipping-method,
.checkout-payment-method,
.checkout-index-index .page-main {
    background-color: var(--dp-bg-primary) !important;
}

.cart-summary,
.opc-block-summary {
    background-color: var(--dp-bg-secondary) !important;
    border: 1px solid var(--dp-border-secondary) !important;
    border-radius: var(--dp-radius-lg) !important;
}

.cart.table-wrapper {
    background-color: var(--dp-bg-tertiary) !important;
}

.cart-totals .mark,
.opc-block-summary .mark,
.cart-summary .title { color: var(--dp-text-secondary) !important; }

.cart-totals .amount,
.grand.totals .amount { color: var(--dp-verified) !important; font-weight: 700; }

.cart.table-wrapper th,
.cart.table-wrapper td,
.cart-totals,
.cart-totals th,
.cart-totals td,
.cart .item-info td,
.cart .product-item-name a,
.checkout-shipping-address,
.shipping-address-item,
.table-checkout-shipping-method th,
.table-checkout-shipping-method td,
.payment-method-title label,
.billing-address-details,
.step-title { color: var(--dp-text-primary) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §9  SIDEBAR & LAYERED NAVIGATION
   ═══════════════════════════════════════════════════════════════════════════ */
.sidebar,
.sidebar-main,
.block-collapsible-nav,
.block-layered-nav {
    background-color: var(--dp-bg-secondary) !important;
}

.sidebar .block {
    background-color: var(--dp-bg-secondary) !important;
    border: 1px solid var(--dp-border-subtle) !important;
    border-radius: var(--dp-radius-md);
}

.filter-options-title,
.filter-title,
.sidebar .block-title strong,
.sidebar .filter-options-title {
    color: var(--dp-text-primary) !important;
}

.filter-options-content a,
.filter-value,
.sidebar .filter-options-content a,
.sidebar .filter-current .item {
    color: var(--dp-text-secondary) !important;
}

.filter-options-content a:hover { color: var(--dp-verified) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §10  MODALS & OVERLAYS
   ═══════════════════════════════════════════════════════════════════════════ */
.modal-popup .modal-inner-wrap,
.modal-content,
.modal-inner-wrap,
.modal-slide .modal-inner-wrap,
[x-show][role="dialog"] > div {
    background-color: var(--dp-bg-secondary) !important;
    border: 1px solid var(--dp-border-primary) !important;
    color: var(--dp-text-primary) !important;
}

.modal-header,
.modal-title { color: var(--dp-text-primary) !important; }
.modal-header { border-bottom: 1px solid var(--dp-border-secondary) !important; }
.modal-footer { border-top: 1px solid var(--dp-border-secondary) !important; }

dialog, dialog::backdrop { background-color: rgba(0,0,0,0.8); }
dialog[open] {
    background-color: var(--dp-bg-primary) !important;
    color: var(--dp-text-primary) !important;
}
dialog[open] a,
dialog[open] button,
dialog[open] span,
dialog[open] li { color: var(--dp-text-primary) !important; }
dialog[open] .bg-white,
dialog[open] [class*="bg-white"] { background-color: var(--dp-bg-primary) !important; }
dialog[open] .bg-surface { background-color: var(--dp-bg-tertiary) !important; }
dialog[open] .border-b { border-color: var(--dp-border-subtle) !important; }
dialog[open] [class*="border-slate"] { border-color: var(--dp-border-subtle) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §11  MESSAGES & ALERTS — Status Color Mapping
   ═══════════════════════════════════════════════════════════════════════════ */
.message-success, .message.success {
    background-color: var(--dp-verified-bg) !important;
    border: 1px solid var(--dp-verified-border) !important;
    color: var(--dp-verified) !important;
}

.message-error, .message.error {
    background-color: var(--dp-risk-bg) !important;
    border: 1px solid var(--dp-risk-border) !important;
    color: var(--dp-risk) !important;
}

.message-warning, .message-notice, .message.warning {
    background-color: var(--dp-warning-bg) !important;
    border: 1px solid var(--dp-warning-border) !important;
    color: var(--dp-warning) !important;
}

.message-info, .message.info {
    background-color: var(--dp-tech-bg) !important;
    border: 1px solid var(--dp-tech-border) !important;
    color: var(--dp-tech) !important;
}

.page.messages .message { border-radius: var(--dp-radius-sm); }


/* ═══════════════════════════════════════════════════════════════════════════
   §12  FOOTER
   ═══════════════════════════════════════════════════════════════════════════ */
footer,
.page-footer,
.footer.content {
    background-color: var(--dp-bg-primary) !important;
    border-top: 1px solid var(--dp-border-secondary) !important;
    color: var(--dp-text-secondary) !important;
}

footer a,
.page-footer a {
    color: var(--dp-text-muted) !important;
    transition: color 0.18s ease;
}

footer a:hover,
.page-footer a:hover { color: var(--dp-verified) !important; }

/* Footer headings — bumped to AAA */
footer h3, footer h4,
.dp-footer-heading {
    color: var(--dp-text-primary) !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


/* ═══════════════════════════════════════════════════════════════════════════
   §13  BREADCRUMBS & TOOLBAR
   ═══════════════════════════════════════════════════════════════════════════ */
.breadcrumbs,
.breadcrumbs li,
.breadcrumbs .item {
    color: var(--dp-text-muted) !important;
}
.breadcrumbs a { color: var(--dp-tech) !important; }
.breadcrumbs a:hover { color: var(--dp-verified) !important; }
.breadcrumbs .delimiter { color: var(--dp-text-dim) !important; }

.toolbar,
.toolbar select,
.toolbar .sorter-label,
.toolbar .toolbar-amount,
.pages .item a,
.pages .item strong { color: var(--dp-text-primary) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §14  TABLES
   ═══════════════════════════════════════════════════════════════════════════ */
table {
    border-color: var(--dp-border-secondary) !important;
    background-color: var(--dp-bg-secondary);
}

thead { background-color: var(--dp-bg-elevated); }

th {
    background-color: var(--dp-bg-tertiary) !important;
    color: var(--dp-text-primary) !important;
    border-color: var(--dp-border-primary) !important;
    font-weight: 600;
}

td {
    color: var(--dp-text-secondary) !important;
    border-color: var(--dp-border-secondary) !important;
}

tr:hover td { background-color: var(--dp-bg-tertiary) !important; }

.table-wrapper th,
.table-wrapper td { color: var(--dp-text-primary) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §15  PROSE / TYPOGRAPHY — CMS Content Dark Mode
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Prose CSS variable overrides ── */
.prose {
    --tw-prose-body:          var(--dp-text-primary) !important;
    --tw-prose-headings:      var(--dp-text-primary) !important;
    --tw-prose-lead:          var(--dp-text-secondary) !important;
    --tw-prose-links:         var(--dp-verified) !important;
    --tw-prose-bold:          #ffffff !important;
    --tw-prose-counters:      var(--dp-text-muted) !important;
    --tw-prose-bullets:       var(--dp-text-muted) !important;
    --tw-prose-hr:            var(--dp-border-primary) !important;
    --tw-prose-quotes:        var(--dp-text-primary) !important;
    --tw-prose-quote-borders: var(--dp-border-primary) !important;
    --tw-prose-captions:      var(--dp-text-muted) !important;
    --tw-prose-kbd:           var(--dp-text-primary) !important;
    --tw-prose-code:          var(--dp-text-primary) !important;
    --tw-prose-pre-code:      #d4d4d4 !important;
    --tw-prose-pre-bg:        var(--dp-bg-primary) !important;
    --tw-prose-th-borders:    #444 !important;
    --tw-prose-td-borders:    var(--dp-border-primary) !important;
    color: var(--dp-text-primary) !important;
}

.prose,
.cms-page-view .column.main,
.cms-content { color: var(--dp-text-secondary) !important; }

.prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6,
.cms-page-view h1, .cms-page-view h2, .cms-page-view h3 { color: var(--dp-text-primary) !important; }

.prose p, .prose li, .prose dd, .prose dt { color: var(--dp-text-primary) !important; }
.prose a { color: var(--dp-verified) !important; }
.prose a:hover { color: var(--dp-tech) !important; }
.prose strong, .prose b { color: #ffffff !important; }

.prose blockquote {
    border-left: 3px solid var(--dp-verified) !important;
    color: var(--dp-text-muted) !important;
    background-color: var(--dp-bg-secondary) !important;
    padding: 12px 16px;
}

.prose code, code {
    background-color: var(--dp-bg-tertiary) !important;
    color: var(--dp-verified) !important;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: var(--dp-font-mono);
}

.prose pre {
    background-color: var(--dp-bg-primary) !important;
    color: #d4d4d4 !important;
}

.prose hr { border-color: var(--dp-border-primary) !important; }
.prose th, .prose td { color: var(--dp-text-primary) !important; }

/* ── CMS page global overrides ── */
.cms-page-view .page-main,
.cms-page-view .column.main,
.block-static-block p, .block-static-block span, .block-static-block div,
.widget p, .widget span, .widget div { color: var(--dp-text-primary); }

/* Page title */
.page-title-wrapper .page-title,
h1.page-title,
.page-title span { color: var(--dp-text-primary) !important; }

/* Headings */
h1, h2, h3, h4, h5, h6 { color: var(--dp-text-primary); }

/* Page links */
.page-main a:not(.action):not(.btn-primary):not(.btn-secondary) { color: var(--dp-verified); }
.page-main a:not(.action):not(.btn-primary):not(.btn-secondary):hover { color: var(--dp-tech); }


/* ═══════════════════════════════════════════════════════════════════════════
   §16  DIGITAL REFINERY WIDGETS — Shared Component Styles
   ═══════════════════════════════════════════════════════════════════════════ */
.dr-widget {
    background-color: var(--dp-bg-secondary);
    border: 1px solid var(--dp-border-secondary);
    border-radius: var(--dp-radius-lg);
    overflow: hidden;
}

.dr-widget-header {
    background: linear-gradient(135deg, var(--dp-bg-tertiary), var(--dp-bg-secondary));
    padding: 20px 24px;
    border-bottom: 1px solid var(--dp-border-secondary);
}

.dr-widget-body { padding: 24px; }

.dr-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.dr-badge-verified { background-color: var(--dp-verified-bg); color: var(--dp-verified); border: 1px solid var(--dp-verified-border); }
.dr-badge-risk    { background-color: var(--dp-risk-bg);     color: var(--dp-risk);     border: 1px solid var(--dp-risk-border); }
.dr-badge-warning { background-color: var(--dp-warning-bg);  color: var(--dp-warning);  border: 1px solid var(--dp-warning-border); }
.dr-badge-tech    { background-color: var(--dp-tech-bg);     color: var(--dp-tech);     border: 1px solid var(--dp-tech-border); }

/* Stat cards */
.dr-stat {
    background-color: var(--dp-bg-tertiary);
    border: 1px solid var(--dp-border-secondary);
    border-radius: var(--dp-radius-md);
    padding: 16px;
    text-align: center;
}

.dr-stat-value {
    font-size: 24px;
    font-weight: 800;
    font-family: var(--dp-font-mono);
    line-height: 1.2;
}

.dr-stat-label {
    font-size: 11px;
    color: var(--dp-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}


/* ═══════════════════════════════════════════════════════════════════════════
   §17  CMS PAGE SYSTEM — dp-* Class Library
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Page Container ── */
.dp {
    background-color: var(--dp-bg-primary);
    color: var(--dp-text-primary);
    padding: 2.5rem 1.5rem;
    font-family: var(--dp-font-sans);
    max-width: 1200px;
    margin: 0 auto;
}

/* ── Typography ── */
.dp h1 { font-size: 2.2rem; font-weight: 700; margin: 0 0 0.75rem; letter-spacing: -0.02em; color: var(--dp-text-primary); }
.dp h2 { font-size: 1.4rem; font-weight: 600; color: var(--dp-verified); margin: 2rem 0 0.75rem; }
.dp h3 { font-size: 1.1rem; font-weight: 600; color: var(--dp-text-primary); margin: 0 0 0.5rem; }
.dp p, .dp li { line-height: 1.7; color: var(--dp-text-secondary); margin-bottom: 0.75rem; }
.dp a { color: var(--dp-tech); text-decoration: none; border-bottom: 1px solid rgba(100, 210, 255, 0.25); }
.dp a:hover { color: var(--dp-text-primary); border-color: var(--dp-text-primary); }
.dp strong { color: var(--dp-text-primary); }

/* ── Subtitle ── */
.dp-sub { font-size: 1.15rem; color: var(--dp-text-muted); margin-bottom: 1.5rem; }

/* ── Card ── */
.dp-card {
    background-color: var(--dp-bg-tertiary);
    border: 1px solid var(--dp-border-secondary);
    border-radius: var(--dp-radius-lg);
    padding: 1.25rem;
    margin-bottom: 1rem;
}

/* ── Grid System ── */
.dp-grid { display: grid; gap: 1rem; }
.dp-g2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.dp-g3 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.dp-g4 { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }

/* ── KPI Big Number ── */
.dp-kpi { font-size: 1.8rem; font-weight: 700; font-family: var(--dp-font-mono); margin-bottom: 0.25rem; line-height: 1.2; }

/* ── CTA Buttons ── */
.dp-cta {
    display: inline-block;
    background-color: var(--dp-verified);
    color: var(--dp-bg-primary);
    padding: 12px 28px;
    border-radius: var(--dp-radius-md);
    font-weight: 700;
    border: none;
    margin-top: 1rem;
    text-decoration: none;
    border-bottom: none;
    transition: all 0.2s ease;
}
.dp-cta:hover { background-color: #28B84C; color: var(--dp-bg-primary); border-bottom: none; }
.dp-cta-alt { background-color: transparent; border: 1px solid var(--dp-verified); color: var(--dp-verified); }
.dp-cta-alt:hover { background-color: rgba(48, 209, 88, 0.08); color: var(--dp-verified); }

/* ── Badge ── */
.dp-badge { display: inline-block; padding: 3px 10px; border-radius: 6px; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.dp-tag { font-size: 0.65rem; padding: 2px 8px; border-radius: 4px; font-weight: 600; text-transform: uppercase; display: inline-block; }

/* ── Semantic Colors ── */
.dp-green  { color: var(--dp-verified); }
.dp-red    { color: var(--dp-risk); }
.dp-amber  { color: var(--dp-warning); }
.dp-cyan   { color: var(--dp-tech); }
.dp-purple { color: var(--dp-purple); }
.dp-blue   { color: var(--dp-blue); }

/* ── Background Tints ── */
.dp-bg-green  { background-color: var(--dp-verified-bg); }
.dp-bg-red    { background-color: var(--dp-risk-bg); }
.dp-bg-amber  { background-color: var(--dp-warning-bg); }
.dp-bg-cyan   { background-color: var(--dp-tech-bg); }
.dp-bg-purple { background-color: rgba(191, 90, 242, 0.08); }
.dp-bg-blue   { background-color: rgba(10, 132, 255, 0.08); }

/* ── Border Accents ── */
.dp-border-green { border-color: var(--dp-verified-border); }
.dp-border-red   { border-color: var(--dp-risk-border); }
.dp-border-amber { border-color: var(--dp-warning-border); }
.dp-border-cyan  { border-color: var(--dp-tech-border); }

/* ── Styled List ── */
.dp ul { list-style: none; padding: 0; }
.dp ul li::before { content: "\2192\00a0"; color: var(--dp-verified); font-weight: 700; }

/* ── Divider ── */
.dp-hr { border: 0; border-top: 1px solid var(--dp-border-primary); margin: 2rem 0; }

/* ── Entity Footer ── */
.dp-ent {
    font-size: 0.75rem;
    color: var(--dp-text-dim);
    border-top: 1px solid var(--dp-border-secondary);
    padding-top: 0.75rem;
    margin-top: 2rem;
}

/* ── Layout Helpers ── */
.dp-center { text-align: center; }
.dp-mt { margin-top: 1.5rem; }
.dp-mt-sm { margin-top: 0.5rem; }
.dp-mb { margin-bottom: 1.5rem; }
.dp-ml { margin-left: 0.5rem; }
.dp-big { font-size: 1.5rem; font-weight: 700; }
.dp-huge { font-size: 5rem; }

.dp-flex-center {
    display: flex; flex-direction: column; justify-content: center;
    align-items: center; min-height: 60vh; text-align: center;
}
.dp-flex-center-sm {
    display: flex; flex-direction: column; justify-content: center;
    align-items: center; min-height: 40vh; text-align: center;
}

/* ── Link Variants ── */
.dp a.dp-cta, .dp a.dp-cta-alt { border-bottom: none; }
.dp a.dp-link-plain { border-bottom: none; color: var(--dp-text-primary); }
.dp a.dp-link-green { border-bottom: none; color: var(--dp-verified); font-size: 1.5rem; font-weight: 700; }
.dp a.dp-link-big { border-bottom: none; font-size: 1.2rem; font-weight: 700; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .dp { padding: 1.5rem 1rem; }
    .dp h1 { font-size: 1.6rem; }
    .dp-g2, .dp-g3, .dp-g4 { grid-template-columns: 1fr; }
    .dp-kpi { font-size: 1.4rem; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   §18  FOOTER SYSTEM — dp-footer-* Classes
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Footer Base ── */
.dp-footer { background-color: var(--dp-bg-primary); border-top: 1px solid var(--dp-border-primary); color: var(--dp-text-secondary); font-family: var(--dp-font-sans); }
.dp-footer-inner { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }

/* ── Brand Bar ── */
.dp-footer-brand { padding: 2rem 0 1.5rem; border-bottom: 1px solid var(--dp-border-secondary); }
.dp-footer-brand-row { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.dp-footer-logo { flex-shrink: 0; }
.dp-footer-logo img { max-width: 80px; height: auto; }
.dp-footer-tagline { color: var(--dp-text-muted); font-size: 0.8rem; line-height: 1.5; display: block; margin-bottom: 0.5rem; }
.dp-footer-badges { display: flex; flex-wrap: wrap; gap: 0.4rem; }

/* ── Footer Tags ── */
.dp-ftag { font-size: 0.6rem; font-weight: 700; padding: 3px 8px; border-radius: 4px; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; }
.dp-ftag-green  { background: var(--dp-verified-bg); color: var(--dp-verified); border: 1px solid var(--dp-verified-border); }
.dp-ftag-cyan   { background: var(--dp-tech-bg);     color: var(--dp-tech);     border: 1px solid var(--dp-tech-border); }
.dp-ftag-amber  { background: var(--dp-warning-bg);  color: var(--dp-warning);  border: 1px solid var(--dp-warning-border); }
.dp-ftag-purple { background: rgba(191,90,242,0.08); color: var(--dp-purple);   border: 1px solid rgba(191,90,242,0.2); }

/* ── Navigation Grid ── */
.dp-footer-nav { padding: 2rem 0; border-bottom: 1px solid var(--dp-border-secondary); }
.dp-footer-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem; }
.dp-footer-heading { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--dp-text-primary); margin: 0 0 0.75rem; padding: 0; }
.dp-footer-links { list-style: none; padding: 0; margin: 0; }
.dp-footer-links li { margin-bottom: 0.4rem; }
.dp-footer-links li::before { content: none; }
.dp-footer-links a { color: var(--dp-text-muted); font-size: 0.78rem; text-decoration: none; border-bottom: none; transition: color 0.15s ease; line-height: 1.4; }
.dp-footer-links a:hover { color: var(--dp-verified); }

/* ── Compliance Bar ── */
.dp-footer-compliance { padding: 0.75rem 0; border-bottom: 1px solid var(--dp-border-secondary); background: var(--dp-bg-secondary); }
.dp-footer-compliance-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; justify-content: center; }
.dp-fdot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; display: inline-block; }
.dp-fdot-green { background-color: var(--dp-verified); }
.dp-fdot-amber { background-color: var(--dp-warning); }
.dp-fdot-cyan  { background-color: var(--dp-tech); }
.dp-fdot-red   { background-color: var(--dp-risk); }
.dp-fcompl { color: var(--dp-text-muted); font-size: 0.7rem; margin-right: 0.75rem; }

/* ── Contact Bar ── */
.dp-footer-contact { padding: 1rem 0; border-bottom: 1px solid var(--dp-border-secondary); }
.dp-footer-contact-row { display: flex; flex-wrap: wrap; gap: 2rem; justify-content: center; }
.dp-fcontact-item { text-decoration: none; text-align: center; border-bottom: none; }
.dp-fcontact-label { display: block; color: var(--dp-text-dim); font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.15rem; }
.dp-fcontact-value { display: block; color: var(--dp-text-primary); font-size: 0.85rem; }
.dp-fcontact-phone { font-weight: 600; font-family: var(--dp-font-mono); }

/* ── Entity Bar ── */
.dp-footer-entity { padding: 0.75rem 0; background: #080808; }
.dp-footer-entity-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.75rem; }
.dp-footer-entity-left { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; color: var(--dp-text-dim); font-size: 0.68rem; }
.dp-footer-sep { color: var(--dp-border-primary); }
.dp-footer-entity-right { color: var(--dp-text-dim); font-size: 0.68rem; }

/* ── Footer Responsive ── */
@media (max-width: 1024px) { .dp-footer-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {
    .dp-footer-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
    .dp-footer-brand-row { flex-direction: column; text-align: center; align-items: center; }
    .dp-footer-badges { justify-content: center; }
    .dp-footer-contact-row { gap: 1rem; }
    .dp-footer-entity-row { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) { .dp-footer-grid { grid-template-columns: 1fr; } }


/* ═══════════════════════════════════════════════════════════════════════════
   §19  BLOG POST OVERRIDES
   Blog posts render as CMS pages with body class "cms-blog-*" — NOT
   "blog-post-view". Both selectors are kept for future-proofing.
   ═══════════════════════════════════════════════════════════════════════════ */
body.blog-post-view,
body[class*="cms-blog-"] { background-color: var(--dp-bg-primary) !important; color: var(--dp-text-primary) !important; }

body.blog-post-view .page-main,
body.blog-post-view main,
body.blog-post-view #maincontent,
body.blog-post-view .columns,
body.blog-post-view .column,
body.blog-post-view .column.main,
body[class*="cms-blog-"] .page-main,
body[class*="cms-blog-"] main,
body[class*="cms-blog-"] #maincontent,
body[class*="cms-blog-"] .columns,
body[class*="cms-blog-"] .column,
body[class*="cms-blog-"] .column.main { background: transparent !important; background-color: transparent !important; }

body.blog-post-view .bg-white,
body.blog-post-view [class*="bg-white"],
body[class*="cms-blog-"] .bg-white,
body[class*="cms-blog-"] [class*="bg-white"],
body.blog-post-view [style*="background: #fff"],
body.blog-post-view [style*="background:#fff"],
body.blog-post-view [style*="background-color: #fff"],
body.blog-post-view [style*="background-color:#fff"],
body.blog-post-view [style*="background: white"],
body.blog-post-view [style*="background-color: white"],
body[class*="cms-blog-"] [style*="background: #fff"],
body[class*="cms-blog-"] [style*="background:#fff"],
body[class*="cms-blog-"] [style*="background-color: #fff"],
body[class*="cms-blog-"] [style*="background-color:#fff"],
body[class*="cms-blog-"] [style*="background: white"],
body[class*="cms-blog-"] [style*="background-color: white"] {
    background-color: var(--dp-bg-secondary) !important;
    background: var(--dp-bg-secondary) !important;
    color: var(--dp-text-primary) !important;
    border: 1px solid var(--dp-border-subtle) !important;
}

body.blog-post-view .mp-blog-view-wrapper,
body.blog-post-view .mpblog-post-view,
body.blog-post-view .post-post-content,
body.blog-post-view .post-content,
body.blog-post-view .post-view,
body[class*="cms-blog-"] .post-content,
body[class*="cms-blog-"] .post-view { background-color: var(--dp-bg-secondary) !important; color: var(--dp-text-primary) !important; }

body.blog-post-view .post-content *,
body.blog-post-view .post-view *,
body[class*="cms-blog-"] .post-content *,
body[class*="cms-blog-"] .post-view * { color: inherit; }
body.blog-post-view a,
body[class*="cms-blog-"] a { color: var(--dp-verified) !important; }
body.blog-post-view h1, body.blog-post-view h2,
body.blog-post-view h3, body.blog-post-view h4,
body[class*="cms-blog-"] h1, body[class*="cms-blog-"] h2,
body[class*="cms-blog-"] h3, body[class*="cms-blog-"] h4 { color: var(--dp-text-primary) !important; }

/* Blog article card */
body.blog-post-view article.wood905-blog-post-detail,
body.blog-post-view .wood905-blog-post-detail {
    background-color: var(--dp-bg-secondary) !important;
    border: 1px solid var(--dp-border-subtle) !important;
    border-radius: var(--dp-radius-md);
    padding: 1.5rem;
}

body.blog-post-view .blog-post-title,
body.blog-post-view .blog-post-content,
body.blog-post-view .blog-post-content p,
body.blog-post-view .blog-post-content li,
body.blog-post-view .blog-post-meta,
body.blog-post-view .blog-meta-author { color: var(--dp-text-primary) !important; }

/* Blog sidebar — applies to blog-post-view, blog-index-index, AND cms-blog-* pages */
body.blog-post-view aside.sidebar,
body.blog-post-view .sidebar.sidebar-main,
body.blog-post-view .sidebar.sidebar-additional,
body.blog-post-view .wood905-blog-sidebar,
body.blog-post-view .sidebar-widget,
body.blog-post-view .sidebar-categories,
body.blog-post-view .sidebar-recent-posts,
body.blog-post-view .sidebar-tags,
body.blog-post-view .sidebar-tag-cloud,
body.blog-index-index aside.sidebar,
body.blog-index-index .sidebar.sidebar-main,
body.blog-index-index .sidebar.sidebar-additional,
body.blog-index-index .wood905-blog-sidebar,
body.blog-index-index .sidebar-widget,
body.blog-index-index .sidebar-categories,
body.blog-index-index .sidebar-recent-posts,
body.blog-index-index .sidebar-tags,
body.blog-index-index .sidebar-tag-cloud,
body[class*="cms-blog-"] aside.sidebar,
body[class*="cms-blog-"] .sidebar.sidebar-main,
body[class*="cms-blog-"] .sidebar.sidebar-additional { background-color: var(--dp-bg-primary) !important; color: var(--dp-text-primary) !important; }

body.blog-post-view .sidebar-widget,
body.blog-index-index .sidebar-widget,
body[class*="cms-blog-"] .sidebar-widget {
    background-color: var(--dp-bg-secondary) !important;
    border: 1px solid var(--dp-border-subtle) !important;
    border-radius: var(--dp-radius-md);
    padding: 1rem;
    margin-bottom: 1rem;
}
body.blog-post-view .sidebar-widget h3,
body.blog-post-view .sidebar-widget h4,
body.blog-post-view .sidebar-widget li,
body.blog-index-index .sidebar-widget h3,
body.blog-index-index .sidebar-widget h4,
body.blog-index-index .sidebar-widget li,
body[class*="cms-blog-"] .sidebar-widget h3,
body[class*="cms-blog-"] .sidebar-widget h4,
body[class*="cms-blog-"] .sidebar-widget li { color: var(--dp-text-primary) !important; }
body.blog-post-view .sidebar-widget a,
body.blog-index-index .sidebar-widget a,
body[class*="cms-blog-"] .sidebar-widget a { color: var(--dp-verified) !important; }

/* Blog comments */
body.blog-post-view .blog-comments,
body.blog-post-view .blog-comments-list,
body.blog-post-view .blog-comment-form,
body.blog-post-view .comment-author,
body.blog-post-view .comment-body,
body.blog-post-view .comment-date,
body.blog-post-view .comment-meta { background-color: var(--dp-bg-primary) !important; color: var(--dp-text-primary) !important; }

body.blog-post-view .blog-comment {
    background-color: var(--dp-bg-secondary) !important;
    border: 1px solid var(--dp-border-subtle) !important;
    border-radius: var(--dp-radius-md);
    padding: 1rem;
    margin-bottom: 1rem;
}

body.blog-post-view .field label,
body.blog-post-view .field .label { color: var(--dp-text-primary) !important; }
body.blog-post-view .input-text,
body.blog-post-view textarea.input-text {
    background-color: var(--dp-bg-secondary) !important;
    color: var(--dp-text-primary) !important;
    border: 1px solid var(--dp-border-primary) !important;
}
body.blog-post-view .action.submit.primary { background-color: var(--dp-verified) !important; color: #000 !important; border: none !important; }

/* Blog page title */
body.blog-post-view [data-ui-id="page-title-wrapper"],
body.blog-post-view h1.page-title,
body.blog-post-view .page-title-wrapper,
body.blog-post-view .page-title-wrapper *,
body.blog-post-view h1.page-title *,
body.blog-post-view h1.page-title span,
body.blog-post-view h1.blog-post-title,
body[class*="cms-blog-"] [data-ui-id="page-title-wrapper"],
body[class*="cms-blog-"] h1.page-title,
body[class*="cms-blog-"] .page-title-wrapper,
body[class*="cms-blog-"] .page-title-wrapper *,
body[class*="cms-blog-"] h1.page-title * {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
html body.blog-post-view h1.page-title,
html body[class*="cms-blog-"] h1.page-title { font-weight: 700 !important; }

/* Blog Tailwind overrides — covers blog-post-view, cms-blog-*, AND border-slate-* */
body.blog-post-view [class*="border-gray-100"],
body.blog-post-view [class*="border-gray-200"],
body.blog-post-view [class*="border-gray-300"],
body[class*="cms-blog-"] [class*="border-gray-100"],
body[class*="cms-blog-"] [class*="border-gray-200"],
body[class*="cms-blog-"] [class*="border-gray-300"],
body.blog-post-view [class*="border-slate-200"],
body.blog-post-view [class*="border-slate-300"],
body[class*="cms-blog-"] [class*="border-slate-200"],
body[class*="cms-blog-"] [class*="border-slate-300"],
body.blog-index-index [class*="border-slate-200"],
body.blog-index-index [class*="border-slate-300"] { border-color: var(--dp-border-subtle) !important; }

body.blog-post-view [class*="text-gray-900"],
body.blog-post-view [class*="text-gray-800"],
body.blog-post-view [class*="text-gray-700"],
body[class*="cms-blog-"] [class*="text-gray-900"],
body[class*="cms-blog-"] [class*="text-gray-800"],
body[class*="cms-blog-"] [class*="text-gray-700"] { color: var(--dp-text-primary) !important; }

body.blog-post-view [class*="text-gray-600"],
body.blog-post-view [class*="text-gray-500"],
body.blog-post-view [class*="text-gray-400"],
body[class*="cms-blog-"] [class*="text-gray-600"],
body[class*="cms-blog-"] [class*="text-gray-500"],
body[class*="cms-blog-"] [class*="text-gray-400"] { color: var(--dp-text-secondary) !important; }

/* Text color for default/inherit — BLACK text on WHITE bg → must become light text on dark bg */
body[class*="cms-blog-"] p,
body[class*="cms-blog-"] li,
body[class*="cms-blog-"] span,
body[class*="cms-blog-"] div,
body[class*="cms-blog-"] td,
body[class*="cms-blog-"] th,
body[class*="cms-blog-"] label,
body[class*="cms-blog-"] dt,
body[class*="cms-blog-"] dd { color: var(--dp-text-primary) !important; }

body[class*="cms-blog-"] strong,
body[class*="cms-blog-"] b { color: #ffffff !important; }

body.blog-post-view ::selection,
body[class*="cms-blog-"] ::selection { background: var(--dp-verified) !important; color: #000 !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §19B  BLOG INDEX / LISTING PAGE — Card Grid & Navigation
   The blog landing at /blog/ renders post cards via Wood905_Blog PostList.
   These rules theme the listing page itself (not individual post views).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Index Page Base ── */
body.blog-index-index { background-color: var(--dp-bg-primary) !important; color: var(--dp-text-primary) !important; }

body.blog-index-index .page-main,
body.blog-index-index main,
body.blog-index-index #maincontent,
body.blog-index-index .columns,
body.blog-index-index .column,
body.blog-index-index .column.main { background: transparent !important; }

/* ── Blog Hero Header ── */
.blog-hero,
.blog-listing-header {
    text-align: center;
    padding: 3rem 1.5rem 2rem;
    border-bottom: 1px solid var(--dp-border-subtle);
    margin-bottom: 2rem;
}

.blog-hero h1,
.blog-listing-header h1,
body.blog-index-index h1.page-title {
    font-size: 2.4rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: var(--dp-text-primary) !important;
    -webkit-text-fill-color: var(--dp-text-primary) !important;
    margin-bottom: 0.5rem;
}

.blog-hero .blog-subtitle,
.blog-listing-header .blog-subtitle {
    font-size: 1.1rem;
    color: var(--dp-text-muted);
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ── Blog Status Badge (on listing header) ── */
.blog-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: var(--dp-verified-bg);
    color: var(--dp-verified);
    border: 1px solid var(--dp-verified-border);
    margin-bottom: 1rem;
}

.blog-status-badge::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--dp-verified);
    animation: blog-pulse 2s ease-in-out infinite;
}

@keyframes blog-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

/* ── Post Card Grid ── */
.blog-post-list,
.wood905-blog-post-list,
.blog-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1.5rem;
    padding: 0 1rem;
    max-width: 1200px;
    margin: 0 auto 3rem;
}

@media (max-width: 768px) {
    .blog-post-list,
    .wood905-blog-post-list,
    .blog-posts-grid { grid-template-columns: 1fr; padding: 0 0.75rem; }

    .blog-hero h1,
    .blog-listing-header h1,
    body.blog-index-index h1.page-title { font-size: 1.7rem !important; }
}

/* ── Individual Post Card ── */
.blog-post-card,
.wood905-blog-post-card,
.blog-post-list .post-item,
.wood905-blog-post-list .post-item,
.blog-post-list article,
.wood905-blog-post-list article {
    background-color: var(--dp-bg-secondary) !important;
    border: 1px solid var(--dp-border-secondary) !important;
    border-radius: var(--dp-radius-lg);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.2s ease;
    display: flex;
    flex-direction: column;
}

.blog-post-card:hover,
.wood905-blog-post-card:hover,
.blog-post-list .post-item:hover,
.wood905-blog-post-list .post-item:hover,
.blog-post-list article:hover,
.wood905-blog-post-list article:hover {
    border-color: var(--dp-verified-border) !important;
    box-shadow: 0 4px 20px rgba(48, 209, 88, 0.08), 0 2px 8px rgba(0,0,0,0.4);
    transform: translateY(-2px);
}

/* ── Card Featured Image ── */
.blog-post-card .post-image,
.blog-post-card .post-featured-image,
.wood905-blog-post-card .post-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    border-bottom: 1px solid var(--dp-border-subtle);
}

.blog-post-card .post-image-wrapper,
.wood905-blog-post-card .post-image-wrapper {
    overflow: hidden;
    position: relative;
}

.blog-post-card .post-image-wrapper img {
    transition: transform 0.3s ease;
}

.blog-post-card:hover .post-image-wrapper img {
    transform: scale(1.03);
}

/* ── Card Body ── */
.blog-post-card .post-card-body,
.blog-post-card .post-body,
.wood905-blog-post-card .post-card-body {
    padding: 1.25rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* ── Card Category Tag ── */
.blog-post-card .post-category-tag,
.wood905-blog-post-card .post-category-tag,
.blog-post-list .post-category-tag {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: var(--dp-verified-bg);
    color: var(--dp-verified);
    border: 1px solid var(--dp-verified-border);
    margin-bottom: 0.75rem;
    width: fit-content;
}

/* ── Card Title ── */
.blog-post-card h2,
.blog-post-card h3,
.blog-post-card .post-title,
.wood905-blog-post-card .post-title {
    font-size: 1.15rem !important;
    font-weight: 700;
    line-height: 1.35;
    color: var(--dp-text-primary) !important;
    margin: 0 0 0.5rem;
    letter-spacing: -0.01em;
}

.blog-post-card h2 a,
.blog-post-card h3 a,
.blog-post-card .post-title a,
.wood905-blog-post-card .post-title a {
    color: inherit !important;
    text-decoration: none;
    border-bottom: none !important;
}

.blog-post-card .post-title a:hover,
.wood905-blog-post-card .post-title a:hover { color: var(--dp-verified) !important; }

/* ── Card Meta ── */
.blog-post-card .post-meta,
.wood905-blog-post-card .post-meta,
.blog-post-list .post-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.72rem;
    color: var(--dp-text-dim) !important;
    margin-bottom: 0.75rem;
}

.blog-post-card .post-date,
.blog-post-card .post-views,
.blog-post-card .post-author { font-family: var(--dp-font-mono); }

/* ── Card Excerpt ── */
.blog-post-card .post-excerpt,
.blog-post-card .post-short-content,
.wood905-blog-post-card .post-excerpt {
    font-size: 0.88rem;
    line-height: 1.65;
    color: var(--dp-text-secondary) !important;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 1rem;
}

/* ── Card Read More CTA ── */
.blog-post-card .post-read-more,
.blog-post-card .read-more,
.wood905-blog-post-card .post-read-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--dp-verified) !important;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    border-bottom: none !important;
    margin-top: auto;
    transition: gap 0.2s ease, color 0.15s ease;
}

.blog-post-card .post-read-more::after,
.blog-post-card .read-more::after,
.wood905-blog-post-card .post-read-more::after {
    content: '→';
    transition: transform 0.2s ease;
}

.blog-post-card .post-read-more:hover,
.blog-post-card .read-more:hover,
.wood905-blog-post-card .post-read-more:hover {
    color: var(--dp-tech) !important;
    gap: 10px;
}

.blog-post-card .post-read-more:hover::after,
.blog-post-card .read-more:hover::after { transform: translateX(3px); }

/* ── Pagination ── */
.blog-pagination,
.wood905-blog-pagination,
body.blog-index-index .pages,
body.blog-index-index .toolbar-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    margin-bottom: 2rem;
}

.blog-pagination a,
.blog-pagination span,
body.blog-index-index .pages a,
body.blog-index-index .pages .current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: var(--dp-radius-md);
    font-size: 0.82rem;
    font-weight: 600;
    font-family: var(--dp-font-mono);
    text-decoration: none;
    border: 1px solid var(--dp-border-secondary);
    color: var(--dp-text-secondary) !important;
    background-color: var(--dp-bg-secondary);
    transition: all 0.15s ease;
}

.blog-pagination a:hover,
body.blog-index-index .pages a:hover {
    border-color: var(--dp-verified-border) !important;
    color: var(--dp-verified) !important;
    background-color: var(--dp-verified-bg);
}

.blog-pagination .current,
.blog-pagination .active,
body.blog-index-index .pages .current {
    background-color: var(--dp-verified) !important;
    color: var(--dp-bg-primary) !important;
    border-color: var(--dp-verified) !important;
    font-weight: 700;
}

/* ── Empty State ── */
.blog-empty-state,
.wood905-blog-empty {
    text-align: center;
    padding: 4rem 1.5rem;
    color: var(--dp-text-muted);
}

.blog-empty-state h2 { color: var(--dp-text-primary); margin-bottom: 0.5rem; }
.blog-empty-state p { color: var(--dp-text-muted); font-size: 1rem; }

/* ── Blog Index: Override white backgrounds ── */
body.blog-index-index .bg-white,
body.blog-index-index [class*="bg-white"] { background-color: var(--dp-bg-secondary) !important; }

body.blog-index-index [class*="text-gray-900"],
body.blog-index-index [class*="text-gray-800"],
body.blog-index-index [class*="text-gray-700"] { color: var(--dp-text-primary) !important; }

body.blog-index-index [class*="text-gray-600"],
body.blog-index-index [class*="text-gray-500"],
body.blog-index-index [class*="text-gray-400"] { color: var(--dp-text-secondary) !important; }

body.blog-index-index [class*="border-gray-100"],
body.blog-index-index [class*="border-gray-200"],
body.blog-index-index [class*="border-gray-300"] { border-color: var(--dp-border-subtle) !important; }

body.blog-index-index ::selection { background: var(--dp-verified) !important; color: #000 !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §19C  BLOG POST CONTENT CLASSES — HTML ↔ CSS Alignment
   Maps the semantic classes used in blog post HTML (<article class="blog-post">,
   .post-header, .post-category-tag, .post-meta, .post-content, .blog-table)
   to Dark Protocol V16 styling.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Article Container ── */
article.blog-post,
.blog-post-detail {
    background-color: var(--dp-bg-secondary) !important;
    border: 1px solid var(--dp-border-subtle);
    border-radius: var(--dp-radius-lg);
    padding: 2rem;
    max-width: 820px;
    margin: 0 auto 2rem;
    color: var(--dp-text-primary);
}

@media (max-width: 768px) {
    article.blog-post,
    .blog-post-detail { padding: 1.25rem; border-radius: var(--dp-radius-md); }
}

/* ── Post Header ── */
article.blog-post .post-header,
.blog-post .post-header {
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--dp-border-subtle);
}

article.blog-post .post-header h1 {
    font-size: 1.9rem !important;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    margin: 0.5rem 0 0.75rem;
}

@media (max-width: 768px) {
    article.blog-post .post-header h1 { font-size: 1.45rem !important; }
}

/* ── Category Tag (in post header) ── */
article.blog-post .post-category-tag,
.blog-post .post-category-tag {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: var(--dp-verified-bg);
    color: var(--dp-verified);
    border: 1px solid var(--dp-verified-border);
}

/* ── Post Meta ── */
article.blog-post .post-meta,
.blog-post .post-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: var(--dp-text-dim) !important;
}

article.blog-post .post-date,
.blog-post .post-date {
    font-family: var(--dp-font-mono);
    color: var(--dp-text-dim);
}

article.blog-post .post-read-time,
.blog-post .post-read-time {
    font-family: var(--dp-font-mono);
    color: var(--dp-text-dim);
}

/* ── Post Content (prose) ── */
article.blog-post .post-content,
.blog-post .post-content {
    line-height: 1.75;
    color: var(--dp-text-secondary) !important;
}

article.blog-post .post-content p {
    margin-bottom: 1.25rem;
    color: var(--dp-text-primary) !important;
}

article.blog-post .post-content h2 {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--dp-verified) !important;
    margin: 2rem 0 0.75rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--dp-border-subtle);
}

article.blog-post .post-content h3 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--dp-text-primary) !important;
    margin: 1.5rem 0 0.5rem;
}

article.blog-post .post-content h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dp-verified) !important;
    margin: 1.5rem 0 0.5rem;
}

article.blog-post .post-content a { color: var(--dp-verified) !important; border-bottom: 1px solid rgba(48, 209, 88, 0.25); text-decoration: none; }
article.blog-post .post-content a:hover { color: var(--dp-tech) !important; border-color: var(--dp-tech); }

article.blog-post .post-content strong,
article.blog-post .post-content b { color: #ffffff !important; }

/* ── Blockquotes ── */
article.blog-post .post-content blockquote {
    border-left: 3px solid var(--dp-verified) !important;
    background-color: var(--dp-bg-tertiary) !important;
    padding: 1rem 1.25rem;
    margin: 1.5rem 0;
    border-radius: 0 var(--dp-radius-md) var(--dp-radius-md) 0;
    color: var(--dp-text-secondary) !important;
}

article.blog-post .post-content blockquote p { color: var(--dp-text-secondary) !important; margin-bottom: 0; }

/* ── Lists ── */
article.blog-post .post-content ul { list-style: none; padding-left: 0; margin-bottom: 1.25rem; }
article.blog-post .post-content ul li { padding: 0.25rem 0 0.25rem 1.25rem; position: relative; color: var(--dp-text-primary) !important; }
article.blog-post .post-content ul li::before { content: '→ '; color: var(--dp-verified); font-weight: 700; position: absolute; left: 0; }

article.blog-post .post-content ol { padding-left: 1.5rem; margin-bottom: 1.25rem; }
article.blog-post .post-content ol li { padding: 0.25rem 0; color: var(--dp-text-primary) !important; }
article.blog-post .post-content ol li::marker { color: var(--dp-verified); font-weight: 700; font-family: var(--dp-font-mono); }

/* ── Tables ── */
article.blog-post .post-content table,
.blog-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.85rem;
    border: 1px solid var(--dp-border-secondary);
    border-radius: var(--dp-radius-md);
    overflow: hidden;
}

article.blog-post .post-content thead,
.blog-table thead {
    background-color: var(--dp-bg-tertiary) !important;
}

article.blog-post .post-content th,
.blog-table th {
    padding: 0.75rem 1rem;
    text-align: left;
    font-weight: 700;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--dp-text-primary) !important;
    border-bottom: 1px solid var(--dp-border-primary);
}

article.blog-post .post-content td,
.blog-table td {
    padding: 0.65rem 1rem;
    color: var(--dp-text-secondary) !important;
    border-bottom: 1px solid var(--dp-border-subtle);
    font-family: var(--dp-font-mono);
    font-size: 0.82rem;
}

article.blog-post .post-content tbody tr:hover,
.blog-table tbody tr:hover { background-color: var(--dp-bg-tertiary) !important; }

article.blog-post .post-content tbody tr:last-child td,
.blog-table tbody tr:last-child td { border-bottom: none; }

/* ── Code in posts ── */
article.blog-post .post-content code {
    background-color: var(--dp-bg-tertiary) !important;
    color: var(--dp-verified) !important;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: var(--dp-font-mono);
    font-size: 0.85em;
}

/* ── Post Footer / CTA ── */
article.blog-post .post-footer,
article.blog-post .post-cta {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--dp-border-subtle);
}


/* ═══════════════════════════════════════════════════════════════════════════
   §19D  BLOG DARK-MODE SAFETY NET
   Catches ANY remaining white-on-white contrast issues across all blog
   body classes: blog-post-view, blog-index-index, cms-blog-*.
   Targets Hyvä/Tailwind light-mode defaults that leak through.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Mobile dialog (slide-out menu) on blog pages — has white bg by default ── */
body.blog-index-index dialog,
body.blog-post-view dialog,
body.blog-category-view dialog,
body.blog-tag-view dialog,
body[class*="cms-blog-"] dialog {
    background-color: var(--dp-bg-primary) !important;
    color: var(--dp-text-primary) !important;
}

body.blog-index-index dialog .border-b,
body.blog-index-index dialog [class*="border-slate"],
body.blog-post-view dialog .border-b,
body.blog-category-view dialog .border-b,
body.blog-tag-view dialog .border-b,
body[class*="cms-blog-"] dialog .border-b,
body[class*="cms-blog-"] dialog [class*="border-slate"] { border-color: var(--dp-border-subtle) !important; }

/* ── Cookie consent banner on blog pages ── */
body.blog-index-index .bg-gray-100,
body.blog-index-index [class*="bg-gray-100"],
body.blog-post-view .bg-gray-100,
body.blog-category-view .bg-gray-100,
body.blog-tag-view .bg-gray-100,
body[class*="cms-blog-"] .bg-gray-100,
body[class*="cms-blog-"] [class*="bg-gray-100"] {
    background-color: var(--dp-bg-secondary) !important;
    color: var(--dp-text-primary) !important;
}

/* ── Blog category/tag page base dark mode ── */
body.blog-category-view,
body.blog-tag-view { background-color: var(--dp-bg-primary) !important; color: var(--dp-text-primary) !important; }

body.blog-category-view .page-main,
body.blog-category-view .column.main,
body.blog-category-view .columns,
body.blog-tag-view .page-main,
body.blog-tag-view .column.main,
body.blog-tag-view .columns { background: transparent !important; }

body.blog-category-view .bg-white,
body.blog-category-view [class*="bg-white"],
body.blog-tag-view .bg-white,
body.blog-tag-view [class*="bg-white"] { background-color: var(--dp-bg-secondary) !important; }

body.blog-category-view [class*="text-gray-900"],
body.blog-category-view [class*="text-gray-800"],
body.blog-category-view [class*="text-gray-700"],
body.blog-tag-view [class*="text-gray-900"],
body.blog-tag-view [class*="text-gray-800"],
body.blog-tag-view [class*="text-gray-700"] { color: var(--dp-text-primary) !important; }

body.blog-category-view [class*="text-gray-600"],
body.blog-category-view [class*="text-gray-500"],
body.blog-category-view [class*="text-gray-400"],
body.blog-tag-view [class*="text-gray-600"],
body.blog-tag-view [class*="text-gray-500"],
body.blog-tag-view [class*="text-gray-400"] { color: var(--dp-text-secondary) !important; }

body.blog-category-view [class*="border-gray-100"],
body.blog-category-view [class*="border-gray-200"],
body.blog-category-view [class*="border-gray-300"],
body.blog-category-view [class*="border-slate-200"],
body.blog-tag-view [class*="border-gray-100"],
body.blog-tag-view [class*="border-gray-200"],
body.blog-tag-view [class*="border-gray-300"],
body.blog-tag-view [class*="border-slate-200"] { border-color: var(--dp-border-subtle) !important; }

body.blog-category-view h1,
body.blog-category-view h2,
body.blog-category-view h3,
body.blog-tag-view h1,
body.blog-tag-view h2,
body.blog-tag-view h3 { color: var(--dp-text-primary) !important; }

body.blog-category-view a,
body.blog-tag-view a { color: var(--dp-verified) !important; }

body.blog-category-view ::selection,
body.blog-tag-view ::selection { background: var(--dp-verified) !important; color: #000 !important; }

/* ── Breadcrumbs on blog pages ── */
body.blog-index-index .breadcrumbs,
body.blog-index-index .breadcrumbs a,
body.blog-index-index .breadcrumbs li,
body.blog-post-view .breadcrumbs,
body.blog-category-view .breadcrumbs,
body.blog-category-view .breadcrumbs a,
body.blog-tag-view .breadcrumbs,
body.blog-tag-view .breadcrumbs a,
body[class*="cms-blog-"] .breadcrumbs,
body[class*="cms-blog-"] .breadcrumbs a,
body[class*="cms-blog-"] .breadcrumbs li { color: var(--dp-text-muted) !important; }
body.blog-index-index .breadcrumbs a:hover,
body.blog-category-view .breadcrumbs a:hover,
body.blog-tag-view .breadcrumbs a:hover,
body[class*="cms-blog-"] .breadcrumbs a:hover { color: var(--dp-verified) !important; }

/* ── Catch-all: any Tailwind text-black or default black text ── */
body.blog-index-index .text-black,
body.blog-post-view .text-black,
body.blog-category-view .text-black,
body.blog-tag-view .text-black,
body[class*="cms-blog-"] .text-black { color: var(--dp-text-primary) !important; }

/* ── Input/form fields on blog pages (search, comments) ── */
body.blog-index-index input[type="text"],
body.blog-index-index input[type="search"],
body.blog-index-index textarea,
body.blog-index-index select,
body.blog-category-view input[type="text"],
body.blog-category-view input[type="search"],
body.blog-tag-view input[type="text"],
body.blog-tag-view input[type="search"],
body[class*="cms-blog-"] input[type="text"],
body[class*="cms-blog-"] input[type="search"],
body[class*="cms-blog-"] textarea,
body[class*="cms-blog-"] select {
    background-color: var(--dp-bg-secondary) !important;
    color: var(--dp-text-primary) !important;
    border-color: var(--dp-border-primary) !important;
}

/* ── Hover states: prevent bg-gray-100 hover showing white ── */
body.blog-index-index [class*="hover:bg-gray-100"]:hover,
body.blog-post-view [class*="hover:bg-gray-100"]:hover,
body.blog-category-view [class*="hover:bg-gray-100"]:hover,
body.blog-tag-view [class*="hover:bg-gray-100"]:hover,
body[class*="cms-blog-"] [class*="hover:bg-gray-100"]:hover { background-color: var(--dp-bg-elevated) !important; }

/* ── Blog page footer widget areas ── */
body.blog-index-index .page-footer,
body.blog-post-view .page-footer,
body.blog-category-view .page-footer,
body.blog-tag-view .page-footer,
body[class*="cms-blog-"] .page-footer { background-color: var(--dp-bg-primary) !important; }



/* ═══════════════════════════════════════════════════════════════════════════
   §20  CATEGORY HERO IMAGES
   ═══════════════════════════════════════════════════════════════════════════ */
.category-image { overflow: hidden; background-color: var(--dp-bg-primary); }
.category-image img { width: 100%; height: auto; max-height: 600px; object-fit: cover; display: block; }
.category-view.container { overflow: visible; }


/* ═══════════════════════════════════════════════════════════════════════════
   §20.5  HOMEPAGE HERO BACKGROUND IMAGE — Responsive + Dark Overlay
   Three responsive cuts:
     640w  → mobile   (max-width: 640px)
     1024w → tablet   (641px – 1024px)
     1440w → desktop  (1025px+, default)
   Dark gradient overlay maintains WCAG AA text contrast on bright imagery.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Base: Desktop (1440w) ── */
body.cms-index-index .hero-bg-905,
body.cms-contacts .hero-bg-905,
body.cms-request-quote .hero-bg-905 {
    position: relative;
    background-image: url('/media/wysiwyg/905wood_hero_1440w.jpg');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}

/* ── Dark overlay — preserves text readability over bright image ── */
body.cms-index-index .hero-bg-905::before,
body.cms-contacts .hero-bg-905::before,
body.cms-request-quote .hero-bg-905::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        160deg,
        rgba(0, 0, 0, 0.88) 0%,
        rgba(0, 0, 0, 0.72) 35%,
        rgba(0, 0, 0, 0.60) 55%,
        rgba(0, 0, 0, 0.75) 80%,
        rgba(0, 0, 0, 0.88) 100%
    );
    z-index: 1;
    pointer-events: none;
}

/* ── Ensure all hero content sits above the overlay ── */
body.cms-index-index .hero-bg-905 > *,
body.cms-contacts .hero-bg-905 > *,
body.cms-request-quote .hero-bg-905 > * {
    position: relative;
    z-index: 2;
}

/* ── Tablet breakpoint (1024w) ── */
@media (max-width: 1024px) {
    body.cms-index-index .hero-bg-905,
    body.cms-contacts .hero-bg-905,
    body.cms-request-quote .hero-bg-905 {
        background-image: url('/media/wysiwyg/905wood_hero_1024w.jpg');
        background-position: center center;
    }
}

/* ── Mobile breakpoint (640w) ── */
@media (max-width: 640px) {
    body.cms-index-index .hero-bg-905,
    body.cms-contacts .hero-bg-905,
    body.cms-request-quote .hero-bg-905 {
        background-image: url('/media/wysiwyg/905wood_hero_640w.jpg');
        background-position: center center;
    }

    /* Tighten the overlay on mobile for stronger contrast on smaller screens */
    body.cms-index-index .hero-bg-905::before,
    body.cms-contacts .hero-bg-905::before,
    body.cms-request-quote .hero-bg-905::before {
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.90) 0%,
            rgba(0, 0, 0, 0.78) 40%,
            rgba(0, 0, 0, 0.85) 100%
        );
    }
}


/* ── Contacts page: dedicated hero image override ── */
body.cms-contacts .hero-bg-905 {
    background-image: url('/media/wysiwyg/905wood_contacts_hero.jpg');
    background-position: left center;
}

/* Contacts overlay tuned for the lighter construction-worker image */
body.cms-contacts .hero-bg-905::before {
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.82) 0%,
        rgba(0, 0, 0, 0.68) 40%,
        rgba(0, 0, 0, 0.55) 60%,
        rgba(0, 0, 0, 0.70) 85%,
        rgba(0, 0, 0, 0.85) 100%
    );
}

@media (max-width: 1024px) {
    body.cms-contacts .hero-bg-905 {
        background-position: center center;
    }
}

@media (max-width: 640px) {
    body.cms-contacts .hero-bg-905 {
        background-position: 30% center;
    }
    body.cms-contacts .hero-bg-905::before {
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.88) 0%,
            rgba(0, 0, 0, 0.75) 40%,
            rgba(0, 0, 0, 0.88) 100%
        );
    }
}


/* ── Request-Quote page: dedicated hero image override ── */
body.cms-request-quote .hero-bg-905 {
    background-image: url('/media/wysiwyg/905wood_quote_hero.jpg');
    background-position: 70% 25%;
    min-height: 320px;
}

/* Quote overlay tuned for the darker call-center image */
body.cms-request-quote .hero-bg-905::before {
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.80) 0%,
        rgba(0, 0, 0, 0.62) 40%,
        rgba(0, 0, 0, 0.50) 60%,
        rgba(0, 0, 0, 0.65) 85%,
        rgba(0, 0, 0, 0.82) 100%
    );
}

@media (max-width: 640px) {
    body.cms-request-quote .hero-bg-905 {
        background-position: 65% 20%;
        min-height: 260px;
    }
    body.cms-request-quote .hero-bg-905::before {
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.85) 0%,
            rgba(0, 0, 0, 0.72) 40%,
            rgba(0, 0, 0, 0.85) 100%
        );
    }
}


/* ═══════════════════════════════════════════════════════════════════════════
   §21  ACCOUNT NAVIGATION SECTIONS
   ═══════════════════════════════════════════════════════════════════════════ */
.account .page-main,
.account .column.main,
.account .block-title,
.account .box-title { color: var(--dp-text-primary) !important; }

.account-nav-list { padding: 0; margin: 0; list-style: none; }
.account-nav-section-header { list-style: none; padding: 0.875rem 1rem 0.375rem; margin: 0.625rem 0 0.125rem; border-top: 1px solid rgba(255,255,255,0.08); }
.account-nav-section-header:first-of-type { border-top: 0; margin-top: 0; }
.account-nav-section-label { display: block; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.55); line-height: 1.2; }
.account-nav-section-header[data-section="refinery"] .account-nav-section-label { color: rgba(132,222,132,0.85); }
.account-nav-section-divider { list-style: none; height: 1px; margin: 0.875rem 1rem 0.5rem; padding: 0; background: rgba(255,255,255,0.10); border: 0; }
.account-nav-list .nav.item[data-section] { padding-left: 0.25rem; }
.account-nav-list .nav.item[data-section="footer"] a { opacity: 0.75; transition: opacity 0.15s ease; }
.account-nav-list .nav.item[data-section="footer"] a:hover { opacity: 1; }


/* ═══════════════════════════════════════════════════════════════════════════
   §22  SEARCH AUTOCOMPLETE
   ═══════════════════════════════════════════════════════════════════════════ */
.search-autocomplete { background-color: var(--dp-bg-tertiary) !important; border-color: var(--dp-border-primary) !important; }
.search-autocomplete li { color: var(--dp-text-primary) !important; }
.search-autocomplete li:hover { background-color: var(--dp-bg-elevated) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §23  LOGO
   ═══════════════════════════════════════════════════════════════════════════ */
.logo img { max-width: 150px !important; max-height: 150px !important; width: auto !important; height: auto !important; }

.logo-905wood-seal { color: var(--dp-text-primary) !important; }
.logo-905wood-seal svg text,
.logo-905wood-seal text,
.logo-905wood-seal svg path { fill: var(--dp-text-primary) !important; color: var(--dp-text-primary) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §24  DARK-MODE POLISH — Pristine V16 Finish
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Subtitle gray on dark cards: ensure AA ── */
[class*="bg-\["] .text-gray-400,
[class*="bg-\["] .text-slate-400,
[class*="bg-\["] .text-zinc-400,
[style*="background:#0F"] .text-gray-400,
[style*="background:#1B"] .text-gray-400,
[style*="background: #0F"] .text-gray-400,
[style*="background: #1B"] .text-gray-400 {
    color: var(--dp-text-secondary) !important;
}

/* ── Solid-color badge text: black on light bg for AA ── */
[class*="bg-green-500"][class*="text-white"],
[class*="bg-emerald-500"][class*="text-white"],
[class*="bg-cyan"][class*="text-white"],
[class*="bg-sky"][class*="text-white"],
[class*="bg-yellow"][class*="text-white"],
[class*="bg-amber"][class*="text-white"] {
    color: var(--dp-bg-primary) !important;
}

.bg-\[\#30D158\].text-white,
[style*="background:#30D158"].text-white,
[style*="background-color:#30D158"].text-white,
.bg-\[\#64D2FF\].text-white,
.bg-\[\#FFD60A\].text-white,
[style*="background:#FFA500"].text-white {
    color: var(--dp-bg-primary) !important;
}

/* ── Red badge: darker bg for AA ── */
[class*="bg-red-500"][class*="text-white"],
.bg-\[\#FF453A\].text-white {
    background-color: #b91c1c !important;
}

/* ── CTA buttons: darker green for AA ── */
a.bg-green-600:not(.text-black),
a.bg-green-500:not(.text-black),
button.bg-green-600,
button.bg-green-500 {
    background-color: #15803d !important;
}

a.bg-green-600:hover,
a.bg-green-500:hover,
a[class*="bg-green"][class*="inline-flex"]:hover {
    background-color: #16a34a !important;
    box-shadow: 0 0 24px rgba(48, 209, 88, 0.35) !important;
    transform: translateY(-1px);
}

/* ── Typography rhythm ── */
h1 { letter-spacing: -0.02em; line-height: 1.15; }
h2 { letter-spacing: -0.01em; line-height: 1.2; }
h3, h4 { letter-spacing: 0; line-height: 1.3; }

/* ── Tabular numerals on mono fonts ── */
[class*="font-mono"] {
    font-feature-settings: 'tnum';
    font-variant-numeric: tabular-nums;
}

/* ── Tracking on uppercase labels ── */
[class*="tracking-wider"],
[class*="tracking-widest"] { letter-spacing: 0.08em !important; }

/* ── Sentient Bridge gradient text ── */
.sb-grad {
    background: linear-gradient(90deg, #22c55e 0%, #fde047 60%, #f59e0b 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: #4ade80 !important;
}
@supports not (background-clip: text) {
    .sb-grad {
        color: #4ade80 !important;
        -webkit-text-fill-color: #4ade80 !important;
        background: none !important;
    }
}

/* ── sb-chip golden chips ── */
.sb-chip {
    color: #fde047 !important;
    background: rgba(253, 224, 71, 0.08) !important;
    border: 1px solid rgba(253, 224, 71, 0.25) !important;
}

/* ── Theme toggle pill ── */
.theme-toggle-905 {
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.5);
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.theme-toggle-905:hover {
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.5), 0 0 12px rgba(48, 209, 88, 0.25);
}

/* ── Link hover: verified → tech trail ── */
a:not([class*="btn-"]):not([class*="bg-"]):not(.logo-905wood-seal):not(.theme-toggle-905):not([class*="logo-905"]):hover {
    color: var(--dp-tech) !important;
}

/* ── Smooth transitions on interactive elements ── */
a:not(.theme-toggle-905):not([class*="logo-905"]),
button:not(.theme-toggle-905) {
    transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

/* ── Card depth via subtle shadow ── */
[style*="background:#0F2733"],
[style*="background: #0F2733"],
.bg-\[\#0F2733\],
.bg-\[\#0F2433\],
.bg-\[\#0F3A2F\],
.bg-\[\#1B3A4B\] {
    box-shadow: 0 1px 3px rgba(0,0,0,0.4), 0 4px 12px rgba(0,0,0,0.25);
    border-radius: var(--dp-radius-lg);
}


/* ═══════════════════════════════════════════════════════════════════════════
   §25  TAILWIND JIT GAP-FILLERS
   Emit CSS that Tailwind's JIT compiler missed for CMS arbitrary values.
   ═══════════════════════════════════════════════════════════════════════════ */
.bg-\[\#0F2433\] { background-color: #0F2433 !important; }
.bg-\[\#0F3A2F\] { background-color: #0F3A2F !important; }
.bg-\[\#1B3A4B\] { background-color: #1B3A4B !important; }
.bg-\[\#0F2733\] { background-color: #0F2733 !important; }
.bg-\[\#0E1A23\] { background-color: #0E1A23 !important; }

.text-\[\#30D158\] { color: #30D158 !important; }
.text-\[\#64D2FF\] { color: #64D2FF !important; }
.text-\[\#FFD60A\] { color: #FFD60A !important; }
.text-\[\#FF453A\] { color: #FF453A !important; }

/* Brand dark-navy text: unreadable on near-black → swap to slate-300 */
.text-\[\#1B3A4B\] { color: #cbd5e1 !important; }

.border-\[\#30D158\] { border-color: #30D158 !important; }
.border-\[\#64D2FF\] { border-color: #64D2FF !important; }
.border-\[\#FFD60A\] { border-color: #FFD60A !important; }

/* ── Dark-mode text-gray-300 inside dark cards ── */
[style*="background:#0F2733"] .text-gray-300,
[style*="background:#1B3A4B"] .text-gray-300 { color: #cbd5e1 !important; }

.text-neutral-400 { color: var(--dp-text-muted) !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §26  LAGUNA OUTDOOR MODE — High-Sunlight Optimization
   ═══════════════════════════════════════════════════════════════════════════ */
@media (prefers-contrast: more) {
    :root {
        --dp-text-primary:   #FFFFFF;
        --dp-text-secondary: #CCCCCC;
        --dp-text-muted:     #AAAAAA;
        --dp-text-dim:       #999999;
        --dp-border-primary: #555555;
    }

    .dr-widget { border-width: 2px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   §27  PRINT MODE — High-Contrast Fax-Ready
   ═══════════════════════════════════════════════════════════════════════════ */
@media print {
    body { background: white !important; color: black !important; }
    .dr-widget { border: 2px solid black !important; background: white !important; }
    .dr-badge  { border: 1px solid black !important; color: black !important; background: white !important; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   §28  SCROLLBAR, SELECTION, FOCUS RING
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--dp-bg-primary); }
::-webkit-scrollbar-thumb { background: var(--dp-border-primary); border-radius: 5px; border: 2px solid var(--dp-bg-primary); }
::-webkit-scrollbar-thumb:hover { background: #525252; }

/* ── Selection ── */
::selection { background-color: rgba(48, 209, 88, 0.35); color: #ffffff; }

/* ── Focus Ring — WCAG 2.2 SC 2.4.11 compliant ── */
:focus-visible {
    outline: 2px solid var(--dp-verified) !important;
    outline-offset: 2px !important;
    border-radius: 4px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid var(--dp-verified) !important;
    outline-offset: 2px !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   §29  ACCESSIBILITY — Motion & Color Scheme Preferences
   ═══════════════════════════════════════════════════════════════════════════ */

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Auto-apply dark mode for users with system dark preference */
@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) {
        color-scheme: dark;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════
   §30  SENTINEL — Version Marker
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════════
   §20  BLOG MODULE CSS OVERRIDE — Defeats Wood905_Blog/css/blog.min.css
   ───────────────────────────────────────────────────────────────────────────
   Root cause: blog.min.css "LIGHT THEME OVERRIDE" (lines 287–546) forces
   background: #ffffff and color: #111111 with !important on all blog
   content containers, titles, excerpts, sidebar, comments, and page-main.
   Since dark-protocol-v16 loads AFTER blog.min.css, we can win the cascade
   by using equal or higher specificity selectors + !important.
   
   Strategy: Use body.blog-*-* prefix to match specificity of blog.min.css's
   body.blog-post-view / body.blog-index-index selectors, then add extra
   class qualifiers where blog.min.css uses .wood905-blog-* containers.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Page-Main, Columns, Column — blog.min.css forces #ffffff !important ── */
body.blog-post-view .page-main,
body.blog-post-view .columns,
body.blog-post-view .column.main,
body.blog-index-index .page-main,
body.blog-index-index .columns,
body.blog-index-index .column.main,
body.blog-category-view .page-main,
body.blog-category-view .columns,
body.blog-category-view .column.main,
body.blog-tag-view .page-main,
body.blog-tag-view .columns,
body.blog-tag-view .column.main {
    background-color: var(--dp-bg-primary) !important;
    color: var(--dp-text-primary) !important;
}

/* ── Page Title — blog.min.css: body.blog-*-* h1.page-title { color: #111 !important } ── */
body.blog-post-view .page-title-wrapper,
body.blog-post-view .page-title,
body.blog-post-view h1.page-title,
body.blog-index-index .page-title-wrapper,
body.blog-index-index .page-title,
body.blog-index-index h1.page-title,
body.blog-category-view h1.page-title,
body.blog-tag-view h1.page-title {
    background-color: transparent !important;
    color: #ffffff !important;
}

/* ── Post Detail Container — blog.min.css: .wood905-blog-post-detail { bg:#fff, color:#111 } ── */
body.blog-post-view .wood905-blog-post-detail,
body.blog-post-view article.wood905-blog-post-detail {
    background-color: var(--dp-bg-secondary) !important;
    color: var(--dp-text-primary) !important;
    border: 1px solid var(--dp-border-secondary) !important;
}

/* ── Post Detail * wildcard — blog.min.css: .wood905-blog-post-detail * { color: inherit } ── */
body.blog-post-view .wood905-blog-post-detail *,
body.blog-post-view .wood905-blog-post-detail p,
body.blog-post-view .wood905-blog-post-detail li,
body.blog-post-view .wood905-blog-post-detail span,
body.blog-post-view .wood905-blog-post-detail td,
body.blog-post-view .wood905-blog-post-detail th,
body.blog-post-view .wood905-blog-post-detail em,
body.blog-post-view .wood905-blog-post-detail strong {
    color: var(--dp-text-primary) !important;
}

/* ── Post Detail divs — blog.min.css: .wood905-blog-post-detail div { bg:#fff !important, color:#111 !important } ── */
body.blog-post-view .wood905-blog-post-detail div,
body.blog-post-view .wood905-blog-post-detail header,
body.blog-post-view .wood905-blog-post-detail section,
body.blog-post-view .wood905-blog-post-detail .blog-post-header,
body.blog-post-view .wood905-blog-post-detail .blog-post-featured-image {
    background-color: transparent !important;
    color: var(--dp-text-primary) !important;
}

/* ── Post Title — blog.min.css: .wood905-blog-post-detail .blog-post-title { color: #111 !important } ── */
body.blog-post-view .wood905-blog-post-detail .blog-post-title,
body.blog-post-view .wood905-blog-post-detail h1,
body.blog-post-view .wood905-blog-post-detail h2,
body.blog-post-view .wood905-blog-post-detail h3,
body.blog-post-view .wood905-blog-post-detail h4 {
    color: #ffffff !important;
}

/* ── Post Content — blog.min.css: .wood905-blog-post-detail .blog-post-content { color: #1a1a1a !important } ── */
body.blog-post-view .wood905-blog-post-detail .blog-post-content,
body.blog-post-view .wood905-blog-post-detail .blog-post-content p,
body.blog-post-view .wood905-blog-post-detail .blog-post-content li,
body.blog-post-view .wood905-blog-post-detail .blog-post-content td,
body.blog-post-view .wood905-blog-post-detail .blog-post-content th,
body.blog-post-view .wood905-blog-post-detail .blog-post-content span {
    color: var(--dp-text-primary) !important;
}

/* ── Post Content h2/h3 ── */
body.blog-post-view .wood905-blog-post-detail .blog-post-content h2,
body.blog-post-view .wood905-blog-post-detail .blog-post-content h3 {
    color: #ffffff !important;
}

/* ── Post Meta — blog.min.css: .blog-post-meta { color: #555 !important } ── */
body.blog-post-view .wood905-blog-post-detail .blog-post-meta,
body.blog-post-view .wood905-blog-post-detail .blog-meta-author,
body.blog-post-view .wood905-blog-post-detail .blog-meta-date,
body.blog-post-view .wood905-blog-post-detail .blog-meta-views {
    color: var(--dp-text-secondary) !important;
}

/* ── Post Links — blog.min.css: .wood905-blog-post-detail a { color: #2e7d32 !important } ── */
body.blog-post-view .wood905-blog-post-detail a {
    color: var(--dp-verified) !important;
}
body.blog-post-view .wood905-blog-post-detail a:hover {
    color: #3FE874 !important;
}

/* ── Blockquote — blog.min.css: blockquote { bg: #f5f5f5 } ── */
body.blog-post-view .wood905-blog-post-detail .blog-post-content blockquote {
    background-color: var(--dp-bg-tertiary) !important;
    border-left-color: var(--dp-verified) !important;
    color: var(--dp-text-primary) !important;
}

/* ── Comments — blog.min.css: .blog-comments { bg: #f9f9f9, color: #111 } ── */
body.blog-post-view .wood905-blog-post-detail .blog-comments,
body.blog-post-view .blog-comments {
    background-color: var(--dp-bg-tertiary) !important;
    color: var(--dp-text-primary) !important;
    border-top-color: var(--dp-border-primary) !important;
}
body.blog-post-view .blog-comments h3 { color: #ffffff !important; }
body.blog-post-view .blog-comment { border-bottom-color: var(--dp-border-subtle) !important; }
body.blog-post-view .comment-author { color: var(--dp-text-primary) !important; }
body.blog-post-view .comment-date { color: var(--dp-text-muted) !important; }
body.blog-post-view .comment-body { color: var(--dp-text-primary) !important; }

/* ── Comment Form — blog.min.css: .blog-comment-form { bg: #f0f0f0, color: #111 } ── */
body.blog-post-view .blog-comment-form {
    background-color: var(--dp-bg-elevated) !important;
    color: var(--dp-text-primary) !important;
}
body.blog-post-view .blog-comment-form .label { color: var(--dp-text-primary) !important; }
body.blog-post-view .blog-comment-form .input-text {
    background-color: var(--dp-bg-primary) !important;
    color: var(--dp-text-primary) !important;
    border-color: var(--dp-border-primary) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   Blog Index — .wood905-blog-list overrides
   ════════════════════════════════════════════════════════════════════════ */

/* ── Blog List Container — blog.min.css: .wood905-blog-list { bg:#fff, color:#111 } ── */
body.blog-index-index .wood905-blog-list,
body.blog-category-view .wood905-blog-list,
body.blog-tag-view .wood905-blog-list {
    background-color: transparent !important;
    color: var(--dp-text-primary) !important;
}

/* ── Blog Post Cards — blog.min.css: .blog-post-card { bg:#fff, border:#e0e0e0 } ── */
body.blog-index-index .wood905-blog-list .blog-post-card,
body.blog-category-view .wood905-blog-list .blog-post-card,
body.blog-tag-view .wood905-blog-list .blog-post-card {
    background-color: var(--dp-bg-secondary) !important;
    border-color: var(--dp-border-secondary) !important;
    color: var(--dp-text-primary) !important;
}

/* ── Blog Post Card hover shadow ── */
body.blog-index-index .blog-post-card:hover,
body.blog-category-view .blog-post-card:hover,
body.blog-tag-view .blog-post-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

/* ── Card Title — blog.min.css: .wood905-blog-list .blog-post-title a { color: #111 } ── */
body.blog-index-index .wood905-blog-list .blog-post-title,
body.blog-index-index .wood905-blog-list .blog-post-title a,
body.blog-category-view .wood905-blog-list .blog-post-title a,
body.blog-tag-view .wood905-blog-list .blog-post-title a {
    color: #ffffff !important;
}
body.blog-index-index .wood905-blog-list .blog-post-title a:hover,
body.blog-category-view .wood905-blog-list .blog-post-title a:hover,
body.blog-tag-view .wood905-blog-list .blog-post-title a:hover {
    color: var(--dp-verified) !important;
}

/* ── Card Excerpt — blog.min.css: .blog-post-excerpt { color: #333 } ── */
body.blog-index-index .wood905-blog-list .blog-post-excerpt,
body.blog-category-view .wood905-blog-list .blog-post-excerpt,
body.blog-tag-view .wood905-blog-list .blog-post-excerpt {
    color: var(--dp-text-primary) !important;
}

/* ── Card Meta — author/date/views ── */
body.blog-index-index .wood905-blog-list .blog-post-meta,
body.blog-index-index .wood905-blog-list .blog-meta-author,
body.blog-index-index .wood905-blog-list .blog-meta-date,
body.blog-index-index .wood905-blog-list .blog-meta-views {
    color: var(--dp-text-secondary) !important;
}

/* ── Read More link — blog.min.css: .blog-read-more { color: #2e7d32 } ── */
body.blog-index-index .wood905-blog-list .blog-read-more,
body.blog-category-view .blog-read-more,
body.blog-tag-view .blog-read-more {
    color: var(--dp-verified) !important;
}
body.blog-index-index .blog-read-more:hover { color: #3FE874 !important; }

/* ── Card all links ── */
body.blog-index-index .wood905-blog-list a,
body.blog-category-view .wood905-blog-list a,
body.blog-tag-view .wood905-blog-list a {
    color: var(--dp-verified) !important;
}

/* ── Post Info padding area ── */
body.blog-index-index .wood905-blog-list .blog-post-info,
body.blog-category-view .wood905-blog-list .blog-post-info {
    background-color: transparent !important;
}

/* ════════════════════════════════════════════════════════════════════════
   Blog Sidebar — all blog page types
   ════════════════════════════════════════════════════════════════════════ */

/* ── Sidebar Container — blog.min.css: body.blog-*-* .sidebar { bg:#fff !important, color:#111 !important } ── */
body.blog-post-view .sidebar,
body.blog-post-view .sidebar-main,
body.blog-post-view .sidebar-additional,
body.blog-index-index .sidebar,
body.blog-index-index .sidebar-main,
body.blog-category-view .sidebar,
body.blog-tag-view .sidebar {
    background-color: transparent !important;
    color: var(--dp-text-primary) !important;
}

/* ── Sidebar * wildcard — blog.min.css: body.blog-*-* .sidebar * { color: inherit !important } ── */
body.blog-post-view .sidebar *,
body.blog-index-index .sidebar * {
    color: var(--dp-text-primary) !important;
}

/* ── Sidebar links — blog.min.css: body.blog-*-* .sidebar a { color: #2e7d32 !important } ── */
body.blog-post-view .sidebar a,
body.blog-index-index .sidebar a,
body.blog-category-view .sidebar a,
body.blog-tag-view .sidebar a {
    color: var(--dp-verified) !important;
}

/* ── Sidebar Module Widget Titles ── */
body.blog-post-view .sidebar-widget-title,
body.blog-index-index .sidebar-widget-title {
    color: #ffffff !important;
    border-bottom-color: var(--dp-verified) !important;
}

/* ── Sidebar List — blog.min.css: .sidebar-list li { border-bottom: #f0f0f0 } ── */
body.blog-post-view .sidebar-list li,
body.blog-index-index .sidebar-list li {
    border-bottom-color: var(--dp-border-subtle) !important;
}
body.blog-post-view .sidebar-list li a,
body.blog-index-index .sidebar-list li a {
    color: var(--dp-text-primary) !important;
}
body.blog-post-view .sidebar-list li a:hover,
body.blog-index-index .sidebar-list li a:hover {
    color: var(--dp-verified) !important;
}

/* ── Sidebar Post Date ── */
body.blog-post-view .sidebar-post-date,
body.blog-index-index .sidebar-post-date {
    color: var(--dp-text-muted) !important;
}

/* ── Sidebar Tags — blog.min.css: .sidebar-tag { bg:#e8f5e9, color:#2e7d32 } ── */
body.blog-post-view .sidebar-tag,
body.blog-index-index .sidebar-tag,
body.blog-category-view .sidebar-tag,
body.blog-tag-view .sidebar-tag {
    background-color: rgba(48, 209, 88, 0.12) !important;
    color: var(--dp-verified) !important;
}
body.blog-post-view .sidebar-tag:hover,
body.blog-index-index .sidebar-tag:hover {
    background-color: var(--dp-verified) !important;
    color: #0A0A0A !important;
}

/* ── Blog Sidebar headings ── */
body.blog-post-view .wood905-blog-sidebar h3,
body.blog-index-index .wood905-blog-sidebar h3,
body.blog-post-view .sidebar h3,
body.blog-index-index .sidebar h3,
body.blog-post-view .sidebar h4,
body.blog-index-index .sidebar h4 {
    color: #ffffff !important;
}

/* ── Blog Empty State ── */
body.blog-index-index .wood905-blog-empty {
    color: var(--dp-text-muted) !important;
}

/* ── Blog Pagination ── */
body.blog-index-index .blog-pagination a { color: var(--dp-verified) !important; }
body.blog-index-index .blog-pagination .current {
    background-color: var(--dp-verified) !important;
    color: #0A0A0A !important;
}


.dr-905-dark-protocol-v16-sentinel { content: "905WOOD-DARK-PROTOCOL-V16"; }
