/**
 * Elegant Theme - Soft pastels with modern design
 *
 * Inspired by modern design systems, soft aesthetics, and friendly interfaces.
 * Features: Rounded corners, pastel colors, smooth gradients, modern sans-serif.
 *
 * @package YAWC
 * @version 1.0.0
 */

[data-theme="elegant"] {
    /* Brand Colors - Soft Pastels */
    --theme-primary: #e8b4b8;
    --theme-primary-dark: #d89da2;
    --theme-primary-light: #f5cdd1;
    --theme-secondary: #a8d8ea;
    --theme-accent: #c5d8e5;

    /* Backgrounds - Warm & Soft */
    --theme-bg-primary: #fef9f8;
    --theme-bg-secondary: #fff5f5;
    --theme-bg-tertiary: #ffe8e8;
    --theme-bg-overlay: rgba(232, 180, 184, 0.9);

    /* Text Colors - Muted & Friendly */
    --theme-text-primary: #4a4a4a;
    --theme-text-secondary: #7a7a7a;
    --theme-text-tertiary: #a8a8a8;
    --theme-text-inverse: #ffffff;

    /* Border Colors */
    --theme-border-primary: rgba(232, 180, 184, 0.2);
    --theme-border-secondary: rgba(168, 216, 234, 0.15);
    --theme-border-accent: var(--theme-primary);

    /* Typography - Modern Sans-serif */
    --theme-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
    --theme-font-serif: Georgia, 'Times New Roman', serif;
    --theme-font-mono: 'Fira Code', 'Source Code Pro', monospace;
    --theme-font-display: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

    /* Font Weights - Balanced */
    --theme-font-weight-normal: 400;
    --theme-font-weight-medium: 500;
    --theme-font-weight-semibold: 600;
    --theme-font-weight-bold: 700;

    /* Font Sizes - Comfortable */
    --theme-font-size-xs: 0.75rem;
    --theme-font-size-sm: 0.875rem;
    --theme-font-size-base: 1rem;
    --theme-font-size-lg: 1.125rem;
    --theme-font-size-xl: 1.375rem;
    --theme-font-size-2xl: 1.75rem;
    --theme-font-size-3xl: 2.25rem;
    --theme-font-size-4xl: 3rem;

    /* Spacing - Comfortable */
    --theme-spacing-xs: 0.375rem;
    --theme-spacing-sm: 0.625rem;
    --theme-spacing-md: 1rem;
    --theme-spacing-lg: 1.5rem;
    --theme-spacing-xl: 2.5rem;
    --theme-spacing-2xl: 3.5rem;
    --theme-spacing-3xl: 5rem;

    /* Border Radius - Rounded */
    --theme-radius-none: 0;
    --theme-radius-sm: 8px;
    --theme-radius-md: 16px;
    --theme-radius-lg: 24px;
    --theme-radius-xl: 32px;
    --theme-radius-full: 9999px;

    /* Shadows - Soft & Dreamy */
    --theme-shadow-xs: 0 2px 8px rgba(232, 180, 184, 0.08);
    --theme-shadow-sm: 0 4px 12px rgba(232, 180, 184, 0.12);
    --theme-shadow-md: 0 8px 20px rgba(232, 180, 184, 0.15);
    --theme-shadow-lg: 0 12px 28px rgba(232, 180, 184, 0.18);
    --theme-shadow-xl: 0 16px 36px rgba(232, 180, 184, 0.22);
    --theme-shadow-2xl: 0 24px 48px rgba(232, 180, 184, 0.25);

    /* Special Effects - Soft Glow */
    --theme-glow: 0 0 16px rgba(232, 180, 184, 0.3);
    --theme-glow-hover: 0 0 24px rgba(232, 180, 184, 0.5);
    --theme-gradient-primary: linear-gradient(135deg, #e8b4b8 0%, #f5cdd1 50%, #a8d8ea 100%);
    --theme-gradient-secondary: linear-gradient(135deg, #a8d8ea 0%, #c5d8e5 100%);

    /* Transitions - Smooth & Bouncy */
    --theme-transition-fast: 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    --theme-transition-base: 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    --theme-transition-slow: 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* Typography refinements */
[data-theme="elegant"] body {
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

[data-theme="elegant"] h1,
[data-theme="elegant"] h2,
[data-theme="elegant"] h3,
[data-theme="elegant"] h4,
[data-theme="elegant"] h5,
[data-theme="elegant"] h6 {
    letter-spacing: -0.01em;
}

/* Buttons - Soft & Rounded */
[data-theme="elegant"] .button,
[data-theme="elegant"] .wp-block-button__link,
[data-theme="elegant"] input[type="submit"],
[data-theme="elegant"] button[type="submit"],
[data-theme="elegant"] .yawc-button {
    background: var(--theme-gradient-primary);
    border: none;
    border-radius: var(--theme-radius-full);
    padding: var(--theme-spacing-md) var(--theme-spacing-xl);
    font-weight: var(--theme-font-weight-semibold);
    box-shadow: var(--theme-shadow-md);
    transition: all var(--theme-transition-base);
}

[data-theme="elegant"] .button:hover,
[data-theme="elegant"] .wp-block-button__link:hover,
[data-theme="elegant"] input[type="submit"]:hover,
[data-theme="elegant"] button[type="submit"]:hover,
[data-theme="elegant"] .yawc-button:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: var(--theme-shadow-xl);
}

/* Links - Soft underline */
[data-theme="elegant"] a {
    color: var(--theme-primary);
    text-decoration: none;
    background-image: linear-gradient(
        to right,
        var(--theme-primary) 0%,
        var(--theme-secondary) 100%
    );
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 2px;
    transition: background-size var(--theme-transition-base);
}

[data-theme="elegant"] a:hover {
    background-size: 100% 2px;
}

/* Cards - Soft & Rounded */
[data-theme="elegant"] .yawc-card,
[data-theme="elegant"] .article-wrapper,
[data-theme="elegant"] .widget {
    background: linear-gradient(
        135deg,
        var(--theme-bg-primary) 0%,
        var(--theme-bg-secondary) 100%
    );
    border-radius: var(--theme-radius-lg);
    border: 2px solid var(--theme-border-primary);
    box-shadow: var(--theme-shadow-sm);
    transition: all var(--theme-transition-base);
}

[data-theme="elegant"] .yawc-card:hover,
[data-theme="elegant"] .article-wrapper:hover {
    transform: translateY(-4px);
    box-shadow: var(--theme-shadow-lg);
    border-color: var(--theme-primary);
}

/* Blockquotes - Soft bubble */
[data-theme="elegant"] blockquote {
    background: linear-gradient(
        135deg,
        rgba(232, 180, 184, 0.1) 0%,
        rgba(168, 216, 234, 0.1) 100%
    );
    border-left: none;
    border-radius: var(--theme-radius-lg);
    padding: var(--theme-spacing-xl);
    position: relative;
    box-shadow: var(--theme-shadow-sm);
}

[data-theme="elegant"] blockquote::before {
    content: '';
    position: absolute;
    left: var(--theme-spacing-md);
    top: var(--theme-spacing-md);
    width: 40px;
    height: 40px;
    background: var(--theme-gradient-primary);
    border-radius: var(--theme-radius-full);
    opacity: 0.2;
}

/* Code blocks - Soft containers */
[data-theme="elegant"] pre,
[data-theme="elegant"] code {
    background-color: var(--theme-bg-tertiary);
    border-radius: var(--theme-radius-md);
    border: 1px solid var(--theme-border-primary);
}

[data-theme="elegant"] code {
    color: var(--theme-primary-dark);
    padding: var(--theme-spacing-xs) var(--theme-spacing-sm);
}

[data-theme="elegant"] pre {
    box-shadow: var(--theme-shadow-sm);
}

/* Header - Soft & welcoming */
[data-theme="elegant"] .site-header {
    background: linear-gradient(
        to bottom,
        var(--theme-bg-primary) 0%,
        rgba(255, 255, 255, 0.95) 100%
    );
    border-bottom: 2px solid var(--theme-border-primary);
    backdrop-filter: blur(10px);
}

[data-theme="elegant"] .main-title a {
    background: var(--theme-gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Navigation - Rounded pills */
[data-theme="elegant"] .main-navigation a {
    border-radius: var(--theme-radius-full);
    padding: var(--theme-spacing-sm) var(--theme-spacing-lg);
    transition: all var(--theme-transition-base);
}

[data-theme="elegant"] .main-navigation a:hover,
[data-theme="elegant"] .main-navigation .current-menu-item > a {
    background: var(--theme-gradient-primary);
    color: var(--theme-text-inverse);
    transform: scale(1.05);
}

/* Footer - Soft gradient */
[data-theme="elegant"] .site-footer {
    background: linear-gradient(
        to top,
        var(--theme-bg-secondary) 0%,
        var(--theme-bg-primary) 100%
    );
    border-top: 2px solid var(--theme-border-primary);
}

/* Badges - Rounded pills */
[data-theme="elegant"] .cat-links a,
[data-theme="elegant"] .tags-links a {
    border-radius: var(--theme-radius-full);
    padding: var(--theme-spacing-sm) var(--theme-spacing-lg);
    transition: all var(--theme-transition-base);
}

[data-theme="elegant"] .cat-links a {
    background: var(--theme-gradient-primary);
    color: var(--theme-text-inverse);
    box-shadow: var(--theme-shadow-sm);
}

[data-theme="elegant"] .cat-links a:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: var(--theme-shadow-md);
}

[data-theme="elegant"] .tags-links a {
    background-color: var(--theme-bg-tertiary);
    color: var(--theme-text-secondary);
    border: 1px solid var(--theme-border-primary);
}

[data-theme="elegant"] .tags-links a:hover {
    background: var(--theme-gradient-secondary);
    color: var(--theme-text-inverse);
    border-color: transparent;
    transform: translateY(-2px);
}

/* Forms - Soft & rounded */
[data-theme="elegant"] input,
[data-theme="elegant"] textarea,
[data-theme="elegant"] select {
    background-color: var(--theme-bg-secondary);
    border: 2px solid var(--theme-border-primary);
    border-radius: var(--theme-radius-md);
    padding: var(--theme-spacing-md);
    transition: all var(--theme-transition-base);
}

[data-theme="elegant"] input:focus,
[data-theme="elegant"] textarea:focus,
[data-theme="elegant"] select:focus {
    border-color: var(--theme-primary);
    box-shadow: 0 0 0 4px rgba(232, 180, 184, 0.1);
    transform: scale(1.01);
}

/* Tables - Soft styling */
[data-theme="elegant"] table {
    border-radius: var(--theme-radius-lg);
    overflow: hidden;
    box-shadow: var(--theme-shadow-sm);
}

[data-theme="elegant"] th {
    background: var(--theme-gradient-primary);
    color: var(--theme-text-inverse);
    font-weight: var(--theme-font-weight-semibold);
}

[data-theme="elegant"] td {
    border-bottom: 1px solid var(--theme-border-primary);
}

[data-theme="elegant"] tr:hover {
    background-color: var(--theme-bg-secondary);
}

/* Text selection */
[data-theme="elegant"] ::selection {
    background: var(--theme-gradient-primary);
    color: var(--theme-text-inverse);
}

/* Scrollbar - Soft & rounded */
[data-theme="elegant"] ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

[data-theme="elegant"] ::-webkit-scrollbar-track {
    background-color: var(--theme-bg-secondary);
    border-radius: var(--theme-radius-full);
}

[data-theme="elegant"] ::-webkit-scrollbar-thumb {
    background: var(--theme-gradient-primary);
    border-radius: var(--theme-radius-full);
    border: 2px solid var(--theme-bg-secondary);
}

[data-theme="elegant"] ::-webkit-scrollbar-thumb:hover {
    background: var(--theme-gradient-secondary);
}

/* Widget titles - Soft gradient underline */
[data-theme="elegant"] .widget-title {
    position: relative;
    padding-bottom: var(--theme-spacing-md);
}

[data-theme="elegant"] .widget-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background: var(--theme-gradient-primary);
    border-radius: var(--theme-radius-full);
}

/* Floating elements animation */
@keyframes float-elegant {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

[data-theme="elegant"] .yawc-card:hover {
    animation: float-elegant 3s ease-in-out infinite;
}

/* Decorative elements */
[data-theme="elegant"] .entry-content > h2::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--theme-gradient-primary);
    border-radius: var(--theme-radius-full);
    margin-right: var(--theme-spacing-sm);
    vertical-align: middle;
}

/* Reading time badge */
[data-theme="elegant"] .yawc-reading-time {
    background: var(--theme-gradient-secondary);
    color: var(--theme-text-inverse);
    padding: var(--theme-spacing-xs) var(--theme-spacing-md);
    border-radius: var(--theme-radius-full);
    font-size: var(--theme-font-size-sm);
    font-weight: var(--theme-font-weight-medium);
    display: inline-block;
}
