/*
Theme Name: D-BUG Commerce
Theme URI: https://www.d-bug.org/
Author: D-BUG.ORG Corp.
Description: Dark D-BUG branded block theme for WooCommerce storefronts.
Version: 0.3.2
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: dbug-commerce
*/

:root {
  color-scheme: dark;
  --dbug-border: rgba(255,255,255,.09);
  --dbug-border-strong: rgba(139,92,246,.55);
  --dbug-shadow: 0 18px 44px rgba(0,0,0,.28);
}

html {
  scroll-behavior: smooth;
}

body {
  background: #0c0e11;
  color: #e5e5e5;
}

a {
  text-underline-offset: .16em;
}

.wp-site-blocks {
  min-height: 100vh;
}

.dbug-shell {
  width: min(1200px, calc(100% - 48px));
  margin-inline: auto;
}

.dbug-card {
  background: #181818;
  border: 1px solid var(--dbug-border);
  border-radius: 14px;
  box-shadow: var(--dbug-shadow);
}

.dbug-eyebrow {
  color: #b9a0ff;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

/* Header */
.dbug-header {
  position: relative;
  z-index: 20;
  backdrop-filter: blur(10px);
}

.dbug-header-inner {
  min-height: 68px;
}

.dbug-brand {
  gap: 14px !important;
}

.dbug-brand .wp-block-site-logo img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.dbug-brand .wp-block-site-title {
  margin: 0;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1;
}

.dbug-brand .wp-block-site-title a {
  background: linear-gradient(90deg, #ffffff 0%, #d8ccff 52%, #8b5cf6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  text-decoration: none;
}

.dbug-header .wp-block-navigation {
  gap: 4px;
}

.dbug-header .wp-block-navigation-item__content {
  border-radius: 7px;
  padding: .55rem .68rem;
  text-decoration: none;
}

.dbug-header .wp-block-navigation-item__content:hover,
.dbug-header .current-menu-item > .wp-block-navigation-item__content {
  background: rgba(139,92,246,.10);
  color: #b9a0ff !important;
}

/* Hero */
.dbug-hero {
  border-bottom: 1px solid rgba(255,255,255,.04);
}

.dbug-hero-copy {
  max-width: 820px;
  margin-inline: 0 auto;
}

.dbug-hero .wp-block-heading {
  max-width: 820px;
  margin-bottom: 22px;
  text-wrap: balance;
}

.dbug-hero .dbug-hero-lead {
  max-width: 720px;
  line-height: 1.55;
}

/* Featured products + trust section */
.dbug-section-heading {
  margin-bottom: 26px;
}

.dbug-trust-card {
  max-width: 920px;
  margin-inline: auto;
}

/* Footer */
.dbug-footer {
  margin-top: 80px !important;
}

.dbug-footer-brand .wp-block-site-title {
  margin-bottom: 8px;
  font-size: clamp(1.35rem, 2.5vw, 1.9rem);
}

.dbug-footer-links {
  gap: 10px !important;
}

.dbug-footer-links p {
  margin: 0;
}

/* Form basics outside Woo too */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
textarea,
select {
  background: #101214;
  color: #e5e5e5;
  border: 1px solid #3f3f46;
  border-radius: 8px;
}

/* Mobile */
@media (max-width: 782px) {
  .dbug-shell {
    width: min(100% - 36px, 1200px);
  }

  .dbug-header-inner {
    min-height: 62px;
  }

  .dbug-brand .wp-block-site-logo img {
    width: 46px;
    height: 46px;
  }

  .dbug-brand .wp-block-site-title {
    font-size: 1.25rem;
  }

  .dbug-hero {
    padding-top: 68px !important;
    padding-bottom: 68px !important;
  }

  .dbug-footer {
    margin-top: 56px !important;
  }
}


/* v0.3 targeted refinements */

/* Keep header actions visually grouped with the primary navigation. */
.dbug-header-inner {
  column-gap: 18px;
}

.dbug-header .wp-block-navigation {
  margin-left: auto;
}

.dbug-header .wp-block-navigation__container {
  gap: 1px !important;
}

.dbug-header .wp-block-woocommerce-customer-account,
.dbug-header .wc-block-mini-cart,
.dbug-header .wp-block-woocommerce-mini-cart,
.dbug-header [class*="customer-account"],
.dbug-header [class*="mini-cart"] {
  margin-left: 4px !important;
}

.dbug-header .wc-block-mini-cart__button,
.dbug-header .wp-block-woocommerce-customer-account a {
  border-radius: 8px;
  padding: .55rem .62rem;
}

.dbug-header .wc-block-mini-cart__button:hover,
.dbug-header .wp-block-woocommerce-customer-account a:hover {
  background: rgba(139,92,246,.10);
}

/* Let the home product feature feel like part of the page, not a tiny widget. */
.home .dbug-featured-products {
  max-width: 1040px;
  margin-inline: auto;
}

.home .dbug-featured-products .woocommerce ul.products {
  grid-template-columns: repeat(auto-fit, minmax(260px, 320px));
  justify-content: start;
}

.home .dbug-featured-products .woocommerce ul.products li.product {
  min-width: 0;
}

.home .dbug-featured-products .woocommerce ul.products li.product a img {
  aspect-ratio: 1 / 1;
}

@media (max-width: 782px) {
  .dbug-header-inner {
    column-gap: 8px;
  }

  .home .dbug-featured-products .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   D-BUG Commerce v0.3.1
   Checkout readability fixes
   ========================================================= */

.woocommerce-checkout {
    color: #E5E5E5;
}

/* WooCommerce checkout text */
.woocommerce-checkout p,
.woocommerce-checkout label,
.woocommerce-checkout small,
.woocommerce-checkout legend,
.woocommerce-checkout .wc-block-components-checkout-step__description,
.woocommerce-checkout .wc-block-components-checkbox__label,
.woocommerce-checkout .wc-block-components-radio-control__label,
.woocommerce-checkout .wc-block-components-product-name,
.woocommerce-checkout .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-item__value,
.woocommerce-checkout .wc-block-components-order-summary-item__description,
.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    color: #E5E5E5 !important;
}

/* Secondary / explanatory text */
.woocommerce-checkout .wc-block-components-checkout-step__description,
.woocommerce-checkout .wc-block-components-address-card address,
.woocommerce-checkout .wc-block-checkout__terms,
.woocommerce-checkout .wc-block-components-product-metadata {
    color: #B8B8B8 !important;
}

/* Checkout links */
.woocommerce-checkout a {
    color: #B9A0FF !important;
}

.woocommerce-checkout a:hover {
    color: #FFFFFF !important;
}

/* Form controls */
.woocommerce-checkout input,
.woocommerce-checkout textarea {
    background-color: #0C0E11 !important;
    color: #E5E5E5 !important;
    border-color: #4A4A4A !important;
}

.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
    color: #9A9A9A !important;
    opacity: 1;
}

/* Payment / shipping boxes */
.woocommerce-checkout .wc-block-components-radio-control,
.woocommerce-checkout .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-totals-wrapper {
    color: #E5E5E5 !important;
    border-color: #444 !important;
}

/* Main Woo checkout buttons */
.woocommerce-checkout .wc-block-components-button:not(.wc-block-components-express-payment__event-buttons),
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    background-color: #8B5CF6 !important;
    color: #FFFFFF !important;
    border-color: #8B5CF6 !important;
}

.woocommerce-checkout .wc-block-components-button:hover {
    color: #FFFFFF !important;
}


/* =========================================================
   PayPal messaging contrast
   ========================================================= */

.ppcp-messages,
.ppcp-messages * {
    color: #B8B8B8 !important;
}


/* PayPal messaging contrast */
.ppcp-messages,
.ppcp-messages * {
    color: #B8B8B8 !important;
}


/* =========================================================
   WooCommerce Blocks payment method readability
   ========================================================= */

.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control-accordion-option *,
.wc-block-components-radio-control__option,
.wc-block-components-radio-control__option *,
.wc-block-components-payment-method-label,
.wc-block-components-payment-method-label *,
.wc-block-components-payment-method-content,
.wc-block-components-payment-method-content * {
    color: #E5E5E5 !important;
}

.wc-block-components-radio-control__description,
.wc-block-components-payment-method-content p {
    color: #B8B8B8 !important;
}


/* =========================================================
   Checkout contrast fixes - 2026-10-02
   Safe CSS-only pass for Woo checkout blocks
   ========================================================= */

/* Radio buttons / checkboxes */
.wp-block-woocommerce-checkout input[type="radio"],
.wp-block-woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"],
.woocommerce-checkout input[type="checkbox"] {
    accent-color: #8B5CF6;
}

/* Payment method container / labels */
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout .wc-block-components-payment-method,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label,
.wp-block-woocommerce-checkout .wc-block-components-payment-method-label,
.wp-block-woocommerce-checkout .wc-block-components-payment-method-description,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__description {
    color: #F5F7FB;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout .wc-block-components-payment-method {
    background: #0C0E11;
    border-color: rgba(255,255,255,0.18);
}

/* Form fields */
.wp-block-woocommerce-checkout input,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea,
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-combobox-control .components-form-token-field__input-container {
    background: #0C0E11;
    color: #F5F7FB;
    border-color: rgba(255,255,255,0.18);
}

/* Native select dropdowns */
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout select option {
    background: #23222C;
    color: #F5F7FB;
}

/* Woo/Gutenberg combobox dropdown */
.wp-block-woocommerce-checkout .components-popover__content,
.wp-block-woocommerce-checkout .components-form-token-field__suggestions-list,
.wp-block-woocommerce-checkout .components-form-token-field__suggestion,
.wp-block-woocommerce-checkout .components-menu-group,
.wp-block-woocommerce-checkout .components-menu-item__button {
    background: #23222C;
    color: #F5F7FB;
}

/* Hover / selected dropdown rows */
.wp-block-woocommerce-checkout .components-form-token-field__suggestion.is-selected,
.wp-block-woocommerce-checkout .components-form-token-field__suggestion:hover,
.wp-block-woocommerce-checkout .components-menu-item__button:hover,
.wp-block-woocommerce-checkout .components-menu-item__button:focus {
    background: #3A3948;
    color: #FFFFFF;
}

/* Placeholder text */
.wp-block-woocommerce-checkout input::placeholder,
.wp-block-woocommerce-checkout textarea::placeholder {
    color: #B8B8C5;
    opacity: 1;
}


/* =========================================================
   WooCommerce checkout controls - dark theme contrast
   2026-10-02
   ========================================================= */

/* Make Woo checkout radio/checkbox controls clearly visible */
.wp-block-woocommerce-checkout input[type="radio"],
.wp-block-woocommerce-checkout input[type="checkbox"],
.wc-block-components-radio-control__input {
    accent-color: #8B5CF6 !important;
    background-color: #0C0E11 !important;
    border: 1px solid #B8B8C5 !important;
    opacity: 1 !important;
}

/* Strong visible checked state */
.wp-block-woocommerce-checkout input[type="radio"]:checked,
.wp-block-woocommerce-checkout input[type="checkbox"]:checked,
.wc-block-components-radio-control__input:checked {
    accent-color: #8B5CF6 !important;
    border-color: #A78BFA !important;
    box-shadow: 0 0 0 1px #A78BFA !important;
}

/* Payment-method label */
.wc-block-components-payment-method-label,
.wc-block-components-radio-control__label {
    color: #F5F7FB !important;
    opacity: 1 !important;
}

/* PayPal payment-method logo/image */
.wc-block-components-payment-method-label img,
.wc-block-components-radio-control__label img,
.wc-block-components-payment-method-label svg,
.wc-block-components-radio-control__label svg {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    filter: none !important;
    width: auto !important;
    max-height: 24px !important;
    vertical-align: middle !important;
}

/* Checkbox labels */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__label {
    color: #F5F7FB !important;
    opacity: 1 !important;
}


/* =========================================================
   Custom filled radio / checkbox for checkout
   2026-10-02
   ========================================================= */

.wp-block-woocommerce-checkout input[type="radio"],
.wp-block-woocommerce-checkout input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 10px 0 0 !important;
    background: #0C0E11 !important;
    border: 1px solid #A78BFA !important;
    display: inline-grid !important;
    place-content: center !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    opacity: 1 !important;
}

/* radio = circle */
.wp-block-woocommerce-checkout input[type="radio"] {
    border-radius: 50% !important;
}

/* checkbox = square */
.wp-block-woocommerce-checkout input[type="checkbox"] {
    border-radius: 4px !important;
}

/* inner fill */
.wp-block-woocommerce-checkout input[type="radio"]::before,
.wp-block-woocommerce-checkout input[type="checkbox"]::before {
    content: "" !important;
    width: 12px !important;
    height: 12px !important;
    transform: scale(0) !important;
    transition: transform 0.12s ease-in-out !important;
    background: #8B5CF6 !important;
}

/* keep radio inner fill circular */
.wp-block-woocommerce-checkout input[type="radio"]::before {
    border-radius: 50% !important;
}

/* checkbox inner fill square */
.wp-block-woocommerce-checkout input[type="checkbox"]::before {
    border-radius: 2px !important;
}

/* checked = filled */
.wp-block-woocommerce-checkout input[type="radio"]:checked::before,
.wp-block-woocommerce-checkout input[type="checkbox"]:checked::before {
    transform: scale(1) !important;
}

/* slightly brighter border when checked */
.wp-block-woocommerce-checkout input[type="radio"]:checked,
.wp-block-woocommerce-checkout input[type="checkbox"]:checked {
    border-color: #C4B5FD !important;
    box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.35) !important;
}


/* =========================================================
   Checkout controls refinement
   Full-fill controls + selected payment card
   ========================================================= */

/*
 * Remove the previous inner pseudo-element approach.
 * Fill the actual control instead.
 */
.wp-block-woocommerce-checkout input[type="radio"]::before,
.wp-block-woocommerce-checkout input[type="checkbox"]::before {
    content: none !important;
    display: none !important;
}

/* Base radio / checkbox */
.wp-block-woocommerce-checkout input[type="radio"],
.wp-block-woocommerce-checkout input[type="checkbox"],
.wc-block-components-radio-control__input {
    -webkit-appearance: none !important;
    appearance: none !important;

    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;

    background: #0C0E11 !important;
    border: 2px solid #8B8B98 !important;

    box-shadow: none !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

/* Radio stays circular */
.wp-block-woocommerce-checkout input[type="radio"],
.wc-block-components-radio-control__input {
    border-radius: 50% !important;
}

/* Checkbox stays square */
.wp-block-woocommerce-checkout input[type="checkbox"] {
    border-radius: 4px !important;
}

/* Full purple fill when selected */
.wp-block-woocommerce-checkout input[type="radio"]:checked,
.wp-block-woocommerce-checkout input[type="checkbox"]:checked,
.wc-block-components-radio-control__input:checked {
    background: #8B5CF6 !important;
    border-color: #A78BFA !important;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.22) !important;
}

/*
 * Make the entire payment option feel interactive.
 */
.wp-block-woocommerce-checkout
.wc-block-components-radio-control-accordion-option {
    cursor: pointer !important;
    transition:
        border-color 0.15s ease,
        background-color 0.15s ease,
        box-shadow 0.15s ease !important;
}

/* Hover anywhere over the PayPal payment option */
.wp-block-woocommerce-checkout
.wc-block-components-radio-control-accordion-option:hover {
    border-color: #8B5CF6 !important;
    background: rgba(139, 92, 246, 0.05) !important;
}

/* Clearly show which payment option is selected */
.wp-block-woocommerce-checkout
.wc-block-components-radio-control-accordion-option:has(
    input[type="radio"]:checked
) {
    border-color: #8B5CF6 !important;
    background: rgba(139, 92, 246, 0.08) !important;
    box-shadow: inset 3px 0 0 #8B5CF6 !important;
}

/* Payment option header should also look clickable */
.wp-block-woocommerce-checkout
.wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout
.wc-block-components-radio-control__label {
    cursor: pointer !important;
}



/* =========================================================
   D-BUG Natural Care - WooCommerce Product Gallery
   ========================================================= */

/* Keep the product image area clean */
.single-product div.product .woocommerce-product-gallery {
    margin-bottom: 28px;
}

/* Main product image */
.single-product .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

/*
 * WooCommerce/Flexslider thumbnail gallery
 *
 * Override WooCommerce's old float/list behavior.
 */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;

    width: 100%;
    margin: 12px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
    clear: both;
}

/* Kill numbered/list styling */
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    width: auto !important;
    float: none !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
    counter-increment: none !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li::before,
.single-product .woocommerce-product-gallery .flex-control-thumbs li::marker {
    content: none !important;
    display: none !important;
}

/* Thumbnail image */
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
    display: block;

    width: 100% !important;
    height: auto;

    aspect-ratio: 1 / 1;
    object-fit: cover;

    margin: 0 !important;

    border: 1px solid rgba(255,255,255,.12);
    border-radius: 9px;

    opacity: .68;
    cursor: pointer;

    transition:
        opacity .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
    opacity: 1;
    transform: translateY(-1px);
    border-color: rgba(168, 85, 247, .7);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
    opacity: 1;
    border-color: #a855f7;
}

/* Keep summary vertically aligned with gallery */
.single-product div.product .summary {
    margin-top: 0;
}

/* Cleaner variation controls */
.single-product table.variations {
    margin-bottom: 14px;
}

.single-product table.variations td,
.single-product table.variations th {
    padding-top: 7px;
    padding-bottom: 7px;
}

/* Remove excessive space before tabs/description */
.single-product .woocommerce-tabs {
    clear: both;
    padding-top: 24px;
}

/* Tablet */
@media (max-width: 900px) {
    .single-product .woocommerce-product-gallery .flex-control-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }
}

/* Phone */
@media (max-width: 600px) {
    .single-product .woocommerce-product-gallery .flex-control-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
    }

    .single-product .woocommerce-product-gallery .flex-control-thumbs img {
        border-radius: 7px;
    }
}



/* =========================================================
   D-BUG Natural Care - Variation Controls
   ========================================================= */

.single-product table.variations {
    width: auto;
}

.single-product table.variations th.label {
    padding-right: 18px;
    vertical-align: middle;
}

.single-product table.variations td.value {
    display: flex;
    align-items: center;
    gap: 12px;
}

.single-product table.variations select {
    min-width: 150px;
    margin: 0;
}

.single-product .reset_variations {
    display: inline-block !important;
    margin-left: 8px !important;
    padding: 4px 0;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .single-product table.variations td.value {
        flex-wrap: wrap;
        gap: 8px;
    }

    .single-product table.variations select {
        min-width: 165px;
    }

    .single-product .reset_variations {
        margin-left: 0 !important;
    }
}


/* =========================================================
   D-BUG Natural Care - Product Reviews
   ========================================================= */

.single-product #reviews {
    max-width: 820px;
}

.single-product #review_form_wrapper {
    margin-top: 28px;
}

.single-product #review_form .comment-reply-title {
    display: block;
    margin-bottom: 18px;
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
}

.single-product #review_form p {
    margin: 0 0 18px;
}

.single-product #review_form label {
    display: block;
    margin-bottom: 7px;
    font-weight: 600;
    color: #f4f4f5;
}

.single-product #review_form textarea,
.single-product #review_form input[type="text"],
.single-product #review_form input[type="email"] {
    width: 100%;
    max-width: 620px;
    padding: 12px 14px;
    color: #fff;
    background: #0f1115;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 8px;
    outline: none;
}

.single-product #review_form textarea {
    min-height: 170px;
    resize: vertical;
}

.single-product #review_form textarea:focus,
.single-product #review_form input[type="text"]:focus,
.single-product #review_form input[type="email"]:focus {
    border-color: #a855f7;
    box-shadow: 0 0 0 2px rgba(168,85,247,.15);
}

.single-product #review_form .comment-form-cookies-consent {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 620px;
}

.single-product #review_form .comment-form-cookies-consent input {
    width: 18px;
    height: 18px;
    margin: 0;
}

.single-product #review_form .comment-form-cookies-consent label {
    margin: 0;
    font-weight: 400;
}

.single-product #review_form .form-submit input[type="submit"] {
    padding: 12px 22px;
    color: #fff;
    background: #8b5cf6;
    border: 0;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
}

.single-product #review_form .form-submit input[type="submit"]:hover {
    filter: brightness(1.08);
}


/* Star rating */
.single-product #review_form .comment-form-rating {
    margin-bottom: 22px;
}

.single-product #review_form .stars {
    margin: 8px 0 0;
}

.single-product #review_form .stars span {
    display: inline-flex;
    gap: 5px;
}

.single-product #review_form .stars a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    overflow: hidden;
    text-indent: -9999px;
    text-decoration: none;
}

.single-product #review_form .stars a::before {
    content: "★";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-indent: 0;
    font-size: 24px;
    line-height: 1;
    color: rgba(255,255,255,.35);
}

.single-product #review_form .stars a:hover::before,
.single-product #review_form .stars a.active::before {
    color: #a855f7;
}


/* D-BUG footer layout refinement */
.dbug-footer > .wp-block-group.alignwide {
  width: min(100%, 1200px);
  margin-inline: auto;
}

.dbug-footer-links {
  align-items: flex-start;
  gap: 14px !important;
}

.dbug-footer-links a {
  text-decoration: none;
}

.dbug-footer-links a:hover {
  color: #b9a0ff;
  text-decoration: underline;
}

@media (max-width: 600px) {
  .dbug-footer > .wp-block-group.alignwide {
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
  }
}

/* WooCommerce legacy archive product-card cleanup */
.woocommerce ul.products {
  list-style: none;
  padding-left: 0;
}

.woocommerce ul.products li.product {
  list-style: none;
}

.woocommerce ul.products li.product::marker {
  content: "";
}

.woocommerce ul.products li.product a {
  text-decoration: none;
}

.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title {
  color: #b9a0ff;
}

/* D-BUG Natural Care — single product layout */
@media (min-width: 901px) {
  .single-product .dbug-shell div.product {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 36px;
    align-items: start;
  }

  .single-product .dbug-shell div.product
  .woocommerce-product-gallery {
    grid-column: 1;
    grid-row: 1;
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
  }

  .single-product .dbug-shell div.product .summary {
    grid-column: 2;
    grid-row: 1;
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
  }

  .single-product .dbug-shell div.product
  .woocommerce-tabs,
  .single-product .dbug-shell div.product
  .related,
  .single-product .dbug-shell div.product
  .upsells {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 900px) {
  .single-product .dbug-shell div.product
  .woocommerce-product-gallery,
  .single-product .dbug-shell div.product .summary {
    float: none !important;
    width: 100% !important;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .single-product .dbug-shell div.product .summary {
    margin-top: 28px !important;
  }
}

/* D-BUG Natural Care — product gallery and tabs refinement */

/* Keep the gallery zoom control inside the image */
.single-product .woocommerce-product-gallery {
  position: relative;
}

.single-product .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  z-index: 5;
}

/* Product tabs */
.single-product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0 0 28px !important;
  padding: 0 !important;
  list-style: none;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  display: block;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 12px 0;
  text-decoration: none;
  color: #a1a1aa;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  color: #fff;
  border-bottom: 2px solid #8b5cf6;
}

.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: #b9a0ff;
}

.single-product .woocommerce-tabs .panel {
  max-width: 100%;
  line-height: 1.7;
}

/* Consistent D-BUG Natural Care footer branding */
.dbug-footer .dbug-footer-brand .wp-block-site-title,
.dbug-footer .dbug-footer-brand .wp-block-site-title a {
  color: #b9a0ff !important;
  text-decoration: none;
}

.dbug-footer .dbug-footer-brand .wp-block-site-title a:hover {
  color: #d8ccff !important;
}

/* D-BUG Commerce — approved mobile navigation */
@media (max-width: 782px) {
.wp-block-navigation__responsive-container.is-menu-open {
    background-color: #0c0e11 !important;
    color: #e5e5e5 !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    background-color: #0c0e11 !important;
    color: #e5e5e5 !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
    color: #e5e5e5 !important;
    text-decoration: none;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content:hover,
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content:focus {
    color: #b9a0ff !important;
  }

  .wp-block-navigation__responsive-container-close,
  .wp-block-navigation__responsive-container-open {
    color: #e5e5e5 !important;
  }

.dbug-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    padding: 28px 24px !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    z-index: 99999 !important;
    background: #0c0e11 !important;
  }

  .dbug-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding-top: 56px !important;
  }

  .dbug-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    width: 100% !important;
  }

  .dbug-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item {
    width: 100%;
  }

  .dbug-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    padding: 10px 0 !important;
    font-size: 1.1rem;
    text-align: left !important;
  }

  .dbug-header .wp-block-navigation__responsive-container-close {
    position: absolute !important;
    top: 20px !important;
    right: 24px !important;
    z-index: 2;
  }

.dbug-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    padding-top: 44px !important;
  }

  .dbug-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    gap: 4px !important;
  }

  .dbug-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
    padding: 14px 16px !important;
    border-radius: 9px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
  }

  .dbug-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content:hover,
  .dbug-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content:focus-visible {
    background: rgba(139, 92, 246, .12);
    color: #b9a0ff !important;
  }

  .dbug-header .wp-block-navigation__responsive-container-close {
    top: 16px !important;
    right: 20px !important;
    padding: 8px !important;
  }
}


/* =========================================================
   D-BUG Commerce — Shared Icon Header
   Desktop and responsive layout
   ========================================================= */

/* Action row */
.dbug-header .dbug-header-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  margin-left: auto;
}

/* Custom icon links */
.dbug-header .dbug-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  border-radius: 8px;
  color: #b9a0ff !important;
  text-decoration: none !important;
  line-height: 1;
}

.dbug-header .dbug-icon-link:hover,
.dbug-header .dbug-icon-link:focus-visible {
  background: rgba(139,92,246,.12);
}

/* Uniform navigation control dimensions */
.dbug-header .dbug-header-actions > .dbug-icon-link,
.dbug-header .dbug-header-actions > .wp-block-woocommerce-customer-account,
.dbug-header .dbug-header-actions > .wc-block-mini-cart,
.dbug-header .dbug-header-actions > .wp-block-woocommerce-mini-cart {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px;
  margin: 0 !important;
  padding: 0 !important;
}

.dbug-header .dbug-header-actions .dbug-icon-link svg,
.dbug-header .dbug-header-actions .wc-block-mini-cart__icon,
.dbug-header .dbug-header-actions .wc-block-customer-account__account-icon {
  display: block;
  width: 24px !important;
  height: 24px !important;
}

.dbug-header .dbug-header-actions .wc-block-mini-cart__button,
.dbug-header .dbug-header-actions .wp-block-woocommerce-customer-account a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  margin: 0 !important;
  padding: 0 !important;
}

/* Branding */
.dbug-header .dbug-brand {
  gap: 14px !important;
}

.dbug-header .dbug-brand .wp-block-site-logo {
  flex-shrink: 0;
}

.dbug-header .dbug-brand .wp-block-site-logo img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain;
}

.dbug-header .dbug-brand .wp-block-site-title {
  font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
  line-height: 1;
  white-space: nowrap;
}

/* Cart is intentionally absent on Cart and Checkout.
   Other pages use WooCommerce's native badge. */
.dbug-header .dbug-cart-fallback {
  display: none !important;
}

body.woocommerce-cart .dbug-header .wc-block-mini-cart,
body.woocommerce-checkout .dbug-header .wc-block-mini-cart,
body.page-id-8 .dbug-header .wc-block-mini-cart,
body.page-id-9 .dbug-header .wc-block-mini-cart {
  display: none !important;
}

/* Tablet and mobile */
@media (max-width: 782px) {
  .dbug-header .dbug-header-actions {
    gap: 4px !important;
  }

  .dbug-header .dbug-header-actions > .dbug-icon-link,
  .dbug-header .dbug-header-actions > .wp-block-woocommerce-customer-account,
  .dbug-header .dbug-header-actions > .wc-block-mini-cart,
  .dbug-header .dbug-header-actions > .wp-block-woocommerce-mini-cart {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px;
  }

  .dbug-header .dbug-header-actions .wc-block-mini-cart__button,
  .dbug-header .dbug-header-actions .wp-block-woocommerce-customer-account a {
    width: 36px;
    height: 36px;
  }

  .dbug-header .dbug-brand .wp-block-site-logo img {
    width: 46px !important;
    height: 46px !important;
  }

  .dbug-header .dbug-brand .wp-block-site-title {
    font-size: 1.25rem !important;
  }
}

/* Compact controls */
@media (max-width: 600px) {
  .dbug-header .dbug-home-link {
    display: none;
  }

  .dbug-header .dbug-icon-link {
    padding: 7px;
  }

  .dbug-header .dbug-icon-link svg {
    width: 22px;
    height: 22px;
  }
}

/* Narrow phones: linked C60 logo represents Home */
@media (max-width: 399px) {
  .dbug-header {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .dbug-header .dbug-header-inner {
    gap: 8px !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
  }

  .dbug-header .dbug-brand {
    flex: 0 0 auto;
    gap: 0 !important;
  }

  .dbug-header .dbug-brand .wp-block-site-title {
    display: none !important;
  }

  .dbug-header .dbug-brand .wp-block-site-logo img {
    width: 40px !important;
    height: 40px !important;
  }

  .dbug-header .dbug-header-actions {
    flex: 0 0 auto;
    margin-left: auto !important;
    gap: 4px !important;
  }
}

/* Unified D-BUG footer */
.dbug-footer-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}

.dbug-footer-navigation > div {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-width: 125px;
}

.dbug-footer-navigation strong {
  color: #fff;
  margin-bottom: .35rem;
}

.dbug-footer-navigation a {
  color: #b9a0ff;
  text-decoration: none;
}

.dbug-footer-navigation a:hover {
  color: #fff;
  text-decoration: underline;
}

@media (max-width: 782px) {
  .dbug-footer-navigation {
    gap: 2rem;
  }
}

/* D-BUG DYNAMIC NAVIGATION */

.dbug-context-label {
    color: #f5f5f7;
    font-size: clamp(1.1rem, 2vw, 1.65rem);
    font-weight: 600;
    line-height: 1.2;
}

.dbug-services-nav {
    position: relative;
    z-index: 50;
}

.dbug-services-dropdown > summary {
    display: flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    list-style: none;
}

.dbug-services-dropdown > summary::-webkit-details-marker {
    display: none;
}

.dbug-services-dropdown svg {
    width: 24px;
    height: 24px;
}

.dbug-services-menu {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 230px;
    max-width: min(320px, 90vw);
    padding: 12px;
    background: #18181e;
    border: 1px solid #36313e;
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

.dbug-services-menu a {
    display: block;
    color: #c5b0ff;
    padding: 9px 12px;
    text-decoration: none;
    border-radius: 6px;
}

.dbug-services-menu a:hover,
.dbug-services-menu a:focus-visible {
    color: white;
    background: rgba(139,92,246,.15);
}

.dbug-services-menu ul,
.dbug-footer-services ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dbug-services-menu ul ul {
    padding-left: 14px;
}

.dbug-footer-services {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    min-width: 125px;
}

.dbug-footer-services strong {
    color: white;
    margin-bottom: .35rem;
}

.dbug-footer-services a {
    color: #b9a0ff;
    text-decoration: none;
}

.dbug-footer-services a:hover {
    color: white;
    text-decoration: underline;
}

@media (max-width: 782px) {
    .dbug-services-dropdown > summary {
        width: 36px;
        height: 36px;
    }

    .dbug-context-label {
        font-size: 1.05rem;
    }
}

@media (max-width: 399px) {
    .dbug-context-label {
        display: none;
    }
}

/* D-BUG corporate contextual branding */

.dbug-header .dbug-context-label,
.dbug-checkout-header .dbug-context-label {
    display: inline-block;
    background: linear-gradient(
        90deg,
        #ffffff 0%,
        #e6dcff 35%,
        #b9a0ff 70%,
        #8b5cf6 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #b9a0ff;
    font-weight: 700;
    white-space: nowrap;
}




/* D-BUG footer — balanced corporate and navigation columns */

.dbug-footer > .wp-block-group.alignwide {
    display: grid !important;
    grid-template-columns: minmax(240px, 1.8fr) repeat(4, minmax(120px, 1fr));
    column-gap: 32px;
    align-items: start;
    width: 100%;
    max-width: 1400px;
}

.dbug-footer-brand {
    grid-column: 1;
    max-width: 320px;
}

.dbug-footer-navigation {
    display: contents !important;
}

.dbug-footer-navigation > div {
    min-width: 0;
}

.dbug-footer-services {
    grid-column: 5;
    min-width: 0;
}

.dbug-footer {
    padding-top: 48px !important;
    padding-bottom: 36px !important;
}

.dbug-footer-brand p {
    line-height: 1.7;
    max-width: 300px;
}

/* Tablet */
@media (max-width: 1100px) {
    .dbug-footer > .wp-block-group.alignwide {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 32px;
    }

    .dbug-footer-brand,
    .dbug-footer-services {
        grid-column: auto;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .dbug-footer > .wp-block-group.alignwide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 20px;
    }
}

/* Narrow phones */
@media (max-width: 399px) {
    .dbug-footer > .wp-block-group.alignwide {
        grid-template-columns: 1fr;
    }
}

/* D-BUG CONTACT FORM PASS 3 */
.dbug-contact-form { max-width: 780px; margin: 2rem 0; }
.dbug-contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.15rem; }
.dbug-contact-fields p { margin: 0; }
.dbug-contact-fields p:last-child { grid-column: 1/-1; }
.dbug-contact-form label { display: block; margin-bottom: .4rem; font-weight: 600; }
.dbug-contact-form input:not([type="hidden"]), .dbug-contact-form select, .dbug-contact-form textarea { box-sizing: border-box; display: block; width: 100%; padding: .75rem; border: 1px solid #555161; border-radius: 7px; background: #1a1a20; color: #fff; font: inherit; }
.dbug-contact-form input:focus-visible, .dbug-contact-form select:focus-visible, .dbug-contact-form textarea:focus-visible { outline: 2px solid #b9a0ff; outline-offset: 1px; }
.dbug-contact-form button { border: 0; border-radius: 7px; background: #8b5cf6; color: #fff; padding: .85rem 1.3rem; font: inherit; font-weight: 700; cursor: pointer; }
.dbug-contact-form button:hover { background: #7942ed; }
.dbug-contact-note { color: #bab4c4; font-size: .9rem; }
.dbug-contact-notice { max-width: 780px; border-left: 3px solid #b9a0ff; padding: .85rem; margin: 1rem 0; background: #22202a; }
.dbug-contact-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media(max-width:650px) { .dbug-contact-fields { grid-template-columns: 1fr; } }

/* Corporate Contact page */

body.page-id-119 .wp-block-post-content form {
    max-width: 680px;
    margin-top: 24px;
}

body.page-id-119 .wp-block-post-content form label {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

body.page-id-119 .wp-block-post-content form input:not([type="hidden"]):not([type="checkbox"]),
body.page-id-119 .wp-block-post-content form select,
body.page-id-119 .wp-block-post-content form textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    padding: 12px 14px;
    background: #19191e;
    color: #f6f4fa;
    border: 1px solid #494451;
    border-radius: 8px;
    font: inherit;
    font-size: 17px;
}

body.page-id-119 .wp-block-post-content form textarea {
    min-height: 160px;
    resize: vertical;
}

body.page-id-119 .wp-block-post-content form :is(input, select, textarea):focus-visible {
    outline: 2px solid #a78bfa;
    outline-offset: 2px;
}

body.page-id-119 .wp-block-post-content form button,
body.page-id-119 .wp-block-post-content form input[type="submit"] {
    background: #8b5cf6;
    color: white;
    border: 0;
    border-radius: 8px;
    padding: 13px 24px;
    min-height: 46px;
    font-weight: 600;
    cursor: pointer;
}

@media (max-width: 600px) {
    .wp-block-post-content {
        font-size: 16px;
    }
}


/* D-BUG PASS 6 SOLUTION CARDS */
.dbug-solution-intro { max-width: 74ch; }
.dbug-solution-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:25px 0 32px; }
.dbug-solution-card { padding:20px; border:1px solid #32313b; background:#18181d; border-radius:12px; }
.dbug-solution-card h3 { margin:0 0 8px; font-size:1.15rem; }
.dbug-solution-card p { margin:0 0 14px; }
.dbug-solution-card a { color:#b9a0ff; }
.dbug-solution-bottom { padding-top:12px; }
body.page-id-119 .dbug-contact-form { max-width:680px; }
@media(max-width:680px) { .dbug-solution-grid { grid-template-columns:1fr; } }
/* D-BUG SERVICES DIRECTORY FIX */
.dbug-directory { width:100%; }
.dbug-directory-intro { max-width:75ch; margin:0 0 28px; line-height:1.65; }
.dbug-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0 0 36px; }
.dbug-directory-card { background:#19191e; border:1px solid #35333e; border-radius:12px; padding:24px; min-width:0; }
.dbug-directory-card h2 { margin:0 0 12px; font-size:clamp(1.25rem,2vw,1.5rem); line-height:1.3; }
.dbug-directory-card h2 a { color:#d0baff; text-decoration:none; }
.dbug-directory-card h2 a:hover,.dbug-directory-card h2 a:focus-visible { text-decoration:underline; }
.dbug-directory-card p { line-height:1.6; margin:0 0 14px; }
.dbug-directory-links { margin:0 0 18px; padding-left:20px; }
.dbug-directory-links li { margin-bottom:6px; }
.dbug-directory-links a,.dbug-directory-more,.dbug-directory-engagement a { color:#b9a0ff; }
.dbug-directory-more { display:inline-block; font-weight:600; margin-top:4px; }
.dbug-directory-engagement { border-top:1px solid #35333e; padding-top:26px; max-width:75ch; }
.dbug-directory-engagement h2 { margin:0 0 10px; }
.dbug-directory-engagement p { line-height:1.65; }
@media(max-width:700px) { .dbug-directory-grid { grid-template-columns:1fr; } .dbug-directory-card {padding:20px;} }