/*
 * DigitalAllThings Experience System 2.3
 * A compact design layer that sits above Astra and WooCommerce.
 */

:root {
    --datx-bg: #060a10;
    --datx-bg-soft: #0a1019;
    --datx-surface: #101822;
    --datx-surface-2: #151f2b;
    --datx-surface-3: #1b2735;
    --datx-text: #f4f8fc;
    --datx-text-soft: #aebdd0;
    --datx-muted: #7e91a8;
    --datx-border: rgba(154, 177, 204, 0.18);
    --datx-border-strong: rgba(154, 177, 204, 0.3);
    --datx-primary: #30c98b;
    --datx-primary-strong: #16a66d;
    --datx-blue: #39b9f5;
    --datx-blue-strong: #1684e8;
    --datx-violet: #7567f8;
    --datx-warning: #f8be45;
    --datx-danger: #ff6b78;
    --datx-radius-sm: 12px;
    --datx-radius: 18px;
    --datx-radius-lg: 28px;
    --datx-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.18);
    --datx-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
    --datx-shell: 1200px;
    --datx-font: "Noto Sans Thai", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html.datx-light,
html:has(.ast-switcher-button[aria-pressed="false"]) {
    --datx-bg: #f4f7fb;
    --datx-bg-soft: #eef3f8;
    --datx-surface: #ffffff;
    --datx-surface-2: #f7f9fc;
    --datx-surface-3: #edf2f7;
    --datx-text: #142033;
    --datx-text-soft: #4f6074;
    --datx-muted: #68798e;
    --datx-border: rgba(51, 70, 94, 0.14);
    --datx-border-strong: rgba(51, 70, 94, 0.25);
    --datx-shadow-sm: 0 8px 24px rgba(31, 50, 74, 0.08);
    --datx-shadow: 0 24px 60px rgba(31, 50, 74, 0.13);
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 126px;
}

body.datx-experience,
body.datx-experience button,
body.datx-experience input,
body.datx-experience select,
body.datx-experience textarea {
    font-family: var(--datx-font) !important;
}

body.datx-experience {
    color: var(--datx-text-soft) !important;
    background:
        radial-gradient(circle at 8% 10%, rgba(48, 201, 139, 0.06), transparent 28rem),
        radial-gradient(circle at 94% 34%, rgba(57, 185, 245, 0.055), transparent 34rem),
        var(--datx-bg) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.datx-experience h1,
body.datx-experience h2,
body.datx-experience h3,
body.datx-experience h4,
body.datx-experience h5,
body.datx-experience h6,
body.datx-experience .site-title,
body.datx-experience .woocommerce-loop-product__title {
    color: var(--datx-text) !important;
    font-family: var(--datx-font) !important;
    letter-spacing: -0.025em;
}

body.datx-experience p,
body.datx-experience li,
body.datx-experience td,
body.datx-experience th,
body.datx-experience label,
body.datx-experience .entry-content {
    font-family: var(--datx-font) !important;
}

body.datx-experience a {
    text-underline-offset: 3px;
}

body.datx-experience :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid rgba(57, 185, 245, 0.58) !important;
    outline-offset: 3px !important;
}

body.datx-experience ::selection {
    color: #06100d;
    background: #6de4b5;
}

.datx-shell {
    width: min(calc(100% - 40px), var(--datx-shell));
    margin-inline: auto;
}

.datx-experience svg {
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Header and navigation */
body.datx-experience #masthead {
    position: sticky;
    top: 0;
    z-index: 9998;
    background: rgba(6, 10, 16, 0.93) !important;
    border-bottom: 1px solid var(--datx-border) !important;
    transition: box-shadow 180ms ease, background 180ms ease;
}

html.datx-light body.datx-experience #masthead,
html:has(.ast-switcher-button[aria-pressed="false"]) body.datx-experience #masthead {
    background: rgba(255, 255, 255, 0.94) !important;
}

body.datx-experience #masthead.datx-is-scrolled {
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.2) !important;
}

body.datx-experience #masthead .ast-primary-header-bar,
body.datx-experience #masthead .site-primary-header-wrap,
body.datx-experience #masthead .site-header-section {
    min-height: 76px !important;
    height: 76px !important;
}

body.datx-experience .site-title a,
body.datx-experience .ast-site-title-wrap a {
    display: inline-flex;
    align-items: center;
    color: var(--datx-text) !important;
    font-size: clamp(19px, 2vw, 25px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.045em !important;
}

body.datx-experience .site-title a::before,
body.datx-experience .ast-site-title-wrap a::before {
    width: 10px;
    height: 10px;
    margin-right: 9px;
    content: "";
    background: linear-gradient(135deg, var(--datx-primary), var(--datx-blue));
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(48, 201, 139, 0.1), 0 0 22px rgba(48, 201, 139, 0.5);
}

body.datx-experience .main-header-menu {
    align-items: center !important;
    gap: 4px;
}

body.datx-experience .main-header-menu > .menu-item > .menu-link {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 13px !important;
    color: var(--datx-text-soft) !important;
    border: 1px solid transparent;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease !important;
}

body.datx-experience .main-header-menu > .menu-item > .menu-link:hover,
body.datx-experience .main-header-menu > .current-menu-item > .menu-link {
    color: var(--datx-text) !important;
    background: var(--datx-surface-2) !important;
    border-color: var(--datx-border) !important;
}

body.datx-experience .main-header-menu > .datx-nav-support > .menu-link {
    color: #06130e !important;
    background: linear-gradient(135deg, #55dfa6, #2ac886) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 8px 22px rgba(29, 180, 116, 0.2) !important;
}

body.datx-experience .main-header-menu > .datx-nav-support > .menu-link:hover {
    color: #06130e !important;
    transform: translateY(-1px);
}

/* Undo the older floating toggle: it now has a stable home in the header. */
html body.datx-experience .ast-header-color-switcher-element,
html body.datx-experience .ast-header-color-switcher-element .ast-builder-color-switcher,
html body.datx-experience .ast-header-color-switcher-element .ast-color-switcher-wrapper {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
}

html body.datx-experience .ast-header-color-switcher-element .ast-builder-color-switcher .ast-switcher-button[aria-pressed] {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 10px !important;
    color: var(--datx-text-soft) !important;
    background: var(--datx-surface-2) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.datx-experience .ast-header-color-switcher-element .ast-builder-color-switcher .ast-switcher-button[aria-pressed]::after {
    display: none !important;
    content: none !important;
}

html body.datx-experience .ast-header-color-switcher-element .ast-switcher-button svg {
    fill: currentColor !important;
    color: inherit !important;
}

.datx-service-bar {
    position: relative;
    z-index: 80;
    color: var(--datx-text-soft);
    background: var(--datx-bg-soft);
    border-bottom: 1px solid var(--datx-border);
}

.datx-service-bar__inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 42px;
}

.datx-service-bar__inner > span,
.datx-service-bar__inner > a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    padding: 8px 14px;
    color: inherit !important;
    border-right: 1px solid var(--datx-border);
    font-size: 12px;
    text-decoration: none !important;
}

.datx-service-bar__inner > :first-child {
    border-left: 1px solid var(--datx-border);
}

.datx-service-bar svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: var(--datx-primary);
    stroke-width: 1.8;
}

.datx-service-bar b {
    color: var(--datx-text);
    font-weight: 700;
}

.datx-service-bar small {
    color: var(--datx-muted);
}

/* Shared controls */
body.datx-experience :where(.button, button, input[type="submit"], .wp-element-button):not(.ast-switcher-button):not(.menu-toggle) {
    border-radius: 12px !important;
    font-family: var(--datx-font) !important;
    font-weight: 750 !important;
    transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease !important;
}

body.datx-experience :where(.button, button, input[type="submit"], .wp-element-button):not(.ast-switcher-button):not(.menu-toggle):hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
}

body.datx-experience :where(input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]), select, textarea),
body.datx-experience .select2-container .select2-selection {
    color: var(--datx-text) !important;
    background: var(--datx-surface-2) !important;
    border: 1px solid var(--datx-border-strong) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

body.datx-experience :where(input, select, textarea)::placeholder {
    color: var(--datx-muted) !important;
    opacity: 1;
}

body.datx-experience :where(input, select, textarea):focus {
    border-color: var(--datx-blue) !important;
    box-shadow: 0 0 0 4px rgba(57, 185, 245, 0.12) !important;
    outline: none !important;
}

.datx-has-error :where(input, select, textarea) {
    border-color: var(--datx-danger) !important;
    box-shadow: 0 0 0 4px rgba(255, 107, 120, 0.1) !important;
}

/* Lightweight storefront hero */
.datx-store-hero {
    clear: both;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
    width: 100%;
    margin: 8px 0 30px;
    padding: clamp(28px, 5vw, 58px);
    background:
        radial-gradient(circle at 83% 15%, rgba(57, 185, 245, 0.28), transparent 20rem),
        radial-gradient(circle at 68% 108%, rgba(48, 201, 139, 0.19), transparent 24rem),
        linear-gradient(135deg, #0d151f 0%, #122230 58%, #0b141d 100%);
    border: 1px solid rgba(108, 209, 255, 0.22);
    border-radius: var(--datx-radius-lg);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.32);
}

.datx-eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 15px;
    padding: 7px 11px;
    color: #81e9c0;
    background: rgba(48, 201, 139, 0.1);
    border: 1px solid rgba(87, 225, 166, 0.24);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.datx-store-hero h1 {
    max-width: 720px;
    margin: 0 !important;
    font-size: clamp(31px, 4vw, 54px) !important;
    line-height: 1.16 !important;
}

.datx-store-hero h1 span {
    display: block;
    margin-top: 10px;
    color: #a9bed0;
    font-size: 0.42em;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0;
}

.datx-store-hero__copy > p {
    max-width: 650px;
    margin: 18px 0 0;
    color: var(--datx-text-soft);
    font-size: 14px;
    line-height: 1.75;
}

.datx-store-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.datx-store-hero .datx-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 10px 17px;
    border: 1px solid var(--datx-border);
    border-radius: 13px;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none !important;
}

.datx-store-hero .datx-button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.datx-button--primary {
    color: #06130e !important;
    background: linear-gradient(135deg, #62e9b1, #2dcc8b);
}

.datx-button--secondary {
    color: var(--datx-text) !important;
    background: rgba(255, 255, 255, 0.06);
}

.datx-store-hero__search {
    min-width: 0;
    padding: 20px;
    background: rgba(6, 10, 16, 0.54);
    border: 1px solid var(--datx-border-strong);
    border-radius: var(--datx-radius);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

.datx-store-hero__search > span {
    display: block;
    margin-bottom: 10px;
    color: var(--datx-text-soft);
    font-size: 12px;
    font-weight: 750;
}

.datx-store-hero__search .dgwt-wcas-search-wrapp {
    width: 100% !important;
    max-width: none !important;
}

.datx-store-hero__search :where(.dgwt-wcas-search-wrapp, .dgwt-wcas-search-form, .dgwt-wcas-sf-wrapp, .dgwt-wcas-search-input) {
    box-sizing: border-box !important;
    max-width: 100% !important;
}

.datx-store-hero__search .dgwt-wcas-sf-wrapp {
    width: 100% !important;
    border-color: var(--datx-border-strong) !important;
}

/* Catalog utilities and first-purchase guide */
.datx-first-purchase {
    clear: both;
    width: 100%;
    margin: 6px 0 30px;
    padding: clamp(20px, 3vw, 30px);
    background:
        radial-gradient(circle at 100% 0, rgba(57, 185, 245, 0.1), transparent 24rem),
        var(--datx-surface);
    border: 1px solid var(--datx-border);
    border-radius: var(--datx-radius);
    box-shadow: var(--datx-shadow-sm);
}

.datx-first-purchase > header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 7px 15px;
    margin-bottom: 18px;
}

.datx-first-purchase > header > span {
    padding: 5px 8px;
    color: #72e3b4;
    background: rgba(48, 201, 139, 0.09);
    border: 1px solid rgba(48, 201, 139, 0.2);
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.datx-first-purchase h2 {
    margin: 0 !important;
    font-size: clamp(20px, 2.2vw, 27px) !important;
}

.datx-first-purchase header p {
    flex-basis: 100%;
    margin: 0;
    color: var(--datx-muted);
    font-size: 12px;
}

.datx-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--datx-text-soft);
    background: var(--datx-bg-soft);
    border: 1px solid var(--datx-border);
    border-radius: 14px;
    list-style: none;
    overflow: hidden;
}

.datx-benefits > li {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 78px;
    padding: 15px 18px 15px 48px;
    border-right: 1px solid var(--datx-border);
}

.datx-benefits > li:last-child {
    border-right: 0;
}

.datx-benefits i {
    position: absolute;
    top: 12px;
    left: 12px;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    color: #07120e;
    background: var(--datx-primary);
    border-radius: 50%;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
}

.datx-benefits svg {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: var(--datx-primary);
    stroke-width: 1.8;
}

.datx-benefits span {
    display: flex;
    flex-direction: column;
}

.datx-benefits strong {
    color: var(--datx-text);
    font-size: 13px;
}

.datx-benefits small {
    color: var(--datx-muted);
    font-size: 11px;
    line-height: 1.45;
}

.datx-catalog-discovery {
    clear: both;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px 28px;
    align-items: center;
    width: 100%;
    margin: 0 0 26px;
    padding: 20px 22px;
    color: var(--datx-text-soft);
    background: linear-gradient(135deg, rgba(57, 185, 245, 0.09), rgba(48, 201, 139, 0.07));
    border: 1px solid var(--datx-border);
    border-radius: var(--datx-radius);
}

#shop-categories {
    scroll-margin-top: 138px;
}

/* Override the retired Elementor category disclosure stored in legacy
   Customizer CSS. The new discovery section is always available. */
body.home #shop-categories.datx-catalog-discovery {
    display: grid !important;
}

.datx-catalog-discovery .datx-eyebrow {
    margin-bottom: 8px;
}

.datx-catalog-discovery h2 {
    margin: 0 0 4px !important;
    font-size: clamp(18px, 2vw, 24px) !important;
}

.datx-catalog-discovery p {
    margin: 0;
    color: var(--datx-muted);
    font-size: 12px;
}

.datx-focus-product-search {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 10px 16px !important;
    color: #06111b !important;
    background: linear-gradient(135deg, #66d7ff, #35b7f2) !important;
    border: 0 !important;
    white-space: nowrap;
}

.datx-focus-product-search svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.datx-catalog-discovery nav {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding-top: 14px;
    border-top: 1px solid var(--datx-border);
}

.datx-catalog-discovery nav > span {
    margin-right: 3px;
    color: var(--datx-muted);
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
}

.datx-catalog-discovery nav a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 6px 10px;
    color: var(--datx-text-soft) !important;
    background: var(--datx-surface-2);
    border: 1px solid var(--datx-border);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 650;
    text-decoration: none !important;
}

.datx-catalog-discovery nav a:hover {
    color: var(--datx-text) !important;
    border-color: rgba(57, 185, 245, 0.45);
}

.datx-catalog-discovery nav a small {
    display: inline-grid;
    min-width: 22px;
    height: 22px;
    padding-inline: 5px;
    place-items: center;
    color: var(--datx-muted);
    background: var(--datx-bg-soft);
    border-radius: 999px;
    font-size: 9px;
}

body.datx-experience .woocommerce-result-count {
    color: var(--datx-text-soft) !important;
    font-size: 13px;
    font-weight: 600;
}

body.datx-experience .woocommerce-ordering select {
    min-width: 190px;
    height: 44px !important;
    color: var(--datx-text) !important;
    background-color: var(--datx-surface-2) !important;
    border-color: var(--datx-border) !important;
    font-size: 13px;
}

/* Product cards */
body.datx-experience .woocommerce ul.products,
body.datx-experience .wc-block-product-template {
    gap: 22px !important;
}

body.datx-experience .woocommerce ul.products li.product,
body.datx-experience .wc-block-product,
body.datx-experience .wc-block-grid__product {
    display: flex !important;
    flex-direction: column;
    min-width: 0;
    padding: 12px 12px 16px !important;
    color: var(--datx-text-soft) !important;
    background: linear-gradient(180deg, var(--datx-surface-2), var(--datx-surface)) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: var(--datx-radius) !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.14) !important;
    overflow: hidden;
    transition: transform 190ms ease, border-color 190ms ease, box-shadow 190ms ease !important;
}

body.datx-experience .woocommerce ul.products li.product:hover,
body.datx-experience .wc-block-product:hover,
body.datx-experience .wc-block-grid__product:hover {
    border-color: rgba(57, 185, 245, 0.45) !important;
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.23) !important;
    transform: translateY(-5px);
}

body.datx-experience .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
body.datx-experience .wc-block-components-product-image,
body.datx-experience .wc-block-grid__product-image {
    position: relative;
    margin-bottom: 14px !important;
    background: #eef2f5;
    border-radius: 13px !important;
    overflow: hidden;
}

body.datx-experience .woocommerce ul.products li.product img,
body.datx-experience .wc-block-product img,
body.datx-experience .wc-block-grid__product img {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    margin: 0 !important;
    border-radius: 13px !important;
    object-fit: cover;
    transition: transform 320ms ease !important;
}

body.datx-experience .woocommerce ul.products li.product:hover img,
body.datx-experience .wc-block-product:hover img,
body.datx-experience .wc-block-grid__product:hover img {
    transform: scale(1.025);
}

body.datx-experience .woocommerce ul.products li.product .astra-shop-summary-wrap {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 0 3px !important;
}

body.datx-experience .woocommerce ul.products li.product .ast-woo-product-category {
    margin-bottom: 7px !important;
    color: var(--datx-muted) !important;
    font-size: 11px !important;
    font-weight: 650;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

body.datx-experience .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.datx-experience .wc-block-components-product-name,
body.datx-experience .wc-block-grid__product-title {
    min-height: 2.8em;
    margin: 0 0 10px !important;
    color: var(--datx-text) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

body.datx-experience .woocommerce ul.products li.product .price,
body.datx-experience .wc-block-components-product-price,
body.datx-experience .wc-block-grid__product-price {
    margin: auto 0 13px !important;
    color: var(--datx-blue) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

body.datx-experience .woocommerce ul.products li.product .button,
body.datx-experience .wc-block-grid__product-add-to-cart .wp-block-button__link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin-top: 0 !important;
    color: #06111b !important;
    background: linear-gradient(135deg, #66d7ff, #35b7f2) !important;
    border: 0 !important;
    box-shadow: 0 8px 20px rgba(32, 162, 222, 0.18);
    font-size: 13px !important;
    text-decoration: none !important;
}

body.datx-experience .woocommerce span.onsale {
    top: 18px !important;
    left: 18px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 6px 10px !important;
    color: #06130e !important;
    background: #5be1aa !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

/* Single product */
body.single-product.datx-experience .ast-woocommerce-container {
    padding-top: 52px !important;
}

body.single-product.datx-experience div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    gap: clamp(34px, 5vw, 70px);
}

body.single-product.datx-experience div.product > div.images,
body.single-product.datx-experience div.product > div.summary {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

body.single-product.datx-experience div.product > div.images {
    padding: 16px;
    background: #edf1f4;
    border: 1px solid var(--datx-border);
    border-radius: var(--datx-radius-lg);
    box-shadow: var(--datx-shadow-sm);
}

body.single-product.datx-experience div.product > div.images img {
    border-radius: 18px;
}

body.single-product.datx-experience div.product > div.summary {
    align-self: start;
    padding: 26px;
    color: var(--datx-text-soft) !important;
    background: linear-gradient(155deg, var(--datx-surface-2), var(--datx-surface)) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: var(--datx-radius-lg) !important;
    box-shadow: var(--datx-shadow-sm) !important;
}

body.single-product.datx-experience .woocommerce-breadcrumb {
    margin-bottom: 18px;
    color: var(--datx-muted) !important;
    font-size: 12px;
    line-height: 1.6;
}

body.single-product.datx-experience .summary .product_title {
    margin-bottom: 14px !important;
    font-size: clamp(25px, 3vw, 38px) !important;
    line-height: 1.2 !important;
    text-wrap: balance;
}

body.single-product.datx-experience .summary .price {
    margin: 0 0 20px !important;
    color: var(--datx-blue) !important;
    font-size: clamp(24px, 2.6vw, 34px) !important;
    font-weight: 800;
}

body.single-product.datx-experience .summary form.cart {
    display: flex;
    gap: 12px;
    margin: 0 0 20px !important;
    padding: 18px;
    background: var(--datx-bg-soft);
    border: 1px solid var(--datx-border);
    border-radius: 16px;
}

body.single-product.datx-experience .summary form.cart .quantity .qty {
    width: 72px !important;
    min-height: 52px !important;
    font-size: 17px;
}

body.single-product.datx-experience .summary form.cart .single_add_to_cart_button {
    flex: 1 1 auto;
    min-height: 52px !important;
    color: #06130e !important;
    background: linear-gradient(135deg, #59dfa8, #27c582) !important;
    box-shadow: 0 10px 24px rgba(31, 190, 125, 0.2) !important;
    font-size: 16px !important;
}

body.single-product.datx-experience .product_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--datx-muted) !important;
    font-size: 12px;
}

body.single-product.datx-experience .product_meta > span {
    padding: 7px 10px;
    background: var(--datx-bg-soft);
    border: 1px solid var(--datx-border);
    border-radius: 9px;
}

.datx-product-assurance {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 16px;
}

.datx-product-assurance > div {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    padding: 11px;
    background: var(--datx-bg-soft);
    border: 1px solid var(--datx-border);
    border-radius: 12px;
}

.datx-product-assurance svg {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    fill: none;
    stroke: var(--datx-primary);
    stroke-width: 1.8;
}

.datx-product-assurance span {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.datx-product-assurance strong {
    color: var(--datx-text);
    font-size: 10px;
    line-height: 1.35;
}

.datx-product-assurance small,
.datx-product-assurance a {
    color: var(--datx-muted) !important;
    font-size: 9px;
    line-height: 1.35;
}

.datx-product-guide {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(230px, 0.75fr) minmax(0, 1.6fr);
    gap: 22px 34px;
    width: 100%;
    margin-top: 18px;
    padding: clamp(22px, 3vw, 34px);
    color: var(--datx-text-soft);
    background:
        radial-gradient(circle at 0 100%, rgba(48, 201, 139, 0.09), transparent 25rem),
        var(--datx-surface);
    border: 1px solid var(--datx-border);
    border-radius: var(--datx-radius-lg);
}

.datx-product-guide h2 {
    margin: 0 0 10px !important;
    font-size: clamp(22px, 2.5vw, 30px) !important;
}

.datx-product-guide__intro p {
    margin: 0;
    color: var(--datx-muted);
    font-size: 13px;
    line-height: 1.7;
}

.datx-product-guide ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.datx-product-guide li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px 15px;
    background: var(--datx-bg-soft);
    border: 1px solid var(--datx-border);
    border-radius: 12px;
}

.datx-product-guide li svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    fill: none;
    stroke: var(--datx-primary);
    stroke-width: 1.8;
}

.datx-product-guide li span {
    display: flex;
    flex-direction: column;
}

.datx-product-guide li strong {
    color: var(--datx-text);
    font-size: 13px;
}

.datx-product-guide li small {
    color: var(--datx-muted);
    font-size: 11px;
    line-height: 1.5;
}

.datx-product-guide__help {
    grid-column: 1 / -1;
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid var(--datx-border);
    font-size: 13px;
    text-align: center;
}

.datx-product-guide__help a {
    color: var(--datx-primary) !important;
    font-weight: 750;
}

body.single-product.datx-experience div.product > .woocommerce-tabs,
body.single-product.datx-experience div.product > .related,
body.single-product.datx-experience div.product > .upsells {
    grid-column: 1 / -1;
    width: 100%;
}

body.single-product.datx-experience .woocommerce-tabs {
    margin-top: 20px;
    padding: clamp(20px, 3vw, 34px);
    color: var(--datx-text-soft) !important;
    background: var(--datx-surface) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: var(--datx-radius-lg) !important;
}

body.single-product.datx-experience .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 26px !important;
    padding: 0 !important;
    border: 0 !important;
}

body.single-product.datx-experience .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.single-product.datx-experience .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 10px 14px !important;
    color: var(--datx-text-soft) !important;
    background: var(--datx-surface-2);
    border: 1px solid var(--datx-border);
    border-radius: 10px;
}

body.single-product.datx-experience .woocommerce-tabs ul.tabs li.active a {
    color: #06130e !important;
    background: var(--datx-primary) !important;
    border-color: var(--datx-primary) !important;
}

body.single-product.datx-experience #reviews:has(.woocommerce-noreviews) .wcpr-overall-rating-and-rating-count,
body.single-product.datx-experience #reviews:has(.woocommerce-noreviews) .wcpr-filter-container {
    display: none !important;
}

/* Cart and checkout */
.datx-checkout-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: min(100%, 620px);
    margin: 0 auto 34px;
    counter-reset: none;
}

.datx-checkout-steps span {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    color: var(--datx-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.datx-checkout-steps span::before {
    position: absolute;
    top: 14px;
    right: 50%;
    left: -50%;
    height: 1px;
    content: "";
    background: var(--datx-border-strong);
}

.datx-checkout-steps span:first-child::before {
    display: none;
}

.datx-checkout-steps i {
    position: relative;
    z-index: 1;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    color: var(--datx-muted);
    background: var(--datx-surface-2);
    border: 1px solid var(--datx-border-strong);
    border-radius: 50%;
    font-style: normal;
}

.datx-checkout-steps .is-active {
    color: var(--datx-text);
}

.datx-checkout-steps .is-active i {
    color: #07120e;
    background: var(--datx-primary);
    border-color: var(--datx-primary);
    box-shadow: 0 0 0 5px rgba(48, 201, 139, 0.1);
}

body.woocommerce-cart.datx-experience .entry-header,
body.woocommerce-checkout.datx-experience .entry-header {
    width: min(calc(100% - 40px), var(--datx-shell));
    margin: 44px auto 22px !important;
}

body.woocommerce-cart.datx-experience .entry-title,
body.woocommerce-checkout.datx-experience .entry-title {
    font-size: clamp(30px, 4vw, 46px) !important;
}

body.woocommerce-cart.datx-experience .entry-content,
body.woocommerce-checkout.datx-experience .entry-content {
    width: min(calc(100% - 40px), var(--datx-shell));
    margin-inline: auto;
}

body.woocommerce-cart.datx-experience .wp-block-woocommerce-empty-cart-block {
    padding: 30px 0 10px;
}

body.woocommerce-cart.datx-experience .wc-block-cart__empty-cart__title {
    margin-bottom: 14px;
    font-size: clamp(24px, 3vw, 34px) !important;
}

body.woocommerce-cart.datx-experience .wc-block-cart__empty-cart__title::before {
    width: 68px !important;
    height: 68px !important;
    margin-bottom: 20px !important;
    color: var(--datx-primary) !important;
    background: rgba(48, 201, 139, 0.08);
    border: 1px solid rgba(48, 201, 139, 0.2);
    border-radius: 50%;
    line-height: 68px !important;
}

.datx-empty-cart-actions {
    max-width: 560px;
    margin: 0 auto 48px;
    text-align: center;
}

.datx-empty-cart-actions p {
    margin: 0 0 20px;
    color: var(--datx-text-soft);
    line-height: 1.65;
}

.datx-empty-cart-actions small {
    color: var(--datx-muted);
}

.datx-primary-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 12px 22px !important;
    color: #06130e !important;
    background: linear-gradient(135deg, #5ce2aa, #2bc786) !important;
    border: 0 !important;
    text-decoration: none !important;
}

.datx-primary-action svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

body.woocommerce-cart.datx-experience .wc-block-cart,
body.woocommerce-checkout.datx-experience .wc-block-checkout,
body.woocommerce-cart.datx-experience table.shop_table,
body.woocommerce-checkout.datx-experience #customer_details > div,
body.woocommerce-checkout.datx-experience #order_review {
    color: var(--datx-text-soft) !important;
}

body.datx-experience :where(.wc-block-components-sidebar, .wc-block-components-main, .wc-block-components-order-summary, .wc-block-cart-items, table.shop_table, .cart_totals) {
    border-color: var(--datx-border) !important;
}

body.datx-experience .wc-block-components-sidebar-layout .wc-block-components-main,
body.datx-experience .wc-block-components-sidebar {
    padding: clamp(18px, 3vw, 28px) !important;
    background: var(--datx-surface) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: var(--datx-radius) !important;
}

/* Lightweight classic cart. This avoids loading the full React cart bundle. */
body.woocommerce-cart.datx-experience .woocommerce-cart-form table.shop_table,
body.woocommerce-cart.datx-experience .cart_totals table.shop_table {
    background: var(--datx-surface) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: var(--datx-radius) !important;
    overflow: hidden;
}

body.woocommerce-cart.datx-experience .woocommerce-cart-form table.shop_table :where(th, td),
body.woocommerce-cart.datx-experience .cart_totals table.shop_table :where(th, td) {
    padding: 16px !important;
    border-color: var(--datx-border) !important;
}

body.woocommerce-cart.datx-experience .woocommerce-cart-form .product-thumbnail img {
    width: 74px !important;
    border-radius: 10px;
}

body.woocommerce-cart.datx-experience .woocommerce-cart-form .product-name a {
    color: var(--datx-text) !important;
    font-weight: 700;
}

body.woocommerce-cart.datx-experience .woocommerce-cart-form td.actions {
    background: var(--datx-surface-2) !important;
}

body.woocommerce-cart.datx-experience .woocommerce-cart-form .coupon {
    display: flex;
    gap: 8px;
}

body.woocommerce-cart.datx-experience .woocommerce-cart-form .coupon #coupon_code {
    min-width: 190px;
    min-height: 46px;
}

body.woocommerce-cart.datx-experience .cart-collaterals .cart_totals {
    padding: 22px;
    background: var(--datx-surface);
    border: 1px solid var(--datx-border);
    border-radius: var(--datx-radius);
}

body.woocommerce-cart.datx-experience .cart_totals h2 {
    margin-top: 0 !important;
}

body.woocommerce-cart.datx-experience .checkout-button {
    min-height: 54px;
    color: #06130e !important;
    background: linear-gradient(135deg, #5ce2aa, #2bc786) !important;
}

/* Classic checkout: override an older Customizer experiment which visually
 * moved the submit button above the order and flattened the payment wrapper. */
.datx-checkout-help {
    display: grid;
    grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
    gap: 20px 34px;
    margin: 0 0 28px;
    padding: clamp(20px, 3vw, 28px);
    background: linear-gradient(140deg, rgba(48, 201, 139, 0.1), rgba(57, 185, 245, 0.07));
    border: 1px solid rgba(72, 208, 156, 0.22);
    border-radius: var(--datx-radius);
}

.datx-checkout-help .datx-eyebrow {
    margin-bottom: 10px;
}

.datx-checkout-help h2 {
    margin: 0 0 7px !important;
    font-size: clamp(20px, 2.2vw, 27px) !important;
}

.datx-checkout-help p {
    margin: 0;
    color: var(--datx-muted);
    font-size: 12px;
}

.datx-checkout-help ol,
.datx-order-next ol {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.datx-checkout-help li,
.datx-order-next li {
    display: flex;
    align-items: center;
    gap: 11px;
}

.datx-checkout-help li i,
.datx-order-next li i {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    color: #07120e;
    background: var(--datx-primary);
    border-radius: 50%;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.datx-checkout-help li span,
.datx-order-next li span {
    display: flex;
    flex-direction: column;
}

.datx-checkout-help li strong,
.datx-order-next li strong {
    color: var(--datx-text);
    font-size: 12px;
}

.datx-checkout-help li small,
.datx-order-next li small {
    color: var(--datx-muted);
    font-size: 10px;
}

.datx-checkout-account-note {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 14px 0 0;
    padding: 13px 14px;
    color: var(--datx-text-soft);
    background: rgba(48, 201, 139, 0.08);
    border: 1px solid rgba(48, 201, 139, 0.2);
    border-radius: 12px;
    font-size: 12px;
    line-height: 1.55;
}

.datx-checkout-account-note strong {
    color: var(--datx-primary);
}

.datx-checkout-account-note small {
    color: var(--datx-muted);
    font-size: 10px;
}

body.woocommerce-checkout.datx-experience #customer_details > .col-1 {
    padding: clamp(20px, 3vw, 28px) !important;
    background: var(--datx-surface) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: var(--datx-radius) !important;
}

body.woocommerce-checkout.datx-experience #customer_details > .col-2:empty {
    display: none !important;
}

body.woocommerce-checkout.datx-experience form.checkout #order_review {
    display: block !important;
    padding: clamp(20px, 3vw, 28px) !important;
    background: var(--datx-surface) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: var(--datx-radius) !important;
}

body.woocommerce-checkout.datx-experience form.checkout #order_review .woocommerce-checkout-review-order-table {
    margin: 0 0 20px !important;
    order: initial !important;
}

body.woocommerce-checkout.datx-experience form.checkout #payment {
    display: block !important;
    width: 100% !important;
    background: transparent !important;
}

body.woocommerce-checkout.datx-experience form.checkout #payment ul.wc_payment_methods {
    display: block !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    order: initial !important;
    background: transparent !important;
    border: 0 !important;
}

body.woocommerce-checkout.datx-experience form.checkout #payment li.wc_payment_method {
    padding: 16px !important;
    background: var(--datx-bg-soft) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: 13px !important;
}

body.woocommerce-checkout.datx-experience form.checkout #payment div.payment_box {
    margin: 12px 0 0 !important;
    padding: 14px !important;
    min-height: 0 !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
    overflow-wrap: anywhere;
}

body.woocommerce-checkout.datx-experience form.checkout #payment .payment_box.payment_method_bacs > * {
    display: block !important;
}

body.woocommerce-checkout.datx-experience form.checkout #payment .payment_box.payment_method_bacs::before {
    display: none !important;
    content: none !important;
}

body.woocommerce-checkout.datx-experience form.checkout #payment .payment_box.payment_method_bacs p {
    margin: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

body.woocommerce-checkout.datx-experience form.checkout #payment .form-row.place-order {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 18px !important;
    order: initial !important;
    background: var(--datx-bg-soft) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: 13px !important;
    box-shadow: none !important;
}

body.woocommerce-checkout.datx-experience #place_order {
    width: 100% !important;
    min-height: 54px !important;
    margin-top: 12px !important;
    color: #06130e !important;
    background: linear-gradient(135deg, #5ce2aa, #2bc786) !important;
}

body.woocommerce-checkout.datx-experience .woocommerce-privacy-policy-text,
body.woocommerce-checkout.datx-experience .woocommerce-terms-and-conditions-checkbox-text {
    color: var(--datx-text-soft) !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

body.woocommerce-checkout.datx-experience .woocommerce-privacy-policy-link,
body.woocommerce-checkout.datx-experience .woocommerce-terms-and-conditions-link {
    color: var(--datx-blue) !important;
}

.datx-order-next {
    margin: 28px 0;
    padding: clamp(22px, 4vw, 34px);
    background: var(--datx-surface);
    border: 1px solid var(--datx-border);
    border-radius: var(--datx-radius);
}

.datx-order-next h2 {
    margin: 0 0 20px !important;
}

.datx-order-next .datx-primary-action {
    margin-top: 22px !important;
}

/* Account */
body.woocommerce-account.datx-experience:not(.logged-in) .site-content > .ast-container {
    width: min(calc(100% - 40px), var(--datx-shell));
    padding: 54px 0 80px !important;
}

body.woocommerce-account.datx-experience:not(.logged-in) .entry-header {
    display: none;
}

body.woocommerce-account.datx-experience:not(.logged-in) .entry-content > .woocommerce {
    display: grid;
    grid-template-columns: minmax(300px, 0.82fr) minmax(440px, 1.18fr);
    grid-template-rows: auto auto 1fr;
    gap: clamp(28px, 5vw, 64px);
    align-items: stretch;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.woocommerce-account.datx-experience:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper {
    grid-row: 1;
    grid-column: 1 / -1;
}

body.woocommerce-account.datx-experience:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper:empty {
    display: none;
}

.datx-account-welcome {
    position: relative;
    grid-row: 2 / 4;
    grid-column: 1;
    padding: clamp(30px, 4vw, 50px);
    color: #d7e2ee;
    background:
        radial-gradient(circle at 0 100%, rgba(48, 201, 139, 0.2), transparent 22rem),
        radial-gradient(circle at 100% 0, rgba(57, 185, 245, 0.19), transparent 22rem),
        linear-gradient(145deg, #101a25, #0b131c);
    border: 1px solid rgba(118, 193, 225, 0.2);
    border-radius: var(--datx-radius-lg);
    box-shadow: var(--datx-shadow);
    overflow: hidden;
}

.datx-account-welcome::after {
    position: absolute;
    right: -35px;
    bottom: -35px;
    width: 140px;
    height: 140px;
    content: "";
    border: 24px solid rgba(48, 201, 139, 0.06);
    border-radius: 50%;
}

.datx-eyebrow {
    display: inline-flex;
    margin-bottom: 26px;
    padding: 7px 10px;
    color: #7fe7bd;
    background: rgba(48, 201, 139, 0.1);
    border: 1px solid rgba(48, 201, 139, 0.2);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.datx-account-welcome h2 {
    margin: 0 0 18px !important;
    color: #f7fbff !important;
    font-size: clamp(28px, 3.2vw, 44px) !important;
    line-height: 1.15 !important;
}

.datx-account-welcome p {
    color: #b8c7d7;
    line-height: 1.7;
}

.datx-account-welcome p small {
    color: #8399ae;
}

.datx-account-welcome ul {
    display: grid;
    gap: 12px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

.datx-account-welcome li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #d7e2ee;
    font-size: 13px;
}

.datx-account-welcome li svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #5ce0ab;
    stroke-width: 2;
}

body.woocommerce-account.datx-experience:not(.logged-in) .woocommerce > h2,
body.woocommerce-account.datx-experience:not(.logged-in) .woocommerce > .woocommerce-form-login {
    grid-column: 2;
}

body.woocommerce-account.datx-experience:not(.logged-in) .woocommerce > h2 {
    grid-row: 2;
    align-self: end;
    margin: 20px 0 -38px 28px !important;
    font-size: 28px !important;
    z-index: 1;
}

body.woocommerce-account.datx-experience:not(.logged-in) form.login {
    grid-row: 3;
    min-height: 100%;
    margin: 0 !important;
    padding: 82px 28px 28px !important;
    color: var(--datx-text-soft) !important;
    background: var(--datx-surface) !important;
    border: 1px solid var(--datx-border) !important;
    border-radius: var(--datx-radius-lg) !important;
    box-shadow: var(--datx-shadow-sm) !important;
}

body.woocommerce-account.datx-experience form.login label {
    color: var(--datx-text) !important;
    font-size: 13px;
    font-weight: 700;
}

body.woocommerce-account.datx-experience form.login input.input-text {
    height: 52px !important;
}

body.woocommerce-account.datx-experience form.login .button {
    min-width: 150px;
    min-height: 48px;
    color: #06130e !important;
    background: linear-gradient(135deg, #5be0a9, #2cc887) !important;
}

/* Policy and standard content pages */
body.page-id-2.datx-experience .entry-header,
body.page-id-10368.datx-experience .entry-header,
body.privacy-policy.datx-experience .entry-header {
    width: min(calc(100% - 40px), 920px);
    margin: 52px auto 24px !important;
}

body.page-id-2.datx-experience .entry-title,
body.page-id-10368.datx-experience .entry-title,
body.privacy-policy.datx-experience .entry-title {
    font-size: clamp(32px, 4vw, 48px) !important;
}

body.page-id-2.datx-experience .entry-content,
body.page-id-10368.datx-experience .entry-content,
body.privacy-policy.datx-experience .entry-content {
    width: min(calc(100% - 40px), 920px);
    margin: 0 auto 80px;
    padding: clamp(24px, 5vw, 56px);
    color: var(--datx-text-soft) !important;
    background: var(--datx-surface) !important;
    border: 1px solid var(--datx-border);
    border-radius: var(--datx-radius-lg);
    box-shadow: var(--datx-shadow-sm);
    font-size: 15px;
    line-height: 1.85;
}

body.page-id-2.datx-experience .entry-content :where(h2, h3, h4),
body.page-id-10368.datx-experience .entry-content :where(h2, h3, h4),
body.privacy-policy.datx-experience .entry-content :where(h2, h3, h4) {
    margin-top: 1.7em;
    padding-top: 0.5em;
}

body.page-id-2.datx-experience .entry-content a,
body.page-id-10368.datx-experience .entry-content a,
body.privacy-policy.datx-experience .entry-content a {
    color: var(--datx-blue) !important;
}

/* Footer */
.datx-prefooter {
    margin-top: 70px;
    padding: 58px 0;
    color: var(--datx-text-soft);
    background:
        radial-gradient(circle at 12% 100%, rgba(48, 201, 139, 0.09), transparent 28rem),
        #090f17;
    border-top: 1px solid var(--datx-border);
}

.datx-prefooter__grid {
    display: grid;
    grid-template-columns: 1.5fr 0.7fr 1fr 1.1fr;
    gap: clamp(28px, 5vw, 64px);
}

.datx-wordmark {
    display: inline-block;
    margin-bottom: 17px;
    color: #f5f9fd !important;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.04em;
    text-decoration: none !important;
}

.datx-wordmark span {
    color: #61e1ad;
}

.datx-prefooter__brand p {
    max-width: 330px;
    margin: 0 0 8px;
    color: #aebdcd;
    font-size: 13px;
    line-height: 1.7;
}

.datx-prefooter__brand small {
    color: #71869b;
    font-size: 11px;
}

.datx-prefooter nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.datx-prefooter nav strong,
.datx-prefooter__support > strong {
    margin-bottom: 6px;
    color: #f3f7fb;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.datx-prefooter nav a {
    color: #8fa2b7 !important;
    font-size: 12px;
    text-decoration: none !important;
}

.datx-prefooter nav a:hover {
    color: #63dfae !important;
}

.datx-prefooter__support {
    padding: 20px;
    background: #101923;
    border: 1px solid rgba(117, 151, 185, 0.18);
    border-radius: 18px;
}

.datx-prefooter__support > svg {
    width: 24px;
    height: 24px;
    margin-bottom: 14px;
    fill: none;
    stroke: #5cdfaa;
    stroke-width: 1.8;
}

.datx-prefooter__support strong {
    display: block;
}

.datx-prefooter__support p {
    margin: 6px 0 14px;
    color: #8194a8;
    font-size: 11px;
}

.datx-prefooter__support a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #5ee0ad !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
}

.datx-prefooter__support a svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

body.datx-experience .site-below-footer-wrap {
    min-height: 68px;
    color: #7f91a4 !important;
    background: #060a10 !important;
    border-top: 1px solid rgba(151, 174, 199, 0.12) !important;
}

body.datx-experience .ast-footer-copyright {
    color: #7f91a4 !important;
    font-size: 11px;
}

.datx-footer-note {
    margin-left: 10px;
    color: #607387;
}

/* Keep floating commerce controls usable without covering page content. */
html body.datx-experience .vi-wcaio-sidebar-cart-icon-wrap {
    left: 18px !important;
    right: auto !important;
    bottom: 18px !important;
    width: 132px !important;
    height: 48px !important;
    padding-right: 13px !important;
    background: linear-gradient(135deg, #f57c22, #e85d10) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: 0 12px 28px rgba(113, 44, 5, 0.3) !important;
}

html body.datx-experience .vi-wcaio-sidebar-cart-icon-wrap .vi-wcaio-sidebar-cart-icon {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
}

html body.datx-experience .vi-wcaio-sidebar-cart-icon-wrap::after {
    font-size: 12px !important;
}

/* Responsive system */
@media (max-width: 1100px) {
    body.datx-experience .main-header-menu > .menu-item > .menu-link {
        padding-inline: 9px !important;
        font-size: 12px !important;
    }

    .datx-prefooter__grid {
        grid-template-columns: 1.4fr 0.7fr 1fr;
    }

    .datx-prefooter__support {
        grid-column: 1 / -1;
    }
}

@media (max-width: 921px) {
    html {
        scroll-padding-top: 112px;
    }

    body.datx-experience #masthead .ast-primary-header-bar,
    body.datx-experience #masthead .site-primary-header-wrap,
    body.datx-experience #masthead .site-header-section {
        min-height: 72px !important;
        height: 72px !important;
    }

    body.datx-experience .ast-mobile-header-content {
        color: var(--datx-text);
        background: var(--datx-surface) !important;
        border-bottom: 1px solid var(--datx-border);
        box-shadow: var(--datx-shadow);
    }

    body.datx-experience .ast-builder-menu-mobile .main-header-menu {
        display: grid !important;
        gap: 7px;
        padding: 12px 20px 20px !important;
    }

    body.datx-experience .ast-builder-menu-mobile .main-header-menu > .menu-item > .menu-link {
        justify-content: flex-start;
        min-height: 48px !important;
        height: 48px !important;
        padding-inline: 15px !important;
        color: var(--datx-text) !important;
        background: var(--datx-surface-2) !important;
        border-color: var(--datx-border) !important;
        font-size: 14px !important;
    }

    body.single-product.datx-experience div.product {
        grid-template-columns: 1fr;
    }

    body.single-product.datx-experience div.product > div.images,
    body.single-product.datx-experience div.product > div.summary {
        width: 100% !important;
    }

    body.woocommerce-account.datx-experience:not(.logged-in) .entry-content > .woocommerce {
        grid-template-columns: 1fr;
    }

    body.woocommerce-account.datx-experience:not(.logged-in) .woocommerce > h2,
    body.woocommerce-account.datx-experience:not(.logged-in) .woocommerce > .woocommerce-form-login {
        grid-column: 1;
    }

    body.woocommerce-account.datx-experience:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper {
        grid-row: 1;
    }

    body.woocommerce-account.datx-experience:not(.logged-in) .datx-account-welcome {
        grid-row: 2;
        grid-column: 1;
    }

    body.woocommerce-account.datx-experience:not(.logged-in) .woocommerce > h2 {
        grid-row: 3;
        margin-top: 6px !important;
    }

    body.woocommerce-account.datx-experience:not(.logged-in) .woocommerce > .woocommerce-form-login {
        grid-row: 4;
    }
}

@media (max-width: 700px) {
    .datx-shell {
        width: min(calc(100% - 28px), var(--datx-shell));
    }

    .datx-service-bar__inner {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: calc(100% - 16px);
        min-height: 38px;
        margin-inline: auto;
        overflow: hidden;
    }

    .datx-service-bar__inner > span,
    .datx-service-bar__inner > a {
        min-width: 0;
        padding-inline: 4px;
        border-left: 0 !important;
        font-size: 9px;
        white-space: nowrap;
    }

    .datx-service-bar svg {
        width: 13px;
        height: 13px;
    }

    .datx-service-bar small {
        display: none;
    }

    .datx-store-hero {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 24px 18px;
    }

    .datx-store-hero h1 {
        font-size: clamp(28px, 9vw, 40px) !important;
    }

    .datx-store-hero__actions,
    .datx-store-hero .datx-button {
        width: 100%;
    }

    .datx-benefits {
        grid-template-columns: 1fr;
        margin-bottom: 22px;
    }

    .datx-benefits > li {
        min-height: 58px;
        border-right: 0;
        border-bottom: 1px solid var(--datx-border);
    }

    .datx-benefits > li:last-child {
        border-bottom: 0;
    }

    .datx-catalog-discovery {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 18px;
    }

    .datx-focus-product-search {
        width: 100%;
    }

    .datx-catalog-discovery nav {
        gap: 7px;
    }

    .datx-product-guide,
    .datx-checkout-help {
        grid-template-columns: 1fr;
    }

    body.woocommerce-checkout.datx-experience form.checkout #customer_details,
    body.woocommerce-checkout.datx-experience form.checkout #order_review,
    body.woocommerce-checkout.datx-experience form.checkout #order_review_heading {
        float: none !important;
        width: 100% !important;
    }

    body.woocommerce-checkout.datx-experience form.checkout #order_review_heading {
        padding-top: 24px;
    }

    body.datx-experience .woocommerce ul.products,
    body.datx-experience .wc-block-product-template {
        gap: 14px !important;
    }

    body.datx-experience .woocommerce ul.products li.product,
    body.datx-experience .wc-block-product,
    body.datx-experience .wc-block-grid__product {
        padding: 9px 9px 12px !important;
        border-radius: 15px !important;
    }

    body.datx-experience .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.datx-experience .wc-block-components-product-name,
    body.datx-experience .wc-block-grid__product-title {
        font-size: 13.5px !important;
    }

    body.datx-experience .woocommerce ul.products li.product .price,
    body.datx-experience .wc-block-components-product-price,
    body.datx-experience .wc-block-grid__product-price {
        font-size: 14px !important;
    }

    body.datx-experience .woocommerce ul.products li.product .button,
    body.datx-experience .wc-block-grid__product-add-to-cart .wp-block-button__link {
        min-height: 40px;
        font-size: 12px !important;
    }

    body.single-product.datx-experience .ast-woocommerce-container {
        padding-top: 28px !important;
    }

    body.single-product.datx-experience div.product {
        gap: 22px;
    }

    body.single-product.datx-experience div.product > div.images {
        padding: 10px;
        border-radius: 20px;
    }

    body.single-product.datx-experience div.product > div.summary {
        padding: 20px;
        border-radius: 20px !important;
    }

    body.single-product.datx-experience .summary form.cart {
        padding: 12px;
    }

    body.woocommerce-cart.datx-experience .woocommerce-cart-form table.shop_table :where(th, td),
    body.woocommerce-cart.datx-experience .cart_totals table.shop_table :where(th, td) {
        padding: 11px !important;
    }

    body.woocommerce-cart.datx-experience .woocommerce-cart-form .coupon {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    body.woocommerce-cart.datx-experience .woocommerce-cart-form .coupon #coupon_code,
    body.woocommerce-cart.datx-experience .woocommerce-cart-form .coupon .button {
        width: 100% !important;
    }

    .datx-product-assurance {
        grid-template-columns: 1fr;
    }

    body.single-product.datx-experience .woocommerce-tabs {
        padding: 18px;
        border-radius: 20px !important;
    }

    body.woocommerce-cart.datx-experience .entry-header,
    body.woocommerce-checkout.datx-experience .entry-header,
    body.woocommerce-cart.datx-experience .entry-content,
    body.woocommerce-checkout.datx-experience .entry-content {
        width: min(calc(100% - 28px), var(--datx-shell));
    }

    body.woocommerce-account.datx-experience:not(.logged-in) .site-content > .ast-container {
        width: min(calc(100% - 28px), var(--datx-shell));
        padding-top: 30px !important;
    }

    .datx-account-welcome {
        padding: 28px 22px;
        border-radius: 20px;
    }

    body.woocommerce-account.datx-experience:not(.logged-in) form.login {
        padding: 76px 20px 22px !important;
        border-radius: 20px !important;
    }

    body.page-id-2.datx-experience .entry-header,
    body.page-id-10368.datx-experience .entry-header,
    body.privacy-policy.datx-experience .entry-header,
    body.page-id-2.datx-experience .entry-content,
    body.page-id-10368.datx-experience .entry-content,
    body.privacy-policy.datx-experience .entry-content {
        width: min(calc(100% - 28px), 920px);
    }

    body.page-id-2.datx-experience .entry-header,
    body.page-id-10368.datx-experience .entry-header,
    body.privacy-policy.datx-experience .entry-header {
        margin-top: 34px !important;
    }

    body.page-id-2.datx-experience .entry-content,
    body.page-id-10368.datx-experience .entry-content,
    body.privacy-policy.datx-experience .entry-content {
        padding: 22px;
        border-radius: 20px;
        font-size: 14px;
    }

    .datx-prefooter {
        margin-top: 46px;
        padding: 42px 0;
    }

    .datx-prefooter__grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px 24px;
    }

    .datx-prefooter__brand,
    .datx-prefooter__support {
        grid-column: 1 / -1;
    }

    .datx-footer-note {
        display: block;
        margin: 2px 0 0;
    }

    html body.datx-experience .vi-wcaio-sidebar-cart-icon-wrap {
        left: 10px !important;
        bottom: 10px !important;
        width: 46px !important;
        height: 46px !important;
        padding: 3px !important;
    }

    html body.datx-experience .vi-wcaio-sidebar-cart-icon-wrap::after {
        display: none !important;
    }
}

@media (max-width: 420px) {
    body.datx-experience .site-title a,
    body.datx-experience .ast-site-title-wrap a {
        font-size: 17px !important;
    }

    body.datx-experience .site-title a::before,
    body.datx-experience .ast-site-title-wrap a::before {
        width: 8px;
        height: 8px;
        margin-right: 7px;
    }

    body.home.datx-experience .elementor-element-cd42665::before {
        letter-spacing: 0.035em;
    }

    .datx-category-close {
        position: static;
        float: right;
        margin-bottom: 10px;
    }

    .datx-checkout-steps {
        margin-bottom: 26px;
    }

    .datx-checkout-steps span {
        font-size: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    body.datx-experience *,
    body.datx-experience *::before,
    body.datx-experience *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
