/* AstroPredict — horoscope du jour, de la semaine et du mois : le sélecteur de période (accueil et pages de signe),
   la semaine jour par jour, le mois en barres, les repères. Remplissage : periodes.js. */

/* ----- Le sélecteur Aujourd'hui / Cette semaine / Ce mois-ci ----- */
.periodes { display: inline-grid; grid-template-columns: repeat(3, auto); gap: 4px; padding: 4px; border-radius: 999px;
  background: #fff; box-shadow: inset 0 0 0 1px var(--filet); justify-self: start; }
.periodes a { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 999px;
  font-family: var(--f-titre); font-weight: 500; font-size: 15px; letter-spacing: -.01em; color: var(--encre); text-decoration: none; white-space: nowrap; }
.periodes a:hover { background: var(--creme-2); }
.periodes a[aria-current="page"] { background: var(--encre); color: var(--creme); }
@media (max-width: 700px) {
  .periodes { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .periodes a { justify-content: center; padding: 0 6px; font-size: 14px; height: 34px; }
}

/* ----- La semaine jour par jour ----- */
.semaine { display: grid; gap: 12px; }
.jours { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.jour { display: grid; grid-template-rows: auto 74px auto auto; justify-items: center; gap: 6px; padding: 12px 4px 12px;
  border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--filet); }
.jour__j { font-family: var(--f-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--encre-3); text-align: center; line-height: 1.3; }
.jour__j b { display: block; font-family: var(--f-titre); font-weight: 500; font-size: 18px; letter-spacing: -.02em; text-transform: none; color: var(--encre); }
.jour__barre { position: relative; width: 10px; height: 100%; border-radius: 6px; background: var(--filet); overflow: hidden; }
.jour__barre::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--v) * 10%); border-radius: 6px;
  background: linear-gradient(0deg, rgb(var(--l1)), var(--encre)); }
.jour__note { font-family: var(--f-titre); font-weight: 350; font-size: 20px; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.jour__note small { font-size: 11px; color: var(--encre-3); letter-spacing: 0; }
.jour__lune { font-size: 12px; line-height: 1.25; color: var(--encre-3); text-align: center; }
.jour--fort { background: rgb(255 201 168 / .55); box-shadow: inset 0 0 0 1.5px var(--abricot); }
.jour--fort .jour__barre::after { background: linear-gradient(0deg, var(--peche), var(--abricot)); }
.jour--menager { box-shadow: inset 0 0 0 1.5px var(--braise); }

.legende { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14.5px; color: var(--encre-2); }
.legende span { display: inline-flex; align-items: center; gap: 8px; }
.legende i { width: 12px; height: 12px; border-radius: 4px; background: rgb(255 201 168 / .7); box-shadow: inset 0 0 0 1.5px var(--abricot); }
.legende i.evt { width: 8px; height: 8px; border-radius: 50%; background: var(--encre); box-shadow: none; margin: 0 2px; }
.legende i.menager { background: #fff; box-shadow: inset 0 0 0 1.5px var(--braise); }
.legende strong { color: var(--encre); font-weight: 600; }

@media (max-width: 700px) {
  .jours { gap: 4px; }
  .jour { grid-template-rows: auto 60px auto; padding: 10px 0 10px; border-radius: 12px; }
  .jour__lune { display: none; }
  .jour__j { font-size: 9.5px; letter-spacing: .02em; }
  .jour__j b { font-size: 16px; }
  .jour__note { font-size: 17px; }
  .jour__note small { display: none; }
}

/* ----- Le mois en un coup d'œil ----- */
.mois { display: grid; gap: 10px; }
.mois__barres { display: grid; grid-template-columns: repeat(30, minmax(0, 1fr)); gap: 3px; align-items: end; height: 92px; padding-top: 18px; position: relative; }
.mois__b { position: relative; height: calc(var(--v) * 10%); border-radius: 4px 4px 2px 2px; background: linear-gradient(0deg, rgb(var(--l1)), rgb(21 33 43 / .55)); }
.mois__b--fort { background: linear-gradient(0deg, var(--peche), var(--abricot)); }
.mois__b--menager { box-shadow: inset 0 0 0 1.5px var(--braise); background: #fff; }
.mois__b--evt::before { content: ""; position: absolute; left: 50%; top: -14px; width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%;
  background: var(--encre); box-shadow: 0 0 0 2px #fff; }
.mois__axe { display: grid; grid-template-columns: repeat(30, minmax(0, 1fr)); gap: 3px; border-top: 1px solid var(--filet-fort); padding-top: 6px; }
.mois__axe span { font-family: var(--f-mono); font-size: 10.5px; color: var(--encre-3); white-space: nowrap; }

.dates { display: grid; gap: 0; margin-top: 4px; border-top: 1px solid var(--filet); }
.date { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 16px; padding: 12px 0; border-bottom: 1px solid var(--filet); align-items: baseline; }
.date__j { font-family: var(--f-mono); font-size: 13px; color: var(--encre); white-space: nowrap; display: flex; align-items: center; gap: 8px; }
.date__j::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--encre); flex: none; }
.date__t { font-size: 15px; line-height: 1.5; color: var(--encre-2); }
.date__t strong { color: var(--encre); font-weight: 600; }
@media (max-width: 700px) {
  .mois__barres { gap: 2px; height: 80px; }
  .mois__axe { gap: 2px; }
  .mois__axe span { font-size: 9.5px; }
  .date { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

.titre-bloc { font-family: var(--f-titre); font-weight: 500; font-size: 19px; letter-spacing: -.015em; margin: 0; }
.prochain { font-size: 13.5px; color: var(--encre-3); margin: 2px 0 0; }

/* ----- Accueil : le sélecteur dans l'encart de l'horoscope ----- */
.periodes button { display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 0 16px; border: 0; border-radius: 999px; cursor: pointer;
  background: transparent; font-family: var(--f-titre); font-weight: 500; font-size: 15px; letter-spacing: -.01em; color: var(--encre); white-space: nowrap; }
.periodes button:hover { background: var(--creme-2); }
.periodes button[aria-pressed="true"] { background: var(--encre); color: var(--creme); }
.horo .periodes { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 16px; }
.horo .periodes button { padding: 0 6px; }
@media (max-width: 700px) { .periodes button { font-size: 14px; height: 34px; padding: 0 6px; } }

/* ----- Pages de la semaine et du mois : attente et repères ----- */
.periode-attente { font-size: 15px; color: var(--encre-2); padding: 18px 0 4px; }
.periode-contenu { display: grid; gap: 18px; }
.periode-contenu[hidden], .periode-attente[hidden] { display: none; }
.date__t strong { display: block; color: var(--encre); font-weight: 600; margin-bottom: 1px; }
.jour { min-width: 0; }
