/* Les Deux Alpes - Page ski independante (vanilla CSS, sans Bootstrap) */

/* Reset box-sizing pour .lda-page (remplace le reset global de Bootstrap) */
.lda-page,
.lda-page *,
.lda-page *::before,
.lda-page *::after {
    box-sizing: border-box;
}

/* Reboot typographique scope .lda-page (remplace Bootstrap 5 reboot) */
.lda-page {
    line-height: 1.5;
}
.lda-page h1, .lda-page h2, .lda-page h3,
.lda-page h4, .lda-page h5, .lda-page h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    line-height: 1.2;
}
.lda-page h5 { font-size: 1.25rem; }
.lda-page strong, .lda-page b { font-weight: 700 !important; }
.lda-page p {
    margin-top: 0;
    margin-bottom: 1rem;
}
.lda-page small {
    font-size: .875em;
}

/* === LAYOUT (remplace container/row/col-*) === */
.lda-page .lda-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}
.lda-page .lda-container--narrow { max-width: min(80%, 1200px); }
.lda-page .lda-container--tight { max-width: min(60%, 1200px); }

.lda-page .lda-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.lda-page .lda-row--vcenter { align-items: center; }

.lda-page .lda-col { flex: 1; }
.lda-page .lda-col-5 { width: calc(40% - 0.375rem); }
.lda-page .lda-col-7 { width: calc(60% - 0.375rem); }
.lda-page .lda-col-12 { width: 100%; }

/* === SECTIONS SPACING === */
.lda-page > section { padding: 1.5rem 0; }
.lda-page > section.lda-section--lg { padding: 1rem 0; }
.lda-page > section:last-child { padding-bottom: 0; }

/* === IMAGES === */
.lda-page .lda-img { max-width: 90%; height: auto; border-radius: 0.375rem; display: block; }
.lda-page .lda-col-5:first-child .lda-img { margin-right: auto; }
.lda-page .lda-col-5:last-child .lda-img { margin-left: auto; }

/* === BOUTONS CTA === */
.lda-page .lda-btn {
    display: inline-block;
    background-color: var(--primary-brand-color2);
    color: #fff;
    font-weight: 700 !important;
    padding: 0.5rem 1.5rem;
    border-radius: 100px;
    text-decoration: none;
    text-align: center;
}
.lda-page .lda-btn:hover { opacity: 0.9; color: #fff; }
.lda-page .lda-btn--lg { padding: 0.75rem 1.5rem; text-transform: uppercase; }

/* === BANNIERE CTA === */
.lda-page .lda-cta-banner {
    background-color: #f1f5fb;
    border-radius: 1rem;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}
.lda-page .lda-cta-text { flex: 1; }
.lda-page .lda-cta-label {
    text-transform: uppercase;
    font-weight: 700 !important;
    color: var(--primary-brand-color2);
    font-size: 0.875rem;
}
.lda-page .lda-cta-banner h5 { font-weight: 700 !important; margin-top: 0.25rem; }

/* === POINTS FORTS (grille 2x2) === */
.lda-page .lda-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    max-width: 800px;
    margin: 0 auto;
}
.lda-page .lda-feature-card { display: flex; align-items: flex-start; gap: 0.75rem; }
.lda-page .lda-feature-card h5 { font-weight: 600 !important; }
.lda-page .lda-icon-lg { flex-shrink: 0; width: 2.5rem; height: 2.5rem; color: #dc3545; }
.lda-page .lda-feature-card p { font-size: 0.875rem; margin-bottom: 0; }

/* === FAQ (details/summary) === */
.lda-page > section:has(.lda-faq) { padding-top: 3rem; }
.lda-page .lda-faq { border: 1px solid #dee2e6; border-radius: 0.375rem; }
.lda-page .lda-faq-item { border-bottom: 1px solid #dee2e6; }
.lda-page .lda-faq-item:last-child { border-bottom: none; }
.lda-page .lda-faq-item:first-child > .lda-faq-question {
    border-radius: calc(0.375rem - 1px) calc(0.375rem - 1px) 0 0;
}
.lda-page .lda-faq-item:last-child:not([open]) > .lda-faq-question {
    border-bottom-left-radius: calc(0.375rem - 1px);
    border-bottom-right-radius: calc(0.375rem - 1px);
}
.lda-page .lda-faq-item:last-child > .lda-faq-answer {
    border-bottom-left-radius: calc(0.375rem - 1px);
    border-bottom-right-radius: calc(0.375rem - 1px);
}
.lda-page .lda-faq-question {
    display: block;
    padding: 1rem 2.5rem 1rem 1.25rem;
    font-weight: 700 !important;
    cursor: pointer;
    background: #cfe2ff;
    list-style: none;
    position: relative;
}
.lda-page .lda-faq-item:not([open]) > .lda-faq-question {
    background: #fff;
}
.lda-page .lda-faq-item[open] > .lda-faq-question {
    box-shadow: inset 0 -1px 0 #dee2e6;
}
.lda-page .lda-faq-item > .lda-faq-question:focus {
    z-index: 3;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.lda-page .lda-faq-question::-webkit-details-marker { display: none; }
.lda-page .lda-faq-question::after {
    content: '';
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 0.5rem; height: 0.5rem;
    border-right: 2px solid #212529;
    border-bottom: 2px solid #212529;
    transition: transform 0.2s;
}
.lda-page .lda-faq-item[open] > .lda-faq-question::after {
    transform: translateY(-50%) rotate(-135deg);
}
.lda-page .lda-faq-answer { padding: 1rem 1.25rem; }

/* === ICONS SVG === */
.lda-page .lda-icon { width: 1em; height: 1em; vertical-align: -0.125em; fill: currentColor; }

/* === TITRES SECTION (ex tl-pro-v2) === */
.lda-page .lda-title-wrap {
    background-image: url(../images/accueil/taxi.png);
    opacity: 0.75;
    background-repeat: no-repeat;
    line-height: 2rem;
    padding: 30px 0 20px 0;
    width: 100%;
}
.lda-page .lda-h2-title {
    color: var(--primary-brand-color2);
    text-transform: uppercase;
    font-weight: 600 !important;
    letter-spacing: 0.1rem;
    padding-left: 10px;
    font-size: unset;
}
.lda-page .lda-h3-title {
    text-align: left;
    font-size: 2rem;
    font-weight: 600 !important;
    padding-left: 20px;
    color: #000;
}

/* === SECTION FOND SOMBRE (ex .features) === */
.lda-page .lda-section--dark {
    background-color: #0c1425;
    color: #fff;
}

/* === BLOC EN BREF === */
.ski-bref {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 2rem;
    margin-bottom: 2rem;
}
.ski-bref h2 {
    color: var(--primary-brand-color2);
    font-size: 1.4rem;
    font-weight: 700 !important;
    margin-bottom: 1rem;
}
.ski-bref ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1rem;
}
.ski-bref ul li {
    padding: 4px 0;
    font-size: 0.95rem;
}
.ski-bref ul li svg {
    color: #2ca138;
    margin-right: 8px;
}

/* === STATIONS GRID === */
.ski-stations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
}
.ski-stations-grid a {
    display: block;
    padding: 12px 16px;
    background: #f8f9fa;
    border-radius: 8px;
    text-decoration: none;
    color: var(--primary-brand-color2);
    font-weight: 600 !important;
    transition: background-color 0.2s;
}
.ski-stations-grid a:hover {
    background-color: #e9ecef;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
    .lda-page .lda-col-5, .lda-page .lda-col-7 { width: 100%; }
    .lda-page .lda-container--narrow, .lda-page .lda-container--tight { max-width: 100%; padding: 0 20px; }
    .lda-page .lda-cta-banner { flex-direction: column; text-align: center; }
    .ski-bref {
        padding: 1.2rem;
    }
    .ski-stations-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 480px) {
    .lda-page .lda-features-grid { grid-template-columns: 1fr; }
    .ski-stations-grid {
        grid-template-columns: 1fr;
    }
}
