/* ============================================================
   All-In-One datasheets (All-In-One, AIO Max): per-family overrides
   on the Trace brochure + the Solinteg co-brand modifier.
   Four pages (an A3 sheet folded once): cover, overview, specs,
   back cover. Components that brochure.css does not have yet are
   marked [promote]: the multi-model spec matrix.
   ============================================================ */

/* ---------- Cover: a portrait cabinet inside the ring ---------- */
/* the model name is long: a smaller title; the cabinet inside the ring. */
.brochure .cover__title { font-size: 80px; }
.brochure .cover__photo { left: 98mm; top: 86mm; width: auto; height: 124mm; }
.brochure .cover__photo--max { left: 92mm; top: 92mm; height: 116mm; }
.keyfig__val { font-size: 25px; }
.keyfig__val small { font-size: 12px; }
/* a long range breaks after its dash (marked with <br/> in the markup) */
.keyfig__val:has(br) { font-size: 22px; line-height: 1.05; }

/* The left-hand spec page is the shared .specsheet--verso (brochure.css). */
.specsheet__ref { text-align: right; }

/* ---------- Overview ---------- */
.ds-intro { margin: 0 0 2mm; max-width: none; width: auto; }
.ds-label {
  font-family: var(--font-brand);
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 -2mm;
  color: var(--fg-1);
}
.benefits--list .benefit { display: grid; grid-template-columns: 7mm 1fr; gap: 1mm 2.4mm; align-items: center; align-content: start; padding: 2mm 4mm 2.4mm; }
.benefits--list .benefit__title { margin: 0; }
.benefits--list .benefit__list { grid-column: 1 / -1; }
.benefit__icon { width: 7mm; height: 7mm; color: var(--fg-accent); }
.benefit__icon svg { width: 100%; height: 100%; display: block; }
.benefit__icon svg * { stroke-width: 1.3; }
.benefit__list { list-style: none; margin: 0; padding: 0; }
.benefit__list li { position: relative; padding-left: 3.6mm; font-size: 13px; line-height: 1.45; color: var(--fg-2); }
.benefit__list li + li { margin-top: 0.6mm; }
.benefit__list li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 1.4mm; height: 1.4mm; border-radius: 0.35mm; background: var(--or); }

/* ---------- [promote] spec matrix: one parameter column, a column per model ----------
   Schedule style (booklet tables): grey labels, hairline rows, no fills.
   A model row is a header over a heavy rule; a section row is a small
   brand-type sub-head. */
table.mx { width: 100%; border-collapse: collapse; table-layout: fixed; }
table.mx col.c-param { width: 58mm; }
table.mx td {
  padding: 0.4mm 1.2mm 0.4mm 0;
  border-bottom: 0.2mm solid var(--gray-300);
  font-size: 10.5px;
  line-height: 1.25;
  vertical-align: top;
  color: var(--fg-1);
  background: transparent !important;   /* no zebra (doc.css): hairline rows only */
}
table.mx td.p { color: var(--fg-2); padding-right: 3mm; }
table.mx td.v { text-align: center; font-weight: 600; }
table.mx .u { margin-left: 1.4mm; font-size: 9.5px; color: var(--fg-3); }
table.mx tr.model td {
  padding-top: 2.8mm;
  padding-bottom: 1.2mm;
  border-bottom: 0.5mm solid var(--sheet-ink);
  font-family: var(--font-brand);
  font-size: 12px;
  font-weight: 700;
  color: var(--fg-1);
  vertical-align: bottom;
}
table.mx tr.model td.v { font-family: var(--font-sans); font-size: 10.5px; white-space: nowrap; }
table.mx tr.model td.p { font-size: 15px; }
table.mx tr:first-child.model td { padding-top: 0; }
table.mx tr.sec td {
  padding-top: 1.6mm;
  border-bottom-color: var(--gray-400);
  font-family: var(--font-brand);
  font-size: 12px;
  font-weight: 700;
  color: var(--fg-accent);
}
/* a single-model sheet (AIO Max): values left-aligned under the model */
table.mx--single td.v { text-align: left; }
.mx-notes { margin: 0; font-size: 11px; line-height: 1.5; color: var(--fg-3); }

/* ---------- Back cover: the shared back cover (doc.css, the manuals' contact block), with the datasheet's legal note above the band ---------- */
.brochure .back__legal {
  position: absolute !important;
  left: 16mm; right: 16mm; top: 231mm; margin: 0;
  font-size: 13px; line-height: 1.55; color: var(--sheet-muted);
}

/* the AIO Max sheet has more rows than the five-model sheet */
table.mx--single td { padding-top: 0.42mm; padding-bottom: 0.42mm; }
table.mx--single td.v { padding-left: 2mm; }

/* ---------- Back cover: the line meets the cover's across the spine ----------
   A folded datasheet's front line leaves the spine at 70 mm (the datasheet
   pulse), not at the booklet's 58 mm, so the back cover's line enters at
   70 mm and steps up to the ring (58-156 mm, unchanged). Drawn with
   local_scripts/trace-covers.py's grid/glowing/node and the BACK path with
   its first step removed. [promote] to trace-covers.py as --trace-back-datasheet
   (the LiFe² datasheet has the same step). */
.brochure .back__ground {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -5 220 307' width='220mm' height='307mm'%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='210' y1='0' x2='100' y2='0'%3E%3Cstop offset='0' stop-color='%235d6573'/%3E%3Cstop offset='1' stop-color='%23f2a332'/%3E%3C/linearGradient%3E%3CradialGradient id='gf' gradientUnits='userSpaceOnUse' cx='170' cy='40' r='120'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='0.085'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M 0 -5 V 302 M 10 -5 V 302 M 20 -5 V 302 M 30 -5 V 302 M 40 -5 V 302 M 50 -5 V 302 M 60 -5 V 302 M 70 -5 V 302 M 80 -5 V 302 M 90 -5 V 302 M 100 -5 V 302 M 110 -5 V 302 M 120 -5 V 302 M 130 -5 V 302 M 140 -5 V 302 M 150 -5 V 302 M 160 -5 V 302 M 170 -5 V 302 M 180 -5 V 302 M 190 -5 V 302 M 200 -5 V 302 M 210 -5 V 302 M -5 0 H 215 M -5 10 H 215 M -5 20 H 215 M -5 30 H 215 M -5 40 H 215 M -5 50 H 215 M -5 60 H 215 M -5 70 H 215 M -5 80 H 215 M -5 90 H 215 M -5 100 H 215 M -5 110 H 215 M -5 120 H 215 M -5 130 H 215 M -5 140 H 215 M -5 150 H 215 M -5 160 H 215 M -5 170 H 215 M -5 180 H 215 M -5 190 H 215 M -5 200 H 215 M -5 210 H 215 M -5 220 H 215 M -5 230 H 215 M -5 240 H 215 M -5 250 H 215 M -5 260 H 215 M -5 270 H 215 M -5 280 H 215 M -5 290 H 215 ' stroke='url(%23gf)' stroke-width='0.18' fill='none'/%3E%3Cpath d='M 216 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='4.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='3.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='3.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='3.0' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='2.6' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='2.2' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='1.8' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='1.4' stroke-opacity='0.026' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M 216 70 H 150 Q 146 70 146 66 V 62 Q 146 58 142 58 H 22 Q 16 58 16 64 V 150 Q 16 156 22 156 H 120' fill='none' stroke='url(%23g)' stroke-width='1.0' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='124' cy='156' r='6.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='5.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='5.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='4.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='4.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='3.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='3.1' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='2.6' fill='%23f2a332' fill-opacity='0.035'/%3E%3Ccircle cx='124' cy='156' r='2.3' fill='%23ffd79a'/%3E%3Ccircle cx='124' cy='156' r='2.3' fill='none' stroke='%23f2a332' stroke-width='0.6'/%3E%3C/svg%3E") calc(var(--bleed) - 5mm) calc(var(--bleed) - 5mm) / 220mm 307mm no-repeat,
              var(--trace-bloom-back) no-repeat,
              var(--sheet-charcoal);
}

/* Tracked micro-labels: kerning off, so PDF text extraction keeps whole
   words (see solinteg/md-booklet.css). */
.brochure :is(.cover__kind, .cover__foot, .back__grid h3) { font-kerning: none; }
