/* ================================================= */
/* STYLE PAGE DETAIL CHIOT v6.0 - ANTI-CONFLIT THÈME  */
/* ================================================= */

/* On force un fond clair pour notre page, par-dessus le dark mode */
.gce-single-puppy-wrapper {
    background-color: #f8f9fa !important;
    padding: 50px 0;
}

/* On force la couleur du texte de base à l'intérieur de notre module */
.gce-single-puppy-v2 {
    color: #333 !important;
}

.gce-single-puppy-v2 { 
    display: grid; 
    grid-template-columns: 1.1fr 1fr; 
    gap: 50px; 
    max-width: 1200px; 
    margin: 0 auto;
    background: #ffffff !important; /* On force le fond blanc sur la carte principale */
    padding: 40px; 
    border-radius: 20px; 
    box-shadow: 0 10px 40px rgba(0,0,0,0.1); 
}

/* --- Le reste du design (inchangé mais nécessaire) --- */
.gce-detail-image-column .splide__slide img { width: 100%; height: auto; border-radius: 16px; aspect-ratio: 1 / 1; object-fit: cover; }
.splide__arrow { background: rgba(255, 255, 255, 0.9); } .splide__arrow svg { fill: #333; }
.splide__pagination__page.is-active { background: #5c4b33; }
.gce-detail-info-column { display: flex; flex-direction: column; }
.info-header { display: flex; align-items: center; gap: 15px; margin-bottom: 5px; }
.info-title { font-size: 42px; margin: 0; line-height: 1.1; color: #1d2327; font-weight: 700; }
.badge { display: inline-block; padding: 5px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.badge-sexe { background-color: #eef2ff; color: #4338ca; }
.badge-status { margin-top: 15px; color: #fff; }
.status-disponible { background: #16a34a; } .status-reserve { background: #f97316; } .status-vendu { background: #dc2626; }
.info-grid { display: grid; gap: 20px; padding: 25px 0; border-top: 1px solid #eee; margin-top: 25px; }
.info-grid.two-cols { grid-template-columns: 1fr 1fr; }
.info-item span { font-size: 14px; color: #64748b; display: block; margin-bottom: 5px; }
.info-item strong { font-size: 16px; font-weight: 600; color: #1e293b; }
.info-section { padding: 25px 0; border-top: 1px solid #eee; }
.info-section h2 { font-size: 18px; margin-top: 0; margin-bottom: 12px; font-weight: 600; color: #334155; }
.info-section p { margin: 0; line-height: 1.6; color: #475569; }
.info-footer { margin-top: auto; padding-top: 25px; border-top: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.info-price { font-size: 36px; font-weight: 700; color: #1d2327; }
.gce-contact-box { text-align: right; }
.gce-contact-box h3 { font-size: 16px; margin: 0 0 10px; color: #334155; }
.gce-button-email { background-color: #eaddc7; color: #5c4b33; font-weight: 600; border-radius: 8px; padding: 12px 25px; border:none; cursor: pointer; }
.gce-phone-text { font-size: 14px; margin-top: 8px; color: #6b7280; } .gce-phone-text strong { color: #1e293b; }

/* --- CORRECTION FINALE POUR LE POPUP --- */
.gce-modal {
    display: none; 
    position: fixed !important; /* On force la position par-dessus tout */
    z-index: 99999 !important; /* On met un z-index très élevé pour passer au-dessus de tout */
    left: 0; top: 0; width: 100%; height: 100%;
    background-color: rgba(30, 41, 59, 0.8) !important;
    align-items: center; justify-content: center; padding: 20px;
    backdrop-filter: blur(5px);
}
.gce-modal-content {
    background-color: #ffffff !important; color: #333 !important;
    padding: 40px 50px; width: 100%; max-width: 700px; border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2); max-height: 90vh; overflow-y: auto;
}
.gce-modal-close { color: #9ca3af; position: absolute; top: 15px; right: 25px; font-size: 35px; font-weight: bold; cursor: pointer; }
.gce-modal-content .wpcf7-form label { color: #374151; }
/* ... (le reste est inchangé) */
@media (max-width: 900px) { .gce-single-puppy-v2 { grid-template-columns: 1fr; } }