/* Défi d'échecs interactif — chargé uniquement sur les défis (catégorie « Echec et Mat en 2 Coups ») */
.pde-defi {
    --d-noir: #0A0A0A; --d-anthra: #1C1C1C; --d-or: #C9A84C; --d-or2: #D4B96B; --d-gris: #8A8A8A;
    --d-vert: #3FA34D; --d-rouge: #C0392B;
    background: linear-gradient(180deg, #151515 0%, var(--d-noir) 100%);
    border: 1px solid rgba(201, 168, 76, .35);
    border-radius: 14px;
    padding: 18px 16px 20px;
    margin: 10px 0 30px;
    color: #fff;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .25);
    font-family: 'Raleway', sans-serif;
}
.pde-defi__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; margin-bottom: 12px; }
.pde-defi__badge {
    font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600;
    padding: 5px 10px; border-radius: 999px; border: 1px solid rgba(201, 168, 76, .5); color: var(--d-or2);
}
.pde-defi__badge.is-level { background: var(--d-or); color: var(--d-noir); border-color: var(--d-or); }
/* Toute la largeur de la colonne, sans dépasser la hauteur de l'écran (l'échiquier reste visible en entier) */
.pde-defi__board { width: 100%; max-width: min(100%, calc(100vh - 230px)); aspect-ratio: 1 / 1; margin: 0 auto; touch-action: none; border-radius: 4px; overflow: hidden; box-shadow: 0 6px 22px rgba(0, 0, 0, .55); }
.pde-defi__board.is-shake { animation: pde-shake .35s ease; }
@keyframes pde-shake { 20% { transform: translateX(-6px) } 40% { transform: translateX(6px) } 60% { transform: translateX(-4px) } 80% { transform: translateX(3px) } }
.pde-defi__status {
    min-height: 46px; margin: 14px 0 10px; text-align: center; font-size: 17px; line-height: 1.35; font-weight: 600;
    font-family: 'Cormorant Garamond', Georgia, serif; font-size: 21px; color: #fff;
}
.pde-defi__status.is-good { color: #7BD389; }
.pde-defi__status.is-bad { color: #F08A7E; }
.pde-defi__status.is-hint { color: var(--d-or2); }
.pde-defi__actions { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.pde-defi .pde-defi__btn, .pde-defi .pde-defi__share {
    appearance: none; margin: 0; cursor: pointer; min-height: 44px; padding: 0 16px; border-radius: 999px;
    background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .25);
    font: 600 14px/1 'Raleway', sans-serif; letter-spacing: .02em; text-transform: none;
    transition: border-color .2s, background .2s, color .2s;
}
.pde-defi .pde-defi__btn:hover, .pde-defi .pde-defi__btn:focus-visible { border-color: var(--d-or); color: var(--d-or2); }
.pde-defi .pde-defi__share { background: var(--d-or); color: var(--d-noir); border-color: var(--d-or); margin-top: 6px; }
.pde-defi .pde-defi__share:hover { background: var(--d-or2); }
.pde-defi__win { text-align: center; margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(201, 168, 76, .3); animation: pde-in .4s ease; }
.pde-defi__win[hidden] { display: none; }
@keyframes pde-in { from { opacity: 0; transform: translateY(8px) } to { opacity: 1; transform: none } }
.pde-defi__win p { margin: 0 0 8px; color: #ddd; }
.pde-defi__win-title { font-family: 'Cinzel', serif; font-size: 22px; color: var(--d-or2) !important; letter-spacing: .04em; }
.pde-defi__streak { font-weight: 600; color: #fff !important; }
.pde-defi__nav { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; margin: 14px 0 6px; }
.pde-defi .pde-defi__link { color: var(--d-or2); text-decoration: none; font-weight: 600; font-size: 14px; }
.pde-defi .pde-defi__link:hover { text-decoration: underline; }
.pde-defi__again { font-size: 13px; color: var(--d-gris) !important; }
.pde-defi__credits { margin: 14px 0 0; font-size: 11px; color: #6f6f6f; text-align: center; }
.pde-defi__credits a { color: #8f8f8f; }
.pde-defi__noscript img { width: 100%; height: auto; display: block; }

/* Échiquier en bois : érable (cases claires) et noyer (cases foncées) */
.cm-chessboard.pde-wood .board .square.white { fill: #E8CDA0; }
.cm-chessboard.pde-wood .board .square.black { fill: #A46F3E; }
.cm-chessboard.pde-wood.border-type-none .board .border { stroke-width: 0; fill: #A46F3E; }
.cm-chessboard.pde-wood .coordinates .coordinate { font-size: 7px; font-weight: 600; }
.cm-chessboard.pde-wood .coordinates .coordinate.white { fill: #A46F3E; }
.cm-chessboard.pde-wood .coordinates .coordinate.black { fill: #E8CDA0; }
.cm-chessboard .markers .marker.pde-mark-last { fill: #D4B96B; opacity: .45; }
.cm-chessboard .markers .marker.pde-mark-good { fill: #3FA34D; opacity: .45; }
.cm-chessboard .markers .marker.pde-mark-bad { fill: #C0392B; opacity: .55; }
.cm-chessboard .markers .marker.pde-mark-hint { stroke: #1E7A31; stroke-width: 2.4px; opacity: .95; }

/* Sur mobile, l'échiquier interactif tient lieu d'image : l'image à la une (Discover, partages) est masquée pour que le jeu soit visible dès l'arrivée ; sur ordinateur elle reste affichée */
@media (max-width: 849px) {
    .single-post .entry-header .entry-image, .single-post .entry-image.relative { display: none; }
}

/* Récit d'ouverture (au-dessus de l'échiquier) et épilogue (écran de réussite) */
.pde-defi-intro { max-width: 680px; margin: 0 auto 14px; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 20px; line-height: 1.45; font-style: italic; color: #3a3a3a; text-align: center; }
.pde-defi__story { margin: 12px auto 14px; max-width: 520px; text-align: left; padding: 12px 14px; border-left: 2px solid var(--d-or); background: rgba(255, 255, 255, .04); border-radius: 0 8px 8px 0; }
.pde-defi__story p { margin: 0; color: #e6e1d8 !important; font-size: 15px; line-height: 1.6; }
.pde-defi-texte .pde-defi__epilogue { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(201, 168, 76, .35); }

/* Texte sous le défi */
.pde-defi-texte { max-width: 680px; margin: 0 auto; }
.pde-defi-texte details { margin: 18px 0; border: 1px solid rgba(201, 168, 76, .45); border-radius: 10px; padding: 12px 16px; }
.pde-defi-texte summary { cursor: pointer; font-weight: 600; color: #8C6D1F; }
@media (max-width: 549px) {
    .pde-defi { padding: 14px 10px 16px; border-radius: 10px; margin-left: -6px; margin-right: -6px; }
    .pde-defi__status { font-size: 19px; }
}
