/* SEO Navigation Styles */
.seo-nav {
    --seo-nav-bg: linear-gradient(
        180deg,
        color-mix(in srgb, var(--color-accent) 8%, var(--color-surface)) 0%,
        var(--color-surface) 100%
    );
    --seo-nav-border: color-mix(in srgb, var(--color-accent) 28%, var(--color-border));
    --seo-nav-letter-bg: color-mix(in srgb, var(--color-accent) 7%, var(--surface-subtle));
    --seo-nav-letter-bg-hover: color-mix(in srgb, var(--color-accent) 16%, var(--surface-hover));
    --seo-nav-letter-bg-active: color-mix(in srgb, var(--color-accent) 18%, var(--surface-subtle));
    --seo-nav-letter-bg-active-hover: color-mix(in srgb, var(--color-accent) 26%, var(--surface-hover));
    --seo-nav-letter-border: color-mix(in srgb, var(--color-accent) 18%, transparent);
    --seo-nav-letter-border-active: color-mix(in srgb, var(--color-accent) 42%, transparent);
    --seo-nav-focus-ring: color-mix(in srgb, var(--color-accent) 30%, transparent);
    background: var(--seo-nav-bg);
    padding: 48px 0;
    /* Keep SEO nav readable in both themes (avoid low-contrast muted grays). */
    color: var(--color-text);
    --color-muted: var(--color-text);
    -webkit-font-smoothing: antialiased;
    border-top: 1px solid var(--seo-nav-border);
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--color-accent) 10%, transparent);
    /* Ensure SEO nav paints above decorative overlays (e.g. hero scrims). */
    position: relative;
    z-index: 2;
    isolation: isolate;
}

html[data-theme="light"] .seo-nav {
    /* Keep the SEO nav readable on image-based landing pages while preserving the configured accent. */
    --seo-nav-bg: linear-gradient(
        180deg,
        color-mix(in srgb, var(--color-accent) 7%, var(--color-bg)) 0%,
        color-mix(in srgb, var(--color-accent) 3%, var(--color-surface)) 100%
    );
    --seo-nav-border: color-mix(in srgb, var(--color-accent) 24%, var(--color-border));
    --seo-nav-letter-bg: color-mix(in srgb, var(--color-accent) 6%, var(--color-surface));
    --seo-nav-letter-bg-hover: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));
    --seo-nav-letter-bg-active: color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));
    --seo-nav-letter-bg-active-hover: color-mix(in srgb, var(--color-accent) 20%, var(--color-surface));
    --seo-nav-letter-border: color-mix(in srgb, var(--color-accent) 16%, var(--color-border));
    --seo-nav-letter-border-active: color-mix(in srgb, var(--color-accent) 38%, var(--color-border));
}

.seo-nav-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}

.seo-nav-title {
    color: var(--color-text);
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 24px;
    letter-spacing: -0.022em;
}

/* Alphabet navigation */
.seo-nav-alphabet {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: 0 auto;
}

.seo-nav-letter {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--seo-nav-letter-bg);
    color: var(--color-muted);
    border: 1px solid var(--seo-nav-letter-border);
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition:
        background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.seo-nav-letter.active {
    background-color: var(--seo-nav-letter-bg-active);
    color: var(--color-accent);
    border-color: var(--seo-nav-letter-border-active);
}

.seo-nav-letter.active:hover {
    background-color: var(--seo-nav-letter-bg-active-hover);
    color: var(--color-accent);
    border-color: color-mix(in srgb, var(--color-accent) 54%, transparent);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--color-accent) 18%, transparent);
    transform: translateY(-2px);
}

.seo-nav-letter.active:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px var(--seo-nav-focus-ring);
}

.seo-nav-letter.disabled {
    color: color-mix(in srgb, var(--color-text) 42%, transparent);
    opacity: 1;
    cursor: default;
}

.seo-nav-hubs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 24px auto 0;
}

.seo-nav-hub-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    max-width: min(100%, 280px);
    padding: 8px 14px;
    border: 1px solid var(--seo-nav-letter-border-active);
    border-radius: 6px;
    background-color: var(--seo-nav-letter-bg-active);
    color: var(--color-accent);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition:
        background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.seo-nav-hub-link:hover {
    background-color: var(--seo-nav-letter-bg-active-hover);
    border-color: color-mix(in srgb, var(--color-accent) 54%, transparent);
    color: var(--color-accent);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--color-accent) 18%, transparent);
    transform: translateY(-2px);
}

.seo-nav-hub-link:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px var(--seo-nav-focus-ring);
}

/* Tool sections */
.seo-nav-sections {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.seo-nav-section {
    margin-bottom: 16px;
}

.seo-section-title {
    color: var(--color-text);
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-border);
}

.seo-tool-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

.seo-tool-link {
    color: var(--color-muted);
    font-size: 14px;
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 6px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    background-color: var(--surface-subtle);
}

.seo-tool-link:hover {
    color: var(--color-accent);
    background-color: color-mix(in srgb, var(--color-accent) 12%, var(--surface-subtle));
    transform: translateY(-2px);
}

/* Responsive styles */
@media (max-width: 1068px) {
    .seo-nav {
        padding: 40px 0;
    }
    
    .seo-nav-title {
        font-size: 22px;
    }
    
    .seo-tool-grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }
}

@media (max-width: 734px) {
    .seo-nav {
        padding: 32px 0;
    }
    
    .seo-nav-title {
        font-size: 20px;
    }
    
    .seo-nav-alphabet {
        gap: 8px;
    }
    
    .seo-nav-letter {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }

    .seo-nav-hubs {
        margin-top: 20px;
        gap: 8px;
    }

    .seo-nav-hub-link {
        min-height: 34px;
        padding: 8px 12px;
        font-size: 13px;
    }
    
    .seo-tool-grid {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }
}

@media (max-width: 374px) {
    .seo-nav-title {
        font-size: 18px;
    }
    
    .seo-nav-letter {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }
    
    .seo-tool-grid {
        grid-template-columns: 1fr 1fr;
    }
} 
