/* Stage 7: responsive polish & design tokens alignment */

/* Hero concentric rings (Figma pattern) */
.hc-hero::after {
    content: '';
    position: absolute;
    top: -30%;
    right: -25%;
    width: min(900px, 90vw);
    height: min(900px, 90vw);
    border-radius: 50%;
    background:
        radial-gradient(circle at center, transparent 58%, rgba(0, 208, 132, 0.07) 59%, transparent 60%),
        radial-gradient(circle at center, transparent 68%, rgba(0, 208, 132, 0.05) 69%, transparent 70%),
        radial-gradient(circle at center, transparent 78%, rgba(0, 208, 132, 0.04) 79%, transparent 80%),
        radial-gradient(circle at center, transparent 88%, rgba(0, 208, 132, 0.03) 89%, transparent 90%);
    pointer-events: none;
    z-index: 1;
}

.hc-hero__inner {
    z-index: 1;
}

/* Competition hero — uppercase title per mockup */
.page-competition .hc-hero__title {
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: clamp(1.875rem, 4.8vw, 3rem);
}

/* Inner pages without hero */
.hc-page-inner {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
}

.hc-navbar--solid + .hc-main .hc-page-inner {
    padding-top: 2rem;
}

/* Success page */
.hc-success-page {
    padding-top: 3rem;
    padding-bottom: 4.5rem;
}

.hc-success-page .success-card {
    padding: 2.5rem 2rem;
}

.hc-success-page__text {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    max-width: 32rem;
}

.hc-success-page__number {
    text-align: center;
    margin: 1.25rem auto 0;
    font-size: var(--hc-text-base);
}

.hc-success-page__number-label {
    display: block;
    font-size: var(--hc-text-sm);
    color: var(--hc-gray);
    margin-bottom: 0.35rem;
}

.hc-success-page__number strong {
    font-family: var(--font-ui);
    font-size: var(--hc-text-xl);
    color: var(--hc-navy);
    letter-spacing: 0.04em;
}

.hc-success-page__email-note {
    text-align: center;
    margin: 0.75rem auto 0;
    font-size: var(--hc-text-sm);
    color: var(--hc-gray);
}

.hc-success-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 1.75rem;
}

/* Mobile navbar — logo left, CTA + menu right */
@media (max-width: 991.98px) {
    .hc-navbar {
        padding: 0.75rem 0;
    }

    .hc-navbar__logo {
        height: 48px !important;
    }

    .hc-navbar__brand {
        max-width: min(200px, 52vw);
    }

    .hc-navbar__mobile-tools .hc-btn--register {
        padding: 0.55rem 0.85rem;
        font-size: var(--hc-text-xs);
        white-space: nowrap;
    }

    .hc-lang-dropdown__toggle {
        min-height: 36px;
        padding: 0.35rem 0.6rem;
        font-size: var(--hc-text-xs);
    }

    .hc-navbar__toggle {
        flex-shrink: 0;
    }

    .hc-hero {
        padding: calc(56px + 2rem) 0 3rem;
    }

    .hc-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hc-hero__actions .hc-btn {
        width: 100%;
        text-align: center;
    }

    .hc-home-welcome {
        padding-top: 3rem;
    }

    .hc-section {
        padding-left: 0;
        padding-right: 0;
    }

    .hc-pricing-card__icon {
        width: 4.25rem;
        height: 4.25rem;
    }

    .hc-pricing-card__icon i {
        font-size: 1.75rem;
    }

    .hc-pricing__header {
        margin-bottom: 1.75rem;
    }

    .hc-image-text {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .hc-comp-reg {
        padding-bottom: 3rem;
    }

    .hc-comp-sidebar {
        padding-left: 0;
        margin-top: 1rem;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
    .hc-hero__actions {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .hc-hero__actions .hc-btn {
        width: auto;
    }

    .hc-home-stats__item {
        text-align: center;
    }
}

/* Desktop fine-tuning */
@media (min-width: 1200px) {
    .hc-container {
        max-width: var(--hc-container-max);
    }

    .hc-hero__inner {
        max-width: 680px;
    }
}

/* Kazakh — slightly larger body for readability */
body.lang-kk {
    font-size: var(--hc-text-base);
}

body.lang-kk .hc-section-title {
    letter-spacing: -0.01em;
}

/* Focus visibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid var(--hc-accent);
    outline-offset: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    .hc-hero__video {
        display: none;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

@media (max-width: 767.98px) {
    .hc-contacts {
        padding-top: 2.5rem;
        padding-bottom: 3rem;
    }

    .hc-contacts__title {
        margin-bottom: 1.75rem;
    }

    .hc-contacts__grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .hc-contacts-card {
        padding: 1.25rem;
    }

    .hc-venues {
        padding-top: 3rem;
        padding-bottom: 3.5rem;
    }

    .hc-venues__header {
        margin-bottom: 2rem;
    }

    .hc-venues__list {
        gap: 1.25rem;
    }

    .hc-venue-map:hover {
        transform: none;
    }

    .hc-venue-map:hover .hc-venue-map__iframe,
    .hc-venue-map:hover .hc-venue-map__logo {
        transform: none;
    }

    .hc-venue-map__info {
        padding: 1.5rem 1.35rem 1.35rem 1.5rem;
        gap: 1.25rem;
    }

    .hc-venue-map__logo-wrap {
        max-width: 220px;
        height: 100px;
    }

    .hc-venue-map__map {
        min-height: 210px;
        aspect-ratio: 16 / 10;
        border-radius: 0;
    }
}
