:root {
    --elite-radius-sm: 10px;
    --elite-radius-md: 18px;
    --elite-radius-lg: 28px;
    --elite-shadow: 0 18px 55px rgba(11, 18, 32, .10);
    --elite-border: #e2e8f0;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

::selection { background: #6d4aff; color: #fff; }

:where(a, button, input, textarea, select, summary):focus-visible {
    outline: 3px solid #22c55e;
    outline-offset: 3px;
}

.elite-site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid rgba(255,255,255,.09);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.admin-bar .elite-site-header { top: 32px; }

.elite-brand-mark {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg,#6d4aff,#22c55e);
    font-family: var(--wp--preset--font-family--heading);
    font-weight: 800;
    letter-spacing: -.08em;
}

.wp-block-site-title a { text-decoration: none; }

.wp-element-button,
.wp-block-button__link {
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.wp-element-button:hover,
.wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(109,74,255,.22);
}

.is-style-elite-card {
    border: 1px solid var(--elite-border);
    border-radius: var(--elite-radius-md);
    background: #fff;
    box-shadow: 0 10px 30px rgba(11,18,32,.07);
    padding: clamp(20px, 3vw, 32px);
}

.is-style-elite-soft-section {
    border: 1px solid #e6e9f6;
    border-radius: var(--elite-radius-lg);
    background: linear-gradient(135deg,#f8fafc,#eef2ff);
    padding: clamp(24px, 4vw, 48px);
}

.is-style-elite-featured img,
.elite-card-image img {
    border-radius: var(--elite-radius-md);
    aspect-ratio: 16/10;
    object-fit: cover;
}

.elite-post-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--elite-border);
    border-radius: var(--elite-radius-md);
    background: #fff;
    box-shadow: 0 10px 30px rgba(11,18,32,.06);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.elite-post-card:hover {
    transform: translateY(-5px);
    border-color: rgba(109,74,255,.35);
    box-shadow: var(--elite-shadow);
}
.elite-post-card .wp-block-post-featured-image { margin: 0; overflow: hidden; }
.elite-post-card .wp-block-post-featured-image img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    transition: transform 350ms ease;
}
.elite-post-card:hover .wp-block-post-featured-image img { transform: scale(1.035); }
.elite-post-card__body { padding: 22px; }
.elite-post-card .wp-block-post-title a { text-decoration: none; }
.elite-post-meta { color: #64748b; font-size: .84rem; }

.elite-kicker {
    color: #6d4aff;
    font-family: var(--wp--preset--font-family--heading);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.elite-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}
.elite-hero::before,
.elite-hero::after {
    position: absolute;
    z-index: -1;
    content: '';
    border-radius: 50%;
    filter: blur(10px);
    opacity: .35;
}
.elite-hero::before {
    width: 430px;
    height: 430px;
    right: -130px;
    top: -160px;
    background: #6d4aff;
}
.elite-hero::after {
    width: 300px;
    height: 300px;
    left: -120px;
    bottom: -150px;
    background: #22c55e;
}

.elite-article-header { text-wrap: balance; }
.elite-article-content { font-size: clamp(1.05rem,1.8vw,1.16rem); }
.elite-article-content > * + * { margin-top: 1.4em; }
.elite-article-content h2 { margin-top: 2.2em; }
.elite-article-content h3 { margin-top: 1.9em; }
.elite-article-content img { border-radius: var(--elite-radius-md); }
.elite-article-content p { text-wrap: pretty; }

.elite-sidebar { position: sticky; top: 110px; }
.admin-bar .elite-sidebar { top: 142px; }
.elite-sidebar .wp-block-latest-posts li,
.elite-sidebar .wp-block-categories-list li { padding-block: .55rem; border-bottom: 1px solid #edf0f5; }
.elite-sidebar a { text-decoration: none; }

.elite-ad {
    width: 100%;
    margin-block: clamp(18px,3vw,32px);
    text-align: center;
}
.elite-ad--filled {
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 12px;
}
.elite-ad--filled.elite-ad--header { min-height: 100px; }
.elite-ad--filled.elite-ad--content-top,
.elite-ad--filled.elite-ad--in-content,
.elite-ad--filled.elite-ad--content-bottom { min-height: 280px; }
.elite-ad--filled.elite-ad--sidebar { min-height: 280px; }
.elite-ad--filled.elite-ad--footer { min-height: 100px; }
.elite-ad--placeholder {
    display: grid;
    min-height: 92px;
    place-items: center;
    border: 1px dashed #94a3b8;
    border-radius: 12px;
    color: #475569;
    background: repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 12px,#f1f5f9 12px,#f1f5f9 24px);
}
.elite-ad--placeholder span { display: grid; gap: 4px; }
.elite-ad--placeholder small { font-size: .75rem; }

.elite-breadcrumbs { color: #64748b; font-size: .86rem; }
.elite-breadcrumbs a { color: inherit; }

.wp-block-details {
    border-bottom: 1px solid #dfe5ee;
    padding-block: 1rem;
}
.wp-block-details summary {
    cursor: pointer;
    font-family: var(--wp--preset--font-family--heading);
    font-weight: 700;
}

.elite-newsletter input[type="email"] {
    min-height: 52px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    padding: 0 1.1rem;
}

.wp-block-search__input {
    border: 1px solid #d9e0ea;
    border-radius: 999px;
    min-height: 48px;
    padding-inline: 1rem;
}
.wp-block-search__button { border-radius: 999px; }

.elite-site-footer a { color: inherit; }
.elite-site-footer .wp-block-navigation-item__content { text-decoration: none; }

@media (max-width: 781px) {
    .admin-bar .elite-site-header { top: 46px; }
    .elite-site-header .wp-block-navigation__responsive-container.is-menu-open {
        background: #0b1220;
        color: #fff;
        padding: 28px;
    }
    .elite-sidebar { position: static; }
    .elite-ad--filled.elite-ad--content-top,
    .elite-ad--filled.elite-ad--in-content,
    .elite-ad--filled.elite-ad--content-bottom,
    .elite-ad--filled.elite-ad--sidebar { min-height: 180px; }
}

@media (max-width: 600px) {
    .admin-bar .elite-site-header { top: 0; }
    .elite-hide-mobile { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
