/*******************************************************************************
 * Copyright (C) 2025, Leo Galambos
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice, this
 *    list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following disclaimer in the documentation
 *    and/or other materials provided with the distribution.
 *
 * 3. All advertising materials mentioning features or use of this software must
 *    display the following acknowledgement:
 *    This product includes software developed by the Egothor project.
 *
 * 4. Neither the name of the copyright holder nor the names of its contributors
 *    may be used to endorse or promote products derived from this software without
 *    specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ******************************************************************************/

/* ZeroEcho overview styles - loaded via --add-stylesheet */

/* Group header cells */
table.zecat {
  border-collapse: collapse;
}

table.zecat caption {
  background: #000000;
  color: #ffffff;
}

/* Group header cells */
table.zecat th {
  text-align: center;
  background: #dfdfdf;
  font-weight: 700;
}

table.zecat thead {
  border-bottom: 3px solid #555;
}

/* Make grouped subcolumns narrow and centered */
table.zecat th.vcol,
table.zecat td.narrow {
  text-align: center;
  background: #efefef;
  vertical-align: middle;
  width: 28px;          /* adjust as needed */
  min-width: 24px;
  padding: 2px 4px;
}

/* Vertical label inside subheader cells */
table.zecat th.vcol .vlabel {
  display: inline-block;
  padding: 4px 4px;
  writing-mode: vertical-rl;   /* preferred where supported */
  transform: rotate(180deg);   /* keep upright when vertical-rl flips glyphs */
  white-space: nowrap;
  line-height: 1;
}

/* Fallback for engines that ignore writing-mode */
@supports not (writing-mode: vertical-rl) {
  table.zecat th.vcol .vlabel {
    transform: rotate(-90deg);
    transform-origin: center center;
    display: inline-block;
  }
}

/* Keep checkmark cells tidy */
table.zecat td.zecenter {
  text-align: center;
}

/* Thin separator under each tbody row */
table.zecat tbody td {
  border-bottom: 1px solid #e0e0e0;
}

/*
 table.zecat tbody tr:last-child td { border-bottom: 0; }
*/

/* Thick vertical separators between major columns only */
table.zecat th.display-col,
table.zecat td.display-td {
  border-left: 1px solid #555;
}

table.zecat th.group {
  border-left: 1px solid #555;
}

table.zecat th.fam-first,
table.zecat td.fam-first-td {
  border-left: 1px solid #555;   /* between Display and Family group */
}

table.zecat th.usage-first,
table.zecat td.usage-first-td {
  border-left: 1px solid #555;   /* between Family and Key usage group */
}

table.zecat th.paramsets-col,
table.zecat td.paramsets-td {
  border-left: 1px solid #555;
  min-width: 220px;
  vertical-align: top;
  padding: 4px 6px;
}

/* Individual parameter set entry */
table.zecat .param-set {
  margin: 2px 0;
  padding: 1px 4px;
  border-radius: 3px;
  font-size: 0.88em;
  white-space: nowrap;
}

table.zecat .param-set.concrete {
  background: #eef4ff;
}

table.zecat .param-set.template {
  background: #fff8e8;
}

table.zecat .param-set .sec-level {
  color: #555;
  font-size: 0.85em;
}

table.zecat .param-set .template-marker {
  color: #856000;
}

table.zecat .no-paramsets {
  color: #aaa;
}
