/* =================================================================
   NORDIC FINANCE DESIGN SYSTEM
   Inspired by Stripe, Mercury, Wise, Plaid
   ================================================================= */

:root {
    /* Primary Colors */
    --nf-navy: #0A2540;
    --nf-navy-light: #1A3A5C;
    --nf-navy-lighter: #2D4A6F;

    /* Accent Colors - Emerald Green */
    --nf-violet: #10B981;
    --nf-violet-hover: #34D399;
    --nf-violet-light: rgba(16, 185, 129, 0.15);

    /* Success/Teal Colors */
    --nf-teal: #00D4AA;
    --nf-teal-light: #80FFE8;
    --nf-teal-dark: #00B894;

    /* Supporting Colors */
    --nf-warning: #FFBB38;
    --nf-error: #FF5A5F;
    --nf-info: #0EA5E9;

    /* Neutrals */
    --nf-bg: #F6F9FC;
    --nf-surface: #FFFFFF;
    --nf-text-primary: #0A2540;
    --nf-text-secondary: #425466;
    --nf-text-muted: #8792A2;
    --nf-border: #E3E8EE;
    --nf-border-light: #F0F3F7;

    /* Typography */
    --nf-font-heading: "DM Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --nf-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

    /* Shadows */
    --nf-shadow-sm: 0 1px 2px rgba(10, 37, 64, 0.04);
    --nf-shadow-md: 0 4px 12px rgba(10, 37, 64, 0.08);
    --nf-shadow-lg: 0 12px 40px rgba(10, 37, 64, 0.12);
    --nf-shadow-xl: 0 24px 60px rgba(10, 37, 64, 0.16);

    /* Gradients */
    --nf-gradient-hero: linear-gradient(135deg, #0A2540 0%, #1A3A5C 50%, #0A2540 100%);
    --nf-gradient-violet: linear-gradient(135deg, #10B981 0%, #059669 100%);
    --nf-gradient-teal: linear-gradient(135deg, #00D4AA 0%, #00B894 100%);
    --nf-gradient-glow-violet: rgba(16, 185, 129, 0.25);
    --nf-gradient-glow-teal: rgba(0, 212, 170, 0.2);

    /* Border Radius */
    --nf-radius-sm: 8px;
    --nf-radius-md: 12px;
    --nf-radius-lg: 16px;
    --nf-radius-xl: 20px;
    --nf-radius-2xl: 24px;
    --nf-radius-full: 9999px;

    /* Transitions */
    --nf-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --nf-transition-slow: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

html, body {
    font-family: var(--nf-font-body);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    max-width: 100vw;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Remove focus outline from non-interactive elements */
h1, h2, h3, h4, h5, h6,
p, span, div, section, article, header, footer, main, nav,
.mud-typography {
    outline: none;
}

h1:focus, h2:focus, h3:focus, h4:focus, h5:focus, h6:focus,
p:focus, span:focus, div:focus, section:focus, article:focus,
header:focus, footer:focus, main:focus, nav:focus,
.mud-typography:focus {
    outline: none;
}

/* =================================================================
   ONBOARDING WIZARD - Always white text (blue background)
   ================================================================= */
.onboarding-wizard-card,
.onboarding-wizard-card .mud-typography,
.onboarding-wizard-card p,
.onboarding-wizard-card span {
    color: white;
}

/* =================================================================
   DARK MODE - Admin Dashboard Cards
   MudBlazor's .mud-theme-dark class is on the body when dark mode is active
   Using 'background' (not background-color) to override gradients
   ================================================================= */
.mud-theme-dark .stat-card,
.mud-theme-dark .stat-card.mud-card,
.mud-theme-dark .stat-card.mud-paper {
    background: #1e293b;
    color: #f1f5f9;
}

.mud-theme-dark .stat-card .mud-card-content {
    background: #1e293b;
}

.mud-theme-dark .highlight-card,
.mud-theme-dark .highlight-card.mud-card,
.mud-theme-dark .highlight-card.mud-paper {
    background: #1e293b;
    color: #f1f5f9;
}

.mud-theme-dark .mud-card-header .mud-typography-h6 {
    color: #f1f5f9;
}

/* Sidebar cards in dark mode */
.mud-theme-dark .mud-grid-item > .mud-card {
    background: #1e293b;
}

.mud-theme-dark .mud-grid-item > .mud-card .mud-card-header-content .mud-typography {
    color: #f1f5f9;
}

/* =================================================================
   DARK MODE - Tables/Lists styling
   Only applied when .mud-theme-dark is active (light mode unchanged)
   ================================================================= */
/* Table header - dark background with light text */
.mud-theme-dark .mud-table .mud-table-head {
    background: #1e293b;
}

.mud-theme-dark .mud-table .mud-table-head th.mud-table-cell {
    background: #1e293b;
    color: #94a3b8;
}

/* Table body rows - darker background */
.mud-theme-dark .mud-table .mud-table-body .mud-table-row {
    background: #0f172a;
}

/* Striped rows - slightly lighter for subtle contrast */
.mud-theme-dark .mud-table.mud-table-striped .mud-table-body .mud-table-row:nth-of-type(odd) {
    background: #1e293b;
}

/* Table cell text color in dark mode */
.mud-theme-dark .mud-table .mud-table-body .mud-table-cell {
    color: #f1f5f9;
}

/* Table hover row in dark mode */
.mud-theme-dark .mud-table .mud-table-body .mud-table-row:hover {
    background: #334155;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ni42MDYgNTIuMjY1OEwyOTAuMTc4IDc1LjgzODRDMjkwLjk2OSA3Ni42MjE0IDI5MS40NTEgNzcuNzIxNCAyOTEuNDUxIDc4LjsyNkMyOTEuNDUxIDc5LjkzMDcgMjkwLjk2OSA4MS4wMzA3IDI5MC4xNzggODEuODEzN0wyOTAuMTc4IDgxLjgxMzdMMjY2LjYwNiA5NS4zODYzQzI2NS44MTMgOTYuMTY5MyAyNjQuNzE3IDk2LjY1MyAyNjMuNTA2IDk2LjY1M0MyNjIuMjk2IDk2LjY1MyAyNjEuMiA5Ni4xNjkzIDI2MC40MDcgOTUuMzg2M0wyNjAuNDA3IDk1LjM4NjNMMjM2LjgzNSA4MS44MTM3QzIzNi4wNDMgODEuMDMwNyAyMzUuNTYxIDc5LjkzMDcgMjM1LjU2MSA3OC45MjZDMjM1LjU2MSA3Ny43MjE0IDIzNi4wNDMgNzYuNjIxNCAyMzYuODM1IDc1LjgzODRMMjM2LjgzNSA3NS44Mzg0TDI2MC40MDcgNTIuMjY1OEMyNjEuMiA1MS40ODM3IDI2Mi4yOTYgNTEgMjYzLjUwNiA1MVoiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0yNjMuNTY2IDY2LjAxNUwyNjQuNDY2IDY2LjAwMUMyNjQuNDY2IDY2LjAwMSAyNjQuNDU0IDY3LjY2MSAyNjQuNDk1IDY5LjQ0NUMyNjQuNTM3IDcxLjIzIDI2NC42NzMgNzMuMzA5IDI2NC43MTkgNzQuODQ4QzI2NC43NjUgNzYuMzg3IDI2NC43NjQgNzcuMjQ0IDI2NC43NjQgNzcuNDQ4TDI2My45NjMgNzcuNDQ4TDI2My45NjMgNzcuNDQ4QzI2My45NjMgNzcuMzEgMjYzLjk2MyA3Ni44NDEgMjYzLjg5NSA3NS43ODRDMjYzLjgyNyA3NC43MjggMjYzLjcxIDczLjE4MyAyNjMuNjAyIDcxLjgzNEMyNjMuNDkzIDcwLjQ4NiAyNjMuMzI4IDY5LjM4NiAyNjMuMjM3IDY4LjY4MkMyNjMuMTQ2IDY3Ljk3OSAyNjMuMDkxIDY3LjU0NyAyNjMuMDU5IDY3LjM4NkMyNjIuOTkxIDY3LjA5MyAyNjMuMDQyIDY2LjcyMSAyNjMuMTE2IDY2LjQxMkMyNjMuMTkxIDY2LjEwMyAyNjMuMzY5IDY2LjAxNSAyNjMuNTY2IDY2LjAxNVoiIGZpbGw9IiNGRkZGRkYiLz48cGF0aCBkPSJNMjYyLjg4NiA4MC44NjdDMjYzLjMxNCA4MC40NjcgMjYzLjg5NCA4MC4yMjcgMjY0LjUyIDgwLjIyN0MyNjUuMTQ2IDgwLjIyNyAyNjUuNzI2IDgwLjQ2NyAyNjYuMTU0IDgwLjg2N0MyNjYuNTgyIDgxLjI2NyAyNjYuODMgODEuODA2IDI2Ni44MyA4Mi40MTFDMjY2LjgzIDgzLjAxNSAyNjYuNTgyIDgzLjU1NCAyNjYuMTU0IDgzLjk1NEMyNjUuNzI2IDg0LjM1NCAyNjUuMTQ2IDg0LjU5NCAyNjQuNTIgODQuNTk0QzI2My44OTQgODQuNTk0IDI2My4zMTQgODQuMzU0IDI2Mi44ODYgODMuOTU0QzI2Mi40NTggODMuNTU0IDI2Mi4yMSA4My4wMTUgMjYyLjIxIDgyLjQxMUMyNjIuMjEgODEuODA2IDI2Mi40NTggODEuMjY3IDI2Mi44ODYgODAuODY3WiIgZmlsbD0iI0ZGRkZGRiIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "Der opstod en fejl";
}

/* Loading animation */
.loading-progress {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #a1a1a1;
}

/* Signup Page Product Cards */
.highlighted-product {
    border: 2px solid var(--merchant-primary); /* Use primary color for border */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Stronger shadow */
    transition: all 0.2s ease-in-out;
}

.highlighted-product:hover {
    transform: translateY(-5px); /* Slight lift on hover */
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

/* ===== LANDING PAGE GLOBAL STYLES ===== */

/* Gradient text effect for hero section - Emerald accent */
/* Using high specificity selectors instead of !important */
.hero-section span.hero-title-gradient,
.hero-section .hero-title span.hero-title-gradient,
h1.hero-title span.hero-title-gradient,
section.hero-section span.hero-title-gradient {
    background: linear-gradient(135deg, #10B981 0%, var(--nf-teal) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    display: inline-block;
}

/* Hero glow effects - Nordic Finance palette */
div.hero-glow {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
}

div.hero-glow.hero-glow-purple {
    top: -20%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: var(--nf-gradient-glow-violet);
    filter: blur(100px);
}

div.hero-glow.hero-glow-blue {
    bottom: -20%;
    left: -5%;
    width: 500px;
    height: 500px;
    background: var(--nf-gradient-glow-teal);
    filter: blur(80px);
}

/* CTA glow effect */
div.cta-glow {
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 400px;
    background: var(--nf-gradient-glow-violet);
    border-radius: 50%;
    filter: blur(120px);
    pointer-events: none;
}

/* Social proof section - white text on blue gradient background */
.social-proof-section .social-proof-text,
.social-proof-section .social-proof-text.mud-typography,
.social-proof-section span.social-proof-text {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.875rem;
    font-weight: 500;
}

.social-proof-divider {
    color: rgba(255, 255, 255, 0.5);
    margin: 0 1rem;
    font-weight: 300;
}

/* Star icons - gold/yellow color with high specificity */
.social-proof-rating .star-icon,
.social-proof-rating .star-icon.mud-icon-root,
.social-proof-rating svg.star-icon {
    color: #fbbf24;
    fill: #fbbf24;
}

/* Feature icon wrapper - Emerald accent */
div.feature-icon-wrapper {
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
    border-radius: var(--nf-radius-md);
    background: var(--nf-gradient-violet);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
}

div.feature-icon-wrapper svg,
div.feature-icon-wrapper .mud-icon-root,
div.feature-icon-wrapper .mud-svg-icon {
    color: #ffffff;
    fill: #ffffff;
    width: 26px;
    height: 26px;
}

/* Icon color overrides for public pages - high specificity */
.problem-card .icon-red.mud-icon-root,
.problem-card svg.icon-red,
.problem-item .icon-red.mud-icon-root {
    color: #ef4444;
    fill: #ef4444;
}

.solution-card .icon-green.mud-icon-root,
.solution-card svg.icon-green,
.solution-item .icon-green.mud-icon-root {
    color: #22c55e;
    fill: #22c55e;
}

/* ===== ABOUT PAGE GLOBAL STYLES ===== */

/* Hero section - dark gradient background */
.about-hero-section {
    padding: 5rem 0;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
    position: relative;
    overflow: hidden;
}

.about-hero-section .about-hero-glow {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    filter: blur(100px);
}

.about-hero-section .about-hero-glow-left {
    top: -20%;
    left: -10%;
    width: 500px;
    height: 500px;
    background: rgba(16, 185, 129, 0.25);
}

.about-hero-section .about-hero-glow-right {
    bottom: -20%;
    right: -10%;
    width: 400px;
    height: 400px;
    background: rgba(14, 165, 233, 0.2);
}

.about-hero-section .about-hero-content {
    position: relative;
    z-index: 1;
}

.about-hero-section .about-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    border-radius: 50px;
}

.about-hero-section .about-badge-text {
    color: #6EE7B7;
    font-size: 0.875rem;
    font-weight: 500;
}

.about-hero-section .about-hero-title {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: #ffffff;
    max-width: 800px;
    margin: 0;
}

.about-hero-section .about-hero-subtitle {
    font-size: 1.125rem;
    color: #94a3b8;
    max-width: 600px;
    margin: 0;
}

/* Mission section */
.about-mission-section {
    padding: 5rem 0;
    background: #ffffff;
}

.about-mission-section .about-mission-card,
.about-mission-section .about-mission-card.mud-paper {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border: 1px solid #fcd34d;
    border-radius: 20px;
    padding: 2rem;
    height: 100%;
}

.about-mission-section .about-mission-icon-wrapper {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.about-mission-section .about-mission-icon-wrapper svg,
.about-mission-section .about-mission-icon-wrapper .mud-icon-root {
    color: #ffffff;
    fill: #ffffff;
    width: 28px;
    height: 28px;
}

.about-mission-section .about-vision-card,
.about-mission-section .about-vision-card.mud-paper {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
    border: 1px solid #93c5fd;
    border-radius: 20px;
    padding: 2rem;
    height: 100%;
}

.about-mission-section .about-vision-icon-wrapper {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.about-mission-section .about-vision-icon-wrapper svg,
.about-mission-section .about-vision-icon-wrapper .mud-icon-root {
    color: #ffffff;
    fill: #ffffff;
    width: 28px;
    height: 28px;
}

.about-mission-section .about-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
}

.about-mission-section .about-card-text {
    font-size: 1rem;
    color: #475569;
    line-height: 1.7;
    margin: 0;
}

/* Target section */
.about-target-section {
    padding: 5rem 0;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

.about-target-section .about-eyebrow {
    color: #10B981;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.about-target-section .about-section-title {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.about-target-section .about-target-card,
.about-target-section .about-target-card.mud-paper {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1.5rem;
    text-align: center;
    height: 100%;
    transition: all 0.3s ease;
}

.about-target-section .about-target-card:hover,
.about-target-section .about-target-card.mud-paper:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.about-target-section .about-target-icon-wrapper {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
}

.about-target-section .about-target-icon-wrapper svg,
.about-target-section .about-target-icon-wrapper .mud-icon-root {
    color: #ffffff;
    fill: #ffffff;
    width: 28px;
    height: 28px;
}

.about-target-section .about-target-icon-1 {
    background: linear-gradient(135deg, #ec4899 0%, #db2777 100%);
}

.about-target-section .about-target-icon-2 {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
}

.about-target-section .about-target-icon-3 {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}

.about-target-section .about-target-icon-4 {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.about-target-section .about-target-title {
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.5rem;
}

.about-target-section .about-target-desc {
    font-size: 0.875rem;
    color: #64748b;
    margin: 0;
    line-height: 1.5;
}

/* Values section */
.about-values-section {
    padding: 5rem 0;
    background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 100%);
}

.about-values-section .about-eyebrow {
    color: #10B981;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.about-values-section .about-section-title {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.about-values-section .about-value-icon {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(16, 185, 129, 0.3);
}

.about-values-section .about-value-icon svg,
.about-values-section .about-value-icon .mud-icon-root {
    color: #ffffff;
    fill: #ffffff;
}

.about-values-section .about-value-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
}

.about-values-section .about-value-desc {
    font-size: 0.9375rem;
    color: #475569;
    margin: 0;
    line-height: 1.6;
    max-width: 280px;
}

/* CTA section */
.about-cta-section {
    padding: 5rem 0;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    position: relative;
    overflow: hidden;
}

.about-cta-section .about-cta-glow {
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: rgba(16, 185, 129, 0.3);
    border-radius: 50%;
    filter: blur(100px);
    pointer-events: none;
}

.about-cta-section .about-cta-content {
    position: relative;
    z-index: 1;
    text-align: center;
}

.about-cta-section .about-cta-title {
    font-size: 2rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}

.about-cta-section .about-cta-subtitle {
    font-size: 1.125rem;
    color: #94a3b8;
    margin: 0;
}

.about-cta-section .about-cta-button-primary,
.about-cta-section .about-cta-button-primary.mud-button-filled {
    background: #ffffff;
    color: #10B981;
    font-weight: 600;
    padding: 0.875rem 1.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
}

.about-cta-section .about-cta-button-secondary,
.about-cta-section .about-cta-button-secondary.mud-button-outlined {
    border-color: rgba(255, 255, 255, 0.3);
    color: #ffffff;
    font-weight: 500;
    padding: 0.875rem 1.5rem;
    border-radius: 12px;
}

.about-cta-section .about-cta-button-secondary:hover,
.about-cta-section .about-cta-button-secondary.mud-button-outlined:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.5);
}

/* About page responsive */
@media (max-width: 960px) {
    .about-hero-section {
        padding: 3rem 0;
    }

    .about-hero-section .about-hero-title {
        font-size: 2rem;
    }

    .about-mission-section,
    .about-target-section,
    .about-values-section {
        padding: 3rem 0;
    }

    .about-target-section .about-section-title,
    .about-values-section .about-section-title {
        font-size: 1.75rem;
    }
}

@media (max-width: 600px) {
    .about-hero-section .about-hero-title {
        font-size: 1.5rem;
    }

    .about-cta-section .about-cta-title {
        font-size: 1.5rem;
    }
}

/* ================================================================
   GET STARTED PAGE STYLES - Fintech-inspired Design
   ================================================================ */

.getstarted-hero-section {
    position: relative;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
    padding: 6rem 0 5rem;
    overflow: hidden;
}

.getstarted-hero-glow {
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    filter: blur(120px);
    opacity: 0.15;
    pointer-events: none;
}

.getstarted-hero-glow-left {
    top: -200px;
    left: -200px;
    background: #10B981;
}

.getstarted-hero-glow-right {
    bottom: -200px;
    right: -200px;
    background: #059669;
}

.getstarted-hero-content {
    position: relative;
    z-index: 1;
}

.getstarted-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    border-radius: 9999px;
    padding: 0.5rem 1rem;
    margin-bottom: 1rem;
}

.getstarted-badge-text {
    font-size: 0.875rem;
    font-weight: 500;
    color: #6EE7B7;
    letter-spacing: 0.025em;
}

.getstarted-hero-title {
    font-size: 3rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
    margin: 0 0 1rem 0;
}

.getstarted-hero-subtitle {
    font-size: 1.25rem;
    color: #94a3b8;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

/* Steps Section */
.getstarted-steps-section {
    background: #f8fafc;
    padding: 5rem 0;
}

.getstarted-eyebrow {
    font-size: 0.875rem;
    font-weight: 600;
    color: #10B981;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.getstarted-section-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0.5rem 0 0 0;
}

.getstarted-step-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 2rem;
    height: 100%;
    text-align: center;
    transition: all 0.3s ease;
}

.getstarted-step-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    border-color: #c7d2fe;
}

.getstarted-step-number {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff;
}

.getstarted-step-1 {
    background: linear-gradient(135deg, #10B981, #059669);
}

.getstarted-step-2 {
    background: linear-gradient(135deg, #059669, #a855f7);
}

.getstarted-step-3 {
    background: linear-gradient(135deg, #a855f7, #d946ef);
}

.getstarted-step-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.75rem 0;
}

.getstarted-step-desc {
    font-size: 1rem;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

/* Integrations Section */
.getstarted-integrations-section {
    background: #ffffff;
    padding: 5rem 0;
}

.getstarted-integration-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 2rem;
    height: 100%;
    transition: all 0.3s ease;
}

.getstarted-integration-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.getstarted-stripe-card:hover {
    border-color: #6EE7B7;
}

.getstarted-dinero-card:hover {
    border-color: #86efac;
}

.getstarted-integration-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.getstarted-integration-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
}

.getstarted-stripe-icon {
    background: linear-gradient(135deg, #10B981, #059669);
}

.getstarted-dinero-icon {
    background: linear-gradient(135deg, #10b981, #34d399);
}

.getstarted-integration-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0;
}

.getstarted-integration-desc {
    font-size: 1rem;
    color: #64748b;
    line-height: 1.6;
    margin: 0 0 1.5rem 0;
}

.getstarted-benefits {
    margin-bottom: 1.5rem;
}

.getstarted-benefit {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.9375rem;
    color: #334155;
}

.getstarted-benefit-icon.stripe {
    color: #10B981;
}

.getstarted-benefit-icon.dinero {
    color: #10b981;
}

.getstarted-info-box {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 500;
}

.getstarted-stripe-info {
    background: rgba(16, 185, 129, 0.1);
    color: #4f46e5;
}

.getstarted-dinero-info {
    background: rgba(16, 185, 129, 0.1);
    color: #059669;
}

/* FAQ Section */
.getstarted-faq-section {
    background: #f8fafc;
    padding: 5rem 0;
}

.getstarted-faq-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.5rem;
    height: 100%;
    transition: all 0.3s ease;
}

.getstarted-faq-card:hover {
    border-color: #c7d2fe;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.getstarted-faq-question {
    font-size: 1.0625rem;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 0.75rem 0;
}

.getstarted-faq-answer {
    font-size: 0.9375rem;
    color: #64748b;
    line-height: 1.6;
    margin: 0;
}

/* CTA Section */
.getstarted-cta-section {
    position: relative;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
    padding: 5rem 0;
    overflow: hidden;
}

.getstarted-cta-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 800px;
    height: 400px;
    background: radial-gradient(ellipse, rgba(16, 185, 129, 0.2) 0%, transparent 70%);
    pointer-events: none;
}

.getstarted-cta-content {
    position: relative;
    z-index: 1;
    text-align: center;
}

.getstarted-cta-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 1rem 0;
}

.getstarted-cta-subtitle {
    font-size: 1.125rem;
    color: #94a3b8;
    line-height: 1.6;
    max-width: 500px;
    margin: 0 auto 1.5rem;
}

.getstarted-cta-button {
    background: linear-gradient(135deg, #10B981, #059669);
    color: #ffffff;
    font-weight: 600;
    padding: 0.875rem 2rem;
    border-radius: 10px;
    text-transform: none;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.getstarted-cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(16, 185, 129, 0.4);
}

/* =================================================================
   GLOBAL BUTTON TEXT COLOR FIX - Ensure white text on primary buttons
   MudBlazor theme handles this via PaletteLight/PaletteDark
   ================================================================= */

/* =================================================================
   MOBILE FORM LABEL FIX - Prevent label clipping on outlined inputs
   MudBlazor's floating labels can extend beyond input borders.
   This fix adds left padding so labels have room to display fully.
   Applies to: register, login, checkout-layout, customer-layout
   ================================================================= */

@media (max-width: 600px) {
    .register-container,
    .login-container,
    .customer-layout {
        overflow: visible !important;
    }

    .register-container .mud-paper,
    .login-container .mud-paper,
    .customer-layout .mud-paper {
        overflow: visible !important;
    }

    .register-container .mud-input-control,
    .login-container .mud-input-control,
    .checkout-layout .mud-input-control,
    .customer-layout .mud-input-control {
        overflow: visible !important;
        margin-left: 8px !important;
    }

    .register-container .mud-input-outlined,
    .login-container .mud-input-outlined,
    .checkout-layout .mud-input-outlined,
    .customer-layout .mud-input-outlined {
        overflow: visible !important;
    }

    .register-container .mud-stack,
    .login-container .mud-stack,
    .customer-layout .mud-stack {
        overflow: visible !important;
        padding-left: 4px !important;
    }
}

@media (max-width: 420px) {
    .register-container .register-card,
    .login-container .login-card,
    .register-container .mud-paper,
    .login-container .mud-paper,
    .customer-layout .mud-paper {
        padding-left: 20px !important;
        padding-right: 12px !important;
    }

    .register-container .mud-input-control,
    .login-container .mud-input-control,
    .customer-layout .mud-input-control {
        margin-left: 0 !important;
    }

    .register-container .mud-stack,
    .login-container .mud-stack,
    .customer-layout .mud-stack {
        padding-left: 0 !important;
    }
}

@media (max-width: 380px) {
    .register-container .register-card,
    .login-container .login-card,
    .register-container .mud-paper,
    .login-container .mud-paper,
    .customer-layout .mud-paper {
        padding-left: 40px !important;
        padding-right: 8px !important;
    }

    .register-container .mud-input-label,
    .login-container .mud-input-label,
    .customer-layout .mud-input-label {
        font-size: 0.875rem !important;
    }

    .register-container .mud-input-adornment svg,
    .login-container .mud-input-adornment svg,
    .customer-layout .mud-input-adornment svg {
        width: 18px !important;
        height: 18px !important;
    }

    .register-container .mud-select .mud-input-label,
    .login-container .mud-select .mud-input-label,
    .customer-layout .mud-select .mud-input-label {
        left: 0 !important;
    }
}

/* GetStarted Page Responsive */
@media (max-width: 960px) {
    .getstarted-hero-title {
        font-size: 2.25rem;
    }

    .getstarted-section-title {
        font-size: 1.875rem;
    }

    .getstarted-cta-title {
        font-size: 2rem;
    }

    .getstarted-hero-section,
    .getstarted-steps-section,
    .getstarted-integrations-section,
    .getstarted-faq-section,
    .getstarted-cta-section {
        padding: 3.5rem 0;
    }
}

@media (max-width: 600px) {
    .getstarted-hero-title {
        font-size: 1.75rem;
    }

    .getstarted-hero-subtitle {
        font-size: 1rem;
    }

    .getstarted-section-title {
        font-size: 1.5rem;
    }

    .getstarted-cta-title {
        font-size: 1.5rem;
    }

    .getstarted-step-card,
    .getstarted-integration-card,
    .getstarted-faq-card {
        padding: 1.5rem;
    }
}

/* =================================================================
   ADMIN PAGES GLOBAL MOBILE STYLES
   Ultra-compact mobile styling for all admin/merchant pages
   ================================================================= */

@media (max-width: 768px) {
    /* Main content container - reduce padding */
    .mud-main-content > .mud-container {
        padding: 12px 8px !important;
    }

    /* All MudDataGrid/MudTable - force horizontal scroll */
    .mud-table-container {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }

    /* Force table to have min-width so it scrolls */
    .mud-table,
    .mud-table-root {
        min-width: 600px !important;
    }

    /* Table cells in responsive mode */
    .mud-table .mud-table-body .mud-table-cell {
        padding: 6px 8px !important;
        font-size: 0.8125rem !important;
    }

    /* Table header cells */
    .mud-table .mud-table-head th,
    .mud-table-head .mud-table-cell {
        padding: 8px !important;
        font-size: 0.6875rem !important;
    }

    /* MudDataGrid footer/pagination */
    .mud-table-pagination {
        padding: 6px 8px !important;
        font-size: 0.75rem !important;
    }

    .mud-table-pagination .mud-typography {
        font-size: 0.75rem !important;
    }

    .mud-table-pagination .mud-icon-button {
        padding: 4px !important;
    }

    .mud-table-pagination .mud-select {
        font-size: 0.75rem !important;
    }

    /* Generic admin page cards */
    .mud-paper,
    .mud-card {
        border-radius: 12px !important;
    }

    /* MudGrid items - reduce gap */
    .mud-grid {
        margin: -6px !important;
    }

    .mud-grid > .mud-grid-item {
        padding: 6px !important;
    }
}

@media (max-width: 600px) {
    /* Even more compact at smaller screens */
    .mud-main-content > .mud-container {
        padding: 8px 4px !important;
    }

    /* CRITICAL: Disable MudBlazor responsive card mode for tables */
    /* Force standard table display instead of card/stacked layout */
    .mud-table,
    .mud-table-root {
        min-width: 700px !important;
        display: table !important;
    }

    .mud-table-head {
        display: table-header-group !important;
    }

    .mud-table-body {
        display: table-row-group !important;
    }

    .mud-table-row {
        display: table-row !important;
    }

    .mud-table-cell {
        display: table-cell !important;
    }

    /* Hide the data-label pseudo-element that shows column names */
    .mud-table-cell[data-label]::before {
        display: none !important;
        content: none !important;
    }

    /* Table cells - ultra compact */
    .mud-table .mud-table-body .mud-table-cell {
        padding: 4px 6px !important;
        font-size: 0.75rem !important;
    }

    .mud-table .mud-table-head th,
    .mud-table-head .mud-table-cell {
        padding: 6px !important;
        font-size: 0.625rem !important;
        display: table-cell !important;
    }

    /* Global typography reductions */
    .mud-typography-h4 {
        font-size: 1.25rem !important;
    }

    .mud-typography-h5 {
        font-size: 1rem !important;
    }

    .mud-typography-h6 {
        font-size: 0.875rem !important;
    }

    .mud-typography-body1 {
        font-size: 0.8125rem !important;
    }

    .mud-typography-body2 {
        font-size: 0.75rem !important;
    }

    /* Buttons - more compact */
    .mud-button {
        padding: 4px 12px !important;
        font-size: 0.75rem !important;
        min-width: auto !important;
    }

    .mud-button-icon-size-medium .mud-icon-root {
        font-size: 1rem !important;
    }

    .mud-icon-button {
        padding: 6px !important;
    }

    .mud-icon-button .mud-icon-root {
        font-size: 1.125rem !important;
    }

    /* Form inputs - compact */
    .mud-input-control {
        margin-bottom: 8px !important;
    }

    .mud-input {
        font-size: 0.8125rem !important;
    }

    .mud-input-label {
        font-size: 0.75rem !important;
    }

    /* Chips - smaller */
    .mud-chip {
        height: 22px !important;
        font-size: 0.6875rem !important;
    }

    .mud-chip .mud-chip-content {
        padding: 0 8px !important;
    }

    /* Badges - smaller */
    .mud-badge {
        font-size: 0.625rem !important;
    }

    /* Avatar - smaller */
    .mud-avatar-medium {
        width: 32px !important;
        height: 32px !important;
        font-size: 0.8125rem !important;
    }

    /* Cards padding */
    .mud-card-content {
        padding: 12px !important;
    }

    .mud-card-header {
        padding: 12px !important;
    }

    .mud-card-actions {
        padding: 8px 12px !important;
    }

    /* Dialog - full width on mobile */
    .mud-dialog {
        margin: 8px !important;
        max-width: calc(100vw - 16px) !important;
    }

    .mud-dialog-content {
        padding: 12px !important;
    }

    .mud-dialog-title {
        padding: 12px !important;
        font-size: 1rem !important;
    }

    .mud-dialog-actions {
        padding: 8px 12px !important;
    }

    /* Alerts - compact */
    .mud-alert {
        padding: 8px 12px !important;
        font-size: 0.8125rem !important;
    }

    /* Snackbar - compact */
    .mud-snackbar {
        font-size: 0.8125rem !important;
        padding: 8px 12px !important;
    }

    /* Menu items - compact */
    .mud-menu-item {
        padding: 8px 12px !important;
        font-size: 0.8125rem !important;
        min-height: 36px !important;
    }

    /* Select/dropdown - compact */
    .mud-select .mud-input-slot {
        font-size: 0.8125rem !important;
    }

    /* Switch - smaller */
    .mud-switch {
        transform: scale(0.85);
        transform-origin: left center;
    }

    /* Progress indicators - smaller */
    .mud-progress-circular {
        width: 32px !important;
        height: 32px !important;
    }

    /* Tabs - compact */
    .mud-tabs .mud-tab {
        min-width: 60px !important;
        padding: 8px 12px !important;
        font-size: 0.75rem !important;
    }

    /* Expansion panels - compact */
    .mud-expand-panel-header {
        padding: 8px 12px !important;
    }

    .mud-expand-panel-text {
        font-size: 0.8125rem !important;
    }
}

@media (max-width: 480px) {
    /* Extra small screens - even more compact */
    .mud-main-content > .mud-container {
        padding: 4px 2px !important;
    }

    .mud-table .mud-table-body .mud-table-cell {
        padding: 3px 4px !important;
        font-size: 0.6875rem !important;
    }

    .mud-table .mud-table-head th {
        padding: 4px !important;
        font-size: 0.5625rem !important;
    }

    .mud-button {
        padding: 3px 8px !important;
        font-size: 0.6875rem !important;
    }

    .mud-icon-button {
        padding: 4px !important;
    }

    .mud-icon-button .mud-icon-root {
        font-size: 1rem !important;
    }

    .mud-card-content {
        padding: 8px !important;
    }

    .mud-card-header {
        padding: 8px !important;
    }

    .mud-typography-h4 {
        font-size: 1.125rem !important;
    }

    .mud-typography-h5 {
        font-size: 0.9375rem !important;
    }

    .mud-typography-h6 {
        font-size: 0.8125rem !important;
    }

    .mud-typography-body1 {
        font-size: 0.75rem !important;
    }

    .mud-typography-body2 {
        font-size: 0.6875rem !important;
    }

    /* Ultra compact chips */
    .mud-chip {
        height: 18px !important;
        font-size: 0.625rem !important;
    }

    /* Smaller avatar */
    .mud-avatar-medium {
        width: 28px !important;
        height: 28px !important;
        font-size: 0.75rem !important;
    }
}
