/* ============================================================================
   TARDIS Cards - Core (screen + print agnostic)
   - taille poker (63.5mm x 88.9mm)
   - classes: .tardis-cardsheet .tardis-cardgrid .tardis-card .__title .__content
   ========================================================================== */

:root{
  --card-w: 63.5mm;
  --card-h: 88.9mm;
  --card-gap: 4mm;

  --card-bg: #fff;
  --card-accent: #1f2a44;
  --card-inner-frame: rgba(0,0,0,0.15);
}

/* ---------------------------------------------------------------------------
   Cardsheet (wrapper de planche, sans règles print)
--------------------------------------------------------------------------- */

.tardis-cardsheet{
  margin: 0 0 8mm 0;
}

/* ---------------------------------------------------------------------------
   Grid
--------------------------------------------------------------------------- */

.tardis-cardgrid{
  display: grid;
  gap: var(--card-gap);
  align-items: start;
}

.tardis-cardgrid.cols-2{ grid-template-columns: repeat(2, var(--card-w)); }
.tardis-cardgrid.cols-3{ grid-template-columns: repeat(3, var(--card-w)); }
.tardis-cardgrid.cols-4{ grid-template-columns: repeat(4, var(--card-w)); }

/* Docutils ajoute parfois un wrapper */
.tardis-cardgrid > .docutils.container{
  display: contents;
}

/* ---------------------------------------------------------------------------
   Card
--------------------------------------------------------------------------- */

.tardis-card{
  position: relative;
  box-sizing: border-box;

  width: var(--card-w);
  height: var(--card-h);

  /* accent */
  border-left: 4mm solid var(--card-accent);
  border-top: 0.25mm solid var(--card-accent);
  border-right: 0.25mm solid var(--card-accent);
  border-bottom: 0.25mm solid var(--card-accent);

  /* par défaut: coins "TARDIS" */
  border-radius: 4mm 2mm 4mm 2mm;

  background: var(--card-bg, #fff);

  /* cadre interne */
  box-shadow: inset 0 0 0 0.6mm var(--card-inner-frame);

  padding: 3mm;

  display: flex;
  flex-direction: column;

  break-inside: avoid;
  page-break-inside: avoid;

  print-color-adjust: exact;

  overflow: hidden;
}

.tardis-card__title{
  margin: 0 0 2mm 0;
  font-weight: 700;
  line-height: 1.15;
}

.tardis-card__content{
  flex: 1;
  overflow: hidden;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

.tardis-card__content > :first-child{ margin-top: 0; }
.tardis-card__content > :last-child{ margin-bottom: 0; }

.tardis-card--has-image{
  display: flex;
  flex-direction: column;
}

.tardis-card--has-image .tardis-card__media{
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;
}

.tardis-card--has-image .tardis-card__image{
  display: block;
  width: 90%;
  max-width: 90%;
  height: auto;
  margin: 0 auto;
}

.tardis-card--image-only .tardis-card__title{
  margin-bottom: 1mm;
}

/* ---------------------------------------------------------------------------
   Accent variants (optionnels)
--------------------------------------------------------------------------- */

.tardis-card.critical{ --card-accent: #b02a37; }
.tardis-card.warning { --card-accent: #d39e00; }
.tardis-card.info    { --card-accent: #0d6efd; }
.tardis-card.success { --card-accent: #198754; }



.tardis-card__counter{
  position: absolute;
  bottom: 2mm;
  right: 2.5mm;

  font-size: 0.75em;
  font-weight: 600;
  opacity: 0.6;

  color: #000;
  pointer-events: none;
}
