/* ==========================================================================
   dark-theme.css — Global dark background for all Elementor sections
   Spec ref: Fas 1 punkt 3
   ========================================================================== */

/* Global bakgrund */
body,
.elementor-page,
.elementor-section,
.elementor-top-section,
.elementor-inner-section {
    background-color: var(--bg-primary);
}

/* Elementor widgets ärver textfärg */
.elementor-widget-container,
.elementor-widget-container p,
.elementor-widget-container li,
.elementor-widget-container span {
    color: var(--text-primary);
}

/* Rubriker */
.elementor-widget-container h1,
.elementor-widget-container h2,
.elementor-widget-container h3,
.elementor-widget-container h4 {
    font-family: var(--font-heading);
    color: var(--text-primary);
}

/* Länkar i Elementor */
.elementor-widget-container a {
    color: var(--accent-green);
    transition: color 0.2s ease;
}

.elementor-widget-container a:hover {
    color: var(--accent-green-light);
}

/* Header */
.elementor-location-header {
    background-color: var(--bg-primary);
    border-bottom: 1px solid var(--border-subtle);
}

.elementor-location-header .elementor-nav-menu a,
.elementor-location-header .elementor-nav-menu--main a,
header .elementor-nav-menu a,
.jet-menu a,
.jet-mega-menu-item__link,
.jet-mega-menu-item__label {
    color: var(--text-primary) !important;
    font-family: var(--font-body);
}

.elementor-location-header .elementor-nav-menu a:hover,
.elementor-location-header .elementor-nav-menu a.current,
header .elementor-nav-menu a:hover,
.jet-menu a:hover,
.jet-mega-menu-item:hover .jet-mega-menu-item__label,
.jet-mega-menu-item:hover .jet-mega-menu-item__link {
    color: var(--accent-green) !important;
}

/* JetMenu container */
.jet-mega-menu-container {
    background-color: transparent !important;
}

/* ==========================================================================
   Dropdown / Submenu — mörkt tema
   ========================================================================== */

/* Elementor standard nav dropdown */
.elementor-nav-menu--dropdown,
.elementor-nav-menu__container,
.elementor-nav-menu--dropdown .sub-menu,
.elementor-nav-menu .sub-menu {
    background-color: var(--bg-surface) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

.elementor-nav-menu--dropdown a,
.elementor-nav-menu--dropdown .sub-menu a,
.elementor-nav-menu .sub-menu a,
.elementor-nav-menu--dropdown li a {
    color: var(--text-primary) !important;
    padding: 10px 20px !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

.elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown .sub-menu a:hover,
.elementor-nav-menu .sub-menu a:hover {
    color: var(--accent-green) !important;
    background-color: var(--bg-hover) !important;
}

/* JetMenu dropdown */
.jet-menu .jet-menu__sub-menu,
.jet-menu__sub-menu,
.jet-mobile-menu__list,
.jet-menu-mega-container,
.jet-menu .sub-menu,
.jet-desktop-menu .sub-menu,
.jet-desktop-menu__sub-menu,
ul.jet-menu-item__sub-menu {
    background-color: var(--bg-surface) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

.jet-menu .jet-menu__sub-menu a,
.jet-menu__sub-menu a,
.jet-mobile-menu__list a,
.jet-menu-mega-container a,
.jet-menu .sub-menu a,
.jet-desktop-menu .sub-menu a,
.jet-desktop-menu__sub-menu a {
    color: var(--text-primary) !important;
}

.jet-menu .jet-menu__sub-menu a:hover,
.jet-menu__sub-menu a:hover,
.jet-menu .sub-menu a:hover,
.jet-desktop-menu .sub-menu a:hover {
    color: var(--accent-green) !important;
    background-color: var(--bg-hover) !important;
}

/* Mobile menu (hamburger) */
.elementor-menu-toggle {
    color: var(--text-primary) !important;
}

.elementor-nav-menu--toggle .elementor-nav-menu--dropdown {
    background-color: var(--bg-surface) !important;
}

/* WP standard nav fallback */
.primary-menu .sub-menu,
.main-navigation .sub-menu,
nav .sub-menu {
    background-color: var(--bg-surface) !important;
    border: 1px solid var(--border-subtle) !important;
}

.primary-menu .sub-menu a,
.main-navigation .sub-menu a,
nav .sub-menu a {
    color: var(--text-primary) !important;
}

.primary-menu .sub-menu a:hover,
.main-navigation .sub-menu a:hover,
nav .sub-menu a:hover {
    color: var(--accent-green) !important;
    background-color: var(--bg-hover) !important;
}

/* Cart icon i header (WooCommerce) */
.elementor-location-header .eicon-cart-medium,
.elementor-location-header .elementor-menu-cart__toggle-button,
header .elementor-button-icon {
    color: var(--text-primary) !important;
}

.elementor-menu-cart__main,
.elementor-menu-cart__products {
    background-color: var(--bg-surface) !important;
    color: var(--text-primary) !important;
}

/* Footer */
.elementor-location-footer {
    background-color: var(--bg-surface);
    border-top: 1px solid var(--border-subtle);
}

/* Ljusa sektioner (undantag) */
.section-light {
    background-color: #FAFAF7 !important;
}

.section-light,
.section-light .elementor-widget-container,
.section-light .elementor-widget-container p,
.section-light .elementor-widget-container a {
    color: #1A1A1A;
}

/* WooCommerce mörkt tema */
.woocommerce .products .product {
    background: var(--bg-surface);
    border: 0.5px solid var(--border-subtle);
    border-radius: var(--radius-md);
}

.woocommerce .products .product .woocommerce-loop-product__title,
.woocommerce .products .product .price {
    color: var(--text-primary);
}

/* Formulär */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="password"],
textarea,
select {
    background-color: var(--bg-surface);
    color: var(--text-primary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    padding: 10px 14px;
    transition: border-color 0.2s ease;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--accent-green);
    outline: none;
    box-shadow: 0 0 0 3px var(--accent-green-glow);
}

/* Skip-to-content (accessibility) */
.skip-to-content {
    position: absolute;
    top: -100%;
    left: 0;
    background: var(--accent-green);
    color: var(--bg-primary);
    padding: 12px 24px;
    font-weight: 600;
    z-index: 10000;
    transition: top 0.2s ease;
}

.skip-to-content:focus {
    top: 0;
}

/* Fokusindikatorer (accessibility — WCAG 2.1 AA) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--accent-green);
    outline-offset: 2px;
}

/* Animated link underline (Fas 4.5 spec) */
a.animated-link {
    position: relative;
}

a.animated-link::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--accent-green);
    transition: width 0.3s ease;
}

a.animated-link:hover::after {
    width: 100%;
}

/* Hide WooCommerce cart in header (personal blog, no shop) */
.elementor-widget-woocommerce-menu-cart {
    display: none !important;
}
