/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* Custom CSS for Nexus Cart
 *
 * This block allows you to customize theme colors and styles for the entire Nexus Cart template.
 *
 * To customize colors:
 * - Replace the var() references with your own hex colors or other CSS values.
 * - For example, instead of --primary: #4b5563; use --primary: #your-color;
 * - You can also override any CSS properties here.
 */

html {
    font-size: 14px;
}

:root {
    --white: #fff;

    /* Neutral shades */
    --neutral-50: #fbf9fa;
    --neutral-100: #f4f5f7;
    --neutral-200: #e4e4e7;
    --neutral-300: #d0d5dd;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #111827;
    --neutral-950: #030712;

    /* DevThunder brand greens. 400 is the WordPress theme's accent
       (#8bc34a, OrDomain "unlimited-color"), 500 its button colour
       (#73aa33). Both are too light for white text, so --primary uses
       700 (6:1 on white) and the light shades stay for accents. */
    --primary-50: #f4f9ec;
    --primary-100: #e6f2d3;
    --primary-200: #cde5a8;
    --primary-300: #aed574;
    --primary-400: #8bc34a;
    --primary-500: #73aa33;
    --primary-600: #5a8a26;
    --primary-700: #476d20;
    --primary-800: #3a571d;
    --primary-900: #31491c;
    --primary-950: #18280b;

    /* Primary colors */
    --primary: var(--primary-700);
    --primary-lifted: var(--primary-800);
    --primary-accented: var(--primary-900);

    /* Secondary colors */
    --secondary: var(--neutral-500);
    --secondary-lifted: var(--neutral-600);
    --secondary-accented: var(--neutral-700);

    /* Success colors */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    /* Info colors */
    --info: #155dfc;
    --info-lifted: #1447e6;
    --info-accented: #193cb8;

    /* Notice colors */
    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    /* Warning colors */
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;

    /* Error colors */
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Grayscale colors */
    --grayscale: var(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    /* Neutral colors */
    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    /* Text neutral colors */
    --text-inverted: var(--white);
    --text-muted: var(--neutral-400);
    --text-lifted: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text: var(--neutral-900);

    /* Border neutral colors */
    --border-muted: var(--neutral-200);
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    /* Background neutral colors */
    --bg: var(--white);
    --bg-muted: var(--neutral-50);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--neutral-900);

    /* Additional colors */
    --yellow-200: #fff085;
    --yellow-300: #ffdf20;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    /* Additional custom properties */
    /* Font sizes */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* Spacing */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* Rounding */
    --rounding-sm: 0.25rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;

    /* Other */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}

/* *****************************************************

    ** DevThunder overrides for Twenty-One **

    Twenty-One hardcodes its blue (#369) in theme.min.css
    rather than reading the variables above, so the
    rules that use it are re-pointed at --primary here.
    The dark footer matches the WordPress site's
    (OrDomain footer widgets, #1d1d21).

***************************************************** */

/* No !important on links: theme.min.css's a{color:#369} has the same
   specificity and loads first, and forcing it would also override the
   white text on a.btn-success, a.badge and friends. */
a,
.btn-link,
.page-link {
    color: var(--primary);
}

a:hover,
.btn-link:hover,
.page-link:hover {
    color: var(--primary-lifted);
}

.text-primary {
    color: var(--primary) !important;
}

.btn-primary,
.btn-primary.disabled,
.btn-primary:disabled,
.badge-primary,
.bg-primary,
.progress-bar,
.dropdown-item.active,
.dropdown-item:active,
.list-group-item.active,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.page-item.active .page-link,
.custom-control-input:checked ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
    color: #fff !important;
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle,
a.badge-primary:hover,
a.badge-primary:focus {
    background-color: var(--primary-lifted) !important;
    border-color: var(--primary-accented) !important;
}

.btn-primary:focus,
.btn-primary.focus,
.btn-outline-primary:focus,
.form-control:focus {
    box-shadow: 0 0 0 0.2rem rgba(139, 195, 74, 0.4) !important;
}

.form-control:focus {
    border-color: var(--primary-400);
}

.btn-outline-primary {
    color: var(--primary);
    border-color: var(--primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}

.border-primary {
    border-color: var(--primary) !important;
}

/* Wordmark, shown until a logo is uploaded (Setup > General Settings > Logo URL). */
.header .navbar-brand {
    font-family: Roboto, "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #303030;
}

.dt-wordmark-accent {
    color: var(--primary-500);
}

.header .navbar-brand:hover .dt-wordmark-accent {
    color: var(--primary-600);
}

/* Top navigation: green underline on the active / hovered item. */
.header .main-navbar-wrapper .navbar-nav .nav-link:hover,
.header .main-navbar-wrapper .navbar-nav .active > .nav-link {
    color: var(--primary) !important;
    box-shadow: inset 0 -3px 0 var(--primary-400);
}

/* Footer: dark, like the WordPress site. */
footer.footer {
    background-color: #1d1d21;
    color: #c8c8cc;
}

footer.footer a,
footer.footer .nav-link {
    color: #e4e4e7 !important;
}

footer.footer a:hover,
footer.footer .nav-link:hover {
    color: var(--primary-400) !important;
}

footer.footer .dt-footer-legal .nav-link {
    font-size: 0.85rem;
    color: #9ca3af !important;
}

footer.footer .copyright {
    color: #9ca3af;
}

footer.footer .dt-footer-contact {
    padding: 0 1rem;
    font-size: 0.9rem;
}

footer.footer .dt-footer-sep {
    margin: 0 0.5rem;
    color: #6b7280;
}
