/* =============================================
   EuroSpaceport Custom Index Styles
   ============================================= */

/* ------- CSS Variables ------- */
:root {
    --esp-primary: #059DFF;
    --esp-accent: #1ECBE1;
    --esp-destructive: #E04848;
    --esp-bg-section-alt: rgba(20, 25, 40, 0.35);
    --esp-glass-bg: rgba(255, 255, 255, 0.04);
    --esp-glass-border: rgba(255, 255, 255, 0.08);
    --esp-font-heading: 'Space Grotesk', sans-serif;
}

/* ------- Glass Card ------- */
.glass-card {
    background: var(--esp-glass-bg);
    border: 1px solid var(--esp-glass-border);
    border-radius: 12px;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    padding: 30px;
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
    height: 100%;
}

/* ------- Equal Height Service Cards ------- */
.service-wrapper > [class*="col-"] {
    display: flex;
    margin-bottom: 30px;
}
.service-wrapper > [class*="col-"] > .glass-card {
    width: 100%;
}

/* ------- Service Icon Container ------- */
.service-icon-box {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(10, 20, 40, 0.8);
    border: 1px solid rgba(5, 157, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    transition: background 0.4s ease, border-color 0.4s ease;
    flex-shrink: 0;
}
.service-icon-box i {
    font-size: 22px;
    color: var(--esp-primary);
}
.glass-card:hover .service-icon-box {
    background: rgba(5, 157, 255, 0.12);
    border-color: rgba(5, 157, 255, 0.3);
}

/* ------- Service Card Text ------- */
.service-card-title {
    font-family: var(--esp-font-heading);
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}
.service-card-title a {
    color: inherit;
    transition: color 0.3s ease;
}
.service-card-title a:hover {
    color: var(--esp-primary);
}
.service-card-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-body);
    margin: 0;
}
.glass-card:hover {
    transform: translateY(-4px);
    border-color: rgba(5, 157, 255, 0.3);
    box-shadow: 0 0 20px 2px rgba(5, 157, 255, 0.12);
}

/* ------- Gradient Text ------- */
.gradient-text {
    background: linear-gradient(135deg, var(--esp-primary), var(--esp-accent));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* ------- Glow Border ------- */
.glow-border {
    box-shadow: 0 0 20px rgba(5, 157, 255, 0.15), inset 0 0 20px rgba(5, 157, 255, 0.05);
    border: 1px solid rgba(5, 157, 255, 0.25);
}

/* ------- Section Label ------- */
.section-label {
    font-family: var(--esp-font-heading);
    font-size: 13px;
    font-weight: 600;
    color: var(--esp-primary);
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 16px;
    display: block;
}

/* ------- Alternating Section Background ------- */
.section-alt-bg {
    background-color: var(--esp-bg-section-alt);
}

/* ------- Heading Font Override ------- */
.page-index h1,
.page-index h2,
.page-index h3,
.page-index h4 {
    font-family: var(--esp-font-heading);
}

/* ------- Hero Section ------- */
.hero-fullscreen {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.hero-fullscreen .hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
}
.hero-fullscreen .hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(6, 6, 6, 0.65) 0%, rgba(6, 6, 6, 0.50) 40%, rgba(6, 6, 6, 0.90) 100%);
}
.hero-fullscreen .container {
    position: relative;
    z-index: 1;
}
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    border-radius: 100px;
    background: rgba(5, 157, 255, 0.08);
    border: 1px solid rgba(5, 157, 255, 0.25);
    font-size: 14px;
    font-family: var(--esp-font-heading);
    font-weight: 500;
    color: var(--esp-primary);
    margin-bottom: 28px;
}
.hero-badge i {
    font-size: 16px;
}
.hero-fullscreen .title {
    font-family: var(--esp-font-heading);
    font-weight: 700;
    font-size: 56px;
    line-height: 1.15;
    margin-bottom: 24px;
}
.hero-fullscreen .description {
    font-size: 18px;
    line-height: 1.7;
    color: var(--color-body);
    max-width: 750px;
    margin: 0 auto 40px;
}
.hero-arrow-down {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    animation: heroFloat 2.5s ease-in-out infinite;
    z-index: 2;
    color: rgba(255, 255, 255, 0.5);
    font-size: 28px;
    text-decoration: none;
}
.hero-arrow-down:hover {
    color: rgba(255, 255, 255, 0.8);
}
@keyframes heroFloat {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(12px); }
}

@media (max-width: 991px) {
    .hero-fullscreen .title {
        font-size: 40px;
    }
    .hero-fullscreen .description {
        font-size: 16px;
    }
}
@media (max-width: 575px) {
    .hero-fullscreen .title {
        font-size: 32px;
    }
}

/* ------- Stat Styles ------- */
.stat-block {
    margin-bottom: 40px;
}
.stat-number {
    font-family: var(--esp-font-heading);
    font-size: 64px;
    font-weight: 700;
    line-height: 1.1;
    color: #ffffff;
}
.stat-number.gradient-text {
    -webkit-text-fill-color: transparent;
}
.stat-number.text-accent {
    color: var(--esp-accent);
}
.stat-description {
    font-size: 16px;
    color: var(--color-body);
    margin-top: 8px;
}
@media (max-width: 767px) {
    .stat-number {
        font-size: 44px;
    }
}

/* ------- Market Drivers Grid ------- */
.driver-card {
    text-align: center;
    padding: 20px 12px;
}
.driver-card i {
    font-size: 28px;
    color: var(--esp-primary);
    margin-bottom: 10px;
    display: block;
}
.driver-card p {
    font-size: 14px;
    font-weight: 500;
    margin: 0;
}

/* ------- Bar Chart ------- */
.bar-chart-wrapper {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    height: 160px;
    padding: 20px 0 30px;
}
.bar-chart-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    justify-content: flex-end;
}
.bar-chart-value {
    font-size: 12px;
    font-weight: 600;
    color: var(--esp-primary);
    margin-bottom: 4px;
    white-space: nowrap;
}
.bar-chart-bar {
    width: 100%;
    background: linear-gradient(to top, rgba(5, 157, 255, 0.5), var(--esp-primary));
    border-radius: 4px 4px 0 0;
    transition: height 0.6s ease;
}
.bar-chart-year {
    font-size: 12px;
    color: var(--color-body);
    margin-top: 6px;
}

/* ------- Check List ------- */
.check-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.check-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    color: var(--color-body);
    font-size: 16px;
    line-height: 1.5;
}
.check-list li i {
    color: var(--esp-accent);
    margin-top: 3px;
    flex-shrink: 0;
}

/* ------- Partner Pills ------- */
.partner-pill {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 100px;
    font-size: 13px;
    margin: 4px;
    transition: background 0.3s ease;
}
.partner-pill.primary {
    background: rgba(5, 157, 255, 0.08);
    border: 1px solid rgba(5, 157, 255, 0.25);
    color: var(--esp-primary);
}
.partner-pill.accent {
    background: rgba(30, 203, 225, 0.08);
    border: 1px solid rgba(30, 203, 225, 0.25);
    color: var(--esp-accent);
}

/* ------- Ecosystem Partner Card ------- */
.ecosystem-card {
    text-align: center;
    padding: 24px 16px;
}
.ecosystem-card h5 {
    font-family: var(--esp-font-heading);
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 4px;
}
.ecosystem-card p {
    font-size: 14px;
    color: var(--color-body);
    margin: 0;
}

/* ------- Metric Card ------- */
.metric-card {
    text-align: center;
    padding: 30px 20px;
}
.metric-card h3 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 8px;
}
.metric-card p {
    font-size: 14px;
    color: var(--color-body);
    margin: 0;
}
@media (max-width: 767px) {
    .metric-card h3 {
        font-size: 22px;
    }
}

/* ------- Investor Benefit ------- */
.investor-benefit h4 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 8px;
}

/* ------- Revenue / Capital List ------- */
.fund-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.fund-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    color: var(--color-body);
    font-size: 15px;
    border-bottom: 1px solid var(--esp-glass-border);
}
.fund-list li:last-child {
    border-bottom: none;
}
.fund-list li i {
    color: var(--esp-accent);
    flex-shrink: 0;
}

/* ------- Market Bullet List ------- */
.market-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.market-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    color: var(--color-body);
    font-size: 15px;
}
.market-list li .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--esp-primary);
    flex-shrink: 0;
}

/* ------- Contact Card Content ------- */
.rwt-contact-area .glass-card p {
    border: none;
    margin-bottom: 5px;
}
.rwt-contact-area .glass-card p:last-child {
    margin-bottom: 0;
}
.rwt-contact-area .glass-card p a {
    color: var(--color-body);
    text-decoration: none;
    border: none;
}
.rwt-contact-area .glass-card p a:hover {
    color: var(--esp-primary);
}

/* ------- Contact Icon Circle ------- */
.contact-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(5, 157, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    transition: background 0.3s ease;
}
.contact-icon:hover {
    background: rgba(5, 157, 255, 0.15);
}
.contact-icon i {
    font-size: 22px;
    color: var(--esp-primary);
}

/* ------- Destructive Icon Color ------- */
.icon-destructive {
    color: var(--esp-destructive) !important;
}
.bg-destructive {
    background: rgba(224, 72, 72, 0.08) !important;
}

/* ------- Scroll Margin for Anchor Links ------- */
[id="vision"],
[id="market"],
[id="solution"],
[id="services"],
[id="investment"],
[id="contact"],
[id="why-now"] {
    scroll-margin-top: 90px;
}

/* ------- Text Logo ------- */
.text-logo {
    font-family: var(--esp-font-heading);
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    letter-spacing: 1px;
}
.text-logo:hover {
    color: #fff;
}
.text-logo span {
    color: var(--esp-primary);
}

/* ------- Footer Simplified ------- */
.footer-simple {
    border-top: 1px solid var(--esp-glass-border);
    padding: 30px 0;
}
.footer-simple .footer-links {
    display: flex;
    justify-content: center;
    gap: 24px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-simple .footer-links a {
    font-size: 13px;
    color: var(--color-body);
    transition: color 0.3s ease;
}
.footer-simple .footer-links a:hover {
    color: #fff;
}

/* ------- Button Border Variant ------- */
.btn-border {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}
.btn-border:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
}
