/* ==========================================================================
   Kit visuel créatrices — mise en page
   Les gabarits eux-mêmes gardent leurs styles en ligne : ce sont les cotes du
   design (largeurs, hauteurs, épaisseurs de trait), elles doivent rester
   lisibles et comparables au prototype d'origine. Seuls le châssis de page et
   les motifs répétés sont ici.
   ========================================================================== */

.kit {
  font-family: var(--font-body);
  display: flex;
  flex-direction: column;
}

/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */

.kit-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 11px 14px;
  border-bottom: 2px solid var(--color-divider);
  position: sticky;
  top: 0;
  background: var(--color-bg);
  z-index: 20;
}

.kit-brand {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.kit-logo {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 17px;
  letter-spacing: -0.02em;
}

.kit-kicker {
  display: none;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-neutral-600);
}

.kit-tools {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.kit-code-field {
  margin: 0;
  width: 110px;
}

.kit-code-input {
  padding: 9px 11px;
  font-weight: 700;
  font-size: 12px;
}

.kit-disc,
.kit-edit,
.kit-back {
  font-size: 12px;
  white-space: nowrap;
}

.kit-edit,
.kit-back {
  display: flex;
  align-items: center;
  gap: 9px;
}

.kit-back { text-decoration: none; }

@media (min-width: 1024px) {
  .kit-head { padding: 14px 36px; }
  .kit-logo { font-size: 20px; }
  .kit-kicker { display: inline; }
  .kit-code-field { width: 150px; }
}

/* --------------------------------------------------------------------------
   Introduction et onglets
   -------------------------------------------------------------------------- */

.kit-intro {
  padding: 20px 14px;
  border-bottom: 2px solid var(--color-divider);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.kit-title {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: clamp(26px, 4vw, 40px);
  letter-spacing: -0.02em;
  text-transform: uppercase;
  line-height: 1.05;
}

.kit-lede {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  max-width: 640px;
  color: var(--color-neutral-600);
  text-wrap: pretty;
}

.cols2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
}

.kit-howto { margin-top: 8px; }

.kit-howto-item {
  border: 2px solid var(--color-divider);
  padding: 16px;
  display: flex;
  gap: 13px;
  align-items: flex-start;
}

.kit-howto-ic {
  color: var(--color-accent);
  margin-top: 2px;
}

.kit-howto-txt {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.kit-howto-t {
  font-weight: 700;
  font-size: 13px;
}

.kit-howto-b {
  font-size: 12px;
  line-height: 1.6;
  color: var(--color-neutral-600);
}

.kit-tabs {
  display: flex;
  gap: 2px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.kit-tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 13px;
  border: 2px solid var(--color-divider);
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  background: transparent;
  color: var(--color-text);
}

.kit-tab.is-active {
  background: var(--color-text);
  color: var(--color-bg);
}

.kit-tab-n {
  font-size: 11px;
  opacity: 0.7;
}

@media (min-width: 700px) {
  .kit-intro { padding: 26px 20px; }
  .cols2 { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1024px) {
  .kit-intro { padding: 36px; }
}

/* --------------------------------------------------------------------------
   Planches de gabarits
   -------------------------------------------------------------------------- */

.kit-boards {
  padding: 20px 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 34px;
  align-items: flex-start;
}

.kit-boards[hidden] { display: none; }

@media (min-width: 700px) {
  .kit-boards { padding: 26px 20px; }
}

@media (min-width: 1024px) {
  .kit-boards { padding: 36px; }
}

.tpl-item {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.tpl-bar {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.tpl-label {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-neutral-600);
}

.tpl-dim {
  font-size: 10px;
  color: var(--color-neutral-600);
}

.tpl-dl {
  font-size: 10px;
  padding: 5px 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.tpl {
  outline: none;
  outline-offset: 3px;
}

/* Mode « Modifier les textes » */
.kit.is-editing .tpl {
  outline: 2px dashed var(--color-accent);
}

/* Le composant se dimensionne sur son cadre plutôt que sur son ratio 3/2
   par défaut : chaque emplacement du kit a des cotes imposées. */
.tpl image-slot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}

/* Confirmation après enregistrement d'un gabarit */
.tpl-dl.is-done {
  color: var(--color-text);
  background: color-mix(in srgb, var(--color-accent) 18%, transparent);
}

/* --------------------------------------------------------------------------
   Onglet « Règles »
   -------------------------------------------------------------------------- */

.kit-rules {
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 20px;
  max-width: 760px;
}

.kit-rules-block {
  border: 2px solid var(--color-divider);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.kit-rule {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-divider);
}

.kit-rule-ic {
  width: 15px;
  height: 15px;
  margin-top: 3px;
}

.kit-rule-txt {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.kit-rule-t {
  font-weight: 700;
  font-size: 13px;
}

.kit-rule-b {
  font-size: 12px;
  line-height: 1.6;
  color: var(--color-neutral-600);
}

.kit-rules-col {
  border: 2px solid var(--color-divider);
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.kit-swatch {
  display: flex;
  align-items: center;
  gap: 12px;
}

.kit-swatch-chip {
  width: 34px;
  height: 34px;
  border: 2px solid var(--color-divider);
  flex: none;
}

.kit-swatch-txt {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.kit-swatch-n {
  font-weight: 700;
  font-size: 12px;
}

.kit-swatch-h {
  font-size: 11px;
  color: var(--color-neutral-600);
}

/* --------------------------------------------------------------------------
   Icônes
   -------------------------------------------------------------------------- */

.ic {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: none;
}

/* Le design system pose `.btn svg { display: block }`, qui l'emporte sur le
   `display:none` du navigateur pour [hidden] : il faut le reposer ici. */
.ic[hidden] { display: none; }

.ic-sm {
  width: 11px;
  height: 11px;
}

.ic-star {
  width: 18px;
  height: 18px;
  fill: #fff;
  stroke: none;
  flex: none;
}
