/*
Theme Name: RustPlugins 3.3.7
Theme URI: https://rustplugins.de
Author: Rene
Author URI: https://rustplugins.de
Description: Custom Tailwind CSS Dark-Mode Theme for rustplugins.de Marketplace (Commerce & Dokan Ready).
Version: 3.3.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rustplugins
Tags: dark-mode, neon, woocommerce, full-site-editing
*/

/* -----------------------------------------
   Final Checkout Button Override (Forced Visibility)
   ----------------------------------------- */
#page #payment #place_order,
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order,
.wc-proceed-to-checkout .checkout-button {
    background: #13ec37 !important;
    color: #000 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    padding: 15px !important;
    box-shadow: 0 0 15px rgba(19, 236, 55, 0.4) !important;
}

#page #payment #place_order:hover {
    background-color: #ffffff !important;
    color: #102213 !important;
}

/* 
 * Base Styles & WooCommerce Overrides 
 * The main CSS is handled via Tailwind CSS in header.php 
 */

body {
    background-color: #102213; /* Dark Forest Green */
    color: #ffffff;
}

/* Base Neon Button Glow */
.woocommerce #respond input#submit.alt, 
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt {
    background-color: #13ec37;
    color: #102213;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
    border: none;
    border-radius: 0.5rem;
    font-weight: bold;
}

.woocommerce #respond input#submit.alt:hover, 
.woocommerce a.button.alt:hover, 
.woocommerce button.button.alt:hover, 
.woocommerce input.button.alt:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
    transform: translateY(-2px);
    background-color: #13ec37;
    color: #102213;
    opacity: 0.9;
}

/* OnSale Badge */
.woocommerce span.onsale {
    background-color: #13ec37;
    color: #102213;
    font-weight: bold;
    border-radius: 0.25rem;
    box-shadow: none;
    min-height: auto;
    min-width: auto;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    line-height: 1;
}

/* Price Color */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price, 
.woocommerce div.product span.price {
    color: #13ec37;
    font-weight: bold;
    text-shadow: none;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.woocommerce ul.products li.product .price del {
    color: #8fac92;
    font-size: 0.75em;
    font-weight: normal;
    opacity: 0.7;
    margin-right: 0.5rem;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins,
.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    color: #13ec37;
    font-weight: 800;
}

/* Star Rating */
.woocommerce .star-rating span::before {
    color: #13ec37;
    text-shadow: none;
}

/* Custom Text Glow Utility (Deprecated, removing effect but keeping class) */
.text-glow {
    text-shadow: none;
}

/* Custom Border Glow Utility (Deprecated) */
.border-glow {
    box-shadow: none;
}

/* -----------------------------------------
   WCFM / Vendor Dashboard Custom Styling
   (Based on "upload.png" Reference)
   ----------------------------------------- */
   
/* Main Container Override */
#wcfm-main-contentainer {
    background-color: transparent !important;
    color: #ffffff !important;
    padding: 20px 0;
    box-shadow: none !important;
    border: none !important;
}

#wcfm-main-contentainer .wcfm-page-headig,
#wcfm-main-contentainer h1, 
#wcfm-main-contentainer h2, 
#wcfm-main-contentainer h3, 
#wcfm-main-contentainer h4, 
#wcfm-main-contentainer h5, 
#wcfm-main-contentainer h6 {
    color: #ffffff !important;
    font-weight: 800;
}

#wcfm-main-contentainer p, 
#wcfm-main-contentainer span, 
#wcfm-main-contentainer div, 
#wcfm-main-contentainer label {
    color: #8fac92 !important;
}

/* Dashboard Panels / Cards */
.wcfm-container,
#wcfm-main-contentainer .wcfm-container,
.wcfm_views_container {
    background-color: rgba(19, 236, 55, 0.05) !important; /* Extremely subtle green bg */
    border: 1px solid rgba(19, 236, 55, 0.1) !important; 
    border-radius: 0.75rem !important; 
    margin-bottom: 2rem !important;
    padding: 1.5rem !important;
    box-shadow: none !important;
}

/* Keep headers inside panels colored correct */
.wcfm-container .wcfm_title,
.wcfm-container h2,
.wcfm-container h3 {
    color: #ffffff !important;
    border-bottom: none !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1.5rem !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.wcfm-container .wcfm_title::before {
    content: "settings_input_component";
    font-family: 'Material Symbols Outlined';
    color: #13ec37;
}

/* Form Inputs */
#wcfm-main-contentainer input[type="text"],
#wcfm-main-contentainer input[type="number"],
#wcfm-main-contentainer input[type="email"],
#wcfm-main-contentainer input[type="password"],
#wcfm-main-contentainer select,
#wcfm-main-contentainer textarea,
.wcfm-text, .wcfm-select, .wcfm-textarea {
    background-color: #102213 !important; 
    color: #ffffff !important;
    border: 1px solid rgba(19, 236, 55, 0.2) !important; 
    padding: 0.75rem 1rem !important;
    border-radius: 0.5rem !important; 
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease;
    outline: none !important;
}

#wcfm-main-contentainer input:focus,
#wcfm-main-contentainer select:focus,
#wcfm-main-contentainer textarea:focus {
    border-color: #13ec37 !important;
    box-shadow: 0 0 0 2px rgba(19, 236, 55, 0.2) !important;
}

/* Labels */
#wcfm-main-contentainer label {
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
    color: #d1e0d3 !important; 
}

/* WCFM Submit & Publish Buttons */
#wcfm-main-contentainer button,
#wcfm-main-contentainer input[type="submit"],
#wcfm-main-contentainer .wcfm_submit_button,
input[type="submit"].wcfm_submit_button {
    background-color: #13ec37 !important;
    color: #102213 !important;
    border: none !important;
    padding: 1rem 2rem !important; 
    font-weight: 900 !important;
    font-size: 1.125rem !important;
    border-radius: 0.75rem !important;
    cursor: pointer;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5) !important;
    transition: all 0.3s ease !important;
    width: 100% !important; 
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1rem !important;
}

#wcfm-main-contentainer button:hover,
#wcfm-main-contentainer input[type="submit"]:hover,
#wcfm-main-contentainer .wcfm_submit_button:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-2px);
    opacity: 0.9 !important;
}

/* Add an icon to the publish button via pseudo-element */
input[type="submit"].wcfm_submit_button::before {
    content: "rocket_launch";
    font-family: 'Material Symbols Outlined';
    margin-right: 8px;
    font-weight: normal;
}

/* WCFM Notice/Messages */
#wcfm-main-contentainer .wcfm-message {
    background-color: rgba(19, 236, 55, 0.05) !important;
    border-left: 4px solid #13ec37 !important;
    color: #ffffff !important;
}

/* Media Uploader Zone specifically */
.wcfm_gallery_upload, .wcfm-wp-fields-uploader {
    border: 2px dashed rgba(19, 236, 55, 0.2) !important;
    background-color: rgba(19, 236, 55, 0.05) !important;
    border-radius: 0.75rem !important;
    padding: 2rem !important;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.wcfm_gallery_upload:hover, .wcfm-wp-fields-uploader:hover {
    border-color: #13ec37 !important;
}

/* -----------------------------------------
   WooCommerce Login & Register Forms
   ----------------------------------------- */
   
/* -----------------------------------------
   WooCommerce Login & Register Forms
   ----------------------------------------- */
   
/* Container for the split forms (if both are enabled) */
.woocommerce-account .u-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 2rem;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
    flex: 1;
    min-width: 300px;
    background-color: rgba(19, 236, 55, 0.05); /* Very subtle green tint to match original cards */
    padding: 2.5rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(19, 236, 55, 0.1);
    box-shadow: none;
}

/* Fallback if only one form is shown */
.woocommerce-account .woocommerce-form-login:not(.u-column1 .woocommerce-form-login) {
    max-width: 500px;
    margin: 3rem auto;
    background-color: rgba(19, 236, 55, 0.05);
    padding: 2.5rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(19, 236, 55, 0.1);
    box-shadow: none;
}

.woocommerce-account h2 {
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    text-shadow: none;
}

/* Form Inputs */
.woocommerce form .form-row {
    margin-bottom: 1.5rem;
}

.woocommerce form .form-row label {
    display: block;
    color: #8fac92; /* Muted Green text */
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="password"] {
    width: 100%;
    background-color: #102213;
    color: #ffffff;
    border: 1px solid rgba(19, 236, 55, 0.2);
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    outline: none;
    transition: all 0.3s ease;
}

.woocommerce form .form-row input[type="text"]:focus,
.woocommerce form .form-row input[type="email"]:focus,
.woocommerce form .form-row input[type="password"]:focus {
    border-color: #13ec37;
    box-shadow: 0 0 0 2px rgba(19, 236, 55, 0.2);
}

/* Checkboxes (Remember me etc) */
.woocommerce form .form-row label.inline {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #8fac92;
    cursor: pointer;
}

.woocommerce form input[type="checkbox"] {
    accent-color: #13ec37;
    width: 1rem;
    height: 1rem;
    background-color: #102213;
    border: 1px solid rgba(19, 236, 55, 0.5);
    border-radius: 0.25rem;
    cursor: pointer;
}

/* Buttons inside woo forms */
.woocommerce form .form-row button[type="submit"] {
    background-color: #13ec37 !important;
    color: #102213 !important;
    border: none;
    padding: 0.75rem 1.5rem;
    font-weight: 800;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
    cursor: pointer;
    width: 100%; /* Full width button */
    margin-top: 1rem;
}

.woocommerce form .form-row button[type="submit"]:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
    transform: translateY(-2px);
    opacity: 0.9 !important;
}

/* Lost Password Link */
.woocommerce form .lost_password {
    text-align: center;
    margin-top: 1rem;
}

.woocommerce form .lost_password a {
    color: #13ec37;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.3s ease;
}

.woocommerce form .lost_password a:hover {
    color: #ffffff;
    text-decoration: underline;
}

/* -----------------------------------------
   WCFM Vendor Registration & Login Forms
   (Für die WCFM specific /store-manager/ Seiten)
   ----------------------------------------- */
#wcfm_membership_container,
#wcfm_login_form,
.wcfm-membership-wrapper {
    background-color: rgba(19, 236, 55, 0.05) !important;
    padding: 2.5rem !important;
    border-radius: 0.75rem !important;
    border: 1px solid rgba(19, 236, 55, 0.1) !important;
    box-shadow: none !important;
    max-width: 600px;
    margin: 3rem auto;
}

#wcfm_membership_container .wcfm_membership_title,
#wcfm_login_form h2,
.wcfm-membership-wrapper h2 {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    margin-bottom: 1.5rem !important;
    text-shadow: none !important;
    border-bottom: none !important;
}

/* WCFM Form Inputs */
#wcfm_membership_container input[type="text"],
#wcfm_membership_container input[type="email"],
#wcfm_membership_container input[type="password"],
#wcfm_membership_container select,
#wcfm_login_form input[type="text"],
#wcfm_login_form input[type="password"] {
    width: 100% !important;
    background-color: #102213 !important;
    color: #ffffff !important;
    border: 1px solid rgba(19, 236, 55, 0.2) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0.5rem !important;
    outline: none !important;
    transition: all 0.3s ease !important;
    margin-bottom: 1rem !important;
    box-sizing: border-box !important;
}

#wcfm_membership_container input:focus,
#wcfm_membership_container select:focus,
#wcfm_login_form input:focus {
    border-color: #13ec37 !important;
    box-shadow: 0 0 0 2px rgba(19, 236, 55, 0.2) !important;
}

/* WCFM Form Labels */
#wcfm_membership_container label,
#wcfm_login_form label,
.wcfm-membership-wrapper label {
    display: block !important;
    color: #8fac92 !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.5rem !important;
}

/* WCFM Buttons */
#wcfm_membership_container input[type="submit"],
#wcfm_login_form input[type="submit"],
#wcfm_login_form button,
.wcfm-membership-wrapper input[type="submit"] {
    background-color: #13ec37 !important;
    color: #102213 !important;
    border: none !important;
    padding: 0.75rem 1.5rem !important;
    font-weight: 800 !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5) !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 1rem !important;
}

#wcfm_membership_container input[type="submit"]:hover,
#wcfm_login_form input[type="submit"]:hover,
#wcfm_login_form button:hover,
.wcfm-membership-wrapper input[type="submit"]:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-2px);
    opacity: 0.9 !important;
}

#reviews {
    color: #8fac92;
}

#reviews h2, #reviews h3 {
    color: #ffffff;
    font-weight: 800;
    margin-bottom: 1rem;
}

/* Review Comments List */
.woocommerce-Reviews .commentlist {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
}

.woocommerce-Reviews .commentlist li {
    background-color: rgba(19, 236, 55, 0.05);
    border: 1px solid rgba(19, 236, 55, 0.1);
    border-radius: 0.75rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.woocommerce-Reviews .commentlist img.avatar {
    border-radius: 50%;
    border: 2px solid #13ec37;
    float: left;
    margin-right: 1rem;
    width: 48px;
    height: 48px;
}

.woocommerce-Reviews .comment-text {
    margin-left: 60px;
}

.woocommerce-Reviews .meta {
    color: #ffffff;
    font-weight: bold;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}

.woocommerce-Reviews .meta time {
    color: #8fac92;
    font-weight: normal;
    font-size: 0.75rem;
    margin-left: 0.5rem;
}

/* Comment Form */
#review_form_wrapper {
    background-color: rgba(19, 236, 55, 0.05);
    border: 1px solid rgba(19, 236, 55, 0.1);
    border-radius: 0.75rem;
    padding: 2rem;
    margin-top: 2rem;
}

.comment-respond .comment-reply-title {
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 1rem;
    display: block;
}

.comment-form p {
    margin-bottom: 1rem;
}

.comment-form label {
    display: block;
    color: #8fac92;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
    width: 100%;
    background-color: #102213 !important;
    color: #ffffff !important;
    border: 1px solid rgba(19, 236, 55, 0.2) !important;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    outline: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form textarea:focus {
    border-color: #13ec37 !important;
    box-shadow: 0 0 0 2px rgba(19, 236, 55, 0.2) !important;
}

.comment-form .stars {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.comment-form .stars a {
    color: #13ec37;
    text-decoration: none;
    font-weight: bold;
}

.comment-form input[type="submit"] {
    background-color: #13ec37 !important;
    color: #102213 !important;
    border: none !important;
    padding: 0.75rem 2rem !important;
    font-weight: 800 !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5) !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    margin-top: 1rem;
}

.comment-form input[type="submit"]:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-2px);
    opacity: 0.9 !important;
}

/* -----------------------------------------
   WCFM Store Manager (Main Dashboard) Dark Mode Fixes
   ----------------------------------------- */
#wcfm-main-contentainer,
.wcfm-container,
.wcfm-page-headig,
.wcfm_datatable,
.wcfm_datatable th,
.wcfm_datatable td,
.dataTables_wrapper,
.wcfm-collapse,
.wcfm_ele_wrapper,
.wcfm-top_elements {
    background-color: transparent !important;
    background: transparent !important;
    color: #ffffff !important;
    border-color: rgba(19, 236, 55, 0.1) !important;
}

.wcfm-container {
    background-color: rgba(19, 236, 55, 0.03) !important;
    border: 1px solid rgba(19, 236, 55, 0.1) !important;
    border-radius: 0.75rem !important;
    padding: 1.5rem !important;
    margin-bottom: 2rem !important;
    box-shadow: none !important;
}

/* WCFM Tables specifically */
.wcfm_datatable {
    border: none !important;
}

.wcfm_datatable thead th {
    background-color: #102213 !important;
    color: #8fac92 !important;
    font-weight: 800 !important;
    border-bottom: 1px solid rgba(19, 236, 55, 0.1) !important;
    padding: 1rem !important;
}

.wcfm_datatable tbody td {
    background-color: transparent !important;
    border-bottom: 1px solid rgba(19, 236, 55, 0.05) !important;
    color: #ffffff !important;
    padding: 1rem !important;
}

.wcfm_datatable tbody tr:hover td {
    background-color: rgba(19, 236, 55, 0.05) !important;
}

/* WCFM Action Buttons within Tables */
.wcfm-action-icon,
.wcfm_datatable a.wcfm-action-icon {
    color: #13ec37 !important;
    background-color: rgba(19, 236, 55, 0.1) !important;
    border-radius: 50% !important;
    padding: 0.5rem !important;
    transition: all 0.3s ease !important;
}

.wcfm-action-icon:hover {
    background-color: #13ec37 !important;
    color: #102213 !important;
}

/* WCFM Top Filters (Buttons, Selects, Inputs) */
.wcfm-top_elements, .wcfm-page-headig {
    background-color: rgba(19, 236, 55, 0.03) !important;
    border-bottom: 1px solid rgba(19, 236, 55, 0.1) !important;
    border-radius: 0.75rem !important;
    padding: 1rem !important;
    margin-bottom: 2rem !important;
}

.wcfm-top_elements a, 
.wcfm-top_elements input[type="button"],
.wcfm_dashboard_action_links a {
    background-color: #13ec37 !important;
    color: #102213 !important;
    padding: 0.5rem 1rem !important;
    border-radius: 0.5rem !important;
    font-weight: 800 !important;
    border: none !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
    transition: all 0.3s ease !important;
}

.wcfm-top_elements select,
.wcfm-top_elements input[type="text"] {
    background-color: #102213 !important;
    color: #ffffff !important;
    border: 1px solid rgba(19, 236, 55, 0.2) !important;
    border-radius: 0.5rem !important;
    padding: 0.5rem 1rem !important;
}

/* -----------------------------------------
   WooCommerce My Account Navigation & UI
   ----------------------------------------- */
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 2rem 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 0.75rem 1.25rem;
    background-color: rgba(19, 236, 55, 0.05);
    border: 1px solid rgba(19, 236, 55, 0.1);
    color: #8fac92;
    border-radius: 0.5rem;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: rgba(19, 236, 55, 0.15);
    border-color: #13ec37;
    color: #13ec37;
    box-shadow: inset 4px 0 0 0 #13ec37;
}

.woocommerce-MyAccount-content {
    background-color: rgba(19, 236, 55, 0.02);
    border: 1px solid rgba(19, 236, 55, 0.05);
    padding: 2rem;
    border-radius: 0.75rem;
}

/* Ensure WooCommerce Forms in My Account look great */
.woocommerce-MyAccount-content fieldset {
    border: 1px solid rgba(19, 236, 55, 0.1);
    padding: 1.5rem;
    border-radius: 0.75rem;
    margin-bottom: 2rem;
    background: transparent;
}
.woocommerce-MyAccount-content legend {
    color: #ffffff;
    font-weight: bold;
    font-size: 1.25rem;
    padding: 0 0.5rem;
}

/* -----------------------------------------
   Global WooCommerce Buttons
   ----------------------------------------- */
.woocommerce button.button,
.woocommerce-page button.button,
.woocommerce input.button,
.woocommerce-page input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce-page a.button {
    background-color: #13ec37 !important;
    color: #102213 !important;
    border: none !important;
    padding: 0.75rem 1.5rem !important;
    font-weight: 800 !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5) !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.woocommerce button.button:hover,
.woocommerce-page button.button:hover,
.woocommerce input.button:hover,
.woocommerce-page input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce-page a.button:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-2px);
    opacity: 0.9 !important;
}

/* -----------------------------------------
   WooCommerce Notices & Alerts
   ----------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background-color: #102213 !important;
    border: 1px solid #13ec37 !important;
    border-left: 5px solid #13ec37 !important;
    color: #ffffff !important;
    border-radius: 0.75rem !important;
    padding: 1.25rem 1.5rem 1.25rem 3.5rem !important;
    margin-bottom: 2rem !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5) !important;
}

.woocommerce-error {
    border-color: #ef4444 !important;
    border-left-color: #ef4444 !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: #13ec37 !important;
    top: 1.25rem !important;
    left: 1.25rem !important;
}

.woocommerce-error::before {
    color: #ef4444 !important;
    top: 1.25rem !important;
    left: 1.25rem !important;
}

/* Notice Action Buttons (e.g. View Cart) */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
    background-color: rgba(19, 236, 55, 0.1) !important;
    color: #13ec37 !important;
    border: 1px solid #13ec37 !important;
    box-shadow: none !important;
    padding: 0.5rem 1rem !important;
    float: right;
    margin-top: -0.25rem;
}

.woocommerce-message .button:hover {
    background-color: #13ec37 !important;
    color: #102213 !important;
    transform: none !important;
}

/* -----------------------------------------
   Global WooCommerce Forms & Inputs
   (Kasse, Warenkorb, Mein Konto)
   ----------------------------------------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
#vendor_description {
    background-color: #102213 !important;
    color: #ffffff !important;
    border: 1px solid rgba(19, 236, 55, 0.2) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0.5rem !important;
    outline: none !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 0.5rem !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
#vendor_description:focus {
    border-color: #13ec37 !important;
    box-shadow: 0 0 0 2px rgba(19, 236, 55, 0.2) !important;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    color: #8fac92 !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
}

/* Checkout specific fix - address boxes */
.select2-container--default .select2-selection--single {
    background-color: #102213 !important;
    border: 1px solid rgba(19, 236, 55, 0.2) !important;
    border-radius: 0.5rem !important;
    height: auto !important;
    padding: 0.5rem 0.5rem !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #ffffff !important;
    line-height: 1.5 !important;
}
.select2-container--default .select2-results__option {
    background-color: #102213 !important;
    color: #ffffff !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #13ec37 !important;
    color: #102213 !important;
}

/* -----------------------------------------
   Warenkorb (Cart) & Checkout Buttons
   ----------------------------------------- */
.woocommerce a.checkout-button,
.woocommerce-page a.checkout-button,
.woocommerce #respond input#submit.alt, 
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout button#place_order {
    background-color: #13ec37 !important;
    color: #102213 !important;
    border: none !important;
    padding: 1rem 2rem !important;
    font-weight: 900 !important;
    font-size: 1.125rem !important;
    border-radius: 0.75rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5) !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    display: inline-block !important;
    text-align: center !important;
}

.woocommerce a.checkout-button:hover,
.woocommerce-page a.checkout-button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout button#place_order:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-2px) !important;
    opacity: 0.9 !important;
}

/* -----------------------------------------
   Abmelden (Logout) Button in My Account
   ----------------------------------------- */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #ef4444 !important; /* Red text */
    border-color: rgba(239, 68, 68, 0.2) !important;
    background-color: rgba(239, 68, 68, 0.05) !important;
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background-color: rgba(239, 68, 68, 0.15) !important;
    border-color: #ef4444 !important;
    color: #ef4444 !important;
    box-shadow: inset 4px 0 0 0 #ef4444 !important;
}

/* -----------------------------------------
   WooCommerce Login & Register Forms
   ----------------------------------------- */
.woocommerce form.login,
.woocommerce form.register {
    background-color: #102213 !important;
    border: 1px solid rgba(19, 236, 55, 0.2) !important;
    padding: 2.5rem !important;
    border-radius: 1rem !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5) !important;
    margin-bottom: 2rem !important;
}

.woocommerce form.login > h2,
.woocommerce form.register > h2,
.u-columns.col2-set h2 {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* -----------------------------------------
   Extra-Forced Checkout & Cart Buttons
   ----------------------------------------- */
.woocommerce a.checkout-button,
.woocommerce-page a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order,
.woocommerce-checkout input#place_order {
    background: #13ec37 !important;
    background-color: #13ec37 !important;
    color: #102213 !important;
    border: 2px solid #13ec37 !important;
    padding: 1.25rem 2.5rem !important;
    font-weight: 900 !important;
    font-size: 1.25rem !important;
    border-radius: 0.75rem !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin-top: 1rem !important;
    box-shadow: 0 0 15px rgba(19, 236, 55, 0.4) !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout button#place_order:hover {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.6) !important;
    transform: translateY(-2px) !important;
}

.woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    color: #8fac92 !important;
}

.woocommerce-LostPassword a {
    color: #13ec37 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.woocommerce-LostPassword a:hover {
    text-decoration: underline !important;
    text-shadow: 0 0 8px rgba(19, 236, 55, 0.4) !important;
}

/* Form Layout fixes for Login / Register flexbox */
.u-columns.col2-set {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin: 0;
}

.u-columns.col2-set .u-column1.col-1, 
.u-columns.col2-set .u-column2.col-2 {
    flex: 1 1 300px;
    padding: 0;
    float: none !important;
    width: auto !important;
}

/*
==========================================================================
   DOKAN MULTI-VENDOR DARK MODE (REFINED v3.3.2)
   ========================================================================== */

/* Full Body & Container Overrides */
.dokan-dashboard,
.dokan-dashboard-wrap,
.dokan-dashboard-content,
.dokan-dashboard-content article,
.dokan-dashboard .dokan-dash-sidebar,
.dokan-admin-settings,
.dokan-settings-content,
.dokan-page-settings {
    background: var(--background-dark) !important;
    color: var(--text-high) !important;
}

/* Specific Fix for Dokan Settings Fields (White Boxes) */
.dokan-settings-content select,
.dokan-settings-content input[type="text"],
.dokan-settings-content .dokan-form-control,
.dokan-settings-content .dokan-settings-field select {
    background: var(--background-dark) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    color: var(--text-high) !important;
    border-radius: 0.5rem !important;
}

.dokan-settings-content .dokan-panel {
    background: var(--surface) !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-radius: 1.5rem !important;
}

.dokan-settings-content .dokan-btn-primary {
    background: var(--primary) !important;
    color: var(--background-dark) !important;
    border: none !important;
    font-weight: 800 !important;
    border-radius: 0.5rem !important;
}

/* 
==========================================================================
   MODERN DOKAN DASHBOARD OVERRIDES (v3.3.3)
   ========================================================================== */

/* DataViews & Modern Layout (Found in vendor-dashboard/layout/index.css) */
.dataviews-wrapper,
.dataviews-picker-wrapper,
.woocommerce-layout__main,
.components-card,
.components-card__body,
.components-card__header,
.components-card__footer,
.dataviews-view-grid .dataviews-view-grid__card,
.dataviews-view-grid .dataviews-view-grid__media,
.dataviews-footer,
.dataviews-pagination,
.dataviews-filters__container,
.dataviews__view-actions {
    background: var(--background-dark) !important;
    background-color: var(--background-dark) !important;
    color: var(--text-high) !important;
    border-color: rgba(255,255,255,0.05) !important;
}

/* Table Design (v3.3.3) */
.dataviews-view-table,
.dataviews-view-table thead th,
.dataviews-view-table tbody td,
.dataviews-view-table-header-button {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--text-high) !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}

.dataviews-view-table tr:hover,
.dataviews-view-table tr.is-hovered,
.dataviews-view-list div[role=row]:hover,
.dataviews-view-list div[role=article]:hover {
    background-color: var(--surface) !important;
}

/* Selected States & Accents (v3.3.3) */
.dataviews-view-grid .dataviews-view-grid__card.is-selected,
.dataviews-view-table tr.is-selected,
.dataviews-view-list div[role=row].is-selected {
    background-color: rgba(19,236,55,0.05) !important;
    border-left: 3px solid var(--primary) !important;
}

.dataviews-filters__summary-chip.has-values {
    background: rgba(19,236,55,0.1) !important;
    color: var(--primary) !important;
    border-color: var(--primary) !important;
}

/* Summary Box & Charts (Found in vendor-dashboard/reports/index.css) */
.woocommerce-summary,
.woocommerce-summary__item,
.woocommerce-chart,
.woocommerce-chart__header {
    background: var(--surface) !important;
    color: var(--text-high) !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-radius: 1rem !important;
}

.woocommerce-summary .woocommerce-summary__item.is-selected {
    box-shadow: inset 0 4px 0 var(--primary) !important;
    background: var(--background-dark) !important;
}

/* Popovers & Modals */
.components-popover__content,
.components-modal__frame,
.components-dropdown__content .components-popover__content {
    background: var(--surface) !important;
    color: var(--text-high) !important;
    border: 1px solid var(--primary) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
}

/* Specific Sidebar Overrides */
.dokan-dashboard .dokan-dash-sidebar {
    background: var(--surface) !important;
    border-right: 1px solid rgba(255,255,255,0.05) !important;
}

.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a {
    color: var(--text-muted) !important;
    border-bottom: 1px solid rgba(255,255,255,0.02) !important;
}

.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li.active a,
.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a:hover {
    background: var(--background-dark) !important;
    color: var(--primary) !important;
}

/* Dashboard Widgets & Cards (The white boxes) */
.dokan-dashboard-content .dashboard-widget,
.dokan-dashboard-content .dokan-widget,
.dokan-dashboard-content .dokan-panel,
.dokan-dashboard-content .dokan-w12,
.dokan-dashboard-content .dokan-w6,
.dokan-dashboard-content .dokan-w8,
.dokan-dashboard-content .dokan-w4,
.dokan-dashboard-content .dokan-dashboard-menu-report {
    background: var(--surface) !important;
    border: 1px solid var(--surface) !important;
    border-radius: 1.5rem !important;
    color: var(--text-high) !important;
}

.dokan-dashboard-content .dokan-widget .widget-title,
.dokan-dashboard-content .dashboard-widget .widget-title,
.dokan-dashboard-content .dokan-panel-heading {
    background: rgba(255,255,255,0.02) !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    color: var(--primary) !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    border-radius: 1.5rem 1.5rem 0 0 !important;
}

/* Specific Stats Boxes (Dokan 3.0+) */
.dokan-dashboard-content .dokan-dashboard-menu-report ul li {
    background: var(--background-dark) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    color: var(--text-high) !important;
    border-radius: 1rem !important;
}

.dokan-dashboard-content .dokan-dashboard-menu-report ul li .title,
.dokan-dashboard-content .dokan-dashboard-menu-report ul li .count {
    color: var(--text-high) !important;
}

/* Charts & Graphs Area */
.dokan-dashboard-content #dashboard-chart-container,
.dokan-dashboard-content .chart-container {
    background: var(--background-dark) !important;
    border-radius: 1rem !important;
    padding: 1.5rem !important;
}

/* All Form Control & Inputs */
.dokan-dashboard-content .dokan-form-control,
.dokan-dashboard-content input[type="text"],
.dokan-dashboard-content input[type="number"],
.dokan-dashboard-content input[type="email"],
.dokan-dashboard-content input[type="url"],
.dokan-dashboard-content textarea,
.dokan-dashboard-content select {
    background: var(--background-dark) !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    color: var(--text-high) !important;
    border-radius: 0.75rem !important;
}

.dokan-dashboard-content .dokan-btn-theme {
    background: var(--primary) !important;
    color: var(--background-dark) !important;
    border: none !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    border-radius: 0.75rem !important;
    transition: all 0.3s ease !important;
}

.dokan-dashboard-content .dokan-btn-theme:hover {
    box-shadow: 0 0 20px var(--primary) !important;
    transform: translateY(-2px) !important;
}

/* Tables */
.dokan-dashboard-content .dokan-table {
    border: none !important;
    background: var(--surface) !important;
}

.dokan-dashboard-content .dokan-table thead tr th {
    background: rgba(255,255,255,0.02) !important;
    color: var(--primary) !important;
    border-bottom: 1px solid var(--surface) !important;
    font-weight: 900 !important;
    letter-spacing: 0.05em !important;
}

.dokan-dashboard-content .dokan-table tbody tr td {
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,0.02) !important;
    color: var(--text-muted) !important;
}

/* Vendor Dashboard - Notifications / Alerts */
.dokan-dashboard .dokan-alert-info,
.dokan-dashboard .dokan-alert-warning {
    background: #1a331c !important; /* Darkened Surface */
    border: 1px solid var(--primary) !important;
    color: var(--primary) !important;
    border-radius: 1rem !important;
}

/* Dokan Seller Registration Form (in My Account) */
.dokan-seller-role {
    margin: 1.5rem 0 !important;
}

.dokan-seller-role label {
    color: var(--text-muted) !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

.dokan-seller-role input[type="radio"] {
    accent-color: var(--primary) !important;
}

.show_if_seller {
    margin-top: 2rem !important;
    padding: 2rem !important;
    background: rgba(255,236,55,0.02) !important; /* Slight Primary Tint */
    border: 2px dashed var(--primary) !important;
    border-radius: 1.5rem !important;
}

.show_if_seller h4 {
    color: var(--primary) !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    margin-bottom: 1.5rem !important;
}

/* Dokan Setup Wizard (Special Target) */
body.dokan-setup .dokan-setup-content,
body.dokan-setup .dokan-setup-steps,
body.dokan-setup div#dokan-setup-wizard {
    background: var(--background-dark) !important;
}

body.dokan-setup .dokan-setup-content {
    background: var(--surface) !important;
    border: 1px solid var(--surface) !important;
    color: var(--text-high) !important;
    border-radius: 2rem !important;
}

body.dokan-setup .dokan-setup-content h1 {
    color: var(--primary) !important;
}

body.dokan-setup .dokan-setup-footer a {
    color: var(--text-muted) !important;
}

/* Global Dokan Overrides */
select.dokan-form-control {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%238fac92'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.5rem center !important;
    background-size: 1.5em 1.5em !important;
    padding-right: 2.5rem !important;
}

/* 
==========================================================================
   DOKAN VENDOR REGISTRATION STYLING (v3.3.4)
   ========================================================================== */

/* Force single column for WooCommerce Account Forms */
.woocommerce-account .u-columns.grid,
.woocommerce-account .grid.grid-cols-2 {
    display: block !important;
    max-width: 500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.woocommerce-account .u-column2 {
    margin-top: 2rem;
}

/* Dokan Radio Buttons & Labels */
.register .dokan-vendor-user-role {
    background: rgba(19,236,55,0.05) !important;
    padding: 1.5rem !important;
    border-radius: 1rem !important;
    border: 1px solid rgba(19,236,55,0.1) !important;
    margin: 1rem 0 !important;
}

.register .dokan-vendor-user-role label {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    color: var(--text-high) !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    padding: 0.5rem 0 !important;
    margin: 0 !important;
}

.register .dokan-vendor-user-role input[type="radio"] {
    accent-color: var(--primary) !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
    cursor: pointer !important;
}

/* Dokan Vendor Registration specific fields */
.dokan-seller-address-fields,
.register .show_if_seller {
    background: var(--background-dark) !important;
    padding: 1rem !important;
    border-radius: 0.75rem !important;
    border-left: 3px solid var(--primary) !important;
    margin-top: 1rem !important;
}

.register .show_if_seller p {
    margin-bottom: 1rem !important;
}

.register .show_if_seller label {
    margin-bottom: 0.25rem !important;
}

/* 
==========================================================================
   DOKAN INTERNAL FORM OVERRIDES (v3.3.5)
   ========================================================================== */

.dokan-form-container,
.dokan-form-group,
.dokan-form-control {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--text-high) !important;
}

.dokan-form-container input.dokan-form-control,
.dokan-form-container select,
.dokan-form-container textarea {
    background-color: var(--background-dark) !important;
    color: var(--text-high) !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-radius: 0.75rem !important;
    padding: 0.75rem 1rem !important;
}

.dokan-form-container input.dokan-form-control:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 2px rgba(19,236,55,0.1) !important;
}

.dokan-btn-theme,
.dokan-btn-theme:hover,
.dokan-btn-theme:focus {
    background-color: var(--primary) !important;
    color: var(--background-dark) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 0.75rem !important;
    padding: 0.75rem 1.5rem !important;
    box-shadow: 0 4px 15px rgba(19,236,55,0.2) !important;
}

.dokan-form-label {
    color: var(--text-muted) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
}

.dokan-popup-create-an-account,
.dokan-popup-create-an-account a {
    color: var(--text-muted) !important;
}
