/* Pages « texte » diverses : calendrier, archives (PDF), quiz, blog. */

/* ---- Calendrier ------------------------------------------------------------------------------------- */
.calendrier { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 20px; margin: 10px 0 26px; }
.cal-bloc { padding: 16px 20px; background: linear-gradient(#efe6c7, #dccf9f); border: 1px solid rgba(60, 40, 10, .45); box-shadow: 0 2px 3px rgba(0, 0, 0, .3), 0 10px 22px -8px rgba(30, 20, 4, .5); }
.cal-bloc h2 { margin: 0 0 8px; font-size: 34px; text-align: center; }
.cal-bloc ul { list-style: none; margin: 0; padding: 0; }
.cal-bloc li { margin: 0; padding: 5px 4px; font: 15px Georgia, serif; border-bottom: 1px dotted rgba(60, 40, 10, .35); }
.cal-bloc li strong { display: inline-block; min-width: 92px; color: #4a3b1c; }
.cal-groupes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 16px; margin: 0 0 20px; }
.cal-groupe { padding: 14px; text-align: center; border: 1px solid rgba(0, 0, 0, .5); box-shadow: 0 2px 5px rgba(0, 0, 0, .35); }
.cal-groupe h3 { margin: 0 0 8px; padding: 0; border: 0; font: 400 26px var(--script); }
.cal-groupe p { margin: 3px 0; text-align: center !important; font: 15px Georgia, serif; }
.cal-ombre { background: linear-gradient(#5a4f78, #2d2748); color: #f0ecff; }
.cal-ombre h3 { text-shadow: 0 1px 2px #000; }
.cal-lumiere { background: linear-gradient(#fff3c4, #e8c86a); }
.cal-neutre { background: linear-gradient(#d8d8cc, #a9a998); }

/* Date en jeu : aujourd'hui + convertisseur */
.date-jeu { position: relative; margin: 6px 0 30px; padding: 26px 30px 24px; text-align: center; background: linear-gradient(#efe6c7, #dccf9f); box-shadow: 0 2px 3px rgba(0, 0, 0, .3), 0 10px 22px -8px rgba(30, 20, 4, .55); }
.date-jeu::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2; border: 8px solid transparent;
  border-image: url("/assets/img/panneau-parchemin.png") 8 / 8px repeat; image-rendering: pixelated;
  mix-blend-mode: multiply; filter: grayscale(.45) sepia(.75) saturate(.55) brightness(.9) contrast(1.05);
}
.date-jeu > h2 { margin: 0 0 4px; font-size: 38px; }
.dj-principe { margin: 0 0 4px; font-size: 14px; text-align: center !important; color: #4a3b1c; }
.dj-aujourdhui { margin: 4px 0 16px; padding: 14px 10px 12px; border-block: 1px solid rgba(60, 40, 10, .3); background: rgba(255, 255, 255, .28); }
.dj-aujourdhui p { margin: 0; text-align: center !important; }
.dj-etiquette { font: 700 11px Helvetica, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.dj-date { font: 400 clamp(38px, 7vw, 60px)/1.1 var(--script); color: #2b1d07; text-shadow: 1px 1px 0 rgba(255, 255, 255, .6), 2px 3px 5px rgba(70, 45, 10, .35); }
.dj-details { font: 700 13px Helvetica, Arial, sans-serif; color: #4a3b1c; }
.dj-reel { margin-top: 4px !important; font: italic 13px Georgia, serif; color: #6b5a2e; }
.dj-outils { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 16px; text-align: left; }
.dj-conv { padding: 12px 16px 14px; background: rgba(255, 253, 240, .55); border: 1px solid rgba(60, 40, 10, .35); box-shadow: inset 0 1px 0 #fff, 0 2px 4px rgba(0, 0, 0, .2); }
.dj-conv h3 { margin: 0 0 8px; padding: 0; border: 0; font: 700 12px Helvetica, Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #4a3b1c; }
.dj-conv label { display: inline-flex; flex-direction: column; gap: 3px; margin: 0 8px 8px 0; font: 700 11px Helvetica, Arial, sans-serif; color: #5b4a25; }
.dj-conv input, .dj-conv select {
  padding: 6px 8px; font: 15px Georgia, serif; color: #15110a; background: rgba(255, 255, 255, .7); border: 1px solid rgba(60, 40, 10, .55); border-radius: 3px;
  box-shadow: inset 0 2px 3px rgba(60, 40, 10, .2);
}
.dj-conv input[type="number"] { width: 84px; }
.dj-conv input:focus, .dj-conv select:focus { outline: 2px solid #e0b85c; }
.dj-resultat { display: block; margin-top: 2px; font: 700 16px/1.35 Georgia, serif; color: #2b1d07; }
.cal-signe { display: inline-block; margin-left: 4px; padding: 0 5px; font: 700 13px Georgia, serif; text-decoration: none; color: var(--accent); }
.cal-signe:hover, .cal-signe:focus-visible { background: rgba(255, 255, 255, .6); }
.cal-bloc li:target { background: rgba(224, 184, 92, .35); }

/* ---- Documents intégrés (PDF, quiz) ---------------------------------------------------------------- */
.doc-integre { margin: 26px 0; padding: 10px; background: rgba(255, 255, 255, .3); border: 1px solid rgba(60, 40, 10, .4); box-shadow: inset 0 0 18px rgba(110, 75, 25, .18), 0 3px 8px rgba(40, 25, 5, .25); }
.doc-integre iframe, .doc-integre object { display: block; width: 100%; height: 78vh; min-height: 480px; border: 0; background: #fff; }
.doc-integre.quiz iframe { height: 640px; }
.doc-integre p { margin: 8px 0 0; text-align: center !important; font-size: 13px; }

/* ---- Blog ----------------------------------------------------------------------------------------------- */
.blog-liste { list-style: none; margin: 18px 0 30px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 22px; }
.blog-liste li { margin: 0; }
.blog-carte { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--encre); background: linear-gradient(#f1e8ca, #dccf9f); border: 1px solid rgba(60, 40, 10, .45); box-shadow: 0 2px 3px rgba(0, 0, 0, .3), 0 10px 22px -8px rgba(30, 20, 4, .55); transition: transform .2s, box-shadow .2s; }
.blog-carte:hover, .blog-carte:focus-visible { transform: translateY(-5px); box-shadow: 0 0 0 2px rgba(224, 184, 92, .55), 0 18px 28px -8px rgba(30, 20, 4, .6); }
.blog-carte img { width: 100%; height: 170px; object-fit: cover; border-bottom: 3px solid #3b2a10; }
.blog-corps { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; flex: 1; }
.blog-cat { font: 700 11px Helvetica, Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #8a5a12; }
.blog-titre { font: 400 30px/1.05 var(--script); }
.blog-extrait { font-size: 13.5px; line-height: 1.45; color: #3a2f18; flex: 1; }
.blog-meta { font: italic 12px Georgia, serif; color: #6b5a2e; }
.blog-cats { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 0 0 6px; }
.blog-cats button { padding: 6px 14px; font: 700 12px Helvetica, Arial, sans-serif; cursor: pointer; color: #15110a; background: linear-gradient(rgba(255, 253, 240, .85), rgba(214, 198, 150, .6)); border: 1px solid rgba(60, 40, 10, .5); border-radius: 3px; }
.blog-cats button[aria-pressed="true"] { color: #fff; background: linear-gradient(#7d7861, #57533f); }
.blog-liste li[hidden], .blog-cats[hidden] { display: none; }
.article-meta { text-align: center !important; margin: -6px 0 22px !important; font: italic 14px Georgia, serif; color: #5b4a25; }
.article-corps { max-width: 760px; margin: 0 auto; }
.article-corps p { font-size: 16px; line-height: 1.65; }
.article-corps h2, .article-corps h3 { margin-top: 1.6em; }
.article-corps figure img { max-width: 100%; }
.article-corps details { margin: 10px 0; padding: 8px 14px; background: rgba(255, 255, 255, .3); border-left: 4px solid var(--accent); }
.article-corps summary { cursor: pointer; font: 700 15px Georgia, serif; }

/* ---- Redirection ---------------------------------------------------------------------------------------- */
.redirection { text-align: center; padding: 40px 10px; }
