/**
 * What The Funk - Tech Rider Styles
 * Prestige Sound - 2026
 *
 * Page fiche technique pour organisateurs
 * Design Aman avec focus lisibilité
 */

/* ================================================
   VARIABLES
   ================================================ */
:root {
    --rider-gold: #C9A962;
    --rider-gold-light: #E8D5A3;
    --rider-dark: #0a0a0a;
    --rider-gray: #1a1a1a;
    --rider-gray-light: #2a2a2a;
    --rider-text: #bbb;
    --rider-border: rgba(201, 169, 98, 0.2);
}

/* ================================================
   HERO SECTION
   ================================================ */
.rider-hero {
    position: relative;
    padding: 140px 20px 80px;
    background: linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%);
    text-align: center;
    overflow: hidden;
}

/* Note: Slideshow styles (.rider-hero__slideshow, .rider-hero__slide, .rider-hero__bg)
   replaced by shared .hero__slideshow / .hero__slide / .hero__overlay in web.css */

.rider-hero__content {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
}

.rider-hero__logo {
    max-width: 200px;
    height: auto;
    margin-bottom: 1.5rem;
    filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.5));
}

.rider-hero__title {
    font-size: 3rem;
    font-family: 'Cormorant Garamond', serif;
    color: #fff;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 3px;
}

.rider-hero__subtitle {
    font-size: 1.2rem;
    color: var(--rider-gold);
    margin-bottom: 2.5rem;
}

/* Stats */
.rider-hero__stats {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}

.rider-hero__stat {
    background: rgba(201, 169, 98, 0.08);
    border: 1px solid var(--rider-border);
    border-radius: 16px;
    padding: 1.25rem 2rem;
    min-width: 120px;
    transition: all 0.3s ease;
}

.rider-hero__stat:hover {
    border-color: var(--rider-gold);
    transform: translateY(-3px);
}

.rider-hero__stat-value {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    color: var(--rider-gold);
    line-height: 1.2;
}

.rider-hero__stat-label {
    display: block;
    font-size: 0.85rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Actions */
.rider-hero__actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.rider-hero__actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.rider-hero__actions .btn--primary {
    background: linear-gradient(135deg, var(--rider-gold) 0%, var(--rider-gold-light) 100%);
    color: var(--rider-dark);
    border: none;
}

.rider-hero__actions .btn--primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(201, 169, 98, 0.4);
}

.rider-hero__actions .btn--outline {
    background: transparent;
    color: #fff;
    border: 2px solid var(--rider-gold);
}

.rider-hero__actions .btn--outline:hover {
    background: var(--rider-gold);
    color: var(--rider-dark);
}

/* ================================================
   NOTICE BOX
   ================================================ */
.rider-notice {
    background: var(--rider-gray);
    padding: 1.5rem 0;
}

.rider-notice__box {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: rgba(201, 169, 98, 0.08);
    border: 1px solid var(--rider-border);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    max-width: 800px;
    margin: 0 auto;
}

.rider-notice__box i {
    font-size: 1.5rem;
    color: var(--rider-gold);
    flex-shrink: 0;
}

.rider-notice__box p {
    color: #ccc;
    margin: 0;
    line-height: 1.6;
    font-size: 0.95rem;
}

/* ================================================
   SECTIONS
   ================================================ */
.rider-section {
    padding: 5rem 0;
    background: var(--rider-dark);
}

.rider-section--dark {
    background: linear-gradient(180deg, #0d0d0d 0%, var(--rider-gray) 100%);
}

.rider-section__title {
    font-size: 2rem;
    font-family: 'Cormorant Garamond', serif;
    color: #fff;
    text-align: center;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.rider-section__title i {
    color: var(--rider-gold);
    font-size: 1.5rem;
}

.rider-section__intro {
    text-align: center;
    color: var(--rider-text);
    max-width: 700px;
    margin: 0 auto 3rem;
    line-height: 1.8;
}

/* ================================================
   CONTACT CARD
   ================================================ */
.rider-contact {
    display: flex;
    justify-content: center;
}

.rider-contact__card {
    background: rgba(201, 169, 98, 0.05);
    border: 2px solid var(--rider-gold);
    border-radius: 20px;
    padding: 2.5rem 3rem;
    text-align: center;
    max-width: 400px;
}

.rider-contact__role {
    color: var(--rider-gold);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0.5rem;
}

.rider-contact__name {
    font-size: 2rem;
    font-family: 'Cormorant Garamond', serif;
    color: #fff;
    margin-bottom: 1.5rem;
}

.rider-contact__links {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.rider-contact__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: #ccc;
    text-decoration: none;
    padding: 0.75rem 1rem;
    background: rgba(201, 169, 98, 0.08);
    border-radius: 10px;
    transition: all 0.3s ease;
}

.rider-contact__link:hover {
    background: var(--rider-gold);
    color: var(--rider-dark);
}

.rider-contact__link i {
    color: var(--rider-gold);
    width: 20px;
}

.rider-contact__link:hover i {
    color: var(--rider-dark);
}

/* ================================================
   BAND COMPOSITION
   ================================================ */
.rider-band__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.rider-band__group {
    background: rgba(201, 169, 98, 0.05);
    border: 1px solid var(--rider-border);
    border-radius: 16px;
    padding: 1.5rem;
}

.rider-band__group--sound {
    grid-column: span 4;
    text-align: center;
    background: linear-gradient(135deg, rgba(201, 169, 98, 0.1) 0%, rgba(201, 169, 98, 0.05) 100%);
}

.rider-band__group-title {
    font-size: 1rem;
    color: var(--rider-gold);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--rider-border);
}

.rider-musician {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.rider-musician:last-child {
    border-bottom: none;
}

.rider-musician i {
    color: var(--rider-gold);
    width: 20px;
    text-align: center;
}

.rider-musician__instrument {
    color: #fff;
    flex: 1;
}

.rider-musician__name {
    color: #888;
    font-size: 0.9rem;
}

.rider-musician--lead .rider-musician__name {
    color: var(--rider-gold);
}

.rider-musician--sound {
    justify-content: center;
    padding: 1rem;
}

.rider-musician--sound i {
    font-size: 1.5rem;
}

.rider-musician--sound .rider-musician__instrument {
    flex: none;
    font-size: 1.1rem;
}

/* ================================================
   REQUIREMENTS CARDS
   ================================================ */
.rider-requirements {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.rider-req-card {
    background: rgba(201, 169, 98, 0.05);
    border: 1px solid var(--rider-border);
    border-radius: 16px;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
}

.rider-req-card:hover {
    border-color: var(--rider-gold);
    transform: translateY(-5px);
}

.rider-req-card__icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--rider-gold) 0%, var(--rider-gold-light) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
}

.rider-req-card__icon i {
    font-size: 1.75rem;
    color: var(--rider-dark);
}

.rider-req-card__title {
    font-size: 1.1rem;
    color: #fff;
    margin-bottom: 1rem;
}

.rider-req-card__value {
    color: #ccc;
    line-height: 1.6;
}

.rider-req-card__value strong {
    font-size: 1.3rem;
    color: var(--rider-gold);
}

.rider-req-card__ideal {
    color: var(--rider-gold);
    font-size: 0.9rem;
}

.rider-req-card__note {
    font-size: 0.85rem;
    color: #888;
}

.rider-req-card__text {
    color: #aaa;
    line-height: 1.7;
    margin: 0;
}

.rider-req-card__text strong {
    display: block;
    color: #fff;
    margin-bottom: 0.25rem;
}

/* ================================================
   LOGISTICS
   ================================================ */
.rider-logistics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    max-width: 900px;
    margin: 0 auto;
}

.rider-logistics__item {
    display: flex;
    gap: 1.25rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--rider-border);
    border-radius: 16px;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

.rider-logistics__item:hover {
    border-color: var(--rider-gold);
}

.rider-logistics__item > i {
    font-size: 1.5rem;
    color: var(--rider-gold);
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: rgba(201, 169, 98, 0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rider-logistics__item strong {
    display: block;
    color: #fff;
    font-size: 1.05rem;
    margin-bottom: 0.5rem;
}

.rider-logistics__item p {
    color: #888;
    margin: 0;
    line-height: 1.6;
    font-size: 0.95rem;
}

/* ================================================
   PATCH LIST TABLE
   ================================================ */
.rider-patch {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.rider-patch__table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
}

.rider-patch__table thead {
    background: var(--rider-gold);
}

.rider-patch__table th {
    padding: 1rem 1.25rem;
    text-align: left;
    color: var(--rider-dark);
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rider-patch__table th:first-child {
    border-radius: 12px 0 0 0;
    width: 50px;
}

.rider-patch__table th:last-child {
    border-radius: 0 12px 0 0;
}

.rider-patch__table tbody tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: background 0.2s ease;
}

.rider-patch__table tbody tr:hover {
    background: rgba(201, 169, 98, 0.05);
}

.rider-patch__table td {
    padding: 0.875rem 1.25rem;
    color: #ccc;
}

.rider-patch__table td:first-child {
    color: var(--rider-gold);
    font-weight: 600;
}

.rider-patch__group-header {
    background: rgba(201, 169, 98, 0.1) !important;
}

.rider-patch__group-header td {
    padding: 0.75rem 1.25rem !important;
    color: var(--rider-gold) !important;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rider-patch__group-header td i {
    margin-right: 0.5rem;
}

/* ================================================
   STAGE PLOT
   ================================================ */
.rider-stageplot {
    max-width: 1000px;
    margin: 0 auto;
}

.rider-stageplot__diagram {
    background: var(--rider-dark);
    border: 2px solid var(--rider-border);
    border-radius: 16px;
    padding: 1rem;
    overflow: hidden;
}

.rider-stageplot__svg {
    width: 100%;
    height: auto;
    display: block;
}

.rider-stageplot__legend {
    margin-top: 2rem;
    background: rgba(201, 169, 98, 0.05);
    border: 1px solid var(--rider-border);
    border-radius: 12px;
    padding: 1.5rem 2rem;
}

.rider-stageplot__legend h4 {
    color: var(--rider-gold);
    font-size: 1rem;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rider-stageplot__legend-items {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
}

.rider-stageplot__legend-items span {
    color: #aaa;
    font-size: 0.9rem;
}

.rider-stageplot__legend-items strong {
    color: var(--rider-gold);
}

/* ================================================
   CTA FOOTER
   ================================================ */
.rider-cta {
    background: linear-gradient(180deg, var(--rider-gray) 0%, var(--rider-dark) 100%);
    padding: 5rem 0;
    text-align: center;
}

.rider-cta__content {
    max-width: 600px;
    margin: 0 auto;
}

.rider-cta h2 {
    font-size: 2.5rem;
    font-family: 'Cormorant Garamond', serif;
    color: #fff;
    margin-bottom: 1rem;
}

.rider-cta p {
    color: var(--rider-text);
    margin-bottom: 2rem;
    line-height: 1.7;
}

.rider-cta__actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.rider-cta__actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.rider-cta__actions .btn--primary {
    background: linear-gradient(135deg, var(--rider-gold) 0%, var(--rider-gold-light) 100%);
    color: var(--rider-dark);
}

.rider-cta__actions .btn--primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(201, 169, 98, 0.4);
}

.rider-cta__actions .btn--outline {
    background: transparent;
    color: #fff;
    border: 2px solid var(--rider-gold);
}

.rider-cta__actions .btn--outline:hover {
    background: var(--rider-gold);
    color: var(--rider-dark);
}

.rider-cta__note {
    color: #666;
    font-size: 0.9rem;
}

.rider-cta__note i {
    color: var(--rider-gold);
    margin-right: 0.5rem;
}

/* ================================================
   BACK LINK
   ================================================ */
.rider-back {
    background: var(--rider-dark);
    padding: 2rem 0;
    text-align: center;
    border-top: 1px solid var(--rider-border);
}

.rider-back__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--rider-gold);
    text-decoration: none;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.rider-back__link:hover {
    color: #fff;
}

.rider-back__link i {
    transition: transform 0.3s ease;
}

.rider-back__link:hover i {
    transform: translateX(-5px);
}

/* ================================================
   RESPONSIVE
   ================================================ */
@media (max-width: 1024px) {
    .rider-band__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rider-band__group--sound {
        grid-column: span 2;
    }

    .rider-requirements {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .rider-hero {
        padding: 120px 20px 60px;
    }

    .rider-hero__title {
        font-size: 2rem;
        letter-spacing: 1px;
    }

    .rider-hero__stats {
        gap: 1rem;
    }

    .rider-hero__stat {
        padding: 1rem 1.25rem;
        min-width: 100px;
    }

    .rider-hero__stat-value {
        font-size: 1.5rem;
    }

    .rider-section {
        padding: 3rem 0;
    }

    .rider-section__title {
        font-size: 1.5rem;
    }

    .rider-band__grid {
        grid-template-columns: 1fr;
    }

    .rider-band__group--sound {
        grid-column: span 1;
    }

    .rider-requirements {
        grid-template-columns: 1fr;
    }

    .rider-logistics {
        grid-template-columns: 1fr;
    }

    .rider-contact__card {
        padding: 2rem;
    }

    .rider-cta h2 {
        font-size: 1.8rem;
    }

    .rider-stageplot__legend-items {
        flex-direction: column;
        gap: 0.5rem;
    }
}

@media (max-width: 480px) {
    .rider-hero__logo {
        max-width: 150px;
    }

    .rider-hero__title {
        font-size: 1.6rem;
    }

    .rider-hero__subtitle {
        font-size: 1rem;
    }

    .rider-hero__actions {
        flex-direction: column;
    }

    .rider-hero__actions .btn {
        width: 100%;
        justify-content: center;
    }

    .rider-notice__box {
        flex-direction: column;
        text-align: center;
    }

    .rider-patch__table th,
    .rider-patch__table td {
        padding: 0.75rem 0.75rem;
        font-size: 0.85rem;
    }
}

/* ================================================
   PRINT STYLES
   ================================================ */
@media print {
    .rider-hero__actions,
    .rider-cta,
    .rider-back,
    .navbar,
    .footer {
        display: none !important;
    }

    .rider-hero {
        padding: 2rem 0;
        min-height: auto;
    }

    .rider-section {
        padding: 2rem 0;
        page-break-inside: avoid;
    }

    .rider-patch__table {
        font-size: 10pt;
    }

    body {
        background: #fff;
        color: #000;
    }

    .rider-section__title,
    .rider-hero__title {
        color: #000;
    }

    * {
        background: transparent !important;
        box-shadow: none !important;
    }
}
