/* Font-face definitions */
@font-face {
    font-family: 'Geist';
    src: url("../fonts/Geist-Regular.86ea30dc5a24.woff2") format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Geist';
    src: url("../fonts/Geist-Medium.ca6c37945ee0.woff2") format('woff2');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Geist';
    src: url("../fonts/Geist-Bold.0812c1ba102b.woff2") format('woff2');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Geist';
    src: url("../fonts/Geist-Black.5b8edcc8852b.woff2") format('woff2');
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: 'Geist';
    src: url("../fonts/Geist-Light.40d94fb56977.woff2") format('woff2');
    font-weight: 300;
    font-style: normal;
}

/* Base styles */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
body {
    font-family: 'Geist', sans-serif;
}

/* Select dropdown styling */
select {
    background-color: rgba(23, 23, 23, 0.95) !important;
    color: #fff !important;
}
select option {
    background-color: #171717;
    color: #fff;
    padding: 8px 12px;
}
select option:hover,
select option:focus,
select option:checked {
    background-color: #fbbf24;
    color: #000;
}

/* Deadlock Rank Badge Colors */
.rank-badge-initiate { background: rgba(119, 77, 34, 0.15); border-color: rgba(119, 77, 34, 0.4); color: #774D22; }
.rank-badge-seeker { background: rgba(142, 68, 93, 0.15); border-color: rgba(142, 68, 93, 0.4); color: #8E445D; }
.rank-badge-alchemist { background: rgba(74, 92, 142, 0.15); border-color: rgba(74, 92, 142, 0.4); color: #4A5C8E; }
.rank-badge-arcanist { background: rgba(171, 197, 60, 0.15); border-color: rgba(171, 197, 60, 0.4); color: #ABC53C; }
.rank-badge-ritualist { background: rgba(203, 143, 35, 0.15); border-color: rgba(203, 143, 35, 0.4); color: #CB8F23; }
.rank-badge-emissary { background: rgba(208, 79, 95, 0.15); border-color: rgba(208, 79, 95, 0.4); color: #D04F5F; }
.rank-badge-archon { background: rgba(169, 107, 190, 0.15); border-color: rgba(169, 107, 190, 0.4); color: #A96BBE; }
.rank-badge-oracle { background: rgba(211, 153, 70, 0.15); border-color: rgba(211, 153, 70, 0.4); color: #D39946; }
.rank-badge-obscurus { background: rgba(107, 114, 128, 0.15); border-color: rgba(107, 114, 128, 0.4); color: #6B7280; }
.rank-badge-phantom { background: rgba(191, 191, 191, 0.15); border-color: rgba(191, 191, 191, 0.4); color: #BFBFBF; }
.rank-badge-ascendant { background: rgba(239, 217, 112, 0.15); border-color: rgba(239, 217, 112, 0.4); color: #EFD970; }
.rank-badge-eternus { background: rgba(90, 255, 195, 0.15); border-color: rgba(90, 255, 195, 0.4); color: #5AFFC3; }

/* Entrance animations */
@keyframes fadeSlideUp {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes dropdownSlide {
    from { opacity: 0; transform: translateY(-3px); }
    to { opacity: 1; transform: translateY(0); }
}

article.coach-card {
    animation: fadeSlideUp 0.12s ease-out backwards;
    animation-delay: calc(var(--i, 0) * 25ms);
}

div.animate-in {
    animation: fadeSlideUp 0.12s ease-out backwards;
}

article.review-card {
    animation: fadeSlideUp 0.12s ease-out backwards;
    animation-delay: calc(var(--i, 0) * 30ms);
}

.dropdown-menu:not(.hidden) {
    animation: dropdownSlide 0.1s ease-out;
}

/* Hover transitions */
.hover-lift {
    transition: transform 0.15s ease-out, box-shadow 0.15s ease-out, border-color 0.15s ease-out;
}
.hover-lift:hover {
    transform: translateY(-2px);
}

.btn-press {
    transition: transform 0.1s ease-out;
}
.btn-press:active {
    transform: scale(0.98);
}

.badge-hover {
    transition: background-color 0.15s ease-out, border-color 0.15s ease-out;
}

/* Page gradient backgrounds */
.coaching-gradient-bg {
    background: linear-gradient(135deg, #0a0a0a 0%, #000000 50%, #0f0f0f 100%);
    position: relative;
}

.coaching-gradient-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(ellipse 80% 60% at 0% 0%, rgba(251, 191, 36, 0.06) 0%, transparent 50%),
        radial-gradient(ellipse 60% 50% at 100% 100%, rgba(249, 115, 22, 0.04) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
}

.coaching-gradient-bg > * {
    position: relative;
    z-index: 1;
}

/* Alternative gradient with more pronounced glow */
.coaching-gradient-bg-glow {
    background: linear-gradient(180deg, #0a0a0a 0%, #000000 30%, #050505 100%);
    position: relative;
}

.coaching-gradient-bg-glow::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 50%;
    height: 50%;
    background: radial-gradient(circle, rgba(251, 191, 36, 0.08) 0%, transparent 60%);
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}

.coaching-gradient-bg-glow::after {
    content: '';
    position: absolute;
    bottom: -10%;
    right: -10%;
    width: 40%;
    height: 40%;
    background: radial-gradient(circle, rgba(249, 115, 22, 0.05) 0%, transparent 60%);
    filter: blur(60px);
    pointer-events: none;
    z-index: 0;
}

.coaching-gradient-bg-glow > * {
    position: relative;
    z-index: 1;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
