.prazniki-wrapper { width:100%; margin-bottom:2em; }
.prazniki-title { font-size:1.6em; margin-bottom:0.5em; }
.prazniki-controls { display:flex; justify-content:space-between; margin-bottom:0.5em; }
.prazniki-filter-select, .prazniki-year-btn { padding:0.4em 0.8em; margin-right:0.5em; border-radius:5px; }
.prazniki-table { width:100%; border-collapse:collapse; margin-bottom:10px;}
.prazniki-thead th { padding:0.6em; border:1px solid #ddd; }
.prazniki-tbody tr:nth-child(odd) { background:#ffffff;}
.prazniki-tbody tr:nth-child(even) { background:#f7f8f9;}
.prazniki-tbody td { padding:0.6em; border-top:1px solid #ddd; }
.prazniki-col-countdown, .prazniki-col-date {text-align:center!important;}
.prazniki-icon { display:inline-block; width:1em; height:1em; margin-right:0.3em; }
.prazniki-table-wrap {padding:15px 15px 35px; border-radius:7px; background:#ffffff; color:#000000;}
/* Define icons via background-image or inline SVG in pseudo-elements */
.prazniki-icon { display: inline-block; width: 1em; height: 1em; background-size: contain; background-repeat: no-repeat; vertical-align: text-bottom; margin-right: 0.3em; }


/* Base wrapper */
.prazniki-wrapper { box-sizing: border-box; }

/* Table */
.prazniki-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e5e7eb; /* external border */
  border-radius: 7px;
  overflow: hidden;
  table-layout: auto; 
}
.prazniki-thead th {
  padding: 10px 12px;
}
.prazniki-tbody td {
  padding: 10px 12px;
}
/*****/
/* ---- Align & size the compact columns ---- */
.prazniki-th-date,
.prazniki-th-countdown,
.prazniki-th-icons,
.prazniki-col-date,
.prazniki-col-countdown,
.prazniki-col-icons {
  text-align: center;      /* center text & icons */
  white-space: nowrap;     /* keep content on one line */
  width: 1%;               /* shrink-to-content width */
}

/* Let the name column take the remaining space */
.prazniki-th-name,
.prazniki-col-name {
  width: 99%;
}

/* Keep the table full width */
.prazniki-table {
  width: 100%;
  table-layout: auto; /* columns sized by content; name column flexes */
}

/* Center the SVG mask icons neatly within their cell */
.prazniki-col-icons {
  white-space: nowrap;
}
.prazniki-col-icons .prazniki-icon {
  vertical-align: middle;   /* better vertical alignment with text */
}

/* Center the header labels for the compact columns */
.prazniki-th-date,
.prazniki-th-countdown,
.prazniki-th-icons {
  text-align: center;
}


/******/

/* Horizontal row borders only */
.prazniki-tbody tr + tr td {
  border-top: 1px solid #eceff1;
}

/* Alternating row backgrounds */
.prazniki-tbody tr:nth-child(odd)  { background: #ffffff; }
.prazniki-tbody tr:nth-child(even) { background: #f7f8f9; }

/* Controls */
.prazniki-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 8px 0 12px;
}
.prazniki-filter-select {
  min-width: 180px;
  padding: 6px 8px;
}
.prazniki-year-buttons .prazniki-year-btn {
  margin-left: 6px;
  padding: 6px 10px;
  cursor: pointer;
}

/* Color suggestions (adjust in your theme if you want) */
.prazniki-col-icons { white-space: nowrap; }
.prazniki-icon-national  { color: #1e88e5; } /* blue */
.prazniki-icon-public    { color: #43a047; } /* green */
.prazniki-icon-religious { color: #8e24aa; } /* purple */

/* Base icon — background-image version */
.prazniki-icon {
  display: inline-block;
  width: var(--prazniki-icon-size, 20px);
  height: var(--prazniki-icon-size, 20px);
  margin-right: calc(var(--prazniki-icon-size, 20px) * 0.2);
  vertical-align: calc(var(--prazniki-icon-size, 20px) * -0.12);

  /* background image settings */
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  /* make sure any older mask styling doesn't interfere */
  -webkit-mask: none;
  mask: none;
  background-color: transparent;
}
.prazniki-wrapper { --prazniki-icon-size: 20px; }

/* Point to files in /public/images/ */
.prazniki-icon-national  { background-image: url("../images/icon-national.svg"); }
.prazniki-icon-public    { background-image: url("../images/icon-public.svg"); }
.prazniki-icon-religious { background-image: url("../images/icon-religious.svg"); }
.prazniki-icon-state { background-image: url("../images/icon-state.svg"); }

/* Glossary layout */
.prazniki-glossary { margin-top: 8px; display: flex; gap: 16px; }
.prazniki-glossary-item { display: flex; align-items: center; gap: 6px; }
/**
.prazniki-icon-state {
  -webkit-mask-image: url("../images/icon-state.svg");
  mask-image: url("../images/icon-state.svg");
  background-color: currentColor;
}**/
