/*
 * akam dark mode — hand-written base (palette, page, forms, neon boxes).
 * The per-component overrides live in dark-generated.css (build-dark-css.py).
 * Everything is scoped to body.akam-dark so it outranks parent-theme and
 * late-printed Elementor widget styles regardless of load order.
 */

/* ---------------------------------------------------------------- palette */
body.akam-dark {
    /* Same dark tokens as modirsho.net (resources/css/app.css, .dark --ms-*) */
    --akd-bg: #0b1220;
    --akd-bg-rgb: 11, 18, 32;
    --akd-surface: #111827;
    --akd-surface-rgb: 17, 24, 39;
    --akd-surface-2: #172033;
    --akd-surface-2-rgb: 23, 32, 51;
    --akd-border: #1f2937;
    --akd-text: #f9fafb;
    --akd-muted: #9ca3af;
    --akd-accent: #3b82f6;
    --akd-accent-hover: #60a5fa;
    --akd-teal: #2dd4bf;
    --akd-neon: 255, 255, 255;
    --akd-font: "Kalameh", Tahoma, Arial, sans-serif;

    /* re-point the parent theme's own variables */
    --webmz-bg: var(--akd-bg);
    --webmz-surface: var(--akd-surface);
    --webmz-soft: var(--akd-surface-2);
    --webmz-border: var(--akd-border);
    --webmz-wc-border: var(--akd-border);
    --webmz-color-text-dark: var(--akd-text);
    --webmz-color-text-gray: var(--akd-muted);
    --webmz-color-text-navy: #dfe5ff;
    /* No orange/purple: every brand colour is the main site's blue. The
       secondary colour fills solid buttons as well as headings; headings get
       white from their own rule below. */
    --webmz-color-secondary: var(--akd-accent);
    --webmz-color-primary: var(--akd-accent);
    --webmz-color-primary-hover: var(--akd-accent-hover);
    --webmz-color-primary-light: rgba(59, 130, 246, .14);
    --webmz-wc-primary: var(--akd-accent);
    --webmz-wc-primary-hover: var(--akd-accent-hover);
    --webmz-wc-primary-light: rgba(59, 130, 246, .14);
    --webmz-wc-secondary: var(--akd-accent);
    --webmz-orange: var(--akd-accent);
    --webmz-account-accent-light: rgba(59, 130, 246, .14);
    --webmz-font-family: var(--akd-font);
    --webmz-shadow: 0 18px 50px rgba(0, 0, 0, .35);
    --text-navy: #dfe5ff;
    --text-gray: var(--akd-muted);
    --text-black: var(--akd-text);

    /* Elementor global colours (kit) */
    --e-global-color-primary: var(--akd-accent);
    --e-global-color-secondary: var(--akd-accent);
    --e-global-color-text: var(--akd-text);
    --e-global-color-accent: var(--akd-accent-hover);

    color-scheme: dark;
    background: var(--akd-bg);
    color: var(--akd-text);
    font-family: var(--akd-font);
}

/* ---------------------------------------------------------------- font
 * Kalameh (same licensed files as modirsho.net), Persian digits built in.
 * Body copy regular/light, headings heavy — "different weights for titles
 * and descriptions".                                                       */
@font-face { font-family: "Kalameh"; src: url("../fonts/kalameh/KalamehWebFaNum-Light.woff2") format("woff2"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Kalameh"; src: url("../fonts/kalameh/KalamehWebFaNum-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Kalameh"; src: url("../fonts/kalameh/KalamehWebFaNum-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Kalameh"; src: url("../fonts/kalameh/KalamehWebFaNum-SemiBold.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Kalameh"; src: url("../fonts/kalameh/KalamehWebFaNum-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Kalameh"; src: url("../fonts/kalameh/KalamehWebFaNum-ExtraBold.woff2") format("woff2"); font-weight: 800; font-display: swap; }
@font-face { font-family: "Kalameh"; src: url("../fonts/kalameh/KalamehWebFaNum-Black.woff2") format("woff2"); font-weight: 900; font-display: swap; }

/* Elementor/widget typography often names its own family; use Kalameh everywhere. */
body.akam-dark,
body.akam-dark :where(h1, h2, h3, h4, h5, h6, p, a, span, li, button, input, select, textarea, label, td, th, strong, small, div):not([class*="icon"]):not([class*="fa-"]):not(.dashicons):not([class^="eicon"]) {
    font-family: var(--akd-font) !important;
}
body.akam-dark :where(h1, h2) { font-weight: 800; }
body.akam-dark :where(h3, h4) { font-weight: 700; }
body.akam-dark :where(p, li) { font-weight: 400; }

/* ---------------------------------------------------------------- page */
html:has(body.akam-dark) { background: var(--akd-bg); }

body.akam-dark h1,
body.akam-dark h2,
body.akam-dark h3,
body.akam-dark h4,
body.akam-dark h5,
body.akam-dark h6 { color: var(--akd-text); }

body.akam-dark ::selection { background: rgba(var(--akd-neon), .85); color: var(--akd-surface); }

body.akam-dark hr { border-color: var(--akd-border); }

/* ---------------------------------------------------------------- forms */
body.akam-dark input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]),
body.akam-dark select,
body.akam-dark textarea {
    background-color: rgba(var(--akd-bg-rgb), .55);
    color: var(--akd-text);
    border-color: var(--akd-border);
}
body.akam-dark input::placeholder,
body.akam-dark textarea::placeholder { color: rgba(179, 189, 230, .7); }
body.akam-dark input:focus,
body.akam-dark select:focus,
body.akam-dark textarea:focus {
    border-color: rgba(var(--akd-neon), .6);
    box-shadow: 0 0 0 3px rgba(var(--akd-neon), .12);
    outline: none;
}
body.akam-dark select option { background: var(--akd-surface); color: var(--akd-text); }

/* ---------------------------------------------------------------- tables / Woo basics */
body.akam-dark table,
body.akam-dark th,
body.akam-dark td { border-color: var(--akd-border); }
body.akam-dark .woocommerce-message,
body.akam-dark .woocommerce-info,
body.akam-dark .woocommerce-error {
    background: var(--akd-surface);
    color: var(--akd-text);
}

/* scrollbar */
body.akam-dark { scrollbar-color: rgba(var(--akd-neon), .25) var(--akd-bg); }

/* ---------------------------------------------------------------- neon boxes
 * JS (dark-neon.js) adds .akd-neon to card-like boxes and injects a
 * .akd-neon__glow layer, updating --akd-mx/--akd-my on pointer move.      */
body.akam-dark .akd-neon {
    position: relative;
    isolation: isolate;
    transition: box-shadow .35s ease, transform .35s ease, border-color .35s ease;
}
body.akam-dark .akd-neon__glow {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 2;
    opacity: 0;
    transition: opacity .35s ease;
    /* white neon rim that follows the pointer */
    padding: 1.5px;
    background: radial-gradient(
        260px circle at var(--akd-mx, 50%) var(--akd-my, 50%),
        rgba(var(--akd-neon), .95),
        rgba(var(--akd-neon), .25) 40%,
        transparent 70%
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
}
body.akam-dark .akd-neon__spot {
    /* soft inner spotlight under the content */
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transition: opacity .35s ease;
    background: radial-gradient(
        320px circle at var(--akd-mx, 50%) var(--akd-my, 50%),
        rgba(var(--akd-neon), .08),
        transparent 60%
    );
}
body.akam-dark .akd-neon:hover { box-shadow: 0 0 0 1px rgba(var(--akd-neon), .10), 0 0 28px rgba(var(--akd-neon), .14), 0 18px 50px rgba(0, 0, 0, .35); }
body.akam-dark .akd-neon:hover > .akd-neon__glow,
body.akam-dark .akd-neon:hover > .akd-neon__spot { opacity: 1; }

@media (hover: none) {
    body.akam-dark .akd-neon__glow,
    body.akam-dark .akd-neon__spot { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    body.akam-dark .akd-neon { transition: none; }
}
/* ---------------------------------------------------------------- WooCommerce Cart, Checkout & Account Dark Overrides */

/* Checkout main cards & sections */
body.akam-dark.webmz-wc-checkout .webmz-checkout-customer .col-1,
body.akam-dark.webmz-wc-checkout .webmz-checkout-customer .col-2,
body.akam-dark.webmz-wc-checkout .webmz-checkout-order-section,
body.akam-dark .webmz-checkout-customer .col-1,
body.akam-dark .webmz-checkout-customer .col-2,
body.akam-dark .webmz-checkout-order-section,
body.akam-dark.webmz-wc-cart .webmz-cart-main,
body.akam-dark .webmz-cart-main,
body.akam-dark.webmz-wc-cart .webmz-cart-sidebar .cart_totals,
body.akam-dark .webmz-cart-sidebar .cart_totals {
    background: var(--akd-surface) !important;
    border-color: var(--akd-border) !important;
    color: var(--akd-text) !important;
    box-shadow: none !important;
}

body.akam-dark.webmz-wc-checkout .webmz-checkout-totals-col,
body.akam-dark.webmz-wc-checkout .webmz-checkout-payment-col,
body.akam-dark .webmz-checkout-totals-col,
body.akam-dark .webmz-checkout-payment-col {
    background: var(--akd-surface-2) !important;
    border-color: var(--akd-border) !important;
    color: var(--akd-text) !important;
}

/* Titles & Section headings */
body.akam-dark.webmz-wc-checkout .webmz-wc-section-title,
body.akam-dark.webmz-wc-cart .webmz-wc-section-title,
body.akam-dark .webmz-wc-section-title {
    color: var(--akd-text) !important;
}

/* Form labels */
body.akam-dark.webmz-wc-checkout .woocommerce form .form-row label,
body.akam-dark.webmz-wc-cart .woocommerce form .form-row label,
body.akam-dark .woocommerce form .form-row label,
body.akam-dark.webmz-wc-checkout #ship-to-different-address label {
    color: var(--akd-text) !important;
}

/* Notices & coupon toggle banner */
body.akam-dark.webmz-wc-checkout .woocommerce-info,
body.akam-dark.webmz-wc-cart .woocommerce-info,
body.akam-dark .woocommerce-info,
body.akam-dark.webmz-wc-checkout .woocommerce-message,
body.akam-dark.webmz-wc-cart .woocommerce-message,
body.akam-dark .woocommerce-message,
body.akam-dark.webmz-wc-checkout .woocommerce-error,
body.akam-dark.webmz-wc-cart .woocommerce-error,
body.akam-dark .woocommerce-error,
body.akam-dark .coupon-error-notice {
    background: var(--akd-surface-2) !important;
    border-color: var(--akd-border) !important;
    border-inline-start: 3px solid var(--akd-accent) !important;
    color: var(--akd-text) !important;
}

body.akam-dark.webmz-wc-checkout .woocommerce-info a,
body.akam-dark.webmz-wc-cart .woocommerce-info a,
body.akam-dark .woocommerce-info a,
body.akam-dark.webmz-wc-checkout .woocommerce-info .showcoupon,
body.akam-dark.webmz-wc-checkout .woocommerce-info .showlogin,
body.akam-dark .showcoupon,
body.akam-dark .showlogin {
    color: var(--akd-accent-hover) !important;
}

/* Payment methods */
body.akam-dark.webmz-wc-checkout .webmz-checkout-payment-col #payment,
body.akam-dark #payment {
    background: transparent !important;
}

body.akam-dark.webmz-wc-checkout .wc_payment_methods li,
body.akam-dark #payment ul.payment_methods li {
    background: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark.webmz-wc-checkout .wc_payment_methods li:has(input:checked),
body.akam-dark #payment ul.payment_methods li:has(input:checked) {
    background: rgba(59, 130, 246, 0.12) !important;
    border-color: var(--akd-accent) !important;
}

body.akam-dark.webmz-wc-checkout .wc_payment_methods li label,
body.akam-dark #payment ul.payment_methods li label {
    color: var(--akd-text) !important;
}

body.akam-dark.webmz-wc-checkout .wc_payment_methods li .input-radio,
body.akam-dark #payment ul.payment_methods li input[type="radio"] {
    background: var(--akd-surface-2) !important;
    border-color: var(--akd-border) !important;
}

body.akam-dark.webmz-wc-checkout .wc_payment_methods li .input-radio:checked,
body.akam-dark #payment ul.payment_methods li input[type="radio"]:checked {
    background-color: var(--akd-surface-2) !important;
    border-color: var(--akd-accent) !important;
    background-image: radial-gradient(circle, var(--akd-accent) 0, var(--akd-accent) 5px, transparent 5.5px) !important;
}

body.akam-dark.webmz-wc-checkout .wc_payment_methods .payment_box,
body.akam-dark.webmz-wc-checkout #payment div.payment_box,
body.akam-dark #payment div.payment_box {
    background: var(--akd-surface-2) !important;
    border-top: 1px solid var(--akd-border) !important;
    color: var(--akd-muted) !important;
}

/* Tables & line items */
body.akam-dark.webmz-wc-checkout .webmz-checkout-totals-table,
body.akam-dark.webmz-wc-checkout .webmz-checkout-totals-table th,
body.akam-dark.webmz-wc-checkout .webmz-checkout-totals-table td,
body.akam-dark.webmz-wc-checkout table.shop_table th,
body.akam-dark.webmz-wc-checkout table.shop_table td,
body.akam-dark.webmz-wc-cart .webmz-cart-totals-table,
body.akam-dark.webmz-wc-cart .webmz-cart-totals-table th,
body.akam-dark.webmz-wc-cart .webmz-cart-totals-table td,
body.akam-dark.webmz-wc-cart .webmz-cart-table td,
body.akam-dark table.shop_table th,
body.akam-dark table.shop_table td {
    border-color: var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark.webmz-wc-cart .webmz-cart-table thead th,
body.akam-dark .webmz-cart-table thead th {
    background: var(--akd-surface-2) !important;
    border-color: var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark.webmz-wc-checkout .webmz-checkout-totals-table .product-total .amount,
body.akam-dark.webmz-wc-checkout .webmz-checkout-totals-table .order-total .amount,
body.akam-dark.webmz-wc-cart .webmz-cart-totals-table .order-total .amount,
body.akam-dark .amount {
    color: var(--akd-accent-hover) !important;
}

/* Form inputs & textareas & selects */
body.akam-dark.webmz-wc-checkout input.input-text,
body.akam-dark.webmz-wc-checkout textarea,
body.akam-dark.webmz-wc-checkout select,
body.akam-dark.webmz-wc-cart input.input-text,
body.akam-dark.webmz-wc-cart textarea,
body.akam-dark.webmz-wc-cart select,
body.akam-dark .webmz-cart-coupon .input-text {
    background-color: var(--akd-bg) !important;
    color: var(--akd-text) !important;
    border: 1px solid var(--akd-border) !important;
}

body.akam-dark.webmz-wc-checkout input.input-text:focus,
body.akam-dark.webmz-wc-checkout textarea:focus,
body.akam-dark.webmz-wc-checkout select:focus,
body.akam-dark.webmz-wc-cart input.input-text:focus,
body.akam-dark.webmz-wc-cart textarea:focus,
body.akam-dark.webmz-wc-cart select:focus,
body.akam-dark .webmz-cart-coupon .input-text:focus {
    border-color: var(--akd-accent) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
    outline: none !important;
}

/* Select2 dropdown */
body.akam-dark .select2-container--default .select2-selection--single,
body.akam-dark .select2-container .select2-selection--single {
    background-color: var(--akd-bg) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}
body.akam-dark .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--akd-text) !important;
}
body.akam-dark .select2-dropdown {
    background-color: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
body.akam-dark .select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: var(--akd-bg) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}
body.akam-dark .select2-container--default .select2-results__option {
    color: var(--akd-text) !important;
}
body.akam-dark .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--akd-accent) !important;
    color: #fff !important;
}

/* Checkout toggle forms */
body.akam-dark.webmz-wc-checkout form.checkout_coupon,
body.akam-dark.webmz-wc-checkout form.login,
body.akam-dark form.checkout_coupon,
body.akam-dark form.login {
    background: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    border-radius: var(--webmz-wc-radius, 12px) !important;
    color: var(--akd-text) !important;
}

/* Order received / Thank you page */
body.akam-dark .woocommerce-order,
body.akam-dark .woocommerce-order-details,
body.akam-dark .woocommerce-customer-details,
body.akam-dark .woocommerce-bacs-bank-details {
    background: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    border-radius: var(--webmz-wc-radius-lg, 16px) !important;
    color: var(--akd-text) !important;
}
body.akam-dark ul.woocommerce-order-overview {
    background: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    border-radius: var(--webmz-wc-radius, 12px) !important;
}
body.akam-dark ul.woocommerce-order-overview li {
    border-left-color: var(--akd-border) !important;
    border-right-color: var(--akd-border) !important;
    color: var(--akd-muted) !important;
}
body.akam-dark ul.woocommerce-order-overview li strong {
    color: var(--akd-text) !important;
}

/* Cart empty & Terms */
body.akam-dark .cart-empty.woocommerce-info {
    background: var(--akd-surface) !important;
    border-color: var(--akd-border) !important;
    color: var(--akd-text) !important;
}
body.akam-dark .return-to-shop .button {
    background: var(--akd-accent) !important;
    color: #fff !important;
}
body.akam-dark.webmz-wc-checkout .woocommerce-terms-and-conditions-wrapper,
body.akam-dark .woocommerce-terms-and-conditions-wrapper {
    color: var(--akd-muted) !important;
}
body.akam-dark.webmz-wc-checkout .woocommerce-terms-and-conditions-wrapper a,
body.akam-dark .woocommerce-terms-and-conditions-wrapper a {
    color: var(--akd-accent-hover) !important;
}

/* =============================================================================
   Comprehensive Theme & Elementor Dark Mode Overrides (High Specificity)
   ============================================================================= */

/* 1. Contact Us Page */
body.akam-dark .webmz-contact-tabs,
body.akam-dark .webmz-ajax-form,
body.akam-dark .webmz-jobs-callout,
body.akam-dark .webmz-team__card,
body.akam-dark .webmz-office-addresses {
    background: var(--akd-surface) !important;
    background-color: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}

body.akam-dark .webmz-contact-tabs__tab {
    background: var(--akd-surface-2) !important;
    color: var(--akd-muted) !important;
    border: 1px solid var(--akd-border) !important;
}

body.akam-dark .webmz-contact-tabs__tab:hover {
    color: var(--akd-text) !important;
    border-color: var(--akd-accent) !important;
}

body.akam-dark .webmz-contact-tabs__tab.is-active {
    background: var(--akd-accent) !important;
    color: #ffffff !important;
    border-color: var(--akd-accent) !important;
    box-shadow: 0 4px 14px rgba(59, 130, 246, 0.4) !important;
}

body.akam-dark .webmz-contact-tabs__head h2,
body.akam-dark .webmz-ajax-form__header h2 {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-contact-tabs dl dt {
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-contact-tabs dl dd {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-contact-tabs dl dd a {
    color: var(--akd-accent-hover) !important;
}

body.akam-dark .webmz-contact-tabs__time,
body.akam-dark .webmz-contact-tabs__map,
body.akam-dark .webmz-contact-tabs__map-placeholder {
    background: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-ajax-form__header {
    border-bottom: 1px solid var(--akd-border) !important;
}

body.akam-dark .webmz-ajax-form__header p {
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-ajax-form__field > span:first-child,
body.akam-dark .webmz-ajax-form__field label {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-ajax-form input:not([type="checkbox"]):not([type="file"]),
body.akam-dark .webmz-ajax-form textarea,
body.akam-dark .webmz-ajax-form select {
    background-color: var(--akd-bg) !important;
    color: var(--akd-text) !important;
    border: 1px solid var(--akd-border) !important;
}

body.akam-dark .webmz-ajax-form input:focus,
body.akam-dark .webmz-ajax-form textarea:focus,
body.akam-dark .webmz-ajax-form select:focus {
    border-color: var(--akd-accent) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25) !important;
    outline: none !important;
}

/* 2. Homepage, Services & Universal Card Overrides */
body.akam-dark .webmz-service-box,
body.akam-dark .webmz-cts,
body.akam-dark .webmz-cts__card,
body.akam-dark .webmz-pp,
body.akam-dark .webmz-slider-element-1,
body.akam-dark .webmz-learning-path,
body.akam-dark .webmz-contact-us-banner,
body.akam-dark .webmz-instructor-card,
body.akam-dark .tadris-product-type-1,
body.akam-dark .tadris-product-type-2,
body.akam-dark .tadris-product-type-3,
body.akam-dark .webmz-post-card,
body.akam-dark .webmz-blog-archive-card,
body.akam-dark .webmz-store-card,
body.akam-dark .webmz-teacher-card,
body.akam-dark .tadris-product-card,
body.akam-dark .tadris-blog-card,
body.akam-dark .tadris-content-type-1 {
    background: var(--akd-surface) !important;
    background-color: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

body.akam-dark .webmz-service-box h3,
body.akam-dark .webmz-service-box a,
body.akam-dark .webmz-cts__name,
body.akam-dark .webmz-pp__title,
body.akam-dark .tadris-product-title,
body.akam-dark .tadris-product-type-1__title,
body.akam-dark .tadris-product-type-2__title,
body.akam-dark .tadris-product-type-3__title,
body.akam-dark .webmz-post-card__title,
body.akam-dark .webmz-blog-archive-card__title,
body.akam-dark .webmz-store-card__title,
body.akam-dark .tadris-heading-3 {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-service-box p,
body.akam-dark .webmz-cts__text,
body.akam-dark .webmz-pp__desc,
body.akam-dark .tadris-product-meta,
body.akam-dark .webmz-post-card__excerpt,
body.akam-dark .webmz-blog-archive-card__excerpt {
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-cts__avatar,
body.akam-dark .webmz-cts__arrow,
body.akam-dark .tadris-heading-3__button,
body.akam-dark .webmz-slider-element-1__button--outline,
body.akam-dark .webmz-cu-banner__call-btn {
    background-color: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-cts__arrow:hover,
body.akam-dark .tadris-heading-3__button:hover {
    background-color: var(--akd-accent) !important;
    color: #ffffff !important;
    border-color: var(--akd-accent) !important;
}

/* Light sections on homepage converted to seamless transparent background */
body.akam-dark .elementor-element.elementor-element-c6cff5a,
body.akam-dark .elementor-element.elementor-element-54026a5,
body.akam-dark .elementor-element.elementor-element-c6cff5a:not(.elementor-motion-effects-element-type-background),
body.akam-dark .elementor-element.elementor-element-54026a5:not(.elementor-motion-effects-element-type-background) {
    background-color: transparent !important;
    background: transparent !important;
}

/* 3. Header, Navigation, Modals & Floating Elements */
body.akam-dark .elementor-element.elementor-element-736a739,
body.akam-dark .elementor-element.elementor-element-2809ce5,
body.akam-dark header.site-header,
body.akam-dark .webmz-header-wrapper {
    background-color: rgba(17, 24, 39, 0.96) !important;
    border-bottom: 1px solid var(--akd-border) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

body.akam-dark .webmz-nav__submenu,
body.akam-dark .webmz-icon-nav__submenu,
body.akam-dark .webmz-offcanvas__panel,
body.akam-dark .webmz-account__dropdown,
body.akam-dark .webmz-search-popup__dialog,
body.akam-dark .webmz-mega-menu-content,
body.akam-dark .webmz-mega-content,
body.akam-dark .webmz-hcart-panel,
body.akam-dark .webmz-mcart-panel,
body.akam-dark .webmz-floating-contact__panel,
body.akam-dark .webmz-ajax-search__panel {
    background: var(--akd-surface) !important;
    background-color: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5) !important;
}

body.akam-dark .webmz-search-popup__trigger,
body.akam-dark .webmz-mtrigger,
body.akam-dark .webmz-hcart__trigger,
body.akam-dark .webmz-account__trigger,
body.akam-dark .webmz-hc-trigger--style-1 .webmz-account__trigger,
body.akam-dark .webmz-hc-trigger--style-1 .webmz-hcart__trigger,
body.akam-dark .webmz-hc-trigger--style-3 .webmz-account__trigger,
body.akam-dark .webmz-hc-trigger--style-3 .webmz-hcart__trigger {
    background-color: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-search-popup__trigger:hover,
body.akam-dark .webmz-mtrigger:hover,
body.akam-dark .webmz-hcart__trigger:hover,
body.akam-dark .webmz-account__trigger:hover {
    color: var(--akd-text) !important;
    border-color: var(--akd-accent) !important;
}

body.akam-dark .webmz-ajax-search__form {
    background-color: var(--akd-bg) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-ajax-search__form input,
body.akam-dark .webmz-ajax-search__input {
    color: var(--akd-text) !important;
    background: transparent !important;
}

body.akam-dark .webmz-ajax-search__heading {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-ajax-search__loading {
    background: var(--akd-surface-2) !important;
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-ajax-search__chip {
    background: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-mega-content__item:focus-within .webmz-mega-content__main-link,
body.akam-dark .webmz-mega-content__item.is-active .webmz-mega-content__main-link {
    background-color: var(--akd-surface-2) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-account__logout {
    background-color: rgba(220, 38, 38, 0.15) !important;
    color: #ef4444 !important;
}

body.akam-dark .webmz-account__logout:hover {
    background-color: rgba(220, 38, 38, 0.25) !important;
    color: #f87171 !important;
}

body.akam-dark .webmz-floating-contact__header {
    border-bottom: 1px solid var(--akd-border) !important;
}

body.akam-dark .webmz-floating-contact__header strong {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-floating-contact__header span {
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-floating-contact__item {
    background: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-floating-contact__item:hover {
    background: rgba(59, 130, 246, 0.15) !important;
    border-color: var(--akd-accent) !important;
    color: #ffffff !important;
}

body.akam-dark .webmz-hcart__media,
body.akam-dark .webmz-hcart__image-placeholder {
    background: var(--akd-surface-2) !important;
}

body.akam-dark .webmz-hcart__product-name,
body.akam-dark .webmz-hcart__subtotal,
body.akam-dark .webmz-hcart__subtotal strong {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-hcart__item,
body.akam-dark .webmz-hcart__subtotal {
    border-color: var(--akd-border) !important;
}

body.akam-dark .webmz-hcart__empty {
    background: var(--akd-surface-2) !important;
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-offcanvas__title {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-offcanvas__close {
    background: var(--akd-surface-2) !important;
    color: var(--akd-muted) !important;
}

/* 4. Single Product / Course Detail Page */
body.akam-dark .webmz-spw-media,
body.akam-dark .webmz-spw-short-desc,
body.akam-dark .webmz-spw-price,
body.akam-dark .webmz-spw-features,
body.akam-dark .webmz-spw-purchase-box,
body.akam-dark .webmz-spw-instructor,
body.akam-dark .webmz-spw-product-content,
body.akam-dark .webmz-spw-curriculum__section,
body.akam-dark .webmz-spw-curriculum__header,
body.akam-dark .webmz-spw-curriculum__lesson,
body.akam-dark .webmz-spw-faq__item,
body.akam-dark .webmz-spw-sticky-cart,
body.akam-dark .webmz-spw-sticky-cart__inner {
    background: var(--akd-surface) !important;
    background-color: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

body.akam-dark .webmz-spw-purchase-box__main-price,
body.akam-dark .webmz-spw-purchase-box__total,
body.akam-dark .webmz-spw-features__icon,
body.akam-dark .webmz-spw-faq__icon,
body.akam-dark .webmz-spw-curriculum__chevron,
body.akam-dark .webmz-spw-participants {
    background: var(--akd-surface-2) !important;
    background-color: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-spw-curriculum__btn,
body.akam-dark .webmz-spw-curriculum__btn--watch {
    background: var(--akd-surface-2) !important;
    color: var(--akd-accent-hover) !important;
    border: 1px solid var(--akd-border) !important;
}

body.akam-dark .webmz-spw-curriculum__btn:hover,
body.akam-dark .webmz-spw-curriculum__btn--watch:hover {
    background: var(--akd-accent) !important;
    color: #ffffff !important;
    border-color: var(--akd-accent) !important;
}

body.akam-dark .webmz-spw-faq__question {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-spw-faq__answer {
    color: var(--akd-muted) !important;
}

/* 5. WooCommerce My Account & Panel */
body.akam-dark .webmz-account-panel {
    --wa-dark: var(--akd-text);
    --wa-secondary: var(--akd-text);
    --wa-muted: var(--akd-muted);
    --wa-bg: var(--akd-surface-2);
    --wa-accent-light: rgba(59, 130, 246, 0.15);
}

body.akam-dark .webmz-account-profile,
body.akam-dark .webmz-account-nav,
body.akam-dark .webmz-account-hero,
body.akam-dark .webmz-account-content-wrap,
body.akam-dark .webmz-account-stat,
body.akam-dark .woocommerce-MyAccount-navigation,
body.akam-dark .woocommerce-MyAccount-content {
    background: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4) !important;
}

body.akam-dark .webmz-account-nav__link,
body.akam-dark .woocommerce-MyAccount-navigation ul li a {
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-account-nav__item.is-active .webmz-account-nav__link,
body.akam-dark .webmz-account-nav__link:hover,
body.akam-dark .woocommerce-MyAccount-navigation ul li.is-active a,
body.akam-dark .woocommerce-MyAccount-navigation ul li a:hover {
    color: #ffffff !important;
    background-color: var(--akd-surface-2) !important;
}

body.akam-dark .webmz-account-stat__value {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-account-stat__label {
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-account-content h2,
body.akam-dark .webmz-account-content h3 {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-account-content table.shop_table,
body.akam-dark .webmz-account-content table.woocommerce-orders-table {
    background: var(--akd-surface) !important;
    border-color: var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-account-content table.shop_table th,
body.akam-dark .webmz-account-content table.shop_table td,
body.akam-dark .webmz-account-content table.woocommerce-orders-table th,
body.akam-dark .webmz-account-content table.woocommerce-orders-table td {
    border-color: var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-account-content input.input-text,
body.akam-dark .webmz-account-content textarea,
body.akam-dark .webmz-account-content select {
    background-color: var(--akd-bg) !important;
    border-color: var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-account-empty,
body.akam-dark .webmz-account-content .tadris-saved-empty {
    background: var(--akd-surface-2) !important;
    color: var(--akd-muted) !important;
}

body.akam-dark .woocommerce-Address,
body.akam-dark .woocommerce-Addresses .col-1,
body.akam-dark .woocommerce-Addresses .col-2 {
    background: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}

/* 6. Blog, Shop Archives & Comments */
body.akam-dark .webmz-store-archive__filter-card,
body.akam-dark .webmz-blog-archive__filter-card,
body.akam-dark .webmz-comments-widget,
body.akam-dark .comments-area,
body.akam-dark #comments {
    background: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-store-archive__search-input,
body.akam-dark .webmz-blog-archive__search-input,
body.akam-dark .webmz-comments-form textarea,
body.akam-dark .webmz-comments-form input,
body.akam-dark .comment-form textarea,
body.akam-dark .comment-form input {
    background: var(--akd-bg) !important;
    color: var(--akd-text) !important;
    border: 1px solid var(--akd-border) !important;
}

body.akam-dark .webmz-store-archive__heading,
body.akam-dark .webmz-blog-archive__heading,
body.akam-dark .webmz-store-archive__filter-title,
body.akam-dark .webmz-blog-archive__filter-title,
body.akam-dark .webmz-comments-title,
body.akam-dark .comment-reply-title {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-comments-subtitle,
body.akam-dark .webmz-comments-muted {
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-comments-editor-note,
body.akam-dark .webmz-comments-closed,
body.akam-dark .webmz-comments-login-required,
body.akam-dark .webmz-comments-empty,
body.akam-dark .webmz-comments-item,
body.akam-dark .comment-body {
    background: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-post-breadcrumb,
body.akam-dark .webmz-page-hero {
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-post-breadcrumb a,
body.akam-dark .webmz-post-breadcrumb__link {
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-post-breadcrumb__current {
    color: var(--akd-text) !important;
}

body.akam-dark .woocommerce-pagination ul.page-numbers li a,
body.akam-dark .woocommerce-pagination ul.page-numbers li span {
    background: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .woocommerce-pagination ul.page-numbers li span.current {
    background: var(--akd-accent) !important;
    color: #ffffff !important;
    border-color: var(--akd-accent) !important;
}

/* 7. Footer Components */
body.akam-dark .webmz-footer-ticket-box {
    background: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    --webmz-ftb-title-color: var(--akd-text) !important;
    --webmz-ftb-subtitle-color: var(--akd-muted) !important;
    --webmz-ftb-btn-bg: var(--akd-surface-2) !important;
    --webmz-ftb-btn-color: var(--akd-text) !important;
}

body.akam-dark .webmz-footer-ticket-box__avatar {
    border-color: var(--akd-border) !important;
}

body.akam-dark .webmz-footer-contact__heading,
body.akam-dark .webmz-footer-contact__text,
body.akam-dark .webmz-footer-contact__icon {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-footer-links__title {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-footer-links__link {
    color: var(--akd-muted) !important;
}

body.akam-dark .webmz-footer-menu__label {
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-footer-menu__link:hover .webmz-footer-menu__label {
    color: var(--akd-accent-hover) !important;
}

body.akam-dark .elementor-social-icon {
    background-color: var(--akd-surface-2) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-muted) !important;
}

body.akam-dark .elementor-social-icon:hover {
    background-color: var(--akd-accent) !important;
    border-color: var(--akd-accent) !important;
    color: #ffffff !important;
}

/* 8. SweetAlert Popups */
body.akam-dark .swal2-popup.webmz-swal-popup {
    background: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    color: var(--akd-text) !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6) !important;
}

body.akam-dark .swal2-title {
    color: var(--akd-text) !important;
}

body.akam-dark .swal2-html-container {
    color: var(--akd-muted) !important;
}

body.akam-dark .swal2-close {
    background: var(--akd-surface-2) !important;
    color: var(--akd-muted) !important;
}

body.akam-dark .swal2-close:hover {
    color: #ffffff !important;
}

body.akam-dark .swal2-cancel.webmz-swal-cancel {
    background: var(--akd-surface-2) !important;
    color: var(--akd-text) !important;
}

body.akam-dark .webmz-swal-share a,
body.akam-dark .webmz-swal-share button {
    background: var(--akd-surface-2) !important;
    border-color: var(--akd-border) !important;
    color: var(--akd-text) !important;
}

/* =============================================================================
   Course Detail Page UI Refinements (Hero Media, Hero ATC & Purchase Box)
   ============================================================================= */

/* 1. Hero Media (16:9 Cinematic Video/Image Cover) */
body.akam-dark .webmz-spw-media,
body.akam-dark .webmz-spw-media__stage {
    position: relative !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    border: 1px solid rgba(59, 130, 246, 0.22) !important;
    background: #090e17 !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 30px rgba(59, 130, 246, 0.12) !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

body.akam-dark .webmz-spw-media:hover,
body.akam-dark .webmz-spw-media__stage:hover {
    border-color: rgba(59, 130, 246, 0.45) !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6), 0 0 45px rgba(59, 130, 246, 0.25) !important;
}

body.akam-dark .webmz-spw-media__image {
    display: block !important;
    margin: 0 !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    border-radius: 22px !important;
}

body.akam-dark .webmz-spw-media__image img,
body.akam-dark .webmz-spw-media__full-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

body.akam-dark .webmz-spw-media__stage:hover .webmz-spw-media__full-img,
body.akam-dark .webmz-spw-media__stage:hover .webmz-spw-media__image img {
    transform: scale(1.025) !important;
}

/* 2. Hero Add to Cart Bar (Clean horizontal price + CTA) */
body.akam-dark .webmz-spw-advanced-atc {
    background: var(--akd-surface) !important;
    border: 1px solid var(--akd-border) !important;
    border-radius: 20px !important;
    padding: 16px 24px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
    margin-top: 24px !important;
}

body.akam-dark .webmz-spw-advanced-atc__body {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 20px !important;
    direction: rtl !important;
}

body.akam-dark .webmz-spw-advanced-atc__price {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 6px !important;
    direction: rtl !important;
    text-align: right !important;
    flex-shrink: 0 !important;
}

body.akam-dark .webmz-spw-advanced-atc__amount {
    color: #ffffff !important;
    font-size: clamp(24px, 2.5vw, 32px) !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
    line-height: 1 !important;
}

body.akam-dark .webmz-spw-advanced-atc__currency {
    color: var(--akd-accent-hover) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

body.akam-dark .webmz-spw-advanced-atc__main {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    margin: 0 !important;
    direction: rtl !important;
}

body.akam-dark .webmz-spw-advanced-atc__action {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
}

body.akam-dark .webmz-spw-advanced-atc__btn.webmz-spw-add-to-cart-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 180px !important;
    min-height: 48px !important;
    padding: 12px 28px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    border: none !important;
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4) !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    line-height: 1.4 !important;
}

body.akam-dark .webmz-spw-advanced-atc__btn.webmz-spw-add-to-cart-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 28px rgba(59, 130, 246, 0.6) !important;
    background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%) !important;
}

/* 3. Sticky Purchase Box & Pulse Animation */
body.akam-dark .webmz-spw-purchase-box {
    transition: all 0.3s ease !important;
}

@keyframes msaPulseGlow {
    0% {
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
        border-color: var(--akd-border);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 35px rgba(59, 130, 246, 0.65), 0 0 70px rgba(59, 130, 246, 0.3);
        border-color: #3b82f6;
        transform: scale(1.02);
    }
    100% {
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
        border-color: var(--akd-border);
        transform: scale(1);
    }
}

.msa-pulse-highlight {
    animation: msaPulseGlow 1.6s ease-in-out !important;
}

/* 4. Responsive Hero Layout on Tablet/Mobile */
@media (max-width: 767px) {
    body.akam-dark .webmz-spw-advanced-atc__body {
        flex-direction: column-reverse !important;
        align-items: stretch !important;
        gap: 14px !important;
    }
    body.akam-dark .webmz-spw-advanced-atc__price {
        justify-content: center !important;
    }
    body.akam-dark .webmz-spw-advanced-atc__btn.webmz-spw-add-to-cart-btn {
        width: 100% !important;
    }
}
