/* ==================================================
   Personnalisations APL Le Landeron
   ================================================== */

/* Titres du footer */
#g-footer h5,
#g-footer .g-title {
    color: rgba(255,255,255,0.65);
    letter-spacing: 2px;
}

/* Réduire légèrement la hauteur du footer */
#g-footer {
    padding-top: 2rem;
    padding-bottom: 1rem;
}

/* Copyright */
#g-copyright {
    font-size: 0.9rem;
    color: rgba(0,0,0,0.6);
}

/* Titres de page */
.page-header {
    border-bottom: none;

    /* Remonte le titre sous la bannière */
    margin-top: -3rem;

    margin-bottom: 35px !important;
}

.page-header h1 {
    text-transform: none !important;
    font-size: 2.1rem;
    font-weight: 700;
    color: #ad1140;
    margin-bottom: 12px !important;
}

/* Sous-titres de sections */
.com-content-article__body h3 {
    color: #ad1140;
    font-size: 1.45rem;
    font-weight: 700;
    margin-top: 4rem;
    margin-bottom: 1.2rem;
}

.com-content-article__body img {
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

/* Légendes sous les photos */
.com-content-article__body em {
    display: block;
    text-align: center;
    margin-top: 12px;
    margin-bottom: 25px;
    font-size: 0.95rem;
    color: #666;
    font-style: italic;
}

/* ==========================
   Pastilles APL
========================== */

.apl-badges {
    text-align: center;
    margin: 10px 0 20px;
}

.apl-badge {
    display: inline-block;
    padding: 8px 16px;
    background: #fcfafb;
    border: 1px solid #eddfe4;
    border-radius: 40px;
    color: #9b1248;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.4;
}

/* ==========================
   Articles APL
========================== */

/* Espace avant les sous-titres */
.item-page h3 {
    margin-top: 2.2rem;
    margin-bottom: 1rem;
}

/* Photos */
.item-page p img {
    display: block;
    margin: 1rem auto 0.6rem;
    border-radius: 12px;
}

/* Légendes sous les photos */
.item-page p em {
    display: block;
    text-align: center;
    margin-bottom: 1.6rem;
    color: #555;
    font-size: 0.95rem;
}

/* ===== Galerie Transport scolaire ===== */

.apl-photo-gallery{
    display:grid;
    grid-template-columns:255px 380px 255px;
    align-items:end;
    justify-content:center;
    gap:28px;
    margin:22px 0 10px;
}

.apl-photo-item{
    margin:0;
}

.apl-photo-item img{
    width:100%;
    height:auto;
    display:block;
    border-radius:12px;
    box-shadow:0 3px 8px rgba(0,0,0,.08);
}

.apl-photo-item figcaption{
    margin-top:12px;
    min-height:4rem;
    text-align:center;
    font-size:0.92rem;
    line-height:1.45;
    color:#666;
}

@media (max-width:700px){
    .apl-photo-gallery{
        grid-template-columns:1fr;
        max-width:380px;
        margin:22px auto 0;
        gap:20px;
    }

    .apl-photo-item:last-child figcaption{
        margin-bottom:0;
    }

    .apl-photo-gallery + h3{
        margin-top:15px;
    }
}

/* ===== Cartes Conditions et tarifs ===== */

.apl-tarifs{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
    margin:25px 0 35px;
}

.apl-tarif-card{
    padding:24px 22px;
    border:1px solid #ead7df;
    border-radius:14px;
    background:#fffafb;
    box-shadow:0 2px 7px rgba(0,0,0,.05);
}

.apl-tarif-title{
    margin-bottom:16px;
    color:#b3124d;
    font-size:1.08rem;
    font-weight:700;
}

.apl-tarif-card p{
    margin:0 0 14px;
    line-height:1.55;
}

.apl-tarif-card p:last-child{
    margin-bottom:0;
}

.apl-tarif-card span{
    color:#666;
    font-size:.92rem;
}

.apl-tarif-price{
    color:#b3124d;
    font-size:1.15rem;
    font-weight:700;
}

.apl-tarif-card ul{
    margin:8px 0 0;
    padding-left:20px;
}

.apl-tarif-card li{
    margin-bottom:8px;
    line-height:1.5;
}

@media (max-width:800px){
    .apl-tarifs{
        grid-template-columns:1fr;
    }
}

/* ===== Horaires des bus ===== */

.apl-horaires{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:18px;
    margin:22px 0;
}

.apl-horaire{
    padding:17px 20px;
    border:1px solid #ead7df;
    border-radius:12px;
    background:#fffafb;
}

.apl-horaire strong{
    display:block;
    margin-bottom:6px;
    color:#b3124d;
    font-size:1rem;
}

.apl-horaire span{
    line-height:1.5;
}

@media (max-width:700px){
    .apl-horaires{
        grid-template-columns:1fr;
    }
}

/* ===== Message de sécurité ===== */

.apl-securite{
    margin:22px 0 10px;
    padding:17px 20px;
    border-left:4px solid #b3124d;
    border-radius:10px;
    background:#fff7fa;
}

.apl-securite strong{
    display:block;
    margin-bottom:6px;
    color:#b3124d;
    font-size:1rem;
}

.apl-securite p{
    margin:0;
    line-height:1.5;
}

/* ===== Alternative Pédibus ===== */

.apl-pedibus{
    margin:25px 0 10px;
}

.apl-pedibus strong{
    display:block;
    margin-bottom:8px;
    color:#222 !important;
    font-size:1.35rem;
}

.apl-pedibus p{
    margin:0 0 8px;
    line-height:1.5;
}

.apl-pedibus p:last-child{
    margin-bottom:0;
}

.apl-pedibus a{
    color:#b3124d;
    font-weight:600;
}

/* ===== Galerie Cabane de Noël ===== */

.g-imagegrid{
    max-width:1000px;
    margin-left:auto;
    margin-right:auto;
}

.g-imagegrid .g-imagegrid-item img{
    width:100%;
    height:auto;
    display:block;
}

.g-imagegrid .g-imagegrid-item:hover img,
.g-imagegrid .g-imagegrid-item:hover .g-imagegrid-link{
    box-shadow:none !important;
}

.g-imagegrid .g-imagegrid-link:before,
.g-imagegrid .g-imagegrid-link:after{
    opacity:0 !important;
}

/* ===== Galerie Grittibenz ===== */

.g-imagegrid-2cols .g-imagegrid-standard{
    display:grid !important;
    grid-template-columns:320px 320px !important;
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.g-imagegrid-2cols .g-imagegrid-item{
    width:320px !important;
    max-width:320px !important;
}

.g-imagegrid-2cols .g-imagegrid-item:first-child{
    margin-right:70px !important;
}

@media (max-width:700px){
    .g-imagegrid-2cols .g-imagegrid-item + .g-imagegrid-item{
        margin-top:30px !important;
    }
}

/* ===== Carte Remerciements ===== */

.apl-remerciement-card{
    max-width:420px;
    margin:30px auto;
    padding:28px;
    text-align:center;
    border:1px solid #ead7df;
    border-radius:14px;
    background:#fffafb;
    box-shadow:0 2px 7px rgba(0,0,0,.05);
}

.apl-remerciement-card h3{
    margin:0 0 20px;
    color:#b3124d;
    font-size:1.15rem;
}

.apl-remerciement-card img{
    width:150px;
    height:auto;
    padding:15px;
    box-sizing:content-box;
}

/* ===== Introduction Troc des jouets ===== */

.apl-intro-troc{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:50px;
    align-items:center;
    margin:0 0 15px;
}

.apl-intro-troc-text p{
    margin:0 0 22px;
}

.apl-intro-troc-text p:last-child{
    margin-bottom:0;
}

.apl-intro-troc-image{
    text-align:center;
}

.apl-intro-troc-image img{
    width:100%;
    max-width:280px;
    height:auto;
    display:block;
    margin:0 auto;
    border-radius:12px;
    box-shadow:0 3px 8px rgba(0,0,0,.08);
}

@media (max-width:800px){
    .apl-intro-troc{
        grid-template-columns:1fr;
        gap:25px;
    }
}

/* ===== Espacement introduction Troc ===== */

.apl-intro-troc{
    margin-top:-35px !important;
    margin-bottom:-15px !important;
}

/* ===== Titres Troc des jouets ===== */

.item-page h3.apl-section-title{
    color:#ad1140;
    font-size:1.35rem;
    font-weight:700;
    margin-top:2rem;
    margin-bottom:1rem;
}

/* ===== Encadrés Acheter / Vendre - Troc des jouets ===== */

.apl-info-section{
    margin:20px 0;
    padding:24px 28px;
    border:1px solid #ead7df;
    border-radius:14px;
    background:#fffafb;
}

.apl-info-section h3{
    margin-top:0 !important;
    margin-bottom:18px !important;
}

.apl-info-section p{
    margin-bottom:16px;
}

.apl-info-section p:last-of-type{
    margin-bottom:10px;
}

.apl-info-section ul{
    margin-bottom:0;
}

/* ===== Étapes Troc des jouets ===== */

.apl-etape{
    margin:20px 0;
    padding:18px 20px;
    border:1px solid #ead7df;
    border-radius:12px;
    background:#fffafb;
}

.apl-etape-titre{
    margin-bottom:10px;
    color:#b3124d;
    font-weight:700;
    font-size:1.05rem;
}

.apl-etape p{
    margin:0;
    line-height:1.55;
}

/* ===== Espacement des étapes du Troc ===== */

.apl-etape p{
    margin-top:0;
    margin-bottom:10px;
}

.apl-etape p:last-child{
    margin-bottom:0;
}

/* ===== Titre "Comment vendre..." ===== */

.apl-etape-titre-principal{
    color:#000 !important;
    font-size:1.45rem;
    font-weight:700;
    margin-top:4rem;
    margin-bottom:1.2rem;
}

/* ===== Encadré Attention - Participation aux frais ===== */

.apl-attention{
    margin:22px 0;
    padding:18px 20px;
    border:1px solid #ead7df;
    border-left:5px solid #b3124d;
    border-radius:12px;
    background:#fffaf0;
}

.apl-attention-titre{
    margin:0 0 10px;
    color:#b3124d;
    font-size:1.05rem;
}

.apl-attention p:last-child{
    margin-bottom:0;
}

/* ===== Cartes Acheter / Vendre côte à côte ===== */

.apl-info-sections{
    display:grid;
    grid-template-columns:1fr 1.25fr;
    gap:30px;
    align-items:stretch;
    margin-top:30px;
}

.apl-info-section{
    margin:0;
    min-width:0;
}

@media (max-width:800px){
    .apl-info-sections{
        grid-template-columns:1fr;
        min-width:0;
    }
}

/* ===== Liens des boutons du bloc Vendre sur mobile ===== */

@media (max-width:800px){
    .apl-vendre button{
        white-space:normal;
        max-width:100%;
        height:auto;
        text-align:left;
        overflow-wrap:anywhere;
    }
}

/* ===== Liens des étapes sur mobile ===== */

@media (max-width:800px){
    .apl-etape button{
        white-space:normal;
        max-width:100%;
        height:auto;
        text-align:left;
        overflow-wrap:anywhere;
    }
}

/* ===== Texte du slideshow : lisibilité sur mobile ===== */

@media (max-width:700px){

    .apl-mobile-slideshow .g-content{
        background:rgba(255,255,255,.88);
        padding:14px 18px;
        border-radius:12px;
        margin:0 18px;
    }

}

/* ===== Panneau texte slideshow mobile ===== */

@media (max-width:700px){

    .apl-mobile-slideshow .slide-content{
        background:rgba(205,65,115,.45) !important;
        padding:7px 18px !important;
        border-radius:12px !important;
        box-shadow:0 2px 10px rgba(0,0,0,.10) !important;
        color:#fff !important;
        transform:translateY(20px);
    }

    /* Tout le texte en blanc */
    .apl-mobile-slideshow .slide-content *{
        color:#fff !important;
    }

    /* Titre : blanc, sans italique */
    .apl-mobile-slideshow .slide-content h1 a{
        color:#fff !important;
        font-style:normal !important;
    }

    /* Description : blanc, sans italique */
    .apl-mobile-slideshow .slide-content h3{
        color:#fff !important;
        font-style:normal !important;
        opacity:0.90 !important;
    }

/* Lien "Découvrir..." : blanc et italique */
.apl-mobile-slideshow .slide-content a.g-slideshow-author.button.link{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    font-style:italic !important;
    font-weight:600 !important;
}

}

/* ===== Photos des activités traditionnelles ===== */

.apl-membres-photos{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:28px;
    margin:20px 0 0;
}

.apl-membres-photo{
    width:430px;
}

.apl-membres-photo img{
    width:100%;
    height:300px;
    object-fit:cover;
    display:block;
    border-radius:12px;
}

.apl-membres-photo p{
    margin:10px 0 0;
    font-size:.92rem;
    line-height:1.45;
    color:#666;
}

@media (max-width:700px){
    .apl-membres-photos{
        flex-direction:column;
        align-items:center;
        gap:20px;
    }

    .apl-membres-photo{
        width:100%;
        max-width:430px;
    }
}

/* Titres de sections – page Notre association */
.apl-titre-noir{
    color:#222 !important;
    font-size:1.35rem !important;
}

/* Titres des encadrés du Troc des jouets */
.apl-info-section .apl-section-title,
.apl-info-section h3{
    color:#000 !important;
}

.apl-souvenirs-title,
.apl-souvenirs-title strong{
    color:#000 !important;
}

/* Liens des PV : texte noir */
a[href*="/images/PV/"] {
    color: #222 !important;
}

/* Au survol : bordeaux */
a[href*="/images/PV/"]:hover {
    color: #b20d46 !important;
}